apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.7.0 operatorframework.io/installed-alongside-5d4365ff76ed620a: openshift-adp/oadp-operator.v1.2.0 creationTimestamp: "2022-11-13T12:41:51Z" generation: 2 labels: operators.coreos.com/redhat-oadp-operator.openshift-adp: "" name: restores.velero.io resourceVersion: "162845878" uid: 2e40439d-c654-4fe8-9ecb-194911ec9678 spec: conversion: strategy: None 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 behaviour 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 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 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 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 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 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 nullable: true type: array preserveNodePorts: description: PreserveNodePorts specifies whether to restore old nodePorts from backup. nullable: true type: boolean restorePVs: description: RestorePVs specifies whether to restore all included PVs from snapshot (via the cloudprovider). 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 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 phase: description: Phase is the current state of the Restore enum: - New - FailedValidation - InProgress - 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 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 status: acceptedNames: kind: Restore listKind: RestoreList plural: restores singular: restore conditions: - lastTransitionTime: "2022-11-13T12:41:51Z" message: no conflicts found reason: NoConflicts status: "True" type: NamesAccepted - lastTransitionTime: "2022-11-13T12:41:51Z" message: the initial names have been accepted reason: InitialNamesAccepted status: "True" type: Established storedVersions: - v1