apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    cert-manager.io/inject-ca-from: $(CERTIFICATE_NAMESPACE)/$(CERTIFICATE_NAME)
    controller-gen.kubebuilder.io/version: v0.8.0
  name: mysqlclusters.moco.cybozu.com
spec:
  conversion:
    strategy: Webhook
    webhook:
      clientConfig:
        service:
          name: webhook-service
          namespace: system
          path: /convert
      conversionReviewVersions:
      - v1
  group: moco.cybozu.com
  names:
    kind: MySQLCluster
    listKind: MySQLClusterList
    plural: mysqlclusters
    singular: mysqlcluster
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - jsonPath: .status.conditions[?(@.type=='Available')].status
      name: Available
      type: string
    - jsonPath: .status.conditions[?(@.type=='Healthy')].status
      name: Healthy
      type: string
    - jsonPath: .status.currentPrimaryIndex
      name: Primary
      type: integer
    - jsonPath: .status.syncedReplicas
      name: Synced replicas
      type: integer
    - jsonPath: .status.errantReplicas
      name: Errant replicas
      type: integer
    - jsonPath: .status.backup.time
      name: Last backup
      type: string
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: MySQLCluster is the Schema for the mysqlclusters API
        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: MySQLClusterSpec defines the desired state of MySQLCluster
            properties:
              backupPolicyName:
                description: The name of BackupPolicy custom resource in the same
                  namespace. If this is set, MOCO creates a CronJob to take backup
                  of this MySQL cluster periodically.
                nullable: true
                type: string
              collectors:
                description: "Collectors is the list of collector flag names of mysqld_exporter.
                  If this field is not empty, MOCO adds mysqld_exporter as a sidecar
                  to collect and export mysqld metrics in Prometheus format. \n See
                  https://github.com/prometheus/mysqld_exporter/blob/master/README.md#collector-flags
                  for flag names."
                items:
                  type: string
                type: array
              disableSlowQueryLogContainer:
                description: DisableSlowQueryLogContainer controls whether to add
                  a sidecar container named "slow-log" to output slow logs as the
                  containers output. If set to true, the sidecar container is not
                  added. The default is false.
                type: boolean
              logRotationSchedule:
                description: LogRotationSchedule specifies the schedule to rotate
                  MySQL logs. If not set, the default is to rotate logs every 5 minutes.
                  See https://pkg.go.dev/github.com/robfig/cron/v3#hdr-CRON_Expression_Format
                  for the field format.
                type: string
              maxDelaySeconds:
                description: MaxDelaySeconds, if set, configures the readiness probe
                  of mysqld container. For a replica mysqld instance, if it is delayed
                  to apply transactions over this threshold, the mysqld instance will
                  be marked as non-ready. The default is 60 seconds.
                minimum: 0
                type: integer
              mysqlConfigMapName:
                description: MySQLConfigMapName is a `ConfigMap` name of MySQL config.
                nullable: true
                type: string
              podTemplate:
                description: PodTemplate is a `Pod` template for MySQL server container.
                properties:
                  metadata:
                    description: Standard object's metadata.  The name in this metadata
                      is ignored.
                    properties:
                      annotations:
                        additionalProperties:
                          type: string
                        description: Annotations is a map of string keys and values.
                        type: object
                      labels:
                        additionalProperties:
                          type: string
                        description: Labels is a map of string keys and values.
                        type: object
                      name:
                        description: Name is the name of the object.
                        type: string
                    type: object
                  spec:
                    description: Specification of the desired behavior of the pod.
                      The name of the MySQL server container in this spec must be
                      `mysqld`.
                    properties:
                      activeDeadlineSeconds:
                        format: int64
                        type: integer
                      affinity:
                        description: AffinityApplyConfiguration represents an declarative
                          configuration of the Affinity type for use with apply.
                        properties:
                          nodeAffinity:
                            description: NodeAffinityApplyConfiguration represents
                              an declarative configuration of the NodeAffinity type
                              for use with apply.
                            properties:
                              preferredDuringSchedulingIgnoredDuringExecution:
                                items:
                                  description: PreferredSchedulingTermApplyConfiguration
                                    represents an declarative configuration of the
                                    PreferredSchedulingTerm type for use with apply.
                                  properties:
                                    preference:
                                      description: NodeSelectorTermApplyConfiguration
                                        represents an declarative configuration of
                                        the NodeSelectorTerm type for use with apply.
                                      properties:
                                        matchExpressions:
                                          items:
                                            description: NodeSelectorRequirementApplyConfiguration
                                              represents an declarative configuration
                                              of the NodeSelectorRequirement type
                                              for use with apply.
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                description: A node selector operator
                                                  is the set of operators that can
                                                  be used in a node selector requirement.
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            type: object
                                          type: array
                                        matchFields:
                                          items:
                                            description: NodeSelectorRequirementApplyConfiguration
                                              represents an declarative configuration
                                              of the NodeSelectorRequirement type
                                              for use with apply.
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                description: A node selector operator
                                                  is the set of operators that can
                                                  be used in a node selector requirement.
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            type: object
                                          type: array
                                      type: object
                                    weight:
                                      format: int32
                                      type: integer
                                  type: object
                                type: array
                              requiredDuringSchedulingIgnoredDuringExecution:
                                description: NodeSelectorApplyConfiguration represents
                                  an declarative configuration of the NodeSelector
                                  type for use with apply.
                                properties:
                                  nodeSelectorTerms:
                                    items:
                                      description: NodeSelectorTermApplyConfiguration
                                        represents an declarative configuration of
                                        the NodeSelectorTerm type for use with apply.
                                      properties:
                                        matchExpressions:
                                          items:
                                            description: NodeSelectorRequirementApplyConfiguration
                                              represents an declarative configuration
                                              of the NodeSelectorRequirement type
                                              for use with apply.
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                description: A node selector operator
                                                  is the set of operators that can
                                                  be used in a node selector requirement.
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            type: object
                                          type: array
                                        matchFields:
                                          items:
                                            description: NodeSelectorRequirementApplyConfiguration
                                              represents an declarative configuration
                                              of the NodeSelectorRequirement type
                                              for use with apply.
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                description: A node selector operator
                                                  is the set of operators that can
                                                  be used in a node selector requirement.
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            type: object
                                          type: array
                                      type: object
                                    type: array
                                type: object
                            type: object
                          podAffinity:
                            description: PodAffinityApplyConfiguration represents
                              an declarative configuration of the PodAffinity type
                              for use with apply.
                            properties:
                              preferredDuringSchedulingIgnoredDuringExecution:
                                items:
                                  description: WeightedPodAffinityTermApplyConfiguration
                                    represents an declarative configuration of the
                                    WeightedPodAffinityTerm type for use with apply.
                                  properties:
                                    podAffinityTerm:
                                      description: PodAffinityTermApplyConfiguration
                                        represents an declarative configuration of
                                        the PodAffinityTerm type for use with apply.
                                      properties:
                                        labelSelector:
                                          description: LabelSelectorApplyConfiguration
                                            represents an declarative configuration
                                            of the LabelSelector type for use with
                                            apply.
                                          properties:
                                            matchExpressions:
                                              items:
                                                description: LabelSelectorRequirementApplyConfiguration
                                                  represents an declarative configuration
                                                  of the LabelSelectorRequirement
                                                  type for use with apply.
                                                properties:
                                                  key:
                                                    type: string
                                                  operator:
                                                    description: A label selector
                                                      operator is the set of operators
                                                      that can be used in a selector
                                                      requirement.
                                                    type: string
                                                  values:
                                                    items:
                                                      type: string
                                                    type: array
                                                type: object
                                              type: array
                                            matchLabels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                          type: object
                                        namespaceSelector:
                                          description: LabelSelectorApplyConfiguration
                                            represents an declarative configuration
                                            of the LabelSelector type for use with
                                            apply.
                                          properties:
                                            matchExpressions:
                                              items:
                                                description: LabelSelectorRequirementApplyConfiguration
                                                  represents an declarative configuration
                                                  of the LabelSelectorRequirement
                                                  type for use with apply.
                                                properties:
                                                  key:
                                                    type: string
                                                  operator:
                                                    description: A label selector
                                                      operator is the set of operators
                                                      that can be used in a selector
                                                      requirement.
                                                    type: string
                                                  values:
                                                    items:
                                                      type: string
                                                    type: array
                                                type: object
                                              type: array
                                            matchLabels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                          type: object
                                        namespaces:
                                          items:
                                            type: string
                                          type: array
                                        topologyKey:
                                          type: string
                                      type: object
                                    weight:
                                      format: int32
                                      type: integer
                                  type: object
                                type: array
                              requiredDuringSchedulingIgnoredDuringExecution:
                                items:
                                  description: PodAffinityTermApplyConfiguration represents
                                    an declarative configuration of the PodAffinityTerm
                                    type for use with apply.
                                  properties:
                                    labelSelector:
                                      description: LabelSelectorApplyConfiguration
                                        represents an declarative configuration of
                                        the LabelSelector type for use with apply.
                                      properties:
                                        matchExpressions:
                                          items:
                                            description: LabelSelectorRequirementApplyConfiguration
                                              represents an declarative configuration
                                              of the LabelSelectorRequirement type
                                              for use with apply.
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                description: A label selector operator
                                                  is the set of operators that can
                                                  be used in a selector requirement.
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            type: object
                                          type: array
                                        matchLabels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                    namespaceSelector:
                                      description: LabelSelectorApplyConfiguration
                                        represents an declarative configuration of
                                        the LabelSelector type for use with apply.
                                      properties:
                                        matchExpressions:
                                          items:
                                            description: LabelSelectorRequirementApplyConfiguration
                                              represents an declarative configuration
                                              of the LabelSelectorRequirement type
                                              for use with apply.
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                description: A label selector operator
                                                  is the set of operators that can
                                                  be used in a selector requirement.
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            type: object
                                          type: array
                                        matchLabels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                    namespaces:
                                      items:
                                        type: string
                                      type: array
                                    topologyKey:
                                      type: string
                                  type: object
                                type: array
                            type: object
                          podAntiAffinity:
                            description: PodAntiAffinityApplyConfiguration represents
                              an declarative configuration of the PodAntiAffinity
                              type for use with apply.
                            properties:
                              preferredDuringSchedulingIgnoredDuringExecution:
                                items:
                                  description: WeightedPodAffinityTermApplyConfiguration
                                    represents an declarative configuration of the
                                    WeightedPodAffinityTerm type for use with apply.
                                  properties:
                                    podAffinityTerm:
                                      description: PodAffinityTermApplyConfiguration
                                        represents an declarative configuration of
                                        the PodAffinityTerm type for use with apply.
                                      properties:
                                        labelSelector:
                                          description: LabelSelectorApplyConfiguration
                                            represents an declarative configuration
                                            of the LabelSelector type for use with
                                            apply.
                                          properties:
                                            matchExpressions:
                                              items:
                                                description: LabelSelectorRequirementApplyConfiguration
                                                  represents an declarative configuration
                                                  of the LabelSelectorRequirement
                                                  type for use with apply.
                                                properties:
                                                  key:
                                                    type: string
                                                  operator:
                                                    description: A label selector
                                                      operator is the set of operators
                                                      that can be used in a selector
                                                      requirement.
                                                    type: string
                                                  values:
                                                    items:
                                                      type: string
                                                    type: array
                                                type: object
                                              type: array
                                            matchLabels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                          type: object
                                        namespaceSelector:
                                          description: LabelSelectorApplyConfiguration
                                            represents an declarative configuration
                                            of the LabelSelector type for use with
                                            apply.
                                          properties:
                                            matchExpressions:
                                              items:
                                                description: LabelSelectorRequirementApplyConfiguration
                                                  represents an declarative configuration
                                                  of the LabelSelectorRequirement
                                                  type for use with apply.
                                                properties:
                                                  key:
                                                    type: string
                                                  operator:
                                                    description: A label selector
                                                      operator is the set of operators
                                                      that can be used in a selector
                                                      requirement.
                                                    type: string
                                                  values:
                                                    items:
                                                      type: string
                                                    type: array
                                                type: object
                                              type: array
                                            matchLabels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                          type: object
                                        namespaces:
                                          items:
                                            type: string
                                          type: array
                                        topologyKey:
                                          type: string
                                      type: object
                                    weight:
                                      format: int32
                                      type: integer
                                  type: object
                                type: array
                              requiredDuringSchedulingIgnoredDuringExecution:
                                items:
                                  description: PodAffinityTermApplyConfiguration represents
                                    an declarative configuration of the PodAffinityTerm
                                    type for use with apply.
                                  properties:
                                    labelSelector:
                                      description: LabelSelectorApplyConfiguration
                                        represents an declarative configuration of
                                        the LabelSelector type for use with apply.
                                      properties:
                                        matchExpressions:
                                          items:
                                            description: LabelSelectorRequirementApplyConfiguration
                                              represents an declarative configuration
                                              of the LabelSelectorRequirement type
                                              for use with apply.
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                description: A label selector operator
                                                  is the set of operators that can
                                                  be used in a selector requirement.
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            type: object
                                          type: array
                                        matchLabels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                    namespaceSelector:
                                      description: LabelSelectorApplyConfiguration
                                        represents an declarative configuration of
                                        the LabelSelector type for use with apply.
                                      properties:
                                        matchExpressions:
                                          items:
                                            description: LabelSelectorRequirementApplyConfiguration
                                              represents an declarative configuration
                                              of the LabelSelectorRequirement type
                                              for use with apply.
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                description: A label selector operator
                                                  is the set of operators that can
                                                  be used in a selector requirement.
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            type: object
                                          type: array
                                        matchLabels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                    namespaces:
                                      items:
                                        type: string
                                      type: array
                                    topologyKey:
                                      type: string
                                  type: object
                                type: array
                            type: object
                        type: object
                      automountServiceAccountToken:
                        type: boolean
                      containers:
                        items:
                          description: ContainerApplyConfiguration represents an declarative
                            configuration of the Container type for use with apply.
                          properties:
                            args:
                              items:
                                type: string
                              type: array
                            command:
                              items:
                                type: string
                              type: array
                            env:
                              items:
                                description: EnvVarApplyConfiguration represents an
                                  declarative configuration of the EnvVar type for
                                  use with apply.
                                properties:
                                  name:
                                    type: string
                                  value:
                                    type: string
                                  valueFrom:
                                    description: EnvVarSourceApplyConfiguration represents
                                      an declarative configuration of the EnvVarSource
                                      type for use with apply.
                                    properties:
                                      configMapKeyRef:
                                        description: ConfigMapKeySelectorApplyConfiguration
                                          represents an declarative configuration
                                          of the ConfigMapKeySelector type for use
                                          with apply.
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        type: object
                                      fieldRef:
                                        description: ObjectFieldSelectorApplyConfiguration
                                          represents an declarative configuration
                                          of the ObjectFieldSelector type for use
                                          with apply.
                                        properties:
                                          apiVersion:
                                            type: string
                                          fieldPath:
                                            type: string
                                        type: object
                                      resourceFieldRef:
                                        description: ResourceFieldSelectorApplyConfiguration
                                          represents an declarative configuration
                                          of the ResourceFieldSelector type for use
                                          with apply.
                                        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
                                        type: object
                                      secretKeyRef:
                                        description: SecretKeySelectorApplyConfiguration
                                          represents an declarative configuration
                                          of the SecretKeySelector type for use with
                                          apply.
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        type: object
                                    type: object
                                type: object
                              type: array
                            envFrom:
                              items:
                                description: EnvFromSourceApplyConfiguration represents
                                  an declarative configuration of the EnvFromSource
                                  type for use with apply.
                                properties:
                                  configMapRef:
                                    description: ConfigMapEnvSourceApplyConfiguration
                                      represents an declarative configuration of the
                                      ConfigMapEnvSource type for use with apply.
                                    properties:
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    type: object
                                  prefix:
                                    type: string
                                  secretRef:
                                    description: SecretEnvSourceApplyConfiguration
                                      represents an declarative configuration of the
                                      SecretEnvSource type for use with apply.
                                    properties:
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    type: object
                                type: object
                              type: array
                            image:
                              type: string
                            imagePullPolicy:
                              description: PullPolicy describes a policy for if/when
                                to pull a container image
                              type: string
                            lifecycle:
                              description: LifecycleApplyConfiguration represents
                                an declarative configuration of the Lifecycle type
                                for use with apply.
                              properties:
                                postStart:
                                  description: LifecycleHandlerApplyConfiguration
                                    represents an declarative configuration of the
                                    LifecycleHandler type for use with apply.
                                  properties:
                                    exec:
                                      description: ExecActionApplyConfiguration represents
                                        an declarative configuration of the ExecAction
                                        type for use with apply.
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    httpGet:
                                      description: HTTPGetActionApplyConfiguration
                                        represents an declarative configuration of
                                        the HTTPGetAction type for use with apply.
                                      properties:
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            description: HTTPHeaderApplyConfiguration
                                              represents an declarative configuration
                                              of the HTTPHeader type for use with
                                              apply.
                                            properties:
                                              name:
                                                type: string
                                              value:
                                                type: string
                                            type: object
                                          type: array
                                        path:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                        scheme:
                                          description: URIScheme identifies the scheme
                                            used for connection to a host for Get
                                            actions
                                          type: string
                                      type: object
                                    tcpSocket:
                                      description: TCPSocketActionApplyConfiguration
                                        represents an declarative configuration of
                                        the TCPSocketAction type for use with apply.
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      type: object
                                  type: object
                                preStop:
                                  description: LifecycleHandlerApplyConfiguration
                                    represents an declarative configuration of the
                                    LifecycleHandler type for use with apply.
                                  properties:
                                    exec:
                                      description: ExecActionApplyConfiguration represents
                                        an declarative configuration of the ExecAction
                                        type for use with apply.
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    httpGet:
                                      description: HTTPGetActionApplyConfiguration
                                        represents an declarative configuration of
                                        the HTTPGetAction type for use with apply.
                                      properties:
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            description: HTTPHeaderApplyConfiguration
                                              represents an declarative configuration
                                              of the HTTPHeader type for use with
                                              apply.
                                            properties:
                                              name:
                                                type: string
                                              value:
                                                type: string
                                            type: object
                                          type: array
                                        path:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                        scheme:
                                          description: URIScheme identifies the scheme
                                            used for connection to a host for Get
                                            actions
                                          type: string
                                      type: object
                                    tcpSocket:
                                      description: TCPSocketActionApplyConfiguration
                                        represents an declarative configuration of
                                        the TCPSocketAction type for use with apply.
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      type: object
                                  type: object
                              type: object
                            livenessProbe:
                              description: ProbeApplyConfiguration represents an declarative
                                configuration of the Probe type for use with apply.
                              properties:
                                exec:
                                  description: ExecActionApplyConfiguration represents
                                    an declarative configuration of the ExecAction
                                    type for use with apply.
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  description: GRPCActionApplyConfiguration represents
                                    an declarative configuration of the GRPCAction
                                    type for use with apply.
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  type: object
                                httpGet:
                                  description: HTTPGetActionApplyConfiguration represents
                                    an declarative configuration of the HTTPGetAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        description: HTTPHeaderApplyConfiguration
                                          represents an declarative configuration
                                          of the HTTPHeader type for use with apply.
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      description: URIScheme identifies the scheme
                                        used for connection to a host for Get actions
                                      type: string
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  description: TCPSocketActionApplyConfiguration represents
                                    an declarative configuration of the TCPSocketAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            name:
                              type: string
                            ports:
                              items:
                                description: ContainerPortApplyConfiguration represents
                                  an declarative configuration of the ContainerPort
                                  type for use with apply.
                                properties:
                                  containerPort:
                                    format: int32
                                    type: integer
                                  hostIP:
                                    type: string
                                  hostPort:
                                    format: int32
                                    type: integer
                                  name:
                                    type: string
                                  protocol:
                                    default: TCP
                                    type: string
                                type: object
                              type: array
                            readinessProbe:
                              description: ProbeApplyConfiguration represents an declarative
                                configuration of the Probe type for use with apply.
                              properties:
                                exec:
                                  description: ExecActionApplyConfiguration represents
                                    an declarative configuration of the ExecAction
                                    type for use with apply.
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  description: GRPCActionApplyConfiguration represents
                                    an declarative configuration of the GRPCAction
                                    type for use with apply.
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  type: object
                                httpGet:
                                  description: HTTPGetActionApplyConfiguration represents
                                    an declarative configuration of the HTTPGetAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        description: HTTPHeaderApplyConfiguration
                                          represents an declarative configuration
                                          of the HTTPHeader type for use with apply.
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      description: URIScheme identifies the scheme
                                        used for connection to a host for Get actions
                                      type: string
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  description: TCPSocketActionApplyConfiguration represents
                                    an declarative configuration of the TCPSocketAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            resources:
                              description: ResourceRequirementsApplyConfiguration
                                represents an declarative configuration of the ResourceRequirements
                                type for use with apply.
                              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: ResourceList is a set of (resource
                                    name, quantity) pairs.
                                  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: ResourceList is a set of (resource
                                    name, quantity) pairs.
                                  type: object
                              type: object
                            securityContext:
                              description: SecurityContextApplyConfiguration represents
                                an declarative configuration of the SecurityContext
                                type for use with apply.
                              properties:
                                allowPrivilegeEscalation:
                                  type: boolean
                                capabilities:
                                  description: CapabilitiesApplyConfiguration represents
                                    an declarative configuration of the Capabilities
                                    type for use with apply.
                                  properties:
                                    add:
                                      items:
                                        description: Capability represent POSIX capabilities
                                          type
                                        type: string
                                      type: array
                                    drop:
                                      items:
                                        description: Capability represent POSIX capabilities
                                          type
                                        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:
                                  description: SELinuxOptionsApplyConfiguration represents
                                    an declarative configuration of the SELinuxOptions
                                    type for use with apply.
                                  properties:
                                    level:
                                      type: string
                                    role:
                                      type: string
                                    type:
                                      type: string
                                    user:
                                      type: string
                                  type: object
                                seccompProfile:
                                  description: SeccompProfileApplyConfiguration represents
                                    an declarative configuration of the SeccompProfile
                                    type for use with apply.
                                  properties:
                                    localhostProfile:
                                      type: string
                                    type:
                                      description: SeccompProfileType defines the
                                        supported seccomp profile types.
                                      type: string
                                  type: object
                                windowsOptions:
                                  description: WindowsSecurityContextOptionsApplyConfiguration
                                    represents an declarative configuration of the
                                    WindowsSecurityContextOptions type for use with
                                    apply.
                                  properties:
                                    gmsaCredentialSpec:
                                      type: string
                                    gmsaCredentialSpecName:
                                      type: string
                                    hostProcess:
                                      type: boolean
                                    runAsUserName:
                                      type: string
                                  type: object
                              type: object
                            startupProbe:
                              description: ProbeApplyConfiguration represents an declarative
                                configuration of the Probe type for use with apply.
                              properties:
                                exec:
                                  description: ExecActionApplyConfiguration represents
                                    an declarative configuration of the ExecAction
                                    type for use with apply.
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  description: GRPCActionApplyConfiguration represents
                                    an declarative configuration of the GRPCAction
                                    type for use with apply.
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  type: object
                                httpGet:
                                  description: HTTPGetActionApplyConfiguration represents
                                    an declarative configuration of the HTTPGetAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        description: HTTPHeaderApplyConfiguration
                                          represents an declarative configuration
                                          of the HTTPHeader type for use with apply.
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      description: URIScheme identifies the scheme
                                        used for connection to a host for Get actions
                                      type: string
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  description: TCPSocketActionApplyConfiguration represents
                                    an declarative configuration of the TCPSocketAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            stdin:
                              type: boolean
                            stdinOnce:
                              type: boolean
                            terminationMessagePath:
                              type: string
                            terminationMessagePolicy:
                              description: TerminationMessagePolicy describes how
                                termination messages are retrieved from a container.
                              type: string
                            tty:
                              type: boolean
                            volumeDevices:
                              items:
                                description: VolumeDeviceApplyConfiguration represents
                                  an declarative configuration of the VolumeDevice
                                  type for use with apply.
                                properties:
                                  devicePath:
                                    type: string
                                  name:
                                    type: string
                                type: object
                              type: array
                            volumeMounts:
                              items:
                                description: VolumeMountApplyConfiguration represents
                                  an declarative configuration of the VolumeMount
                                  type for use with apply.
                                properties:
                                  mountPath:
                                    type: string
                                  mountPropagation:
                                    description: MountPropagationMode describes mount
                                      propagation.
                                    type: string
                                  name:
                                    type: string
                                  readOnly:
                                    type: boolean
                                  subPath:
                                    type: string
                                  subPathExpr:
                                    type: string
                                type: object
                              type: array
                            workingDir:
                              type: string
                          type: object
                        type: array
                      dnsConfig:
                        description: PodDNSConfigApplyConfiguration represents an
                          declarative configuration of the PodDNSConfig type for use
                          with apply.
                        properties:
                          nameservers:
                            items:
                              type: string
                            type: array
                          options:
                            items:
                              description: PodDNSConfigOptionApplyConfiguration represents
                                an declarative configuration of the PodDNSConfigOption
                                type for use with apply.
                              properties:
                                name:
                                  type: string
                                value:
                                  type: string
                              type: object
                            type: array
                          searches:
                            items:
                              type: string
                            type: array
                        type: object
                      dnsPolicy:
                        description: DNSPolicy defines how a pod's DNS will be configured.
                        type: string
                      enableServiceLinks:
                        type: boolean
                      ephemeralContainers:
                        items:
                          description: EphemeralContainerApplyConfiguration represents
                            an declarative configuration of the EphemeralContainer
                            type for use with apply.
                          properties:
                            args:
                              items:
                                type: string
                              type: array
                            command:
                              items:
                                type: string
                              type: array
                            env:
                              items:
                                description: EnvVarApplyConfiguration represents an
                                  declarative configuration of the EnvVar type for
                                  use with apply.
                                properties:
                                  name:
                                    type: string
                                  value:
                                    type: string
                                  valueFrom:
                                    description: EnvVarSourceApplyConfiguration represents
                                      an declarative configuration of the EnvVarSource
                                      type for use with apply.
                                    properties:
                                      configMapKeyRef:
                                        description: ConfigMapKeySelectorApplyConfiguration
                                          represents an declarative configuration
                                          of the ConfigMapKeySelector type for use
                                          with apply.
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        type: object
                                      fieldRef:
                                        description: ObjectFieldSelectorApplyConfiguration
                                          represents an declarative configuration
                                          of the ObjectFieldSelector type for use
                                          with apply.
                                        properties:
                                          apiVersion:
                                            type: string
                                          fieldPath:
                                            type: string
                                        type: object
                                      resourceFieldRef:
                                        description: ResourceFieldSelectorApplyConfiguration
                                          represents an declarative configuration
                                          of the ResourceFieldSelector type for use
                                          with apply.
                                        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
                                        type: object
                                      secretKeyRef:
                                        description: SecretKeySelectorApplyConfiguration
                                          represents an declarative configuration
                                          of the SecretKeySelector type for use with
                                          apply.
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        type: object
                                    type: object
                                type: object
                              type: array
                            envFrom:
                              items:
                                description: EnvFromSourceApplyConfiguration represents
                                  an declarative configuration of the EnvFromSource
                                  type for use with apply.
                                properties:
                                  configMapRef:
                                    description: ConfigMapEnvSourceApplyConfiguration
                                      represents an declarative configuration of the
                                      ConfigMapEnvSource type for use with apply.
                                    properties:
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    type: object
                                  prefix:
                                    type: string
                                  secretRef:
                                    description: SecretEnvSourceApplyConfiguration
                                      represents an declarative configuration of the
                                      SecretEnvSource type for use with apply.
                                    properties:
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    type: object
                                type: object
                              type: array
                            image:
                              type: string
                            imagePullPolicy:
                              description: PullPolicy describes a policy for if/when
                                to pull a container image
                              type: string
                            lifecycle:
                              description: LifecycleApplyConfiguration represents
                                an declarative configuration of the Lifecycle type
                                for use with apply.
                              properties:
                                postStart:
                                  description: LifecycleHandlerApplyConfiguration
                                    represents an declarative configuration of the
                                    LifecycleHandler type for use with apply.
                                  properties:
                                    exec:
                                      description: ExecActionApplyConfiguration represents
                                        an declarative configuration of the ExecAction
                                        type for use with apply.
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    httpGet:
                                      description: HTTPGetActionApplyConfiguration
                                        represents an declarative configuration of
                                        the HTTPGetAction type for use with apply.
                                      properties:
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            description: HTTPHeaderApplyConfiguration
                                              represents an declarative configuration
                                              of the HTTPHeader type for use with
                                              apply.
                                            properties:
                                              name:
                                                type: string
                                              value:
                                                type: string
                                            type: object
                                          type: array
                                        path:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                        scheme:
                                          description: URIScheme identifies the scheme
                                            used for connection to a host for Get
                                            actions
                                          type: string
                                      type: object
                                    tcpSocket:
                                      description: TCPSocketActionApplyConfiguration
                                        represents an declarative configuration of
                                        the TCPSocketAction type for use with apply.
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      type: object
                                  type: object
                                preStop:
                                  description: LifecycleHandlerApplyConfiguration
                                    represents an declarative configuration of the
                                    LifecycleHandler type for use with apply.
                                  properties:
                                    exec:
                                      description: ExecActionApplyConfiguration represents
                                        an declarative configuration of the ExecAction
                                        type for use with apply.
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    httpGet:
                                      description: HTTPGetActionApplyConfiguration
                                        represents an declarative configuration of
                                        the HTTPGetAction type for use with apply.
                                      properties:
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            description: HTTPHeaderApplyConfiguration
                                              represents an declarative configuration
                                              of the HTTPHeader type for use with
                                              apply.
                                            properties:
                                              name:
                                                type: string
                                              value:
                                                type: string
                                            type: object
                                          type: array
                                        path:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                        scheme:
                                          description: URIScheme identifies the scheme
                                            used for connection to a host for Get
                                            actions
                                          type: string
                                      type: object
                                    tcpSocket:
                                      description: TCPSocketActionApplyConfiguration
                                        represents an declarative configuration of
                                        the TCPSocketAction type for use with apply.
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      type: object
                                  type: object
                              type: object
                            livenessProbe:
                              description: ProbeApplyConfiguration represents an declarative
                                configuration of the Probe type for use with apply.
                              properties:
                                exec:
                                  description: ExecActionApplyConfiguration represents
                                    an declarative configuration of the ExecAction
                                    type for use with apply.
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  description: GRPCActionApplyConfiguration represents
                                    an declarative configuration of the GRPCAction
                                    type for use with apply.
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  type: object
                                httpGet:
                                  description: HTTPGetActionApplyConfiguration represents
                                    an declarative configuration of the HTTPGetAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        description: HTTPHeaderApplyConfiguration
                                          represents an declarative configuration
                                          of the HTTPHeader type for use with apply.
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      description: URIScheme identifies the scheme
                                        used for connection to a host for Get actions
                                      type: string
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  description: TCPSocketActionApplyConfiguration represents
                                    an declarative configuration of the TCPSocketAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            name:
                              type: string
                            ports:
                              items:
                                description: ContainerPortApplyConfiguration represents
                                  an declarative configuration of the ContainerPort
                                  type for use with apply.
                                properties:
                                  containerPort:
                                    format: int32
                                    type: integer
                                  hostIP:
                                    type: string
                                  hostPort:
                                    format: int32
                                    type: integer
                                  name:
                                    type: string
                                  protocol:
                                    default: TCP
                                    type: string
                                type: object
                              type: array
                            readinessProbe:
                              description: ProbeApplyConfiguration represents an declarative
                                configuration of the Probe type for use with apply.
                              properties:
                                exec:
                                  description: ExecActionApplyConfiguration represents
                                    an declarative configuration of the ExecAction
                                    type for use with apply.
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  description: GRPCActionApplyConfiguration represents
                                    an declarative configuration of the GRPCAction
                                    type for use with apply.
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  type: object
                                httpGet:
                                  description: HTTPGetActionApplyConfiguration represents
                                    an declarative configuration of the HTTPGetAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        description: HTTPHeaderApplyConfiguration
                                          represents an declarative configuration
                                          of the HTTPHeader type for use with apply.
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      description: URIScheme identifies the scheme
                                        used for connection to a host for Get actions
                                      type: string
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  description: TCPSocketActionApplyConfiguration represents
                                    an declarative configuration of the TCPSocketAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            resources:
                              description: ResourceRequirementsApplyConfiguration
                                represents an declarative configuration of the ResourceRequirements
                                type for use with apply.
                              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: ResourceList is a set of (resource
                                    name, quantity) pairs.
                                  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: ResourceList is a set of (resource
                                    name, quantity) pairs.
                                  type: object
                              type: object
                            securityContext:
                              description: SecurityContextApplyConfiguration represents
                                an declarative configuration of the SecurityContext
                                type for use with apply.
                              properties:
                                allowPrivilegeEscalation:
                                  type: boolean
                                capabilities:
                                  description: CapabilitiesApplyConfiguration represents
                                    an declarative configuration of the Capabilities
                                    type for use with apply.
                                  properties:
                                    add:
                                      items:
                                        description: Capability represent POSIX capabilities
                                          type
                                        type: string
                                      type: array
                                    drop:
                                      items:
                                        description: Capability represent POSIX capabilities
                                          type
                                        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:
                                  description: SELinuxOptionsApplyConfiguration represents
                                    an declarative configuration of the SELinuxOptions
                                    type for use with apply.
                                  properties:
                                    level:
                                      type: string
                                    role:
                                      type: string
                                    type:
                                      type: string
                                    user:
                                      type: string
                                  type: object
                                seccompProfile:
                                  description: SeccompProfileApplyConfiguration represents
                                    an declarative configuration of the SeccompProfile
                                    type for use with apply.
                                  properties:
                                    localhostProfile:
                                      type: string
                                    type:
                                      description: SeccompProfileType defines the
                                        supported seccomp profile types.
                                      type: string
                                  type: object
                                windowsOptions:
                                  description: WindowsSecurityContextOptionsApplyConfiguration
                                    represents an declarative configuration of the
                                    WindowsSecurityContextOptions type for use with
                                    apply.
                                  properties:
                                    gmsaCredentialSpec:
                                      type: string
                                    gmsaCredentialSpecName:
                                      type: string
                                    hostProcess:
                                      type: boolean
                                    runAsUserName:
                                      type: string
                                  type: object
                              type: object
                            startupProbe:
                              description: ProbeApplyConfiguration represents an declarative
                                configuration of the Probe type for use with apply.
                              properties:
                                exec:
                                  description: ExecActionApplyConfiguration represents
                                    an declarative configuration of the ExecAction
                                    type for use with apply.
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  description: GRPCActionApplyConfiguration represents
                                    an declarative configuration of the GRPCAction
                                    type for use with apply.
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  type: object
                                httpGet:
                                  description: HTTPGetActionApplyConfiguration represents
                                    an declarative configuration of the HTTPGetAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        description: HTTPHeaderApplyConfiguration
                                          represents an declarative configuration
                                          of the HTTPHeader type for use with apply.
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      description: URIScheme identifies the scheme
                                        used for connection to a host for Get actions
                                      type: string
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  description: TCPSocketActionApplyConfiguration represents
                                    an declarative configuration of the TCPSocketAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            stdin:
                              type: boolean
                            stdinOnce:
                              type: boolean
                            targetContainerName:
                              type: string
                            terminationMessagePath:
                              type: string
                            terminationMessagePolicy:
                              description: TerminationMessagePolicy describes how
                                termination messages are retrieved from a container.
                              type: string
                            tty:
                              type: boolean
                            volumeDevices:
                              items:
                                description: VolumeDeviceApplyConfiguration represents
                                  an declarative configuration of the VolumeDevice
                                  type for use with apply.
                                properties:
                                  devicePath:
                                    type: string
                                  name:
                                    type: string
                                type: object
                              type: array
                            volumeMounts:
                              items:
                                description: VolumeMountApplyConfiguration represents
                                  an declarative configuration of the VolumeMount
                                  type for use with apply.
                                properties:
                                  mountPath:
                                    type: string
                                  mountPropagation:
                                    description: MountPropagationMode describes mount
                                      propagation.
                                    type: string
                                  name:
                                    type: string
                                  readOnly:
                                    type: boolean
                                  subPath:
                                    type: string
                                  subPathExpr:
                                    type: string
                                type: object
                              type: array
                            workingDir:
                              type: string
                          type: object
                        type: array
                      hostAliases:
                        items:
                          description: HostAliasApplyConfiguration represents an declarative
                            configuration of the HostAlias type for use with apply.
                          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:
                          description: LocalObjectReferenceApplyConfiguration represents
                            an declarative configuration of the LocalObjectReference
                            type for use with apply.
                          properties:
                            name:
                              type: string
                          type: object
                        type: array
                      initContainers:
                        items:
                          description: ContainerApplyConfiguration represents an declarative
                            configuration of the Container type for use with apply.
                          properties:
                            args:
                              items:
                                type: string
                              type: array
                            command:
                              items:
                                type: string
                              type: array
                            env:
                              items:
                                description: EnvVarApplyConfiguration represents an
                                  declarative configuration of the EnvVar type for
                                  use with apply.
                                properties:
                                  name:
                                    type: string
                                  value:
                                    type: string
                                  valueFrom:
                                    description: EnvVarSourceApplyConfiguration represents
                                      an declarative configuration of the EnvVarSource
                                      type for use with apply.
                                    properties:
                                      configMapKeyRef:
                                        description: ConfigMapKeySelectorApplyConfiguration
                                          represents an declarative configuration
                                          of the ConfigMapKeySelector type for use
                                          with apply.
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        type: object
                                      fieldRef:
                                        description: ObjectFieldSelectorApplyConfiguration
                                          represents an declarative configuration
                                          of the ObjectFieldSelector type for use
                                          with apply.
                                        properties:
                                          apiVersion:
                                            type: string
                                          fieldPath:
                                            type: string
                                        type: object
                                      resourceFieldRef:
                                        description: ResourceFieldSelectorApplyConfiguration
                                          represents an declarative configuration
                                          of the ResourceFieldSelector type for use
                                          with apply.
                                        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
                                        type: object
                                      secretKeyRef:
                                        description: SecretKeySelectorApplyConfiguration
                                          represents an declarative configuration
                                          of the SecretKeySelector type for use with
                                          apply.
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        type: object
                                    type: object
                                type: object
                              type: array
                            envFrom:
                              items:
                                description: EnvFromSourceApplyConfiguration represents
                                  an declarative configuration of the EnvFromSource
                                  type for use with apply.
                                properties:
                                  configMapRef:
                                    description: ConfigMapEnvSourceApplyConfiguration
                                      represents an declarative configuration of the
                                      ConfigMapEnvSource type for use with apply.
                                    properties:
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    type: object
                                  prefix:
                                    type: string
                                  secretRef:
                                    description: SecretEnvSourceApplyConfiguration
                                      represents an declarative configuration of the
                                      SecretEnvSource type for use with apply.
                                    properties:
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    type: object
                                type: object
                              type: array
                            image:
                              type: string
                            imagePullPolicy:
                              description: PullPolicy describes a policy for if/when
                                to pull a container image
                              type: string
                            lifecycle:
                              description: LifecycleApplyConfiguration represents
                                an declarative configuration of the Lifecycle type
                                for use with apply.
                              properties:
                                postStart:
                                  description: LifecycleHandlerApplyConfiguration
                                    represents an declarative configuration of the
                                    LifecycleHandler type for use with apply.
                                  properties:
                                    exec:
                                      description: ExecActionApplyConfiguration represents
                                        an declarative configuration of the ExecAction
                                        type for use with apply.
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    httpGet:
                                      description: HTTPGetActionApplyConfiguration
                                        represents an declarative configuration of
                                        the HTTPGetAction type for use with apply.
                                      properties:
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            description: HTTPHeaderApplyConfiguration
                                              represents an declarative configuration
                                              of the HTTPHeader type for use with
                                              apply.
                                            properties:
                                              name:
                                                type: string
                                              value:
                                                type: string
                                            type: object
                                          type: array
                                        path:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                        scheme:
                                          description: URIScheme identifies the scheme
                                            used for connection to a host for Get
                                            actions
                                          type: string
                                      type: object
                                    tcpSocket:
                                      description: TCPSocketActionApplyConfiguration
                                        represents an declarative configuration of
                                        the TCPSocketAction type for use with apply.
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      type: object
                                  type: object
                                preStop:
                                  description: LifecycleHandlerApplyConfiguration
                                    represents an declarative configuration of the
                                    LifecycleHandler type for use with apply.
                                  properties:
                                    exec:
                                      description: ExecActionApplyConfiguration represents
                                        an declarative configuration of the ExecAction
                                        type for use with apply.
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    httpGet:
                                      description: HTTPGetActionApplyConfiguration
                                        represents an declarative configuration of
                                        the HTTPGetAction type for use with apply.
                                      properties:
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            description: HTTPHeaderApplyConfiguration
                                              represents an declarative configuration
                                              of the HTTPHeader type for use with
                                              apply.
                                            properties:
                                              name:
                                                type: string
                                              value:
                                                type: string
                                            type: object
                                          type: array
                                        path:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                        scheme:
                                          description: URIScheme identifies the scheme
                                            used for connection to a host for Get
                                            actions
                                          type: string
                                      type: object
                                    tcpSocket:
                                      description: TCPSocketActionApplyConfiguration
                                        represents an declarative configuration of
                                        the TCPSocketAction type for use with apply.
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      type: object
                                  type: object
                              type: object
                            livenessProbe:
                              description: ProbeApplyConfiguration represents an declarative
                                configuration of the Probe type for use with apply.
                              properties:
                                exec:
                                  description: ExecActionApplyConfiguration represents
                                    an declarative configuration of the ExecAction
                                    type for use with apply.
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  description: GRPCActionApplyConfiguration represents
                                    an declarative configuration of the GRPCAction
                                    type for use with apply.
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  type: object
                                httpGet:
                                  description: HTTPGetActionApplyConfiguration represents
                                    an declarative configuration of the HTTPGetAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        description: HTTPHeaderApplyConfiguration
                                          represents an declarative configuration
                                          of the HTTPHeader type for use with apply.
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      description: URIScheme identifies the scheme
                                        used for connection to a host for Get actions
                                      type: string
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  description: TCPSocketActionApplyConfiguration represents
                                    an declarative configuration of the TCPSocketAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            name:
                              type: string
                            ports:
                              items:
                                description: ContainerPortApplyConfiguration represents
                                  an declarative configuration of the ContainerPort
                                  type for use with apply.
                                properties:
                                  containerPort:
                                    format: int32
                                    type: integer
                                  hostIP:
                                    type: string
                                  hostPort:
                                    format: int32
                                    type: integer
                                  name:
                                    type: string
                                  protocol:
                                    default: TCP
                                    type: string
                                type: object
                              type: array
                            readinessProbe:
                              description: ProbeApplyConfiguration represents an declarative
                                configuration of the Probe type for use with apply.
                              properties:
                                exec:
                                  description: ExecActionApplyConfiguration represents
                                    an declarative configuration of the ExecAction
                                    type for use with apply.
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  description: GRPCActionApplyConfiguration represents
                                    an declarative configuration of the GRPCAction
                                    type for use with apply.
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  type: object
                                httpGet:
                                  description: HTTPGetActionApplyConfiguration represents
                                    an declarative configuration of the HTTPGetAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        description: HTTPHeaderApplyConfiguration
                                          represents an declarative configuration
                                          of the HTTPHeader type for use with apply.
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      description: URIScheme identifies the scheme
                                        used for connection to a host for Get actions
                                      type: string
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  description: TCPSocketActionApplyConfiguration represents
                                    an declarative configuration of the TCPSocketAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            resources:
                              description: ResourceRequirementsApplyConfiguration
                                represents an declarative configuration of the ResourceRequirements
                                type for use with apply.
                              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: ResourceList is a set of (resource
                                    name, quantity) pairs.
                                  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: ResourceList is a set of (resource
                                    name, quantity) pairs.
                                  type: object
                              type: object
                            securityContext:
                              description: SecurityContextApplyConfiguration represents
                                an declarative configuration of the SecurityContext
                                type for use with apply.
                              properties:
                                allowPrivilegeEscalation:
                                  type: boolean
                                capabilities:
                                  description: CapabilitiesApplyConfiguration represents
                                    an declarative configuration of the Capabilities
                                    type for use with apply.
                                  properties:
                                    add:
                                      items:
                                        description: Capability represent POSIX capabilities
                                          type
                                        type: string
                                      type: array
                                    drop:
                                      items:
                                        description: Capability represent POSIX capabilities
                                          type
                                        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:
                                  description: SELinuxOptionsApplyConfiguration represents
                                    an declarative configuration of the SELinuxOptions
                                    type for use with apply.
                                  properties:
                                    level:
                                      type: string
                                    role:
                                      type: string
                                    type:
                                      type: string
                                    user:
                                      type: string
                                  type: object
                                seccompProfile:
                                  description: SeccompProfileApplyConfiguration represents
                                    an declarative configuration of the SeccompProfile
                                    type for use with apply.
                                  properties:
                                    localhostProfile:
                                      type: string
                                    type:
                                      description: SeccompProfileType defines the
                                        supported seccomp profile types.
                                      type: string
                                  type: object
                                windowsOptions:
                                  description: WindowsSecurityContextOptionsApplyConfiguration
                                    represents an declarative configuration of the
                                    WindowsSecurityContextOptions type for use with
                                    apply.
                                  properties:
                                    gmsaCredentialSpec:
                                      type: string
                                    gmsaCredentialSpecName:
                                      type: string
                                    hostProcess:
                                      type: boolean
                                    runAsUserName:
                                      type: string
                                  type: object
                              type: object
                            startupProbe:
                              description: ProbeApplyConfiguration represents an declarative
                                configuration of the Probe type for use with apply.
                              properties:
                                exec:
                                  description: ExecActionApplyConfiguration represents
                                    an declarative configuration of the ExecAction
                                    type for use with apply.
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  description: GRPCActionApplyConfiguration represents
                                    an declarative configuration of the GRPCAction
                                    type for use with apply.
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  type: object
                                httpGet:
                                  description: HTTPGetActionApplyConfiguration represents
                                    an declarative configuration of the HTTPGetAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        description: HTTPHeaderApplyConfiguration
                                          represents an declarative configuration
                                          of the HTTPHeader type for use with apply.
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      description: URIScheme identifies the scheme
                                        used for connection to a host for Get actions
                                      type: string
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  description: TCPSocketActionApplyConfiguration represents
                                    an declarative configuration of the TCPSocketAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            stdin:
                              type: boolean
                            stdinOnce:
                              type: boolean
                            terminationMessagePath:
                              type: string
                            terminationMessagePolicy:
                              description: TerminationMessagePolicy describes how
                                termination messages are retrieved from a container.
                              type: string
                            tty:
                              type: boolean
                            volumeDevices:
                              items:
                                description: VolumeDeviceApplyConfiguration represents
                                  an declarative configuration of the VolumeDevice
                                  type for use with apply.
                                properties:
                                  devicePath:
                                    type: string
                                  name:
                                    type: string
                                type: object
                              type: array
                            volumeMounts:
                              items:
                                description: VolumeMountApplyConfiguration represents
                                  an declarative configuration of the VolumeMount
                                  type for use with apply.
                                properties:
                                  mountPath:
                                    type: string
                                  mountPropagation:
                                    description: MountPropagationMode describes mount
                                      propagation.
                                    type: string
                                  name:
                                    type: string
                                  readOnly:
                                    type: boolean
                                  subPath:
                                    type: string
                                  subPathExpr:
                                    type: string
                                type: object
                              type: array
                            workingDir:
                              type: string
                          type: object
                        type: array
                      nodeName:
                        type: string
                      nodeSelector:
                        additionalProperties:
                          type: string
                        type: object
                      os:
                        description: PodOSApplyConfiguration represents an declarative
                          configuration of the PodOS type for use with apply.
                        properties:
                          name:
                            description: OSName is the set of OS'es that can be used
                              in OS.
                            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
                        description: ResourceList is a set of (resource name, quantity)
                          pairs.
                        type: object
                      preemptionPolicy:
                        description: PreemptionPolicy describes a policy for if/when
                          to preempt a pod.
                        type: string
                      priority:
                        format: int32
                        type: integer
                      priorityClassName:
                        type: string
                      readinessGates:
                        items:
                          description: PodReadinessGateApplyConfiguration represents
                            an declarative configuration of the PodReadinessGate type
                            for use with apply.
                          properties:
                            conditionType:
                              description: PodConditionType is a valid value for PodCondition.Type
                              type: string
                          type: object
                        type: array
                      restartPolicy:
                        description: RestartPolicy describes how the container should
                          be restarted. Only one of the following restart policies
                          may be specified. If none of the following policies is specified,
                          the default one is RestartPolicyAlways.
                        type: string
                      runtimeClassName:
                        type: string
                      schedulerName:
                        type: string
                      securityContext:
                        description: PodSecurityContextApplyConfiguration represents
                          an declarative configuration of the PodSecurityContext type
                          for use with apply.
                        properties:
                          fsGroup:
                            format: int64
                            type: integer
                          fsGroupChangePolicy:
                            description: PodFSGroupChangePolicy holds policies that
                              will be used for applying fsGroup to a volume when volume
                              is mounted.
                            type: string
                          runAsGroup:
                            format: int64
                            type: integer
                          runAsNonRoot:
                            type: boolean
                          runAsUser:
                            format: int64
                            type: integer
                          seLinuxOptions:
                            description: SELinuxOptionsApplyConfiguration represents
                              an declarative configuration of the SELinuxOptions type
                              for use with apply.
                            properties:
                              level:
                                type: string
                              role:
                                type: string
                              type:
                                type: string
                              user:
                                type: string
                            type: object
                          seccompProfile:
                            description: SeccompProfileApplyConfiguration represents
                              an declarative configuration of the SeccompProfile type
                              for use with apply.
                            properties:
                              localhostProfile:
                                type: string
                              type:
                                description: SeccompProfileType defines the supported
                                  seccomp profile types.
                                type: string
                            type: object
                          supplementalGroups:
                            items:
                              format: int64
                              type: integer
                            type: array
                          sysctls:
                            items:
                              description: SysctlApplyConfiguration represents an
                                declarative configuration of the Sysctl type for use
                                with apply.
                              properties:
                                name:
                                  type: string
                                value:
                                  type: string
                              type: object
                            type: array
                          windowsOptions:
                            description: WindowsSecurityContextOptionsApplyConfiguration
                              represents an declarative configuration of the WindowsSecurityContextOptions
                              type for use with apply.
                            properties:
                              gmsaCredentialSpec:
                                type: string
                              gmsaCredentialSpecName:
                                type: string
                              hostProcess:
                                type: boolean
                              runAsUserName:
                                type: string
                            type: object
                        type: object
                      serviceAccount:
                        type: string
                      serviceAccountName:
                        type: string
                      setHostnameAsFQDN:
                        type: boolean
                      shareProcessNamespace:
                        type: boolean
                      subdomain:
                        type: string
                      terminationGracePeriodSeconds:
                        format: int64
                        type: integer
                      tolerations:
                        items:
                          description: TolerationApplyConfiguration represents an
                            declarative configuration of the Toleration type for use
                            with apply.
                          properties:
                            effect:
                              type: string
                            key:
                              type: string
                            operator:
                              description: A toleration operator is the set of operators
                                that can be used in a toleration.
                              type: string
                            tolerationSeconds:
                              format: int64
                              type: integer
                            value:
                              type: string
                          type: object
                        type: array
                      topologySpreadConstraints:
                        items:
                          description: TopologySpreadConstraintApplyConfiguration
                            represents an declarative configuration of the TopologySpreadConstraint
                            type for use with apply.
                          properties:
                            labelSelector:
                              description: LabelSelectorApplyConfiguration represents
                                an declarative configuration of the LabelSelector
                                type for use with apply.
                              properties:
                                matchExpressions:
                                  items:
                                    description: LabelSelectorRequirementApplyConfiguration
                                      represents an declarative configuration of the
                                      LabelSelectorRequirement type for use with apply.
                                    properties:
                                      key:
                                        type: string
                                      operator:
                                        description: A label selector operator is
                                          the set of operators that can be used in
                                          a selector requirement.
                                        type: string
                                      values:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  type: array
                                matchLabels:
                                  additionalProperties:
                                    type: string
                                  type: object
                              type: object
                            maxSkew:
                              format: int32
                              type: integer
                            topologyKey:
                              type: string
                            whenUnsatisfiable:
                              type: string
                          type: object
                        type: array
                      volumes:
                        items:
                          description: VolumeApplyConfiguration represents an declarative
                            configuration of the Volume type for use with apply.
                          properties:
                            awsElasticBlockStore:
                              description: AWSElasticBlockStoreVolumeSourceApplyConfiguration
                                represents an declarative configuration of the AWSElasticBlockStoreVolumeSource
                                type for use with apply.
                              properties:
                                fsType:
                                  type: string
                                partition:
                                  format: int32
                                  type: integer
                                readOnly:
                                  type: boolean
                                volumeID:
                                  type: string
                              type: object
                            azureDisk:
                              description: AzureDiskVolumeSourceApplyConfiguration
                                represents an declarative configuration of the AzureDiskVolumeSource
                                type for use with apply.
                              properties:
                                cachingMode:
                                  type: string
                                diskName:
                                  type: string
                                diskURI:
                                  type: string
                                fsType:
                                  type: string
                                kind:
                                  type: string
                                readOnly:
                                  type: boolean
                              type: object
                            azureFile:
                              description: AzureFileVolumeSourceApplyConfiguration
                                represents an declarative configuration of the AzureFileVolumeSource
                                type for use with apply.
                              properties:
                                readOnly:
                                  type: boolean
                                secretName:
                                  type: string
                                shareName:
                                  type: string
                              type: object
                            cephfs:
                              description: CephFSVolumeSourceApplyConfiguration represents
                                an declarative configuration of the CephFSVolumeSource
                                type for use with apply.
                              properties:
                                monitors:
                                  items:
                                    type: string
                                  type: array
                                path:
                                  type: string
                                readOnly:
                                  type: boolean
                                secretFile:
                                  type: string
                                secretRef:
                                  description: LocalObjectReferenceApplyConfiguration
                                    represents an declarative configuration of the
                                    LocalObjectReference type for use with apply.
                                  properties:
                                    name:
                                      type: string
                                  type: object
                                user:
                                  type: string
                              type: object
                            cinder:
                              description: CinderVolumeSourceApplyConfiguration represents
                                an declarative configuration of the CinderVolumeSource
                                type for use with apply.
                              properties:
                                fsType:
                                  type: string
                                readOnly:
                                  type: boolean
                                secretRef:
                                  description: LocalObjectReferenceApplyConfiguration
                                    represents an declarative configuration of the
                                    LocalObjectReference type for use with apply.
                                  properties:
                                    name:
                                      type: string
                                  type: object
                                volumeID:
                                  type: string
                              type: object
                            configMap:
                              description: ConfigMapVolumeSourceApplyConfiguration
                                represents an declarative configuration of the ConfigMapVolumeSource
                                type for use with apply.
                              properties:
                                defaultMode:
                                  format: int32
                                  type: integer
                                items:
                                  items:
                                    description: KeyToPathApplyConfiguration represents
                                      an declarative configuration of the KeyToPath
                                      type for use with apply.
                                    properties:
                                      key:
                                        type: string
                                      mode:
                                        format: int32
                                        type: integer
                                      path:
                                        type: string
                                    type: object
                                  type: array
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                            csi:
                              description: CSIVolumeSourceApplyConfiguration represents
                                an declarative configuration of the CSIVolumeSource
                                type for use with apply.
                              properties:
                                driver:
                                  type: string
                                fsType:
                                  type: string
                                nodePublishSecretRef:
                                  description: LocalObjectReferenceApplyConfiguration
                                    represents an declarative configuration of the
                                    LocalObjectReference type for use with apply.
                                  properties:
                                    name:
                                      type: string
                                  type: object
                                readOnly:
                                  type: boolean
                                volumeAttributes:
                                  additionalProperties:
                                    type: string
                                  type: object
                              type: object
                            downwardAPI:
                              description: DownwardAPIVolumeSourceApplyConfiguration
                                represents an declarative configuration of the DownwardAPIVolumeSource
                                type for use with apply.
                              properties:
                                defaultMode:
                                  format: int32
                                  type: integer
                                items:
                                  items:
                                    description: DownwardAPIVolumeFileApplyConfiguration
                                      represents an declarative configuration of the
                                      DownwardAPIVolumeFile type for use with apply.
                                    properties:
                                      fieldRef:
                                        description: ObjectFieldSelectorApplyConfiguration
                                          represents an declarative configuration
                                          of the ObjectFieldSelector type for use
                                          with apply.
                                        properties:
                                          apiVersion:
                                            type: string
                                          fieldPath:
                                            type: string
                                        type: object
                                      mode:
                                        format: int32
                                        type: integer
                                      path:
                                        type: string
                                      resourceFieldRef:
                                        description: ResourceFieldSelectorApplyConfiguration
                                          represents an declarative configuration
                                          of the ResourceFieldSelector type for use
                                          with apply.
                                        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
                                        type: object
                                    type: object
                                  type: array
                              type: object
                            emptyDir:
                              description: EmptyDirVolumeSourceApplyConfiguration
                                represents an declarative configuration of the EmptyDirVolumeSource
                                type for use with apply.
                              properties:
                                medium:
                                  description: StorageMedium defines ways that storage
                                    can be allocated to a volume.
                                  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:
                              description: EphemeralVolumeSourceApplyConfiguration
                                represents an declarative configuration of the EphemeralVolumeSource
                                type for use with apply.
                              properties:
                                volumeClaimTemplate:
                                  description: PersistentVolumeClaimTemplateApplyConfiguration
                                    represents an declarative configuration of the
                                    PersistentVolumeClaimTemplate type for use with
                                    apply.
                                  properties:
                                    metadata:
                                      description: ObjectMetaApplyConfiguration represents
                                        an declarative configuration of the ObjectMeta
                                        type for use with apply.
                                      properties:
                                        annotations:
                                          additionalProperties:
                                            type: string
                                          type: object
                                        clusterName:
                                          type: string
                                        creationTimestamp:
                                          format: date-time
                                          type: string
                                        deletionGracePeriodSeconds:
                                          format: int64
                                          type: integer
                                        deletionTimestamp:
                                          format: date-time
                                          type: string
                                        finalizers:
                                          items:
                                            type: string
                                          type: array
                                        generateName:
                                          type: string
                                        generation:
                                          format: int64
                                          type: integer
                                        labels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                        name:
                                          type: string
                                        namespace:
                                          type: string
                                        ownerReferences:
                                          items:
                                            description: OwnerReferenceApplyConfiguration
                                              represents an declarative configuration
                                              of the OwnerReference type for use with
                                              apply.
                                            properties:
                                              apiVersion:
                                                type: string
                                              blockOwnerDeletion:
                                                type: boolean
                                              controller:
                                                type: boolean
                                              kind:
                                                type: string
                                              name:
                                                type: string
                                              uid:
                                                description: UID is a type that holds
                                                  unique ID values, including UUIDs.  Because
                                                  we don't ONLY use UUIDs, this is
                                                  an alias to string.  Being a type
                                                  captures intent and helps make sure
                                                  that UIDs and names do not get conflated.
                                                type: string
                                            type: object
                                          type: array
                                        resourceVersion:
                                          type: string
                                        selfLink:
                                          type: string
                                        uid:
                                          description: UID is a type that holds unique
                                            ID values, including UUIDs.  Because we
                                            don't ONLY use UUIDs, this is an alias
                                            to string.  Being a type captures intent
                                            and helps make sure that UIDs and names
                                            do not get conflated.
                                          type: string
                                      type: object
                                    spec:
                                      description: PersistentVolumeClaimSpecApplyConfiguration
                                        represents an declarative configuration of
                                        the PersistentVolumeClaimSpec type for use
                                        with apply.
                                      properties:
                                        accessModes:
                                          items:
                                            type: string
                                          type: array
                                        dataSource:
                                          description: TypedLocalObjectReferenceApplyConfiguration
                                            represents an declarative configuration
                                            of the TypedLocalObjectReference type
                                            for use with apply.
                                          properties:
                                            apiGroup:
                                              type: string
                                            kind:
                                              type: string
                                            name:
                                              type: string
                                          type: object
                                        dataSourceRef:
                                          description: TypedLocalObjectReferenceApplyConfiguration
                                            represents an declarative configuration
                                            of the TypedLocalObjectReference type
                                            for use with apply.
                                          properties:
                                            apiGroup:
                                              type: string
                                            kind:
                                              type: string
                                            name:
                                              type: string
                                          type: object
                                        resources:
                                          description: ResourceRequirementsApplyConfiguration
                                            represents an declarative configuration
                                            of the ResourceRequirements type for use
                                            with apply.
                                          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: ResourceList is a set of
                                                (resource name, quantity) pairs.
                                              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: ResourceList is a set of
                                                (resource name, quantity) pairs.
                                              type: object
                                          type: object
                                        selector:
                                          description: LabelSelectorApplyConfiguration
                                            represents an declarative configuration
                                            of the LabelSelector type for use with
                                            apply.
                                          properties:
                                            matchExpressions:
                                              items:
                                                description: LabelSelectorRequirementApplyConfiguration
                                                  represents an declarative configuration
                                                  of the LabelSelectorRequirement
                                                  type for use with apply.
                                                properties:
                                                  key:
                                                    type: string
                                                  operator:
                                                    description: A label selector
                                                      operator is the set of operators
                                                      that can be used in a selector
                                                      requirement.
                                                    type: string
                                                  values:
                                                    items:
                                                      type: string
                                                    type: array
                                                type: object
                                              type: array
                                            matchLabels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                          type: object
                                        storageClassName:
                                          type: string
                                        volumeMode:
                                          description: PersistentVolumeMode describes
                                            how a volume is intended to be consumed,
                                            either Block or Filesystem.
                                          type: string
                                        volumeName:
                                          type: string
                                      type: object
                                  type: object
                              type: object
                            fc:
                              description: FCVolumeSourceApplyConfiguration represents
                                an declarative configuration of the FCVolumeSource
                                type for use with apply.
                              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:
                              description: FlexVolumeSourceApplyConfiguration represents
                                an declarative configuration of the FlexVolumeSource
                                type for use with apply.
                              properties:
                                driver:
                                  type: string
                                fsType:
                                  type: string
                                options:
                                  additionalProperties:
                                    type: string
                                  type: object
                                readOnly:
                                  type: boolean
                                secretRef:
                                  description: LocalObjectReferenceApplyConfiguration
                                    represents an declarative configuration of the
                                    LocalObjectReference type for use with apply.
                                  properties:
                                    name:
                                      type: string
                                  type: object
                              type: object
                            flocker:
                              description: FlockerVolumeSourceApplyConfiguration represents
                                an declarative configuration of the FlockerVolumeSource
                                type for use with apply.
                              properties:
                                datasetName:
                                  type: string
                                datasetUUID:
                                  type: string
                              type: object
                            gcePersistentDisk:
                              description: GCEPersistentDiskVolumeSourceApplyConfiguration
                                represents an declarative configuration of the GCEPersistentDiskVolumeSource
                                type for use with apply.
                              properties:
                                fsType:
                                  type: string
                                partition:
                                  format: int32
                                  type: integer
                                pdName:
                                  type: string
                                readOnly:
                                  type: boolean
                              type: object
                            gitRepo:
                              description: GitRepoVolumeSourceApplyConfiguration represents
                                an declarative configuration of the GitRepoVolumeSource
                                type for use with apply.
                              properties:
                                directory:
                                  type: string
                                repository:
                                  type: string
                                revision:
                                  type: string
                              type: object
                            glusterfs:
                              description: GlusterfsVolumeSourceApplyConfiguration
                                represents an declarative configuration of the GlusterfsVolumeSource
                                type for use with apply.
                              properties:
                                endpoints:
                                  type: string
                                path:
                                  type: string
                                readOnly:
                                  type: boolean
                              type: object
                            hostPath:
                              description: HostPathVolumeSourceApplyConfiguration
                                represents an declarative configuration of the HostPathVolumeSource
                                type for use with apply.
                              properties:
                                path:
                                  type: string
                                type:
                                  type: string
                              type: object
                            iscsi:
                              description: ISCSIVolumeSourceApplyConfiguration represents
                                an declarative configuration of the ISCSIVolumeSource
                                type for use with apply.
                              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:
                                  description: LocalObjectReferenceApplyConfiguration
                                    represents an declarative configuration of the
                                    LocalObjectReference type for use with apply.
                                  properties:
                                    name:
                                      type: string
                                  type: object
                                targetPortal:
                                  type: string
                              type: object
                            name:
                              type: string
                            nfs:
                              description: NFSVolumeSourceApplyConfiguration represents
                                an declarative configuration of the NFSVolumeSource
                                type for use with apply.
                              properties:
                                path:
                                  type: string
                                readOnly:
                                  type: boolean
                                server:
                                  type: string
                              type: object
                            persistentVolumeClaim:
                              description: PersistentVolumeClaimVolumeSourceApplyConfiguration
                                represents an declarative configuration of the PersistentVolumeClaimVolumeSource
                                type for use with apply.
                              properties:
                                claimName:
                                  type: string
                                readOnly:
                                  type: boolean
                              type: object
                            photonPersistentDisk:
                              description: PhotonPersistentDiskVolumeSourceApplyConfiguration
                                represents an declarative configuration of the PhotonPersistentDiskVolumeSource
                                type for use with apply.
                              properties:
                                fsType:
                                  type: string
                                pdID:
                                  type: string
                              type: object
                            portworxVolume:
                              description: PortworxVolumeSourceApplyConfiguration
                                represents an declarative configuration of the PortworxVolumeSource
                                type for use with apply.
                              properties:
                                fsType:
                                  type: string
                                readOnly:
                                  type: boolean
                                volumeID:
                                  type: string
                              type: object
                            projected:
                              description: ProjectedVolumeSourceApplyConfiguration
                                represents an declarative configuration of the ProjectedVolumeSource
                                type for use with apply.
                              properties:
                                defaultMode:
                                  format: int32
                                  type: integer
                                sources:
                                  items:
                                    description: VolumeProjectionApplyConfiguration
                                      represents an declarative configuration of the
                                      VolumeProjection type for use with apply.
                                    properties:
                                      configMap:
                                        description: ConfigMapProjectionApplyConfiguration
                                          represents an declarative configuration
                                          of the ConfigMapProjection type for use
                                          with apply.
                                        properties:
                                          items:
                                            items:
                                              description: KeyToPathApplyConfiguration
                                                represents an declarative configuration
                                                of the KeyToPath type for use with
                                                apply.
                                              properties:
                                                key:
                                                  type: string
                                                mode:
                                                  format: int32
                                                  type: integer
                                                path:
                                                  type: string
                                              type: object
                                            type: array
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        type: object
                                      downwardAPI:
                                        description: DownwardAPIProjectionApplyConfiguration
                                          represents an declarative configuration
                                          of the DownwardAPIProjection type for use
                                          with apply.
                                        properties:
                                          items:
                                            items:
                                              description: DownwardAPIVolumeFileApplyConfiguration
                                                represents an declarative configuration
                                                of the DownwardAPIVolumeFile type
                                                for use with apply.
                                              properties:
                                                fieldRef:
                                                  description: ObjectFieldSelectorApplyConfiguration
                                                    represents an declarative configuration
                                                    of the ObjectFieldSelector type
                                                    for use with apply.
                                                  properties:
                                                    apiVersion:
                                                      type: string
                                                    fieldPath:
                                                      type: string
                                                  type: object
                                                mode:
                                                  format: int32
                                                  type: integer
                                                path:
                                                  type: string
                                                resourceFieldRef:
                                                  description: ResourceFieldSelectorApplyConfiguration
                                                    represents an declarative configuration
                                                    of the ResourceFieldSelector type
                                                    for use with apply.
                                                  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
                                                  type: object
                                              type: object
                                            type: array
                                        type: object
                                      secret:
                                        description: SecretProjectionApplyConfiguration
                                          represents an declarative configuration
                                          of the SecretProjection type for use with
                                          apply.
                                        properties:
                                          items:
                                            items:
                                              description: KeyToPathApplyConfiguration
                                                represents an declarative configuration
                                                of the KeyToPath type for use with
                                                apply.
                                              properties:
                                                key:
                                                  type: string
                                                mode:
                                                  format: int32
                                                  type: integer
                                                path:
                                                  type: string
                                              type: object
                                            type: array
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        type: object
                                      serviceAccountToken:
                                        description: ServiceAccountTokenProjectionApplyConfiguration
                                          represents an declarative configuration
                                          of the ServiceAccountTokenProjection type
                                          for use with apply.
                                        properties:
                                          audience:
                                            type: string
                                          expirationSeconds:
                                            format: int64
                                            type: integer
                                          path:
                                            type: string
                                        type: object
                                    type: object
                                  type: array
                              type: object
                            quobyte:
                              description: QuobyteVolumeSourceApplyConfiguration represents
                                an declarative configuration of the QuobyteVolumeSource
                                type for use with apply.
                              properties:
                                group:
                                  type: string
                                readOnly:
                                  type: boolean
                                registry:
                                  type: string
                                tenant:
                                  type: string
                                user:
                                  type: string
                                volume:
                                  type: string
                              type: object
                            rbd:
                              description: RBDVolumeSourceApplyConfiguration represents
                                an declarative configuration of the RBDVolumeSource
                                type for use with apply.
                              properties:
                                fsType:
                                  type: string
                                image:
                                  type: string
                                keyring:
                                  type: string
                                monitors:
                                  items:
                                    type: string
                                  type: array
                                pool:
                                  type: string
                                readOnly:
                                  type: boolean
                                secretRef:
                                  description: LocalObjectReferenceApplyConfiguration
                                    represents an declarative configuration of the
                                    LocalObjectReference type for use with apply.
                                  properties:
                                    name:
                                      type: string
                                  type: object
                                user:
                                  type: string
                              type: object
                            scaleIO:
                              description: ScaleIOVolumeSourceApplyConfiguration represents
                                an declarative configuration of the ScaleIOVolumeSource
                                type for use with apply.
                              properties:
                                fsType:
                                  type: string
                                gateway:
                                  type: string
                                protectionDomain:
                                  type: string
                                readOnly:
                                  type: boolean
                                secretRef:
                                  description: LocalObjectReferenceApplyConfiguration
                                    represents an declarative configuration of the
                                    LocalObjectReference type for use with apply.
                                  properties:
                                    name:
                                      type: string
                                  type: object
                                sslEnabled:
                                  type: boolean
                                storageMode:
                                  type: string
                                storagePool:
                                  type: string
                                system:
                                  type: string
                                volumeName:
                                  type: string
                              type: object
                            secret:
                              description: SecretVolumeSourceApplyConfiguration represents
                                an declarative configuration of the SecretVolumeSource
                                type for use with apply.
                              properties:
                                defaultMode:
                                  format: int32
                                  type: integer
                                items:
                                  items:
                                    description: KeyToPathApplyConfiguration represents
                                      an declarative configuration of the KeyToPath
                                      type for use with apply.
                                    properties:
                                      key:
                                        type: string
                                      mode:
                                        format: int32
                                        type: integer
                                      path:
                                        type: string
                                    type: object
                                  type: array
                                optional:
                                  type: boolean
                                secretName:
                                  type: string
                              type: object
                            storageos:
                              description: StorageOSVolumeSourceApplyConfiguration
                                represents an declarative configuration of the StorageOSVolumeSource
                                type for use with apply.
                              properties:
                                fsType:
                                  type: string
                                readOnly:
                                  type: boolean
                                secretRef:
                                  description: LocalObjectReferenceApplyConfiguration
                                    represents an declarative configuration of the
                                    LocalObjectReference type for use with apply.
                                  properties:
                                    name:
                                      type: string
                                  type: object
                                volumeName:
                                  type: string
                                volumeNamespace:
                                  type: string
                              type: object
                            vsphereVolume:
                              description: VsphereVirtualDiskVolumeSourceApplyConfiguration
                                represents an declarative configuration of the VsphereVirtualDiskVolumeSource
                                type for use with apply.
                              properties:
                                fsType:
                                  type: string
                                storagePolicyID:
                                  type: string
                                storagePolicyName:
                                  type: string
                                volumePath:
                                  type: string
                              type: object
                          type: object
                        type: array
                    type: object
                required:
                - spec
                type: object
              replicas:
                default: 1
                description: Replicas is the number of instances. Available values
                  are positive odd numbers.
                format: int32
                type: integer
              replicationSourceSecretName:
                description: ReplicationSourceSecretName is a `Secret` name which
                  contains replication source info. If this field is given, the `MySQLCluster`
                  works as an intermediate primary.
                nullable: true
                type: string
              restore:
                description: Restore is the specification to perform Point-in-Time-Recovery
                  from existing cluster. If this field is not null, MOCO restores
                  the data as specified and create a new cluster with the data.  This
                  field is not editable.
                properties:
                  jobConfig:
                    description: Specifies parameters for restore Pod.
                    properties:
                      bucketConfig:
                        description: Specifies how to access an object storage bucket.
                        properties:
                          bucketName:
                            description: The name of the bucket
                            minLength: 1
                            type: string
                          endpointURL:
                            description: The API endpoint URL.  Set this for non-S3
                              object storages.
                            pattern: ^https?://.*
                            type: string
                          region:
                            description: The region of the bucket. This can also be
                              set through `AWS_REGION` environment variable.
                            type: string
                          usePathStyle:
                            description: Allows you to enable the client to use path-style
                              addressing, i.e., https?://ENDPOINT/BUCKET/KEY. By default,
                              a virtual-host addressing is used (https?://BUCKET.ENDPOINT/KEY).
                            type: boolean
                        required:
                        - bucketName
                        type: object
                      env:
                        description: "List of environment variables to set in the
                          container. \n You can configure S3 bucket access parameters
                          through environment variables. See https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/config#EnvConfig"
                        items:
                          description: EnvVarApplyConfiguration is the type defined
                            to implement the DeepCopy method.
                          properties:
                            name:
                              type: string
                            value:
                              type: string
                            valueFrom:
                              description: EnvVarSourceApplyConfiguration represents
                                an declarative configuration of the EnvVarSource type
                                for use with apply.
                              properties:
                                configMapKeyRef:
                                  description: ConfigMapKeySelectorApplyConfiguration
                                    represents an declarative configuration of the
                                    ConfigMapKeySelector type for use with apply.
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  type: object
                                fieldRef:
                                  description: ObjectFieldSelectorApplyConfiguration
                                    represents an declarative configuration of the
                                    ObjectFieldSelector type for use with apply.
                                  properties:
                                    apiVersion:
                                      type: string
                                    fieldPath:
                                      type: string
                                  type: object
                                resourceFieldRef:
                                  description: ResourceFieldSelectorApplyConfiguration
                                    represents an declarative configuration of the
                                    ResourceFieldSelector type for use with apply.
                                  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
                                  type: object
                                secretKeyRef:
                                  description: SecretKeySelectorApplyConfiguration
                                    represents an declarative configuration of the
                                    SecretKeySelector type for use with apply.
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  type: object
                              type: object
                          type: object
                        type: array
                      envFrom:
                        description: List of sources to populate environment variables
                          in the container. The keys defined within a source must
                          be a C_IDENTIFIER. All invalid keys will be reported as
                          an event when the container is starting.
                        items:
                          description: EnvFromSourceApplyConfiguration is the type
                            defined to implement the DeepCopy method.
                          properties:
                            configMapRef:
                              description: ConfigMapEnvSourceApplyConfiguration represents
                                an declarative configuration of the ConfigMapEnvSource
                                type for use with apply.
                              properties:
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                            prefix:
                              type: string
                            secretRef:
                              description: SecretEnvSourceApplyConfiguration represents
                                an declarative configuration of the SecretEnvSource
                                type for use with apply.
                              properties:
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                          type: object
                        type: array
                      maxMemory:
                        anyOf:
                        - type: integer
                        - type: string
                        description: MaxMemory is the amount of maximum memory for
                          the Pod.
                        nullable: true
                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                        x-kubernetes-int-or-string: true
                      memory:
                        anyOf:
                        - type: integer
                        - type: string
                        default: 4Gi
                        description: Memory is the amount of memory requested for
                          the Pod.
                        nullable: true
                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                        x-kubernetes-int-or-string: true
                      serviceAccountName:
                        description: ServiceAccountName specifies the ServiceAccount
                          to run the Pod.
                        minLength: 1
                        type: string
                      threads:
                        default: 4
                        description: Threads is the number of threads used for backup
                          or restoration.
                        minimum: 1
                        type: integer
                      workVolume:
                        description: "WorkVolume is the volume source for the working
                          directory. Since the backup or restore task can use a lot
                          of bytes in the working directory, You should always give
                          a volume with enough capacity. \n The recommended volume
                          source is a generic ephemeral volume. https://kubernetes."
                        properties:
                          awsElasticBlockStore:
                            description: AWSElasticBlockStoreVolumeSourceApplyConfiguration
                              represents an declarative configuration of the AWSElasticBlockStoreVolumeSource
                              type for use with apply.
                            properties:
                              fsType:
                                type: string
                              partition:
                                format: int32
                                type: integer
                              readOnly:
                                type: boolean
                              volumeID:
                                type: string
                            type: object
                          azureDisk:
                            description: AzureDiskVolumeSourceApplyConfiguration represents
                              an declarative configuration of the AzureDiskVolumeSource
                              type for use with apply.
                            properties:
                              cachingMode:
                                type: string
                              diskName:
                                type: string
                              diskURI:
                                type: string
                              fsType:
                                type: string
                              kind:
                                type: string
                              readOnly:
                                type: boolean
                            type: object
                          azureFile:
                            description: AzureFileVolumeSourceApplyConfiguration represents
                              an declarative configuration of the AzureFileVolumeSource
                              type for use with apply.
                            properties:
                              readOnly:
                                type: boolean
                              secretName:
                                type: string
                              shareName:
                                type: string
                            type: object
                          cephfs:
                            description: CephFSVolumeSourceApplyConfiguration represents
                              an declarative configuration of the CephFSVolumeSource
                              type for use with apply.
                            properties:
                              monitors:
                                items:
                                  type: string
                                type: array
                              path:
                                type: string
                              readOnly:
                                type: boolean
                              secretFile:
                                type: string
                              secretRef:
                                description: LocalObjectReferenceApplyConfiguration
                                  represents an declarative configuration of the LocalObjectReference
                                  type for use with apply.
                                properties:
                                  name:
                                    type: string
                                type: object
                              user:
                                type: string
                            type: object
                          cinder:
                            description: CinderVolumeSourceApplyConfiguration represents
                              an declarative configuration of the CinderVolumeSource
                              type for use with apply.
                            properties:
                              fsType:
                                type: string
                              readOnly:
                                type: boolean
                              secretRef:
                                description: LocalObjectReferenceApplyConfiguration
                                  represents an declarative configuration of the LocalObjectReference
                                  type for use with apply.
                                properties:
                                  name:
                                    type: string
                                type: object
                              volumeID:
                                type: string
                            type: object
                          configMap:
                            description: ConfigMapVolumeSourceApplyConfiguration represents
                              an declarative configuration of the ConfigMapVolumeSource
                              type for use with apply.
                            properties:
                              defaultMode:
                                format: int32
                                type: integer
                              items:
                                items:
                                  description: KeyToPathApplyConfiguration represents
                                    an declarative configuration of the KeyToPath
                                    type for use with apply.
                                  properties:
                                    key:
                                      type: string
                                    mode:
                                      format: int32
                                      type: integer
                                    path:
                                      type: string
                                  type: object
                                type: array
                              name:
                                type: string
                              optional:
                                type: boolean
                            type: object
                          csi:
                            description: CSIVolumeSourceApplyConfiguration represents
                              an declarative configuration of the CSIVolumeSource
                              type for use with apply.
                            properties:
                              driver:
                                type: string
                              fsType:
                                type: string
                              nodePublishSecretRef:
                                description: LocalObjectReferenceApplyConfiguration
                                  represents an declarative configuration of the LocalObjectReference
                                  type for use with apply.
                                properties:
                                  name:
                                    type: string
                                type: object
                              readOnly:
                                type: boolean
                              volumeAttributes:
                                additionalProperties:
                                  type: string
                                type: object
                            type: object
                          downwardAPI:
                            description: DownwardAPIVolumeSourceApplyConfiguration
                              represents an declarative configuration of the DownwardAPIVolumeSource
                              type for use with apply.
                            properties:
                              defaultMode:
                                format: int32
                                type: integer
                              items:
                                items:
                                  description: DownwardAPIVolumeFileApplyConfiguration
                                    represents an declarative configuration of the
                                    DownwardAPIVolumeFile type for use with apply.
                                  properties:
                                    fieldRef:
                                      description: ObjectFieldSelectorApplyConfiguration
                                        represents an declarative configuration of
                                        the ObjectFieldSelector type for use with
                                        apply.
                                      properties:
                                        apiVersion:
                                          type: string
                                        fieldPath:
                                          type: string
                                      type: object
                                    mode:
                                      format: int32
                                      type: integer
                                    path:
                                      type: string
                                    resourceFieldRef:
                                      description: ResourceFieldSelectorApplyConfiguration
                                        represents an declarative configuration of
                                        the ResourceFieldSelector type for use with
                                        apply.
                                      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
                                      type: object
                                  type: object
                                type: array
                            type: object
                          emptyDir:
                            description: EmptyDirVolumeSourceApplyConfiguration represents
                              an declarative configuration of the EmptyDirVolumeSource
                              type for use with apply.
                            properties:
                              medium:
                                description: StorageMedium defines ways that storage
                                  can be allocated to a volume.
                                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:
                            description: EphemeralVolumeSourceApplyConfiguration represents
                              an declarative configuration of the EphemeralVolumeSource
                              type for use with apply.
                            properties:
                              volumeClaimTemplate:
                                description: PersistentVolumeClaimTemplateApplyConfiguration
                                  represents an declarative configuration of the PersistentVolumeClaimTemplate
                                  type for use with apply.
                                properties:
                                  metadata:
                                    description: ObjectMetaApplyConfiguration represents
                                      an declarative configuration of the ObjectMeta
                                      type for use with apply.
                                    properties:
                                      annotations:
                                        additionalProperties:
                                          type: string
                                        type: object
                                      clusterName:
                                        type: string
                                      creationTimestamp:
                                        format: date-time
                                        type: string
                                      deletionGracePeriodSeconds:
                                        format: int64
                                        type: integer
                                      deletionTimestamp:
                                        format: date-time
                                        type: string
                                      finalizers:
                                        items:
                                          type: string
                                        type: array
                                      generateName:
                                        type: string
                                      generation:
                                        format: int64
                                        type: integer
                                      labels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                      name:
                                        type: string
                                      namespace:
                                        type: string
                                      ownerReferences:
                                        items:
                                          description: OwnerReferenceApplyConfiguration
                                            represents an declarative configuration
                                            of the OwnerReference type for use with
                                            apply.
                                          properties:
                                            apiVersion:
                                              type: string
                                            blockOwnerDeletion:
                                              type: boolean
                                            controller:
                                              type: boolean
                                            kind:
                                              type: string
                                            name:
                                              type: string
                                            uid:
                                              description: UID is a type that holds
                                                unique ID values, including UUIDs.  Because
                                                we don't ONLY use UUIDs, this is an
                                                alias to string.  Being a type captures
                                                intent and helps make sure that UIDs
                                                and names do not get conflated.
                                              type: string
                                          type: object
                                        type: array
                                      resourceVersion:
                                        type: string
                                      selfLink:
                                        type: string
                                      uid:
                                        description: UID is a type that holds unique
                                          ID values, including UUIDs.  Because we
                                          don't ONLY use UUIDs, this is an alias to
                                          string.  Being a type captures intent and
                                          helps make sure that UIDs and names do not
                                          get conflated.
                                        type: string
                                    type: object
                                  spec:
                                    description: PersistentVolumeClaimSpecApplyConfiguration
                                      represents an declarative configuration of the
                                      PersistentVolumeClaimSpec type for use with
                                      apply.
                                    properties:
                                      accessModes:
                                        items:
                                          type: string
                                        type: array
                                      dataSource:
                                        description: TypedLocalObjectReferenceApplyConfiguration
                                          represents an declarative configuration
                                          of the TypedLocalObjectReference type for
                                          use with apply.
                                        properties:
                                          apiGroup:
                                            type: string
                                          kind:
                                            type: string
                                          name:
                                            type: string
                                        type: object
                                      dataSourceRef:
                                        description: TypedLocalObjectReferenceApplyConfiguration
                                          represents an declarative configuration
                                          of the TypedLocalObjectReference type for
                                          use with apply.
                                        properties:
                                          apiGroup:
                                            type: string
                                          kind:
                                            type: string
                                          name:
                                            type: string
                                        type: object
                                      resources:
                                        description: ResourceRequirementsApplyConfiguration
                                          represents an declarative configuration
                                          of the ResourceRequirements type for use
                                          with apply.
                                        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: ResourceList is a set of
                                              (resource name, quantity) pairs.
                                            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: ResourceList is a set of
                                              (resource name, quantity) pairs.
                                            type: object
                                        type: object
                                      selector:
                                        description: LabelSelectorApplyConfiguration
                                          represents an declarative configuration
                                          of the LabelSelector type for use with apply.
                                        properties:
                                          matchExpressions:
                                            items:
                                              description: LabelSelectorRequirementApplyConfiguration
                                                represents an declarative configuration
                                                of the LabelSelectorRequirement type
                                                for use with apply.
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  description: A label selector operator
                                                    is the set of operators that can
                                                    be used in a selector requirement.
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              type: object
                                            type: array
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      storageClassName:
                                        type: string
                                      volumeMode:
                                        description: PersistentVolumeMode describes
                                          how a volume is intended to be consumed,
                                          either Block or Filesystem.
                                        type: string
                                      volumeName:
                                        type: string
                                    type: object
                                type: object
                            type: object
                          fc:
                            description: FCVolumeSourceApplyConfiguration represents
                              an declarative configuration of the FCVolumeSource type
                              for use with apply.
                            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:
                            description: FlexVolumeSourceApplyConfiguration represents
                              an declarative configuration of the FlexVolumeSource
                              type for use with apply.
                            properties:
                              driver:
                                type: string
                              fsType:
                                type: string
                              options:
                                additionalProperties:
                                  type: string
                                type: object
                              readOnly:
                                type: boolean
                              secretRef:
                                description: LocalObjectReferenceApplyConfiguration
                                  represents an declarative configuration of the LocalObjectReference
                                  type for use with apply.
                                properties:
                                  name:
                                    type: string
                                type: object
                            type: object
                          flocker:
                            description: FlockerVolumeSourceApplyConfiguration represents
                              an declarative configuration of the FlockerVolumeSource
                              type for use with apply.
                            properties:
                              datasetName:
                                type: string
                              datasetUUID:
                                type: string
                            type: object
                          gcePersistentDisk:
                            description: GCEPersistentDiskVolumeSourceApplyConfiguration
                              represents an declarative configuration of the GCEPersistentDiskVolumeSource
                              type for use with apply.
                            properties:
                              fsType:
                                type: string
                              partition:
                                format: int32
                                type: integer
                              pdName:
                                type: string
                              readOnly:
                                type: boolean
                            type: object
                          gitRepo:
                            description: GitRepoVolumeSourceApplyConfiguration represents
                              an declarative configuration of the GitRepoVolumeSource
                              type for use with apply.
                            properties:
                              directory:
                                type: string
                              repository:
                                type: string
                              revision:
                                type: string
                            type: object
                          glusterfs:
                            description: GlusterfsVolumeSourceApplyConfiguration represents
                              an declarative configuration of the GlusterfsVolumeSource
                              type for use with apply.
                            properties:
                              endpoints:
                                type: string
                              path:
                                type: string
                              readOnly:
                                type: boolean
                            type: object
                          hostPath:
                            description: HostPathVolumeSourceApplyConfiguration represents
                              an declarative configuration of the HostPathVolumeSource
                              type for use with apply.
                            properties:
                              path:
                                type: string
                              type:
                                type: string
                            type: object
                          iscsi:
                            description: ISCSIVolumeSourceApplyConfiguration represents
                              an declarative configuration of the ISCSIVolumeSource
                              type for use with apply.
                            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:
                                description: LocalObjectReferenceApplyConfiguration
                                  represents an declarative configuration of the LocalObjectReference
                                  type for use with apply.
                                properties:
                                  name:
                                    type: string
                                type: object
                              targetPortal:
                                type: string
                            type: object
                          nfs:
                            description: NFSVolumeSourceApplyConfiguration represents
                              an declarative configuration of the NFSVolumeSource
                              type for use with apply.
                            properties:
                              path:
                                type: string
                              readOnly:
                                type: boolean
                              server:
                                type: string
                            type: object
                          persistentVolumeClaim:
                            description: PersistentVolumeClaimVolumeSourceApplyConfiguration
                              represents an declarative configuration of the PersistentVolumeClaimVolumeSource
                              type for use with apply.
                            properties:
                              claimName:
                                type: string
                              readOnly:
                                type: boolean
                            type: object
                          photonPersistentDisk:
                            description: PhotonPersistentDiskVolumeSourceApplyConfiguration
                              represents an declarative configuration of the PhotonPersistentDiskVolumeSource
                              type for use with apply.
                            properties:
                              fsType:
                                type: string
                              pdID:
                                type: string
                            type: object
                          portworxVolume:
                            description: PortworxVolumeSourceApplyConfiguration represents
                              an declarative configuration of the PortworxVolumeSource
                              type for use with apply.
                            properties:
                              fsType:
                                type: string
                              readOnly:
                                type: boolean
                              volumeID:
                                type: string
                            type: object
                          projected:
                            description: ProjectedVolumeSourceApplyConfiguration represents
                              an declarative configuration of the ProjectedVolumeSource
                              type for use with apply.
                            properties:
                              defaultMode:
                                format: int32
                                type: integer
                              sources:
                                items:
                                  description: VolumeProjectionApplyConfiguration
                                    represents an declarative configuration of the
                                    VolumeProjection type for use with apply.
                                  properties:
                                    configMap:
                                      description: ConfigMapProjectionApplyConfiguration
                                        represents an declarative configuration of
                                        the ConfigMapProjection type for use with
                                        apply.
                                      properties:
                                        items:
                                          items:
                                            description: KeyToPathApplyConfiguration
                                              represents an declarative configuration
                                              of the KeyToPath type for use with apply.
                                            properties:
                                              key:
                                                type: string
                                              mode:
                                                format: int32
                                                type: integer
                                              path:
                                                type: string
                                            type: object
                                          type: array
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      type: object
                                    downwardAPI:
                                      description: DownwardAPIProjectionApplyConfiguration
                                        represents an declarative configuration of
                                        the DownwardAPIProjection type for use with
                                        apply.
                                      properties:
                                        items:
                                          items:
                                            description: DownwardAPIVolumeFileApplyConfiguration
                                              represents an declarative configuration
                                              of the DownwardAPIVolumeFile type for
                                              use with apply.
                                            properties:
                                              fieldRef:
                                                description: ObjectFieldSelectorApplyConfiguration
                                                  represents an declarative configuration
                                                  of the ObjectFieldSelector type
                                                  for use with apply.
                                                properties:
                                                  apiVersion:
                                                    type: string
                                                  fieldPath:
                                                    type: string
                                                type: object
                                              mode:
                                                format: int32
                                                type: integer
                                              path:
                                                type: string
                                              resourceFieldRef:
                                                description: ResourceFieldSelectorApplyConfiguration
                                                  represents an declarative configuration
                                                  of the ResourceFieldSelector type
                                                  for use with apply.
                                                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
                                                type: object
                                            type: object
                                          type: array
                                      type: object
                                    secret:
                                      description: SecretProjectionApplyConfiguration
                                        represents an declarative configuration of
                                        the SecretProjection type for use with apply.
                                      properties:
                                        items:
                                          items:
                                            description: KeyToPathApplyConfiguration
                                              represents an declarative configuration
                                              of the KeyToPath type for use with apply.
                                            properties:
                                              key:
                                                type: string
                                              mode:
                                                format: int32
                                                type: integer
                                              path:
                                                type: string
                                            type: object
                                          type: array
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      type: object
                                    serviceAccountToken:
                                      description: ServiceAccountTokenProjectionApplyConfiguration
                                        represents an declarative configuration of
                                        the ServiceAccountTokenProjection type for
                                        use with apply.
                                      properties:
                                        audience:
                                          type: string
                                        expirationSeconds:
                                          format: int64
                                          type: integer
                                        path:
                                          type: string
                                      type: object
                                  type: object
                                type: array
                            type: object
                          quobyte:
                            description: QuobyteVolumeSourceApplyConfiguration represents
                              an declarative configuration of the QuobyteVolumeSource
                              type for use with apply.
                            properties:
                              group:
                                type: string
                              readOnly:
                                type: boolean
                              registry:
                                type: string
                              tenant:
                                type: string
                              user:
                                type: string
                              volume:
                                type: string
                            type: object
                          rbd:
                            description: RBDVolumeSourceApplyConfiguration represents
                              an declarative configuration of the RBDVolumeSource
                              type for use with apply.
                            properties:
                              fsType:
                                type: string
                              image:
                                type: string
                              keyring:
                                type: string
                              monitors:
                                items:
                                  type: string
                                type: array
                              pool:
                                type: string
                              readOnly:
                                type: boolean
                              secretRef:
                                description: LocalObjectReferenceApplyConfiguration
                                  represents an declarative configuration of the LocalObjectReference
                                  type for use with apply.
                                properties:
                                  name:
                                    type: string
                                type: object
                              user:
                                type: string
                            type: object
                          scaleIO:
                            description: ScaleIOVolumeSourceApplyConfiguration represents
                              an declarative configuration of the ScaleIOVolumeSource
                              type for use with apply.
                            properties:
                              fsType:
                                type: string
                              gateway:
                                type: string
                              protectionDomain:
                                type: string
                              readOnly:
                                type: boolean
                              secretRef:
                                description: LocalObjectReferenceApplyConfiguration
                                  represents an declarative configuration of the LocalObjectReference
                                  type for use with apply.
                                properties:
                                  name:
                                    type: string
                                type: object
                              sslEnabled:
                                type: boolean
                              storageMode:
                                type: string
                              storagePool:
                                type: string
                              system:
                                type: string
                              volumeName:
                                type: string
                            type: object
                          secret:
                            description: SecretVolumeSourceApplyConfiguration represents
                              an declarative configuration of the SecretVolumeSource
                              type for use with apply.
                            properties:
                              defaultMode:
                                format: int32
                                type: integer
                              items:
                                items:
                                  description: KeyToPathApplyConfiguration represents
                                    an declarative configuration of the KeyToPath
                                    type for use with apply.
                                  properties:
                                    key:
                                      type: string
                                    mode:
                                      format: int32
                                      type: integer
                                    path:
                                      type: string
                                  type: object
                                type: array
                              optional:
                                type: boolean
                              secretName:
                                type: string
                            type: object
                          storageos:
                            description: StorageOSVolumeSourceApplyConfiguration represents
                              an declarative configuration of the StorageOSVolumeSource
                              type for use with apply.
                            properties:
                              fsType:
                                type: string
                              readOnly:
                                type: boolean
                              secretRef:
                                description: LocalObjectReferenceApplyConfiguration
                                  represents an declarative configuration of the LocalObjectReference
                                  type for use with apply.
                                properties:
                                  name:
                                    type: string
                                type: object
                              volumeName:
                                type: string
                              volumeNamespace:
                                type: string
                            type: object
                          vsphereVolume:
                            description: VsphereVirtualDiskVolumeSourceApplyConfiguration
                              represents an declarative configuration of the VsphereVirtualDiskVolumeSource
                              type for use with apply.
                            properties:
                              fsType:
                                type: string
                              storagePolicyID:
                                type: string
                              storagePolicyName:
                                type: string
                              volumePath:
                                type: string
                            type: object
                        type: object
                    required:
                    - bucketConfig
                    - serviceAccountName
                    - workVolume
                    type: object
                  restorePoint:
                    description: RestorePoint is the target date and time to restore
                      data. The format is RFC3339.  e.g. "2006-01-02T15:04:05Z"
                    format: date-time
                    type: string
                  sourceName:
                    description: SourceName is the name of the source `MySQLCluster`.
                    minLength: 1
                    type: string
                  sourceNamespace:
                    description: SourceNamespace is the namespace of the source `MySQLCluster`.
                    minLength: 1
                    type: string
                required:
                - jobConfig
                - restorePoint
                - sourceName
                - sourceNamespace
                type: object
              serverIDBase:
                description: ServerIDBase, if set, will become the base number of
                  server-id of each MySQL instance of this cluster.  For example,
                  if this is 100, the server-ids will be 100, 101, 102, and so on.
                  If the field is not given or zero, MOCO automatically sets a random
                  positive integer.
                format: int32
                type: integer
              serviceTemplate:
                description: ServiceTemplate is a `Service` template for both primary
                  and replicas.
                properties:
                  metadata:
                    description: Standard object's metadata.  Only `annotations` and
                      `labels` are valid.
                    properties:
                      annotations:
                        additionalProperties:
                          type: string
                        description: Annotations is a map of string keys and values.
                        type: object
                      labels:
                        additionalProperties:
                          type: string
                        description: Labels is a map of string keys and values.
                        type: object
                      name:
                        description: Name is the name of the object.
                        type: string
                    type: object
                  spec:
                    description: Spec is the ServiceSpec
                    properties:
                      allocateLoadBalancerNodePorts:
                        type: boolean
                      clusterIP:
                        type: string
                      clusterIPs:
                        items:
                          type: string
                        type: array
                      externalIPs:
                        items:
                          type: string
                        type: array
                      externalName:
                        type: string
                      externalTrafficPolicy:
                        description: Service External Traffic Policy Type string
                        type: string
                      healthCheckNodePort:
                        format: int32
                        type: integer
                      internalTrafficPolicy:
                        description: ServiceInternalTrafficPolicyType describes the
                          type of traffic routing for internal traffic
                        type: string
                      ipFamilies:
                        items:
                          description: IPFamily represents the IP Family (IPv4 or
                            IPv6). This type is used to express the family of an IP
                            expressed by a type (e.g. service.spec.ipFamilies).
                          type: string
                        type: array
                      ipFamilyPolicy:
                        description: IPFamilyPolicyType represents the dual-stack-ness
                          requested or required by a Service
                        type: string
                      loadBalancerClass:
                        type: string
                      loadBalancerIP:
                        type: string
                      loadBalancerSourceRanges:
                        items:
                          type: string
                        type: array
                      ports:
                        items:
                          description: ServicePortApplyConfiguration represents an
                            declarative configuration of the ServicePort type for
                            use with apply.
                          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
                          type: object
                        type: array
                      publishNotReadyAddresses:
                        type: boolean
                      selector:
                        additionalProperties:
                          type: string
                        type: object
                      sessionAffinity:
                        description: Session Affinity Type string
                        type: string
                      sessionAffinityConfig:
                        description: SessionAffinityConfigApplyConfiguration represents
                          an declarative configuration of the SessionAffinityConfig
                          type for use with apply.
                        properties:
                          clientIP:
                            description: ClientIPConfigApplyConfiguration represents
                              an declarative configuration of the ClientIPConfig type
                              for use with apply.
                            properties:
                              timeoutSeconds:
                                format: int32
                                type: integer
                            type: object
                        type: object
                      type:
                        description: Service Type string describes ingress methods
                          for a service
                        type: string
                    type: object
                type: object
              startupDelaySeconds:
                default: 3600
                description: StartupWaitSeconds is the maximum duration to wait for
                  `mysqld` container to start working. The default is 3600 seconds.
                format: int32
                minimum: 0
                type: integer
              volumeClaimTemplates:
                description: VolumeClaimTemplates is a list of `PersistentVolumeClaim`
                  templates for MySQL server container. A claim named "mysql-data"
                  must be included in the list.
                items:
                  description: PersistentVolumeClaim is a user's request for and claim
                    to a persistent volume. This is slightly modified from corev1.PersistentVolumeClaim.
                  properties:
                    metadata:
                      description: Standard object's metadata.
                      properties:
                        annotations:
                          additionalProperties:
                            type: string
                          description: Annotations is a map of string keys and values.
                          type: object
                        labels:
                          additionalProperties:
                            type: string
                          description: Labels is a map of string keys and values.
                          type: object
                        name:
                          description: Name is the name of the object.
                          type: string
                      type: object
                    spec:
                      description: Spec defines the desired characteristics of a volume
                        requested by a pod author.
                      properties:
                        accessModes:
                          items:
                            type: string
                          type: array
                        dataSource:
                          description: TypedLocalObjectReferenceApplyConfiguration
                            represents an declarative configuration of the TypedLocalObjectReference
                            type for use with apply.
                          properties:
                            apiGroup:
                              type: string
                            kind:
                              type: string
                            name:
                              type: string
                          type: object
                        dataSourceRef:
                          description: TypedLocalObjectReferenceApplyConfiguration
                            represents an declarative configuration of the TypedLocalObjectReference
                            type for use with apply.
                          properties:
                            apiGroup:
                              type: string
                            kind:
                              type: string
                            name:
                              type: string
                          type: object
                        resources:
                          description: ResourceRequirementsApplyConfiguration represents
                            an declarative configuration of the ResourceRequirements
                            type for use with apply.
                          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: ResourceList is a set of (resource name,
                                quantity) pairs.
                              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: ResourceList is a set of (resource name,
                                quantity) pairs.
                              type: object
                          type: object
                        selector:
                          description: LabelSelectorApplyConfiguration represents
                            an declarative configuration of the LabelSelector type
                            for use with apply.
                          properties:
                            matchExpressions:
                              items:
                                description: LabelSelectorRequirementApplyConfiguration
                                  represents an declarative configuration of the LabelSelectorRequirement
                                  type for use with apply.
                                properties:
                                  key:
                                    type: string
                                  operator:
                                    description: A label selector operator is the
                                      set of operators that can be used in a selector
                                      requirement.
                                    type: string
                                  values:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              type: array
                            matchLabels:
                              additionalProperties:
                                type: string
                              type: object
                          type: object
                        storageClassName:
                          type: string
                        volumeMode:
                          description: PersistentVolumeMode describes how a volume
                            is intended to be consumed, either Block or Filesystem.
                          type: string
                        volumeName:
                          type: string
                      type: object
                  required:
                  - metadata
                  - spec
                  type: object
                minItems: 1
                type: array
            required:
            - podTemplate
            - volumeClaimTemplates
            type: object
          status:
            description: MySQLClusterStatus defines the observed state of MySQLCluster
            properties:
              backup:
                description: Backup is the status of the last successful backup.
                properties:
                  binlogFilename:
                    description: BinlogFilename is the binlog filename that the backup
                      source instance was writing to at the backup.
                    type: string
                  binlogSize:
                    description: BinlogSize is the size in bytes of a tarball of binlog
                      files stored in an object storage bucket.
                    format: int64
                    type: integer
                  dumpSize:
                    description: DumpSize is the size in bytes of a full dump of database
                      stored in an object storage bucket.
                    format: int64
                    type: integer
                  elapsed:
                    description: Elapsed is the time spent on the backup.
                    type: string
                  gtidSet:
                    description: GTIDSet is the GTID set of the full dump of database.
                    type: string
                  sourceIndex:
                    description: SourceIndex is the ordinal of the backup source instance.
                    type: integer
                  sourceUUID:
                    description: SourceUUID is the `server_uuid` of the backup source
                      instance.
                    type: string
                  time:
                    description: The time of the backup.  This is used to generate
                      object keys of backup files in a bucket.
                    format: date-time
                    nullable: true
                    type: string
                  warnings:
                    description: Warnings are list of warnings from the last backup,
                      if any.
                    items:
                      type: string
                    nullable: true
                    type: array
                  workDirUsage:
                    description: WorkDirUsage is the max usage in bytes of the woking
                      directory.
                    format: int64
                    type: integer
                required:
                - binlogFilename
                - binlogSize
                - dumpSize
                - elapsed
                - gtidSet
                - sourceIndex
                - sourceUUID
                - time
                - warnings
                - workDirUsage
                type: object
              cloned:
                description: Cloned indicates if the initial cloning from an external
                  source has been completed.
                type: boolean
              conditions:
                description: Conditions is an array of conditions.
                items:
                  description: MySQLClusterCondition defines the condition of MySQLCluster.
                  properties:
                    lastTransitionTime:
                      description: LastTransitionTime is the last time the condition
                        transits from one status to another.
                      format: date-time
                      type: string
                    message:
                      description: Message is a human-readable message indicating
                        details about last transition.
                      type: string
                    reason:
                      description: Reason is a one-word CamelCase reason for the condition's
                        last transition.
                      type: string
                    status:
                      description: Status is the status of the condition.
                      type: string
                    type:
                      description: Type is the type of the condition.
                      enum:
                      - Initialized
                      - Available
                      - Healthy
                      type: string
                  required:
                  - lastTransitionTime
                  - status
                  - type
                  type: object
                type: array
              currentPrimaryIndex:
                description: CurrentPrimaryIndex is the index of the current primary
                  Pod in StatefulSet. Initially, this is zero.
                type: integer
              errantReplicaList:
                description: ErrantReplicaList is the list of indices of errant replicas.
                items:
                  type: integer
                type: array
              errantReplicas:
                description: ErrantReplicas is the number of instances that have errant
                  transactions.
                type: integer
              reconcileInfo:
                description: ReconcileInfo represents version information for reconciler.
                properties:
                  generation:
                    description: Generation is the `metadata.generation` value of
                      the last reconciliation. See also https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#status-subresource
                    format: int64
                    type: integer
                  reconcileVersion:
                    description: ReconcileVersion is the version of the operator reconciler.
                    type: integer
                type: object
              restoredTime:
                description: RestoredTime is the time when the cluster data is restored.
                format: date-time
                type: string
              syncedReplicas:
                description: SyncedReplicas is the number of synced instances including
                  the primary.
                type: integer
            required:
            - currentPrimaryIndex
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
  - additionalPrinterColumns:
    - jsonPath: .status.conditions[?(@.type=='Available')].status
      name: Available
      type: string
    - jsonPath: .status.conditions[?(@.type=='Healthy')].status
      name: Healthy
      type: string
    - jsonPath: .status.currentPrimaryIndex
      name: Primary
      type: integer
    - jsonPath: .status.syncedReplicas
      name: Synced replicas
      type: integer
    - jsonPath: .status.errantReplicas
      name: Errant replicas
      type: integer
    - jsonPath: .status.backup.time
      name: Last backup
      type: string
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: MySQLCluster is the Schema for the mysqlclusters API
        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: MySQLClusterSpec defines the desired state of MySQLCluster
            properties:
              backupPolicyName:
                description: The name of BackupPolicy custom resource in the same
                  namespace. If this is set, MOCO creates a CronJob to take backup
                  of this MySQL cluster periodically.
                nullable: true
                type: string
              collectors:
                description: "Collectors is the list of collector flag names of mysqld_exporter.
                  If this field is not empty, MOCO adds mysqld_exporter as a sidecar
                  to collect and export mysqld metrics in Prometheus format. \n See
                  https://github.com/prometheus/mysqld_exporter/blob/master/README.md#collector-flags
                  for flag names."
                items:
                  type: string
                type: array
              disableSlowQueryLogContainer:
                description: DisableSlowQueryLogContainer controls whether to add
                  a sidecar container named "slow-log" to output slow logs as the
                  containers output. If set to true, the sidecar container is not
                  added. The default is false.
                type: boolean
              logRotationSchedule:
                description: LogRotationSchedule specifies the schedule to rotate
                  MySQL logs. If not set, the default is to rotate logs every 5 minutes.
                  See https://pkg.go.dev/github.com/robfig/cron/v3#hdr-CRON_Expression_Format
                  for the field format.
                type: string
              maxDelaySeconds:
                description: MaxDelaySeconds, if set, configures the readiness probe
                  of mysqld container. For a replica mysqld instance, if it is delayed
                  to apply transactions over this threshold, the mysqld instance will
                  be marked as non-ready. The default is 60 seconds.
                minimum: 0
                type: integer
              mysqlConfigMapName:
                description: MySQLConfigMapName is a `ConfigMap` name of MySQL config.
                nullable: true
                type: string
              podTemplate:
                description: PodTemplate is a `Pod` template for MySQL server container.
                properties:
                  metadata:
                    description: Standard object's metadata.  The name in this metadata
                      is ignored.
                    properties:
                      annotations:
                        additionalProperties:
                          type: string
                        description: Annotations is a map of string keys and values.
                        type: object
                      labels:
                        additionalProperties:
                          type: string
                        description: Labels is a map of string keys and values.
                        type: object
                      name:
                        description: Name is the name of the object.
                        type: string
                    type: object
                  overwriteContainers:
                    description: OverwriteContainers overwrites the container definitions
                      provided by default by the system.
                    items:
                      description: OverwriteContainer defines the container spec used
                        for overwriting.
                      properties:
                        name:
                          description: Name of the container to overwrite.
                          enum:
                          - agent
                          - moco-init
                          - slow-log
                          - mysqld-exporter
                          type: string
                        resources:
                          description: Resources is the container resource to be overwritten.
                          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: ResourceList is a set of (resource name,
                                quantity) pairs.
                              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: ResourceList is a set of (resource name,
                                quantity) pairs.
                              type: object
                          type: object
                      required:
                      - name
                      type: object
                    type: array
                  spec:
                    description: Specification of the desired behavior of the pod.
                      The name of the MySQL server container in this spec must be
                      `mysqld`.
                    properties:
                      activeDeadlineSeconds:
                        format: int64
                        type: integer
                      affinity:
                        description: AffinityApplyConfiguration represents an declarative
                          configuration of the Affinity type for use with apply.
                        properties:
                          nodeAffinity:
                            description: NodeAffinityApplyConfiguration represents
                              an declarative configuration of the NodeAffinity type
                              for use with apply.
                            properties:
                              preferredDuringSchedulingIgnoredDuringExecution:
                                items:
                                  description: PreferredSchedulingTermApplyConfiguration
                                    represents an declarative configuration of the
                                    PreferredSchedulingTerm type for use with apply.
                                  properties:
                                    preference:
                                      description: NodeSelectorTermApplyConfiguration
                                        represents an declarative configuration of
                                        the NodeSelectorTerm type for use with apply.
                                      properties:
                                        matchExpressions:
                                          items:
                                            description: NodeSelectorRequirementApplyConfiguration
                                              represents an declarative configuration
                                              of the NodeSelectorRequirement type
                                              for use with apply.
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                description: A node selector operator
                                                  is the set of operators that can
                                                  be used in a node selector requirement.
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            type: object
                                          type: array
                                        matchFields:
                                          items:
                                            description: NodeSelectorRequirementApplyConfiguration
                                              represents an declarative configuration
                                              of the NodeSelectorRequirement type
                                              for use with apply.
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                description: A node selector operator
                                                  is the set of operators that can
                                                  be used in a node selector requirement.
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            type: object
                                          type: array
                                      type: object
                                    weight:
                                      format: int32
                                      type: integer
                                  type: object
                                type: array
                              requiredDuringSchedulingIgnoredDuringExecution:
                                description: NodeSelectorApplyConfiguration represents
                                  an declarative configuration of the NodeSelector
                                  type for use with apply.
                                properties:
                                  nodeSelectorTerms:
                                    items:
                                      description: NodeSelectorTermApplyConfiguration
                                        represents an declarative configuration of
                                        the NodeSelectorTerm type for use with apply.
                                      properties:
                                        matchExpressions:
                                          items:
                                            description: NodeSelectorRequirementApplyConfiguration
                                              represents an declarative configuration
                                              of the NodeSelectorRequirement type
                                              for use with apply.
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                description: A node selector operator
                                                  is the set of operators that can
                                                  be used in a node selector requirement.
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            type: object
                                          type: array
                                        matchFields:
                                          items:
                                            description: NodeSelectorRequirementApplyConfiguration
                                              represents an declarative configuration
                                              of the NodeSelectorRequirement type
                                              for use with apply.
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                description: A node selector operator
                                                  is the set of operators that can
                                                  be used in a node selector requirement.
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            type: object
                                          type: array
                                      type: object
                                    type: array
                                type: object
                            type: object
                          podAffinity:
                            description: PodAffinityApplyConfiguration represents
                              an declarative configuration of the PodAffinity type
                              for use with apply.
                            properties:
                              preferredDuringSchedulingIgnoredDuringExecution:
                                items:
                                  description: WeightedPodAffinityTermApplyConfiguration
                                    represents an declarative configuration of the
                                    WeightedPodAffinityTerm type for use with apply.
                                  properties:
                                    podAffinityTerm:
                                      description: PodAffinityTermApplyConfiguration
                                        represents an declarative configuration of
                                        the PodAffinityTerm type for use with apply.
                                      properties:
                                        labelSelector:
                                          description: LabelSelectorApplyConfiguration
                                            represents an declarative configuration
                                            of the LabelSelector type for use with
                                            apply.
                                          properties:
                                            matchExpressions:
                                              items:
                                                description: LabelSelectorRequirementApplyConfiguration
                                                  represents an declarative configuration
                                                  of the LabelSelectorRequirement
                                                  type for use with apply.
                                                properties:
                                                  key:
                                                    type: string
                                                  operator:
                                                    description: A label selector
                                                      operator is the set of operators
                                                      that can be used in a selector
                                                      requirement.
                                                    type: string
                                                  values:
                                                    items:
                                                      type: string
                                                    type: array
                                                type: object
                                              type: array
                                            matchLabels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                          type: object
                                        namespaceSelector:
                                          description: LabelSelectorApplyConfiguration
                                            represents an declarative configuration
                                            of the LabelSelector type for use with
                                            apply.
                                          properties:
                                            matchExpressions:
                                              items:
                                                description: LabelSelectorRequirementApplyConfiguration
                                                  represents an declarative configuration
                                                  of the LabelSelectorRequirement
                                                  type for use with apply.
                                                properties:
                                                  key:
                                                    type: string
                                                  operator:
                                                    description: A label selector
                                                      operator is the set of operators
                                                      that can be used in a selector
                                                      requirement.
                                                    type: string
                                                  values:
                                                    items:
                                                      type: string
                                                    type: array
                                                type: object
                                              type: array
                                            matchLabels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                          type: object
                                        namespaces:
                                          items:
                                            type: string
                                          type: array
                                        topologyKey:
                                          type: string
                                      type: object
                                    weight:
                                      format: int32
                                      type: integer
                                  type: object
                                type: array
                              requiredDuringSchedulingIgnoredDuringExecution:
                                items:
                                  description: PodAffinityTermApplyConfiguration represents
                                    an declarative configuration of the PodAffinityTerm
                                    type for use with apply.
                                  properties:
                                    labelSelector:
                                      description: LabelSelectorApplyConfiguration
                                        represents an declarative configuration of
                                        the LabelSelector type for use with apply.
                                      properties:
                                        matchExpressions:
                                          items:
                                            description: LabelSelectorRequirementApplyConfiguration
                                              represents an declarative configuration
                                              of the LabelSelectorRequirement type
                                              for use with apply.
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                description: A label selector operator
                                                  is the set of operators that can
                                                  be used in a selector requirement.
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            type: object
                                          type: array
                                        matchLabels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                    namespaceSelector:
                                      description: LabelSelectorApplyConfiguration
                                        represents an declarative configuration of
                                        the LabelSelector type for use with apply.
                                      properties:
                                        matchExpressions:
                                          items:
                                            description: LabelSelectorRequirementApplyConfiguration
                                              represents an declarative configuration
                                              of the LabelSelectorRequirement type
                                              for use with apply.
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                description: A label selector operator
                                                  is the set of operators that can
                                                  be used in a selector requirement.
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            type: object
                                          type: array
                                        matchLabels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                    namespaces:
                                      items:
                                        type: string
                                      type: array
                                    topologyKey:
                                      type: string
                                  type: object
                                type: array
                            type: object
                          podAntiAffinity:
                            description: PodAntiAffinityApplyConfiguration represents
                              an declarative configuration of the PodAntiAffinity
                              type for use with apply.
                            properties:
                              preferredDuringSchedulingIgnoredDuringExecution:
                                items:
                                  description: WeightedPodAffinityTermApplyConfiguration
                                    represents an declarative configuration of the
                                    WeightedPodAffinityTerm type for use with apply.
                                  properties:
                                    podAffinityTerm:
                                      description: PodAffinityTermApplyConfiguration
                                        represents an declarative configuration of
                                        the PodAffinityTerm type for use with apply.
                                      properties:
                                        labelSelector:
                                          description: LabelSelectorApplyConfiguration
                                            represents an declarative configuration
                                            of the LabelSelector type for use with
                                            apply.
                                          properties:
                                            matchExpressions:
                                              items:
                                                description: LabelSelectorRequirementApplyConfiguration
                                                  represents an declarative configuration
                                                  of the LabelSelectorRequirement
                                                  type for use with apply.
                                                properties:
                                                  key:
                                                    type: string
                                                  operator:
                                                    description: A label selector
                                                      operator is the set of operators
                                                      that can be used in a selector
                                                      requirement.
                                                    type: string
                                                  values:
                                                    items:
                                                      type: string
                                                    type: array
                                                type: object
                                              type: array
                                            matchLabels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                          type: object
                                        namespaceSelector:
                                          description: LabelSelectorApplyConfiguration
                                            represents an declarative configuration
                                            of the LabelSelector type for use with
                                            apply.
                                          properties:
                                            matchExpressions:
                                              items:
                                                description: LabelSelectorRequirementApplyConfiguration
                                                  represents an declarative configuration
                                                  of the LabelSelectorRequirement
                                                  type for use with apply.
                                                properties:
                                                  key:
                                                    type: string
                                                  operator:
                                                    description: A label selector
                                                      operator is the set of operators
                                                      that can be used in a selector
                                                      requirement.
                                                    type: string
                                                  values:
                                                    items:
                                                      type: string
                                                    type: array
                                                type: object
                                              type: array
                                            matchLabels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                          type: object
                                        namespaces:
                                          items:
                                            type: string
                                          type: array
                                        topologyKey:
                                          type: string
                                      type: object
                                    weight:
                                      format: int32
                                      type: integer
                                  type: object
                                type: array
                              requiredDuringSchedulingIgnoredDuringExecution:
                                items:
                                  description: PodAffinityTermApplyConfiguration represents
                                    an declarative configuration of the PodAffinityTerm
                                    type for use with apply.
                                  properties:
                                    labelSelector:
                                      description: LabelSelectorApplyConfiguration
                                        represents an declarative configuration of
                                        the LabelSelector type for use with apply.
                                      properties:
                                        matchExpressions:
                                          items:
                                            description: LabelSelectorRequirementApplyConfiguration
                                              represents an declarative configuration
                                              of the LabelSelectorRequirement type
                                              for use with apply.
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                description: A label selector operator
                                                  is the set of operators that can
                                                  be used in a selector requirement.
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            type: object
                                          type: array
                                        matchLabels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                    namespaceSelector:
                                      description: LabelSelectorApplyConfiguration
                                        represents an declarative configuration of
                                        the LabelSelector type for use with apply.
                                      properties:
                                        matchExpressions:
                                          items:
                                            description: LabelSelectorRequirementApplyConfiguration
                                              represents an declarative configuration
                                              of the LabelSelectorRequirement type
                                              for use with apply.
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                description: A label selector operator
                                                  is the set of operators that can
                                                  be used in a selector requirement.
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            type: object
                                          type: array
                                        matchLabels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                    namespaces:
                                      items:
                                        type: string
                                      type: array
                                    topologyKey:
                                      type: string
                                  type: object
                                type: array
                            type: object
                        type: object
                      automountServiceAccountToken:
                        type: boolean
                      containers:
                        items:
                          description: ContainerApplyConfiguration represents an declarative
                            configuration of the Container type for use with apply.
                          properties:
                            args:
                              items:
                                type: string
                              type: array
                            command:
                              items:
                                type: string
                              type: array
                            env:
                              items:
                                description: EnvVarApplyConfiguration represents an
                                  declarative configuration of the EnvVar type for
                                  use with apply.
                                properties:
                                  name:
                                    type: string
                                  value:
                                    type: string
                                  valueFrom:
                                    description: EnvVarSourceApplyConfiguration represents
                                      an declarative configuration of the EnvVarSource
                                      type for use with apply.
                                    properties:
                                      configMapKeyRef:
                                        description: ConfigMapKeySelectorApplyConfiguration
                                          represents an declarative configuration
                                          of the ConfigMapKeySelector type for use
                                          with apply.
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        type: object
                                      fieldRef:
                                        description: ObjectFieldSelectorApplyConfiguration
                                          represents an declarative configuration
                                          of the ObjectFieldSelector type for use
                                          with apply.
                                        properties:
                                          apiVersion:
                                            type: string
                                          fieldPath:
                                            type: string
                                        type: object
                                      resourceFieldRef:
                                        description: ResourceFieldSelectorApplyConfiguration
                                          represents an declarative configuration
                                          of the ResourceFieldSelector type for use
                                          with apply.
                                        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
                                        type: object
                                      secretKeyRef:
                                        description: SecretKeySelectorApplyConfiguration
                                          represents an declarative configuration
                                          of the SecretKeySelector type for use with
                                          apply.
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        type: object
                                    type: object
                                type: object
                              type: array
                            envFrom:
                              items:
                                description: EnvFromSourceApplyConfiguration represents
                                  an declarative configuration of the EnvFromSource
                                  type for use with apply.
                                properties:
                                  configMapRef:
                                    description: ConfigMapEnvSourceApplyConfiguration
                                      represents an declarative configuration of the
                                      ConfigMapEnvSource type for use with apply.
                                    properties:
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    type: object
                                  prefix:
                                    type: string
                                  secretRef:
                                    description: SecretEnvSourceApplyConfiguration
                                      represents an declarative configuration of the
                                      SecretEnvSource type for use with apply.
                                    properties:
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    type: object
                                type: object
                              type: array
                            image:
                              type: string
                            imagePullPolicy:
                              description: PullPolicy describes a policy for if/when
                                to pull a container image
                              type: string
                            lifecycle:
                              description: LifecycleApplyConfiguration represents
                                an declarative configuration of the Lifecycle type
                                for use with apply.
                              properties:
                                postStart:
                                  description: LifecycleHandlerApplyConfiguration
                                    represents an declarative configuration of the
                                    LifecycleHandler type for use with apply.
                                  properties:
                                    exec:
                                      description: ExecActionApplyConfiguration represents
                                        an declarative configuration of the ExecAction
                                        type for use with apply.
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    httpGet:
                                      description: HTTPGetActionApplyConfiguration
                                        represents an declarative configuration of
                                        the HTTPGetAction type for use with apply.
                                      properties:
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            description: HTTPHeaderApplyConfiguration
                                              represents an declarative configuration
                                              of the HTTPHeader type for use with
                                              apply.
                                            properties:
                                              name:
                                                type: string
                                              value:
                                                type: string
                                            type: object
                                          type: array
                                        path:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                        scheme:
                                          description: URIScheme identifies the scheme
                                            used for connection to a host for Get
                                            actions
                                          type: string
                                      type: object
                                    tcpSocket:
                                      description: TCPSocketActionApplyConfiguration
                                        represents an declarative configuration of
                                        the TCPSocketAction type for use with apply.
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      type: object
                                  type: object
                                preStop:
                                  description: LifecycleHandlerApplyConfiguration
                                    represents an declarative configuration of the
                                    LifecycleHandler type for use with apply.
                                  properties:
                                    exec:
                                      description: ExecActionApplyConfiguration represents
                                        an declarative configuration of the ExecAction
                                        type for use with apply.
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    httpGet:
                                      description: HTTPGetActionApplyConfiguration
                                        represents an declarative configuration of
                                        the HTTPGetAction type for use with apply.
                                      properties:
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            description: HTTPHeaderApplyConfiguration
                                              represents an declarative configuration
                                              of the HTTPHeader type for use with
                                              apply.
                                            properties:
                                              name:
                                                type: string
                                              value:
                                                type: string
                                            type: object
                                          type: array
                                        path:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                        scheme:
                                          description: URIScheme identifies the scheme
                                            used for connection to a host for Get
                                            actions
                                          type: string
                                      type: object
                                    tcpSocket:
                                      description: TCPSocketActionApplyConfiguration
                                        represents an declarative configuration of
                                        the TCPSocketAction type for use with apply.
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      type: object
                                  type: object
                              type: object
                            livenessProbe:
                              description: ProbeApplyConfiguration represents an declarative
                                configuration of the Probe type for use with apply.
                              properties:
                                exec:
                                  description: ExecActionApplyConfiguration represents
                                    an declarative configuration of the ExecAction
                                    type for use with apply.
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  description: GRPCActionApplyConfiguration represents
                                    an declarative configuration of the GRPCAction
                                    type for use with apply.
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  type: object
                                httpGet:
                                  description: HTTPGetActionApplyConfiguration represents
                                    an declarative configuration of the HTTPGetAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        description: HTTPHeaderApplyConfiguration
                                          represents an declarative configuration
                                          of the HTTPHeader type for use with apply.
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      description: URIScheme identifies the scheme
                                        used for connection to a host for Get actions
                                      type: string
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  description: TCPSocketActionApplyConfiguration represents
                                    an declarative configuration of the TCPSocketAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            name:
                              type: string
                            ports:
                              items:
                                description: ContainerPortApplyConfiguration represents
                                  an declarative configuration of the ContainerPort
                                  type for use with apply.
                                properties:
                                  containerPort:
                                    format: int32
                                    type: integer
                                  hostIP:
                                    type: string
                                  hostPort:
                                    format: int32
                                    type: integer
                                  name:
                                    type: string
                                  protocol:
                                    default: TCP
                                    type: string
                                type: object
                              type: array
                            readinessProbe:
                              description: ProbeApplyConfiguration represents an declarative
                                configuration of the Probe type for use with apply.
                              properties:
                                exec:
                                  description: ExecActionApplyConfiguration represents
                                    an declarative configuration of the ExecAction
                                    type for use with apply.
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  description: GRPCActionApplyConfiguration represents
                                    an declarative configuration of the GRPCAction
                                    type for use with apply.
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  type: object
                                httpGet:
                                  description: HTTPGetActionApplyConfiguration represents
                                    an declarative configuration of the HTTPGetAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        description: HTTPHeaderApplyConfiguration
                                          represents an declarative configuration
                                          of the HTTPHeader type for use with apply.
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      description: URIScheme identifies the scheme
                                        used for connection to a host for Get actions
                                      type: string
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  description: TCPSocketActionApplyConfiguration represents
                                    an declarative configuration of the TCPSocketAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            resources:
                              description: ResourceRequirementsApplyConfiguration
                                represents an declarative configuration of the ResourceRequirements
                                type for use with apply.
                              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: ResourceList is a set of (resource
                                    name, quantity) pairs.
                                  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: ResourceList is a set of (resource
                                    name, quantity) pairs.
                                  type: object
                              type: object
                            securityContext:
                              description: SecurityContextApplyConfiguration represents
                                an declarative configuration of the SecurityContext
                                type for use with apply.
                              properties:
                                allowPrivilegeEscalation:
                                  type: boolean
                                capabilities:
                                  description: CapabilitiesApplyConfiguration represents
                                    an declarative configuration of the Capabilities
                                    type for use with apply.
                                  properties:
                                    add:
                                      items:
                                        description: Capability represent POSIX capabilities
                                          type
                                        type: string
                                      type: array
                                    drop:
                                      items:
                                        description: Capability represent POSIX capabilities
                                          type
                                        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:
                                  description: SELinuxOptionsApplyConfiguration represents
                                    an declarative configuration of the SELinuxOptions
                                    type for use with apply.
                                  properties:
                                    level:
                                      type: string
                                    role:
                                      type: string
                                    type:
                                      type: string
                                    user:
                                      type: string
                                  type: object
                                seccompProfile:
                                  description: SeccompProfileApplyConfiguration represents
                                    an declarative configuration of the SeccompProfile
                                    type for use with apply.
                                  properties:
                                    localhostProfile:
                                      type: string
                                    type:
                                      description: SeccompProfileType defines the
                                        supported seccomp profile types.
                                      type: string
                                  type: object
                                windowsOptions:
                                  description: WindowsSecurityContextOptionsApplyConfiguration
                                    represents an declarative configuration of the
                                    WindowsSecurityContextOptions type for use with
                                    apply.
                                  properties:
                                    gmsaCredentialSpec:
                                      type: string
                                    gmsaCredentialSpecName:
                                      type: string
                                    hostProcess:
                                      type: boolean
                                    runAsUserName:
                                      type: string
                                  type: object
                              type: object
                            startupProbe:
                              description: ProbeApplyConfiguration represents an declarative
                                configuration of the Probe type for use with apply.
                              properties:
                                exec:
                                  description: ExecActionApplyConfiguration represents
                                    an declarative configuration of the ExecAction
                                    type for use with apply.
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  description: GRPCActionApplyConfiguration represents
                                    an declarative configuration of the GRPCAction
                                    type for use with apply.
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  type: object
                                httpGet:
                                  description: HTTPGetActionApplyConfiguration represents
                                    an declarative configuration of the HTTPGetAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        description: HTTPHeaderApplyConfiguration
                                          represents an declarative configuration
                                          of the HTTPHeader type for use with apply.
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      description: URIScheme identifies the scheme
                                        used for connection to a host for Get actions
                                      type: string
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  description: TCPSocketActionApplyConfiguration represents
                                    an declarative configuration of the TCPSocketAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            stdin:
                              type: boolean
                            stdinOnce:
                              type: boolean
                            terminationMessagePath:
                              type: string
                            terminationMessagePolicy:
                              description: TerminationMessagePolicy describes how
                                termination messages are retrieved from a container.
                              type: string
                            tty:
                              type: boolean
                            volumeDevices:
                              items:
                                description: VolumeDeviceApplyConfiguration represents
                                  an declarative configuration of the VolumeDevice
                                  type for use with apply.
                                properties:
                                  devicePath:
                                    type: string
                                  name:
                                    type: string
                                type: object
                              type: array
                            volumeMounts:
                              items:
                                description: VolumeMountApplyConfiguration represents
                                  an declarative configuration of the VolumeMount
                                  type for use with apply.
                                properties:
                                  mountPath:
                                    type: string
                                  mountPropagation:
                                    description: MountPropagationMode describes mount
                                      propagation.
                                    type: string
                                  name:
                                    type: string
                                  readOnly:
                                    type: boolean
                                  subPath:
                                    type: string
                                  subPathExpr:
                                    type: string
                                type: object
                              type: array
                            workingDir:
                              type: string
                          type: object
                        type: array
                      dnsConfig:
                        description: PodDNSConfigApplyConfiguration represents an
                          declarative configuration of the PodDNSConfig type for use
                          with apply.
                        properties:
                          nameservers:
                            items:
                              type: string
                            type: array
                          options:
                            items:
                              description: PodDNSConfigOptionApplyConfiguration represents
                                an declarative configuration of the PodDNSConfigOption
                                type for use with apply.
                              properties:
                                name:
                                  type: string
                                value:
                                  type: string
                              type: object
                            type: array
                          searches:
                            items:
                              type: string
                            type: array
                        type: object
                      dnsPolicy:
                        description: DNSPolicy defines how a pod's DNS will be configured.
                        type: string
                      enableServiceLinks:
                        type: boolean
                      ephemeralContainers:
                        items:
                          description: EphemeralContainerApplyConfiguration represents
                            an declarative configuration of the EphemeralContainer
                            type for use with apply.
                          properties:
                            args:
                              items:
                                type: string
                              type: array
                            command:
                              items:
                                type: string
                              type: array
                            env:
                              items:
                                description: EnvVarApplyConfiguration represents an
                                  declarative configuration of the EnvVar type for
                                  use with apply.
                                properties:
                                  name:
                                    type: string
                                  value:
                                    type: string
                                  valueFrom:
                                    description: EnvVarSourceApplyConfiguration represents
                                      an declarative configuration of the EnvVarSource
                                      type for use with apply.
                                    properties:
                                      configMapKeyRef:
                                        description: ConfigMapKeySelectorApplyConfiguration
                                          represents an declarative configuration
                                          of the ConfigMapKeySelector type for use
                                          with apply.
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        type: object
                                      fieldRef:
                                        description: ObjectFieldSelectorApplyConfiguration
                                          represents an declarative configuration
                                          of the ObjectFieldSelector type for use
                                          with apply.
                                        properties:
                                          apiVersion:
                                            type: string
                                          fieldPath:
                                            type: string
                                        type: object
                                      resourceFieldRef:
                                        description: ResourceFieldSelectorApplyConfiguration
                                          represents an declarative configuration
                                          of the ResourceFieldSelector type for use
                                          with apply.
                                        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
                                        type: object
                                      secretKeyRef:
                                        description: SecretKeySelectorApplyConfiguration
                                          represents an declarative configuration
                                          of the SecretKeySelector type for use with
                                          apply.
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        type: object
                                    type: object
                                type: object
                              type: array
                            envFrom:
                              items:
                                description: EnvFromSourceApplyConfiguration represents
                                  an declarative configuration of the EnvFromSource
                                  type for use with apply.
                                properties:
                                  configMapRef:
                                    description: ConfigMapEnvSourceApplyConfiguration
                                      represents an declarative configuration of the
                                      ConfigMapEnvSource type for use with apply.
                                    properties:
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    type: object
                                  prefix:
                                    type: string
                                  secretRef:
                                    description: SecretEnvSourceApplyConfiguration
                                      represents an declarative configuration of the
                                      SecretEnvSource type for use with apply.
                                    properties:
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    type: object
                                type: object
                              type: array
                            image:
                              type: string
                            imagePullPolicy:
                              description: PullPolicy describes a policy for if/when
                                to pull a container image
                              type: string
                            lifecycle:
                              description: LifecycleApplyConfiguration represents
                                an declarative configuration of the Lifecycle type
                                for use with apply.
                              properties:
                                postStart:
                                  description: LifecycleHandlerApplyConfiguration
                                    represents an declarative configuration of the
                                    LifecycleHandler type for use with apply.
                                  properties:
                                    exec:
                                      description: ExecActionApplyConfiguration represents
                                        an declarative configuration of the ExecAction
                                        type for use with apply.
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    httpGet:
                                      description: HTTPGetActionApplyConfiguration
                                        represents an declarative configuration of
                                        the HTTPGetAction type for use with apply.
                                      properties:
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            description: HTTPHeaderApplyConfiguration
                                              represents an declarative configuration
                                              of the HTTPHeader type for use with
                                              apply.
                                            properties:
                                              name:
                                                type: string
                                              value:
                                                type: string
                                            type: object
                                          type: array
                                        path:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                        scheme:
                                          description: URIScheme identifies the scheme
                                            used for connection to a host for Get
                                            actions
                                          type: string
                                      type: object
                                    tcpSocket:
                                      description: TCPSocketActionApplyConfiguration
                                        represents an declarative configuration of
                                        the TCPSocketAction type for use with apply.
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      type: object
                                  type: object
                                preStop:
                                  description: LifecycleHandlerApplyConfiguration
                                    represents an declarative configuration of the
                                    LifecycleHandler type for use with apply.
                                  properties:
                                    exec:
                                      description: ExecActionApplyConfiguration represents
                                        an declarative configuration of the ExecAction
                                        type for use with apply.
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    httpGet:
                                      description: HTTPGetActionApplyConfiguration
                                        represents an declarative configuration of
                                        the HTTPGetAction type for use with apply.
                                      properties:
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            description: HTTPHeaderApplyConfiguration
                                              represents an declarative configuration
                                              of the HTTPHeader type for use with
                                              apply.
                                            properties:
                                              name:
                                                type: string
                                              value:
                                                type: string
                                            type: object
                                          type: array
                                        path:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                        scheme:
                                          description: URIScheme identifies the scheme
                                            used for connection to a host for Get
                                            actions
                                          type: string
                                      type: object
                                    tcpSocket:
                                      description: TCPSocketActionApplyConfiguration
                                        represents an declarative configuration of
                                        the TCPSocketAction type for use with apply.
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      type: object
                                  type: object
                              type: object
                            livenessProbe:
                              description: ProbeApplyConfiguration represents an declarative
                                configuration of the Probe type for use with apply.
                              properties:
                                exec:
                                  description: ExecActionApplyConfiguration represents
                                    an declarative configuration of the ExecAction
                                    type for use with apply.
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  description: GRPCActionApplyConfiguration represents
                                    an declarative configuration of the GRPCAction
                                    type for use with apply.
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  type: object
                                httpGet:
                                  description: HTTPGetActionApplyConfiguration represents
                                    an declarative configuration of the HTTPGetAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        description: HTTPHeaderApplyConfiguration
                                          represents an declarative configuration
                                          of the HTTPHeader type for use with apply.
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      description: URIScheme identifies the scheme
                                        used for connection to a host for Get actions
                                      type: string
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  description: TCPSocketActionApplyConfiguration represents
                                    an declarative configuration of the TCPSocketAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            name:
                              type: string
                            ports:
                              items:
                                description: ContainerPortApplyConfiguration represents
                                  an declarative configuration of the ContainerPort
                                  type for use with apply.
                                properties:
                                  containerPort:
                                    format: int32
                                    type: integer
                                  hostIP:
                                    type: string
                                  hostPort:
                                    format: int32
                                    type: integer
                                  name:
                                    type: string
                                  protocol:
                                    default: TCP
                                    type: string
                                type: object
                              type: array
                            readinessProbe:
                              description: ProbeApplyConfiguration represents an declarative
                                configuration of the Probe type for use with apply.
                              properties:
                                exec:
                                  description: ExecActionApplyConfiguration represents
                                    an declarative configuration of the ExecAction
                                    type for use with apply.
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  description: GRPCActionApplyConfiguration represents
                                    an declarative configuration of the GRPCAction
                                    type for use with apply.
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  type: object
                                httpGet:
                                  description: HTTPGetActionApplyConfiguration represents
                                    an declarative configuration of the HTTPGetAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        description: HTTPHeaderApplyConfiguration
                                          represents an declarative configuration
                                          of the HTTPHeader type for use with apply.
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      description: URIScheme identifies the scheme
                                        used for connection to a host for Get actions
                                      type: string
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  description: TCPSocketActionApplyConfiguration represents
                                    an declarative configuration of the TCPSocketAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            resources:
                              description: ResourceRequirementsApplyConfiguration
                                represents an declarative configuration of the ResourceRequirements
                                type for use with apply.
                              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: ResourceList is a set of (resource
                                    name, quantity) pairs.
                                  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: ResourceList is a set of (resource
                                    name, quantity) pairs.
                                  type: object
                              type: object
                            securityContext:
                              description: SecurityContextApplyConfiguration represents
                                an declarative configuration of the SecurityContext
                                type for use with apply.
                              properties:
                                allowPrivilegeEscalation:
                                  type: boolean
                                capabilities:
                                  description: CapabilitiesApplyConfiguration represents
                                    an declarative configuration of the Capabilities
                                    type for use with apply.
                                  properties:
                                    add:
                                      items:
                                        description: Capability represent POSIX capabilities
                                          type
                                        type: string
                                      type: array
                                    drop:
                                      items:
                                        description: Capability represent POSIX capabilities
                                          type
                                        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:
                                  description: SELinuxOptionsApplyConfiguration represents
                                    an declarative configuration of the SELinuxOptions
                                    type for use with apply.
                                  properties:
                                    level:
                                      type: string
                                    role:
                                      type: string
                                    type:
                                      type: string
                                    user:
                                      type: string
                                  type: object
                                seccompProfile:
                                  description: SeccompProfileApplyConfiguration represents
                                    an declarative configuration of the SeccompProfile
                                    type for use with apply.
                                  properties:
                                    localhostProfile:
                                      type: string
                                    type:
                                      description: SeccompProfileType defines the
                                        supported seccomp profile types.
                                      type: string
                                  type: object
                                windowsOptions:
                                  description: WindowsSecurityContextOptionsApplyConfiguration
                                    represents an declarative configuration of the
                                    WindowsSecurityContextOptions type for use with
                                    apply.
                                  properties:
                                    gmsaCredentialSpec:
                                      type: string
                                    gmsaCredentialSpecName:
                                      type: string
                                    hostProcess:
                                      type: boolean
                                    runAsUserName:
                                      type: string
                                  type: object
                              type: object
                            startupProbe:
                              description: ProbeApplyConfiguration represents an declarative
                                configuration of the Probe type for use with apply.
                              properties:
                                exec:
                                  description: ExecActionApplyConfiguration represents
                                    an declarative configuration of the ExecAction
                                    type for use with apply.
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  description: GRPCActionApplyConfiguration represents
                                    an declarative configuration of the GRPCAction
                                    type for use with apply.
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  type: object
                                httpGet:
                                  description: HTTPGetActionApplyConfiguration represents
                                    an declarative configuration of the HTTPGetAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        description: HTTPHeaderApplyConfiguration
                                          represents an declarative configuration
                                          of the HTTPHeader type for use with apply.
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      description: URIScheme identifies the scheme
                                        used for connection to a host for Get actions
                                      type: string
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  description: TCPSocketActionApplyConfiguration represents
                                    an declarative configuration of the TCPSocketAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            stdin:
                              type: boolean
                            stdinOnce:
                              type: boolean
                            targetContainerName:
                              type: string
                            terminationMessagePath:
                              type: string
                            terminationMessagePolicy:
                              description: TerminationMessagePolicy describes how
                                termination messages are retrieved from a container.
                              type: string
                            tty:
                              type: boolean
                            volumeDevices:
                              items:
                                description: VolumeDeviceApplyConfiguration represents
                                  an declarative configuration of the VolumeDevice
                                  type for use with apply.
                                properties:
                                  devicePath:
                                    type: string
                                  name:
                                    type: string
                                type: object
                              type: array
                            volumeMounts:
                              items:
                                description: VolumeMountApplyConfiguration represents
                                  an declarative configuration of the VolumeMount
                                  type for use with apply.
                                properties:
                                  mountPath:
                                    type: string
                                  mountPropagation:
                                    description: MountPropagationMode describes mount
                                      propagation.
                                    type: string
                                  name:
                                    type: string
                                  readOnly:
                                    type: boolean
                                  subPath:
                                    type: string
                                  subPathExpr:
                                    type: string
                                type: object
                              type: array
                            workingDir:
                              type: string
                          type: object
                        type: array
                      hostAliases:
                        items:
                          description: HostAliasApplyConfiguration represents an declarative
                            configuration of the HostAlias type for use with apply.
                          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:
                          description: LocalObjectReferenceApplyConfiguration represents
                            an declarative configuration of the LocalObjectReference
                            type for use with apply.
                          properties:
                            name:
                              type: string
                          type: object
                        type: array
                      initContainers:
                        items:
                          description: ContainerApplyConfiguration represents an declarative
                            configuration of the Container type for use with apply.
                          properties:
                            args:
                              items:
                                type: string
                              type: array
                            command:
                              items:
                                type: string
                              type: array
                            env:
                              items:
                                description: EnvVarApplyConfiguration represents an
                                  declarative configuration of the EnvVar type for
                                  use with apply.
                                properties:
                                  name:
                                    type: string
                                  value:
                                    type: string
                                  valueFrom:
                                    description: EnvVarSourceApplyConfiguration represents
                                      an declarative configuration of the EnvVarSource
                                      type for use with apply.
                                    properties:
                                      configMapKeyRef:
                                        description: ConfigMapKeySelectorApplyConfiguration
                                          represents an declarative configuration
                                          of the ConfigMapKeySelector type for use
                                          with apply.
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        type: object
                                      fieldRef:
                                        description: ObjectFieldSelectorApplyConfiguration
                                          represents an declarative configuration
                                          of the ObjectFieldSelector type for use
                                          with apply.
                                        properties:
                                          apiVersion:
                                            type: string
                                          fieldPath:
                                            type: string
                                        type: object
                                      resourceFieldRef:
                                        description: ResourceFieldSelectorApplyConfiguration
                                          represents an declarative configuration
                                          of the ResourceFieldSelector type for use
                                          with apply.
                                        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
                                        type: object
                                      secretKeyRef:
                                        description: SecretKeySelectorApplyConfiguration
                                          represents an declarative configuration
                                          of the SecretKeySelector type for use with
                                          apply.
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        type: object
                                    type: object
                                type: object
                              type: array
                            envFrom:
                              items:
                                description: EnvFromSourceApplyConfiguration represents
                                  an declarative configuration of the EnvFromSource
                                  type for use with apply.
                                properties:
                                  configMapRef:
                                    description: ConfigMapEnvSourceApplyConfiguration
                                      represents an declarative configuration of the
                                      ConfigMapEnvSource type for use with apply.
                                    properties:
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    type: object
                                  prefix:
                                    type: string
                                  secretRef:
                                    description: SecretEnvSourceApplyConfiguration
                                      represents an declarative configuration of the
                                      SecretEnvSource type for use with apply.
                                    properties:
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    type: object
                                type: object
                              type: array
                            image:
                              type: string
                            imagePullPolicy:
                              description: PullPolicy describes a policy for if/when
                                to pull a container image
                              type: string
                            lifecycle:
                              description: LifecycleApplyConfiguration represents
                                an declarative configuration of the Lifecycle type
                                for use with apply.
                              properties:
                                postStart:
                                  description: LifecycleHandlerApplyConfiguration
                                    represents an declarative configuration of the
                                    LifecycleHandler type for use with apply.
                                  properties:
                                    exec:
                                      description: ExecActionApplyConfiguration represents
                                        an declarative configuration of the ExecAction
                                        type for use with apply.
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    httpGet:
                                      description: HTTPGetActionApplyConfiguration
                                        represents an declarative configuration of
                                        the HTTPGetAction type for use with apply.
                                      properties:
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            description: HTTPHeaderApplyConfiguration
                                              represents an declarative configuration
                                              of the HTTPHeader type for use with
                                              apply.
                                            properties:
                                              name:
                                                type: string
                                              value:
                                                type: string
                                            type: object
                                          type: array
                                        path:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                        scheme:
                                          description: URIScheme identifies the scheme
                                            used for connection to a host for Get
                                            actions
                                          type: string
                                      type: object
                                    tcpSocket:
                                      description: TCPSocketActionApplyConfiguration
                                        represents an declarative configuration of
                                        the TCPSocketAction type for use with apply.
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      type: object
                                  type: object
                                preStop:
                                  description: LifecycleHandlerApplyConfiguration
                                    represents an declarative configuration of the
                                    LifecycleHandler type for use with apply.
                                  properties:
                                    exec:
                                      description: ExecActionApplyConfiguration represents
                                        an declarative configuration of the ExecAction
                                        type for use with apply.
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    httpGet:
                                      description: HTTPGetActionApplyConfiguration
                                        represents an declarative configuration of
                                        the HTTPGetAction type for use with apply.
                                      properties:
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            description: HTTPHeaderApplyConfiguration
                                              represents an declarative configuration
                                              of the HTTPHeader type for use with
                                              apply.
                                            properties:
                                              name:
                                                type: string
                                              value:
                                                type: string
                                            type: object
                                          type: array
                                        path:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                        scheme:
                                          description: URIScheme identifies the scheme
                                            used for connection to a host for Get
                                            actions
                                          type: string
                                      type: object
                                    tcpSocket:
                                      description: TCPSocketActionApplyConfiguration
                                        represents an declarative configuration of
                                        the TCPSocketAction type for use with apply.
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      type: object
                                  type: object
                              type: object
                            livenessProbe:
                              description: ProbeApplyConfiguration represents an declarative
                                configuration of the Probe type for use with apply.
                              properties:
                                exec:
                                  description: ExecActionApplyConfiguration represents
                                    an declarative configuration of the ExecAction
                                    type for use with apply.
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  description: GRPCActionApplyConfiguration represents
                                    an declarative configuration of the GRPCAction
                                    type for use with apply.
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  type: object
                                httpGet:
                                  description: HTTPGetActionApplyConfiguration represents
                                    an declarative configuration of the HTTPGetAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        description: HTTPHeaderApplyConfiguration
                                          represents an declarative configuration
                                          of the HTTPHeader type for use with apply.
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      description: URIScheme identifies the scheme
                                        used for connection to a host for Get actions
                                      type: string
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  description: TCPSocketActionApplyConfiguration represents
                                    an declarative configuration of the TCPSocketAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            name:
                              type: string
                            ports:
                              items:
                                description: ContainerPortApplyConfiguration represents
                                  an declarative configuration of the ContainerPort
                                  type for use with apply.
                                properties:
                                  containerPort:
                                    format: int32
                                    type: integer
                                  hostIP:
                                    type: string
                                  hostPort:
                                    format: int32
                                    type: integer
                                  name:
                                    type: string
                                  protocol:
                                    default: TCP
                                    type: string
                                type: object
                              type: array
                            readinessProbe:
                              description: ProbeApplyConfiguration represents an declarative
                                configuration of the Probe type for use with apply.
                              properties:
                                exec:
                                  description: ExecActionApplyConfiguration represents
                                    an declarative configuration of the ExecAction
                                    type for use with apply.
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  description: GRPCActionApplyConfiguration represents
                                    an declarative configuration of the GRPCAction
                                    type for use with apply.
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  type: object
                                httpGet:
                                  description: HTTPGetActionApplyConfiguration represents
                                    an declarative configuration of the HTTPGetAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        description: HTTPHeaderApplyConfiguration
                                          represents an declarative configuration
                                          of the HTTPHeader type for use with apply.
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      description: URIScheme identifies the scheme
                                        used for connection to a host for Get actions
                                      type: string
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  description: TCPSocketActionApplyConfiguration represents
                                    an declarative configuration of the TCPSocketAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            resources:
                              description: ResourceRequirementsApplyConfiguration
                                represents an declarative configuration of the ResourceRequirements
                                type for use with apply.
                              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: ResourceList is a set of (resource
                                    name, quantity) pairs.
                                  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: ResourceList is a set of (resource
                                    name, quantity) pairs.
                                  type: object
                              type: object
                            securityContext:
                              description: SecurityContextApplyConfiguration represents
                                an declarative configuration of the SecurityContext
                                type for use with apply.
                              properties:
                                allowPrivilegeEscalation:
                                  type: boolean
                                capabilities:
                                  description: CapabilitiesApplyConfiguration represents
                                    an declarative configuration of the Capabilities
                                    type for use with apply.
                                  properties:
                                    add:
                                      items:
                                        description: Capability represent POSIX capabilities
                                          type
                                        type: string
                                      type: array
                                    drop:
                                      items:
                                        description: Capability represent POSIX capabilities
                                          type
                                        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:
                                  description: SELinuxOptionsApplyConfiguration represents
                                    an declarative configuration of the SELinuxOptions
                                    type for use with apply.
                                  properties:
                                    level:
                                      type: string
                                    role:
                                      type: string
                                    type:
                                      type: string
                                    user:
                                      type: string
                                  type: object
                                seccompProfile:
                                  description: SeccompProfileApplyConfiguration represents
                                    an declarative configuration of the SeccompProfile
                                    type for use with apply.
                                  properties:
                                    localhostProfile:
                                      type: string
                                    type:
                                      description: SeccompProfileType defines the
                                        supported seccomp profile types.
                                      type: string
                                  type: object
                                windowsOptions:
                                  description: WindowsSecurityContextOptionsApplyConfiguration
                                    represents an declarative configuration of the
                                    WindowsSecurityContextOptions type for use with
                                    apply.
                                  properties:
                                    gmsaCredentialSpec:
                                      type: string
                                    gmsaCredentialSpecName:
                                      type: string
                                    hostProcess:
                                      type: boolean
                                    runAsUserName:
                                      type: string
                                  type: object
                              type: object
                            startupProbe:
                              description: ProbeApplyConfiguration represents an declarative
                                configuration of the Probe type for use with apply.
                              properties:
                                exec:
                                  description: ExecActionApplyConfiguration represents
                                    an declarative configuration of the ExecAction
                                    type for use with apply.
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  description: GRPCActionApplyConfiguration represents
                                    an declarative configuration of the GRPCAction
                                    type for use with apply.
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  type: object
                                httpGet:
                                  description: HTTPGetActionApplyConfiguration represents
                                    an declarative configuration of the HTTPGetAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        description: HTTPHeaderApplyConfiguration
                                          represents an declarative configuration
                                          of the HTTPHeader type for use with apply.
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      description: URIScheme identifies the scheme
                                        used for connection to a host for Get actions
                                      type: string
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  description: TCPSocketActionApplyConfiguration represents
                                    an declarative configuration of the TCPSocketAction
                                    type for use with apply.
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            stdin:
                              type: boolean
                            stdinOnce:
                              type: boolean
                            terminationMessagePath:
                              type: string
                            terminationMessagePolicy:
                              description: TerminationMessagePolicy describes how
                                termination messages are retrieved from a container.
                              type: string
                            tty:
                              type: boolean
                            volumeDevices:
                              items:
                                description: VolumeDeviceApplyConfiguration represents
                                  an declarative configuration of the VolumeDevice
                                  type for use with apply.
                                properties:
                                  devicePath:
                                    type: string
                                  name:
                                    type: string
                                type: object
                              type: array
                            volumeMounts:
                              items:
                                description: VolumeMountApplyConfiguration represents
                                  an declarative configuration of the VolumeMount
                                  type for use with apply.
                                properties:
                                  mountPath:
                                    type: string
                                  mountPropagation:
                                    description: MountPropagationMode describes mount
                                      propagation.
                                    type: string
                                  name:
                                    type: string
                                  readOnly:
                                    type: boolean
                                  subPath:
                                    type: string
                                  subPathExpr:
                                    type: string
                                type: object
                              type: array
                            workingDir:
                              type: string
                          type: object
                        type: array
                      nodeName:
                        type: string
                      nodeSelector:
                        additionalProperties:
                          type: string
                        type: object
                      os:
                        description: PodOSApplyConfiguration represents an declarative
                          configuration of the PodOS type for use with apply.
                        properties:
                          name:
                            description: OSName is the set of OS'es that can be used
                              in OS.
                            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
                        description: ResourceList is a set of (resource name, quantity)
                          pairs.
                        type: object
                      preemptionPolicy:
                        description: PreemptionPolicy describes a policy for if/when
                          to preempt a pod.
                        type: string
                      priority:
                        format: int32
                        type: integer
                      priorityClassName:
                        type: string
                      readinessGates:
                        items:
                          description: PodReadinessGateApplyConfiguration represents
                            an declarative configuration of the PodReadinessGate type
                            for use with apply.
                          properties:
                            conditionType:
                              description: PodConditionType is a valid value for PodCondition.Type
                              type: string
                          type: object
                        type: array
                      restartPolicy:
                        description: RestartPolicy describes how the container should
                          be restarted. Only one of the following restart policies
                          may be specified. If none of the following policies is specified,
                          the default one is RestartPolicyAlways.
                        type: string
                      runtimeClassName:
                        type: string
                      schedulerName:
                        type: string
                      securityContext:
                        description: PodSecurityContextApplyConfiguration represents
                          an declarative configuration of the PodSecurityContext type
                          for use with apply.
                        properties:
                          fsGroup:
                            format: int64
                            type: integer
                          fsGroupChangePolicy:
                            description: PodFSGroupChangePolicy holds policies that
                              will be used for applying fsGroup to a volume when volume
                              is mounted.
                            type: string
                          runAsGroup:
                            format: int64
                            type: integer
                          runAsNonRoot:
                            type: boolean
                          runAsUser:
                            format: int64
                            type: integer
                          seLinuxOptions:
                            description: SELinuxOptionsApplyConfiguration represents
                              an declarative configuration of the SELinuxOptions type
                              for use with apply.
                            properties:
                              level:
                                type: string
                              role:
                                type: string
                              type:
                                type: string
                              user:
                                type: string
                            type: object
                          seccompProfile:
                            description: SeccompProfileApplyConfiguration represents
                              an declarative configuration of the SeccompProfile type
                              for use with apply.
                            properties:
                              localhostProfile:
                                type: string
                              type:
                                description: SeccompProfileType defines the supported
                                  seccomp profile types.
                                type: string
                            type: object
                          supplementalGroups:
                            items:
                              format: int64
                              type: integer
                            type: array
                          sysctls:
                            items:
                              description: SysctlApplyConfiguration represents an
                                declarative configuration of the Sysctl type for use
                                with apply.
                              properties:
                                name:
                                  type: string
                                value:
                                  type: string
                              type: object
                            type: array
                          windowsOptions:
                            description: WindowsSecurityContextOptionsApplyConfiguration
                              represents an declarative configuration of the WindowsSecurityContextOptions
                              type for use with apply.
                            properties:
                              gmsaCredentialSpec:
                                type: string
                              gmsaCredentialSpecName:
                                type: string
                              hostProcess:
                                type: boolean
                              runAsUserName:
                                type: string
                            type: object
                        type: object
                      serviceAccount:
                        type: string
                      serviceAccountName:
                        type: string
                      setHostnameAsFQDN:
                        type: boolean
                      shareProcessNamespace:
                        type: boolean
                      subdomain:
                        type: string
                      terminationGracePeriodSeconds:
                        format: int64
                        type: integer
                      tolerations:
                        items:
                          description: TolerationApplyConfiguration represents an
                            declarative configuration of the Toleration type for use
                            with apply.
                          properties:
                            effect:
                              type: string
                            key:
                              type: string
                            operator:
                              description: A toleration operator is the set of operators
                                that can be used in a toleration.
                              type: string
                            tolerationSeconds:
                              format: int64
                              type: integer
                            value:
                              type: string
                          type: object
                        type: array
                      topologySpreadConstraints:
                        items:
                          description: TopologySpreadConstraintApplyConfiguration
                            represents an declarative configuration of the TopologySpreadConstraint
                            type for use with apply.
                          properties:
                            labelSelector:
                              description: LabelSelectorApplyConfiguration represents
                                an declarative configuration of the LabelSelector
                                type for use with apply.
                              properties:
                                matchExpressions:
                                  items:
                                    description: LabelSelectorRequirementApplyConfiguration
                                      represents an declarative configuration of the
                                      LabelSelectorRequirement type for use with apply.
                                    properties:
                                      key:
                                        type: string
                                      operator:
                                        description: A label selector operator is
                                          the set of operators that can be used in
                                          a selector requirement.
                                        type: string
                                      values:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  type: array
                                matchLabels:
                                  additionalProperties:
                                    type: string
                                  type: object
                              type: object
                            maxSkew:
                              format: int32
                              type: integer
                            topologyKey:
                              type: string
                            whenUnsatisfiable:
                              type: string
                          type: object
                        type: array
                      volumes:
                        items:
                          description: VolumeApplyConfiguration represents an declarative
                            configuration of the Volume type for use with apply.
                          properties:
                            awsElasticBlockStore:
                              description: AWSElasticBlockStoreVolumeSourceApplyConfiguration
                                represents an declarative configuration of the AWSElasticBlockStoreVolumeSource
                                type for use with apply.
                              properties:
                                fsType:
                                  type: string
                                partition:
                                  format: int32
                                  type: integer
                                readOnly:
                                  type: boolean
                                volumeID:
                                  type: string
                              type: object
                            azureDisk:
                              description: AzureDiskVolumeSourceApplyConfiguration
                                represents an declarative configuration of the AzureDiskVolumeSource
                                type for use with apply.
                              properties:
                                cachingMode:
                                  type: string
                                diskName:
                                  type: string
                                diskURI:
                                  type: string
                                fsType:
                                  type: string
                                kind:
                                  type: string
                                readOnly:
                                  type: boolean
                              type: object
                            azureFile:
                              description: AzureFileVolumeSourceApplyConfiguration
                                represents an declarative configuration of the AzureFileVolumeSource
                                type for use with apply.
                              properties:
                                readOnly:
                                  type: boolean
                                secretName:
                                  type: string
                                shareName:
                                  type: string
                              type: object
                            cephfs:
                              description: CephFSVolumeSourceApplyConfiguration represents
                                an declarative configuration of the CephFSVolumeSource
                                type for use with apply.
                              properties:
                                monitors:
                                  items:
                                    type: string
                                  type: array
                                path:
                                  type: string
                                readOnly:
                                  type: boolean
                                secretFile:
                                  type: string
                                secretRef:
                                  description: LocalObjectReferenceApplyConfiguration
                                    represents an declarative configuration of the
                                    LocalObjectReference type for use with apply.
                                  properties:
                                    name:
                                      type: string
                                  type: object
                                user:
                                  type: string
                              type: object
                            cinder:
                              description: CinderVolumeSourceApplyConfiguration represents
                                an declarative configuration of the CinderVolumeSource
                                type for use with apply.
                              properties:
                                fsType:
                                  type: string
                                readOnly:
                                  type: boolean
                                secretRef:
                                  description: LocalObjectReferenceApplyConfiguration
                                    represents an declarative configuration of the
                                    LocalObjectReference type for use with apply.
                                  properties:
                                    name:
                                      type: string
                                  type: object
                                volumeID:
                                  type: string
                              type: object
                            configMap:
                              description: ConfigMapVolumeSourceApplyConfiguration
                                represents an declarative configuration of the ConfigMapVolumeSource
                                type for use with apply.
                              properties:
                                defaultMode:
                                  format: int32
                                  type: integer
                                items:
                                  items:
                                    description: KeyToPathApplyConfiguration represents
                                      an declarative configuration of the KeyToPath
                                      type for use with apply.
                                    properties:
                                      key:
                                        type: string
                                      mode:
                                        format: int32
                                        type: integer
                                      path:
                                        type: string
                                    type: object
                                  type: array
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                            csi:
                              description: CSIVolumeSourceApplyConfiguration represents
                                an declarative configuration of the CSIVolumeSource
                                type for use with apply.
                              properties:
                                driver:
                                  type: string
                                fsType:
                                  type: string
                                nodePublishSecretRef:
                                  description: LocalObjectReferenceApplyConfiguration
                                    represents an declarative configuration of the
                                    LocalObjectReference type for use with apply.
                                  properties:
                                    name:
                                      type: string
                                  type: object
                                readOnly:
                                  type: boolean
                                volumeAttributes:
                                  additionalProperties:
                                    type: string
                                  type: object
                              type: object
                            downwardAPI:
                              description: DownwardAPIVolumeSourceApplyConfiguration
                                represents an declarative configuration of the DownwardAPIVolumeSource
                                type for use with apply.
                              properties:
                                defaultMode:
                                  format: int32
                                  type: integer
                                items:
                                  items:
                                    description: DownwardAPIVolumeFileApplyConfiguration
                                      represents an declarative configuration of the
                                      DownwardAPIVolumeFile type for use with apply.
                                    properties:
                                      fieldRef:
                                        description: ObjectFieldSelectorApplyConfiguration
                                          represents an declarative configuration
                                          of the ObjectFieldSelector type for use
                                          with apply.
                                        properties:
                                          apiVersion:
                                            type: string
                                          fieldPath:
                                            type: string
                                        type: object
                                      mode:
                                        format: int32
                                        type: integer
                                      path:
                                        type: string
                                      resourceFieldRef:
                                        description: ResourceFieldSelectorApplyConfiguration
                                          represents an declarative configuration
                                          of the ResourceFieldSelector type for use
                                          with apply.
                                        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
                                        type: object
                                    type: object
                                  type: array
                              type: object
                            emptyDir:
                              description: EmptyDirVolumeSourceApplyConfiguration
                                represents an declarative configuration of the EmptyDirVolumeSource
                                type for use with apply.
                              properties:
                                medium:
                                  description: StorageMedium defines ways that storage
                                    can be allocated to a volume.
                                  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:
                              description: EphemeralVolumeSourceApplyConfiguration
                                represents an declarative configuration of the EphemeralVolumeSource
                                type for use with apply.
                              properties:
                                volumeClaimTemplate:
                                  description: PersistentVolumeClaimTemplateApplyConfiguration
                                    represents an declarative configuration of the
                                    PersistentVolumeClaimTemplate type for use with
                                    apply.
                                  properties:
                                    metadata:
                                      description: ObjectMetaApplyConfiguration represents
                                        an declarative configuration of the ObjectMeta
                                        type for use with apply.
                                      properties:
                                        annotations:
                                          additionalProperties:
                                            type: string
                                          type: object
                                        clusterName:
                                          type: string
                                        creationTimestamp:
                                          format: date-time
                                          type: string
                                        deletionGracePeriodSeconds:
                                          format: int64
                                          type: integer
                                        deletionTimestamp:
                                          format: date-time
                                          type: string
                                        finalizers:
                                          items:
                                            type: string
                                          type: array
                                        generateName:
                                          type: string
                                        generation:
                                          format: int64
                                          type: integer
                                        labels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                        name:
                                          type: string
                                        namespace:
                                          type: string
                                        ownerReferences:
                                          items:
                                            description: OwnerReferenceApplyConfiguration
                                              represents an declarative configuration
                                              of the OwnerReference type for use with
                                              apply.
                                            properties:
                                              apiVersion:
                                                type: string
                                              blockOwnerDeletion:
                                                type: boolean
                                              controller:
                                                type: boolean
                                              kind:
                                                type: string
                                              name:
                                                type: string
                                              uid:
                                                description: UID is a type that holds
                                                  unique ID values, including UUIDs.  Because
                                                  we don't ONLY use UUIDs, this is
                                                  an alias to string.  Being a type
                                                  captures intent and helps make sure
                                                  that UIDs and names do not get conflated.
                                                type: string
                                            type: object
                                          type: array
                                        resourceVersion:
                                          type: string
                                        selfLink:
                                          type: string
                                        uid:
                                          description: UID is a type that holds unique
                                            ID values, including UUIDs.  Because we
                                            don't ONLY use UUIDs, this is an alias
                                            to string.  Being a type captures intent
                                            and helps make sure that UIDs and names
                                            do not get conflated.
                                          type: string
                                      type: object
                                    spec:
                                      description: PersistentVolumeClaimSpecApplyConfiguration
                                        represents an declarative configuration of
                                        the PersistentVolumeClaimSpec type for use
                                        with apply.
                                      properties:
                                        accessModes:
                                          items:
                                            type: string
                                          type: array
                                        dataSource:
                                          description: TypedLocalObjectReferenceApplyConfiguration
                                            represents an declarative configuration
                                            of the TypedLocalObjectReference type
                                            for use with apply.
                                          properties:
                                            apiGroup:
                                              type: string
                                            kind:
                                              type: string
                                            name:
                                              type: string
                                          type: object
                                        dataSourceRef:
                                          description: TypedLocalObjectReferenceApplyConfiguration
                                            represents an declarative configuration
                                            of the TypedLocalObjectReference type
                                            for use with apply.
                                          properties:
                                            apiGroup:
                                              type: string
                                            kind:
                                              type: string
                                            name:
                                              type: string
                                          type: object
                                        resources:
                                          description: ResourceRequirementsApplyConfiguration
                                            represents an declarative configuration
                                            of the ResourceRequirements type for use
                                            with apply.
                                          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: ResourceList is a set of
                                                (resource name, quantity) pairs.
                                              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: ResourceList is a set of
                                                (resource name, quantity) pairs.
                                              type: object
                                          type: object
                                        selector:
                                          description: LabelSelectorApplyConfiguration
                                            represents an declarative configuration
                                            of the LabelSelector type for use with
                                            apply.
                                          properties:
                                            matchExpressions:
                                              items:
                                                description: LabelSelectorRequirementApplyConfiguration
                                                  represents an declarative configuration
                                                  of the LabelSelectorRequirement
                                                  type for use with apply.
                                                properties:
                                                  key:
                                                    type: string
                                                  operator:
                                                    description: A label selector
                                                      operator is the set of operators
                                                      that can be used in a selector
                                                      requirement.
                                                    type: string
                                                  values:
                                                    items:
                                                      type: string
                                                    type: array
                                                type: object
                                              type: array
                                            matchLabels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                          type: object
                                        storageClassName:
                                          type: string
                                        volumeMode:
                                          description: PersistentVolumeMode describes
                                            how a volume is intended to be consumed,
                                            either Block or Filesystem.
                                          type: string
                                        volumeName:
                                          type: string
                                      type: object
                                  type: object
                              type: object
                            fc:
                              description: FCVolumeSourceApplyConfiguration represents
                                an declarative configuration of the FCVolumeSource
                                type for use with apply.
                              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:
                              description: FlexVolumeSourceApplyConfiguration represents
                                an declarative configuration of the FlexVolumeSource
                                type for use with apply.
                              properties:
                                driver:
                                  type: string
                                fsType:
                                  type: string
                                options:
                                  additionalProperties:
                                    type: string
                                  type: object
                                readOnly:
                                  type: boolean
                                secretRef:
                                  description: LocalObjectReferenceApplyConfiguration
                                    represents an declarative configuration of the
                                    LocalObjectReference type for use with apply.
                                  properties:
                                    name:
                                      type: string
                                  type: object
                              type: object
                            flocker:
                              description: FlockerVolumeSourceApplyConfiguration represents
                                an declarative configuration of the FlockerVolumeSource
                                type for use with apply.
                              properties:
                                datasetName:
                                  type: string
                                datasetUUID:
                                  type: string
                              type: object
                            gcePersistentDisk:
                              description: GCEPersistentDiskVolumeSourceApplyConfiguration
                                represents an declarative configuration of the GCEPersistentDiskVolumeSource
                                type for use with apply.
                              properties:
                                fsType:
                                  type: string
                                partition:
                                  format: int32
                                  type: integer
                                pdName:
                                  type: string
                                readOnly:
                                  type: boolean
                              type: object
                            gitRepo:
                              description: GitRepoVolumeSourceApplyConfiguration represents
                                an declarative configuration of the GitRepoVolumeSource
                                type for use with apply.
                              properties:
                                directory:
                                  type: string
                                repository:
                                  type: string
                                revision:
                                  type: string
                              type: object
                            glusterfs:
                              description: GlusterfsVolumeSourceApplyConfiguration
                                represents an declarative configuration of the GlusterfsVolumeSource
                                type for use with apply.
                              properties:
                                endpoints:
                                  type: string
                                path:
                                  type: string
                                readOnly:
                                  type: boolean
                              type: object
                            hostPath:
                              description: HostPathVolumeSourceApplyConfiguration
                                represents an declarative configuration of the HostPathVolumeSource
                                type for use with apply.
                              properties:
                                path:
                                  type: string
                                type:
                                  type: string
                              type: object
                            iscsi:
                              description: ISCSIVolumeSourceApplyConfiguration represents
                                an declarative configuration of the ISCSIVolumeSource
                                type for use with apply.
                              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:
                                  description: LocalObjectReferenceApplyConfiguration
                                    represents an declarative configuration of the
                                    LocalObjectReference type for use with apply.
                                  properties:
                                    name:
                                      type: string
                                  type: object
                                targetPortal:
                                  type: string
                              type: object
                            name:
                              type: string
                            nfs:
                              description: NFSVolumeSourceApplyConfiguration represents
                                an declarative configuration of the NFSVolumeSource
                                type for use with apply.
                              properties:
                                path:
                                  type: string
                                readOnly:
                                  type: boolean
                                server:
                                  type: string
                              type: object
                            persistentVolumeClaim:
                              description: PersistentVolumeClaimVolumeSourceApplyConfiguration
                                represents an declarative configuration of the PersistentVolumeClaimVolumeSource
                                type for use with apply.
                              properties:
                                claimName:
                                  type: string
                                readOnly:
                                  type: boolean
                              type: object
                            photonPersistentDisk:
                              description: PhotonPersistentDiskVolumeSourceApplyConfiguration
                                represents an declarative configuration of the PhotonPersistentDiskVolumeSource
                                type for use with apply.
                              properties:
                                fsType:
                                  type: string
                                pdID:
                                  type: string
                              type: object
                            portworxVolume:
                              description: PortworxVolumeSourceApplyConfiguration
                                represents an declarative configuration of the PortworxVolumeSource
                                type for use with apply.
                              properties:
                                fsType:
                                  type: string
                                readOnly:
                                  type: boolean
                                volumeID:
                                  type: string
                              type: object
                            projected:
                              description: ProjectedVolumeSourceApplyConfiguration
                                represents an declarative configuration of the ProjectedVolumeSource
                                type for use with apply.
                              properties:
                                defaultMode:
                                  format: int32
                                  type: integer
                                sources:
                                  items:
                                    description: VolumeProjectionApplyConfiguration
                                      represents an declarative configuration of the
                                      VolumeProjection type for use with apply.
                                    properties:
                                      configMap:
                                        description: ConfigMapProjectionApplyConfiguration
                                          represents an declarative configuration
                                          of the ConfigMapProjection type for use
                                          with apply.
                                        properties:
                                          items:
                                            items:
                                              description: KeyToPathApplyConfiguration
                                                represents an declarative configuration
                                                of the KeyToPath type for use with
                                                apply.
                                              properties:
                                                key:
                                                  type: string
                                                mode:
                                                  format: int32
                                                  type: integer
                                                path:
                                                  type: string
                                              type: object
                                            type: array
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        type: object
                                      downwardAPI:
                                        description: DownwardAPIProjectionApplyConfiguration
                                          represents an declarative configuration
                                          of the DownwardAPIProjection type for use
                                          with apply.
                                        properties:
                                          items:
                                            items:
                                              description: DownwardAPIVolumeFileApplyConfiguration
                                                represents an declarative configuration
                                                of the DownwardAPIVolumeFile type
                                                for use with apply.
                                              properties:
                                                fieldRef:
                                                  description: ObjectFieldSelectorApplyConfiguration
                                                    represents an declarative configuration
                                                    of the ObjectFieldSelector type
                                                    for use with apply.
                                                  properties:
                                                    apiVersion:
                                                      type: string
                                                    fieldPath:
                                                      type: string
                                                  type: object
                                                mode:
                                                  format: int32
                                                  type: integer
                                                path:
                                                  type: string
                                                resourceFieldRef:
                                                  description: ResourceFieldSelectorApplyConfiguration
                                                    represents an declarative configuration
                                                    of the ResourceFieldSelector type
                                                    for use with apply.
                                                  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
                                                  type: object
                                              type: object
                                            type: array
                                        type: object
                                      secret:
                                        description: SecretProjectionApplyConfiguration
                                          represents an declarative configuration
                                          of the SecretProjection type for use with
                                          apply.
                                        properties:
                                          items:
                                            items:
                                              description: KeyToPathApplyConfiguration
                                                represents an declarative configuration
                                                of the KeyToPath type for use with
                                                apply.
                                              properties:
                                                key:
                                                  type: string
                                                mode:
                                                  format: int32
                                                  type: integer
                                                path:
                                                  type: string
                                              type: object
                                            type: array
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        type: object
                                      serviceAccountToken:
                                        description: ServiceAccountTokenProjectionApplyConfiguration
                                          represents an declarative configuration
                                          of the ServiceAccountTokenProjection type
                                          for use with apply.
                                        properties:
                                          audience:
                                            type: string
                                          expirationSeconds:
                                            format: int64
                                            type: integer
                                          path:
                                            type: string
                                        type: object
                                    type: object
                                  type: array
                              type: object
                            quobyte:
                              description: QuobyteVolumeSourceApplyConfiguration represents
                                an declarative configuration of the QuobyteVolumeSource
                                type for use with apply.
                              properties:
                                group:
                                  type: string
                                readOnly:
                                  type: boolean
                                registry:
                                  type: string
                                tenant:
                                  type: string
                                user:
                                  type: string
                                volume:
                                  type: string
                              type: object
                            rbd:
                              description: RBDVolumeSourceApplyConfiguration represents
                                an declarative configuration of the RBDVolumeSource
                                type for use with apply.
                              properties:
                                fsType:
                                  type: string
                                image:
                                  type: string
                                keyring:
                                  type: string
                                monitors:
                                  items:
                                    type: string
                                  type: array
                                pool:
                                  type: string
                                readOnly:
                                  type: boolean
                                secretRef:
                                  description: LocalObjectReferenceApplyConfiguration
                                    represents an declarative configuration of the
                                    LocalObjectReference type for use with apply.
                                  properties:
                                    name:
                                      type: string
                                  type: object
                                user:
                                  type: string
                              type: object
                            scaleIO:
                              description: ScaleIOVolumeSourceApplyConfiguration represents
                                an declarative configuration of the ScaleIOVolumeSource
                                type for use with apply.
                              properties:
                                fsType:
                                  type: string
                                gateway:
                                  type: string
                                protectionDomain:
                                  type: string
                                readOnly:
                                  type: boolean
                                secretRef:
                                  description: LocalObjectReferenceApplyConfiguration
                                    represents an declarative configuration of the
                                    LocalObjectReference type for use with apply.
                                  properties:
                                    name:
                                      type: string
                                  type: object
                                sslEnabled:
                                  type: boolean
                                storageMode:
                                  type: string
                                storagePool:
                                  type: string
                                system:
                                  type: string
                                volumeName:
                                  type: string
                              type: object
                            secret:
                              description: SecretVolumeSourceApplyConfiguration represents
                                an declarative configuration of the SecretVolumeSource
                                type for use with apply.
                              properties:
                                defaultMode:
                                  format: int32
                                  type: integer
                                items:
                                  items:
                                    description: KeyToPathApplyConfiguration represents
                                      an declarative configuration of the KeyToPath
                                      type for use with apply.
                                    properties:
                                      key:
                                        type: string
                                      mode:
                                        format: int32
                                        type: integer
                                      path:
                                        type: string
                                    type: object
                                  type: array
                                optional:
                                  type: boolean
                                secretName:
                                  type: string
                              type: object
                            storageos:
                              description: StorageOSVolumeSourceApplyConfiguration
                                represents an declarative configuration of the StorageOSVolumeSource
                                type for use with apply.
                              properties:
                                fsType:
                                  type: string
                                readOnly:
                                  type: boolean
                                secretRef:
                                  description: LocalObjectReferenceApplyConfiguration
                                    represents an declarative configuration of the
                                    LocalObjectReference type for use with apply.
                                  properties:
                                    name:
                                      type: string
                                  type: object
                                volumeName:
                                  type: string
                                volumeNamespace:
                                  type: string
                              type: object
                            vsphereVolume:
                              description: VsphereVirtualDiskVolumeSourceApplyConfiguration
                                represents an declarative configuration of the VsphereVirtualDiskVolumeSource
                                type for use with apply.
                              properties:
                                fsType:
                                  type: string
                                storagePolicyID:
                                  type: string
                                storagePolicyName:
                                  type: string
                                volumePath:
                                  type: string
                              type: object
                          type: object
                        type: array
                    type: object
                required:
                - spec
                type: object
              primaryServiceTemplate:
                description: PrimaryServiceTemplate is a `Service` template for primary.
                properties:
                  metadata:
                    description: Standard object's metadata.  Only `annotations` and
                      `labels` are valid.
                    properties:
                      annotations:
                        additionalProperties:
                          type: string
                        description: Annotations is a map of string keys and values.
                        type: object
                      labels:
                        additionalProperties:
                          type: string
                        description: Labels is a map of string keys and values.
                        type: object
                      name:
                        description: Name is the name of the object.
                        type: string
                    type: object
                  spec:
                    description: Spec is the ServiceSpec
                    properties:
                      allocateLoadBalancerNodePorts:
                        type: boolean
                      clusterIP:
                        type: string
                      clusterIPs:
                        items:
                          type: string
                        type: array
                      externalIPs:
                        items:
                          type: string
                        type: array
                      externalName:
                        type: string
                      externalTrafficPolicy:
                        description: Service External Traffic Policy Type string
                        type: string
                      healthCheckNodePort:
                        format: int32
                        type: integer
                      internalTrafficPolicy:
                        description: ServiceInternalTrafficPolicyType describes the
                          type of traffic routing for internal traffic
                        type: string
                      ipFamilies:
                        items:
                          description: IPFamily represents the IP Family (IPv4 or
                            IPv6). This type is used to express the family of an IP
                            expressed by a type (e.g. service.spec.ipFamilies).
                          type: string
                        type: array
                      ipFamilyPolicy:
                        description: IPFamilyPolicyType represents the dual-stack-ness
                          requested or required by a Service
                        type: string
                      loadBalancerClass:
                        type: string
                      loadBalancerIP:
                        type: string
                      loadBalancerSourceRanges:
                        items:
                          type: string
                        type: array
                      ports:
                        items:
                          description: ServicePortApplyConfiguration represents an
                            declarative configuration of the ServicePort type for
                            use with apply.
                          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
                          type: object
                        type: array
                      publishNotReadyAddresses:
                        type: boolean
                      selector:
                        additionalProperties:
                          type: string
                        type: object
                      sessionAffinity:
                        description: Session Affinity Type string
                        type: string
                      sessionAffinityConfig:
                        description: SessionAffinityConfigApplyConfiguration represents
                          an declarative configuration of the SessionAffinityConfig
                          type for use with apply.
                        properties:
                          clientIP:
                            description: ClientIPConfigApplyConfiguration represents
                              an declarative configuration of the ClientIPConfig type
                              for use with apply.
                            properties:
                              timeoutSeconds:
                                format: int32
                                type: integer
                            type: object
                        type: object
                      type:
                        description: Service Type string describes ingress methods
                          for a service
                        type: string
                    type: object
                type: object
              replicaServiceTemplate:
                description: ReplicaServiceTemplate is a `Service` template for replica.
                properties:
                  metadata:
                    description: Standard object's metadata.  Only `annotations` and
                      `labels` are valid.
                    properties:
                      annotations:
                        additionalProperties:
                          type: string
                        description: Annotations is a map of string keys and values.
                        type: object
                      labels:
                        additionalProperties:
                          type: string
                        description: Labels is a map of string keys and values.
                        type: object
                      name:
                        description: Name is the name of the object.
                        type: string
                    type: object
                  spec:
                    description: Spec is the ServiceSpec
                    properties:
                      allocateLoadBalancerNodePorts:
                        type: boolean
                      clusterIP:
                        type: string
                      clusterIPs:
                        items:
                          type: string
                        type: array
                      externalIPs:
                        items:
                          type: string
                        type: array
                      externalName:
                        type: string
                      externalTrafficPolicy:
                        description: Service External Traffic Policy Type string
                        type: string
                      healthCheckNodePort:
                        format: int32
                        type: integer
                      internalTrafficPolicy:
                        description: ServiceInternalTrafficPolicyType describes the
                          type of traffic routing for internal traffic
                        type: string
                      ipFamilies:
                        items:
                          description: IPFamily represents the IP Family (IPv4 or
                            IPv6). This type is used to express the family of an IP
                            expressed by a type (e.g. service.spec.ipFamilies).
                          type: string
                        type: array
                      ipFamilyPolicy:
                        description: IPFamilyPolicyType represents the dual-stack-ness
                          requested or required by a Service
                        type: string
                      loadBalancerClass:
                        type: string
                      loadBalancerIP:
                        type: string
                      loadBalancerSourceRanges:
                        items:
                          type: string
                        type: array
                      ports:
                        items:
                          description: ServicePortApplyConfiguration represents an
                            declarative configuration of the ServicePort type for
                            use with apply.
                          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
                          type: object
                        type: array
                      publishNotReadyAddresses:
                        type: boolean
                      selector:
                        additionalProperties:
                          type: string
                        type: object
                      sessionAffinity:
                        description: Session Affinity Type string
                        type: string
                      sessionAffinityConfig:
                        description: SessionAffinityConfigApplyConfiguration represents
                          an declarative configuration of the SessionAffinityConfig
                          type for use with apply.
                        properties:
                          clientIP:
                            description: ClientIPConfigApplyConfiguration represents
                              an declarative configuration of the ClientIPConfig type
                              for use with apply.
                            properties:
                              timeoutSeconds:
                                format: int32
                                type: integer
                            type: object
                        type: object
                      type:
                        description: Service Type string describes ingress methods
                          for a service
                        type: string
                    type: object
                type: object
              replicas:
                default: 1
                description: Replicas is the number of instances. Available values
                  are positive odd numbers.
                format: int32
                type: integer
              replicationSourceSecretName:
                description: ReplicationSourceSecretName is a `Secret` name which
                  contains replication source info. If this field is given, the `MySQLCluster`
                  works as an intermediate primary.
                nullable: true
                type: string
              restore:
                description: Restore is the specification to perform Point-in-Time-Recovery
                  from existing cluster. If this field is not null, MOCO restores
                  the data as specified and create a new cluster with the data.  This
                  field is not editable.
                properties:
                  jobConfig:
                    description: Specifies parameters for restore Pod.
                    properties:
                      bucketConfig:
                        description: Specifies how to access an object storage bucket.
                        properties:
                          bucketName:
                            description: The name of the bucket
                            minLength: 1
                            type: string
                          endpointURL:
                            description: The API endpoint URL.  Set this for non-S3
                              object storages.
                            pattern: ^https?://.*
                            type: string
                          region:
                            description: The region of the bucket. This can also be
                              set through `AWS_REGION` environment variable.
                            type: string
                          usePathStyle:
                            description: Allows you to enable the client to use path-style
                              addressing, i.e., https?://ENDPOINT/BUCKET/KEY. By default,
                              a virtual-host addressing is used (https?://BUCKET.ENDPOINT/KEY).
                            type: boolean
                        required:
                        - bucketName
                        type: object
                      env:
                        description: "List of environment variables to set in the
                          container. \n You can configure S3 bucket access parameters
                          through environment variables. See https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/config#EnvConfig"
                        items:
                          description: EnvVarApplyConfiguration is the type defined
                            to implement the DeepCopy method.
                          properties:
                            name:
                              type: string
                            value:
                              type: string
                            valueFrom:
                              description: EnvVarSourceApplyConfiguration represents
                                an declarative configuration of the EnvVarSource type
                                for use with apply.
                              properties:
                                configMapKeyRef:
                                  description: ConfigMapKeySelectorApplyConfiguration
                                    represents an declarative configuration of the
                                    ConfigMapKeySelector type for use with apply.
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  type: object
                                fieldRef:
                                  description: ObjectFieldSelectorApplyConfiguration
                                    represents an declarative configuration of the
                                    ObjectFieldSelector type for use with apply.
                                  properties:
                                    apiVersion:
                                      type: string
                                    fieldPath:
                                      type: string
                                  type: object
                                resourceFieldRef:
                                  description: ResourceFieldSelectorApplyConfiguration
                                    represents an declarative configuration of the
                                    ResourceFieldSelector type for use with apply.
                                  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
                                  type: object
                                secretKeyRef:
                                  description: SecretKeySelectorApplyConfiguration
                                    represents an declarative configuration of the
                                    SecretKeySelector type for use with apply.
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  type: object
                              type: object
                          type: object
                        type: array
                      envFrom:
                        description: List of sources to populate environment variables
                          in the container. The keys defined within a source must
                          be a C_IDENTIFIER. All invalid keys will be reported as
                          an event when the container is starting.
                        items:
                          description: EnvFromSourceApplyConfiguration is the type
                            defined to implement the DeepCopy method.
                          properties:
                            configMapRef:
                              description: ConfigMapEnvSourceApplyConfiguration represents
                                an declarative configuration of the ConfigMapEnvSource
                                type for use with apply.
                              properties:
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                            prefix:
                              type: string
                            secretRef:
                              description: SecretEnvSourceApplyConfiguration represents
                                an declarative configuration of the SecretEnvSource
                                type for use with apply.
                              properties:
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                          type: object
                        type: array
                      maxMemory:
                        anyOf:
                        - type: integer
                        - type: string
                        description: MaxMemory is the amount of maximum memory for
                          the Pod.
                        nullable: true
                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                        x-kubernetes-int-or-string: true
                      memory:
                        anyOf:
                        - type: integer
                        - type: string
                        default: 4Gi
                        description: Memory is the amount of memory requested for
                          the Pod.
                        nullable: true
                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                        x-kubernetes-int-or-string: true
                      serviceAccountName:
                        description: ServiceAccountName specifies the ServiceAccount
                          to run the Pod.
                        minLength: 1
                        type: string
                      threads:
                        default: 4
                        description: Threads is the number of threads used for backup
                          or restoration.
                        minimum: 1
                        type: integer
                      workVolume:
                        description: "WorkVolume is the volume source for the working
                          directory. Since the backup or restore task can use a lot
                          of bytes in the working directory, You should always give
                          a volume with enough capacity. \n The recommended volume
                          source is a generic ephemeral volume. https://kubernetes."
                        properties:
                          awsElasticBlockStore:
                            description: AWSElasticBlockStoreVolumeSourceApplyConfiguration
                              represents an declarative configuration of the AWSElasticBlockStoreVolumeSource
                              type for use with apply.
                            properties:
                              fsType:
                                type: string
                              partition:
                                format: int32
                                type: integer
                              readOnly:
                                type: boolean
                              volumeID:
                                type: string
                            type: object
                          azureDisk:
                            description: AzureDiskVolumeSourceApplyConfiguration represents
                              an declarative configuration of the AzureDiskVolumeSource
                              type for use with apply.
                            properties:
                              cachingMode:
                                type: string
                              diskName:
                                type: string
                              diskURI:
                                type: string
                              fsType:
                                type: string
                              kind:
                                type: string
                              readOnly:
                                type: boolean
                            type: object
                          azureFile:
                            description: AzureFileVolumeSourceApplyConfiguration represents
                              an declarative configuration of the AzureFileVolumeSource
                              type for use with apply.
                            properties:
                              readOnly:
                                type: boolean
                              secretName:
                                type: string
                              shareName:
                                type: string
                            type: object
                          cephfs:
                            description: CephFSVolumeSourceApplyConfiguration represents
                              an declarative configuration of the CephFSVolumeSource
                              type for use with apply.
                            properties:
                              monitors:
                                items:
                                  type: string
                                type: array
                              path:
                                type: string
                              readOnly:
                                type: boolean
                              secretFile:
                                type: string
                              secretRef:
                                description: LocalObjectReferenceApplyConfiguration
                                  represents an declarative configuration of the LocalObjectReference
                                  type for use with apply.
                                properties:
                                  name:
                                    type: string
                                type: object
                              user:
                                type: string
                            type: object
                          cinder:
                            description: CinderVolumeSourceApplyConfiguration represents
                              an declarative configuration of the CinderVolumeSource
                              type for use with apply.
                            properties:
                              fsType:
                                type: string
                              readOnly:
                                type: boolean
                              secretRef:
                                description: LocalObjectReferenceApplyConfiguration
                                  represents an declarative configuration of the LocalObjectReference
                                  type for use with apply.
                                properties:
                                  name:
                                    type: string
                                type: object
                              volumeID:
                                type: string
                            type: object
                          configMap:
                            description: ConfigMapVolumeSourceApplyConfiguration represents
                              an declarative configuration of the ConfigMapVolumeSource
                              type for use with apply.
                            properties:
                              defaultMode:
                                format: int32
                                type: integer
                              items:
                                items:
                                  description: KeyToPathApplyConfiguration represents
                                    an declarative configuration of the KeyToPath
                                    type for use with apply.
                                  properties:
                                    key:
                                      type: string
                                    mode:
                                      format: int32
                                      type: integer
                                    path:
                                      type: string
                                  type: object
                                type: array
                              name:
                                type: string
                              optional:
                                type: boolean
                            type: object
                          csi:
                            description: CSIVolumeSourceApplyConfiguration represents
                              an declarative configuration of the CSIVolumeSource
                              type for use with apply.
                            properties:
                              driver:
                                type: string
                              fsType:
                                type: string
                              nodePublishSecretRef:
                                description: LocalObjectReferenceApplyConfiguration
                                  represents an declarative configuration of the LocalObjectReference
                                  type for use with apply.
                                properties:
                                  name:
                                    type: string
                                type: object
                              readOnly:
                                type: boolean
                              volumeAttributes:
                                additionalProperties:
                                  type: string
                                type: object
                            type: object
                          downwardAPI:
                            description: DownwardAPIVolumeSourceApplyConfiguration
                              represents an declarative configuration of the DownwardAPIVolumeSource
                              type for use with apply.
                            properties:
                              defaultMode:
                                format: int32
                                type: integer
                              items:
                                items:
                                  description: DownwardAPIVolumeFileApplyConfiguration
                                    represents an declarative configuration of the
                                    DownwardAPIVolumeFile type for use with apply.
                                  properties:
                                    fieldRef:
                                      description: ObjectFieldSelectorApplyConfiguration
                                        represents an declarative configuration of
                                        the ObjectFieldSelector type for use with
                                        apply.
                                      properties:
                                        apiVersion:
                                          type: string
                                        fieldPath:
                                          type: string
                                      type: object
                                    mode:
                                      format: int32
                                      type: integer
                                    path:
                                      type: string
                                    resourceFieldRef:
                                      description: ResourceFieldSelectorApplyConfiguration
                                        represents an declarative configuration of
                                        the ResourceFieldSelector type for use with
                                        apply.
                                      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
                                      type: object
                                  type: object
                                type: array
                            type: object
                          emptyDir:
                            description: EmptyDirVolumeSourceApplyConfiguration represents
                              an declarative configuration of the EmptyDirVolumeSource
                              type for use with apply.
                            properties:
                              medium:
                                description: StorageMedium defines ways that storage
                                  can be allocated to a volume.
                                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:
                            description: EphemeralVolumeSourceApplyConfiguration represents
                              an declarative configuration of the EphemeralVolumeSource
                              type for use with apply.
                            properties:
                              volumeClaimTemplate:
                                description: PersistentVolumeClaimTemplateApplyConfiguration
                                  represents an declarative configuration of the PersistentVolumeClaimTemplate
                                  type for use with apply.
                                properties:
                                  metadata:
                                    description: ObjectMetaApplyConfiguration represents
                                      an declarative configuration of the ObjectMeta
                                      type for use with apply.
                                    properties:
                                      annotations:
                                        additionalProperties:
                                          type: string
                                        type: object
                                      clusterName:
                                        type: string
                                      creationTimestamp:
                                        format: date-time
                                        type: string
                                      deletionGracePeriodSeconds:
                                        format: int64
                                        type: integer
                                      deletionTimestamp:
                                        format: date-time
                                        type: string
                                      finalizers:
                                        items:
                                          type: string
                                        type: array
                                      generateName:
                                        type: string
                                      generation:
                                        format: int64
                                        type: integer
                                      labels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                      name:
                                        type: string
                                      namespace:
                                        type: string
                                      ownerReferences:
                                        items:
                                          description: OwnerReferenceApplyConfiguration
                                            represents an declarative configuration
                                            of the OwnerReference type for use with
                                            apply.
                                          properties:
                                            apiVersion:
                                              type: string
                                            blockOwnerDeletion:
                                              type: boolean
                                            controller:
                                              type: boolean
                                            kind:
                                              type: string
                                            name:
                                              type: string
                                            uid:
                                              description: UID is a type that holds
                                                unique ID values, including UUIDs.  Because
                                                we don't ONLY use UUIDs, this is an
                                                alias to string.  Being a type captures
                                                intent and helps make sure that UIDs
                                                and names do not get conflated.
                                              type: string
                                          type: object
                                        type: array
                                      resourceVersion:
                                        type: string
                                      selfLink:
                                        type: string
                                      uid:
                                        description: UID is a type that holds unique
                                          ID values, including UUIDs.  Because we
                                          don't ONLY use UUIDs, this is an alias to
                                          string.  Being a type captures intent and
                                          helps make sure that UIDs and names do not
                                          get conflated.
                                        type: string
                                    type: object
                                  spec:
                                    description: PersistentVolumeClaimSpecApplyConfiguration
                                      represents an declarative configuration of the
                                      PersistentVolumeClaimSpec type for use with
                                      apply.
                                    properties:
                                      accessModes:
                                        items:
                                          type: string
                                        type: array
                                      dataSource:
                                        description: TypedLocalObjectReferenceApplyConfiguration
                                          represents an declarative configuration
                                          of the TypedLocalObjectReference type for
                                          use with apply.
                                        properties:
                                          apiGroup:
                                            type: string
                                          kind:
                                            type: string
                                          name:
                                            type: string
                                        type: object
                                      dataSourceRef:
                                        description: TypedLocalObjectReferenceApplyConfiguration
                                          represents an declarative configuration
                                          of the TypedLocalObjectReference type for
                                          use with apply.
                                        properties:
                                          apiGroup:
                                            type: string
                                          kind:
                                            type: string
                                          name:
                                            type: string
                                        type: object
                                      resources:
                                        description: ResourceRequirementsApplyConfiguration
                                          represents an declarative configuration
                                          of the ResourceRequirements type for use
                                          with apply.
                                        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: ResourceList is a set of
                                              (resource name, quantity) pairs.
                                            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: ResourceList is a set of
                                              (resource name, quantity) pairs.
                                            type: object
                                        type: object
                                      selector:
                                        description: LabelSelectorApplyConfiguration
                                          represents an declarative configuration
                                          of the LabelSelector type for use with apply.
                                        properties:
                                          matchExpressions:
                                            items:
                                              description: LabelSelectorRequirementApplyConfiguration
                                                represents an declarative configuration
                                                of the LabelSelectorRequirement type
                                                for use with apply.
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  description: A label selector operator
                                                    is the set of operators that can
                                                    be used in a selector requirement.
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              type: object
                                            type: array
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      storageClassName:
                                        type: string
                                      volumeMode:
                                        description: PersistentVolumeMode describes
                                          how a volume is intended to be consumed,
                                          either Block or Filesystem.
                                        type: string
                                      volumeName:
                                        type: string
                                    type: object
                                type: object
                            type: object
                          fc:
                            description: FCVolumeSourceApplyConfiguration represents
                              an declarative configuration of the FCVolumeSource type
                              for use with apply.
                            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:
                            description: FlexVolumeSourceApplyConfiguration represents
                              an declarative configuration of the FlexVolumeSource
                              type for use with apply.
                            properties:
                              driver:
                                type: string
                              fsType:
                                type: string
                              options:
                                additionalProperties:
                                  type: string
                                type: object
                              readOnly:
                                type: boolean
                              secretRef:
                                description: LocalObjectReferenceApplyConfiguration
                                  represents an declarative configuration of the LocalObjectReference
                                  type for use with apply.
                                properties:
                                  name:
                                    type: string
                                type: object
                            type: object
                          flocker:
                            description: FlockerVolumeSourceApplyConfiguration represents
                              an declarative configuration of the FlockerVolumeSource
                              type for use with apply.
                            properties:
                              datasetName:
                                type: string
                              datasetUUID:
                                type: string
                            type: object
                          gcePersistentDisk:
                            description: GCEPersistentDiskVolumeSourceApplyConfiguration
                              represents an declarative configuration of the GCEPersistentDiskVolumeSource
                              type for use with apply.
                            properties:
                              fsType:
                                type: string
                              partition:
                                format: int32
                                type: integer
                              pdName:
                                type: string
                              readOnly:
                                type: boolean
                            type: object
                          gitRepo:
                            description: GitRepoVolumeSourceApplyConfiguration represents
                              an declarative configuration of the GitRepoVolumeSource
                              type for use with apply.
                            properties:
                              directory:
                                type: string
                              repository:
                                type: string
                              revision:
                                type: string
                            type: object
                          glusterfs:
                            description: GlusterfsVolumeSourceApplyConfiguration represents
                              an declarative configuration of the GlusterfsVolumeSource
                              type for use with apply.
                            properties:
                              endpoints:
                                type: string
                              path:
                                type: string
                              readOnly:
                                type: boolean
                            type: object
                          hostPath:
                            description: HostPathVolumeSourceApplyConfiguration represents
                              an declarative configuration of the HostPathVolumeSource
                              type for use with apply.
                            properties:
                              path:
                                type: string
                              type:
                                type: string
                            type: object
                          iscsi:
                            description: ISCSIVolumeSourceApplyConfiguration represents
                              an declarative configuration of the ISCSIVolumeSource
                              type for use with apply.
                            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:
                                description: LocalObjectReferenceApplyConfiguration
                                  represents an declarative configuration of the LocalObjectReference
                                  type for use with apply.
                                properties:
                                  name:
                                    type: string
                                type: object
                              targetPortal:
                                type: string
                            type: object
                          nfs:
                            description: NFSVolumeSourceApplyConfiguration represents
                              an declarative configuration of the NFSVolumeSource
                              type for use with apply.
                            properties:
                              path:
                                type: string
                              readOnly:
                                type: boolean
                              server:
                                type: string
                            type: object
                          persistentVolumeClaim:
                            description: PersistentVolumeClaimVolumeSourceApplyConfiguration
                              represents an declarative configuration of the PersistentVolumeClaimVolumeSource
                              type for use with apply.
                            properties:
                              claimName:
                                type: string
                              readOnly:
                                type: boolean
                            type: object
                          photonPersistentDisk:
                            description: PhotonPersistentDiskVolumeSourceApplyConfiguration
                              represents an declarative configuration of the PhotonPersistentDiskVolumeSource
                              type for use with apply.
                            properties:
                              fsType:
                                type: string
                              pdID:
                                type: string
                            type: object
                          portworxVolume:
                            description: PortworxVolumeSourceApplyConfiguration represents
                              an declarative configuration of the PortworxVolumeSource
                              type for use with apply.
                            properties:
                              fsType:
                                type: string
                              readOnly:
                                type: boolean
                              volumeID:
                                type: string
                            type: object
                          projected:
                            description: ProjectedVolumeSourceApplyConfiguration represents
                              an declarative configuration of the ProjectedVolumeSource
                              type for use with apply.
                            properties:
                              defaultMode:
                                format: int32
                                type: integer
                              sources:
                                items:
                                  description: VolumeProjectionApplyConfiguration
                                    represents an declarative configuration of the
                                    VolumeProjection type for use with apply.
                                  properties:
                                    configMap:
                                      description: ConfigMapProjectionApplyConfiguration
                                        represents an declarative configuration of
                                        the ConfigMapProjection type for use with
                                        apply.
                                      properties:
                                        items:
                                          items:
                                            description: KeyToPathApplyConfiguration
                                              represents an declarative configuration
                                              of the KeyToPath type for use with apply.
                                            properties:
                                              key:
                                                type: string
                                              mode:
                                                format: int32
                                                type: integer
                                              path:
                                                type: string
                                            type: object
                                          type: array
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      type: object
                                    downwardAPI:
                                      description: DownwardAPIProjectionApplyConfiguration
                                        represents an declarative configuration of
                                        the DownwardAPIProjection type for use with
                                        apply.
                                      properties:
                                        items:
                                          items:
                                            description: DownwardAPIVolumeFileApplyConfiguration
                                              represents an declarative configuration
                                              of the DownwardAPIVolumeFile type for
                                              use with apply.
                                            properties:
                                              fieldRef:
                                                description: ObjectFieldSelectorApplyConfiguration
                                                  represents an declarative configuration
                                                  of the ObjectFieldSelector type
                                                  for use with apply.
                                                properties:
                                                  apiVersion:
                                                    type: string
                                                  fieldPath:
                                                    type: string
                                                type: object
                                              mode:
                                                format: int32
                                                type: integer
                                              path:
                                                type: string
                                              resourceFieldRef:
                                                description: ResourceFieldSelectorApplyConfiguration
                                                  represents an declarative configuration
                                                  of the ResourceFieldSelector type
                                                  for use with apply.
                                                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
                                                type: object
                                            type: object
                                          type: array
                                      type: object
                                    secret:
                                      description: SecretProjectionApplyConfiguration
                                        represents an declarative configuration of
                                        the SecretProjection type for use with apply.
                                      properties:
                                        items:
                                          items:
                                            description: KeyToPathApplyConfiguration
                                              represents an declarative configuration
                                              of the KeyToPath type for use with apply.
                                            properties:
                                              key:
                                                type: string
                                              mode:
                                                format: int32
                                                type: integer
                                              path:
                                                type: string
                                            type: object
                                          type: array
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      type: object
                                    serviceAccountToken:
                                      description: ServiceAccountTokenProjectionApplyConfiguration
                                        represents an declarative configuration of
                                        the ServiceAccountTokenProjection type for
                                        use with apply.
                                      properties:
                                        audience:
                                          type: string
                                        expirationSeconds:
                                          format: int64
                                          type: integer
                                        path:
                                          type: string
                                      type: object
                                  type: object
                                type: array
                            type: object
                          quobyte:
                            description: QuobyteVolumeSourceApplyConfiguration represents
                              an declarative configuration of the QuobyteVolumeSource
                              type for use with apply.
                            properties:
                              group:
                                type: string
                              readOnly:
                                type: boolean
                              registry:
                                type: string
                              tenant:
                                type: string
                              user:
                                type: string
                              volume:
                                type: string
                            type: object
                          rbd:
                            description: RBDVolumeSourceApplyConfiguration represents
                              an declarative configuration of the RBDVolumeSource
                              type for use with apply.
                            properties:
                              fsType:
                                type: string
                              image:
                                type: string
                              keyring:
                                type: string
                              monitors:
                                items:
                                  type: string
                                type: array
                              pool:
                                type: string
                              readOnly:
                                type: boolean
                              secretRef:
                                description: LocalObjectReferenceApplyConfiguration
                                  represents an declarative configuration of the LocalObjectReference
                                  type for use with apply.
                                properties:
                                  name:
                                    type: string
                                type: object
                              user:
                                type: string
                            type: object
                          scaleIO:
                            description: ScaleIOVolumeSourceApplyConfiguration represents
                              an declarative configuration of the ScaleIOVolumeSource
                              type for use with apply.
                            properties:
                              fsType:
                                type: string
                              gateway:
                                type: string
                              protectionDomain:
                                type: string
                              readOnly:
                                type: boolean
                              secretRef:
                                description: LocalObjectReferenceApplyConfiguration
                                  represents an declarative configuration of the LocalObjectReference
                                  type for use with apply.
                                properties:
                                  name:
                                    type: string
                                type: object
                              sslEnabled:
                                type: boolean
                              storageMode:
                                type: string
                              storagePool:
                                type: string
                              system:
                                type: string
                              volumeName:
                                type: string
                            type: object
                          secret:
                            description: SecretVolumeSourceApplyConfiguration represents
                              an declarative configuration of the SecretVolumeSource
                              type for use with apply.
                            properties:
                              defaultMode:
                                format: int32
                                type: integer
                              items:
                                items:
                                  description: KeyToPathApplyConfiguration represents
                                    an declarative configuration of the KeyToPath
                                    type for use with apply.
                                  properties:
                                    key:
                                      type: string
                                    mode:
                                      format: int32
                                      type: integer
                                    path:
                                      type: string
                                  type: object
                                type: array
                              optional:
                                type: boolean
                              secretName:
                                type: string
                            type: object
                          storageos:
                            description: StorageOSVolumeSourceApplyConfiguration represents
                              an declarative configuration of the StorageOSVolumeSource
                              type for use with apply.
                            properties:
                              fsType:
                                type: string
                              readOnly:
                                type: boolean
                              secretRef:
                                description: LocalObjectReferenceApplyConfiguration
                                  represents an declarative configuration of the LocalObjectReference
                                  type for use with apply.
                                properties:
                                  name:
                                    type: string
                                type: object
                              volumeName:
                                type: string
                              volumeNamespace:
                                type: string
                            type: object
                          vsphereVolume:
                            description: VsphereVirtualDiskVolumeSourceApplyConfiguration
                              represents an declarative configuration of the VsphereVirtualDiskVolumeSource
                              type for use with apply.
                            properties:
                              fsType:
                                type: string
                              storagePolicyID:
                                type: string
                              storagePolicyName:
                                type: string
                              volumePath:
                                type: string
                            type: object
                        type: object
                    required:
                    - bucketConfig
                    - serviceAccountName
                    - workVolume
                    type: object
                  restorePoint:
                    description: RestorePoint is the target date and time to restore
                      data. The format is RFC3339.  e.g. "2006-01-02T15:04:05Z"
                    format: date-time
                    type: string
                  sourceName:
                    description: SourceName is the name of the source `MySQLCluster`.
                    minLength: 1
                    type: string
                  sourceNamespace:
                    description: SourceNamespace is the namespace of the source `MySQLCluster`.
                    minLength: 1
                    type: string
                required:
                - jobConfig
                - restorePoint
                - sourceName
                - sourceNamespace
                type: object
              serverIDBase:
                description: ServerIDBase, if set, will become the base number of
                  server-id of each MySQL instance of this cluster.  For example,
                  if this is 100, the server-ids will be 100, 101, 102, and so on.
                  If the field is not given or zero, MOCO automatically sets a random
                  positive integer.
                format: int32
                type: integer
              startupWaitSeconds:
                default: 3600
                description: StartupWaitSeconds is the maximum duration to wait for
                  `mysqld` container to start working. The default is 3600 seconds.
                format: int32
                minimum: 0
                type: integer
              volumeClaimTemplates:
                description: VolumeClaimTemplates is a list of `PersistentVolumeClaim`
                  templates for MySQL server container. A claim named "mysql-data"
                  must be included in the list.
                items:
                  description: PersistentVolumeClaim is a user's request for and claim
                    to a persistent volume. This is slightly modified from corev1.PersistentVolumeClaim.
                  properties:
                    metadata:
                      description: Standard object's metadata.
                      properties:
                        annotations:
                          additionalProperties:
                            type: string
                          description: Annotations is a map of string keys and values.
                          type: object
                        labels:
                          additionalProperties:
                            type: string
                          description: Labels is a map of string keys and values.
                          type: object
                        name:
                          description: Name is the name of the object.
                          type: string
                      type: object
                    spec:
                      description: Spec defines the desired characteristics of a volume
                        requested by a pod author.
                      properties:
                        accessModes:
                          items:
                            type: string
                          type: array
                        dataSource:
                          description: TypedLocalObjectReferenceApplyConfiguration
                            represents an declarative configuration of the TypedLocalObjectReference
                            type for use with apply.
                          properties:
                            apiGroup:
                              type: string
                            kind:
                              type: string
                            name:
                              type: string
                          type: object
                        dataSourceRef:
                          description: TypedLocalObjectReferenceApplyConfiguration
                            represents an declarative configuration of the TypedLocalObjectReference
                            type for use with apply.
                          properties:
                            apiGroup:
                              type: string
                            kind:
                              type: string
                            name:
                              type: string
                          type: object
                        resources:
                          description: ResourceRequirementsApplyConfiguration represents
                            an declarative configuration of the ResourceRequirements
                            type for use with apply.
                          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: ResourceList is a set of (resource name,
                                quantity) pairs.
                              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: ResourceList is a set of (resource name,
                                quantity) pairs.
                              type: object
                          type: object
                        selector:
                          description: LabelSelectorApplyConfiguration represents
                            an declarative configuration of the LabelSelector type
                            for use with apply.
                          properties:
                            matchExpressions:
                              items:
                                description: LabelSelectorRequirementApplyConfiguration
                                  represents an declarative configuration of the LabelSelectorRequirement
                                  type for use with apply.
                                properties:
                                  key:
                                    type: string
                                  operator:
                                    description: A label selector operator is the
                                      set of operators that can be used in a selector
                                      requirement.
                                    type: string
                                  values:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              type: array
                            matchLabels:
                              additionalProperties:
                                type: string
                              type: object
                          type: object
                        storageClassName:
                          type: string
                        volumeMode:
                          description: PersistentVolumeMode describes how a volume
                            is intended to be consumed, either Block or Filesystem.
                          type: string
                        volumeName:
                          type: string
                      type: object
                  required:
                  - metadata
                  - spec
                  type: object
                minItems: 1
                type: array
            required:
            - podTemplate
            - volumeClaimTemplates
            type: object
          status:
            description: MySQLClusterStatus defines the observed state of MySQLCluster
            properties:
              backup:
                description: Backup is the status of the last successful backup.
                properties:
                  binlogFilename:
                    description: BinlogFilename is the binlog filename that the backup
                      source instance was writing to at the backup.
                    type: string
                  binlogSize:
                    description: BinlogSize is the size in bytes of a tarball of binlog
                      files stored in an object storage bucket.
                    format: int64
                    type: integer
                  dumpSize:
                    description: DumpSize is the size in bytes of a full dump of database
                      stored in an object storage bucket.
                    format: int64
                    type: integer
                  elapsed:
                    description: Elapsed is the time spent on the backup.
                    type: string
                  gtidSet:
                    description: GTIDSet is the GTID set of the full dump of database.
                    type: string
                  sourceIndex:
                    description: SourceIndex is the ordinal of the backup source instance.
                    type: integer
                  sourceUUID:
                    description: SourceUUID is the `server_uuid` of the backup source
                      instance.
                    type: string
                  time:
                    description: The time of the backup.  This is used to generate
                      object keys of backup files in a bucket.
                    format: date-time
                    nullable: true
                    type: string
                  warnings:
                    description: Warnings are list of warnings from the last backup,
                      if any.
                    items:
                      type: string
                    nullable: true
                    type: array
                  workDirUsage:
                    description: WorkDirUsage is the max usage in bytes of the woking
                      directory.
                    format: int64
                    type: integer
                required:
                - binlogFilename
                - binlogSize
                - dumpSize
                - elapsed
                - gtidSet
                - sourceIndex
                - sourceUUID
                - time
                - warnings
                - workDirUsage
                type: object
              cloned:
                description: Cloned indicates if the initial cloning from an external
                  source has been completed.
                type: boolean
              conditions:
                description: Conditions is an array of conditions.
                items:
                  description: MySQLClusterCondition defines the condition of MySQLCluster.
                  properties:
                    lastTransitionTime:
                      description: LastTransitionTime is the last time the condition
                        transits from one status to another.
                      format: date-time
                      type: string
                    message:
                      description: Message is a human-readable message indicating
                        details about last transition.
                      type: string
                    reason:
                      description: Reason is a one-word CamelCase reason for the condition's
                        last transition.
                      type: string
                    status:
                      description: Status is the status of the condition.
                      type: string
                    type:
                      description: Type is the type of the condition.
                      enum:
                      - Initialized
                      - Available
                      - Healthy
                      type: string
                  required:
                  - lastTransitionTime
                  - status
                  - type
                  type: object
                type: array
              currentPrimaryIndex:
                description: CurrentPrimaryIndex is the index of the current primary
                  Pod in StatefulSet. Initially, this is zero.
                type: integer
              errantReplicaList:
                description: ErrantReplicaList is the list of indices of errant replicas.
                items:
                  type: integer
                type: array
              errantReplicas:
                description: ErrantReplicas is the number of instances that have errant
                  transactions.
                type: integer
              reconcileInfo:
                description: ReconcileInfo represents version information for reconciler.
                properties:
                  generation:
                    description: Generation is the `metadata.generation` value of
                      the last reconciliation. See also https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#status-subresource
                    format: int64
                    type: integer
                  reconcileVersion:
                    description: ReconcileVersion is the version of the operator reconciler.
                    type: integer
                type: object
              restoredTime:
                description: RestoredTime is the time when the cluster data is restored.
                format: date-time
                type: string
              syncedReplicas:
                description: SyncedReplicas is the number of synced instances including
                  the primary.
                type: integer
            required:
            - currentPrimaryIndex
            type: object
        type: object
    served: true
    storage: false
    subresources:
      status: {}
