# Source: https://raw.githubusercontent.com/rabbitmq/cluster-operator/v{version}/config/crd/bases/rabbitmq.com_rabbitmqclusters.yaml
# Version: 2.16.0
# RabbitMQ Cluster Operator
#
# Copyright 2020 VMware, Inc. All Rights Reserved.
#
# This product is licensed to you under the Mozilla Public license, Version 2.0 (the "License").  You may not use this product except in compliance with the Mozilla Public License.
#
# This product may include a number of subcomponents with separate copyright notices and license terms. Your use of these subcomponents is subject to the terms and conditions of the subcomponent's license, as noted in the LICENSE file.

apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.18.0
  name: rabbitmqclusters.rabbitmq.com
spec:
  group: rabbitmq.com
  names:
    categories:
      - all
      - rabbitmq
    kind: RabbitmqCluster
    listKind: RabbitmqClusterList
    plural: rabbitmqclusters
    shortNames:
      - rmq
    singular: rabbitmqcluster
  scope: Namespaced
  versions:
    - additionalPrinterColumns:
        - jsonPath: .status.conditions[?(@.type == 'AllReplicasReady')].status
          name: AllReplicasReady
          type: string
        - jsonPath: .status.conditions[?(@.type == 'ReconcileSuccess')].status
          name: ReconcileSuccess
          type: string
        - jsonPath: .metadata.creationTimestamp
          name: Age
          type: date
      name: v1beta1
      schema:
        openAPIV3Schema:
          description: |-
            RabbitmqCluster is the Schema for the RabbitmqCluster API. Each instance of this object
            corresponds to a single RabbitMQ cluster.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: Spec is the desired state of the RabbitmqCluster Custom Resource.
              properties:
                affinity:
                  description: Affinity scheduling rules to be applied on created Pods.
                  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.
                                    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.
                                    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.
                                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.
                                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.
                                    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.
                                    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.
                                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.
                                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
                autoEnableAllFeatureFlags:
                  description: |-
                    Set to true to automatically enable all feature flags after each upgrade
                    For more information, see https://www.rabbitmq.com/docs/feature-flags
                  type: boolean
                delayStartSeconds:
                  default: 30
                  description: |-
                    DelayStartSeconds is the time the init container (`setup-container`) will sleep before terminating.
                    This effectively delays the time between starting the Pod and starting the `rabbitmq` container.
                    RabbitMQ relies on up-to-date DNS entries early during peer discovery.
                    The purpose of this artificial delay is to ensure that DNS entries are up-to-date when booting RabbitMQ.
                    For more information, see https://github.com/kubernetes/kubernetes/issues/92559
                    If your Kubernetes DNS backend is configured with a low DNS cache value or publishes not ready addresses
                    promptly, you can decrase this value or set it to 0.
                  format: int32
                  minimum: 0
                  type: integer
                image:
                  description: |-
                    Image is the name of the RabbitMQ docker image to use for RabbitMQ nodes in the RabbitmqCluster.
                    Must be provided together with ImagePullSecrets in order to use an image in a private registry.
                  type: string
                imagePullSecrets:
                  description: List of Secret resource containing access credentials to the registry for the RabbitMQ image. Required if the docker registry is private.
                  items:
                    description: |-
                      LocalObjectReference contains enough information to let you locate the
                      referenced object inside the same namespace.
                    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
                    type: object
                    x-kubernetes-map-type: atomic
                  type: array
                override:
                  properties:
                    service:
                      properties:
                        metadata:
                          properties:
                            annotations:
                              additionalProperties:
                                type: string
                              type: object
                            labels:
                              additionalProperties:
                                type: string
                              type: object
                          type: object
                        spec:
                          properties:
                            allocateLoadBalancerNodePorts:
                              type: boolean
                            clusterIP:
                              type: string
                            clusterIPs:
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            externalIPs:
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            externalName:
                              type: string
                            externalTrafficPolicy:
                              type: string
                            healthCheckNodePort:
                              format: int32
                              type: integer
                            internalTrafficPolicy:
                              type: string
                            ipFamilies:
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            ipFamilyPolicy:
                              type: string
                            loadBalancerClass:
                              type: string
                            loadBalancerIP:
                              type: string
                            loadBalancerSourceRanges:
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            ports:
                              items:
                                properties:
                                  appProtocol:
                                    type: string
                                  name:
                                    type: string
                                  nodePort:
                                    format: int32
                                    type: integer
                                  port:
                                    format: int32
                                    type: integer
                                  protocol:
                                    default: TCP
                                    type: string
                                  targetPort:
                                    anyOf:
                                      - type: integer
                                      - type: string
                                    x-kubernetes-int-or-string: true
                                required:
                                  - port
                                type: object
                              type: array
                              x-kubernetes-list-map-keys:
                                - port
                                - protocol
                              x-kubernetes-list-type: map
                            publishNotReadyAddresses:
                              type: boolean
                            selector:
                              additionalProperties:
                                type: string
                              type: object
                              x-kubernetes-map-type: atomic
                            sessionAffinity:
                              type: string
                            sessionAffinityConfig:
                              properties:
                                clientIP:
                                  properties:
                                    timeoutSeconds:
                                      format: int32
                                      type: integer
                                  type: object
                              type: object
                            trafficDistribution:
                              type: string
                            type:
                              type: string
                          type: object
                      type: object
                    statefulSet:
                      properties:
                        metadata:
                          properties:
                            annotations:
                              additionalProperties:
                                type: string
                              type: object
                            labels:
                              additionalProperties:
                                type: string
                              type: object
                          type: object
                        spec:
                          properties:
                            minReadySeconds:
                              format: int32
                              type: integer
                            persistentVolumeClaimRetentionPolicy:
                              properties:
                                whenDeleted:
                                  type: string
                                whenScaled:
                                  type: string
                              type: object
                            podManagementPolicy:
                              type: string
                            replicas:
                              format: int32
                              type: integer
                            selector:
                              properties:
                                matchExpressions:
                                  items:
                                    properties:
                                      key:
                                        type: string
                                      operator:
                                        type: string
                                      values:
                                        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
                                  type: object
                              type: object
                              x-kubernetes-map-type: atomic
                            serviceName:
                              type: string
                            template:
                              properties:
                                metadata:
                                  properties:
                                    annotations:
                                      additionalProperties:
                                        type: string
                                      type: object
                                    labels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                    name:
                                      type: string
                                    namespace:
                                      type: string
                                  type: object
                                spec:
                                  properties:
                                    activeDeadlineSeconds:
                                      format: int64
                                      type: integer
                                    affinity:
                                      properties:
                                        nodeAffinity:
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              items:
                                                properties:
                                                  preference:
                                                    properties:
                                                      matchExpressions:
                                                        items:
                                                          properties:
                                                            key:
                                                              type: string
                                                            operator:
                                                              type: string
                                                            values:
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                            - key
                                                            - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchFields:
                                                        items:
                                                          properties:
                                                            key:
                                                              type: string
                                                            operator:
                                                              type: string
                                                            values:
                                                              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:
                                                    format: int32
                                                    type: integer
                                                required:
                                                  - preference
                                                  - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              properties:
                                                nodeSelectorTerms:
                                                  items:
                                                    properties:
                                                      matchExpressions:
                                                        items:
                                                          properties:
                                                            key:
                                                              type: string
                                                            operator:
                                                              type: string
                                                            values:
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                            - key
                                                            - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchFields:
                                                        items:
                                                          properties:
                                                            key:
                                                              type: string
                                                            operator:
                                                              type: string
                                                            values:
                                                              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:
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              items:
                                                properties:
                                                  podAffinityTerm:
                                                    properties:
                                                      labelSelector:
                                                        properties:
                                                          matchExpressions:
                                                            items:
                                                              properties:
                                                                key:
                                                                  type: string
                                                                operator:
                                                                  type: string
                                                                values:
                                                                  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
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      matchLabelKeys:
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      mismatchLabelKeys:
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      namespaceSelector:
                                                        properties:
                                                          matchExpressions:
                                                            items:
                                                              properties:
                                                                key:
                                                                  type: string
                                                                operator:
                                                                  type: string
                                                                values:
                                                                  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
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      namespaces:
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      topologyKey:
                                                        type: string
                                                    required:
                                                      - topologyKey
                                                    type: object
                                                  weight:
                                                    format: int32
                                                    type: integer
                                                required:
                                                  - podAffinityTerm
                                                  - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              items:
                                                properties:
                                                  labelSelector:
                                                    properties:
                                                      matchExpressions:
                                                        items:
                                                          properties:
                                                            key:
                                                              type: string
                                                            operator:
                                                              type: string
                                                            values:
                                                              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
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    properties:
                                                      matchExpressions:
                                                        items:
                                                          properties:
                                                            key:
                                                              type: string
                                                            operator:
                                                              type: string
                                                            values:
                                                              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
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    type: string
                                                required:
                                                  - topologyKey
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          type: object
                                        podAntiAffinity:
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              items:
                                                properties:
                                                  podAffinityTerm:
                                                    properties:
                                                      labelSelector:
                                                        properties:
                                                          matchExpressions:
                                                            items:
                                                              properties:
                                                                key:
                                                                  type: string
                                                                operator:
                                                                  type: string
                                                                values:
                                                                  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
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      matchLabelKeys:
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      mismatchLabelKeys:
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      namespaceSelector:
                                                        properties:
                                                          matchExpressions:
                                                            items:
                                                              properties:
                                                                key:
                                                                  type: string
                                                                operator:
                                                                  type: string
                                                                values:
                                                                  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
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      namespaces:
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      topologyKey:
                                                        type: string
                                                    required:
                                                      - topologyKey
                                                    type: object
                                                  weight:
                                                    format: int32
                                                    type: integer
                                                required:
                                                  - podAffinityTerm
                                                  - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              items:
                                                properties:
                                                  labelSelector:
                                                    properties:
                                                      matchExpressions:
                                                        items:
                                                          properties:
                                                            key:
                                                              type: string
                                                            operator:
                                                              type: string
                                                            values:
                                                              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
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    properties:
                                                      matchExpressions:
                                                        items:
                                                          properties:
                                                            key:
                                                              type: string
                                                            operator:
                                                              type: string
                                                            values:
                                                              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
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    type: string
                                                required:
                                                  - topologyKey
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          type: object
                                      type: object
                                    automountServiceAccountToken:
                                      type: boolean
                                    containers:
                                      items:
                                        properties:
                                          args:
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          command:
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          env:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                                valueFrom:
                                                  properties:
                                                    configMapKeyRef:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          default: ""
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                        - key
                                                      type: object
                                                      x-kubernetes-map-type: atomic
                                                    fieldRef:
                                                      properties:
                                                        apiVersion:
                                                          type: string
                                                        fieldPath:
                                                          type: string
                                                      required:
                                                        - fieldPath
                                                      type: object
                                                      x-kubernetes-map-type: atomic
                                                    resourceFieldRef:
                                                      properties:
                                                        containerName:
                                                          type: string
                                                        divisor:
                                                          anyOf:
                                                            - type: integer
                                                            - type: string
                                                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                          x-kubernetes-int-or-string: true
                                                        resource:
                                                          type: string
                                                      required:
                                                        - resource
                                                      type: object
                                                      x-kubernetes-map-type: atomic
                                                    secretKeyRef:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          default: ""
                                                          type: string
                                                        optional:
                                                          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:
                                            items:
                                              properties:
                                                configMapRef:
                                                  properties:
                                                    name:
                                                      default: ""
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  type: object
                                                  x-kubernetes-map-type: atomic
                                                prefix:
                                                  type: string
                                                secretRef:
                                                  properties:
                                                    name:
                                                      default: ""
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  type: object
                                                  x-kubernetes-map-type: atomic
                                              type: object
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          image:
                                            type: string
                                          imagePullPolicy:
                                            type: string
                                          lifecycle:
                                            properties:
                                              postStart:
                                                properties:
                                                  exec:
                                                    properties:
                                                      command:
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                    type: object
                                                  httpGet:
                                                    properties:
                                                      host:
                                                        type: string
                                                      httpHeaders:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          required:
                                                            - name
                                                            - value
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      path:
                                                        type: string
                                                      port:
                                                        anyOf:
                                                          - type: integer
                                                          - type: string
                                                        x-kubernetes-int-or-string: true
                                                      scheme:
                                                        type: string
                                                    required:
                                                      - port
                                                    type: object
                                                  sleep:
                                                    properties:
                                                      seconds:
                                                        format: int64
                                                        type: integer
                                                    required:
                                                      - seconds
                                                    type: object
                                                  tcpSocket:
                                                    properties:
                                                      host:
                                                        type: string
                                                      port:
                                                        anyOf:
                                                          - type: integer
                                                          - type: string
                                                        x-kubernetes-int-or-string: true
                                                    required:
                                                      - port
                                                    type: object
                                                type: object
                                              preStop:
                                                properties:
                                                  exec:
                                                    properties:
                                                      command:
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                    type: object
                                                  httpGet:
                                                    properties:
                                                      host:
                                                        type: string
                                                      httpHeaders:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          required:
                                                            - name
                                                            - value
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      path:
                                                        type: string
                                                      port:
                                                        anyOf:
                                                          - type: integer
                                                          - type: string
                                                        x-kubernetes-int-or-string: true
                                                      scheme:
                                                        type: string
                                                    required:
                                                      - port
                                                    type: object
                                                  sleep:
                                                    properties:
                                                      seconds:
                                                        format: int64
                                                        type: integer
                                                    required:
                                                      - seconds
                                                    type: object
                                                  tcpSocket:
                                                    properties:
                                                      host:
                                                        type: string
                                                      port:
                                                        anyOf:
                                                          - type: integer
                                                          - type: string
                                                        x-kubernetes-int-or-string: true
                                                    required:
                                                      - port
                                                    type: object
                                                type: object
                                              stopSignal:
                                                type: string
                                            type: object
                                          livenessProbe:
                                            properties:
                                              exec:
                                                properties:
                                                  command:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                              failureThreshold:
                                                format: int32
                                                type: integer
                                              grpc:
                                                properties:
                                                  port:
                                                    format: int32
                                                    type: integer
                                                  service:
                                                    default: ""
                                                    type: string
                                                required:
                                                  - port
                                                type: object
                                              httpGet:
                                                properties:
                                                  host:
                                                    type: string
                                                  httpHeaders:
                                                    items:
                                                      properties:
                                                        name:
                                                          type: string
                                                        value:
                                                          type: string
                                                      required:
                                                        - name
                                                        - value
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  path:
                                                    type: string
                                                  port:
                                                    anyOf:
                                                      - type: integer
                                                      - type: string
                                                    x-kubernetes-int-or-string: true
                                                  scheme:
                                                    type: string
                                                required:
                                                  - port
                                                type: object
                                              initialDelaySeconds:
                                                format: int32
                                                type: integer
                                              periodSeconds:
                                                format: int32
                                                type: integer
                                              successThreshold:
                                                format: int32
                                                type: integer
                                              tcpSocket:
                                                properties:
                                                  host:
                                                    type: string
                                                  port:
                                                    anyOf:
                                                      - type: integer
                                                      - type: string
                                                    x-kubernetes-int-or-string: true
                                                required:
                                                  - port
                                                type: object
                                              terminationGracePeriodSeconds:
                                                format: int64
                                                type: integer
                                              timeoutSeconds:
                                                format: int32
                                                type: integer
                                            type: object
                                          name:
                                            type: string
                                          ports:
                                            items:
                                              properties:
                                                containerPort:
                                                  format: int32
                                                  type: integer
                                                hostIP:
                                                  type: string
                                                hostPort:
                                                  format: int32
                                                  type: integer
                                                name:
                                                  type: string
                                                protocol:
                                                  default: TCP
                                                  type: string
                                              required:
                                                - containerPort
                                              type: object
                                            type: array
                                            x-kubernetes-list-map-keys:
                                              - containerPort
                                              - protocol
                                            x-kubernetes-list-type: map
                                          readinessProbe:
                                            properties:
                                              exec:
                                                properties:
                                                  command:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                              failureThreshold:
                                                format: int32
                                                type: integer
                                              grpc:
                                                properties:
                                                  port:
                                                    format: int32
                                                    type: integer
                                                  service:
                                                    default: ""
                                                    type: string
                                                required:
                                                  - port
                                                type: object
                                              httpGet:
                                                properties:
                                                  host:
                                                    type: string
                                                  httpHeaders:
                                                    items:
                                                      properties:
                                                        name:
                                                          type: string
                                                        value:
                                                          type: string
                                                      required:
                                                        - name
                                                        - value
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  path:
                                                    type: string
                                                  port:
                                                    anyOf:
                                                      - type: integer
                                                      - type: string
                                                    x-kubernetes-int-or-string: true
                                                  scheme:
                                                    type: string
                                                required:
                                                  - port
                                                type: object
                                              initialDelaySeconds:
                                                format: int32
                                                type: integer
                                              periodSeconds:
                                                format: int32
                                                type: integer
                                              successThreshold:
                                                format: int32
                                                type: integer
                                              tcpSocket:
                                                properties:
                                                  host:
                                                    type: string
                                                  port:
                                                    anyOf:
                                                      - type: integer
                                                      - type: string
                                                    x-kubernetes-int-or-string: true
                                                required:
                                                  - port
                                                type: object
                                              terminationGracePeriodSeconds:
                                                format: int64
                                                type: integer
                                              timeoutSeconds:
                                                format: int32
                                                type: integer
                                            type: object
                                          resizePolicy:
                                            items:
                                              properties:
                                                resourceName:
                                                  type: string
                                                restartPolicy:
                                                  type: string
                                              required:
                                                - resourceName
                                                - restartPolicy
                                              type: object
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          resources:
                                            properties:
                                              claims:
                                                items:
                                                  properties:
                                                    name:
                                                      type: string
                                                    request:
                                                      type: string
                                                  required:
                                                    - name
                                                  type: object
                                                type: array
                                                x-kubernetes-list-map-keys:
                                                  - name
                                                x-kubernetes-list-type: map
                                              limits:
                                                additionalProperties:
                                                  anyOf:
                                                    - type: integer
                                                    - type: string
                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                  x-kubernetes-int-or-string: true
                                                type: object
                                              requests:
                                                additionalProperties:
                                                  anyOf:
                                                    - type: integer
                                                    - type: string
                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                  x-kubernetes-int-or-string: true
                                                type: object
                                            type: object
                                          restartPolicy:
                                            type: string
                                          securityContext:
                                            properties:
                                              allowPrivilegeEscalation:
                                                type: boolean
                                              appArmorProfile:
                                                properties:
                                                  localhostProfile:
                                                    type: string
                                                  type:
                                                    type: string
                                                required:
                                                  - type
                                                type: object
                                              capabilities:
                                                properties:
                                                  add:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  drop:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                              privileged:
                                                type: boolean
                                              procMount:
                                                type: string
                                              readOnlyRootFilesystem:
                                                type: boolean
                                              runAsGroup:
                                                format: int64
                                                type: integer
                                              runAsNonRoot:
                                                type: boolean
                                              runAsUser:
                                                format: int64
                                                type: integer
                                              seLinuxOptions:
                                                properties:
                                                  level:
                                                    type: string
                                                  role:
                                                    type: string
                                                  type:
                                                    type: string
                                                  user:
                                                    type: string
                                                type: object
                                              seccompProfile:
                                                properties:
                                                  localhostProfile:
                                                    type: string
                                                  type:
                                                    type: string
                                                required:
                                                  - type
                                                type: object
                                              windowsOptions:
                                                properties:
                                                  gmsaCredentialSpec:
                                                    type: string
                                                  gmsaCredentialSpecName:
                                                    type: string
                                                  hostProcess:
                                                    type: boolean
                                                  runAsUserName:
                                                    type: string
                                                type: object
                                            type: object
                                          startupProbe:
                                            properties:
                                              exec:
                                                properties:
                                                  command:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                              failureThreshold:
                                                format: int32
                                                type: integer
                                              grpc:
                                                properties:
                                                  port:
                                                    format: int32
                                                    type: integer
                                                  service:
                                                    default: ""
                                                    type: string
                                                required:
                                                  - port
                                                type: object
                                              httpGet:
                                                properties:
                                                  host:
                                                    type: string
                                                  httpHeaders:
                                                    items:
                                                      properties:
                                                        name:
                                                          type: string
                                                        value:
                                                          type: string
                                                      required:
                                                        - name
                                                        - value
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  path:
                                                    type: string
                                                  port:
                                                    anyOf:
                                                      - type: integer
                                                      - type: string
                                                    x-kubernetes-int-or-string: true
                                                  scheme:
                                                    type: string
                                                required:
                                                  - port
                                                type: object
                                              initialDelaySeconds:
                                                format: int32
                                                type: integer
                                              periodSeconds:
                                                format: int32
                                                type: integer
                                              successThreshold:
                                                format: int32
                                                type: integer
                                              tcpSocket:
                                                properties:
                                                  host:
                                                    type: string
                                                  port:
                                                    anyOf:
                                                      - type: integer
                                                      - type: string
                                                    x-kubernetes-int-or-string: true
                                                required:
                                                  - port
                                                type: object
                                              terminationGracePeriodSeconds:
                                                format: int64
                                                type: integer
                                              timeoutSeconds:
                                                format: int32
                                                type: integer
                                            type: object
                                          stdin:
                                            type: boolean
                                          stdinOnce:
                                            type: boolean
                                          terminationMessagePath:
                                            type: string
                                          terminationMessagePolicy:
                                            type: string
                                          tty:
                                            type: boolean
                                          volumeDevices:
                                            items:
                                              properties:
                                                devicePath:
                                                  type: string
                                                name:
                                                  type: string
                                              required:
                                                - devicePath
                                                - name
                                              type: object
                                            type: array
                                            x-kubernetes-list-map-keys:
                                              - devicePath
                                            x-kubernetes-list-type: map
                                          volumeMounts:
                                            items:
                                              properties:
                                                mountPath:
                                                  type: string
                                                mountPropagation:
                                                  type: string
                                                name:
                                                  type: string
                                                readOnly:
                                                  type: boolean
                                                recursiveReadOnly:
                                                  type: string
                                                subPath:
                                                  type: string
                                                subPathExpr:
                                                  type: string
                                              required:
                                                - mountPath
                                                - name
                                              type: object
                                            type: array
                                            x-kubernetes-list-map-keys:
                                              - mountPath
                                            x-kubernetes-list-type: map
                                          workingDir:
                                            type: string
                                        required:
                                          - name
                                        type: object
                                      type: array
                                      x-kubernetes-list-map-keys:
                                        - name
                                      x-kubernetes-list-type: map
                                    dnsConfig:
                                      properties:
                                        nameservers:
                                          items:
                                            type: string
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        options:
                                          items:
                                            properties:
                                              name:
                                                type: string
                                              value:
                                                type: string
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        searches:
                                          items:
                                            type: string
                                          type: array
                                          x-kubernetes-list-type: atomic
                                      type: object
                                    dnsPolicy:
                                      type: string
                                    enableServiceLinks:
                                      type: boolean
                                    ephemeralContainers:
                                      items:
                                        properties:
                                          args:
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          command:
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          env:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                                valueFrom:
                                                  properties:
                                                    configMapKeyRef:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          default: ""
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                        - key
                                                      type: object
                                                      x-kubernetes-map-type: atomic
                                                    fieldRef:
                                                      properties:
                                                        apiVersion:
                                                          type: string
                                                        fieldPath:
                                                          type: string
                                                      required:
                                                        - fieldPath
                                                      type: object
                                                      x-kubernetes-map-type: atomic
                                                    resourceFieldRef:
                                                      properties:
                                                        containerName:
                                                          type: string
                                                        divisor:
                                                          anyOf:
                                                            - type: integer
                                                            - type: string
                                                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                          x-kubernetes-int-or-string: true
                                                        resource:
                                                          type: string
                                                      required:
                                                        - resource
                                                      type: object
                                                      x-kubernetes-map-type: atomic
                                                    secretKeyRef:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          default: ""
                                                          type: string
                                                        optional:
                                                          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:
                                            items:
                                              properties:
                                                configMapRef:
                                                  properties:
                                                    name:
                                                      default: ""
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  type: object
                                                  x-kubernetes-map-type: atomic
                                                prefix:
                                                  type: string
                                                secretRef:
                                                  properties:
                                                    name:
                                                      default: ""
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  type: object
                                                  x-kubernetes-map-type: atomic
                                              type: object
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          image:
                                            type: string
                                          imagePullPolicy:
                                            type: string
                                          lifecycle:
                                            properties:
                                              postStart:
                                                properties:
                                                  exec:
                                                    properties:
                                                      command:
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                    type: object
                                                  httpGet:
                                                    properties:
                                                      host:
                                                        type: string
                                                      httpHeaders:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          required:
                                                            - name
                                                            - value
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      path:
                                                        type: string
                                                      port:
                                                        anyOf:
                                                          - type: integer
                                                          - type: string
                                                        x-kubernetes-int-or-string: true
                                                      scheme:
                                                        type: string
                                                    required:
                                                      - port
                                                    type: object
                                                  sleep:
                                                    properties:
                                                      seconds:
                                                        format: int64
                                                        type: integer
                                                    required:
                                                      - seconds
                                                    type: object
                                                  tcpSocket:
                                                    properties:
                                                      host:
                                                        type: string
                                                      port:
                                                        anyOf:
                                                          - type: integer
                                                          - type: string
                                                        x-kubernetes-int-or-string: true
                                                    required:
                                                      - port
                                                    type: object
                                                type: object
                                              preStop:
                                                properties:
                                                  exec:
                                                    properties:
                                                      command:
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                    type: object
                                                  httpGet:
                                                    properties:
                                                      host:
                                                        type: string
                                                      httpHeaders:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          required:
                                                            - name
                                                            - value
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      path:
                                                        type: string
                                                      port:
                                                        anyOf:
                                                          - type: integer
                                                          - type: string
                                                        x-kubernetes-int-or-string: true
                                                      scheme:
                                                        type: string
                                                    required:
                                                      - port
                                                    type: object
                                                  sleep:
                                                    properties:
                                                      seconds:
                                                        format: int64
                                                        type: integer
                                                    required:
                                                      - seconds
                                                    type: object
                                                  tcpSocket:
                                                    properties:
                                                      host:
                                                        type: string
                                                      port:
                                                        anyOf:
                                                          - type: integer
                                                          - type: string
                                                        x-kubernetes-int-or-string: true
                                                    required:
                                                      - port
                                                    type: object
                                                type: object
                                              stopSignal:
                                                type: string
                                            type: object
                                          livenessProbe:
                                            properties:
                                              exec:
                                                properties:
                                                  command:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                              failureThreshold:
                                                format: int32
                                                type: integer
                                              grpc:
                                                properties:
                                                  port:
                                                    format: int32
                                                    type: integer
                                                  service:
                                                    default: ""
                                                    type: string
                                                required:
                                                  - port
                                                type: object
                                              httpGet:
                                                properties:
                                                  host:
                                                    type: string
                                                  httpHeaders:
                                                    items:
                                                      properties:
                                                        name:
                                                          type: string
                                                        value:
                                                          type: string
                                                      required:
                                                        - name
                                                        - value
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  path:
                                                    type: string
                                                  port:
                                                    anyOf:
                                                      - type: integer
                                                      - type: string
                                                    x-kubernetes-int-or-string: true
                                                  scheme:
                                                    type: string
                                                required:
                                                  - port
                                                type: object
                                              initialDelaySeconds:
                                                format: int32
                                                type: integer
                                              periodSeconds:
                                                format: int32
                                                type: integer
                                              successThreshold:
                                                format: int32
                                                type: integer
                                              tcpSocket:
                                                properties:
                                                  host:
                                                    type: string
                                                  port:
                                                    anyOf:
                                                      - type: integer
                                                      - type: string
                                                    x-kubernetes-int-or-string: true
                                                required:
                                                  - port
                                                type: object
                                              terminationGracePeriodSeconds:
                                                format: int64
                                                type: integer
                                              timeoutSeconds:
                                                format: int32
                                                type: integer
                                            type: object
                                          name:
                                            type: string
                                          ports:
                                            items:
                                              properties:
                                                containerPort:
                                                  format: int32
                                                  type: integer
                                                hostIP:
                                                  type: string
                                                hostPort:
                                                  format: int32
                                                  type: integer
                                                name:
                                                  type: string
                                                protocol:
                                                  default: TCP
                                                  type: string
                                              required:
                                                - containerPort
                                              type: object
                                            type: array
                                            x-kubernetes-list-map-keys:
                                              - containerPort
                                              - protocol
                                            x-kubernetes-list-type: map
                                          readinessProbe:
                                            properties:
                                              exec:
                                                properties:
                                                  command:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                              failureThreshold:
                                                format: int32
                                                type: integer
                                              grpc:
                                                properties:
                                                  port:
                                                    format: int32
                                                    type: integer
                                                  service:
                                                    default: ""
                                                    type: string
                                                required:
                                                  - port
                                                type: object
                                              httpGet:
                                                properties:
                                                  host:
                                                    type: string
                                                  httpHeaders:
                                                    items:
                                                      properties:
                                                        name:
                                                          type: string
                                                        value:
                                                          type: string
                                                      required:
                                                        - name
                                                        - value
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  path:
                                                    type: string
                                                  port:
                                                    anyOf:
                                                      - type: integer
                                                      - type: string
                                                    x-kubernetes-int-or-string: true
                                                  scheme:
                                                    type: string
                                                required:
                                                  - port
                                                type: object
                                              initialDelaySeconds:
                                                format: int32
                                                type: integer
                                              periodSeconds:
                                                format: int32
                                                type: integer
                                              successThreshold:
                                                format: int32
                                                type: integer
                                              tcpSocket:
                                                properties:
                                                  host:
                                                    type: string
                                                  port:
                                                    anyOf:
                                                      - type: integer
                                                      - type: string
                                                    x-kubernetes-int-or-string: true
                                                required:
                                                  - port
                                                type: object
                                              terminationGracePeriodSeconds:
                                                format: int64
                                                type: integer
                                              timeoutSeconds:
                                                format: int32
                                                type: integer
                                            type: object
                                          resizePolicy:
                                            items:
                                              properties:
                                                resourceName:
                                                  type: string
                                                restartPolicy:
                                                  type: string
                                              required:
                                                - resourceName
                                                - restartPolicy
                                              type: object
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          resources:
                                            properties:
                                              claims:
                                                items:
                                                  properties:
                                                    name:
                                                      type: string
                                                    request:
                                                      type: string
                                                  required:
                                                    - name
                                                  type: object
                                                type: array
                                                x-kubernetes-list-map-keys:
                                                  - name
                                                x-kubernetes-list-type: map
                                              limits:
                                                additionalProperties:
                                                  anyOf:
                                                    - type: integer
                                                    - type: string
                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                  x-kubernetes-int-or-string: true
                                                type: object
                                              requests:
                                                additionalProperties:
                                                  anyOf:
                                                    - type: integer
                                                    - type: string
                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                  x-kubernetes-int-or-string: true
                                                type: object
                                            type: object
                                          restartPolicy:
                                            type: string
                                          securityContext:
                                            properties:
                                              allowPrivilegeEscalation:
                                                type: boolean
                                              appArmorProfile:
                                                properties:
                                                  localhostProfile:
                                                    type: string
                                                  type:
                                                    type: string
                                                required:
                                                  - type
                                                type: object
                                              capabilities:
                                                properties:
                                                  add:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  drop:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                              privileged:
                                                type: boolean
                                              procMount:
                                                type: string
                                              readOnlyRootFilesystem:
                                                type: boolean
                                              runAsGroup:
                                                format: int64
                                                type: integer
                                              runAsNonRoot:
                                                type: boolean
                                              runAsUser:
                                                format: int64
                                                type: integer
                                              seLinuxOptions:
                                                properties:
                                                  level:
                                                    type: string
                                                  role:
                                                    type: string
                                                  type:
                                                    type: string
                                                  user:
                                                    type: string
                                                type: object
                                              seccompProfile:
                                                properties:
                                                  localhostProfile:
                                                    type: string
                                                  type:
                                                    type: string
                                                required:
                                                  - type
                                                type: object
                                              windowsOptions:
                                                properties:
                                                  gmsaCredentialSpec:
                                                    type: string
                                                  gmsaCredentialSpecName:
                                                    type: string
                                                  hostProcess:
                                                    type: boolean
                                                  runAsUserName:
                                                    type: string
                                                type: object
                                            type: object
                                          startupProbe:
                                            properties:
                                              exec:
                                                properties:
                                                  command:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                              failureThreshold:
                                                format: int32
                                                type: integer
                                              grpc:
                                                properties:
                                                  port:
                                                    format: int32
                                                    type: integer
                                                  service:
                                                    default: ""
                                                    type: string
                                                required:
                                                  - port
                                                type: object
                                              httpGet:
                                                properties:
                                                  host:
                                                    type: string
                                                  httpHeaders:
                                                    items:
                                                      properties:
                                                        name:
                                                          type: string
                                                        value:
                                                          type: string
                                                      required:
                                                        - name
                                                        - value
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  path:
                                                    type: string
                                                  port:
                                                    anyOf:
                                                      - type: integer
                                                      - type: string
                                                    x-kubernetes-int-or-string: true
                                                  scheme:
                                                    type: string
                                                required:
                                                  - port
                                                type: object
                                              initialDelaySeconds:
                                                format: int32
                                                type: integer
                                              periodSeconds:
                                                format: int32
                                                type: integer
                                              successThreshold:
                                                format: int32
                                                type: integer
                                              tcpSocket:
                                                properties:
                                                  host:
                                                    type: string
                                                  port:
                                                    anyOf:
                                                      - type: integer
                                                      - type: string
                                                    x-kubernetes-int-or-string: true
                                                required:
                                                  - port
                                                type: object
                                              terminationGracePeriodSeconds:
                                                format: int64
                                                type: integer
                                              timeoutSeconds:
                                                format: int32
                                                type: integer
                                            type: object
                                          stdin:
                                            type: boolean
                                          stdinOnce:
                                            type: boolean
                                          targetContainerName:
                                            type: string
                                          terminationMessagePath:
                                            type: string
                                          terminationMessagePolicy:
                                            type: string
                                          tty:
                                            type: boolean
                                          volumeDevices:
                                            items:
                                              properties:
                                                devicePath:
                                                  type: string
                                                name:
                                                  type: string
                                              required:
                                                - devicePath
                                                - name
                                              type: object
                                            type: array
                                            x-kubernetes-list-map-keys:
                                              - devicePath
                                            x-kubernetes-list-type: map
                                          volumeMounts:
                                            items:
                                              properties:
                                                mountPath:
                                                  type: string
                                                mountPropagation:
                                                  type: string
                                                name:
                                                  type: string
                                                readOnly:
                                                  type: boolean
                                                recursiveReadOnly:
                                                  type: string
                                                subPath:
                                                  type: string
                                                subPathExpr:
                                                  type: string
                                              required:
                                                - mountPath
                                                - name
                                              type: object
                                            type: array
                                            x-kubernetes-list-map-keys:
                                              - mountPath
                                            x-kubernetes-list-type: map
                                          workingDir:
                                            type: string
                                        required:
                                          - name
                                        type: object
                                      type: array
                                      x-kubernetes-list-map-keys:
                                        - name
                                      x-kubernetes-list-type: map
                                    hostAliases:
                                      items:
                                        properties:
                                          hostnames:
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          ip:
                                            type: string
                                        required:
                                          - ip
                                        type: object
                                      type: array
                                      x-kubernetes-list-map-keys:
                                        - ip
                                      x-kubernetes-list-type: map
                                    hostIPC:
                                      type: boolean
                                    hostNetwork:
                                      type: boolean
                                    hostPID:
                                      type: boolean
                                    hostUsers:
                                      type: boolean
                                    hostname:
                                      type: string
                                    imagePullSecrets:
                                      items:
                                        properties:
                                          name:
                                            default: ""
                                            type: string
                                        type: object
                                        x-kubernetes-map-type: atomic
                                      type: array
                                      x-kubernetes-list-map-keys:
                                        - name
                                      x-kubernetes-list-type: map
                                    initContainers:
                                      items:
                                        properties:
                                          args:
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          command:
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          env:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                                valueFrom:
                                                  properties:
                                                    configMapKeyRef:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          default: ""
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                        - key
                                                      type: object
                                                      x-kubernetes-map-type: atomic
                                                    fieldRef:
                                                      properties:
                                                        apiVersion:
                                                          type: string
                                                        fieldPath:
                                                          type: string
                                                      required:
                                                        - fieldPath
                                                      type: object
                                                      x-kubernetes-map-type: atomic
                                                    resourceFieldRef:
                                                      properties:
                                                        containerName:
                                                          type: string
                                                        divisor:
                                                          anyOf:
                                                            - type: integer
                                                            - type: string
                                                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                          x-kubernetes-int-or-string: true
                                                        resource:
                                                          type: string
                                                      required:
                                                        - resource
                                                      type: object
                                                      x-kubernetes-map-type: atomic
                                                    secretKeyRef:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          default: ""
                                                          type: string
                                                        optional:
                                                          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:
                                            items:
                                              properties:
                                                configMapRef:
                                                  properties:
                                                    name:
                                                      default: ""
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  type: object
                                                  x-kubernetes-map-type: atomic
                                                prefix:
                                                  type: string
                                                secretRef:
                                                  properties:
                                                    name:
                                                      default: ""
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  type: object
                                                  x-kubernetes-map-type: atomic
                                              type: object
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          image:
                                            type: string
                                          imagePullPolicy:
                                            type: string
                                          lifecycle:
                                            properties:
                                              postStart:
                                                properties:
                                                  exec:
                                                    properties:
                                                      command:
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                    type: object
                                                  httpGet:
                                                    properties:
                                                      host:
                                                        type: string
                                                      httpHeaders:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          required:
                                                            - name
                                                            - value
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      path:
                                                        type: string
                                                      port:
                                                        anyOf:
                                                          - type: integer
                                                          - type: string
                                                        x-kubernetes-int-or-string: true
                                                      scheme:
                                                        type: string
                                                    required:
                                                      - port
                                                    type: object
                                                  sleep:
                                                    properties:
                                                      seconds:
                                                        format: int64
                                                        type: integer
                                                    required:
                                                      - seconds
                                                    type: object
                                                  tcpSocket:
                                                    properties:
                                                      host:
                                                        type: string
                                                      port:
                                                        anyOf:
                                                          - type: integer
                                                          - type: string
                                                        x-kubernetes-int-or-string: true
                                                    required:
                                                      - port
                                                    type: object
                                                type: object
                                              preStop:
                                                properties:
                                                  exec:
                                                    properties:
                                                      command:
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                    type: object
                                                  httpGet:
                                                    properties:
                                                      host:
                                                        type: string
                                                      httpHeaders:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          required:
                                                            - name
                                                            - value
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      path:
                                                        type: string
                                                      port:
                                                        anyOf:
                                                          - type: integer
                                                          - type: string
                                                        x-kubernetes-int-or-string: true
                                                      scheme:
                                                        type: string
                                                    required:
                                                      - port
                                                    type: object
                                                  sleep:
                                                    properties:
                                                      seconds:
                                                        format: int64
                                                        type: integer
                                                    required:
                                                      - seconds
                                                    type: object
                                                  tcpSocket:
                                                    properties:
                                                      host:
                                                        type: string
                                                      port:
                                                        anyOf:
                                                          - type: integer
                                                          - type: string
                                                        x-kubernetes-int-or-string: true
                                                    required:
                                                      - port
                                                    type: object
                                                type: object
                                              stopSignal:
                                                type: string
                                            type: object
                                          livenessProbe:
                                            properties:
                                              exec:
                                                properties:
                                                  command:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                              failureThreshold:
                                                format: int32
                                                type: integer
                                              grpc:
                                                properties:
                                                  port:
                                                    format: int32
                                                    type: integer
                                                  service:
                                                    default: ""
                                                    type: string
                                                required:
                                                  - port
                                                type: object
                                              httpGet:
                                                properties:
                                                  host:
                                                    type: string
                                                  httpHeaders:
                                                    items:
                                                      properties:
                                                        name:
                                                          type: string
                                                        value:
                                                          type: string
                                                      required:
                                                        - name
                                                        - value
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  path:
                                                    type: string
                                                  port:
                                                    anyOf:
                                                      - type: integer
                                                      - type: string
                                                    x-kubernetes-int-or-string: true
                                                  scheme:
                                                    type: string
                                                required:
                                                  - port
                                                type: object
                                              initialDelaySeconds:
                                                format: int32
                                                type: integer
                                              periodSeconds:
                                                format: int32
                                                type: integer
                                              successThreshold:
                                                format: int32
                                                type: integer
                                              tcpSocket:
                                                properties:
                                                  host:
                                                    type: string
                                                  port:
                                                    anyOf:
                                                      - type: integer
                                                      - type: string
                                                    x-kubernetes-int-or-string: true
                                                required:
                                                  - port
                                                type: object
                                              terminationGracePeriodSeconds:
                                                format: int64
                                                type: integer
                                              timeoutSeconds:
                                                format: int32
                                                type: integer
                                            type: object
                                          name:
                                            type: string
                                          ports:
                                            items:
                                              properties:
                                                containerPort:
                                                  format: int32
                                                  type: integer
                                                hostIP:
                                                  type: string
                                                hostPort:
                                                  format: int32
                                                  type: integer
                                                name:
                                                  type: string
                                                protocol:
                                                  default: TCP
                                                  type: string
                                              required:
                                                - containerPort
                                              type: object
                                            type: array
                                            x-kubernetes-list-map-keys:
                                              - containerPort
                                              - protocol
                                            x-kubernetes-list-type: map
                                          readinessProbe:
                                            properties:
                                              exec:
                                                properties:
                                                  command:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                              failureThreshold:
                                                format: int32
                                                type: integer
                                              grpc:
                                                properties:
                                                  port:
                                                    format: int32
                                                    type: integer
                                                  service:
                                                    default: ""
                                                    type: string
                                                required:
                                                  - port
                                                type: object
                                              httpGet:
                                                properties:
                                                  host:
                                                    type: string
                                                  httpHeaders:
                                                    items:
                                                      properties:
                                                        name:
                                                          type: string
                                                        value:
                                                          type: string
                                                      required:
                                                        - name
                                                        - value
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  path:
                                                    type: string
                                                  port:
                                                    anyOf:
                                                      - type: integer
                                                      - type: string
                                                    x-kubernetes-int-or-string: true
                                                  scheme:
                                                    type: string
                                                required:
                                                  - port
                                                type: object
                                              initialDelaySeconds:
                                                format: int32
                                                type: integer
                                              periodSeconds:
                                                format: int32
                                                type: integer
                                              successThreshold:
                                                format: int32
                                                type: integer
                                              tcpSocket:
                                                properties:
                                                  host:
                                                    type: string
                                                  port:
                                                    anyOf:
                                                      - type: integer
                                                      - type: string
                                                    x-kubernetes-int-or-string: true
                                                required:
                                                  - port
                                                type: object
                                              terminationGracePeriodSeconds:
                                                format: int64
                                                type: integer
                                              timeoutSeconds:
                                                format: int32
                                                type: integer
                                            type: object
                                          resizePolicy:
                                            items:
                                              properties:
                                                resourceName:
                                                  type: string
                                                restartPolicy:
                                                  type: string
                                              required:
                                                - resourceName
                                                - restartPolicy
                                              type: object
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          resources:
                                            properties:
                                              claims:
                                                items:
                                                  properties:
                                                    name:
                                                      type: string
                                                    request:
                                                      type: string
                                                  required:
                                                    - name
                                                  type: object
                                                type: array
                                                x-kubernetes-list-map-keys:
                                                  - name
                                                x-kubernetes-list-type: map
                                              limits:
                                                additionalProperties:
                                                  anyOf:
                                                    - type: integer
                                                    - type: string
                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                  x-kubernetes-int-or-string: true
                                                type: object
                                              requests:
                                                additionalProperties:
                                                  anyOf:
                                                    - type: integer
                                                    - type: string
                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                  x-kubernetes-int-or-string: true
                                                type: object
                                            type: object
                                          restartPolicy:
                                            type: string
                                          securityContext:
                                            properties:
                                              allowPrivilegeEscalation:
                                                type: boolean
                                              appArmorProfile:
                                                properties:
                                                  localhostProfile:
                                                    type: string
                                                  type:
                                                    type: string
                                                required:
                                                  - type
                                                type: object
                                              capabilities:
                                                properties:
                                                  add:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  drop:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                              privileged:
                                                type: boolean
                                              procMount:
                                                type: string
                                              readOnlyRootFilesystem:
                                                type: boolean
                                              runAsGroup:
                                                format: int64
                                                type: integer
                                              runAsNonRoot:
                                                type: boolean
                                              runAsUser:
                                                format: int64
                                                type: integer
                                              seLinuxOptions:
                                                properties:
                                                  level:
                                                    type: string
                                                  role:
                                                    type: string
                                                  type:
                                                    type: string
                                                  user:
                                                    type: string
                                                type: object
                                              seccompProfile:
                                                properties:
                                                  localhostProfile:
                                                    type: string
                                                  type:
                                                    type: string
                                                required:
                                                  - type
                                                type: object
                                              windowsOptions:
                                                properties:
                                                  gmsaCredentialSpec:
                                                    type: string
                                                  gmsaCredentialSpecName:
                                                    type: string
                                                  hostProcess:
                                                    type: boolean
                                                  runAsUserName:
                                                    type: string
                                                type: object
                                            type: object
                                          startupProbe:
                                            properties:
                                              exec:
                                                properties:
                                                  command:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                              failureThreshold:
                                                format: int32
                                                type: integer
                                              grpc:
                                                properties:
                                                  port:
                                                    format: int32
                                                    type: integer
                                                  service:
                                                    default: ""
                                                    type: string
                                                required:
                                                  - port
                                                type: object
                                              httpGet:
                                                properties:
                                                  host:
                                                    type: string
                                                  httpHeaders:
                                                    items:
                                                      properties:
                                                        name:
                                                          type: string
                                                        value:
                                                          type: string
                                                      required:
                                                        - name
                                                        - value
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  path:
                                                    type: string
                                                  port:
                                                    anyOf:
                                                      - type: integer
                                                      - type: string
                                                    x-kubernetes-int-or-string: true
                                                  scheme:
                                                    type: string
                                                required:
                                                  - port
                                                type: object
                                              initialDelaySeconds:
                                                format: int32
                                                type: integer
                                              periodSeconds:
                                                format: int32
                                                type: integer
                                              successThreshold:
                                                format: int32
                                                type: integer
                                              tcpSocket:
                                                properties:
                                                  host:
                                                    type: string
                                                  port:
                                                    anyOf:
                                                      - type: integer
                                                      - type: string
                                                    x-kubernetes-int-or-string: true
                                                required:
                                                  - port
                                                type: object
                                              terminationGracePeriodSeconds:
                                                format: int64
                                                type: integer
                                              timeoutSeconds:
                                                format: int32
                                                type: integer
                                            type: object
                                          stdin:
                                            type: boolean
                                          stdinOnce:
                                            type: boolean
                                          terminationMessagePath:
                                            type: string
                                          terminationMessagePolicy:
                                            type: string
                                          tty:
                                            type: boolean
                                          volumeDevices:
                                            items:
                                              properties:
                                                devicePath:
                                                  type: string
                                                name:
                                                  type: string
                                              required:
                                                - devicePath
                                                - name
                                              type: object
                                            type: array
                                            x-kubernetes-list-map-keys:
                                              - devicePath
                                            x-kubernetes-list-type: map
                                          volumeMounts:
                                            items:
                                              properties:
                                                mountPath:
                                                  type: string
                                                mountPropagation:
                                                  type: string
                                                name:
                                                  type: string
                                                readOnly:
                                                  type: boolean
                                                recursiveReadOnly:
                                                  type: string
                                                subPath:
                                                  type: string
                                                subPathExpr:
                                                  type: string
                                              required:
                                                - mountPath
                                                - name
                                              type: object
                                            type: array
                                            x-kubernetes-list-map-keys:
                                              - mountPath
                                            x-kubernetes-list-type: map
                                          workingDir:
                                            type: string
                                        required:
                                          - name
                                        type: object
                                      type: array
                                      x-kubernetes-list-map-keys:
                                        - name
                                      x-kubernetes-list-type: map
                                    nodeName:
                                      type: string
                                    nodeSelector:
                                      additionalProperties:
                                        type: string
                                      type: object
                                      x-kubernetes-map-type: atomic
                                    os:
                                      properties:
                                        name:
                                          type: string
                                      required:
                                        - name
                                      type: object
                                    overhead:
                                      additionalProperties:
                                        anyOf:
                                          - type: integer
                                          - type: string
                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                        x-kubernetes-int-or-string: true
                                      type: object
                                    preemptionPolicy:
                                      type: string
                                    priority:
                                      format: int32
                                      type: integer
                                    priorityClassName:
                                      type: string
                                    readinessGates:
                                      items:
                                        properties:
                                          conditionType:
                                            type: string
                                        required:
                                          - conditionType
                                        type: object
                                      type: array
                                      x-kubernetes-list-type: atomic
                                    resourceClaims:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          resourceClaimName:
                                            type: string
                                          resourceClaimTemplateName:
                                            type: string
                                        required:
                                          - name
                                        type: object
                                      type: array
                                      x-kubernetes-list-map-keys:
                                        - name
                                      x-kubernetes-list-type: map
                                    resources:
                                      properties:
                                        claims:
                                          items:
                                            properties:
                                              name:
                                                type: string
                                              request:
                                                type: string
                                            required:
                                              - name
                                            type: object
                                          type: array
                                          x-kubernetes-list-map-keys:
                                            - name
                                          x-kubernetes-list-type: map
                                        limits:
                                          additionalProperties:
                                            anyOf:
                                              - type: integer
                                              - type: string
                                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                            x-kubernetes-int-or-string: true
                                          type: object
                                        requests:
                                          additionalProperties:
                                            anyOf:
                                              - type: integer
                                              - type: string
                                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                            x-kubernetes-int-or-string: true
                                          type: object
                                      type: object
                                    restartPolicy:
                                      type: string
                                    runtimeClassName:
                                      type: string
                                    schedulerName:
                                      type: string
                                    schedulingGates:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                        required:
                                          - name
                                        type: object
                                      type: array
                                      x-kubernetes-list-map-keys:
                                        - name
                                      x-kubernetes-list-type: map
                                    securityContext:
                                      properties:
                                        appArmorProfile:
                                          properties:
                                            localhostProfile:
                                              type: string
                                            type:
                                              type: string
                                          required:
                                            - type
                                          type: object
                                        fsGroup:
                                          format: int64
                                          type: integer
                                        fsGroupChangePolicy:
                                          type: string
                                        runAsGroup:
                                          format: int64
                                          type: integer
                                        runAsNonRoot:
                                          type: boolean
                                        runAsUser:
                                          format: int64
                                          type: integer
                                        seLinuxChangePolicy:
                                          type: string
                                        seLinuxOptions:
                                          properties:
                                            level:
                                              type: string
                                            role:
                                              type: string
                                            type:
                                              type: string
                                            user:
                                              type: string
                                          type: object
                                        seccompProfile:
                                          properties:
                                            localhostProfile:
                                              type: string
                                            type:
                                              type: string
                                          required:
                                            - type
                                          type: object
                                        supplementalGroups:
                                          items:
                                            format: int64
                                            type: integer
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        supplementalGroupsPolicy:
                                          type: string
                                        sysctls:
                                          items:
                                            properties:
                                              name:
                                                type: string
                                              value:
                                                type: string
                                            required:
                                              - name
                                              - value
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        windowsOptions:
                                          properties:
                                            gmsaCredentialSpec:
                                              type: string
                                            gmsaCredentialSpecName:
                                              type: string
                                            hostProcess:
                                              type: boolean
                                            runAsUserName:
                                              type: string
                                          type: object
                                      type: object
                                    serviceAccount:
                                      type: string
                                    serviceAccountName:
                                      type: string
                                    setHostnameAsFQDN:
                                      type: boolean
                                    shareProcessNamespace:
                                      type: boolean
                                    subdomain:
                                      type: string
                                    terminationGracePeriodSeconds:
                                      format: int64
                                      type: integer
                                    tolerations:
                                      items:
                                        properties:
                                          effect:
                                            type: string
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          tolerationSeconds:
                                            format: int64
                                            type: integer
                                          value:
                                            type: string
                                        type: object
                                      type: array
                                      x-kubernetes-list-type: atomic
                                    topologySpreadConstraints:
                                      items:
                                        properties:
                                          labelSelector:
                                            properties:
                                              matchExpressions:
                                                items:
                                                  properties:
                                                    key:
                                                      type: string
                                                    operator:
                                                      type: string
                                                    values:
                                                      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
                                                type: object
                                            type: object
                                            x-kubernetes-map-type: atomic
                                          matchLabelKeys:
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          maxSkew:
                                            format: int32
                                            type: integer
                                          minDomains:
                                            format: int32
                                            type: integer
                                          nodeAffinityPolicy:
                                            type: string
                                          nodeTaintsPolicy:
                                            type: string
                                          topologyKey:
                                            type: string
                                          whenUnsatisfiable:
                                            type: string
                                        required:
                                          - maxSkew
                                          - topologyKey
                                          - whenUnsatisfiable
                                        type: object
                                      type: array
                                      x-kubernetes-list-map-keys:
                                        - topologyKey
                                        - whenUnsatisfiable
                                      x-kubernetes-list-type: map
                                    volumes:
                                      items:
                                        properties:
                                          awsElasticBlockStore:
                                            properties:
                                              fsType:
                                                type: string
                                              partition:
                                                format: int32
                                                type: integer
                                              readOnly:
                                                type: boolean
                                              volumeID:
                                                type: string
                                            required:
                                              - volumeID
                                            type: object
                                          azureDisk:
                                            properties:
                                              cachingMode:
                                                type: string
                                              diskName:
                                                type: string
                                              diskURI:
                                                type: string
                                              fsType:
                                                default: ext4
                                                type: string
                                              kind:
                                                type: string
                                              readOnly:
                                                default: false
                                                type: boolean
                                            required:
                                              - diskName
                                              - diskURI
                                            type: object
                                          azureFile:
                                            properties:
                                              readOnly:
                                                type: boolean
                                              secretName:
                                                type: string
                                              shareName:
                                                type: string
                                            required:
                                              - secretName
                                              - shareName
                                            type: object
                                          cephfs:
                                            properties:
                                              monitors:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              path:
                                                type: string
                                              readOnly:
                                                type: boolean
                                              secretFile:
                                                type: string
                                              secretRef:
                                                properties:
                                                  name:
                                                    default: ""
                                                    type: string
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              user:
                                                type: string
                                            required:
                                              - monitors
                                            type: object
                                          cinder:
                                            properties:
                                              fsType:
                                                type: string
                                              readOnly:
                                                type: boolean
                                              secretRef:
                                                properties:
                                                  name:
                                                    default: ""
                                                    type: string
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              volumeID:
                                                type: string
                                            required:
                                              - volumeID
                                            type: object
                                          configMap:
                                            properties:
                                              defaultMode:
                                                format: int32
                                                type: integer
                                              items:
                                                items:
                                                  properties:
                                                    key:
                                                      type: string
                                                    mode:
                                                      format: int32
                                                      type: integer
                                                    path:
                                                      type: string
                                                  required:
                                                    - key
                                                    - path
                                                  type: object
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              name:
                                                default: ""
                                                type: string
                                              optional:
                                                type: boolean
                                            type: object
                                            x-kubernetes-map-type: atomic
                                          csi:
                                            properties:
                                              driver:
                                                type: string
                                              fsType:
                                                type: string
                                              nodePublishSecretRef:
                                                properties:
                                                  name:
                                                    default: ""
                                                    type: string
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              readOnly:
                                                type: boolean
                                              volumeAttributes:
                                                additionalProperties:
                                                  type: string
                                                type: object
                                            required:
                                              - driver
                                            type: object
                                          downwardAPI:
                                            properties:
                                              defaultMode:
                                                format: int32
                                                type: integer
                                              items:
                                                items:
                                                  properties:
                                                    fieldRef:
                                                      properties:
                                                        apiVersion:
                                                          type: string
                                                        fieldPath:
                                                          type: string
                                                      required:
                                                        - fieldPath
                                                      type: object
                                                      x-kubernetes-map-type: atomic
                                                    mode:
                                                      format: int32
                                                      type: integer
                                                    path:
                                                      type: string
                                                    resourceFieldRef:
                                                      properties:
                                                        containerName:
                                                          type: string
                                                        divisor:
                                                          anyOf:
                                                            - type: integer
                                                            - type: string
                                                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                          x-kubernetes-int-or-string: true
                                                        resource:
                                                          type: string
                                                      required:
                                                        - resource
                                                      type: object
                                                      x-kubernetes-map-type: atomic
                                                  required:
                                                    - path
                                                  type: object
                                                type: array
                                                x-kubernetes-list-type: atomic
                                            type: object
                                          emptyDir:
                                            properties:
                                              medium:
                                                type: string
                                              sizeLimit:
                                                anyOf:
                                                  - type: integer
                                                  - type: string
                                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                x-kubernetes-int-or-string: true
                                            type: object
                                          ephemeral:
                                            properties:
                                              volumeClaimTemplate:
                                                properties:
                                                  metadata:
                                                    type: object
                                                  spec:
                                                    properties:
                                                      accessModes:
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      dataSource:
                                                        properties:
                                                          apiGroup:
                                                            type: string
                                                          kind:
                                                            type: string
                                                          name:
                                                            type: string
                                                        required:
                                                          - kind
                                                          - name
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      dataSourceRef:
                                                        properties:
                                                          apiGroup:
                                                            type: string
                                                          kind:
                                                            type: string
                                                          name:
                                                            type: string
                                                          namespace:
                                                            type: string
                                                        required:
                                                          - kind
                                                          - name
                                                        type: object
                                                      resources:
                                                        properties:
                                                          limits:
                                                            additionalProperties:
                                                              anyOf:
                                                                - type: integer
                                                                - type: string
                                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                              x-kubernetes-int-or-string: true
                                                            type: object
                                                          requests:
                                                            additionalProperties:
                                                              anyOf:
                                                                - type: integer
                                                                - type: string
                                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                              x-kubernetes-int-or-string: true
                                                            type: object
                                                        type: object
                                                      selector:
                                                        properties:
                                                          matchExpressions:
                                                            items:
                                                              properties:
                                                                key:
                                                                  type: string
                                                                operator:
                                                                  type: string
                                                                values:
                                                                  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
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      storageClassName:
                                                        type: string
                                                      volumeAttributesClassName:
                                                        type: string
                                                      volumeMode:
                                                        type: string
                                                      volumeName:
                                                        type: string
                                                    type: object
                                                required:
                                                  - spec
                                                type: object
                                            type: object
                                          fc:
                                            properties:
                                              fsType:
                                                type: string
                                              lun:
                                                format: int32
                                                type: integer
                                              readOnly:
                                                type: boolean
                                              targetWWNs:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              wwids:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                            type: object
                                          flexVolume:
                                            properties:
                                              driver:
                                                type: string
                                              fsType:
                                                type: string
                                              options:
                                                additionalProperties:
                                                  type: string
                                                type: object
                                              readOnly:
                                                type: boolean
                                              secretRef:
                                                properties:
                                                  name:
                                                    default: ""
                                                    type: string
                                                type: object
                                                x-kubernetes-map-type: atomic
                                            required:
                                              - driver
                                            type: object
                                          flocker:
                                            properties:
                                              datasetName:
                                                type: string
                                              datasetUUID:
                                                type: string
                                            type: object
                                          gcePersistentDisk:
                                            properties:
                                              fsType:
                                                type: string
                                              partition:
                                                format: int32
                                                type: integer
                                              pdName:
                                                type: string
                                              readOnly:
                                                type: boolean
                                            required:
                                              - pdName
                                            type: object
                                          gitRepo:
                                            properties:
                                              directory:
                                                type: string
                                              repository:
                                                type: string
                                              revision:
                                                type: string
                                            required:
                                              - repository
                                            type: object
                                          glusterfs:
                                            properties:
                                              endpoints:
                                                type: string
                                              path:
                                                type: string
                                              readOnly:
                                                type: boolean
                                            required:
                                              - endpoints
                                              - path
                                            type: object
                                          hostPath:
                                            properties:
                                              path:
                                                type: string
                                              type:
                                                type: string
                                            required:
                                              - path
                                            type: object
                                          image:
                                            properties:
                                              pullPolicy:
                                                type: string
                                              reference:
                                                type: string
                                            type: object
                                          iscsi:
                                            properties:
                                              chapAuthDiscovery:
                                                type: boolean
                                              chapAuthSession:
                                                type: boolean
                                              fsType:
                                                type: string
                                              initiatorName:
                                                type: string
                                              iqn:
                                                type: string
                                              iscsiInterface:
                                                default: default
                                                type: string
                                              lun:
                                                format: int32
                                                type: integer
                                              portals:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              readOnly:
                                                type: boolean
                                              secretRef:
                                                properties:
                                                  name:
                                                    default: ""
                                                    type: string
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              targetPortal:
                                                type: string
                                            required:
                                              - iqn
                                              - lun
                                              - targetPortal
                                            type: object
                                          name:
                                            type: string
                                          nfs:
                                            properties:
                                              path:
                                                type: string
                                              readOnly:
                                                type: boolean
                                              server:
                                                type: string
                                            required:
                                              - path
                                              - server
                                            type: object
                                          persistentVolumeClaim:
                                            properties:
                                              claimName:
                                                type: string
                                              readOnly:
                                                type: boolean
                                            required:
                                              - claimName
                                            type: object
                                          photonPersistentDisk:
                                            properties:
                                              fsType:
                                                type: string
                                              pdID:
                                                type: string
                                            required:
                                              - pdID
                                            type: object
                                          portworxVolume:
                                            properties:
                                              fsType:
                                                type: string
                                              readOnly:
                                                type: boolean
                                              volumeID:
                                                type: string
                                            required:
                                              - volumeID
                                            type: object
                                          projected:
                                            properties:
                                              defaultMode:
                                                format: int32
                                                type: integer
                                              sources:
                                                items:
                                                  properties:
                                                    clusterTrustBundle:
                                                      properties:
                                                        labelSelector:
                                                          properties:
                                                            matchExpressions:
                                                              items:
                                                                properties:
                                                                  key:
                                                                    type: string
                                                                  operator:
                                                                    type: string
                                                                  values:
                                                                    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
                                                              type: object
                                                          type: object
                                                          x-kubernetes-map-type: atomic
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                        path:
                                                          type: string
                                                        signerName:
                                                          type: string
                                                      required:
                                                        - path
                                                      type: object
                                                    configMap:
                                                      properties:
                                                        items:
                                                          items:
                                                            properties:
                                                              key:
                                                                type: string
                                                              mode:
                                                                format: int32
                                                                type: integer
                                                              path:
                                                                type: string
                                                            required:
                                                              - key
                                                              - path
                                                            type: object
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                        name:
                                                          default: ""
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      type: object
                                                      x-kubernetes-map-type: atomic
                                                    downwardAPI:
                                                      properties:
                                                        items:
                                                          items:
                                                            properties:
                                                              fieldRef:
                                                                properties:
                                                                  apiVersion:
                                                                    type: string
                                                                  fieldPath:
                                                                    type: string
                                                                required:
                                                                  - fieldPath
                                                                type: object
                                                                x-kubernetes-map-type: atomic
                                                              mode:
                                                                format: int32
                                                                type: integer
                                                              path:
                                                                type: string
                                                              resourceFieldRef:
                                                                properties:
                                                                  containerName:
                                                                    type: string
                                                                  divisor:
                                                                    anyOf:
                                                                      - type: integer
                                                                      - type: string
                                                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                                    x-kubernetes-int-or-string: true
                                                                  resource:
                                                                    type: string
                                                                required:
                                                                  - resource
                                                                type: object
                                                                x-kubernetes-map-type: atomic
                                                            required:
                                                              - path
                                                            type: object
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      type: object
                                                    secret:
                                                      properties:
                                                        items:
                                                          items:
                                                            properties:
                                                              key:
                                                                type: string
                                                              mode:
                                                                format: int32
                                                                type: integer
                                                              path:
                                                                type: string
                                                            required:
                                                              - key
                                                              - path
                                                            type: object
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                        name:
                                                          default: ""
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      type: object
                                                      x-kubernetes-map-type: atomic
                                                    serviceAccountToken:
                                                      properties:
                                                        audience:
                                                          type: string
                                                        expirationSeconds:
                                                          format: int64
                                                          type: integer
                                                        path:
                                                          type: string
                                                      required:
                                                        - path
                                                      type: object
                                                  type: object
                                                type: array
                                                x-kubernetes-list-type: atomic
                                            type: object
                                          quobyte:
                                            properties:
                                              group:
                                                type: string
                                              readOnly:
                                                type: boolean
                                              registry:
                                                type: string
                                              tenant:
                                                type: string
                                              user:
                                                type: string
                                              volume:
                                                type: string
                                            required:
                                              - registry
                                              - volume
                                            type: object
                                          rbd:
                                            properties:
                                              fsType:
                                                type: string
                                              image:
                                                type: string
                                              keyring:
                                                default: /etc/ceph/keyring
                                                type: string
                                              monitors:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              pool:
                                                default: rbd
                                                type: string
                                              readOnly:
                                                type: boolean
                                              secretRef:
                                                properties:
                                                  name:
                                                    default: ""
                                                    type: string
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              user:
                                                default: admin
                                                type: string
                                            required:
                                              - image
                                              - monitors
                                            type: object
                                          scaleIO:
                                            properties:
                                              fsType:
                                                default: xfs
                                                type: string
                                              gateway:
                                                type: string
                                              protectionDomain:
                                                type: string
                                              readOnly:
                                                type: boolean
                                              secretRef:
                                                properties:
                                                  name:
                                                    default: ""
                                                    type: string
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              sslEnabled:
                                                type: boolean
                                              storageMode:
                                                default: ThinProvisioned
                                                type: string
                                              storagePool:
                                                type: string
                                              system:
                                                type: string
                                              volumeName:
                                                type: string
                                            required:
                                              - gateway
                                              - secretRef
                                              - system
                                            type: object
                                          secret:
                                            properties:
                                              defaultMode:
                                                format: int32
                                                type: integer
                                              items:
                                                items:
                                                  properties:
                                                    key:
                                                      type: string
                                                    mode:
                                                      format: int32
                                                      type: integer
                                                    path:
                                                      type: string
                                                  required:
                                                    - key
                                                    - path
                                                  type: object
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              optional:
                                                type: boolean
                                              secretName:
                                                type: string
                                            type: object
                                          storageos:
                                            properties:
                                              fsType:
                                                type: string
                                              readOnly:
                                                type: boolean
                                              secretRef:
                                                properties:
                                                  name:
                                                    default: ""
                                                    type: string
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              volumeName:
                                                type: string
                                              volumeNamespace:
                                                type: string
                                            type: object
                                          vsphereVolume:
                                            properties:
                                              fsType:
                                                type: string
                                              storagePolicyID:
                                                type: string
                                              storagePolicyName:
                                                type: string
                                              volumePath:
                                                type: string
                                            required:
                                              - volumePath
                                            type: object
                                        required:
                                          - name
                                        type: object
                                      type: array
                                      x-kubernetes-list-map-keys:
                                        - name
                                      x-kubernetes-list-type: map
                                  required:
                                    - containers
                                  type: object
                              type: object
                            updateStrategy:
                              properties:
                                rollingUpdate:
                                  properties:
                                    maxUnavailable:
                                      anyOf:
                                        - type: integer
                                        - type: string
                                      x-kubernetes-int-or-string: true
                                    partition:
                                      format: int32
                                      type: integer
                                  type: object
                                type:
                                  type: string
                              type: object
                            volumeClaimTemplates:
                              items:
                                properties:
                                  apiVersion:
                                    type: string
                                  kind:
                                    type: string
                                  metadata:
                                    properties:
                                      annotations:
                                        additionalProperties:
                                          type: string
                                        type: object
                                      labels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                      name:
                                        type: string
                                      namespace:
                                        type: string
                                    type: object
                                  spec:
                                    properties:
                                      accessModes:
                                        items:
                                          type: string
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      dataSource:
                                        properties:
                                          apiGroup:
                                            type: string
                                          kind:
                                            type: string
                                          name:
                                            type: string
                                        required:
                                          - kind
                                          - name
                                        type: object
                                        x-kubernetes-map-type: atomic
                                      dataSourceRef:
                                        properties:
                                          apiGroup:
                                            type: string
                                          kind:
                                            type: string
                                          name:
                                            type: string
                                          namespace:
                                            type: string
                                        required:
                                          - kind
                                          - name
                                        type: object
                                      resources:
                                        properties:
                                          limits:
                                            additionalProperties:
                                              anyOf:
                                                - type: integer
                                                - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            type: object
                                          requests:
                                            additionalProperties:
                                              anyOf:
                                                - type: integer
                                                - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            type: object
                                        type: object
                                      selector:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  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
                                            type: object
                                        type: object
                                        x-kubernetes-map-type: atomic
                                      storageClassName:
                                        type: string
                                      volumeAttributesClassName:
                                        type: string
                                      volumeMode:
                                        type: string
                                      volumeName:
                                        type: string
                                    type: object
                                type: object
                              type: array
                          type: object
                      type: object
                  type: object
                persistence:
                  default:
                    storage: 10Gi
                  description: The desired persistent storage configuration for each Pod in the cluster.
                  properties:
                    storage:
                      anyOf:
                        - type: integer
                        - type: string
                      default: 10Gi
                      description: |-
                        The requested size of the persistent volume attached to each Pod in the RabbitmqCluster.
                        The format of this field matches that defined by kubernetes/apimachinery.
                        See https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Quantity for more info on the format of this field.
                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                      x-kubernetes-int-or-string: true
                    storageClassName:
                      description: The name of the StorageClass to claim a PersistentVolume from.
                      type: string
                  type: object
                rabbitmq:
                  description: Configuration options for RabbitMQ Pods created in the cluster.
                  properties:
                    additionalConfig:
                      description: |-
                        Modify to add to the rabbitmq.conf file in addition to default configurations set by the operator.
                        Modifying this property on an existing RabbitmqCluster will trigger a StatefulSet rolling restart and will cause rabbitmq downtime.
                        For more information on this config, see https://www.rabbitmq.com/configure.html#config-file
                      maxLength: 100000
                      type: string
                    additionalPlugins:
                      description: 'List of plugins to enable in addition to essential plugins: rabbitmq_management, rabbitmq_prometheus, and rabbitmq_peer_discovery_k8s.'
                      items:
                        description: A Plugin to enable on the RabbitmqCluster.
                        maxLength: 100
                        pattern: ^\w+$
                        type: string
                      maxItems: 100
                      type: array
                    advancedConfig:
                      description: |-
                        Specify any rabbitmq advanced.config configurations to apply to the cluster.
                        For more information on advanced config, see https://www.rabbitmq.com/configure.html#advanced-config-file
                      maxLength: 100000
                      type: string
                    envConfig:
                      description: |-
                        Modify to add to the rabbitmq-env.conf file. Modifying this property on an existing RabbitmqCluster will trigger a StatefulSet rolling restart and will cause rabbitmq downtime.
                        For more information on env config, see https://www.rabbitmq.com/man/rabbitmq-env.conf.5.html
                      maxLength: 100000
                      type: string
                    erlangInetConfig:
                      description: |-
                        Erlang Inet configuration to apply to the Erlang VM running rabbit.
                        See also: https://www.erlang.org/doc/apps/erts/inet_cfg.html
                      maxLength: 2000
                      type: string
                  type: object
                replicas:
                  default: 1
                  description: |-
                    Replicas is the number of nodes in the RabbitMQ cluster. Each node is deployed as a Replica in a StatefulSet. Only 1, 3, 5 replicas clusters are tested.
                    This value should be an odd number to ensure the resultant cluster can establish exactly one quorum of nodes
                    in the event of a fragmenting network partition.
                  format: int32
                  minimum: 0
                  type: integer
                resources:
                  default:
                    limits:
                      cpu: 2000m
                      memory: 2Gi
                    requests:
                      cpu: 1000m
                      memory: 2Gi
                  description: The desired compute resource requirements of Pods in the cluster.
                  properties:
                    claims:
                      description: |-
                        Claims lists the names of resources, defined in spec.resourceClaims,
                        that are used by this container.

                        This is an alpha field and requires enabling the
                        DynamicResourceAllocation feature gate.

                        This field is immutable. It can only be set for containers.
                      items:
                        description: ResourceClaim references one entry in PodSpec.ResourceClaims.
                        properties:
                          name:
                            description: |-
                              Name must match the name of one entry in pod.spec.resourceClaims of
                              the Pod where this field is used. It makes that resource available
                              inside a container.
                            type: string
                          request:
                            description: |-
                              Request is the name chosen for a request in the referenced claim.
                              If empty, everything from the claim is made available, otherwise
                              only the result of this request.
                            type: string
                        required:
                          - name
                        type: object
                      type: array
                      x-kubernetes-list-map-keys:
                        - name
                      x-kubernetes-list-type: map
                    limits:
                      additionalProperties:
                        anyOf:
                          - type: integer
                          - type: string
                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                        x-kubernetes-int-or-string: true
                      description: |-
                        Limits describes the maximum amount of compute resources allowed.
                        More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                      type: object
                    requests:
                      additionalProperties:
                        anyOf:
                          - type: integer
                          - type: string
                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                        x-kubernetes-int-or-string: true
                      description: |-
                        Requests describes the minimum amount of compute resources required.
                        If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                        otherwise to an implementation-defined value. Requests cannot exceed Limits.
                        More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                      type: object
                  type: object
                secretBackend:
                  description: |-
                    Secret backend configuration for the RabbitmqCluster.
                    Enables to fetch default user credentials and certificates from K8s external secret stores.
                  properties:
                    externalSecret:
                      description: |-
                        LocalObjectReference contains enough information to let you locate the
                        referenced object inside the same namespace.
                      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
                      type: object
                      x-kubernetes-map-type: atomic
                    vault:
                      description: |-
                        VaultSpec will add Vault annotations (see https://www.vaultproject.io/docs/platform/k8s/injector/annotations)
                        to RabbitMQ Pods. It requires a Vault Agent Sidecar Injector (https://www.vaultproject.io/docs/platform/k8s/injector)
                        to be installed in the K8s cluster. The injector is a K8s Mutation Webhook Controller that alters RabbitMQ Pod specifications
                        (based on the added Vault annotations) to include Vault Agent containers that render Vault secrets to the volume.
                      properties:
                        annotations:
                          additionalProperties:
                            type: string
                          description: |-
                            Vault annotations that override the Vault annotations set by the cluster-operator.
                            For a list of valid Vault annotations, see https://www.vaultproject.io/docs/platform/k8s/injector/annotations
                          type: object
                        defaultUserPath:
                          description: |-
                            Path in Vault to access a KV (Key-Value) secret with the fields username and password for the default user.
                            For example "secret/data/rabbitmq/config".
                          type: string
                        defaultUserUpdaterImage:
                          description: |-
                            Sidecar container that updates the default user's password in RabbitMQ when it changes in Vault.
                            Additionally, it updates /var/lib/rabbitmq/.rabbitmqadmin.conf (used by rabbitmqadmin CLI).
                            Set to empty string to disable the sidecar container.
                          type: string
                        role:
                          description: |-
                            Role in Vault.
                            If vault.defaultUserPath is set, this role must have capability to read the pre-created default user credential in Vault.
                            If vault.tls is set, this role must have capability to create and update certificates in the Vault PKI engine for the domains
                            "<namespace>" and "<namespace>.svc".
                          type: string
                        tls:
                          properties:
                            altNames:
                              description: |-
                                Specifies the requested Subject Alternative Names (SANs), in a comma-delimited list.
                                These will be appended to the SANs added by the cluster-operator.
                                The cluster-operator will add SANs:
                                "<RabbitmqCluster name>-server-<index>.<RabbitmqCluster name>-nodes.<namespace>" for each pod,
                                e.g. "myrabbit-server-0.myrabbit-nodes.default".
                              type: string
                            commonName:
                              description: |-
                                Specifies the requested certificate Common Name (CN).
                                Defaults to <serviceName>.<namespace>.svc if not provided.
                              type: string
                            ipSans:
                              description: Specifies the requested IP Subject Alternative Names, in a comma-delimited list.
                              type: string
                            pkiIssuerPath:
                              description: |-
                                Path in Vault PKI engine.
                                For example "pki/issue/hashicorp-com".
                                required
                              type: string
                            pkiRootPath:
                              description: Specifies an optional path to retrieve the root CA from vault.  Useful if certificates are issued by an intermediate CA
                              type: string
                          type: object
                      type: object
                  type: object
                service:
                  default:
                    type: ClusterIP
                  description: The desired state of the Kubernetes Service to create for the cluster.
                  properties:
                    annotations:
                      additionalProperties:
                        type: string
                      description: Annotations to add to the Service.
                      type: object
                    ipFamilyPolicy:
                      description: |-
                        IPFamilyPolicy represents the dual-stack-ness requested or required by a Service
                        See also: https://pkg.go.dev/k8s.io/api/core/v1#IPFamilyPolicy
                      enum:
                        - SingleStack
                        - PreferDualStack
                        - RequireDualStack
                      type: string
                    labels:
                      additionalProperties:
                        type: string
                      type: object
                    type:
                      default: ClusterIP
                      description: |-
                        Type of Service to create for the cluster. Must be one of: ClusterIP, LoadBalancer, NodePort.
                        For more info see https://pkg.go.dev/k8s.io/api/core/v1#ServiceType
                      enum:
                        - ClusterIP
                        - LoadBalancer
                        - NodePort
                      type: string
                  type: object
                skipPostDeploySteps:
                  description: |-
                    If unset, or set to false, the cluster will run `rabbitmq-queues rebalance all` whenever the cluster is updated.
                    Set to true to prevent the operator rebalancing queue leaders after a cluster update.
                    Has no effect if the cluster only consists of one node.
                    For more information, see https://www.rabbitmq.com/rabbitmq-queues.8.html#rebalance
                  type: boolean
                terminationGracePeriodSeconds:
                  default: 604800
                  description: |-
                    TerminationGracePeriodSeconds is the timeout that each rabbitmqcluster pod will have to terminate gracefully.
                    It defaults to 604800 seconds ( a week long) to ensure that the container preStop lifecycle hook can finish running.
                    For more information, see: https://github.com/rabbitmq/cluster-operator/blob/main/docs/design/20200520-graceful-pod-termination.md
                  format: int64
                  minimum: 0
                  type: integer
                tls:
                  description: TLS-related configuration for the RabbitMQ cluster.
                  properties:
                    caSecretName:
                      description: |-
                        Name of a Secret in the same Namespace as the RabbitmqCluster, containing the Certificate Authority's public certificate for TLS.
                        The Secret must store this as ca.crt.
                        This Secret can be created by running `kubectl create secret generic ca-secret --from-file=ca.crt=path/to/ca.crt`
                        Used for mTLS, and TLS for rabbitmq_web_stomp and rabbitmq_web_mqtt.
                      type: string
                    disableNonTLSListeners:
                      description: |-
                        When set to true, the RabbitmqCluster disables non-TLS listeners for RabbitMQ, management plugin and for any enabled plugins in the following list: stomp, mqtt, web_stomp, web_mqtt.
                        Only TLS-enabled clients will be able to connect.
                      type: boolean
                    secretName:
                      description: |-
                        Name of a Secret in the same Namespace as the RabbitmqCluster, containing the server's private key & public certificate for TLS.
                        The Secret must store these as tls.key and tls.crt, respectively.
                        This Secret can be created by running `kubectl create secret tls tls-secret --cert=path/to/tls.crt --key=path/to/tls.key`
                      type: string
                  type: object
                tolerations:
                  description: Tolerations is the list of Toleration resources attached to each Pod in the RabbitmqCluster.
                  items:
                    description: |-
                      The pod this Toleration is attached to tolerates any taint that matches
                      the triple <key,value,effect> using the matching operator <operator>.
                    properties:
                      effect:
                        description: |-
                          Effect indicates the taint effect to match. Empty means match all taint effects.
                          When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
                        type: string
                      key:
                        description: |-
                          Key is the taint key that the toleration applies to. Empty means match all taint keys.
                          If the key is empty, operator must be Exists; this combination means to match all values and all keys.
                        type: string
                      operator:
                        description: |-
                          Operator represents a key's relationship to the value.
                          Valid operators are Exists and Equal. Defaults to Equal.
                          Exists is equivalent to wildcard for value, so that a pod can
                          tolerate all taints of a particular category.
                        type: string
                      tolerationSeconds:
                        description: |-
                          TolerationSeconds represents the period of time the toleration (which must be
                          of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
                          it is not set, which means tolerate the taint forever (do not evict). Zero and
                          negative values will be treated as 0 (evict immediately) by the system.
                        format: int64
                        type: integer
                      value:
                        description: |-
                          Value is the taint value the toleration matches to.
                          If the operator is Exists, the value should be empty, otherwise just a regular string.
                        type: string
                    type: object
                  type: array
              type: object
            status:
              description: Status presents the observed state of RabbitmqCluster
              properties:
                binding:
                  description: |-
                    Binding exposes a secret containing the binding information for this
                    RabbitmqCluster. It implements the service binding Provisioned Service
                    duck type. See: https://github.com/servicebinding/spec#provisioned-service
                  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
                  type: object
                  x-kubernetes-map-type: atomic
                conditions:
                  description: Set of Conditions describing the current state of the RabbitmqCluster
                  items:
                    properties:
                      lastTransitionTime:
                        description: The last time this Condition type changed.
                        format: date-time
                        type: string
                      message:
                        description: Full text reason for current status of the condition.
                        type: string
                      reason:
                        description: One word, camel-case reason for current status of the condition.
                        type: string
                      status:
                        description: True, False, or Unknown
                        type: string
                      type:
                        description: Type indicates the scope of RabbitmqCluster status addressed by the condition.
                        type: string
                    required:
                      - status
                      - type
                    type: object
                  type: array
                defaultUser:
                  description: Identifying information on internal resources
                  properties:
                    secretReference:
                      description: |-
                        Reference to the Kubernetes Secret containing the credentials of the default
                        user.
                      properties:
                        keys:
                          additionalProperties:
                            type: string
                          description: Key-value pairs in the Secret corresponding to `username`, `password`, `host`, and `port`
                          type: object
                        name:
                          description: Name of the Secret containing the default user credentials
                          type: string
                        namespace:
                          description: Namespace of the Secret containing the default user credentials
                          type: string
                      required:
                        - keys
                        - name
                        - namespace
                      type: object
                    serviceReference:
                      description: Reference to the Kubernetes Service serving the cluster.
                      properties:
                        name:
                          description: Name of the Service serving the cluster
                          type: string
                        namespace:
                          description: Namespace of the Service serving the cluster
                          type: string
                      required:
                        - name
                        - namespace
                      type: object
                  type: object
                observedGeneration:
                  description: |-
                    observedGeneration is the most recent successful generation observed for this RabbitmqCluster. It corresponds to the
                    RabbitmqCluster's generation, which is updated on mutation by the API Server.
                  format: int64
                  type: integer
              required:
                - conditions
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
