apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.8.0
  name: backuppolicies.moco.cybozu.com
spec:
  group: moco.cybozu.com
  names:
    kind: BackupPolicy
    listKind: BackupPolicyList
    plural: backuppolicies
    singular: backuppolicy
  scope: Namespaced
  versions:
  - name: v1beta1
    schema:
      openAPIV3Schema:
        description: BackupPolicy is a namespaced resource that should be referenced
          from MySQLCluster.
        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: "BackupPolicySpec defines the configuration items for MySQLCluster
              backup. \n The following fields will be copied to CronJob.spec: \n -
              Schedule - StartingDeadlineSeconds - ConcurrencyPolicy - SuccessfulJobsHistoryLimit
              - FailedJobsHistoryLimit \n The following fields will be copied to CronJob.spec."
            properties:
              activeDeadlineSeconds:
                description: Specifies the duration in seconds relative to the startTime
                  that the job may be continuously active before the system tries
                  to terminate it; value must be positive integer.
                format: int64
                nullable: true
                type: integer
              backoffLimit:
                description: Specifies the number of retries before marking this job
                  failed. Defaults to 6
                format: int32
                minimum: 0
                nullable: true
                type: integer
              concurrencyPolicy:
                default: Allow
                description: 'Specifies how to treat concurrent executions of a Job.
                  Valid values are: - "Allow" (default): allows CronJobs to run concurrently;
                  - "Forbid": forbids concurrent runs, skipping next run if previous
                  run hasn''t finished yet; - "Replace": cancels currently running
                  job and replaces it with a new one'
                enum:
                - Allow
                - Forbid
                - Replace
                type: string
              failedJobsHistoryLimit:
                description: The number of failed finished jobs to retain. This is
                  a pointer to distinguish between explicit zero and not specified.
                  Defaults to 1.
                format: int32
                minimum: 0
                nullable: true
                type: integer
              jobConfig:
                description: Specifies parameters for backup 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
              schedule:
                description: The schedule in Cron format for periodic backups. See
                  https://en.wikipedia.org/wiki/Cron
                type: string
              startingDeadlineSeconds:
                description: Optional deadline in seconds for starting the job if
                  it misses scheduled time for any reason.  Missed jobs executions
                  will be counted as failed ones.
                format: int64
                nullable: true
                type: integer
              successfulJobsHistoryLimit:
                description: The number of successful finished jobs to retain. This
                  is a pointer to distinguish between explicit zero and not specified.
                  Defaults to 3.
                format: int32
                minimum: 0
                nullable: true
                type: integer
            required:
            - jobConfig
            - schedule
            type: object
        required:
        - spec
        type: object
    served: true
    storage: true
  - name: v1beta2
    schema:
      openAPIV3Schema:
        description: BackupPolicy is a namespaced resource that should be referenced
          from MySQLCluster.
        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: "BackupPolicySpec defines the configuration items for MySQLCluster
              backup. \n The following fields will be copied to CronJob.spec: \n -
              Schedule - StartingDeadlineSeconds - ConcurrencyPolicy - SuccessfulJobsHistoryLimit
              - FailedJobsHistoryLimit \n The following fields will be copied to CronJob.spec."
            properties:
              activeDeadlineSeconds:
                description: Specifies the duration in seconds relative to the startTime
                  that the job may be continuously active before the system tries
                  to terminate it; value must be positive integer.
                format: int64
                nullable: true
                type: integer
              backoffLimit:
                description: Specifies the number of retries before marking this job
                  failed. Defaults to 6
                format: int32
                minimum: 0
                nullable: true
                type: integer
              concurrencyPolicy:
                default: Allow
                description: 'Specifies how to treat concurrent executions of a Job.
                  Valid values are: - "Allow" (default): allows CronJobs to run concurrently;
                  - "Forbid": forbids concurrent runs, skipping next run if previous
                  run hasn''t finished yet; - "Replace": cancels currently running
                  job and replaces it with a new one'
                enum:
                - Allow
                - Forbid
                - Replace
                type: string
              failedJobsHistoryLimit:
                description: The number of failed finished jobs to retain. This is
                  a pointer to distinguish between explicit zero and not specified.
                  Defaults to 1.
                format: int32
                minimum: 0
                nullable: true
                type: integer
              jobConfig:
                description: Specifies parameters for backup 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
              schedule:
                description: The schedule in Cron format for periodic backups. See
                  https://en.wikipedia.org/wiki/Cron
                type: string
              startingDeadlineSeconds:
                description: Optional deadline in seconds for starting the job if
                  it misses scheduled time for any reason.  Missed jobs executions
                  will be counted as failed ones.
                format: int64
                nullable: true
                type: integer
              successfulJobsHistoryLimit:
                description: The number of successful finished jobs to retain. This
                  is a pointer to distinguish between explicit zero and not specified.
                  Defaults to 3.
                format: int32
                minimum: 0
                nullable: true
                type: integer
            required:
            - jobConfig
            - schedule
            type: object
        required:
        - spec
        type: object
    served: true
    storage: false
