---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.16.5
    operatorframework.io/installed-alongside-54b53cff721cb66d: openshift-adp/oadp-operator.v1.5.2
    operatorframework.io/installed-alongside-aee38e6057cbc630: openshift-migration/oadp-operator.v1.5.2
  creationTimestamp: "2025-10-27T12:40:57Z"
  generation: 1
  labels:
    olm.managed: "true"
    operators.coreos.com/redhat-oadp-operator.openshift-adp: ""
    operators.coreos.com/redhat-oadp-operator.openshift-migration: ""
  managedFields:
  - apiVersion: apiextensions.k8s.io/v1
    fieldsType: FieldsV1
    fieldsV1:
      f:status:
        f:acceptedNames:
          f:kind: {}
          f:listKind: {}
          f:plural: {}
          f:singular: {}
        f:conditions:
          k:{"type":"Established"}:
            .: {}
            f:lastTransitionTime: {}
            f:message: {}
            f:reason: {}
            f:status: {}
            f:type: {}
          k:{"type":"NamesAccepted"}:
            .: {}
            f:lastTransitionTime: {}
            f:message: {}
            f:reason: {}
            f:status: {}
            f:type: {}
    manager: kube-apiserver
    operation: Update
    subresource: status
    time: "2025-10-27T12:40:57Z"
  - apiVersion: apiextensions.k8s.io/v1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:annotations:
          .: {}
          f:controller-gen.kubebuilder.io/version: {}
          f:operatorframework.io/installed-alongside-54b53cff721cb66d: {}
          f:operatorframework.io/installed-alongside-aee38e6057cbc630: {}
        f:labels:
          .: {}
          f:olm.managed: {}
      f:spec:
        f:conversion:
          .: {}
          f:strategy: {}
        f:group: {}
        f:names:
          f:kind: {}
          f:listKind: {}
          f:plural: {}
          f:singular: {}
        f:scope: {}
        f:versions: {}
    manager: catalog
    operation: Update
    time: "2025-10-27T13:11:30Z"
  - apiVersion: apiextensions.k8s.io/v1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:labels:
          f:operators.coreos.com/redhat-oadp-operator.openshift-adp: {}
          f:operators.coreos.com/redhat-oadp-operator.openshift-migration: {}
    manager: olm
    operation: Update
    time: "2025-10-27T13:11:42Z"
  name: podvolumerestores.velero.io
  resourceVersion: "76635"
  uid: a817546a-d454-418d-b8fa-e651813a89d6
spec:
  conversion:
    strategy: None
  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.
                    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: {}
status:
  acceptedNames:
    kind: PodVolumeRestore
    listKind: PodVolumeRestoreList
    plural: podvolumerestores
    singular: podvolumerestore
  conditions:
  - lastTransitionTime: "2025-10-27T12:40:57Z"
    message: no conflicts found
    reason: NoConflicts
    status: "True"
    type: NamesAccepted
  - lastTransitionTime: "2025-10-27T12:40:57Z"
    message: the initial names have been accepted
    reason: InitialNamesAccepted
    status: "True"
    type: Established
  storedVersions:
  - v1
