modules/management/kubectl-apply/manifests/jobset-v0.7.2.yaml [356:1791]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                              type: string
                            manualSelector:
                              description: |-
                                manualSelector controls generation of pod labels and pod selectors.
                                Leave `manualSelector` unset unless you are certain what you are doing.
                                When false or unset, the system pick labels unique to this job
                                and appends those labels to the pod template.  When true,
                                the user is responsible for picking unique labels and specifying
                                the selector.  Failure to pick a unique label may cause this
                                and other jobs to not function correctly.  However, You may see
                                `manualSelector=true` in jobs that were created with the old `extensions/v1beta1`
                                API.
                                More info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/#specifying-your-own-pod-selector
                              type: boolean
                            maxFailedIndexes:
                              description: |-
                                Specifies the maximal number of failed indexes before marking the Job as
                                failed, when backoffLimitPerIndex is set. Once the number of failed
                                indexes exceeds this number the entire Job is marked as Failed and its
                                execution is terminated. When left as null the job continues execution of
                                all of its indexes and is marked with the `Complete` Job condition.
                                It can only be specified when backoffLimitPerIndex is set.
                                It can be null or up to completions. It is required and must be
                                less than or equal to 10^4 when is completions greater than 10^5.
                                This field is beta-level. It can be used when the `JobBackoffLimitPerIndex`
                                feature gate is enabled (enabled by default).
                              format: int32
                              type: integer
                            parallelism:
                              description: |-
                                Specifies the maximum desired number of pods the job should
                                run at any given time. The actual number of pods running in steady state will
                                be less than this number when ((.spec.completions - .status.successful) < .spec.parallelism),
                                i.e. when the work left to do is less than max parallelism.
                                More info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/
                              format: int32
                              type: integer
                            podFailurePolicy:
                              description: |-
                                Specifies the policy of handling failed pods. In particular, it allows to
                                specify the set of actions and conditions which need to be
                                satisfied to take the associated action.
                                If empty, the default behaviour applies - the counter of failed pods,
                                represented by the jobs's .status.failed field, is incremented and it is
                                checked against the backoffLimit. This field cannot be used in combination
                                with restartPolicy=OnFailure.
                              properties:
                                rules:
                                  description: |-
                                    A list of pod failure policy rules. The rules are evaluated in order.
                                    Once a rule matches a Pod failure, the remaining of the rules are ignored.
                                    When no rule matches the Pod failure, the default handling applies - the
                                    counter of pod failures is incremented and it is checked against
                                    the backoffLimit. At most 20 elements are allowed.
                                  items:
                                    description: |-
                                      PodFailurePolicyRule describes how a pod failure is handled when the requirements are met.
                                      One of onExitCodes and onPodConditions, but not both, can be used in each rule.
                                    properties:
                                      action:
                                        description: |-
                                          Specifies the action taken on a pod failure when the requirements are satisfied.
                                          Possible values are:

                                          - FailJob: indicates that the pod's job is marked as Failed and all
                                            running pods are terminated.
                                          - FailIndex: indicates that the pod's index is marked as Failed and will
                                            not be restarted.
                                            This value is beta-level. It can be used when the
                                            `JobBackoffLimitPerIndex` feature gate is enabled (enabled by default).
                                          - Ignore: indicates that the counter towards the .backoffLimit is not
                                            incremented and a replacement pod is created.
                                          - Count: indicates that the pod is handled in the default way - the
                                            counter towards the .backoffLimit is incremented.
                                          Additional values are considered to be added in the future. Clients should
                                          react to an unknown action by skipping the rule.
                                        type: string
                                      onExitCodes:
                                        description: Represents the requirement on the container exit codes.
                                        properties:
                                          containerName:
                                            description: |-
                                              Restricts the check for exit codes to the container with the
                                              specified name. When null, the rule applies to all containers.
                                              When specified, it should match one the container or initContainer
                                              names in the pod template.
                                            type: string
                                          operator:
                                            description: |-
                                              Represents the relationship between the container exit code(s) and the
                                              specified values. Containers completed with success (exit code 0) are
                                              excluded from the requirement check. Possible values are:

                                              - In: the requirement is satisfied if at least one container exit code
                                                (might be multiple if there are multiple containers not restricted
                                                by the 'containerName' field) is in the set of specified values.
                                              - NotIn: the requirement is satisfied if at least one container exit code
                                                (might be multiple if there are multiple containers not restricted
                                                by the 'containerName' field) is not in the set of specified values.
                                              Additional values are considered to be added in the future. Clients should
                                              react to an unknown operator by assuming the requirement is not satisfied.
                                            type: string
                                          values:
                                            description: |-
                                              Specifies the set of values. Each returned container exit code (might be
                                              multiple in case of multiple containers) is checked against this set of
                                              values with respect to the operator. The list of values must be ordered
                                              and must not contain duplicates. Value '0' cannot be used for the In operator.
                                              At least one element is required. At most 255 elements are allowed.
                                            items:
                                              format: int32
                                              type: integer
                                            type: array
                                            x-kubernetes-list-type: set
                                        required:
                                        - operator
                                        - values
                                        type: object
                                      onPodConditions:
                                        description: |-
                                          Represents the requirement on the pod conditions. The requirement is represented
                                          as a list of pod condition patterns. The requirement is satisfied if at
                                          least one pattern matches an actual pod condition. At most 20 elements are allowed.
                                        items:
                                          description: |-
                                            PodFailurePolicyOnPodConditionsPattern describes a pattern for matching
                                            an actual pod condition type.
                                          properties:
                                            status:
                                              description: |-
                                                Specifies the required Pod condition status. To match a pod condition
                                                it is required that the specified status equals the pod condition status.
                                                Defaults to True.
                                              type: string
                                            type:
                                              description: |-
                                                Specifies the required Pod condition type. To match a pod condition
                                                it is required that specified type equals the pod condition type.
                                              type: string
                                          required:
                                          - status
                                          - type
                                          type: object
                                        type: array
                                        x-kubernetes-list-type: atomic
                                    required:
                                    - action
                                    type: object
                                  type: array
                                  x-kubernetes-list-type: atomic
                              required:
                              - rules
                              type: object
                            podReplacementPolicy:
                              description: |-
                                podReplacementPolicy specifies when to create replacement Pods.
                                Possible values are:
                                - TerminatingOrFailed means that we recreate pods
                                  when they are terminating (has a metadata.deletionTimestamp) or failed.
                                - Failed means to wait until a previously created Pod is fully terminated (has phase
                                  Failed or Succeeded) before creating a replacement Pod.

                                When using podFailurePolicy, Failed is the the only allowed value.
                                TerminatingOrFailed and Failed are allowed values when podFailurePolicy is not in use.
                                This is an beta field. To use this, enable the JobPodReplacementPolicy feature toggle.
                                This is on by default.
                              type: string
                            selector:
                              description: |-
                                A label query over pods that should match the pod count.
                                Normally, the system sets this field for you.
                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
                              properties:
                                matchExpressions:
                                  description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
                                  items:
                                    description: |-
                                      A label selector requirement is a selector that contains values, a key, and an operator that
                                      relates the key and values.
                                    properties:
                                      key:
                                        description: key is the label key that the selector applies to.
                                        type: string
                                      operator:
                                        description: |-
                                          operator represents a key's relationship to a set of values.
                                          Valid operators are In, NotIn, Exists and DoesNotExist.
                                        type: string
                                      values:
                                        description: |-
                                          values is an array of string values. If the operator is In or NotIn,
                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                          the values array must be empty. This array is replaced during a strategic
                                          merge patch.
                                        items:
                                          type: string
                                        type: array
                                        x-kubernetes-list-type: atomic
                                    required:
                                    - key
                                    - operator
                                    type: object
                                  type: array
                                  x-kubernetes-list-type: atomic
                                matchLabels:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                    map is equivalent to an element of matchExpressions, whose key field is "key", the
                                    operator is "In", and the values array contains only "value". The requirements are ANDed.
                                  type: object
                              type: object
                              x-kubernetes-map-type: atomic
                            successPolicy:
                              description: |-
                                successPolicy specifies the policy when the Job can be declared as succeeded.
                                If empty, the default behavior applies - the Job is declared as succeeded
                                only when the number of succeeded pods equals to the completions.
                                When the field is specified, it must be immutable and works only for the Indexed Jobs.
                                Once the Job meets the SuccessPolicy, the lingering pods are terminated.

                                This field is beta-level. To use this field, you must enable the
                                `JobSuccessPolicy` feature gate (enabled by default).
                              properties:
                                rules:
                                  description: |-
                                    rules represents the list of alternative rules for the declaring the Jobs
                                    as successful before `.status.succeeded >= .spec.completions`. Once any of the rules are met,
                                    the "SucceededCriteriaMet" condition is added, and the lingering pods are removed.
                                    The terminal state for such a Job has the "Complete" condition.
                                    Additionally, these rules are evaluated in order; Once the Job meets one of the rules,
                                    other rules are ignored. At most 20 elements are allowed.
                                  items:
                                    description: |-
                                      SuccessPolicyRule describes rule for declaring a Job as succeeded.
                                      Each rule must have at least one of the "succeededIndexes" or "succeededCount" specified.
                                    properties:
                                      succeededCount:
                                        description: |-
                                          succeededCount specifies the minimal required size of the actual set of the succeeded indexes
                                          for the Job. When succeededCount is used along with succeededIndexes, the check is
                                          constrained only to the set of indexes specified by succeededIndexes.
                                          For example, given that succeededIndexes is "1-4", succeededCount is "3",
                                          and completed indexes are "1", "3", and "5", the Job isn't declared as succeeded
                                          because only "1" and "3" indexes are considered in that rules.
                                          When this field is null, this doesn't default to any value and
                                          is never evaluated at any time.
                                          When specified it needs to be a positive integer.
                                        format: int32
                                        type: integer
                                      succeededIndexes:
                                        description: |-
                                          succeededIndexes specifies the set of indexes
                                          which need to be contained in the actual set of the succeeded indexes for the Job.
                                          The list of indexes must be within 0 to ".spec.completions-1" and
                                          must not contain duplicates. At least one element is required.
                                          The indexes are represented as intervals separated by commas.
                                          The intervals can be a decimal integer or a pair of decimal integers separated by a hyphen.
                                          The number are listed in represented by the first and last element of the series,
                                          separated by a hyphen.
                                          For example, if the completed indexes are 1, 3, 4, 5 and 7, they are
                                          represented as "1,3-5,7".
                                          When this field is null, this field doesn't default to any value
                                          and is never evaluated at any time.
                                        type: string
                                    type: object
                                  type: array
                                  x-kubernetes-list-type: atomic
                              required:
                              - rules
                              type: object
                            suspend:
                              description: |-
                                suspend specifies whether the Job controller should create Pods or not. If
                                a Job is created with suspend set to true, no Pods are created by the Job
                                controller. If a Job is suspended after creation (i.e. the flag goes from
                                false to true), the Job controller will delete all active Pods associated
                                with this Job. Users must design their workload to gracefully handle this.
                                Suspending a Job will reset the StartTime field of the Job, effectively
                                resetting the ActiveDeadlineSeconds timer too. Defaults to false.
                              type: boolean
                            template:
                              description: |-
                                Describes the pod that will be created when executing a job.
                                The only allowed template.spec.restartPolicy values are "Never" or "OnFailure".
                                More info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/
                              properties:
                                metadata:
                                  description: |-
                                    Standard object's metadata.
                                    More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
                                  properties:
                                    annotations:
                                      additionalProperties:
                                        type: string
                                      type: object
                                    finalizers:
                                      items:
                                        type: string
                                      type: array
                                    labels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                    name:
                                      type: string
                                    namespace:
                                      type: string
                                  type: object
                                spec:
                                  description: |-
                                    Specification of the desired behavior of the pod.
                                    More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
                                  properties:
                                    activeDeadlineSeconds:
                                      description: |-
                                        Optional duration in seconds the pod may be active on the node relative to
                                        StartTime before the system will actively try to mark it failed and kill associated containers.
                                        Value must be a positive integer.
                                      format: int64
                                      type: integer
                                    affinity:
                                      description: If specified, the pod's scheduling constraints
                                      properties:
                                        nodeAffinity:
                                          description: Describes node affinity scheduling rules for the pod.
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                The scheduler will prefer to schedule pods to nodes that satisfy
                                                the affinity expressions specified by this field, but it may choose
                                                a node that violates one or more of the expressions. The node that is
                                                most preferred is the one with the greatest sum of weights, i.e.
                                                for each node that meets all of the scheduling requirements (resource
                                                request, requiredDuringScheduling affinity expressions, etc.),
                                                compute a sum by iterating through the elements of this field and adding
                                                "weight" to the sum if the node matches the corresponding matchExpressions; the
                                                node(s) with the highest sum are the most preferred.
                                              items:
                                                description: |-
                                                  An empty preferred scheduling term matches all objects with implicit weight 0
                                                  (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
                                                properties:
                                                  preference:
                                                    description: A node selector term, associated with the corresponding weight.
                                                    properties:
                                                      matchExpressions:
                                                        description: A list of node selector requirements by node's labels.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label key that the selector applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchFields:
                                                        description: A list of node selector requirements by node's fields.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label key that the selector applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  weight:
                                                    description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
                                                    format: int32
                                                    type: integer
                                                required:
                                                - preference
                                                - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                If the affinity requirements specified by this field are not met at
                                                scheduling time, the pod will not be scheduled onto the node.
                                                If the affinity requirements specified by this field cease to be met
                                                at some point during pod execution (e.g. due to an update), the system
                                                may or may not try to eventually evict the pod from its node.
                                              properties:
                                                nodeSelectorTerms:
                                                  description: Required. A list of node selector terms. The terms are ORed.
                                                  items:
                                                    description: |-
                                                      A null or empty node selector term matches no objects. The requirements of
                                                      them are ANDed.
                                                      The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
                                                    properties:
                                                      matchExpressions:
                                                        description: A list of node selector requirements by node's labels.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label key that the selector applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchFields:
                                                        description: A list of node selector requirements by node's fields.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label key that the selector applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  type: array
                                                  x-kubernetes-list-type: atomic
                                              required:
                                              - nodeSelectorTerms
                                              type: object
                                              x-kubernetes-map-type: atomic
                                          type: object
                                        podAffinity:
                                          description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                The scheduler will prefer to schedule pods to nodes that satisfy
                                                the affinity expressions specified by this field, but it may choose
                                                a node that violates one or more of the expressions. The node that is
                                                most preferred is the one with the greatest sum of weights, i.e.
                                                for each node that meets all of the scheduling requirements (resource
                                                request, requiredDuringScheduling affinity expressions, etc.),
                                                compute a sum by iterating through the elements of this field and adding
                                                "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                                node(s) with the highest sum are the most preferred.
                                              items:
                                                description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
                                                properties:
                                                  podAffinityTerm:
                                                    description: Required. A pod affinity term, associated with the corresponding weight.
                                                    properties:
                                                      labelSelector:
                                                        description: |-
                                                          A label query over a set of resources, in this case pods.
                                                          If it's null, this PodAffinityTerm matches with no Pods.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key is the label key that the selector applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      matchLabelKeys:
                                                        description: |-
                                                          MatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                          Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      mismatchLabelKeys:
                                                        description: |-
                                                          MismatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                          Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      namespaceSelector:
                                                        description: |-
                                                          A label query over the set of namespaces that the term applies to.
                                                          The term is applied to the union of the namespaces selected by this field
                                                          and the ones listed in the namespaces field.
                                                          null selector and null or empty namespaces list means "this pod's namespace".
                                                          An empty selector ({}) matches all namespaces.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key is the label key that the selector applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      namespaces:
                                                        description: |-
                                                          namespaces specifies a static list of namespace names that the term applies to.
                                                          The term is applied to the union of the namespaces listed in this field
                                                          and the ones selected by namespaceSelector.
                                                          null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      topologyKey:
                                                        description: |-
                                                          This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                          the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                          whose value of the label with key topologyKey matches that of any node on which any of the
                                                          selected pods is running.
                                                          Empty topologyKey is not allowed.
                                                        type: string
                                                    required:
                                                    - topologyKey
                                                    type: object
                                                  weight:
                                                    description: |-
                                                      weight associated with matching the corresponding podAffinityTerm,
                                                      in the range 1-100.
                                                    format: int32
                                                    type: integer
                                                required:
                                                - podAffinityTerm
                                                - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                If the affinity requirements specified by this field are not met at
                                                scheduling time, the pod will not be scheduled onto the node.
                                                If the affinity requirements specified by this field cease to be met
                                                at some point during pod execution (e.g. due to a pod label update), the
                                                system may or may not try to eventually evict the pod from its node.
                                                When there are multiple elements, the lists of nodes corresponding to each
                                                podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                              items:
                                                description: |-
                                                  Defines a set of pods (namely those matching the labelSelector
                                                  relative to the given namespace(s)) that this pod should be
                                                  co-located (affinity) or not co-located (anti-affinity) with,
                                                  where co-located is defined as running on a node whose value of
                                                  the label with key <topologyKey> matches that of any node on which
                                                  a pod of the set of pods is running
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is the label key that the selector applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is the label key that the selector applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          type: object
                                        podAntiAffinity:
                                          description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                The scheduler will prefer to schedule pods to nodes that satisfy
                                                the anti-affinity expressions specified by this field, but it may choose
                                                a node that violates one or more of the expressions. The node that is
                                                most preferred is the one with the greatest sum of weights, i.e.
                                                for each node that meets all of the scheduling requirements (resource
                                                request, requiredDuringScheduling anti-affinity expressions, etc.),
                                                compute a sum by iterating through the elements of this field and adding
                                                "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                                node(s) with the highest sum are the most preferred.
                                              items:
                                                description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
                                                properties:
                                                  podAffinityTerm:
                                                    description: Required. A pod affinity term, associated with the corresponding weight.
                                                    properties:
                                                      labelSelector:
                                                        description: |-
                                                          A label query over a set of resources, in this case pods.
                                                          If it's null, this PodAffinityTerm matches with no Pods.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key is the label key that the selector applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      matchLabelKeys:
                                                        description: |-
                                                          MatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                          Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      mismatchLabelKeys:
                                                        description: |-
                                                          MismatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                          Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      namespaceSelector:
                                                        description: |-
                                                          A label query over the set of namespaces that the term applies to.
                                                          The term is applied to the union of the namespaces selected by this field
                                                          and the ones listed in the namespaces field.
                                                          null selector and null or empty namespaces list means "this pod's namespace".
                                                          An empty selector ({}) matches all namespaces.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key is the label key that the selector applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      namespaces:
                                                        description: |-
                                                          namespaces specifies a static list of namespace names that the term applies to.
                                                          The term is applied to the union of the namespaces listed in this field
                                                          and the ones selected by namespaceSelector.
                                                          null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      topologyKey:
                                                        description: |-
                                                          This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                          the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                          whose value of the label with key topologyKey matches that of any node on which any of the
                                                          selected pods is running.
                                                          Empty topologyKey is not allowed.
                                                        type: string
                                                    required:
                                                    - topologyKey
                                                    type: object
                                                  weight:
                                                    description: |-
                                                      weight associated with matching the corresponding podAffinityTerm,
                                                      in the range 1-100.
                                                    format: int32
                                                    type: integer
                                                required:
                                                - podAffinityTerm
                                                - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                If the anti-affinity requirements specified by this field are not met at
                                                scheduling time, the pod will not be scheduled onto the node.
                                                If the anti-affinity requirements specified by this field cease to be met
                                                at some point during pod execution (e.g. due to a pod label update), the
                                                system may or may not try to eventually evict the pod from its node.
                                                When there are multiple elements, the lists of nodes corresponding to each
                                                podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                              items:
                                                description: |-
                                                  Defines a set of pods (namely those matching the labelSelector
                                                  relative to the given namespace(s)) that this pod should be
                                                  co-located (affinity) or not co-located (anti-affinity) with,
                                                  where co-located is defined as running on a node whose value of
                                                  the label with key <topologyKey> matches that of any node on which
                                                  a pod of the set of pods is running
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is the label key that the selector applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is the label key that the selector applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          type: object
                                      type: object
                                    automountServiceAccountToken:
                                      description: AutomountServiceAccountToken indicates whether a service account token should be automatically mounted.
                                      type: boolean
                                    containers:
                                      description: |-
                                        List of containers belonging to the pod.
                                        Containers cannot currently be added or removed.
                                        There must be at least one container in a Pod.
                                        Cannot be updated.
                                      items:
                                        description: A single application container that you want to run within a pod.
                                        properties:
                                          args:
                                            description: |-
                                              Arguments to the entrypoint.
                                              The container image's CMD is used if this is not provided.
                                              Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
                                              cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
                                              to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
                                              produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
                                              of whether the variable exists or not. Cannot be updated.
                                              More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          command:
                                            description: |-
                                              Entrypoint array. Not executed within a shell.
                                              The container image's ENTRYPOINT is used if this is not provided.
                                              Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
                                              cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
                                              to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
                                              produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
                                              of whether the variable exists or not. Cannot be updated.
                                              More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          env:
                                            description: |-
                                              List of environment variables to set in the container.
                                              Cannot be updated.
                                            items:
                                              description: EnvVar represents an environment variable present in a Container.
                                              properties:
                                                name:
                                                  description: Name of the environment variable. Must be a C_IDENTIFIER.
                                                  type: string
                                                value:
                                                  description: |-
                                                    Variable references $(VAR_NAME) are expanded
                                                    using the previously defined environment variables in the container and
                                                    any service environment variables. If a variable cannot be resolved,
                                                    the reference in the input string will be unchanged. Double $$ are reduced
                                                    to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.
                                                    "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
                                                    Escaped references will never be expanded, regardless of whether the variable
                                                    exists or not.
                                                    Defaults to "".
                                                  type: string
                                                valueFrom:
                                                  description: Source for the environment variable's value. Cannot be used if value is not empty.
                                                  properties:
                                                    configMapKeyRef:
                                                      description: Selects a key of a ConfigMap.
                                                      properties:
                                                        key:
                                                          description: The key to select.
                                                          type: string
                                                        name:
                                                          default: ""
                                                          description: |-
                                                            Name of the referent.
                                                            This field is effectively required, but due to backwards compatibility is
                                                            allowed to be empty. Instances of this type with an empty value here are
                                                            almost certainly wrong.
                                                            More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                                          type: string
                                                        optional:
                                                          description: Specify whether the ConfigMap or its key must be defined
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                      x-kubernetes-map-type: atomic
                                                    fieldRef:
                                                      description: |-
                                                        Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`,
                                                        spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.
                                                      properties:
                                                        apiVersion:
                                                          description: Version of the schema the FieldPath is written in terms of, defaults to "v1".
                                                          type: string
                                                        fieldPath:
                                                          description: Path of the field to select in the specified API version.
                                                          type: string
                                                      required:
                                                      - fieldPath
                                                      type: object
                                                      x-kubernetes-map-type: atomic
                                                    resourceFieldRef:
                                                      description: |-
                                                        Selects a resource of the container: only resources limits and requests
                                                        (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.
                                                      properties:
                                                        containerName:
                                                          description: 'Container name: required for volumes, optional for env vars'
                                                          type: string
                                                        divisor:
                                                          anyOf:
                                                          - type: integer
                                                          - type: string
                                                          description: Specifies the output format of the exposed resources, defaults to "1"
                                                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                          x-kubernetes-int-or-string: true
                                                        resource:
                                                          description: 'Required: resource to select'
                                                          type: string
                                                      required:
                                                      - resource
                                                      type: object
                                                      x-kubernetes-map-type: atomic
                                                    secretKeyRef:
                                                      description: Selects a key of a secret in the pod's namespace
                                                      properties:
                                                        key:
                                                          description: The key of the secret to select from.  Must be a valid secret key.
                                                          type: string
                                                        name:
                                                          default: ""
                                                          description: |-
                                                            Name of the referent.
                                                            This field is effectively required, but due to backwards compatibility is
                                                            allowed to be empty. Instances of this type with an empty value here are
                                                            almost certainly wrong.
                                                            More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                                          type: string
                                                        optional:
                                                          description: Specify whether the Secret or its key must be defined
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                      x-kubernetes-map-type: atomic
                                                  type: object
                                              required:
                                              - name
                                              type: object
                                            type: array
                                            x-kubernetes-list-map-keys:
                                            - name
                                            x-kubernetes-list-type: map
                                          envFrom:
                                            description: |-
                                              List of sources to populate environment variables in the container.
                                              The keys defined within a source must be a C_IDENTIFIER. All invalid keys
                                              will be reported as an event when the container is starting. When a key exists in multiple
                                              sources, the value associated with the last source will take precedence.
                                              Values defined by an Env with a duplicate key will take precedence.
                                              Cannot be updated.
                                            items:
                                              description: EnvFromSource represents the source of a set of ConfigMaps
                                              properties:
                                                configMapRef:
                                                  description: The ConfigMap to select from
                                                  properties:
                                                    name:
                                                      default: ""
                                                      description: |-
                                                        Name of the referent.
                                                        This field is effectively required, but due to backwards compatibility is
                                                        allowed to be empty. Instances of this type with an empty value here are
                                                        almost certainly wrong.
                                                        More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                                      type: string
                                                    optional:
                                                      description: Specify whether the ConfigMap must be defined
                                                      type: boolean
                                                  type: object
                                                  x-kubernetes-map-type: atomic
                                                prefix:
                                                  description: An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
                                                  type: string
                                                secretRef:
                                                  description: The Secret to select from
                                                  properties:
                                                    name:
                                                      default: ""
                                                      description: |-
                                                        Name of the referent.
                                                        This field is effectively required, but due to backwards compatibility is
                                                        allowed to be empty. Instances of this type with an empty value here are
                                                        almost certainly wrong.
                                                        More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                                      type: string
                                                    optional:
                                                      description: Specify whether the Secret must be defined
                                                      type: boolean
                                                  type: object
                                                  x-kubernetes-map-type: atomic
                                              type: object
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          image:
                                            description: |-
                                              Container image name.
                                              More info: https://kubernetes.io/docs/concepts/containers/images
                                              This field is optional to allow higher level config management to default or override
                                              container images in workload controllers like Deployments and StatefulSets.
                                            type: string
                                          imagePullPolicy:
                                            description: |-
                                              Image pull policy.
                                              One of Always, Never, IfNotPresent.
                                              Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
                                              Cannot be updated.
                                              More info: https://kubernetes.io/docs/concepts/containers/images#updating-images
                                            type: string
                                          lifecycle:
                                            description: |-
                                              Actions that the management system should take in response to container lifecycle events.
                                              Cannot be updated.
                                            properties:
                                              postStart:
                                                description: |-
                                                  PostStart is called immediately after a container is created. If the handler fails,
                                                  the container is terminated and restarted according to its restart policy.
                                                  Other management of the container blocks until the hook completes.
                                                  More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
                                                properties:
                                                  exec:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



modules/management/kubectl-apply/manifests/jobset-v0.8.1.yaml [391:1826]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                              type: string
                            manualSelector:
                              description: |-
                                manualSelector controls generation of pod labels and pod selectors.
                                Leave `manualSelector` unset unless you are certain what you are doing.
                                When false or unset, the system pick labels unique to this job
                                and appends those labels to the pod template.  When true,
                                the user is responsible for picking unique labels and specifying
                                the selector.  Failure to pick a unique label may cause this
                                and other jobs to not function correctly.  However, You may see
                                `manualSelector=true` in jobs that were created with the old `extensions/v1beta1`
                                API.
                                More info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/#specifying-your-own-pod-selector
                              type: boolean
                            maxFailedIndexes:
                              description: |-
                                Specifies the maximal number of failed indexes before marking the Job as
                                failed, when backoffLimitPerIndex is set. Once the number of failed
                                indexes exceeds this number the entire Job is marked as Failed and its
                                execution is terminated. When left as null the job continues execution of
                                all of its indexes and is marked with the `Complete` Job condition.
                                It can only be specified when backoffLimitPerIndex is set.
                                It can be null or up to completions. It is required and must be
                                less than or equal to 10^4 when is completions greater than 10^5.
                                This field is beta-level. It can be used when the `JobBackoffLimitPerIndex`
                                feature gate is enabled (enabled by default).
                              format: int32
                              type: integer
                            parallelism:
                              description: |-
                                Specifies the maximum desired number of pods the job should
                                run at any given time. The actual number of pods running in steady state will
                                be less than this number when ((.spec.completions - .status.successful) < .spec.parallelism),
                                i.e. when the work left to do is less than max parallelism.
                                More info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/
                              format: int32
                              type: integer
                            podFailurePolicy:
                              description: |-
                                Specifies the policy of handling failed pods. In particular, it allows to
                                specify the set of actions and conditions which need to be
                                satisfied to take the associated action.
                                If empty, the default behaviour applies - the counter of failed pods,
                                represented by the jobs's .status.failed field, is incremented and it is
                                checked against the backoffLimit. This field cannot be used in combination
                                with restartPolicy=OnFailure.
                              properties:
                                rules:
                                  description: |-
                                    A list of pod failure policy rules. The rules are evaluated in order.
                                    Once a rule matches a Pod failure, the remaining of the rules are ignored.
                                    When no rule matches the Pod failure, the default handling applies - the
                                    counter of pod failures is incremented and it is checked against
                                    the backoffLimit. At most 20 elements are allowed.
                                  items:
                                    description: |-
                                      PodFailurePolicyRule describes how a pod failure is handled when the requirements are met.
                                      One of onExitCodes and onPodConditions, but not both, can be used in each rule.
                                    properties:
                                      action:
                                        description: |-
                                          Specifies the action taken on a pod failure when the requirements are satisfied.
                                          Possible values are:

                                          - FailJob: indicates that the pod's job is marked as Failed and all
                                            running pods are terminated.
                                          - FailIndex: indicates that the pod's index is marked as Failed and will
                                            not be restarted.
                                            This value is beta-level. It can be used when the
                                            `JobBackoffLimitPerIndex` feature gate is enabled (enabled by default).
                                          - Ignore: indicates that the counter towards the .backoffLimit is not
                                            incremented and a replacement pod is created.
                                          - Count: indicates that the pod is handled in the default way - the
                                            counter towards the .backoffLimit is incremented.
                                          Additional values are considered to be added in the future. Clients should
                                          react to an unknown action by skipping the rule.
                                        type: string
                                      onExitCodes:
                                        description: Represents the requirement on the container exit codes.
                                        properties:
                                          containerName:
                                            description: |-
                                              Restricts the check for exit codes to the container with the
                                              specified name. When null, the rule applies to all containers.
                                              When specified, it should match one the container or initContainer
                                              names in the pod template.
                                            type: string
                                          operator:
                                            description: |-
                                              Represents the relationship between the container exit code(s) and the
                                              specified values. Containers completed with success (exit code 0) are
                                              excluded from the requirement check. Possible values are:

                                              - In: the requirement is satisfied if at least one container exit code
                                                (might be multiple if there are multiple containers not restricted
                                                by the 'containerName' field) is in the set of specified values.
                                              - NotIn: the requirement is satisfied if at least one container exit code
                                                (might be multiple if there are multiple containers not restricted
                                                by the 'containerName' field) is not in the set of specified values.
                                              Additional values are considered to be added in the future. Clients should
                                              react to an unknown operator by assuming the requirement is not satisfied.
                                            type: string
                                          values:
                                            description: |-
                                              Specifies the set of values. Each returned container exit code (might be
                                              multiple in case of multiple containers) is checked against this set of
                                              values with respect to the operator. The list of values must be ordered
                                              and must not contain duplicates. Value '0' cannot be used for the In operator.
                                              At least one element is required. At most 255 elements are allowed.
                                            items:
                                              format: int32
                                              type: integer
                                            type: array
                                            x-kubernetes-list-type: set
                                        required:
                                        - operator
                                        - values
                                        type: object
                                      onPodConditions:
                                        description: |-
                                          Represents the requirement on the pod conditions. The requirement is represented
                                          as a list of pod condition patterns. The requirement is satisfied if at
                                          least one pattern matches an actual pod condition. At most 20 elements are allowed.
                                        items:
                                          description: |-
                                            PodFailurePolicyOnPodConditionsPattern describes a pattern for matching
                                            an actual pod condition type.
                                          properties:
                                            status:
                                              description: |-
                                                Specifies the required Pod condition status. To match a pod condition
                                                it is required that the specified status equals the pod condition status.
                                                Defaults to True.
                                              type: string
                                            type:
                                              description: |-
                                                Specifies the required Pod condition type. To match a pod condition
                                                it is required that specified type equals the pod condition type.
                                              type: string
                                          required:
                                          - status
                                          - type
                                          type: object
                                        type: array
                                        x-kubernetes-list-type: atomic
                                    required:
                                    - action
                                    type: object
                                  type: array
                                  x-kubernetes-list-type: atomic
                              required:
                              - rules
                              type: object
                            podReplacementPolicy:
                              description: |-
                                podReplacementPolicy specifies when to create replacement Pods.
                                Possible values are:
                                - TerminatingOrFailed means that we recreate pods
                                  when they are terminating (has a metadata.deletionTimestamp) or failed.
                                - Failed means to wait until a previously created Pod is fully terminated (has phase
                                  Failed or Succeeded) before creating a replacement Pod.

                                When using podFailurePolicy, Failed is the the only allowed value.
                                TerminatingOrFailed and Failed are allowed values when podFailurePolicy is not in use.
                                This is an beta field. To use this, enable the JobPodReplacementPolicy feature toggle.
                                This is on by default.
                              type: string
                            selector:
                              description: |-
                                A label query over pods that should match the pod count.
                                Normally, the system sets this field for you.
                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
                              properties:
                                matchExpressions:
                                  description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
                                  items:
                                    description: |-
                                      A label selector requirement is a selector that contains values, a key, and an operator that
                                      relates the key and values.
                                    properties:
                                      key:
                                        description: key is the label key that the selector applies to.
                                        type: string
                                      operator:
                                        description: |-
                                          operator represents a key's relationship to a set of values.
                                          Valid operators are In, NotIn, Exists and DoesNotExist.
                                        type: string
                                      values:
                                        description: |-
                                          values is an array of string values. If the operator is In or NotIn,
                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                          the values array must be empty. This array is replaced during a strategic
                                          merge patch.
                                        items:
                                          type: string
                                        type: array
                                        x-kubernetes-list-type: atomic
                                    required:
                                    - key
                                    - operator
                                    type: object
                                  type: array
                                  x-kubernetes-list-type: atomic
                                matchLabels:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                    map is equivalent to an element of matchExpressions, whose key field is "key", the
                                    operator is "In", and the values array contains only "value". The requirements are ANDed.
                                  type: object
                              type: object
                              x-kubernetes-map-type: atomic
                            successPolicy:
                              description: |-
                                successPolicy specifies the policy when the Job can be declared as succeeded.
                                If empty, the default behavior applies - the Job is declared as succeeded
                                only when the number of succeeded pods equals to the completions.
                                When the field is specified, it must be immutable and works only for the Indexed Jobs.
                                Once the Job meets the SuccessPolicy, the lingering pods are terminated.

                                This field is beta-level. To use this field, you must enable the
                                `JobSuccessPolicy` feature gate (enabled by default).
                              properties:
                                rules:
                                  description: |-
                                    rules represents the list of alternative rules for the declaring the Jobs
                                    as successful before `.status.succeeded >= .spec.completions`. Once any of the rules are met,
                                    the "SucceededCriteriaMet" condition is added, and the lingering pods are removed.
                                    The terminal state for such a Job has the "Complete" condition.
                                    Additionally, these rules are evaluated in order; Once the Job meets one of the rules,
                                    other rules are ignored. At most 20 elements are allowed.
                                  items:
                                    description: |-
                                      SuccessPolicyRule describes rule for declaring a Job as succeeded.
                                      Each rule must have at least one of the "succeededIndexes" or "succeededCount" specified.
                                    properties:
                                      succeededCount:
                                        description: |-
                                          succeededCount specifies the minimal required size of the actual set of the succeeded indexes
                                          for the Job. When succeededCount is used along with succeededIndexes, the check is
                                          constrained only to the set of indexes specified by succeededIndexes.
                                          For example, given that succeededIndexes is "1-4", succeededCount is "3",
                                          and completed indexes are "1", "3", and "5", the Job isn't declared as succeeded
                                          because only "1" and "3" indexes are considered in that rules.
                                          When this field is null, this doesn't default to any value and
                                          is never evaluated at any time.
                                          When specified it needs to be a positive integer.
                                        format: int32
                                        type: integer
                                      succeededIndexes:
                                        description: |-
                                          succeededIndexes specifies the set of indexes
                                          which need to be contained in the actual set of the succeeded indexes for the Job.
                                          The list of indexes must be within 0 to ".spec.completions-1" and
                                          must not contain duplicates. At least one element is required.
                                          The indexes are represented as intervals separated by commas.
                                          The intervals can be a decimal integer or a pair of decimal integers separated by a hyphen.
                                          The number are listed in represented by the first and last element of the series,
                                          separated by a hyphen.
                                          For example, if the completed indexes are 1, 3, 4, 5 and 7, they are
                                          represented as "1,3-5,7".
                                          When this field is null, this field doesn't default to any value
                                          and is never evaluated at any time.
                                        type: string
                                    type: object
                                  type: array
                                  x-kubernetes-list-type: atomic
                              required:
                              - rules
                              type: object
                            suspend:
                              description: |-
                                suspend specifies whether the Job controller should create Pods or not. If
                                a Job is created with suspend set to true, no Pods are created by the Job
                                controller. If a Job is suspended after creation (i.e. the flag goes from
                                false to true), the Job controller will delete all active Pods associated
                                with this Job. Users must design their workload to gracefully handle this.
                                Suspending a Job will reset the StartTime field of the Job, effectively
                                resetting the ActiveDeadlineSeconds timer too. Defaults to false.
                              type: boolean
                            template:
                              description: |-
                                Describes the pod that will be created when executing a job.
                                The only allowed template.spec.restartPolicy values are "Never" or "OnFailure".
                                More info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/
                              properties:
                                metadata:
                                  description: |-
                                    Standard object's metadata.
                                    More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
                                  properties:
                                    annotations:
                                      additionalProperties:
                                        type: string
                                      type: object
                                    finalizers:
                                      items:
                                        type: string
                                      type: array
                                    labels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                    name:
                                      type: string
                                    namespace:
                                      type: string
                                  type: object
                                spec:
                                  description: |-
                                    Specification of the desired behavior of the pod.
                                    More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
                                  properties:
                                    activeDeadlineSeconds:
                                      description: |-
                                        Optional duration in seconds the pod may be active on the node relative to
                                        StartTime before the system will actively try to mark it failed and kill associated containers.
                                        Value must be a positive integer.
                                      format: int64
                                      type: integer
                                    affinity:
                                      description: If specified, the pod's scheduling constraints
                                      properties:
                                        nodeAffinity:
                                          description: Describes node affinity scheduling rules for the pod.
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                The scheduler will prefer to schedule pods to nodes that satisfy
                                                the affinity expressions specified by this field, but it may choose
                                                a node that violates one or more of the expressions. The node that is
                                                most preferred is the one with the greatest sum of weights, i.e.
                                                for each node that meets all of the scheduling requirements (resource
                                                request, requiredDuringScheduling affinity expressions, etc.),
                                                compute a sum by iterating through the elements of this field and adding
                                                "weight" to the sum if the node matches the corresponding matchExpressions; the
                                                node(s) with the highest sum are the most preferred.
                                              items:
                                                description: |-
                                                  An empty preferred scheduling term matches all objects with implicit weight 0
                                                  (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
                                                properties:
                                                  preference:
                                                    description: A node selector term, associated with the corresponding weight.
                                                    properties:
                                                      matchExpressions:
                                                        description: A list of node selector requirements by node's labels.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label key that the selector applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchFields:
                                                        description: A list of node selector requirements by node's fields.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label key that the selector applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  weight:
                                                    description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
                                                    format: int32
                                                    type: integer
                                                required:
                                                - preference
                                                - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                If the affinity requirements specified by this field are not met at
                                                scheduling time, the pod will not be scheduled onto the node.
                                                If the affinity requirements specified by this field cease to be met
                                                at some point during pod execution (e.g. due to an update), the system
                                                may or may not try to eventually evict the pod from its node.
                                              properties:
                                                nodeSelectorTerms:
                                                  description: Required. A list of node selector terms. The terms are ORed.
                                                  items:
                                                    description: |-
                                                      A null or empty node selector term matches no objects. The requirements of
                                                      them are ANDed.
                                                      The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
                                                    properties:
                                                      matchExpressions:
                                                        description: A list of node selector requirements by node's labels.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label key that the selector applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchFields:
                                                        description: A list of node selector requirements by node's fields.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label key that the selector applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  type: array
                                                  x-kubernetes-list-type: atomic
                                              required:
                                              - nodeSelectorTerms
                                              type: object
                                              x-kubernetes-map-type: atomic
                                          type: object
                                        podAffinity:
                                          description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                The scheduler will prefer to schedule pods to nodes that satisfy
                                                the affinity expressions specified by this field, but it may choose
                                                a node that violates one or more of the expressions. The node that is
                                                most preferred is the one with the greatest sum of weights, i.e.
                                                for each node that meets all of the scheduling requirements (resource
                                                request, requiredDuringScheduling affinity expressions, etc.),
                                                compute a sum by iterating through the elements of this field and adding
                                                "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                                node(s) with the highest sum are the most preferred.
                                              items:
                                                description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
                                                properties:
                                                  podAffinityTerm:
                                                    description: Required. A pod affinity term, associated with the corresponding weight.
                                                    properties:
                                                      labelSelector:
                                                        description: |-
                                                          A label query over a set of resources, in this case pods.
                                                          If it's null, this PodAffinityTerm matches with no Pods.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key is the label key that the selector applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      matchLabelKeys:
                                                        description: |-
                                                          MatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                          Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      mismatchLabelKeys:
                                                        description: |-
                                                          MismatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                          Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      namespaceSelector:
                                                        description: |-
                                                          A label query over the set of namespaces that the term applies to.
                                                          The term is applied to the union of the namespaces selected by this field
                                                          and the ones listed in the namespaces field.
                                                          null selector and null or empty namespaces list means "this pod's namespace".
                                                          An empty selector ({}) matches all namespaces.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key is the label key that the selector applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      namespaces:
                                                        description: |-
                                                          namespaces specifies a static list of namespace names that the term applies to.
                                                          The term is applied to the union of the namespaces listed in this field
                                                          and the ones selected by namespaceSelector.
                                                          null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      topologyKey:
                                                        description: |-
                                                          This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                          the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                          whose value of the label with key topologyKey matches that of any node on which any of the
                                                          selected pods is running.
                                                          Empty topologyKey is not allowed.
                                                        type: string
                                                    required:
                                                    - topologyKey
                                                    type: object
                                                  weight:
                                                    description: |-
                                                      weight associated with matching the corresponding podAffinityTerm,
                                                      in the range 1-100.
                                                    format: int32
                                                    type: integer
                                                required:
                                                - podAffinityTerm
                                                - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                If the affinity requirements specified by this field are not met at
                                                scheduling time, the pod will not be scheduled onto the node.
                                                If the affinity requirements specified by this field cease to be met
                                                at some point during pod execution (e.g. due to a pod label update), the
                                                system may or may not try to eventually evict the pod from its node.
                                                When there are multiple elements, the lists of nodes corresponding to each
                                                podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                              items:
                                                description: |-
                                                  Defines a set of pods (namely those matching the labelSelector
                                                  relative to the given namespace(s)) that this pod should be
                                                  co-located (affinity) or not co-located (anti-affinity) with,
                                                  where co-located is defined as running on a node whose value of
                                                  the label with key <topologyKey> matches that of any node on which
                                                  a pod of the set of pods is running
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is the label key that the selector applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is the label key that the selector applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          type: object
                                        podAntiAffinity:
                                          description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                The scheduler will prefer to schedule pods to nodes that satisfy
                                                the anti-affinity expressions specified by this field, but it may choose
                                                a node that violates one or more of the expressions. The node that is
                                                most preferred is the one with the greatest sum of weights, i.e.
                                                for each node that meets all of the scheduling requirements (resource
                                                request, requiredDuringScheduling anti-affinity expressions, etc.),
                                                compute a sum by iterating through the elements of this field and adding
                                                "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                                node(s) with the highest sum are the most preferred.
                                              items:
                                                description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
                                                properties:
                                                  podAffinityTerm:
                                                    description: Required. A pod affinity term, associated with the corresponding weight.
                                                    properties:
                                                      labelSelector:
                                                        description: |-
                                                          A label query over a set of resources, in this case pods.
                                                          If it's null, this PodAffinityTerm matches with no Pods.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key is the label key that the selector applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      matchLabelKeys:
                                                        description: |-
                                                          MatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                          Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      mismatchLabelKeys:
                                                        description: |-
                                                          MismatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                          Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      namespaceSelector:
                                                        description: |-
                                                          A label query over the set of namespaces that the term applies to.
                                                          The term is applied to the union of the namespaces selected by this field
                                                          and the ones listed in the namespaces field.
                                                          null selector and null or empty namespaces list means "this pod's namespace".
                                                          An empty selector ({}) matches all namespaces.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key is the label key that the selector applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      namespaces:
                                                        description: |-
                                                          namespaces specifies a static list of namespace names that the term applies to.
                                                          The term is applied to the union of the namespaces listed in this field
                                                          and the ones selected by namespaceSelector.
                                                          null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      topologyKey:
                                                        description: |-
                                                          This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                          the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                          whose value of the label with key topologyKey matches that of any node on which any of the
                                                          selected pods is running.
                                                          Empty topologyKey is not allowed.
                                                        type: string
                                                    required:
                                                    - topologyKey
                                                    type: object
                                                  weight:
                                                    description: |-
                                                      weight associated with matching the corresponding podAffinityTerm,
                                                      in the range 1-100.
                                                    format: int32
                                                    type: integer
                                                required:
                                                - podAffinityTerm
                                                - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                If the anti-affinity requirements specified by this field are not met at
                                                scheduling time, the pod will not be scheduled onto the node.
                                                If the anti-affinity requirements specified by this field cease to be met
                                                at some point during pod execution (e.g. due to a pod label update), the
                                                system may or may not try to eventually evict the pod from its node.
                                                When there are multiple elements, the lists of nodes corresponding to each
                                                podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                              items:
                                                description: |-
                                                  Defines a set of pods (namely those matching the labelSelector
                                                  relative to the given namespace(s)) that this pod should be
                                                  co-located (affinity) or not co-located (anti-affinity) with,
                                                  where co-located is defined as running on a node whose value of
                                                  the label with key <topologyKey> matches that of any node on which
                                                  a pod of the set of pods is running
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is the label key that the selector applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is the label key that the selector applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          type: object
                                      type: object
                                    automountServiceAccountToken:
                                      description: AutomountServiceAccountToken indicates whether a service account token should be automatically mounted.
                                      type: boolean
                                    containers:
                                      description: |-
                                        List of containers belonging to the pod.
                                        Containers cannot currently be added or removed.
                                        There must be at least one container in a Pod.
                                        Cannot be updated.
                                      items:
                                        description: A single application container that you want to run within a pod.
                                        properties:
                                          args:
                                            description: |-
                                              Arguments to the entrypoint.
                                              The container image's CMD is used if this is not provided.
                                              Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
                                              cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
                                              to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
                                              produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
                                              of whether the variable exists or not. Cannot be updated.
                                              More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          command:
                                            description: |-
                                              Entrypoint array. Not executed within a shell.
                                              The container image's ENTRYPOINT is used if this is not provided.
                                              Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
                                              cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
                                              to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
                                              produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
                                              of whether the variable exists or not. Cannot be updated.
                                              More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          env:
                                            description: |-
                                              List of environment variables to set in the container.
                                              Cannot be updated.
                                            items:
                                              description: EnvVar represents an environment variable present in a Container.
                                              properties:
                                                name:
                                                  description: Name of the environment variable. Must be a C_IDENTIFIER.
                                                  type: string
                                                value:
                                                  description: |-
                                                    Variable references $(VAR_NAME) are expanded
                                                    using the previously defined environment variables in the container and
                                                    any service environment variables. If a variable cannot be resolved,
                                                    the reference in the input string will be unchanged. Double $$ are reduced
                                                    to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.
                                                    "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
                                                    Escaped references will never be expanded, regardless of whether the variable
                                                    exists or not.
                                                    Defaults to "".
                                                  type: string
                                                valueFrom:
                                                  description: Source for the environment variable's value. Cannot be used if value is not empty.
                                                  properties:
                                                    configMapKeyRef:
                                                      description: Selects a key of a ConfigMap.
                                                      properties:
                                                        key:
                                                          description: The key to select.
                                                          type: string
                                                        name:
                                                          default: ""
                                                          description: |-
                                                            Name of the referent.
                                                            This field is effectively required, but due to backwards compatibility is
                                                            allowed to be empty. Instances of this type with an empty value here are
                                                            almost certainly wrong.
                                                            More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                                          type: string
                                                        optional:
                                                          description: Specify whether the ConfigMap or its key must be defined
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                      x-kubernetes-map-type: atomic
                                                    fieldRef:
                                                      description: |-
                                                        Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`,
                                                        spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.
                                                      properties:
                                                        apiVersion:
                                                          description: Version of the schema the FieldPath is written in terms of, defaults to "v1".
                                                          type: string
                                                        fieldPath:
                                                          description: Path of the field to select in the specified API version.
                                                          type: string
                                                      required:
                                                      - fieldPath
                                                      type: object
                                                      x-kubernetes-map-type: atomic
                                                    resourceFieldRef:
                                                      description: |-
                                                        Selects a resource of the container: only resources limits and requests
                                                        (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.
                                                      properties:
                                                        containerName:
                                                          description: 'Container name: required for volumes, optional for env vars'
                                                          type: string
                                                        divisor:
                                                          anyOf:
                                                          - type: integer
                                                          - type: string
                                                          description: Specifies the output format of the exposed resources, defaults to "1"
                                                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                          x-kubernetes-int-or-string: true
                                                        resource:
                                                          description: 'Required: resource to select'
                                                          type: string
                                                      required:
                                                      - resource
                                                      type: object
                                                      x-kubernetes-map-type: atomic
                                                    secretKeyRef:
                                                      description: Selects a key of a secret in the pod's namespace
                                                      properties:
                                                        key:
                                                          description: The key of the secret to select from.  Must be a valid secret key.
                                                          type: string
                                                        name:
                                                          default: ""
                                                          description: |-
                                                            Name of the referent.
                                                            This field is effectively required, but due to backwards compatibility is
                                                            allowed to be empty. Instances of this type with an empty value here are
                                                            almost certainly wrong.
                                                            More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                                          type: string
                                                        optional:
                                                          description: Specify whether the Secret or its key must be defined
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                      x-kubernetes-map-type: atomic
                                                  type: object
                                              required:
                                              - name
                                              type: object
                                            type: array
                                            x-kubernetes-list-map-keys:
                                            - name
                                            x-kubernetes-list-type: map
                                          envFrom:
                                            description: |-
                                              List of sources to populate environment variables in the container.
                                              The keys defined within a source must be a C_IDENTIFIER. All invalid keys
                                              will be reported as an event when the container is starting. When a key exists in multiple
                                              sources, the value associated with the last source will take precedence.
                                              Values defined by an Env with a duplicate key will take precedence.
                                              Cannot be updated.
                                            items:
                                              description: EnvFromSource represents the source of a set of ConfigMaps
                                              properties:
                                                configMapRef:
                                                  description: The ConfigMap to select from
                                                  properties:
                                                    name:
                                                      default: ""
                                                      description: |-
                                                        Name of the referent.
                                                        This field is effectively required, but due to backwards compatibility is
                                                        allowed to be empty. Instances of this type with an empty value here are
                                                        almost certainly wrong.
                                                        More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                                      type: string
                                                    optional:
                                                      description: Specify whether the ConfigMap must be defined
                                                      type: boolean
                                                  type: object
                                                  x-kubernetes-map-type: atomic
                                                prefix:
                                                  description: An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
                                                  type: string
                                                secretRef:
                                                  description: The Secret to select from
                                                  properties:
                                                    name:
                                                      default: ""
                                                      description: |-
                                                        Name of the referent.
                                                        This field is effectively required, but due to backwards compatibility is
                                                        allowed to be empty. Instances of this type with an empty value here are
                                                        almost certainly wrong.
                                                        More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                                      type: string
                                                    optional:
                                                      description: Specify whether the Secret must be defined
                                                      type: boolean
                                                  type: object
                                                  x-kubernetes-map-type: atomic
                                              type: object
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          image:
                                            description: |-
                                              Container image name.
                                              More info: https://kubernetes.io/docs/concepts/containers/images
                                              This field is optional to allow higher level config management to default or override
                                              container images in workload controllers like Deployments and StatefulSets.
                                            type: string
                                          imagePullPolicy:
                                            description: |-
                                              Image pull policy.
                                              One of Always, Never, IfNotPresent.
                                              Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
                                              Cannot be updated.
                                              More info: https://kubernetes.io/docs/concepts/containers/images#updating-images
                                            type: string
                                          lifecycle:
                                            description: |-
                                              Actions that the management system should take in response to container lifecycle events.
                                              Cannot be updated.
                                            properties:
                                              postStart:
                                                description: |-
                                                  PostStart is called immediately after a container is created. If the handler fails,
                                                  the container is terminated and restarted according to its restart policy.
                                                  Other management of the container blocks until the hook completes.
                                                  More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
                                                properties:
                                                  exec:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



