
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: (unknown)
  creationTimestamp: null
  name: restores.velero.io
spec:
  group: velero.io
  names:
    kind: Restore
    listKind: RestoreList
    plural: restores
    singular: restore
  preserveUnknownFields: false
  scope: Namespaced
  validation:
    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
            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
            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
            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
            restorePVs:
              description: RestorePVs specifies whether to restore all included PVs
                from snapshot (via the cloudprovider).
              nullable: true
              type: boolean
            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
          required:
          - backupName
          type: object
        status:
          description: RestoreStatus captures the current status of a Velero restore
          properties:
            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
            phase:
              description: Phase is the current state of the Restore
              enum:
              - New
              - FailedValidation
              - InProgress
              - Completed
              - PartiallyFailed
              - Failed
              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
  version: v1
  versions:
  - name: v1
    served: true
    storage: true
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
