apiVersion: v1
items:
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.12.0
    creationTimestamp: null
    labels:
      component: velero
    name: backuprepositories.velero.io
  spec:
    group: velero.io
    names:
      kind: BackupRepository
      listKind: BackupRepositoryList
      plural: backuprepositories
      singular: backuprepository
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - jsonPath: .metadata.creationTimestamp
        name: Age
        type: date
      - jsonPath: .spec.repositoryType
        name: Repository Type
        type: string
      name: v1
      schema:
        openAPIV3Schema:
          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: BackupRepositorySpec is the specification for a BackupRepository.
              properties:
                backupStorageLocation:
                  description: BackupStorageLocation is the name of the BackupStorageLocation
                    that should contain this repository.
                  type: string
                maintenanceFrequency:
                  description: MaintenanceFrequency is how often maintenance should
                    be run.
                  type: string
                repositoryType:
                  description: RepositoryType indicates the type of the backend repository
                  enum:
                  - kopia
                  - restic
                  - ""
                  type: string
                resticIdentifier:
                  description: ResticIdentifier is the full restic-compatible string
                    for identifying this repository.
                  type: string
                volumeNamespace:
                  description: VolumeNamespace is the namespace this backup repository
                    contains pod volume backups for.
                  type: string
              required:
              - backupStorageLocation
              - maintenanceFrequency
              - resticIdentifier
              - volumeNamespace
              type: object
            status:
              description: BackupRepositoryStatus is the current status of a BackupRepository.
              properties:
                lastMaintenanceTime:
                  description: LastMaintenanceTime is the last time maintenance was
                    run.
                  format: date-time
                  nullable: true
                  type: string
                message:
                  description: Message is a message about the current status of the
                    BackupRepository.
                  type: string
                phase:
                  description: Phase is the current state of the BackupRepository.
                  enum:
                  - New
                  - Ready
                  - NotReady
                  type: string
              type: object
          type: object
      served: true
      storage: true
      subresources: {}
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.12.0
    creationTimestamp: null
    labels:
      component: velero
    name: backups.velero.io
  spec:
    group: velero.io
    names:
      kind: Backup
      listKind: BackupList
      plural: backups
      singular: backup
    scope: Namespaced
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          description: Backup is a Velero resource that represents the capture of
            Kubernetes cluster state at a point in time (API objects and associated
            volume state).
          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: BackupSpec defines the specification for a Velero backup.
              properties:
                csiSnapshotTimeout:
                  description: CSISnapshotTimeout specifies the time used to wait
                    for CSI VolumeSnapshot status turns to ReadyToUse during creation,
                    before returning error as timeout. The default value is 10 minute.
                  type: string
                datamover:
                  description: DataMover specifies the data mover to be used by the
                    backup. If DataMover is "" or "velero", the built-in data mover
                    will be used.
                  type: string
                defaultVolumesToFsBackup:
                  description: DefaultVolumesToFsBackup specifies whether pod volume
                    file system backup should be used for all volumes by default.
                  nullable: true
                  type: boolean
                defaultVolumesToRestic:
                  description: "DefaultVolumesToRestic specifies whether restic should
                    be used to take a backup of all pod volumes by default. \n Deprecated:
                    this field is no longer used and will be removed entirely in future.
                    Use DefaultVolumesToFsBackup instead."
                  nullable: true
                  type: boolean
                excludedClusterScopedResources:
                  description: ExcludedClusterScopedResources is a slice of cluster-scoped
                    resource type names to exclude from the backup. If set to "*",
                    all cluster-scoped resource types are excluded. The default value
                    is empty.
                  items:
                    type: string
                  nullable: true
                  type: array
                excludedNamespaceScopedResources:
                  description: ExcludedNamespaceScopedResources is a slice of namespace-scoped
                    resource type names to exclude from the backup. If set to "*",
                    all namespace-scoped resource types are excluded. The default
                    value is empty.
                  items:
                    type: string
                  nullable: true
                  type: array
                excludedNamespaces:
                  description: ExcludedNamespaces contains a list of namespaces that
                    are not included in the backup.
                  items:
                    type: string
                  nullable: true
                  type: array
                excludedResources:
                  description: ExcludedResources is a slice of resource names that
                    are not included in the backup.
                  items:
                    type: string
                  nullable: true
                  type: array
                hooks:
                  description: Hooks represent custom behaviors that should be executed
                    at different phases of the backup.
                  properties:
                    resources:
                      description: Resources are hooks that should be executed when
                        backing up individual instances of a resource.
                      items:
                        description: BackupResourceHookSpec defines one or more BackupResourceHooks
                          that should be executed based on the rules defined for namespaces,
                          resources, and label selector.
                        properties:
                          excludedNamespaces:
                            description: ExcludedNamespaces specifies the namespaces
                              to which this hook spec does not apply.
                            items:
                              type: string
                            nullable: true
                            type: array
                          excludedResources:
                            description: ExcludedResources specifies the resources
                              to which this hook spec does not apply.
                            items:
                              type: string
                            nullable: true
                            type: array
                          includedNamespaces:
                            description: IncludedNamespaces specifies the namespaces
                              to which this hook spec applies. If empty, it applies
                              to all namespaces.
                            items:
                              type: string
                            nullable: true
                            type: array
                          includedResources:
                            description: IncludedResources specifies the resources
                              to which this hook spec applies. If empty, it applies
                              to all resources.
                            items:
                              type: string
                            nullable: true
                            type: array
                          labelSelector:
                            description: LabelSelector, if specified, filters the
                              resources to which this hook spec applies.
                            nullable: true
                            properties:
                              matchExpressions:
                                description: matchExpressions is a list of label selector
                                  requirements. The requirements are ANDed.
                                items:
                                  description: A label selector requirement is a selector
                                    that contains values, a key, and an operator that
                                    relates the key and values.
                                  properties:
                                    key:
                                      description: key is the label key that the selector
                                        applies to.
                                      type: string
                                    operator:
                                      description: operator represents a key's relationship
                                        to a set of values. Valid operators are In,
                                        NotIn, Exists and DoesNotExist.
                                      type: string
                                    values:
                                      description: values is an array of string values.
                                        If the operator is In or NotIn, the values
                                        array must be non-empty. If the operator is
                                        Exists or DoesNotExist, the values array must
                                        be empty. This array is replaced during a
                                        strategic merge patch.
                                      items:
                                        type: string
                                      type: array
                                  required:
                                  - key
                                  - operator
                                  type: object
                                type: array
                              matchLabels:
                                additionalProperties:
                                  type: string
                                description: matchLabels is a map of {key,value} pairs.
                                  A single {key,value} in the matchLabels map is equivalent
                                  to an element of matchExpressions, whose key field
                                  is "key", the operator is "In", and the values array
                                  contains only "value". The requirements are ANDed.
                                type: object
                            type: object
                            x-kubernetes-map-type: atomic
                          name:
                            description: Name is the name of this hook.
                            type: string
                          post:
                            description: PostHooks is a list of BackupResourceHooks
                              to execute after storing the item in the backup. These
                              are executed after all "additional items" from item
                              actions are processed.
                            items:
                              description: BackupResourceHook defines a hook for a
                                resource.
                              properties:
                                exec:
                                  description: Exec defines an exec hook.
                                  properties:
                                    command:
                                      description: Command is the command and arguments
                                        to execute.
                                      items:
                                        type: string
                                      minItems: 1
                                      type: array
                                    container:
                                      description: Container is the container in the
                                        pod where the command should be executed.
                                        If not specified, the pod's first container
                                        is used.
                                      type: string
                                    onError:
                                      description: OnError specifies how Velero should
                                        behave if it encounters an error executing
                                        this hook.
                                      enum:
                                      - Continue
                                      - Fail
                                      type: string
                                    timeout:
                                      description: Timeout defines the maximum amount
                                        of time Velero should wait for the hook to
                                        complete before considering the execution
                                        a failure.
                                      type: string
                                  required:
                                  - command
                                  type: object
                              required:
                              - exec
                              type: object
                            type: array
                          pre:
                            description: PreHooks is a list of BackupResourceHooks
                              to execute prior to storing the item in the backup.
                              These are executed before any "additional items" from
                              item actions are processed.
                            items:
                              description: BackupResourceHook defines a hook for a
                                resource.
                              properties:
                                exec:
                                  description: Exec defines an exec hook.
                                  properties:
                                    command:
                                      description: Command is the command and arguments
                                        to execute.
                                      items:
                                        type: string
                                      minItems: 1
                                      type: array
                                    container:
                                      description: Container is the container in the
                                        pod where the command should be executed.
                                        If not specified, the pod's first container
                                        is used.
                                      type: string
                                    onError:
                                      description: OnError specifies how Velero should
                                        behave if it encounters an error executing
                                        this hook.
                                      enum:
                                      - Continue
                                      - Fail
                                      type: string
                                    timeout:
                                      description: Timeout defines the maximum amount
                                        of time Velero should wait for the hook to
                                        complete before considering the execution
                                        a failure.
                                      type: string
                                  required:
                                  - command
                                  type: object
                              required:
                              - exec
                              type: object
                            type: array
                        required:
                        - name
                        type: object
                      nullable: true
                      type: array
                  type: object
                includeClusterResources:
                  description: IncludeClusterResources specifies whether cluster-scoped
                    resources should be included for consideration in the backup.
                  nullable: true
                  type: boolean
                includedClusterScopedResources:
                  description: IncludedClusterScopedResources is a slice of cluster-scoped
                    resource type names to include in the backup. If set to "*", all
                    cluster-scoped resource types are included. The default value
                    is empty, which means only related cluster-scoped resources are
                    included.
                  items:
                    type: string
                  nullable: true
                  type: array
                includedNamespaceScopedResources:
                  description: IncludedNamespaceScopedResources is a slice of namespace-scoped
                    resource type names to include in the backup. The default value
                    is "*".
                  items:
                    type: string
                  nullable: true
                  type: array
                includedNamespaces:
                  description: IncludedNamespaces is a slice of namespace names to
                    include objects from. If empty, all namespaces are included.
                  items:
                    type: string
                  nullable: true
                  type: array
                includedResources:
                  description: IncludedResources is a slice of resource names to include
                    in the backup. If empty, all resources are included.
                  items:
                    type: string
                  nullable: true
                  type: array
                itemOperationTimeout:
                  description: ItemOperationTimeout specifies the time used to wait
                    for asynchronous BackupItemAction operations The default value
                    is 1 hour.
                  type: string
                labelSelector:
                  description: LabelSelector is a metav1.LabelSelector to filter with
                    when adding individual objects to the backup. If empty or nil,
                    all objects are included. Optional.
                  nullable: true
                  properties:
                    matchExpressions:
                      description: matchExpressions is a list of label selector requirements.
                        The requirements are ANDed.
                      items:
                        description: A label selector requirement is a selector that
                          contains values, a key, and an operator that relates the
                          key and values.
                        properties:
                          key:
                            description: key is the label key that the selector applies
                              to.
                            type: string
                          operator:
                            description: operator represents a key's relationship
                              to a set of values. Valid operators are In, NotIn, Exists
                              and DoesNotExist.
                            type: string
                          values:
                            description: values is an array of string values. If the
                              operator is In or NotIn, the values array must be non-empty.
                              If the operator is Exists or DoesNotExist, the values
                              array must be empty. This array is replaced during a
                              strategic merge patch.
                            items:
                              type: string
                            type: array
                        required:
                        - key
                        - operator
                        type: object
                      type: array
                    matchLabels:
                      additionalProperties:
                        type: string
                      description: matchLabels is a map of {key,value} pairs. A single
                        {key,value} in the matchLabels map is equivalent to an element
                        of matchExpressions, whose key field is "key", the operator
                        is "In", and the values array contains only "value". The requirements
                        are ANDed.
                      type: object
                  type: object
                  x-kubernetes-map-type: atomic
                metadata:
                  properties:
                    labels:
                      additionalProperties:
                        type: string
                      type: object
                  type: object
                orLabelSelectors:
                  description: OrLabelSelectors is list of metav1.LabelSelector to
                    filter with when adding individual objects to the backup. If multiple
                    provided they will be joined by the OR operator. LabelSelector
                    as well as OrLabelSelectors cannot co-exist in backup request,
                    only one of them can be used.
                  items:
                    description: A label selector is a label query over a set of resources.
                      The result of matchLabels and matchExpressions are ANDed. An
                      empty label selector matches all objects. A null label selector
                      matches no objects.
                    properties:
                      matchExpressions:
                        description: matchExpressions is a list of label selector
                          requirements. The requirements are ANDed.
                        items:
                          description: A label selector requirement is a selector
                            that contains values, a key, and an operator that relates
                            the key and values.
                          properties:
                            key:
                              description: key is the label key that the selector
                                applies to.
                              type: string
                            operator:
                              description: operator represents a key's relationship
                                to a set of values. Valid operators are In, NotIn,
                                Exists and DoesNotExist.
                              type: string
                            values:
                              description: values is an array of string values. If
                                the operator is In or NotIn, the values array must
                                be non-empty. If the operator is Exists or DoesNotExist,
                                the values array must be empty. This array is replaced
                                during a strategic merge patch.
                              items:
                                type: string
                              type: array
                          required:
                          - key
                          - operator
                          type: object
                        type: array
                      matchLabels:
                        additionalProperties:
                          type: string
                        description: matchLabels is a map of {key,value} pairs. A
                          single {key,value} in the matchLabels map is equivalent
                          to an element of matchExpressions, whose key field is "key",
                          the operator is "In", and the values array contains only
                          "value". The requirements are ANDed.
                        type: object
                    type: object
                    x-kubernetes-map-type: atomic
                  nullable: true
                  type: array
                orderedResources:
                  additionalProperties:
                    type: string
                  description: OrderedResources specifies the backup order of resources
                    of specific Kind. The map key is the resource name and value is
                    a list of object names separated by commas. Each resource name
                    has format "namespace/objectname".  For cluster resources, simply
                    use "objectname".
                  nullable: true
                  type: object
                resourcePolicy:
                  description: ResourcePolicy specifies the referenced resource policies
                    that backup should follow
                  properties:
                    apiGroup:
                      description: APIGroup is the group for the resource being referenced.
                        If APIGroup is not specified, the specified Kind must be in
                        the core API group. For any other third-party types, APIGroup
                        is required.
                      type: string
                    kind:
                      description: Kind is the type of resource being referenced
                      type: string
                    name:
                      description: Name is the name of resource being referenced
                      type: string
                  required:
                  - kind
                  - name
                  type: object
                  x-kubernetes-map-type: atomic
                snapshotMoveData:
                  description: SnapshotMoveData specifies whether snapshot data should
                    be moved
                  nullable: true
                  type: boolean
                snapshotVolumes:
                  description: SnapshotVolumes specifies whether to take snapshots
                    of any PV's referenced in the set of objects included in the Backup.
                  nullable: true
                  type: boolean
                storageLocation:
                  description: StorageLocation is a string containing the name of
                    a BackupStorageLocation where the backup should be stored.
                  type: string
                ttl:
                  description: TTL is a time.Duration-parseable string describing
                    how long the Backup should be retained for.
                  type: string
                uploaderConfig:
                  description: UploaderConfig specifies the configuration for the
                    uploader.
                  nullable: true
                  properties:
                    parallelFilesUpload:
                      description: ParallelFilesUpload is the number of files parallel
                        uploads to perform when using the uploader.
                      type: integer
                  type: object
                volumeSnapshotLocations:
                  description: VolumeSnapshotLocations is a list containing names
                    of VolumeSnapshotLocations associated with this backup.
                  items:
                    type: string
                  type: array
              type: object
            status:
              description: BackupStatus captures the current status of a Velero backup.
              properties:
                backupItemOperationsAttempted:
                  description: BackupItemOperationsAttempted is the total number of
                    attempted async BackupItemAction operations for this backup.
                  type: integer
                backupItemOperationsCompleted:
                  description: BackupItemOperationsCompleted is the total number of
                    successfully completed async BackupItemAction operations for this
                    backup.
                  type: integer
                backupItemOperationsFailed:
                  description: BackupItemOperationsFailed is the total number of async
                    BackupItemAction operations for this backup which ended with an
                    error.
                  type: integer
                completionTimestamp:
                  description: CompletionTimestamp records the time a backup was completed.
                    Completion time is recorded even on failed backups. Completion
                    time is recorded before uploading the backup object. The server's
                    time is used for CompletionTimestamps
                  format: date-time
                  nullable: true
                  type: string
                csiVolumeSnapshotsAttempted:
                  description: CSIVolumeSnapshotsAttempted is the total number of
                    attempted CSI VolumeSnapshots for this backup.
                  type: integer
                csiVolumeSnapshotsCompleted:
                  description: CSIVolumeSnapshotsCompleted is the total number of
                    successfully completed CSI VolumeSnapshots for this backup.
                  type: integer
                errors:
                  description: Errors is a count of all error messages that were generated
                    during execution of the backup.  The actual errors are in the
                    backup's log file in object storage.
                  type: integer
                expiration:
                  description: Expiration is when this Backup is eligible for garbage-collection.
                  format: date-time
                  nullable: true
                  type: string
                failureReason:
                  description: FailureReason is an error that caused the entire backup
                    to fail.
                  type: string
                formatVersion:
                  description: FormatVersion is the backup format version, including
                    major, minor, and patch version.
                  type: string
                hookStatus:
                  description: HookStatus contains information about the status of
                    the hooks.
                  nullable: true
                  properties:
                    hooksAttempted:
                      description: HooksAttempted is the total number of attempted
                        hooks Specifically, HooksAttempted represents the number of
                        hooks that failed to execute and the number of hooks that
                        executed successfully.
                      type: integer
                    hooksFailed:
                      description: HooksFailed is the total number of hooks which
                        ended with an error
                      type: integer
                  type: object
                phase:
                  description: Phase is the current state of the Backup.
                  enum:
                  - New
                  - FailedValidation
                  - InProgress
                  - WaitingForPluginOperations
                  - WaitingForPluginOperationsPartiallyFailed
                  - Finalizing
                  - FinalizingPartiallyFailed
                  - Completed
                  - PartiallyFailed
                  - Failed
                  - Deleting
                  type: string
                progress:
                  description: Progress contains information about the backup's execution
                    progress. Note that this information is best-effort only -- if
                    Velero fails to update it during a backup for any reason, it may
                    be inaccurate/stale.
                  nullable: true
                  properties:
                    itemsBackedUp:
                      description: ItemsBackedUp is the number of items that have
                        actually been written to the backup tarball so far.
                      type: integer
                    totalItems:
                      description: TotalItems is the total number of items to be backed
                        up. This number may change throughout the execution of the
                        backup due to plugins that return additional related items
                        to back up, the velero.io/exclude-from-backup label, and various
                        other filters that happen as items are processed.
                      type: integer
                  type: object
                startTimestamp:
                  description: StartTimestamp records the time a backup was started.
                    Separate from CreationTimestamp, since that value changes on restores.
                    The server's time is used for StartTimestamps
                  format: date-time
                  nullable: true
                  type: string
                validationErrors:
                  description: ValidationErrors is a slice of all validation errors
                    (if applicable).
                  items:
                    type: string
                  nullable: true
                  type: array
                version:
                  description: 'Version is the backup format major version. Deprecated:
                    Please see FormatVersion'
                  type: integer
                volumeSnapshotsAttempted:
                  description: VolumeSnapshotsAttempted is the total number of attempted
                    volume snapshots for this backup.
                  type: integer
                volumeSnapshotsCompleted:
                  description: VolumeSnapshotsCompleted is the total number of successfully
                    completed volume snapshots for this backup.
                  type: integer
                warnings:
                  description: Warnings is a count of all warning messages that were
                    generated during execution of the backup. The actual warnings
                    are in the backup's log file in object storage.
                  type: integer
              type: object
          type: object
      served: true
      storage: true
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.12.0
    creationTimestamp: null
    labels:
      component: velero
    name: backupstoragelocations.velero.io
  spec:
    group: velero.io
    names:
      kind: BackupStorageLocation
      listKind: BackupStorageLocationList
      plural: backupstoragelocations
      shortNames:
      - bsl
      singular: backupstoragelocation
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - description: Backup Storage Location status such as Available/Unavailable
        jsonPath: .status.phase
        name: Phase
        type: string
      - description: LastValidationTime is the last time the backup store location
          was validated
        jsonPath: .status.lastValidationTime
        name: Last Validated
        type: date
      - jsonPath: .metadata.creationTimestamp
        name: Age
        type: date
      - description: Default backup storage location
        jsonPath: .spec.default
        name: Default
        type: boolean
      name: v1
      schema:
        openAPIV3Schema:
          description: BackupStorageLocation is a location where Velero stores backup
            objects
          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: BackupStorageLocationSpec defines the desired state of
                a Velero BackupStorageLocation
              properties:
                accessMode:
                  description: AccessMode defines the permissions for the backup storage
                    location.
                  enum:
                  - ReadOnly
                  - ReadWrite
                  type: string
                backupSyncPeriod:
                  description: BackupSyncPeriod defines how frequently to sync backup
                    API objects from object storage. A value of 0 disables sync.
                  nullable: true
                  type: string
                config:
                  additionalProperties:
                    type: string
                  description: Config is for provider-specific configuration fields.
                  type: object
                credential:
                  description: Credential contains the credential information intended
                    to be used with this location
                  properties:
                    key:
                      description: The key of the secret to select from.  Must be
                        a valid secret key.
                      type: string
                    name:
                      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                        TODO: Add other useful fields. apiVersion, kind, uid?'
                      type: string
                    optional:
                      description: Specify whether the Secret or its key must be defined
                      type: boolean
                  required:
                  - key
                  type: object
                  x-kubernetes-map-type: atomic
                default:
                  description: Default indicates this location is the default backup
                    storage location.
                  type: boolean
                objectStorage:
                  description: ObjectStorageLocation specifies the settings necessary
                    to connect to a provider's object storage.
                  properties:
                    bucket:
                      description: Bucket is the bucket to use for object storage.
                      type: string
                    caCert:
                      description: CACert defines a CA bundle to use when verifying
                        TLS connections to the provider.
                      format: byte
                      type: string
                    prefix:
                      description: Prefix is the path inside a bucket to use for Velero
                        storage. Optional.
                      type: string
                  required:
                  - bucket
                  type: object
                provider:
                  description: Provider is the provider of the backup storage.
                  type: string
                validationFrequency:
                  description: ValidationFrequency defines how frequently to validate
                    the corresponding object storage. A value of 0 disables validation.
                  nullable: true
                  type: string
              required:
              - objectStorage
              - provider
              type: object
            status:
              description: BackupStorageLocationStatus defines the observed state
                of BackupStorageLocation
              properties:
                accessMode:
                  description: "AccessMode is an unused field. \n Deprecated: there
                    is now an AccessMode field on the Spec and this field will be
                    removed entirely as of v2.0."
                  enum:
                  - ReadOnly
                  - ReadWrite
                  type: string
                lastSyncedRevision:
                  description: "LastSyncedRevision is the value of the `metadata/revision`
                    file in the backup storage location the last time the BSL's contents
                    were synced into the cluster. \n Deprecated: this field is no
                    longer updated or used for detecting changes to the location's
                    contents and will be removed entirely in v2.0."
                  type: string
                lastSyncedTime:
                  description: LastSyncedTime is the last time the contents of the
                    location were synced into the cluster.
                  format: date-time
                  nullable: true
                  type: string
                lastValidationTime:
                  description: LastValidationTime is the last time the backup store
                    location was validated the cluster.
                  format: date-time
                  nullable: true
                  type: string
                message:
                  description: Message is a message about the backup storage location's
                    status.
                  type: string
                phase:
                  description: Phase is the current state of the BackupStorageLocation.
                  enum:
                  - Available
                  - Unavailable
                  type: string
              type: object
          type: object
      served: true
      storage: true
      subresources: {}
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.12.0
    creationTimestamp: null
    labels:
      component: velero
    name: deletebackuprequests.velero.io
  spec:
    group: velero.io
    names:
      kind: DeleteBackupRequest
      listKind: DeleteBackupRequestList
      plural: deletebackuprequests
      singular: deletebackuprequest
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - description: The name of the backup to be deleted
        jsonPath: .spec.backupName
        name: BackupName
        type: string
      - description: The status of the deletion request
        jsonPath: .status.phase
        name: Status
        type: string
      name: v1
      schema:
        openAPIV3Schema:
          description: DeleteBackupRequest is a request to delete one or more backups.
          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: DeleteBackupRequestSpec is the specification for which
                backups to delete.
              properties:
                backupName:
                  type: string
              required:
              - backupName
              type: object
            status:
              description: DeleteBackupRequestStatus is the current status of a DeleteBackupRequest.
              properties:
                errors:
                  description: Errors contains any errors that were encountered during
                    the deletion process.
                  items:
                    type: string
                  nullable: true
                  type: array
                phase:
                  description: Phase is the current state of the DeleteBackupRequest.
                  enum:
                  - New
                  - InProgress
                  - Processed
                  type: string
              type: object
          type: object
      served: true
      storage: true
      subresources: {}
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.12.0
    creationTimestamp: null
    labels:
      component: velero
    name: downloadrequests.velero.io
  spec:
    group: velero.io
    names:
      kind: DownloadRequest
      listKind: DownloadRequestList
      plural: downloadrequests
      singular: downloadrequest
    scope: Namespaced
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          description: DownloadRequest is a request to download an artifact from backup
            object storage, such as a backup log file.
          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: DownloadRequestSpec is the specification for a download
                request.
              properties:
                target:
                  description: Target is what to download (e.g. logs for a backup).
                  properties:
                    kind:
                      description: Kind is the type of file to download.
                      enum:
                      - BackupLog
                      - BackupContents
                      - BackupVolumeSnapshots
                      - BackupItemOperations
                      - BackupResourceList
                      - BackupResults
                      - RestoreLog
                      - RestoreResults
                      - RestoreResourceList
                      - RestoreItemOperations
                      - CSIBackupVolumeSnapshots
                      - CSIBackupVolumeSnapshotContents
                      - BackupVolumeInfos
                      type: string
                    name:
                      description: Name is the name of the Kubernetes resource with
                        which the file is associated.
                      type: string
                  required:
                  - kind
                  - name
                  type: object
              required:
              - target
              type: object
            status:
              description: DownloadRequestStatus is the current status of a DownloadRequest.
              properties:
                downloadURL:
                  description: DownloadURL contains the pre-signed URL for the target
                    file.
                  type: string
                expiration:
                  description: Expiration is when this DownloadRequest expires and
                    can be deleted by the system.
                  format: date-time
                  nullable: true
                  type: string
                phase:
                  description: Phase is the current state of the DownloadRequest.
                  enum:
                  - New
                  - Processed
                  type: string
              type: object
          type: object
      served: true
      storage: true
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.12.0
    creationTimestamp: null
    labels:
      component: velero
    name: podvolumebackups.velero.io
  spec:
    group: velero.io
    names:
      kind: PodVolumeBackup
      listKind: PodVolumeBackupList
      plural: podvolumebackups
      singular: podvolumebackup
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - description: Pod Volume Backup status such as New/InProgress
        jsonPath: .status.phase
        name: Status
        type: string
      - description: Time when this backup was started
        jsonPath: .status.startTimestamp
        name: Created
        type: date
      - description: Namespace of the pod containing the volume to be backed up
        jsonPath: .spec.pod.namespace
        name: Namespace
        type: string
      - description: Name of the pod containing the volume to be backed up
        jsonPath: .spec.pod.name
        name: Pod
        type: string
      - description: Name of the volume to be backed up
        jsonPath: .spec.volume
        name: Volume
        type: string
      - description: The type of the uploader to handle data transfer
        jsonPath: .spec.uploaderType
        name: Uploader Type
        type: string
      - description: Name of the Backup Storage Location where this backup should
          be stored
        jsonPath: .spec.backupStorageLocation
        name: Storage Location
        type: string
      - jsonPath: .metadata.creationTimestamp
        name: Age
        type: date
      name: v1
      schema:
        openAPIV3Schema:
          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: PodVolumeBackupSpec is the specification for a PodVolumeBackup.
              properties:
                backupStorageLocation:
                  description: BackupStorageLocation is the name of the backup storage
                    location where the backup repository is stored.
                  type: string
                node:
                  description: Node is the name of the node that the Pod is running
                    on.
                  type: string
                pod:
                  description: Pod is a reference to the pod containing the volume
                    to be backed up.
                  properties:
                    apiVersion:
                      description: API version of the referent.
                      type: string
                    fieldPath:
                      description: 'If referring to a piece of an object instead of
                        an entire object, this string should contain a valid JSON/Go
                        field access statement, such as desiredState.manifest.containers[2].
                        For example, if the object reference is to a container within
                        a pod, this would take on a value like: "spec.containers{name}"
                        (where "name" refers to the name of the container that triggered
                        the event) or if no container name is specified "spec.containers[2]"
                        (container with index 2 in this pod). This syntax is chosen
                        only to have some well-defined way of referencing a part of
                        an object. TODO: this design is not final and this field is
                        subject to change in the future.'
                      type: string
                    kind:
                      description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                      type: string
                    name:
                      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                      type: string
                    namespace:
                      description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
                      type: string
                    resourceVersion:
                      description: 'Specific resourceVersion to which this reference
                        is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
                      type: string
                    uid:
                      description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
                      type: string
                  type: object
                  x-kubernetes-map-type: atomic
                repoIdentifier:
                  description: RepoIdentifier is the backup repository identifier.
                  type: string
                tags:
                  additionalProperties:
                    type: string
                  description: Tags are a map of key-value pairs that should be applied
                    to the volume backup as tags.
                  type: object
                uploaderSettings:
                  additionalProperties:
                    type: string
                  description: UploaderSettings are a map of key-value pairs that
                    should be applied to the uploader configuration.
                  nullable: true
                  type: object
                uploaderType:
                  description: UploaderType is the type of the uploader to handle
                    the data transfer.
                  enum:
                  - kopia
                  - restic
                  - ""
                  type: string
                volume:
                  description: Volume is the name of the volume within the Pod to
                    be backed up.
                  type: string
              required:
              - backupStorageLocation
              - node
              - pod
              - repoIdentifier
              - volume
              type: object
            status:
              description: PodVolumeBackupStatus is the current status of a PodVolumeBackup.
              properties:
                completionTimestamp:
                  description: CompletionTimestamp records the time a backup was completed.
                    Completion time is recorded even on failed backups. Completion
                    time is recorded before uploading the backup object. The server's
                    time is used for CompletionTimestamps
                  format: date-time
                  nullable: true
                  type: string
                message:
                  description: Message is a message about the pod volume backup's
                    status.
                  type: string
                path:
                  description: Path is the full path within the controller pod being
                    backed up.
                  type: string
                phase:
                  description: Phase is the current state of the PodVolumeBackup.
                  enum:
                  - New
                  - InProgress
                  - Completed
                  - Failed
                  type: string
                progress:
                  description: Progress holds the total number of bytes of the volume
                    and the current number of backed up bytes. This can be used to
                    display progress information about the backup operation.
                  properties:
                    bytesDone:
                      format: int64
                      type: integer
                    totalBytes:
                      format: int64
                      type: integer
                  type: object
                snapshotID:
                  description: SnapshotID is the identifier for the snapshot of the
                    pod volume.
                  type: string
                startTimestamp:
                  description: StartTimestamp records the time a backup was started.
                    Separate from CreationTimestamp, since that value changes on restores.
                    The server's time is used for StartTimestamps
                  format: date-time
                  nullable: true
                  type: string
              type: object
          type: object
      served: true
      storage: true
      subresources: {}
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.12.0
    creationTimestamp: null
    labels:
      component: velero
    name: podvolumerestores.velero.io
  spec:
    group: velero.io
    names:
      kind: PodVolumeRestore
      listKind: PodVolumeRestoreList
      plural: podvolumerestores
      singular: podvolumerestore
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - description: Namespace of the pod containing the volume to be restored
        jsonPath: .spec.pod.namespace
        name: Namespace
        type: string
      - description: Name of the pod containing the volume to be restored
        jsonPath: .spec.pod.name
        name: Pod
        type: string
      - description: The type of the uploader to handle data transfer
        jsonPath: .spec.uploaderType
        name: Uploader Type
        type: string
      - description: Name of the volume to be restored
        jsonPath: .spec.volume
        name: Volume
        type: string
      - description: Pod Volume Restore status such as New/InProgress
        jsonPath: .status.phase
        name: Status
        type: string
      - description: Pod Volume Restore status such as New/InProgress
        format: int64
        jsonPath: .status.progress.totalBytes
        name: TotalBytes
        type: integer
      - description: Pod Volume Restore status such as New/InProgress
        format: int64
        jsonPath: .status.progress.bytesDone
        name: BytesDone
        type: integer
      - jsonPath: .metadata.creationTimestamp
        name: Age
        type: date
      name: v1
      schema:
        openAPIV3Schema:
          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: PodVolumeRestoreSpec is the specification for a PodVolumeRestore.
              properties:
                backupStorageLocation:
                  description: BackupStorageLocation is the name of the backup storage
                    location where the backup repository is stored.
                  type: string
                pod:
                  description: Pod is a reference to the pod containing the volume
                    to be restored.
                  properties:
                    apiVersion:
                      description: API version of the referent.
                      type: string
                    fieldPath:
                      description: 'If referring to a piece of an object instead of
                        an entire object, this string should contain a valid JSON/Go
                        field access statement, such as desiredState.manifest.containers[2].
                        For example, if the object reference is to a container within
                        a pod, this would take on a value like: "spec.containers{name}"
                        (where "name" refers to the name of the container that triggered
                        the event) or if no container name is specified "spec.containers[2]"
                        (container with index 2 in this pod). This syntax is chosen
                        only to have some well-defined way of referencing a part of
                        an object. TODO: this design is not final and this field is
                        subject to change in the future.'
                      type: string
                    kind:
                      description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                      type: string
                    name:
                      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                      type: string
                    namespace:
                      description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
                      type: string
                    resourceVersion:
                      description: 'Specific resourceVersion to which this reference
                        is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
                      type: string
                    uid:
                      description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
                      type: string
                  type: object
                  x-kubernetes-map-type: atomic
                repoIdentifier:
                  description: RepoIdentifier is the backup repository identifier.
                  type: string
                snapshotID:
                  description: SnapshotID is the ID of the volume snapshot to be restored.
                  type: string
                sourceNamespace:
                  description: SourceNamespace is the original namespace for namaspace
                    mapping.
                  type: string
                uploaderSettings:
                  additionalProperties:
                    type: string
                  description: UploaderSettings are a map of key-value pairs that
                    should be applied to the uploader configuration.
                  nullable: true
                  type: object
                uploaderType:
                  description: UploaderType is the type of the uploader to handle
                    the data transfer.
                  enum:
                  - kopia
                  - restic
                  - ""
                  type: string
                volume:
                  description: Volume is the name of the volume within the Pod to
                    be restored.
                  type: string
              required:
              - backupStorageLocation
              - pod
              - repoIdentifier
              - snapshotID
              - sourceNamespace
              - volume
              type: object
            status:
              description: PodVolumeRestoreStatus is the current status of a PodVolumeRestore.
              properties:
                completionTimestamp:
                  description: CompletionTimestamp records the time a restore was
                    completed. Completion time is recorded even on failed restores.
                    The server's time is used for CompletionTimestamps
                  format: date-time
                  nullable: true
                  type: string
                message:
                  description: Message is a message about the pod volume restore's
                    status.
                  type: string
                phase:
                  description: Phase is the current state of the PodVolumeRestore.
                  enum:
                  - New
                  - InProgress
                  - Completed
                  - Failed
                  type: string
                progress:
                  description: Progress holds the total number of bytes of the snapshot
                    and the current number of restored bytes. This can be used to
                    display progress information about the restore operation.
                  properties:
                    bytesDone:
                      format: int64
                      type: integer
                    totalBytes:
                      format: int64
                      type: integer
                  type: object
                startTimestamp:
                  description: StartTimestamp records the time a restore was started.
                    The server's time is used for StartTimestamps
                  format: date-time
                  nullable: true
                  type: string
              type: object
          type: object
      served: true
      storage: true
      subresources: {}
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.12.0
    creationTimestamp: null
    labels:
      component: velero
    name: restores.velero.io
  spec:
    group: velero.io
    names:
      kind: Restore
      listKind: RestoreList
      plural: restores
      singular: restore
    scope: Namespaced
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          description: Restore is a Velero resource that represents the application
            of resources from a Velero backup to a target Kubernetes cluster.
          properties:
            apiVersion:
              description: 'APIVersion defines the versioned schema of this representation
                of an object. Servers should convert recognized schemas to the latest
                internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
              type: string
            kind:
              description: 'Kind is a string value representing the REST resource
                this object represents. Servers may infer this from the endpoint the
                client submits requests to. Cannot be updated. In CamelCase. More
                info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
              type: string
            metadata:
              type: object
            spec:
              description: RestoreSpec defines the specification for a Velero restore.
              properties:
                backupName:
                  description: BackupName is the unique name of the Velero backup
                    to restore from.
                  type: string
                excludedNamespaces:
                  description: ExcludedNamespaces contains a list of namespaces that
                    are not included in the restore.
                  items:
                    type: string
                  nullable: true
                  type: array
                excludedResources:
                  description: ExcludedResources is a slice of resource names that
                    are not included in the restore.
                  items:
                    type: string
                  nullable: true
                  type: array
                existingResourcePolicy:
                  description: ExistingResourcePolicy specifies the restore behavior
                    for the Kubernetes resource to be restored
                  nullable: true
                  type: string
                hooks:
                  description: Hooks represent custom behaviors that should be executed
                    during or post restore.
                  properties:
                    resources:
                      items:
                        description: RestoreResourceHookSpec defines one or more RestoreResrouceHooks
                          that should be executed based on the rules defined for namespaces,
                          resources, and label selector.
                        properties:
                          excludedNamespaces:
                            description: ExcludedNamespaces specifies the namespaces
                              to which this hook spec does not apply.
                            items:
                              type: string
                            nullable: true
                            type: array
                          excludedResources:
                            description: ExcludedResources specifies the resources
                              to which this hook spec does not apply.
                            items:
                              type: string
                            nullable: true
                            type: array
                          includedNamespaces:
                            description: IncludedNamespaces specifies the namespaces
                              to which this hook spec applies. If empty, it applies
                              to all namespaces.
                            items:
                              type: string
                            nullable: true
                            type: array
                          includedResources:
                            description: IncludedResources specifies the resources
                              to which this hook spec applies. If empty, it applies
                              to all resources.
                            items:
                              type: string
                            nullable: true
                            type: array
                          labelSelector:
                            description: LabelSelector, if specified, filters the
                              resources to which this hook spec applies.
                            nullable: true
                            properties:
                              matchExpressions:
                                description: matchExpressions is a list of label selector
                                  requirements. The requirements are ANDed.
                                items:
                                  description: A label selector requirement is a selector
                                    that contains values, a key, and an operator that
                                    relates the key and values.
                                  properties:
                                    key:
                                      description: key is the label key that the selector
                                        applies to.
                                      type: string
                                    operator:
                                      description: operator represents a key's relationship
                                        to a set of values. Valid operators are In,
                                        NotIn, Exists and DoesNotExist.
                                      type: string
                                    values:
                                      description: values is an array of string values.
                                        If the operator is In or NotIn, the values
                                        array must be non-empty. If the operator is
                                        Exists or DoesNotExist, the values array must
                                        be empty. This array is replaced during a
                                        strategic merge patch.
                                      items:
                                        type: string
                                      type: array
                                  required:
                                  - key
                                  - operator
                                  type: object
                                type: array
                              matchLabels:
                                additionalProperties:
                                  type: string
                                description: matchLabels is a map of {key,value} pairs.
                                  A single {key,value} in the matchLabels map is equivalent
                                  to an element of matchExpressions, whose key field
                                  is "key", the operator is "In", and the values array
                                  contains only "value". The requirements are ANDed.
                                type: object
                            type: object
                            x-kubernetes-map-type: atomic
                          name:
                            description: Name is the name of this hook.
                            type: string
                          postHooks:
                            description: PostHooks is a list of RestoreResourceHooks
                              to execute during and after restoring a resource.
                            items:
                              description: RestoreResourceHook defines a restore hook
                                for a resource.
                              properties:
                                exec:
                                  description: Exec defines an exec restore hook.
                                  properties:
                                    command:
                                      description: Command is the command and arguments
                                        to execute from within a container after a
                                        pod has been restored.
                                      items:
                                        type: string
                                      minItems: 1
                                      type: array
                                    container:
                                      description: Container is the container in the
                                        pod where the command should be executed.
                                        If not specified, the pod's first container
                                        is used.
                                      type: string
                                    execTimeout:
                                      description: ExecTimeout defines the maximum
                                        amount of time Velero should wait for the
                                        hook to complete before considering the execution
                                        a failure.
                                      type: string
                                    onError:
                                      description: OnError specifies how Velero should
                                        behave if it encounters an error executing
                                        this hook.
                                      enum:
                                      - Continue
                                      - Fail
                                      type: string
                                    waitForReady:
                                      description: WaitForReady ensures command will
                                        be launched when container is Ready instead
                                        of Running.
                                      nullable: true
                                      type: boolean
                                    waitTimeout:
                                      description: WaitTimeout defines the maximum
                                        amount of time Velero should wait for the
                                        container to be Ready before attempting to
                                        run the command.
                                      type: string
                                  required:
                                  - command
                                  type: object
                                init:
                                  description: Init defines an init restore hook.
                                  properties:
                                    initContainers:
                                      description: InitContainers is list of init
                                        containers to be added to a pod during its
                                        restore.
                                      items:
                                        type: object
                                        x-kubernetes-preserve-unknown-fields: true
                                      type: array
                                      x-kubernetes-preserve-unknown-fields: true
                                    timeout:
                                      description: Timeout defines the maximum amount
                                        of time Velero should wait for the initContainers
                                        to complete.
                                      type: string
                                  type: object
                              type: object
                            type: array
                        required:
                        - name
                        type: object
                      type: array
                  type: object
                includeClusterResources:
                  description: IncludeClusterResources specifies whether cluster-scoped
                    resources should be included for consideration in the restore.
                    If null, defaults to true.
                  nullable: true
                  type: boolean
                includedNamespaces:
                  description: IncludedNamespaces is a slice of namespace names to
                    include objects from. If empty, all namespaces are included.
                  items:
                    type: string
                  nullable: true
                  type: array
                includedResources:
                  description: IncludedResources is a slice of resource names to include
                    in the restore. If empty, all resources in the backup are included.
                  items:
                    type: string
                  nullable: true
                  type: array
                itemOperationTimeout:
                  description: ItemOperationTimeout specifies the time used to wait
                    for RestoreItemAction operations The default value is 1 hour.
                  type: string
                labelSelector:
                  description: LabelSelector is a metav1.LabelSelector to filter with
                    when restoring individual objects from the backup. If empty or
                    nil, all objects are included. Optional.
                  nullable: true
                  properties:
                    matchExpressions:
                      description: matchExpressions is a list of label selector requirements.
                        The requirements are ANDed.
                      items:
                        description: A label selector requirement is a selector that
                          contains values, a key, and an operator that relates the
                          key and values.
                        properties:
                          key:
                            description: key is the label key that the selector applies
                              to.
                            type: string
                          operator:
                            description: operator represents a key's relationship
                              to a set of values. Valid operators are In, NotIn, Exists
                              and DoesNotExist.
                            type: string
                          values:
                            description: values is an array of string values. If the
                              operator is In or NotIn, the values array must be non-empty.
                              If the operator is Exists or DoesNotExist, the values
                              array must be empty. This array is replaced during a
                              strategic merge patch.
                            items:
                              type: string
                            type: array
                        required:
                        - key
                        - operator
                        type: object
                      type: array
                    matchLabels:
                      additionalProperties:
                        type: string
                      description: matchLabels is a map of {key,value} pairs. A single
                        {key,value} in the matchLabels map is equivalent to an element
                        of matchExpressions, whose key field is "key", the operator
                        is "In", and the values array contains only "value". The requirements
                        are ANDed.
                      type: object
                  type: object
                  x-kubernetes-map-type: atomic
                namespaceMapping:
                  additionalProperties:
                    type: string
                  description: NamespaceMapping is a map of source namespace names
                    to target namespace names to restore into. Any source namespaces
                    not included in the map will be restored into namespaces of the
                    same name.
                  type: object
                orLabelSelectors:
                  description: OrLabelSelectors is list of metav1.LabelSelector to
                    filter with when restoring individual objects from the backup.
                    If multiple provided they will be joined by the OR operator. LabelSelector
                    as well as OrLabelSelectors cannot co-exist in restore request,
                    only one of them can be used
                  items:
                    description: A label selector is a label query over a set of resources.
                      The result of matchLabels and matchExpressions are ANDed. An
                      empty label selector matches all objects. A null label selector
                      matches no objects.
                    properties:
                      matchExpressions:
                        description: matchExpressions is a list of label selector
                          requirements. The requirements are ANDed.
                        items:
                          description: A label selector requirement is a selector
                            that contains values, a key, and an operator that relates
                            the key and values.
                          properties:
                            key:
                              description: key is the label key that the selector
                                applies to.
                              type: string
                            operator:
                              description: operator represents a key's relationship
                                to a set of values. Valid operators are In, NotIn,
                                Exists and DoesNotExist.
                              type: string
                            values:
                              description: values is an array of string values. If
                                the operator is In or NotIn, the values array must
                                be non-empty. If the operator is Exists or DoesNotExist,
                                the values array must be empty. This array is replaced
                                during a strategic merge patch.
                              items:
                                type: string
                              type: array
                          required:
                          - key
                          - operator
                          type: object
                        type: array
                      matchLabels:
                        additionalProperties:
                          type: string
                        description: matchLabels is a map of {key,value} pairs. A
                          single {key,value} in the matchLabels map is equivalent
                          to an element of matchExpressions, whose key field is "key",
                          the operator is "In", and the values array contains only
                          "value". The requirements are ANDed.
                        type: object
                    type: object
                    x-kubernetes-map-type: atomic
                  nullable: true
                  type: array
                preserveNodePorts:
                  description: PreserveNodePorts specifies whether to restore old
                    nodePorts from backup.
                  nullable: true
                  type: boolean
                resourceModifier:
                  description: ResourceModifier specifies the reference to JSON resource
                    patches that should be applied to resources before restoration.
                  nullable: true
                  properties:
                    apiGroup:
                      description: APIGroup is the group for the resource being referenced.
                        If APIGroup is not specified, the specified Kind must be in
                        the core API group. For any other third-party types, APIGroup
                        is required.
                      type: string
                    kind:
                      description: Kind is the type of resource being referenced
                      type: string
                    name:
                      description: Name is the name of resource being referenced
                      type: string
                  required:
                  - kind
                  - name
                  type: object
                  x-kubernetes-map-type: atomic
                restorePVs:
                  description: RestorePVs specifies whether to restore all included
                    PVs from snapshot
                  nullable: true
                  type: boolean
                restoreStatus:
                  description: RestoreStatus specifies which resources we should restore
                    the status field. If nil, no objects are included. Optional.
                  nullable: true
                  properties:
                    excludedResources:
                      description: ExcludedResources specifies the resources to which
                        will not restore the status.
                      items:
                        type: string
                      nullable: true
                      type: array
                    includedResources:
                      description: IncludedResources specifies the resources to which
                        will restore the status. If empty, it applies to all resources.
                      items:
                        type: string
                      nullable: true
                      type: array
                  type: object
                scheduleName:
                  description: ScheduleName is the unique name of the Velero schedule
                    to restore from. If specified, and BackupName is empty, Velero
                    will restore from the most recent successful backup created from
                    this schedule.
                  type: string
                uploaderConfig:
                  description: UploaderConfig specifies the configuration for the
                    restore.
                  nullable: true
                  properties:
                    writeSparseFiles:
                      description: WriteSparseFiles is a flag to indicate whether
                        write files sparsely or not.
                      nullable: true
                      type: boolean
                  type: object
              required:
              - backupName
              type: object
            status:
              description: RestoreStatus captures the current status of a Velero restore
              properties:
                completionTimestamp:
                  description: CompletionTimestamp records the time the restore operation
                    was completed. Completion time is recorded even on failed restore.
                    The server's time is used for StartTimestamps
                  format: date-time
                  nullable: true
                  type: string
                errors:
                  description: Errors is a count of all error messages that were generated
                    during execution of the restore. The actual errors are stored
                    in object storage.
                  type: integer
                failureReason:
                  description: FailureReason is an error that caused the entire restore
                    to fail.
                  type: string
                hookStatus:
                  description: HookStatus contains information about the status of
                    the hooks.
                  nullable: true
                  properties:
                    hooksAttempted:
                      description: HooksAttempted is the total number of attempted
                        hooks Specifically, HooksAttempted represents the number of
                        hooks that failed to execute and the number of hooks that
                        executed successfully.
                      type: integer
                    hooksFailed:
                      description: HooksFailed is the total number of hooks which
                        ended with an error
                      type: integer
                  type: object
                phase:
                  description: Phase is the current state of the Restore
                  enum:
                  - New
                  - FailedValidation
                  - InProgress
                  - WaitingForPluginOperations
                  - WaitingForPluginOperationsPartiallyFailed
                  - Completed
                  - PartiallyFailed
                  - Failed
                  type: string
                progress:
                  description: Progress contains information about the restore's execution
                    progress. Note that this information is best-effort only -- if
                    Velero fails to update it during a restore for any reason, it
                    may be inaccurate/stale.
                  nullable: true
                  properties:
                    itemsRestored:
                      description: ItemsRestored is the number of items that have
                        actually been restored so far
                      type: integer
                    totalItems:
                      description: TotalItems is the total number of items to be restored.
                        This number may change throughout the execution of the restore
                        due to plugins that return additional related items to restore
                      type: integer
                  type: object
                restoreItemOperationsAttempted:
                  description: RestoreItemOperationsAttempted is the total number
                    of attempted async RestoreItemAction operations for this restore.
                  type: integer
                restoreItemOperationsCompleted:
                  description: RestoreItemOperationsCompleted is the total number
                    of successfully completed async RestoreItemAction operations for
                    this restore.
                  type: integer
                restoreItemOperationsFailed:
                  description: RestoreItemOperationsFailed is the total number of
                    async RestoreItemAction operations for this restore which ended
                    with an error.
                  type: integer
                startTimestamp:
                  description: StartTimestamp records the time the restore operation
                    was started. The server's time is used for StartTimestamps
                  format: date-time
                  nullable: true
                  type: string
                validationErrors:
                  description: ValidationErrors is a slice of all validation errors
                    (if applicable)
                  items:
                    type: string
                  nullable: true
                  type: array
                warnings:
                  description: Warnings is a count of all warning messages that were
                    generated during execution of the restore. The actual warnings
                    are stored in object storage.
                  type: integer
              type: object
          type: object
      served: true
      storage: true
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.12.0
    creationTimestamp: null
    labels:
      component: velero
    name: schedules.velero.io
  spec:
    group: velero.io
    names:
      kind: Schedule
      listKind: ScheduleList
      plural: schedules
      singular: schedule
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - description: Status of the schedule
        jsonPath: .status.phase
        name: Status
        type: string
      - description: A Cron expression defining when to run the Backup
        jsonPath: .spec.schedule
        name: Schedule
        type: string
      - description: The last time a Backup was run for this schedule
        jsonPath: .status.lastBackup
        name: LastBackup
        type: date
      - jsonPath: .metadata.creationTimestamp
        name: Age
        type: date
      - jsonPath: .spec.paused
        name: Paused
        type: boolean
      name: v1
      schema:
        openAPIV3Schema:
          description: Schedule is a Velero resource that represents a pre-scheduled
            or periodic Backup that should be run.
          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: ScheduleSpec defines the specification for a Velero schedule
              properties:
                paused:
                  description: Paused specifies whether the schedule is paused or
                    not
                  type: boolean
                schedule:
                  description: Schedule is a Cron expression defining when to run
                    the Backup.
                  type: string
                skipImmediately:
                  description: 'SkipImmediately specifies whether to skip backup if
                    schedule is due immediately from `schedule.status.lastBackup`
                    timestamp when schedule is unpaused or if schedule is new. If
                    true, backup will be skipped immediately when schedule is unpaused
                    if it is due based on .Status.LastBackupTimestamp or schedule
                    is new, and will run at next schedule time. If false, backup will
                    not be skipped immediately when schedule is unpaused, but will
                    run at next schedule time. If empty, will follow server configuration
                    (default: false).'
                  type: boolean
                template:
                  description: Template is the definition of the Backup to be run
                    on the provided schedule
                  properties:
                    csiSnapshotTimeout:
                      description: CSISnapshotTimeout specifies the time used to wait
                        for CSI VolumeSnapshot status turns to ReadyToUse during creation,
                        before returning error as timeout. The default value is 10
                        minute.
                      type: string
                    datamover:
                      description: DataMover specifies the data mover to be used by
                        the backup. If DataMover is "" or "velero", the built-in data
                        mover will be used.
                      type: string
                    defaultVolumesToFsBackup:
                      description: DefaultVolumesToFsBackup specifies whether pod
                        volume file system backup should be used for all volumes by
                        default.
                      nullable: true
                      type: boolean
                    defaultVolumesToRestic:
                      description: "DefaultVolumesToRestic specifies whether restic
                        should be used to take a backup of all pod volumes by default.
                        \n Deprecated: this field is no longer used and will be removed
                        entirely in future. Use DefaultVolumesToFsBackup instead."
                      nullable: true
                      type: boolean
                    excludedClusterScopedResources:
                      description: ExcludedClusterScopedResources is a slice of cluster-scoped
                        resource type names to exclude from the backup. If set to
                        "*", all cluster-scoped resource types are excluded. The default
                        value is empty.
                      items:
                        type: string
                      nullable: true
                      type: array
                    excludedNamespaceScopedResources:
                      description: ExcludedNamespaceScopedResources is a slice of
                        namespace-scoped resource type names to exclude from the backup.
                        If set to "*", all namespace-scoped resource types are excluded.
                        The default value is empty.
                      items:
                        type: string
                      nullable: true
                      type: array
                    excludedNamespaces:
                      description: ExcludedNamespaces contains a list of namespaces
                        that are not included in the backup.
                      items:
                        type: string
                      nullable: true
                      type: array
                    excludedResources:
                      description: ExcludedResources is a slice of resource names
                        that are not included in the backup.
                      items:
                        type: string
                      nullable: true
                      type: array
                    hooks:
                      description: Hooks represent custom behaviors that should be
                        executed at different phases of the backup.
                      properties:
                        resources:
                          description: Resources are hooks that should be executed
                            when backing up individual instances of a resource.
                          items:
                            description: BackupResourceHookSpec defines one or more
                              BackupResourceHooks that should be executed based on
                              the rules defined for namespaces, resources, and label
                              selector.
                            properties:
                              excludedNamespaces:
                                description: ExcludedNamespaces specifies the namespaces
                                  to which this hook spec does not apply.
                                items:
                                  type: string
                                nullable: true
                                type: array
                              excludedResources:
                                description: ExcludedResources specifies the resources
                                  to which this hook spec does not apply.
                                items:
                                  type: string
                                nullable: true
                                type: array
                              includedNamespaces:
                                description: IncludedNamespaces specifies the namespaces
                                  to which this hook spec applies. If empty, it applies
                                  to all namespaces.
                                items:
                                  type: string
                                nullable: true
                                type: array
                              includedResources:
                                description: IncludedResources specifies the resources
                                  to which this hook spec applies. If empty, it applies
                                  to all resources.
                                items:
                                  type: string
                                nullable: true
                                type: array
                              labelSelector:
                                description: LabelSelector, if specified, filters
                                  the resources to which this hook spec applies.
                                nullable: true
                                properties:
                                  matchExpressions:
                                    description: matchExpressions is a list of label
                                      selector requirements. The requirements are
                                      ANDed.
                                    items:
                                      description: A label selector requirement is
                                        a selector that contains values, a key, and
                                        an operator that relates the key and values.
                                      properties:
                                        key:
                                          description: key is the label key that the
                                            selector applies to.
                                          type: string
                                        operator:
                                          description: operator represents a key's
                                            relationship to a set of values. Valid
                                            operators are In, NotIn, Exists and DoesNotExist.
                                          type: string
                                        values:
                                          description: values is an array of string
                                            values. If the operator is In or NotIn,
                                            the values array must be non-empty. If
                                            the operator is Exists or DoesNotExist,
                                            the values array must be empty. This array
                                            is replaced during a strategic merge patch.
                                          items:
                                            type: string
                                          type: array
                                      required:
                                      - key
                                      - operator
                                      type: object
                                    type: array
                                  matchLabels:
                                    additionalProperties:
                                      type: string
                                    description: matchLabels is a map of {key,value}
                                      pairs. A single {key,value} in the matchLabels
                                      map is equivalent to an element of matchExpressions,
                                      whose key field is "key", the operator is "In",
                                      and the values array contains only "value".
                                      The requirements are ANDed.
                                    type: object
                                type: object
                                x-kubernetes-map-type: atomic
                              name:
                                description: Name is the name of this hook.
                                type: string
                              post:
                                description: PostHooks is a list of BackupResourceHooks
                                  to execute after storing the item in the backup.
                                  These are executed after all "additional items"
                                  from item actions are processed.
                                items:
                                  description: BackupResourceHook defines a hook for
                                    a resource.
                                  properties:
                                    exec:
                                      description: Exec defines an exec hook.
                                      properties:
                                        command:
                                          description: Command is the command and
                                            arguments to execute.
                                          items:
                                            type: string
                                          minItems: 1
                                          type: array
                                        container:
                                          description: Container is the container
                                            in the pod where the command should be
                                            executed. If not specified, the pod's
                                            first container is used.
                                          type: string
                                        onError:
                                          description: OnError specifies how Velero
                                            should behave if it encounters an error
                                            executing this hook.
                                          enum:
                                          - Continue
                                          - Fail
                                          type: string
                                        timeout:
                                          description: Timeout defines the maximum
                                            amount of time Velero should wait for
                                            the hook to complete before considering
                                            the execution a failure.
                                          type: string
                                      required:
                                      - command
                                      type: object
                                  required:
                                  - exec
                                  type: object
                                type: array
                              pre:
                                description: PreHooks is a list of BackupResourceHooks
                                  to execute prior to storing the item in the backup.
                                  These are executed before any "additional items"
                                  from item actions are processed.
                                items:
                                  description: BackupResourceHook defines a hook for
                                    a resource.
                                  properties:
                                    exec:
                                      description: Exec defines an exec hook.
                                      properties:
                                        command:
                                          description: Command is the command and
                                            arguments to execute.
                                          items:
                                            type: string
                                          minItems: 1
                                          type: array
                                        container:
                                          description: Container is the container
                                            in the pod where the command should be
                                            executed. If not specified, the pod's
                                            first container is used.
                                          type: string
                                        onError:
                                          description: OnError specifies how Velero
                                            should behave if it encounters an error
                                            executing this hook.
                                          enum:
                                          - Continue
                                          - Fail
                                          type: string
                                        timeout:
                                          description: Timeout defines the maximum
                                            amount of time Velero should wait for
                                            the hook to complete before considering
                                            the execution a failure.
                                          type: string
                                      required:
                                      - command
                                      type: object
                                  required:
                                  - exec
                                  type: object
                                type: array
                            required:
                            - name
                            type: object
                          nullable: true
                          type: array
                      type: object
                    includeClusterResources:
                      description: IncludeClusterResources specifies whether cluster-scoped
                        resources should be included for consideration in the backup.
                      nullable: true
                      type: boolean
                    includedClusterScopedResources:
                      description: IncludedClusterScopedResources is a slice of cluster-scoped
                        resource type names to include in the backup. If set to "*",
                        all cluster-scoped resource types are included. The default
                        value is empty, which means only related cluster-scoped resources
                        are included.
                      items:
                        type: string
                      nullable: true
                      type: array
                    includedNamespaceScopedResources:
                      description: IncludedNamespaceScopedResources is a slice of
                        namespace-scoped resource type names to include in the backup.
                        The default value is "*".
                      items:
                        type: string
                      nullable: true
                      type: array
                    includedNamespaces:
                      description: IncludedNamespaces is a slice of namespace names
                        to include objects from. If empty, all namespaces are included.
                      items:
                        type: string
                      nullable: true
                      type: array
                    includedResources:
                      description: IncludedResources is a slice of resource names
                        to include in the backup. If empty, all resources are included.
                      items:
                        type: string
                      nullable: true
                      type: array
                    itemOperationTimeout:
                      description: ItemOperationTimeout specifies the time used to
                        wait for asynchronous BackupItemAction operations The default
                        value is 1 hour.
                      type: string
                    labelSelector:
                      description: LabelSelector is a metav1.LabelSelector to filter
                        with when adding individual objects to the backup. If empty
                        or nil, all objects are included. Optional.
                      nullable: true
                      properties:
                        matchExpressions:
                          description: matchExpressions is a list of label selector
                            requirements. The requirements are ANDed.
                          items:
                            description: A label selector requirement is a selector
                              that contains values, a key, and an operator that relates
                              the key and values.
                            properties:
                              key:
                                description: key is the label key that the selector
                                  applies to.
                                type: string
                              operator:
                                description: operator represents a key's relationship
                                  to a set of values. Valid operators are In, NotIn,
                                  Exists and DoesNotExist.
                                type: string
                              values:
                                description: values is an array of string values.
                                  If the operator is In or NotIn, the values array
                                  must be non-empty. If the operator is Exists or
                                  DoesNotExist, the values array must be empty. This
                                  array is replaced during a strategic merge patch.
                                items:
                                  type: string
                                type: array
                            required:
                            - key
                            - operator
                            type: object
                          type: array
                        matchLabels:
                          additionalProperties:
                            type: string
                          description: matchLabels is a map of {key,value} pairs.
                            A single {key,value} in the matchLabels map is equivalent
                            to an element of matchExpressions, whose key field is
                            "key", the operator is "In", and the values array contains
                            only "value". The requirements are ANDed.
                          type: object
                      type: object
                      x-kubernetes-map-type: atomic
                    metadata:
                      properties:
                        labels:
                          additionalProperties:
                            type: string
                          type: object
                      type: object
                    orLabelSelectors:
                      description: OrLabelSelectors is list of metav1.LabelSelector
                        to filter with when adding individual objects to the backup.
                        If multiple provided they will be joined by the OR operator.
                        LabelSelector as well as OrLabelSelectors cannot co-exist
                        in backup request, only one of them can be used.
                      items:
                        description: A label selector is a label query over a set
                          of resources. The result of matchLabels and matchExpressions
                          are ANDed. An empty label selector matches all objects.
                          A null label selector matches no objects.
                        properties:
                          matchExpressions:
                            description: matchExpressions is a list of label selector
                              requirements. The requirements are ANDed.
                            items:
                              description: A label selector requirement is a selector
                                that contains values, a key, and an operator that
                                relates the key and values.
                              properties:
                                key:
                                  description: key is the label key that the selector
                                    applies to.
                                  type: string
                                operator:
                                  description: operator represents a key's relationship
                                    to a set of values. Valid operators are In, NotIn,
                                    Exists and DoesNotExist.
                                  type: string
                                values:
                                  description: values is an array of string values.
                                    If the operator is In or NotIn, the values array
                                    must be non-empty. If the operator is Exists or
                                    DoesNotExist, the values array must be empty.
                                    This array is replaced during a strategic merge
                                    patch.
                                  items:
                                    type: string
                                  type: array
                              required:
                              - key
                              - operator
                              type: object
                            type: array
                          matchLabels:
                            additionalProperties:
                              type: string
                            description: matchLabels is a map of {key,value} pairs.
                              A single {key,value} in the matchLabels map is equivalent
                              to an element of matchExpressions, whose key field is
                              "key", the operator is "In", and the values array contains
                              only "value". The requirements are ANDed.
                            type: object
                        type: object
                        x-kubernetes-map-type: atomic
                      nullable: true
                      type: array
                    orderedResources:
                      additionalProperties:
                        type: string
                      description: OrderedResources specifies the backup order of
                        resources of specific Kind. The map key is the resource name
                        and value is a list of object names separated by commas. Each
                        resource name has format "namespace/objectname".  For cluster
                        resources, simply use "objectname".
                      nullable: true
                      type: object
                    resourcePolicy:
                      description: ResourcePolicy specifies the referenced resource
                        policies that backup should follow
                      properties:
                        apiGroup:
                          description: APIGroup is the group for the resource being
                            referenced. If APIGroup is not specified, the specified
                            Kind must be in the core API group. For any other third-party
                            types, APIGroup is required.
                          type: string
                        kind:
                          description: Kind is the type of resource being referenced
                          type: string
                        name:
                          description: Name is the name of resource being referenced
                          type: string
                      required:
                      - kind
                      - name
                      type: object
                      x-kubernetes-map-type: atomic
                    snapshotMoveData:
                      description: SnapshotMoveData specifies whether snapshot data
                        should be moved
                      nullable: true
                      type: boolean
                    snapshotVolumes:
                      description: SnapshotVolumes specifies whether to take snapshots
                        of any PV's referenced in the set of objects included in the
                        Backup.
                      nullable: true
                      type: boolean
                    storageLocation:
                      description: StorageLocation is a string containing the name
                        of a BackupStorageLocation where the backup should be stored.
                      type: string
                    ttl:
                      description: TTL is a time.Duration-parseable string describing
                        how long the Backup should be retained for.
                      type: string
                    uploaderConfig:
                      description: UploaderConfig specifies the configuration for
                        the uploader.
                      nullable: true
                      properties:
                        parallelFilesUpload:
                          description: ParallelFilesUpload is the number of files
                            parallel uploads to perform when using the uploader.
                          type: integer
                      type: object
                    volumeSnapshotLocations:
                      description: VolumeSnapshotLocations is a list containing names
                        of VolumeSnapshotLocations associated with this backup.
                      items:
                        type: string
                      type: array
                  type: object
                useOwnerReferencesInBackup:
                  description: UseOwnerReferencesBackup specifies whether to use OwnerReferences
                    on backups created by this Schedule.
                  nullable: true
                  type: boolean
              required:
              - schedule
              - template
              type: object
            status:
              description: ScheduleStatus captures the current state of a Velero schedule
              properties:
                lastBackup:
                  description: LastBackup is the last time a Backup was run for this
                    Schedule schedule
                  format: date-time
                  nullable: true
                  type: string
                lastSkipped:
                  description: LastSkipped is the last time a Schedule was skipped
                  format: date-time
                  nullable: true
                  type: string
                phase:
                  description: Phase is the current phase of the Schedule
                  enum:
                  - New
                  - Enabled
                  - FailedValidation
                  type: string
                validationErrors:
                  description: ValidationErrors is a slice of all validation errors
                    (if applicable)
                  items:
                    type: string
                  type: array
              type: object
          type: object
      served: true
      storage: true
      subresources: {}
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.12.0
    creationTimestamp: null
    labels:
      component: velero
    name: serverstatusrequests.velero.io
  spec:
    group: velero.io
    names:
      kind: ServerStatusRequest
      listKind: ServerStatusRequestList
      plural: serverstatusrequests
      shortNames:
      - ssr
      singular: serverstatusrequest
    scope: Namespaced
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          description: ServerStatusRequest is a request to access current status information
            about the Velero server.
          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: ServerStatusRequestSpec is the specification for a ServerStatusRequest.
              type: object
            status:
              description: ServerStatusRequestStatus is the current status of a ServerStatusRequest.
              properties:
                phase:
                  description: Phase is the current lifecycle phase of the ServerStatusRequest.
                  enum:
                  - New
                  - Processed
                  type: string
                plugins:
                  description: Plugins list information about the plugins running
                    on the Velero server
                  items:
                    description: PluginInfo contains attributes of a Velero plugin
                    properties:
                      kind:
                        type: string
                      name:
                        type: string
                    required:
                    - kind
                    - name
                    type: object
                  nullable: true
                  type: array
                processedTimestamp:
                  description: ProcessedTimestamp is when the ServerStatusRequest
                    was processed by the ServerStatusRequestController.
                  format: date-time
                  nullable: true
                  type: string
                serverVersion:
                  description: ServerVersion is the Velero server version.
                  type: string
              type: object
          type: object
      served: true
      storage: true
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.12.0
    creationTimestamp: null
    labels:
      component: velero
    name: volumesnapshotlocations.velero.io
  spec:
    group: velero.io
    names:
      kind: VolumeSnapshotLocation
      listKind: VolumeSnapshotLocationList
      plural: volumesnapshotlocations
      shortNames:
      - vsl
      singular: volumesnapshotlocation
    scope: Namespaced
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          description: VolumeSnapshotLocation is a location where Velero stores volume
            snapshots.
          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: VolumeSnapshotLocationSpec defines the specification for
                a Velero VolumeSnapshotLocation.
              properties:
                config:
                  additionalProperties:
                    type: string
                  description: Config is for provider-specific configuration fields.
                  type: object
                credential:
                  description: Credential contains the credential information intended
                    to be used with this location
                  properties:
                    key:
                      description: The key of the secret to select from.  Must be
                        a valid secret key.
                      type: string
                    name:
                      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                        TODO: Add other useful fields. apiVersion, kind, uid?'
                      type: string
                    optional:
                      description: Specify whether the Secret or its key must be defined
                      type: boolean
                  required:
                  - key
                  type: object
                  x-kubernetes-map-type: atomic
                provider:
                  description: Provider is the provider of the volume storage.
                  type: string
              required:
              - provider
              type: object
            status:
              description: VolumeSnapshotLocationStatus describes the current status
                of a Velero VolumeSnapshotLocation.
              properties:
                phase:
                  description: VolumeSnapshotLocationPhase is the lifecycle phase
                    of a Velero VolumeSnapshotLocation.
                  enum:
                  - Available
                  - Unavailable
                  type: string
              type: object
          type: object
      served: true
      storage: true
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.12.0
    creationTimestamp: null
    labels:
      component: velero
    name: datadownloads.velero.io
  spec:
    group: velero.io
    names:
      kind: DataDownload
      listKind: DataDownloadList
      plural: datadownloads
      singular: datadownload
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - description: DataDownload status such as New/InProgress
        jsonPath: .status.phase
        name: Status
        type: string
      - description: Time duration since this DataDownload was started
        jsonPath: .status.startTimestamp
        name: Started
        type: date
      - description: Completed bytes
        format: int64
        jsonPath: .status.progress.bytesDone
        name: Bytes Done
        type: integer
      - description: Total bytes
        format: int64
        jsonPath: .status.progress.totalBytes
        name: Total Bytes
        type: integer
      - description: Name of the Backup Storage Location where the backup data is
          stored
        jsonPath: .spec.backupStorageLocation
        name: Storage Location
        type: string
      - description: Time duration since this DataDownload was created
        jsonPath: .metadata.creationTimestamp
        name: Age
        type: date
      - description: Name of the node where the DataDownload is processed
        jsonPath: .status.node
        name: Node
        type: string
      name: v2alpha1
      schema:
        openAPIV3Schema:
          description: DataDownload acts as the protocol between data mover plugins
            and data mover controller for the datamover restore operation
          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: DataDownloadSpec is the specification for a DataDownload.
              properties:
                backupStorageLocation:
                  description: BackupStorageLocation is the name of the backup storage
                    location where the backup repository is stored.
                  type: string
                cancel:
                  description: Cancel indicates request to cancel the ongoing DataDownload.
                    It can be set when the DataDownload is in InProgress phase
                  type: boolean
                dataMoverConfig:
                  additionalProperties:
                    type: string
                  description: DataMoverConfig is for data-mover-specific configuration
                    fields.
                  type: object
                datamover:
                  description: DataMover specifies the data mover to be used by the
                    backup. If DataMover is "" or "velero", the built-in data mover
                    will be used.
                  type: string
                operationTimeout:
                  description: OperationTimeout specifies the time used to wait internal
                    operations, before returning error as timeout.
                  type: string
                snapshotID:
                  description: SnapshotID is the ID of the Velero backup snapshot
                    to be restored from.
                  type: string
                sourceNamespace:
                  description: SourceNamespace is the original namespace where the
                    volume is backed up from. It may be different from SourcePVC's
                    namespace if namespace is remapped during restore.
                  type: string
                targetVolume:
                  description: TargetVolume is the information of the target PVC and
                    PV.
                  properties:
                    namespace:
                      description: Namespace is the target namespace
                      type: string
                    pv:
                      description: PV is the name of the target PV that is created
                        by Velero restore
                      type: string
                    pvc:
                      description: PVC is the name of the target PVC that is created
                        by Velero restore
                      type: string
                  required:
                  - namespace
                  - pv
                  - pvc
                  type: object
              required:
              - backupStorageLocation
              - operationTimeout
              - snapshotID
              - sourceNamespace
              - targetVolume
              type: object
            status:
              description: DataDownloadStatus is the current status of a DataDownload.
              properties:
                completionTimestamp:
                  description: CompletionTimestamp records the time a restore was
                    completed. Completion time is recorded even on failed restores.
                    The server's time is used for CompletionTimestamps
                  format: date-time
                  nullable: true
                  type: string
                message:
                  description: Message is a message about the DataDownload's status.
                  type: string
                node:
                  description: Node is name of the node where the DataDownload is
                    processed.
                  type: string
                phase:
                  description: Phase is the current state of the DataDownload.
                  enum:
                  - New
                  - Accepted
                  - Prepared
                  - InProgress
                  - Canceling
                  - Canceled
                  - Completed
                  - Failed
                  type: string
                progress:
                  description: Progress holds the total number of bytes of the snapshot
                    and the current number of restored bytes. This can be used to
                    display progress information about the restore operation.
                  properties:
                    bytesDone:
                      format: int64
                      type: integer
                    totalBytes:
                      format: int64
                      type: integer
                  type: object
                startTimestamp:
                  description: StartTimestamp records the time a restore was started.
                    The server's time is used for StartTimestamps
                  format: date-time
                  nullable: true
                  type: string
              type: object
          type: object
      served: true
      storage: true
      subresources: {}
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.12.0
    creationTimestamp: null
    labels:
      component: velero
    name: datauploads.velero.io
  spec:
    group: velero.io
    names:
      kind: DataUpload
      listKind: DataUploadList
      plural: datauploads
      singular: dataupload
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - description: DataUpload status such as New/InProgress
        jsonPath: .status.phase
        name: Status
        type: string
      - description: Time duration since this DataUpload was started
        jsonPath: .status.startTimestamp
        name: Started
        type: date
      - description: Completed bytes
        format: int64
        jsonPath: .status.progress.bytesDone
        name: Bytes Done
        type: integer
      - description: Total bytes
        format: int64
        jsonPath: .status.progress.totalBytes
        name: Total Bytes
        type: integer
      - description: Name of the Backup Storage Location where this backup should
          be stored
        jsonPath: .spec.backupStorageLocation
        name: Storage Location
        type: string
      - description: Time duration since this DataUpload was created
        jsonPath: .metadata.creationTimestamp
        name: Age
        type: date
      - description: Name of the node where the DataUpload is processed
        jsonPath: .status.node
        name: Node
        type: string
      name: v2alpha1
      schema:
        openAPIV3Schema:
          description: DataUpload acts as the protocol between data mover plugins
            and data mover controller for the datamover backup operation
          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: DataUploadSpec is the specification for a DataUpload.
              properties:
                backupStorageLocation:
                  description: BackupStorageLocation is the name of the backup storage
                    location where the backup repository is stored.
                  type: string
                cancel:
                  description: Cancel indicates request to cancel the ongoing DataUpload.
                    It can be set when the DataUpload is in InProgress phase
                  type: boolean
                csiSnapshot:
                  description: If SnapshotType is CSI, CSISnapshot provides the information
                    of the CSI snapshot.
                  nullable: true
                  properties:
                    snapshotClass:
                      description: SnapshotClass is the name of the snapshot class
                        that the volume snapshot is created with
                      type: string
                    storageClass:
                      description: StorageClass is the name of the storage class of
                        the PVC that the volume snapshot is created from
                      type: string
                    volumeSnapshot:
                      description: VolumeSnapshot is the name of the volume snapshot
                        to be backed up
                      type: string
                  required:
                  - storageClass
                  - volumeSnapshot
                  type: object
                dataMoverConfig:
                  additionalProperties:
                    type: string
                  description: DataMoverConfig is for data-mover-specific configuration
                    fields.
                  nullable: true
                  type: object
                datamover:
                  description: DataMover specifies the data mover to be used by the
                    backup. If DataMover is "" or "velero", the built-in data mover
                    will be used.
                  type: string
                operationTimeout:
                  description: OperationTimeout specifies the time used to wait internal
                    operations, before returning error as timeout.
                  type: string
                snapshotType:
                  description: SnapshotType is the type of the snapshot to be backed
                    up.
                  type: string
                sourceNamespace:
                  description: SourceNamespace is the original namespace where the
                    volume is backed up from. It is the same namespace for SourcePVC
                    and CSI namespaced objects.
                  type: string
                sourcePVC:
                  description: SourcePVC is the name of the PVC which the snapshot
                    is taken for.
                  type: string
              required:
              - backupStorageLocation
              - operationTimeout
              - snapshotType
              - sourceNamespace
              - sourcePVC
              type: object
            status:
              description: DataUploadStatus is the current status of a DataUpload.
              properties:
                completionTimestamp:
                  description: CompletionTimestamp records the time a backup was completed.
                    Completion time is recorded even on failed backups. Completion
                    time is recorded before uploading the backup object. The server's
                    time is used for CompletionTimestamps
                  format: date-time
                  nullable: true
                  type: string
                dataMoverResult:
                  additionalProperties:
                    type: string
                  description: DataMoverResult stores data-mover-specific information
                    as a result of the DataUpload.
                  nullable: true
                  type: object
                message:
                  description: Message is a message about the DataUpload's status.
                  type: string
                node:
                  description: Node is name of the node where the DataUpload is processed.
                  type: string
                path:
                  description: Path is the full path of the snapshot volume being
                    backed up.
                  type: string
                phase:
                  description: Phase is the current state of the DataUpload.
                  enum:
                  - New
                  - Accepted
                  - Prepared
                  - InProgress
                  - Canceling
                  - Canceled
                  - Completed
                  - Failed
                  type: string
                progress:
                  description: Progress holds the total number of bytes of the volume
                    and the current number of backed up bytes. This can be used to
                    display progress information about the backup operation.
                  properties:
                    bytesDone:
                      format: int64
                      type: integer
                    totalBytes:
                      format: int64
                      type: integer
                  type: object
                snapshotID:
                  description: SnapshotID is the identifier for the snapshot in the
                    backup repository.
                  type: string
                startTimestamp:
                  description: StartTimestamp records the time a backup was started.
                    Separate from CreationTimestamp, since that value changes on restores.
                    The server's time is used for StartTimestamps
                  format: date-time
                  nullable: true
                  type: string
              type: object
          type: object
      served: true
      storage: true
      subresources: {}
- apiVersion: v1
  kind: Namespace
  metadata:
    creationTimestamp: null
    labels:
      component: velero
      pod-security.kubernetes.io/audit: privileged
      pod-security.kubernetes.io/audit-version: latest
      pod-security.kubernetes.io/enforce: privileged
      pod-security.kubernetes.io/enforce-version: latest
      pod-security.kubernetes.io/warn: privileged
      pod-security.kubernetes.io/warn-version: latest
    name: velero
  spec: {}
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    creationTimestamp: null
    labels:
      component: velero
    name: velero
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: cluster-admin
  subjects:
  - kind: ServiceAccount
    name: velero
    namespace: velero
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: null
    labels:
      component: velero
    name: velero
    namespace: velero
- apiVersion: v1
  data:
    cloud: W2RlZmF1bHRdCmF3c19hY2Nlc3Nfa2V5X2lkPW1pbmlvX2FkbWluCmF3c19zZWNyZXRfYWNjZXNzX2tleT1NaW5pb19WZWxlcm9fMjAyNiEK
  kind: Secret
  metadata:
    creationTimestamp: null
    labels:
      component: velero
    name: cloud-credentials
    namespace: velero
  type: Opaque
- apiVersion: velero.io/v1
  kind: BackupStorageLocation
  metadata:
    creationTimestamp: null
    labels:
      component: velero
    name: default
    namespace: velero
  spec:
    config:
      region: minio
      s3ForcePathStyle: "true"
      s3Url: http://192.168.0.188:9000
    default: true
    objectStorage:
      bucket: velero-backups
    provider: aws
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    creationTimestamp: null
    labels:
      component: velero
    name: velero
    namespace: velero
  spec:
    selector:
      matchLabels:
        deploy: velero
    strategy: {}
    template:
      metadata:
        annotations:
          prometheus.io/path: /metrics
          prometheus.io/port: "8085"
          prometheus.io/scrape: "true"
        creationTimestamp: null
        labels:
          component: velero
          deploy: velero
      spec:
        containers:
        - args:
          - server
          - --features=
          - --uploader-type=kopia
          command:
          - /velero
          env:
          - name: VELERO_SCRATCH_DIR
            value: /scratch
          - name: VELERO_NAMESPACE
            valueFrom:
              fieldRef:
                fieldPath: metadata.namespace
          - name: LD_LIBRARY_PATH
            value: /plugins
          - name: GOOGLE_APPLICATION_CREDENTIALS
            value: /credentials/cloud
          - name: AWS_SHARED_CREDENTIALS_FILE
            value: /credentials/cloud
          - name: AZURE_CREDENTIALS_FILE
            value: /credentials/cloud
          - name: ALIBABA_CLOUD_CREDENTIALS_FILE
            value: /credentials/cloud
          image: velero/velero:v1.13.0
          imagePullPolicy: IfNotPresent
          name: velero
          ports:
          - containerPort: 8085
            name: metrics
          resources:
            limits:
              cpu: "1"
              memory: 512Mi
            requests:
              cpu: 500m
              memory: 128Mi
          volumeMounts:
          - mountPath: /plugins
            name: plugins
          - mountPath: /scratch
            name: scratch
          - mountPath: /credentials
            name: cloud-credentials
        initContainers:
        - image: velero/velero-plugin-for-aws:v1.9.0
          imagePullPolicy: IfNotPresent
          name: velero-velero-plugin-for-aws
          resources: {}
          volumeMounts:
          - mountPath: /target
            name: plugins
        restartPolicy: Always
        serviceAccountName: velero
        volumes:
        - emptyDir: {}
          name: plugins
        - emptyDir: {}
          name: scratch
        - name: cloud-credentials
          secret:
            secretName: cloud-credentials
kind: List

