---
  apiVersion: apiextensions.k8s.io/v1beta1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: (unknown)
    creationTimestamp: null
    labels:
      component: velero
    name: podvolumebackups.velero.io
  spec:
    group: velero.io
    names:
      kind: PodVolumeBackup
      listKind: PodVolumeBackupList
      plural: podvolumebackups
      singular: podvolumebackup
    scope: ""
    validation:
      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/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/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 restic 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/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/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
              repoIdentifier:
                description: RepoIdentifier is the restic 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
              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
    version: v1
    versions:
      - name: v1
        served: true
        storage: true
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: (unknown)
  creationTimestamp: null
  labels:
    component: velero
  name: podvolumerestores.velero.io
spec:
  group: velero.io
  names:
    kind: PodVolumeRestore
    listKind: PodVolumeRestoreList
    plural: podvolumerestores
    singular: podvolumerestore
  scope: ""
  validation:
    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/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/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 restic 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/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/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
            repoIdentifier:
              description: RepoIdentifier is the restic repository identifier.
              type: string
            snapshotID:
              description: SnapshotID is the ID of the volume snapshot to be restored.
              type: string
            volume:
              description: Volume is the name of the volume within the Pod to be
                restored.
              type: string
          required:
            - backupStorageLocation
            - pod
            - repoIdentifier
            - snapshotID
            - 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
  version: v1
  versions:
    - name: v1
      served: true
      storage: true