apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
    annotations:
        controller-gen.kubebuilder.io/version: v0.5.0
    name: rabbitmqclusters.rabbitmq.com
spec:
    group: rabbitmq.com
    names:
        categories:
            - all
        kind: RabbitmqCluster
        listKind: RabbitmqClusterList
        plural: rabbitmqclusters
        shortNames:
            - rmq
        singular: rabbitmqcluster
    scope: Namespaced
    versions:
        - additionalPrinterColumns:
            - 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
                                                                        required:
                                                                            - key
                                                                            - operator
                                                                        type: object
                                                                    type: array
                                                                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
                                                                        required:
                                                                            - key
                                                                            - operator
                                                                        type: object
                                                                    type: array
                                                            type: object
                                                        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
                                            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
                                                                        required:
                                                                            - key
                                                                            - operator
                                                                        type: object
                                                                    type: array
                                                                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
                                                                        required:
                                                                            - key
                                                                            - operator
                                                                        type: object
                                                                    type: array
                                                            type: object
                                                        type: array
                                                required:
                                                    - nodeSelectorTerms
                                                type: object
                                        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.
                                                                    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
                                                                                required:
                                                                                    - key
                                                                                    - operator
                                                                                type: object
                                                                            type: array
                                                                        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
                                                                namespaces:
                                                                    description: namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means "this pod's namespace"
                                                                    items:
                                                                        type: string
                                                                    type: array
                                                                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
                                            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.
                                                            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
                                                                        required:
                                                                            - key
                                                                            - operator
                                                                        type: object
                                                                    type: array
                                                                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
                                                        namespaces:
                                                            description: namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means "this pod's namespace"
                                                            items:
                                                                type: string
                                                            type: array
                                                        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
                                        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.
                                                                    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
                                                                                required:
                                                                                    - key
                                                                                    - operator
                                                                                type: object
                                                                            type: array
                                                                        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
                                                                namespaces:
                                                                    description: namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means "this pod's namespace"
                                                                    items:
                                                                        type: string
                                                                    type: array
                                                                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
                                            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.
                                                            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
                                                                        required:
                                                                            - key
                                                                            - operator
                                                                        type: object
                                                                    type: array
                                                                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
                                                        namespaces:
                                                            description: namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means "this pod's namespace"
                                                            items:
                                                                type: string
                                                            type: array
                                                        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
                                        type: object
                                type: object
                            image:
                                default: rabbitmq:3.8.16-management
                                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:
                                            description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
                                            type: string
                                    type: object
                                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
                                                    externalName:
                                                        type: string
                                                    externalTrafficPolicy:
                                                        type: string
                                                    healthCheckNodePort:
                                                        format: int32
                                                        type: integer
                                                    ipFamilies:
                                                        items:
                                                            type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                    ipFamilyPolicy:
                                                        type: string
                                                    loadBalancerIP:
                                                        type: string
                                                    loadBalancerSourceRanges:
                                                        items:
                                                            type: string
                                                        type: array
                                                    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
                                                    sessionAffinity:
                                                        type: string
                                                    sessionAffinityConfig:
                                                        properties:
                                                            clientIP:
                                                                properties:
                                                                    timeoutSeconds:
                                                                        format: int32
                                                                        type: integer
                                                                type: object
                                                        type: object
                                                    topologyKeys:
                                                        items:
                                                            type: string
                                                        type: array
                                                    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:
                                                    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
                                                                    required:
                                                                        - key
                                                                        - operator
                                                                    type: object
                                                                type: array
                                                            matchLabels:
                                                                additionalProperties:
                                                                    type: string
                                                                type: object
                                                        type: object
                                                    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
                                                                                                                required:
                                                                                                                    - key
                                                                                                                    - operator
                                                                                                                type: object
                                                                                                            type: array
                                                                                                        matchFields:
                                                                                                            items:
                                                                                                                properties:
                                                                                                                    key:
                                                                                                                        type: string
                                                                                                                    operator:
                                                                                                                        type: string
                                                                                                                    values:
                                                                                                                        items:
                                                                                                                            type: string
                                                                                                                        type: array
                                                                                                                required:
                                                                                                                    - key
                                                                                                                    - operator
                                                                                                                type: object
                                                                                                            type: array
                                                                                                    type: object
                                                                                                weight:
                                                                                                    format: int32
                                                                                                    type: integer
                                                                                            required:
                                                                                                - preference
                                                                                                - weight
                                                                                            type: object
                                                                                        type: array
                                                                                    requiredDuringSchedulingIgnoredDuringExecution:
                                                                                        properties:
                                                                                            nodeSelectorTerms:
                                                                                                items:
                                                                                                    properties:
                                                                                                        matchExpressions:
                                                                                                            items:
                                                                                                                properties:
                                                                                                                    key:
                                                                                                                        type: string
                                                                                                                    operator:
                                                                                                                        type: string
                                                                                                                    values:
                                                                                                                        items:
                                                                                                                            type: string
                                                                                                                        type: array
                                                                                                                required:
                                                                                                                    - key
                                                                                                                    - operator
                                                                                                                type: object
                                                                                                            type: array
                                                                                                        matchFields:
                                                                                                            items:
                                                                                                                properties:
                                                                                                                    key:
                                                                                                                        type: string
                                                                                                                    operator:
                                                                                                                        type: string
                                                                                                                    values:
                                                                                                                        items:
                                                                                                                            type: string
                                                                                                                        type: array
                                                                                                                required:
                                                                                                                    - key
                                                                                                                    - operator
                                                                                                                type: object
                                                                                                            type: array
                                                                                                    type: object
                                                                                                type: array
                                                                                        required:
                                                                                            - nodeSelectorTerms
                                                                                        type: object
                                                                                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
                                                                                                                        required:
                                                                                                                            - key
                                                                                                                            - operator
                                                                                                                        type: object
                                                                                                                    type: array
                                                                                                                matchLabels:
                                                                                                                    additionalProperties:
                                                                                                                        type: string
                                                                                                                    type: object
                                                                                                            type: object
                                                                                                        namespaces:
                                                                                                            items:
                                                                                                                type: string
                                                                                                            type: array
                                                                                                        topologyKey:
                                                                                                            type: string
                                                                                                    required:
                                                                                                        - topologyKey
                                                                                                    type: object
                                                                                                weight:
                                                                                                    format: int32
                                                                                                    type: integer
                                                                                            required:
                                                                                                - podAffinityTerm
                                                                                                - weight
                                                                                            type: object
                                                                                        type: array
                                                                                    requiredDuringSchedulingIgnoredDuringExecution:
                                                                                        items:
                                                                                            properties:
                                                                                                labelSelector:
                                                                                                    properties:
                                                                                                        matchExpressions:
                                                                                                            items:
                                                                                                                properties:
                                                                                                                    key:
                                                                                                                        type: string
                                                                                                                    operator:
                                                                                                                        type: string
                                                                                                                    values:
                                                                                                                        items:
                                                                                                                            type: string
                                                                                                                        type: array
                                                                                                                required:
                                                                                                                    - key
                                                                                                                    - operator
                                                                                                                type: object
                                                                                                            type: array
                                                                                                        matchLabels:
                                                                                                            additionalProperties:
                                                                                                                type: string
                                                                                                            type: object
                                                                                                    type: object
                                                                                                namespaces:
                                                                                                    items:
                                                                                                        type: string
                                                                                                    type: array
                                                                                                topologyKey:
                                                                                                    type: string
                                                                                            required:
                                                                                                - topologyKey
                                                                                            type: object
                                                                                        type: array
                                                                                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
                                                                                                                        required:
                                                                                                                            - key
                                                                                                                            - operator
                                                                                                                        type: object
                                                                                                                    type: array
                                                                                                                matchLabels:
                                                                                                                    additionalProperties:
                                                                                                                        type: string
                                                                                                                    type: object
                                                                                                            type: object
                                                                                                        namespaces:
                                                                                                            items:
                                                                                                                type: string
                                                                                                            type: array
                                                                                                        topologyKey:
                                                                                                            type: string
                                                                                                    required:
                                                                                                        - topologyKey
                                                                                                    type: object
                                                                                                weight:
                                                                                                    format: int32
                                                                                                    type: integer
                                                                                            required:
                                                                                                - podAffinityTerm
                                                                                                - weight
                                                                                            type: object
                                                                                        type: array
                                                                                    requiredDuringSchedulingIgnoredDuringExecution:
                                                                                        items:
                                                                                            properties:
                                                                                                labelSelector:
                                                                                                    properties:
                                                                                                        matchExpressions:
                                                                                                            items:
                                                                                                                properties:
                                                                                                                    key:
                                                                                                                        type: string
                                                                                                                    operator:
                                                                                                                        type: string
                                                                                                                    values:
                                                                                                                        items:
                                                                                                                            type: string
                                                                                                                        type: array
                                                                                                                required:
                                                                                                                    - key
                                                                                                                    - operator
                                                                                                                type: object
                                                                                                            type: array
                                                                                                        matchLabels:
                                                                                                            additionalProperties:
                                                                                                                type: string
                                                                                                            type: object
                                                                                                    type: object
                                                                                                namespaces:
                                                                                                    items:
                                                                                                        type: string
                                                                                                    type: array
                                                                                                topologyKey:
                                                                                                    type: string
                                                                                            required:
                                                                                                - topologyKey
                                                                                            type: object
                                                                                        type: array
                                                                                type: object
                                                                        type: object
                                                                    automountServiceAccountToken:
                                                                        type: boolean
                                                                    containers:
                                                                        items:
                                                                            properties:
                                                                                args:
                                                                                    items:
                                                                                        type: string
                                                                                    type: array
                                                                                command:
                                                                                    items:
                                                                                        type: string
                                                                                    type: array
                                                                                env:
                                                                                    items:
                                                                                        properties:
                                                                                            name:
                                                                                                type: string
                                                                                            value:
                                                                                                type: string
                                                                                            valueFrom:
                                                                                                properties:
                                                                                                    configMapKeyRef:
                                                                                                        properties:
                                                                                                            key:
                                                                                                                type: string
                                                                                                            name:
                                                                                                                type: string
                                                                                                            optional:
                                                                                                                type: boolean
                                                                                                        required:
                                                                                                            - key
                                                                                                        type: object
                                                                                                    fieldRef:
                                                                                                        properties:
                                                                                                            apiVersion:
                                                                                                                type: string
                                                                                                            fieldPath:
                                                                                                                type: string
                                                                                                        required:
                                                                                                            - fieldPath
                                                                                                        type: object
                                                                                                    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
                                                                                                    secretKeyRef:
                                                                                                        properties:
                                                                                                            key:
                                                                                                                type: string
                                                                                                            name:
                                                                                                                type: string
                                                                                                            optional:
                                                                                                                type: boolean
                                                                                                        required:
                                                                                                            - key
                                                                                                        type: object
                                                                                                type: object
                                                                                        required:
                                                                                            - name
                                                                                        type: object
                                                                                    type: array
                                                                                envFrom:
                                                                                    items:
                                                                                        properties:
                                                                                            configMapRef:
                                                                                                properties:
                                                                                                    name:
                                                                                                        type: string
                                                                                                    optional:
                                                                                                        type: boolean
                                                                                                type: object
                                                                                            prefix:
                                                                                                type: string
                                                                                            secretRef:
                                                                                                properties:
                                                                                                    name:
                                                                                                        type: string
                                                                                                    optional:
                                                                                                        type: boolean
                                                                                                type: object
                                                                                        type: object
                                                                                    type: array
                                                                                image:
                                                                                    type: string
                                                                                imagePullPolicy:
                                                                                    type: string
                                                                                lifecycle:
                                                                                    properties:
                                                                                        postStart:
                                                                                            properties:
                                                                                                exec:
                                                                                                    properties:
                                                                                                        command:
                                                                                                            items:
                                                                                                                type: string
                                                                                                            type: array
                                                                                                    type: object
                                                                                                httpGet:
                                                                                                    properties:
                                                                                                        host:
                                                                                                            type: string
                                                                                                        httpHeaders:
                                                                                                            items:
                                                                                                                properties:
                                                                                                                    name:
                                                                                                                        type: string
                                                                                                                    value:
                                                                                                                        type: string
                                                                                                                required:
                                                                                                                    - name
                                                                                                                    - value
                                                                                                                type: object
                                                                                                            type: array
                                                                                                        path:
                                                                                                            type: string
                                                                                                        port:
                                                                                                            anyOf:
                                                                                                                - type: integer
                                                                                                                - type: string
                                                                                                            x-kubernetes-int-or-string: true
                                                                                                        scheme:
                                                                                                            type: string
                                                                                                    required:
                                                                                                        - port
                                                                                                    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
                                                                                                    type: object
                                                                                                httpGet:
                                                                                                    properties:
                                                                                                        host:
                                                                                                            type: string
                                                                                                        httpHeaders:
                                                                                                            items:
                                                                                                                properties:
                                                                                                                    name:
                                                                                                                        type: string
                                                                                                                    value:
                                                                                                                        type: string
                                                                                                                required:
                                                                                                                    - name
                                                                                                                    - value
                                                                                                                type: object
                                                                                                            type: array
                                                                                                        path:
                                                                                                            type: string
                                                                                                        port:
                                                                                                            anyOf:
                                                                                                                - type: integer
                                                                                                                - type: string
                                                                                                            x-kubernetes-int-or-string: true
                                                                                                        scheme:
                                                                                                            type: string
                                                                                                    required:
                                                                                                        - port
                                                                                                    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
                                                                                    type: object
                                                                                livenessProbe:
                                                                                    properties:
                                                                                        exec:
                                                                                            properties:
                                                                                                command:
                                                                                                    items:
                                                                                                        type: string
                                                                                                    type: array
                                                                                            type: object
                                                                                        failureThreshold:
                                                                                            format: int32
                                                                                            type: integer
                                                                                        httpGet:
                                                                                            properties:
                                                                                                host:
                                                                                                    type: string
                                                                                                httpHeaders:
                                                                                                    items:
                                                                                                        properties:
                                                                                                            name:
                                                                                                                type: string
                                                                                                            value:
                                                                                                                type: string
                                                                                                        required:
                                                                                                            - name
                                                                                                            - value
                                                                                                        type: object
                                                                                                    type: array
                                                                                                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
                                                                                        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
                                                                                            type: object
                                                                                        failureThreshold:
                                                                                            format: int32
                                                                                            type: integer
                                                                                        httpGet:
                                                                                            properties:
                                                                                                host:
                                                                                                    type: string
                                                                                                httpHeaders:
                                                                                                    items:
                                                                                                        properties:
                                                                                                            name:
                                                                                                                type: string
                                                                                                            value:
                                                                                                                type: string
                                                                                                        required:
                                                                                                            - name
                                                                                                            - value
                                                                                                        type: object
                                                                                                    type: array
                                                                                                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
                                                                                        timeoutSeconds:
                                                                                            format: int32
                                                                                            type: integer
                                                                                    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
                                                                                securityContext:
                                                                                    properties:
                                                                                        allowPrivilegeEscalation:
                                                                                            type: boolean
                                                                                        capabilities:
                                                                                            properties:
                                                                                                add:
                                                                                                    items:
                                                                                                        type: string
                                                                                                    type: array
                                                                                                drop:
                                                                                                    items:
                                                                                                        type: string
                                                                                                    type: array
                                                                                            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
                                                                                                runAsUserName:
                                                                                                    type: string
                                                                                            type: object
                                                                                    type: object
                                                                                startupProbe:
                                                                                    properties:
                                                                                        exec:
                                                                                            properties:
                                                                                                command:
                                                                                                    items:
                                                                                                        type: string
                                                                                                    type: array
                                                                                            type: object
                                                                                        failureThreshold:
                                                                                            format: int32
                                                                                            type: integer
                                                                                        httpGet:
                                                                                            properties:
                                                                                                host:
                                                                                                    type: string
                                                                                                httpHeaders:
                                                                                                    items:
                                                                                                        properties:
                                                                                                            name:
                                                                                                                type: string
                                                                                                            value:
                                                                                                                type: string
                                                                                                        required:
                                                                                                            - name
                                                                                                            - value
                                                                                                        type: object
                                                                                                    type: array
                                                                                                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
                                                                                        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
                                                                                volumeMounts:
                                                                                    items:
                                                                                        properties:
                                                                                            mountPath:
                                                                                                type: string
                                                                                            mountPropagation:
                                                                                                type: string
                                                                                            name:
                                                                                                type: string
                                                                                            readOnly:
                                                                                                type: boolean
                                                                                            subPath:
                                                                                                type: string
                                                                                            subPathExpr:
                                                                                                type: string
                                                                                        required:
                                                                                            - mountPath
                                                                                            - name
                                                                                        type: object
                                                                                    type: array
                                                                                workingDir:
                                                                                    type: string
                                                                            required:
                                                                                - name
                                                                            type: object
                                                                        type: array
                                                                    dnsConfig:
                                                                        properties:
                                                                            nameservers:
                                                                                items:
                                                                                    type: string
                                                                                type: array
                                                                            options:
                                                                                items:
                                                                                    properties:
                                                                                        name:
                                                                                            type: string
                                                                                        value:
                                                                                            type: string
                                                                                    type: object
                                                                                type: array
                                                                            searches:
                                                                                items:
                                                                                    type: string
                                                                                type: array
                                                                        type: object
                                                                    dnsPolicy:
                                                                        type: string
                                                                    enableServiceLinks:
                                                                        type: boolean
                                                                    ephemeralContainers:
                                                                        items:
                                                                            properties:
                                                                                args:
                                                                                    items:
                                                                                        type: string
                                                                                    type: array
                                                                                command:
                                                                                    items:
                                                                                        type: string
                                                                                    type: array
                                                                                env:
                                                                                    items:
                                                                                        properties:
                                                                                            name:
                                                                                                type: string
                                                                                            value:
                                                                                                type: string
                                                                                            valueFrom:
                                                                                                properties:
                                                                                                    configMapKeyRef:
                                                                                                        properties:
                                                                                                            key:
                                                                                                                type: string
                                                                                                            name:
                                                                                                                type: string
                                                                                                            optional:
                                                                                                                type: boolean
                                                                                                        required:
                                                                                                            - key
                                                                                                        type: object
                                                                                                    fieldRef:
                                                                                                        properties:
                                                                                                            apiVersion:
                                                                                                                type: string
                                                                                                            fieldPath:
                                                                                                                type: string
                                                                                                        required:
                                                                                                            - fieldPath
                                                                                                        type: object
                                                                                                    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
                                                                                                    secretKeyRef:
                                                                                                        properties:
                                                                                                            key:
                                                                                                                type: string
                                                                                                            name:
                                                                                                                type: string
                                                                                                            optional:
                                                                                                                type: boolean
                                                                                                        required:
                                                                                                            - key
                                                                                                        type: object
                                                                                                type: object
                                                                                        required:
                                                                                            - name
                                                                                        type: object
                                                                                    type: array
                                                                                envFrom:
                                                                                    items:
                                                                                        properties:
                                                                                            configMapRef:
                                                                                                properties:
                                                                                                    name:
                                                                                                        type: string
                                                                                                    optional:
                                                                                                        type: boolean
                                                                                                type: object
                                                                                            prefix:
                                                                                                type: string
                                                                                            secretRef:
                                                                                                properties:
                                                                                                    name:
                                                                                                        type: string
                                                                                                    optional:
                                                                                                        type: boolean
                                                                                                type: object
                                                                                        type: object
                                                                                    type: array
                                                                                image:
                                                                                    type: string
                                                                                imagePullPolicy:
                                                                                    type: string
                                                                                lifecycle:
                                                                                    properties:
                                                                                        postStart:
                                                                                            properties:
                                                                                                exec:
                                                                                                    properties:
                                                                                                        command:
                                                                                                            items:
                                                                                                                type: string
                                                                                                            type: array
                                                                                                    type: object
                                                                                                httpGet:
                                                                                                    properties:
                                                                                                        host:
                                                                                                            type: string
                                                                                                        httpHeaders:
                                                                                                            items:
                                                                                                                properties:
                                                                                                                    name:
                                                                                                                        type: string
                                                                                                                    value:
                                                                                                                        type: string
                                                                                                                required:
                                                                                                                    - name
                                                                                                                    - value
                                                                                                                type: object
                                                                                                            type: array
                                                                                                        path:
                                                                                                            type: string
                                                                                                        port:
                                                                                                            anyOf:
                                                                                                                - type: integer
                                                                                                                - type: string
                                                                                                            x-kubernetes-int-or-string: true
                                                                                                        scheme:
                                                                                                            type: string
                                                                                                    required:
                                                                                                        - port
                                                                                                    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
                                                                                                    type: object
                                                                                                httpGet:
                                                                                                    properties:
                                                                                                        host:
                                                                                                            type: string
                                                                                                        httpHeaders:
                                                                                                            items:
                                                                                                                properties:
                                                                                                                    name:
                                                                                                                        type: string
                                                                                                                    value:
                                                                                                                        type: string
                                                                                                                required:
                                                                                                                    - name
                                                                                                                    - value
                                                                                                                type: object
                                                                                                            type: array
                                                                                                        path:
                                                                                                            type: string
                                                                                                        port:
                                                                                                            anyOf:
                                                                                                                - type: integer
                                                                                                                - type: string
                                                                                                            x-kubernetes-int-or-string: true
                                                                                                        scheme:
                                                                                                            type: string
                                                                                                    required:
                                                                                                        - port
                                                                                                    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
                                                                                    type: object
                                                                                livenessProbe:
                                                                                    properties:
                                                                                        exec:
                                                                                            properties:
                                                                                                command:
                                                                                                    items:
                                                                                                        type: string
                                                                                                    type: array
                                                                                            type: object
                                                                                        failureThreshold:
                                                                                            format: int32
                                                                                            type: integer
                                                                                        httpGet:
                                                                                            properties:
                                                                                                host:
                                                                                                    type: string
                                                                                                httpHeaders:
                                                                                                    items:
                                                                                                        properties:
                                                                                                            name:
                                                                                                                type: string
                                                                                                            value:
                                                                                                                type: string
                                                                                                        required:
                                                                                                            - name
                                                                                                            - value
                                                                                                        type: object
                                                                                                    type: array
                                                                                                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
                                                                                        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
                                                                                readinessProbe:
                                                                                    properties:
                                                                                        exec:
                                                                                            properties:
                                                                                                command:
                                                                                                    items:
                                                                                                        type: string
                                                                                                    type: array
                                                                                            type: object
                                                                                        failureThreshold:
                                                                                            format: int32
                                                                                            type: integer
                                                                                        httpGet:
                                                                                            properties:
                                                                                                host:
                                                                                                    type: string
                                                                                                httpHeaders:
                                                                                                    items:
                                                                                                        properties:
                                                                                                            name:
                                                                                                                type: string
                                                                                                            value:
                                                                                                                type: string
                                                                                                        required:
                                                                                                            - name
                                                                                                            - value
                                                                                                        type: object
                                                                                                    type: array
                                                                                                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
                                                                                        timeoutSeconds:
                                                                                            format: int32
                                                                                            type: integer
                                                                                    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
                                                                                securityContext:
                                                                                    properties:
                                                                                        allowPrivilegeEscalation:
                                                                                            type: boolean
                                                                                        capabilities:
                                                                                            properties:
                                                                                                add:
                                                                                                    items:
                                                                                                        type: string
                                                                                                    type: array
                                                                                                drop:
                                                                                                    items:
                                                                                                        type: string
                                                                                                    type: array
                                                                                            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
                                                                                                runAsUserName:
                                                                                                    type: string
                                                                                            type: object
                                                                                    type: object
                                                                                startupProbe:
                                                                                    properties:
                                                                                        exec:
                                                                                            properties:
                                                                                                command:
                                                                                                    items:
                                                                                                        type: string
                                                                                                    type: array
                                                                                            type: object
                                                                                        failureThreshold:
                                                                                            format: int32
                                                                                            type: integer
                                                                                        httpGet:
                                                                                            properties:
                                                                                                host:
                                                                                                    type: string
                                                                                                httpHeaders:
                                                                                                    items:
                                                                                                        properties:
                                                                                                            name:
                                                                                                                type: string
                                                                                                            value:
                                                                                                                type: string
                                                                                                        required:
                                                                                                            - name
                                                                                                            - value
                                                                                                        type: object
                                                                                                    type: array
                                                                                                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
                                                                                        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
                                                                                volumeMounts:
                                                                                    items:
                                                                                        properties:
                                                                                            mountPath:
                                                                                                type: string
                                                                                            mountPropagation:
                                                                                                type: string
                                                                                            name:
                                                                                                type: string
                                                                                            readOnly:
                                                                                                type: boolean
                                                                                            subPath:
                                                                                                type: string
                                                                                            subPathExpr:
                                                                                                type: string
                                                                                        required:
                                                                                            - mountPath
                                                                                            - name
                                                                                        type: object
                                                                                    type: array
                                                                                workingDir:
                                                                                    type: string
                                                                            required:
                                                                                - name
                                                                            type: object
                                                                        type: array
                                                                    hostAliases:
                                                                        items:
                                                                            properties:
                                                                                hostnames:
                                                                                    items:
                                                                                        type: string
                                                                                    type: array
                                                                                ip:
                                                                                    type: string
                                                                            type: object
                                                                        type: array
                                                                    hostIPC:
                                                                        type: boolean
                                                                    hostNetwork:
                                                                        type: boolean
                                                                    hostPID:
                                                                        type: boolean
                                                                    hostname:
                                                                        type: string
                                                                    imagePullSecrets:
                                                                        items:
                                                                            properties:
                                                                                name:
                                                                                    type: string
                                                                            type: object
                                                                        type: array
                                                                    initContainers:
                                                                        items:
                                                                            properties:
                                                                                args:
                                                                                    items:
                                                                                        type: string
                                                                                    type: array
                                                                                command:
                                                                                    items:
                                                                                        type: string
                                                                                    type: array
                                                                                env:
                                                                                    items:
                                                                                        properties:
                                                                                            name:
                                                                                                type: string
                                                                                            value:
                                                                                                type: string
                                                                                            valueFrom:
                                                                                                properties:
                                                                                                    configMapKeyRef:
                                                                                                        properties:
                                                                                                            key:
                                                                                                                type: string
                                                                                                            name:
                                                                                                                type: string
                                                                                                            optional:
                                                                                                                type: boolean
                                                                                                        required:
                                                                                                            - key
                                                                                                        type: object
                                                                                                    fieldRef:
                                                                                                        properties:
                                                                                                            apiVersion:
                                                                                                                type: string
                                                                                                            fieldPath:
                                                                                                                type: string
                                                                                                        required:
                                                                                                            - fieldPath
                                                                                                        type: object
                                                                                                    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
                                                                                                    secretKeyRef:
                                                                                                        properties:
                                                                                                            key:
                                                                                                                type: string
                                                                                                            name:
                                                                                                                type: string
                                                                                                            optional:
                                                                                                                type: boolean
                                                                                                        required:
                                                                                                            - key
                                                                                                        type: object
                                                                                                type: object
                                                                                        required:
                                                                                            - name
                                                                                        type: object
                                                                                    type: array
                                                                                envFrom:
                                                                                    items:
                                                                                        properties:
                                                                                            configMapRef:
                                                                                                properties:
                                                                                                    name:
                                                                                                        type: string
                                                                                                    optional:
                                                                                                        type: boolean
                                                                                                type: object
                                                                                            prefix:
                                                                                                type: string
                                                                                            secretRef:
                                                                                                properties:
                                                                                                    name:
                                                                                                        type: string
                                                                                                    optional:
                                                                                                        type: boolean
                                                                                                type: object
                                                                                        type: object
                                                                                    type: array
                                                                                image:
                                                                                    type: string
                                                                                imagePullPolicy:
                                                                                    type: string
                                                                                lifecycle:
                                                                                    properties:
                                                                                        postStart:
                                                                                            properties:
                                                                                                exec:
                                                                                                    properties:
                                                                                                        command:
                                                                                                            items:
                                                                                                                type: string
                                                                                                            type: array
                                                                                                    type: object
                                                                                                httpGet:
                                                                                                    properties:
                                                                                                        host:
                                                                                                            type: string
                                                                                                        httpHeaders:
                                                                                                            items:
                                                                                                                properties:
                                                                                                                    name:
                                                                                                                        type: string
                                                                                                                    value:
                                                                                                                        type: string
                                                                                                                required:
                                                                                                                    - name
                                                                                                                    - value
                                                                                                                type: object
                                                                                                            type: array
                                                                                                        path:
                                                                                                            type: string
                                                                                                        port:
                                                                                                            anyOf:
                                                                                                                - type: integer
                                                                                                                - type: string
                                                                                                            x-kubernetes-int-or-string: true
                                                                                                        scheme:
                                                                                                            type: string
                                                                                                    required:
                                                                                                        - port
                                                                                                    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
                                                                                                    type: object
                                                                                                httpGet:
                                                                                                    properties:
                                                                                                        host:
                                                                                                            type: string
                                                                                                        httpHeaders:
                                                                                                            items:
                                                                                                                properties:
                                                                                                                    name:
                                                                                                                        type: string
                                                                                                                    value:
                                                                                                                        type: string
                                                                                                                required:
                                                                                                                    - name
                                                                                                                    - value
                                                                                                                type: object
                                                                                                            type: array
                                                                                                        path:
                                                                                                            type: string
                                                                                                        port:
                                                                                                            anyOf:
                                                                                                                - type: integer
                                                                                                                - type: string
                                                                                                            x-kubernetes-int-or-string: true
                                                                                                        scheme:
                                                                                                            type: string
                                                                                                    required:
                                                                                                        - port
                                                                                                    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
                                                                                    type: object
                                                                                livenessProbe:
                                                                                    properties:
                                                                                        exec:
                                                                                            properties:
                                                                                                command:
                                                                                                    items:
                                                                                                        type: string
                                                                                                    type: array
                                                                                            type: object
                                                                                        failureThreshold:
                                                                                            format: int32
                                                                                            type: integer
                                                                                        httpGet:
                                                                                            properties:
                                                                                                host:
                                                                                                    type: string
                                                                                                httpHeaders:
                                                                                                    items:
                                                                                                        properties:
                                                                                                            name:
                                                                                                                type: string
                                                                                                            value:
                                                                                                                type: string
                                                                                                        required:
                                                                                                            - name
                                                                                                            - value
                                                                                                        type: object
                                                                                                    type: array
                                                                                                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
                                                                                        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
                                                                                            type: object
                                                                                        failureThreshold:
                                                                                            format: int32
                                                                                            type: integer
                                                                                        httpGet:
                                                                                            properties:
                                                                                                host:
                                                                                                    type: string
                                                                                                httpHeaders:
                                                                                                    items:
                                                                                                        properties:
                                                                                                            name:
                                                                                                                type: string
                                                                                                            value:
                                                                                                                type: string
                                                                                                        required:
                                                                                                            - name
                                                                                                            - value
                                                                                                        type: object
                                                                                                    type: array
                                                                                                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
                                                                                        timeoutSeconds:
                                                                                            format: int32
                                                                                            type: integer
                                                                                    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
                                                                                securityContext:
                                                                                    properties:
                                                                                        allowPrivilegeEscalation:
                                                                                            type: boolean
                                                                                        capabilities:
                                                                                            properties:
                                                                                                add:
                                                                                                    items:
                                                                                                        type: string
                                                                                                    type: array
                                                                                                drop:
                                                                                                    items:
                                                                                                        type: string
                                                                                                    type: array
                                                                                            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
                                                                                                runAsUserName:
                                                                                                    type: string
                                                                                            type: object
                                                                                    type: object
                                                                                startupProbe:
                                                                                    properties:
                                                                                        exec:
                                                                                            properties:
                                                                                                command:
                                                                                                    items:
                                                                                                        type: string
                                                                                                    type: array
                                                                                            type: object
                                                                                        failureThreshold:
                                                                                            format: int32
                                                                                            type: integer
                                                                                        httpGet:
                                                                                            properties:
                                                                                                host:
                                                                                                    type: string
                                                                                                httpHeaders:
                                                                                                    items:
                                                                                                        properties:
                                                                                                            name:
                                                                                                                type: string
                                                                                                            value:
                                                                                                                type: string
                                                                                                        required:
                                                                                                            - name
                                                                                                            - value
                                                                                                        type: object
                                                                                                    type: array
                                                                                                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
                                                                                        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
                                                                                volumeMounts:
                                                                                    items:
                                                                                        properties:
                                                                                            mountPath:
                                                                                                type: string
                                                                                            mountPropagation:
                                                                                                type: string
                                                                                            name:
                                                                                                type: string
                                                                                            readOnly:
                                                                                                type: boolean
                                                                                            subPath:
                                                                                                type: string
                                                                                            subPathExpr:
                                                                                                type: string
                                                                                        required:
                                                                                            - mountPath
                                                                                            - name
                                                                                        type: object
                                                                                    type: array
                                                                                workingDir:
                                                                                    type: string
                                                                            required:
                                                                                - name
                                                                            type: object
                                                                        type: array
                                                                    nodeName:
                                                                        type: string
                                                                    nodeSelector:
                                                                        additionalProperties:
                                                                            type: string
                                                                        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
                                                                    restartPolicy:
                                                                        type: string
                                                                    runtimeClassName:
                                                                        type: string
                                                                    schedulerName:
                                                                        type: string
                                                                    securityContext:
                                                                        properties:
                                                                            fsGroup:
                                                                                format: int64
                                                                                type: integer
                                                                            fsGroupChangePolicy:
                                                                                type: string
                                                                            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
                                                                            supplementalGroups:
                                                                                items:
                                                                                    format: int64
                                                                                    type: integer
                                                                                type: array
                                                                            sysctls:
                                                                                items:
                                                                                    properties:
                                                                                        name:
                                                                                            type: string
                                                                                        value:
                                                                                            type: string
                                                                                    required:
                                                                                        - name
                                                                                        - value
                                                                                    type: object
                                                                                type: array
                                                                            windowsOptions:
                                                                                properties:
                                                                                    gmsaCredentialSpec:
                                                                                        type: string
                                                                                    gmsaCredentialSpecName:
                                                                                        type: string
                                                                                    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
                                                                    topologySpreadConstraints:
                                                                        items:
                                                                            properties:
                                                                                labelSelector:
                                                                                    properties:
                                                                                        matchExpressions:
                                                                                            items:
                                                                                                properties:
                                                                                                    key:
                                                                                                        type: string
                                                                                                    operator:
                                                                                                        type: string
                                                                                                    values:
                                                                                                        items:
                                                                                                            type: string
                                                                                                        type: array
                                                                                                required:
                                                                                                    - key
                                                                                                    - operator
                                                                                                type: object
                                                                                            type: array
                                                                                        matchLabels:
                                                                                            additionalProperties:
                                                                                                type: string
                                                                                            type: object
                                                                                    type: object
                                                                                maxSkew:
                                                                                    format: int32
                                                                                    type: integer
                                                                                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:
                                                                                            type: string
                                                                                        kind:
                                                                                            type: string
                                                                                        readOnly:
                                                                                            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
                                                                                        path:
                                                                                            type: string
                                                                                        readOnly:
                                                                                            type: boolean
                                                                                        secretFile:
                                                                                            type: string
                                                                                        secretRef:
                                                                                            properties:
                                                                                                name:
                                                                                                    type: string
                                                                                            type: object
                                                                                        user:
                                                                                            type: string
                                                                                    required:
                                                                                        - monitors
                                                                                    type: object
                                                                                cinder:
                                                                                    properties:
                                                                                        fsType:
                                                                                            type: string
                                                                                        readOnly:
                                                                                            type: boolean
                                                                                        secretRef:
                                                                                            properties:
                                                                                                name:
                                                                                                    type: string
                                                                                            type: object
                                                                                        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
                                                                                        name:
                                                                                            type: string
                                                                                        optional:
                                                                                            type: boolean
                                                                                    type: object
                                                                                csi:
                                                                                    properties:
                                                                                        driver:
                                                                                            type: string
                                                                                        fsType:
                                                                                            type: string
                                                                                        nodePublishSecretRef:
                                                                                            properties:
                                                                                                name:
                                                                                                    type: string
                                                                                            type: object
                                                                                        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
                                                                                                    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
                                                                                                required:
                                                                                                    - path
                                                                                                type: object
                                                                                            type: array
                                                                                    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:
                                                                                        readOnly:
                                                                                            type: boolean
                                                                                        volumeClaimTemplate:
                                                                                            properties:
                                                                                                metadata:
                                                                                                    type: object
                                                                                                spec:
                                                                                                    properties:
                                                                                                        accessModes:
                                                                                                            items:
                                                                                                                type: string
                                                                                                            type: array
                                                                                                        dataSource:
                                                                                                            properties:
                                                                                                                apiGroup:
                                                                                                                    type: string
                                                                                                                kind:
                                                                                                                    type: string
                                                                                                                name:
                                                                                                                    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
                                                                                                                        required:
                                                                                                                            - key
                                                                                                                            - operator
                                                                                                                        type: object
                                                                                                                    type: array
                                                                                                                matchLabels:
                                                                                                                    additionalProperties:
                                                                                                                        type: string
                                                                                                                    type: object
                                                                                                            type: object
                                                                                                        storageClassName:
                                                                                                            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
                                                                                        wwids:
                                                                                            items:
                                                                                                type: string
                                                                                            type: array
                                                                                    type: object
                                                                                flexVolume:
                                                                                    properties:
                                                                                        driver:
                                                                                            type: string
                                                                                        fsType:
                                                                                            type: string
                                                                                        options:
                                                                                            additionalProperties:
                                                                                                type: string
                                                                                            type: object
                                                                                        readOnly:
                                                                                            type: boolean
                                                                                        secretRef:
                                                                                            properties:
                                                                                                name:
                                                                                                    type: string
                                                                                            type: object
                                                                                    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
                                                                                iscsi:
                                                                                    properties:
                                                                                        chapAuthDiscovery:
                                                                                            type: boolean
                                                                                        chapAuthSession:
                                                                                            type: boolean
                                                                                        fsType:
                                                                                            type: string
                                                                                        initiatorName:
                                                                                            type: string
                                                                                        iqn:
                                                                                            type: string
                                                                                        iscsiInterface:
                                                                                            type: string
                                                                                        lun:
                                                                                            format: int32
                                                                                            type: integer
                                                                                        portals:
                                                                                            items:
                                                                                                type: string
                                                                                            type: array
                                                                                        readOnly:
                                                                                            type: boolean
                                                                                        secretRef:
                                                                                            properties:
                                                                                                name:
                                                                                                    type: string
                                                                                            type: object
                                                                                        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:
                                                                                                    configMap:
                                                                                                        properties:
                                                                                                            items:
                                                                                                                items:
                                                                                                                    properties:
                                                                                                                        key:
                                                                                                                            type: string
                                                                                                                        mode:
                                                                                                                            format: int32
                                                                                                                            type: integer
                                                                                                                        path:
                                                                                                                            type: string
                                                                                                                    required:
                                                                                                                        - key
                                                                                                                        - path
                                                                                                                    type: object
                                                                                                                type: array
                                                                                                            name:
                                                                                                                type: string
                                                                                                            optional:
                                                                                                                type: boolean
                                                                                                        type: object
                                                                                                    downwardAPI:
                                                                                                        properties:
                                                                                                            items:
                                                                                                                items:
                                                                                                                    properties:
                                                                                                                        fieldRef:
                                                                                                                            properties:
                                                                                                                                apiVersion:
                                                                                                                                    type: string
                                                                                                                                fieldPath:
                                                                                                                                    type: string
                                                                                                                            required:
                                                                                                                                - fieldPath
                                                                                                                            type: object
                                                                                                                        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
                                                                                                                    required:
                                                                                                                        - path
                                                                                                                    type: object
                                                                                                                type: array
                                                                                                        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
                                                                                                            name:
                                                                                                                type: string
                                                                                                            optional:
                                                                                                                type: boolean
                                                                                                        type: object
                                                                                                    serviceAccountToken:
                                                                                                        properties:
                                                                                                            audience:
                                                                                                                type: string
                                                                                                            expirationSeconds:
                                                                                                                format: int64
                                                                                                                type: integer
                                                                                                            path:
                                                                                                                type: string
                                                                                                        required:
                                                                                                            - path
                                                                                                        type: object
                                                                                                type: object
                                                                                            type: array
                                                                                    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:
                                                                                            type: string
                                                                                        monitors:
                                                                                            items:
                                                                                                type: string
                                                                                            type: array
                                                                                        pool:
                                                                                            type: string
                                                                                        readOnly:
                                                                                            type: boolean
                                                                                        secretRef:
                                                                                            properties:
                                                                                                name:
                                                                                                    type: string
                                                                                            type: object
                                                                                        user:
                                                                                            type: string
                                                                                    required:
                                                                                        - image
                                                                                        - monitors
                                                                                    type: object
                                                                                scaleIO:
                                                                                    properties:
                                                                                        fsType:
                                                                                            type: string
                                                                                        gateway:
                                                                                            type: string
                                                                                        protectionDomain:
                                                                                            type: string
                                                                                        readOnly:
                                                                                            type: boolean
                                                                                        secretRef:
                                                                                            properties:
                                                                                                name:
                                                                                                    type: string
                                                                                            type: object
                                                                                        sslEnabled:
                                                                                            type: boolean
                                                                                        storageMode:
                                                                                            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
                                                                                        optional:
                                                                                            type: boolean
                                                                                        secretName:
                                                                                            type: string
                                                                                    type: object
                                                                                storageos:
                                                                                    properties:
                                                                                        fsType:
                                                                                            type: string
                                                                                        readOnly:
                                                                                            type: boolean
                                                                                        secretRef:
                                                                                            properties:
                                                                                                name:
                                                                                                    type: string
                                                                                            type: object
                                                                                        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
                                                                required:
                                                                    - containers
                                                                type: object
                                                        type: object
                                                    updateStrategy:
                                                        properties:
                                                            rollingUpdate:
                                                                properties:
                                                                    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
                                                                        dataSource:
                                                                            properties:
                                                                                apiGroup:
                                                                                    type: string
                                                                                kind:
                                                                                    type: string
                                                                                name:
                                                                                    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
                                                                                        required:
                                                                                            - key
                                                                                            - operator
                                                                                        type: object
                                                                                    type: array
                                                                                matchLabels:
                                                                                    additionalProperties:
                                                                                        type: string
                                                                                    type: object
                                                                            type: object
                                                                        storageClassName:
                                                                            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: 2000
                                        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
                                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:
                                    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-compute-resources-container/'
                                        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. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
                                        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
                                    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.cert` 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.cert --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://k8s-service-bindings.github.io/spec/#provisioned-service'
                                properties:
                                    name:
                                        description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
                                        type: string
                                type: object
                            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` and `password`
                                                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: {}
status:
    acceptedNames:
        kind: ""
        plural: ""
    conditions: []
    storedVersions: []
