KRM API backup.gdc.goog/v1 control plane API

backup.gdc.goog/v1

Package v1 contains API Schema definitions for the hybrid v1 API group

Backup

Backup is the Schema for the backups API.

Appears in: - BackupList

Field Description
apiVersion string backup.gdc.goog/v1
kind string Backup
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec BackupSpec
status BackupStatus

BackupConfig

BackupConfig is an inner message type that defines the configuration of creating a backup from this BackupPlan.

Appears in: - BackupPlanSpec - BackupSpec

Field Description
backupScope BackupScope BackupScope specifies the resource selection scope of a Backup. Examples include: all_namespaces, selected namespaces, and selected applications. You must specify a single value for backup_scope. The BackupScope must be one of the following types: BackupScope: * BackupConfig_AllNamespaces * BackupConfig_SelectedNamespaces * BackupConfig_SelectedApplications
backupRepository string BackupRepository is the name of the BackupRepository identifying the secondary storage for this BackupPlan.
includeVolumeData boolean IncludeVolumeData is a boolean flag that specifies whether volume data should be backed up. If unset, the default is false.
includeSecrets boolean IncludeSecrets is a boolean flag that specifies whether secrets should be backed up. If unset, the default is false.
encryptionKey EncryptionKey EncryptionKey specifies an encryption key. This field is immutable.
volumeStrategy VolumeStrategy VolumeStrategy specifies tradeoffs to use when backing up volumes.

BackupInfo

BackupInfo holds the name and state of a backup in RecentBackups.

Appears in: - BackupPlanStatus

Field Description
name string Name is the name of the Backup.
state BackupState State is the status of the most recently executed Backup.

BackupList

BackupList contains a list of Backups.

Field Description
apiVersion string backup.gdc.goog/v1
kind string BackupList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items Backup array

BackupPlan

BackupPlan is the Schema for the BackupPlans API.

Appears in: - BackupPlanList

Field Description
apiVersion string backup.gdc.goog/v1
kind string BackupPlan
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec BackupPlanSpec
status BackupPlanStatus

BackupPlanList

BackupPlanList contains a list of BackupPlans.

Field Description
apiVersion string backup.gdc.goog/v1
kind string BackupPlanList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items BackupPlan array

BackupPlanSpec

BackupPlanSpec defines the desired state of BackupPlan.

Appears in: - BackupPlan

Field Description
clusterName string ClusterName is the name of the source cluster in a project of which this plan is associated with.
backupSchedule Schedule BackupSchedule defines the scheduled Backup creation under this BackupPlan.
backupConfig BackupConfig BackupConfig defines the Backup configuration of this BackupPlan.
retentionPolicy RetentionPolicy RetentionPolicy governs the lifecycle of Backups created under this plan.
description string Description is a user specified descriptive string for this BackupPlan.
deactivated boolean Deactivated is a boolean flag that indicates whether the plan has been deactivated. Setting this field to "True" locks the plan meaning no further updates will be allowed, including changes to the deactivated field. It also prevents new backups from being created under this plan, both manually or scheduled. Default to "False".

BackupPlanStatus

BackupPlanStatus defines the observed state of a BackupPlan.

Appears in: - BackupPlan

Field Description
lastBackupTime Time LastBackupTime is the timestamp for the most recently executed Backup.
nextBackupTime Time NextBackupTime is the timestamp for the next scheduled Backup.
state State State details the current state of the BackupPlan.
lastBackupState BackupState LastBackupState is the state of the most recently created Backup.
lastBackupStateReason string LastBackupStateReason is a human-readable description of why the last Backup is in the current state.
recentBackups BackupInfo array RecentBackups are the most recent Backups created by the BackupPlan.

BackupRepository

BackupRepository is the Schema for the BackupRepositories API.

Appears in: - BackupRepositoryList

Field Description
apiVersion string backup.gdc.goog/v1
kind string BackupRepository
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec BackupRepositorySpec
status BackupRepositoryStatus

BackupRepositoryList

BackupRepositoryList contains a list of BackupRepositories.

Field Description
apiVersion string backup.gdc.goog/v1
kind string BackupRepositoryList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items BackupRepository array

BackupRepositorySpec

BackupRepositorySpec defines the desired state of BackupRepository.

Appears in: - BackupRepository

Field Description
secretReference SecretReference SecretReference is a reference to an Access Secret which is dependent on your storage system of choice. Used for making requests to this endpoint. For example, an S3 Access Secret.
endpoint string Endpoint is used to access the Backup repository. In the case of Google Private Cloud, this would be the S3 endpoint that provides access to the Tenant project.
type RepositoryType Type is the type of the Backup repository. For example, S3 or Google Cloud Storage, which tells the agent which storage system or API to use.
s3Options S3Options S3Options represents the data used for configuring access to S3-compatible BackupRepo.
importPolicy ImportPolicy ImportPolicy determines if this Backup repository is read-only or read/write.
importSubstitution ImportSubstitution ImportSubstitution determines if we should substitute the Backup Repository name of imported resources with this BR's name
force boolean Force is used to specify the action that a read/write Backup repository should take if the storage bucket that it is initialized with has already been claimed by a different Backup repository. If 'true', the new Backup repository will still claim ownership of the storage bucket by replacing the existing sentinel file with its own sentinel file. If 'false', the creation of the new Backup repository will fail with an error. The default value is 'false'. This should only be used if the sentinel file that will be overridden no longer has a Backup repository, otherwise that Backup repository will enter an error state which may cause undesired side effects.

BackupRepositoryStatus

BackupRepositoryStatus defines the observed state of BackupRepository.

Appears in: - BackupRepository

Field Description
sentinelEtag string SentinelEtag is used to link a Backup repository to the sentinel file that it owns.
reconciliationError ReconciliationError ReconciliationError describes any errors that have occurred during the most recent reconciliation attempt for the Backup Repository.
reconciliationErrorMessage string ReconciliationErrorMessage stores any error messages that occur during reconciliation.
initialImportDone boolean InitialImportDone determines if this Backup repository has completed the initial import or not.

BackupScope

BackupScope defines which namespaces and applications to backup.

Appears in: - BackupConfig - RestoreConfig

Field Description
allNamespaces boolean AllNamespaces, if set to true, indicates that all namespaces should be backed up.
selectedNamespaces Namespaces SelectedNamespaces, if set, specifies the list of namespaces to back up.
selectedApplications NamespacedNames SelectedApplications, if set, specifies the list of applications to back up.

BackupSpec

BackupSpec defines the desired state of Backup.

Appears in: - Backup

Field Description
backupPlanName string BackupPlanName specifies the name of the BackupPlan from which this Backup was created.
backupConfig BackupConfig BackupConfig is a configuration used at the time that this backup was generated from the given BackupPlan. This should be copied from the BackupPlan that this Backup was generated by (rather than a reference). This field should not be set by the user, and should only be set by the BackupPlan scheduler and the ManualBackupRequest.
description string Description specifies an optional string description of the Backup. This field has no impact on functionality.
manual boolean Manual is a boolean flag that determines whether the Backup resource was created manually. If True, this Backup has been created manually, If False, this Backup has been created automatically from the BackupPlan schedule.
deleteLockDays integer DeleteLockDays specifies the number of days from the create_time of this Backup for which deletion will be blocked. For backups created automatically from a Backup schedule, this field will be set to the value of BackupPlan.RetentionPolicy.backup_delete_block_days. For backups created manually that leave this field unspecified, the service will assign the value of BackupPlan.RetentionPolicy.backup_delete_block_days. If a Backup is created where the value of this field is less than the value of BackupPlan.RetentionPolicy.backup_delete_block_days, an invalid response will be returned from the service. This field must be an integer value between 0-90 (inclusive). This field may only be increased by an update request, or an invalid response will be returned by the service. Note, this field only applies to backups with a Succeeded state. Default to 0.
retainDays integer RetainDays specifies how many days to keep this backup for, after which it is automatically deleted. This is calculated from the create_time of the Backup. If this field is not specified or set to 0, it means the backup will not be automatically deleted. For backups automatically created from a a backup schedule, this field will be assigned the value of BackupPlan.RetentionPolicy.backup_retain_days. For backups created manually that leave this field unspecified, the service will assign the value of BackupPlan.RetentionPolicy.backup_retain_days. If a Backup is created where the value of this field is less than the value of delete_lock_days, an invalid response is returned by the service. This field may only be increased by an update request, or an invalid response will be returned by the service. Default to 0.

BackupStatus

BackupStatus defines the observed state of a Backup.

Appears in: - Backup

Field Description
clusterMetadata ClusterMetadata ClusterMetadata contains metadata about the cluster.
jobCreated boolean JobCreated indicates whether a BackupJob has been created for this Backup.
state BackupState State indicates the current state of the Backup.
reason string StateReason is a human-readable description of why the Backup is in the current state.
createTime Time CreateTime is the timestamp of when this Backup resource was created. This can be converted to and from RFC 3339
updateTime Time UpdateTime is the timestamp when this BackupPlan resource was last updated. This can be converted to and from RFC 3339
resourceCount integer ResourceCount is the total number of resources backed up.
volumeCount integer VolumeCount is the total number of volumes backed up.
sizeBytes integer SizeBytes is the total size in bytes.
podCount integer PodCount is the total number of workload pods backed up.
systemPodCount integer SystemPodCount is the total number of system pods backed up. These pods are excluded from billing.
vmCount integer VmCount is the total number of Virtual Machines backed up.
deleteLockExpireTime Time DeleteLockExpireTime defines the time when the deletion lock will expire. This is an output only field calculated from create_time + delete_lock_days, and will be updated accordingly when the delete_lock_days field of a Backup has been updated. Note, this field only applies to Backups with a Succeeded state.
retainExpireTime Time RetainExpireTime defines the time when the Backup will be automatically deleted. It's an output only field calculated from create_time + retain_days, and will be updated accordingly when the retain_days field of a Backup has been updated.
completeTime Time CompleteTime is the completion time of the Backup.

ClusterMetadata

ClusterMetadata

Appears in: - BackupStatus

Field Description
clusterName string ClusterName is the name of the source cluster from where the Backup has been created from.
k8sVersion string K8SVersion is the Kubernetes server version.
platformVersion PlatformVersion platform version PlatformVersion is the platform version types that can be assigned to PlatformVersion: *GpcVersion

ClusterResourceConflictPolicy

Underlying type: string ClusterResourceConflictPolicy defines the restoration behavior for non-namespaced cluster resources when a conflict occurs.

Appears in: - RestoreConfig - RestorePolicies

ClusterResourceSelection

ClusterResourceSelection specifies the selection of non-namespaced resources for restoration.

Appears in: - RestoreConfig - RestoreResourceSelection

Field Description
selectedGroupKinds GroupKind array SelectedGroupKinds is a list of GroupKinds, a non-namespaced resource must be included as one of the GroupKinds specified in the list. Note: Even though PersistentVolume resources are non-namespaced, these will be handled separately. See VolumeDataRestorePolicy for details. Specifying a PersistentVolume GroupKind in this list does not affect whether or not a PersistentVolume will be restored.

DeleteBackupRequest

DeleteBackupRequest is the Schema for the DeleteBackupRequests API.

Appears in: - DeleteBackupRequestList

Field Description
apiVersion string backup.gdc.goog/v1
kind string DeleteBackupRequest
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec DeleteBackupRequestSpec
status DeleteBackupRequestStatus

DeleteBackupRequestList

DeleteBackupRequestList contains a list of DeleteBackupRequests.

Field Description
apiVersion string backup.gdc.goog/v1
kind string DeleteBackupRequestList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items DeleteBackupRequest array

DeleteBackupRequestSpec

DeleteBackupRequestSpec defines the desired state of DeleteBackupRequest.

Appears in: - DeleteBackupRequest

Field Description
backupName string BackupName is the name of the backup to be deleted. Note: the backup must be exist in the same namespace as the DeletBackupRequest

DeleteBackupRequestStatus

DeleteBackupRequestStatus defines the observed state of DeleteBackupRequest.

Appears in: - DeleteBackupRequest

Field Description
timeToExpire Time TimeToExpire is the time the resource expires.
statusField StatusFields StatusField is the status of the observed state of DeleteBackupRequest.

EncryptionKey

EncryptionKey defines an encryption key. For preview, support Google Cloud Platform KMS only.

Appears in: - BackupConfig - RestoreConfig

Field Description
gcpKMSEncryptionKey string GcpKmsEncryptionKey specifies a Google KMS encryption key in the format: projects//locations//keyRings//cryptoKeys/.

ImportPolicy

Underlying type: string ImportPolicy represents whether we are working with a read-only or read/write repository.

Appears in: - BackupRepositorySpec

ImportSubstitution

ImportSubstitution represents whether we substitute the Backup Repository name on imported resources.

Appears in: - BackupRepositorySpec

Field Description
substituteBRName boolean

ManualBackupRequest

ManualBackupRequest is the Schema for the ManualBackupRequests API.

Appears in: - ManualBackupRequestList

Field Description
apiVersion string backup.gdc.goog/v1
kind string ManualBackupRequest
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec ManualBackupRequestSpec
status ManualBackupRequestStatus

ManualBackupRequestList

ManualBackupRequestList contains a list of ManualBackupRequests.

Field Description
apiVersion string backup.gdc.goog/v1
kind string ManualBackupRequestList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items ManualBackupRequest array

ManualBackupRequestSpec

ManualBackupRequestSpec defines the desired state of ManualBackupRequest.

Appears in: - ManualBackupRequest

Field Description
backupName string BackupName is the name of the manual Backup to be created.
backupPlanName string BackupPlanName is the name of the BackupPlan from which the BackupConfig is pulled.
description string Description is a user-specified descriptive string for the Backup created by this ManualBackupRequest.
deleteLockDays integer DeleteLockDays is the number of days from the create_time of this Backup for which deletion will be blocked. For backups automatically created from a schedule, this field will be given the value of BackupPlan.RetentionPolicy.backup_delete_block_days. If a Backup is created with this field unspecified, it is given the value of BackupPlan.RetentionPolicy.backup_delete_block_days. If this Backup is created with this field set to a value less than the value of BackupPlan.RetentionPolicy.backup_delete_block_days, an invalid response will be returned from the agent. This field must be a value within 0-90 (inclusive). This field may only be increased by an update request, or an invalid response will be returned by the agent. Note that this field only applies to Backups with a Succeeded state. Default to 0.
retainDays integer RetainDays specifies how many days to keep this backup for, after which it is automatically deleted. If this field is not specified or set to 0, it means the Backup will not be automatically deleted. For backups automatically created from a backup schedule, this field will be assigned the value of BackupPlan.RetentionPolicy.backup_default_retain_days. For created Backups that leave this field unspecified causes the agent to use the value of BackupPlan.RetentionPolicy.backup_default_retain_days. Creation of a Backup with this field set to a value SMALLER than delete_lock_days results in an invalid response from the agent. This field may ONLY be increased in an Update request, or an invalid response will be returned by the agent immediately. Default to 0.

ManualBackupRequestStatus

ManualBackupRequestStatus defines the observed state of ManualBackupRequest.

Appears in: - ManualBackupRequest

Field Description
timeToExpire Time The time the resource should expire.
statusField StatusFields The status of the observed state of ManualBackupRequest.

ManualRestoreRequest

ManualRestoreRequest is the Schema for the ManualRestoreRequests API.

Appears in: - ManualRestoreRequestList

Field Description
apiVersion string backup.gdc.goog/v1
kind string ManualRestoreRequest
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec ManualRestoreRequestSpec
status ManualRestoreRequestStatus

ManualRestoreRequestList

ManualRestoreRequestList contains a list of ManualRestoreRequests.

Field Description
apiVersion string backup.gdc.goog/v1
kind string ManualRestoreRequestList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items ManualRestoreRequest array

ManualRestoreRequestSpec

ManualRestoreRequestSpec defines the desired state of ManualRestoreRequest.

Appears in: - ManualRestoreRequest

Field Description
restoreName string RestoreName is the name of the manual restore to be created.
restorePlanName string RestorePlanName is the name of the RestorePlan to pull the RestoreConfig from.
backupName string BackupName is the name of the Backup that is being restored.
description string Description is the user-specified descriptive string for the restore created by this ManualRestoreRequest.

ManualRestoreRequestStatus

ManualRestoreRequestStatus defines the observed state of ManualRestoreRequest.

Appears in: - ManualRestoreRequest

Field Description
timeToExpire Time TimeToExpire is the time when the resource should expire.
statusField StatusFields StatusField is the status of the observed state of ManualRestoreRequest.

NamespacedName

NamespacedName defines a name in a specific namespace.

Appears in: - NamespacedNames - NamespacedResourceSelection - VolumeBackupSpec - VolumeRestoreSpec

Field Description
namespace string Namespace is the namespace of the resource in Kubernetes.
name string Name is the name of the resource in Kubernetes.

NamespacedNames

Appears in: - BackupScope

Field Description
namespacedNames NamespacedName array NamespacedNames is a list of namespaced names.

NamespacedResourceRestoreMode

Underlying type: string NamespacedResourceRestoreMode defines the restoration behavior for namespaced resources.

Appears in: - RestoreConfig - RestorePolicies

NamespacedResourceSelection

NamespacedResourceSelection specifies the selection of namespaced resources for restoraion. One of the following values must be specified along with a matching Type: 1. AllNamespaces 2. SelectedNamespaces 3. SelectedApplications

Appears in: - RestoreResourceSelection

Field Description
type NamespacedResourceSelectionType Type specifies the type of selection to use.
allNamespaces boolean AllNamespaces specifies whether or not to restore all namespaced resources in the Backup. Leaving this field unspecified, or setting it to False with the Type set to NamespacedResourceSelectionType.AllNamespaces is invalid.
selectedNamespaces string array SelectedNamespaces is a list of the selected namespaces to restore. If a value is provided along the Type set to NamespacedResourceSelectionType.SelectedNamespaces, resources with an original namespace that feature in the specified in the list will be restored. Note, specifying an empty string in this list will not restore non-namespaced cluster resources. To restore cluster resources, see ClusterResourceSelection.
selectedApplications NamespacedName array SelectedApplications is a list of selected ProtectedApplication resources to restore. If a value is provided, along with the Type set to NamespacedResourceSelectionType.SelectedApplications, the resources belonging to one of the listed applications will be restored.

NamespacedResourceSelectionType

Underlying type: string NamespacedResourceSelectionType is the type of namespaced resources selection.

Appears in: - NamespacedResourceSelection

Namespaces

Appears in: - BackupScope

Field Description
namespaces string array Namespaces is a list of namespaces.

ObjectStorageBackupConfig

ObjectStorageBackupConfig configures backups of object storage.

Field Description
apiVersion string backup.gdc.goog/v1
kind string ObjectStorageBackupConfig
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
source ObjectStorageEndpoint Source is the source object storage to be backed up.
target ObjectStorageEndpoint Target is the target to which the backup will be written.
timestamp boolean Timestamp determines whether to store each transfer in a timestamped sub-path of the bucket. If set to True, the structure is YYYY-MM-DD-hh:mm:ss. This helps to store copies taken from multiple points in time of a backup. Defaults to 'False'.

ObjectStorageEndpoint

ObjectStorageEndpoint represents an object storage endpoint as well as the credentials to access it.

Appears in: - ObjectStorageBackupConfig

Field Description
endpoint string Endpoint is used to access object storage. For example, https://s3.svc.
bucket string Bucket is the bucket within the endpoint to scope reference.
secretReference SecretReference SecretReference is the reference to S3 access credentials used to access object storage.

PlatformVersion

PlatformVersion defines the platform's version.

Appears in: - ClusterMetadata

Field Description
gpcVersion string GpcVersion specifies the Google Private Cloud version.

ReconciliationError

Underlying type: string ReconciliationError denotes any error that was encountered during reconciliation.

Appears in: - BackupRepositoryStatus

RepositoryType

Underlying type: string RepositoryType represents the type of endpoint being written to.

Appears in: - BackupRepositorySpec

ResourceFilter

ResourceFilter defines the rules to filter down the list of candidate resources to provide transformation rules against. Given all fields with ResourceFilter is optional, not specifying any of the ResourceFilter fields will result in matching on all resources.

Appears in: - TransformationRule

Field Description
namespaces string array Namespaces, if not empty, specifies a list of target namespaces a transformation rule will apply to. A resource's original namespace should match ONE of the names in the list to be considered as a transformation candidate. An empty string is expected in the list for any non-namespaced resource to be considered. If empty, all namespaces will be considered.
groupKinds GroupKind array GroupKinds, if not empty, specifies a list of target GroupKinds a transformation rule will apply to. A resource's original GroupKind should match ONE of the GroupKinds specified in the list to be considered as a transformation candidate. If empty, all GroupKinds will be considred. NOTE: A resource needs to satisfy both Namespaces requirement AND GroupKinds requirement to be considered as a transformation candidate.
jsonPath string JSONPath is the string representation of the path in the JSON which leads to the field(s) in the target resource for filtering. JSONPath documentation can be viewed here: https://github.com/json-path/JsonPath/blob/master/README.md JSONPath formats can be tested online (e.g. https://jsonpath.com/)

Restore

Restore is the Schema for the Restores API.

Appears in: - RestoreList

Field Description
apiVersion string backup.gdc.goog/v1
kind string Restore
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec RestoreSpec
status RestoreStatus

RestoreConfig

RestoreConfig defines the configuration of a restore.

Appears in: - RestorePlanSpec - RestoreSpec

Field Description
volumeDataRestorePolicy VolumeDataRestorePolicy VolumeDataRestorePolicy specifies what policy to use for volume data restoration. Provides a default value of NO_VOLUME_DATA_RESTORATION if no value is specified.
clusterResourceConflictPolicy ClusterResourceConflictPolicy ClusterResourceConflictPolicy specifies the policy that resolves conflicts when restoring cluster-scoped resources. The request is invalid if this field is not specified. This request is invalid if this field has a value of CLUSTER_RESOURCE_CONFLICT_POLICY_UNSPECIFIED and cluster_resource_restore_scope is specified.
namespacedResourceRestoreMode NamespacedResourceRestoreMode NamespacedResourceRestoreMode specifies what restoration mode to use for namespaced resources. The request is invalid if this field is not specified. The request is invalid if this field has a value of NAMESPACED_RESOURCE_RESTORE_MODE_UNSPECIFIED and namespaced_resource_restore_scope is specified.
clusterResources ClusterResourceSelection ClusterResources specifies the non-namespaced resources to be restored. If this field is not specified, no cluster resource will be restored. Note: even though PersistentVolume resources are non-namespaced, they will be handled separately. See VolumeDataRestorePolicy for details. Specifying a PersistentVolume GroupKind in this list does not determine whether a PersistentVolume will be restored.
namespacedResourceAllowlist GroupKind array NamespacedResourceAllowlist specifies the specific namespaced resources to restore. If defined, only the resources defined in this allowlist will be restored.
restoreScope BackupScope NamespacedResourceRestoreScope specifies selected namespaces resources to restore. One of the entries must be specified along with a valid Type. Types that are valid to be assigned to restoreScope: * AllNamespaces, * SelectedNamespaces, * SelectedApplications.
substitutionRules SubstitutionRule array SubstitutionRules specifies rules to substitute values in the backed-up K8s resources during restore. An empty list means no substitution will occur. Substitution rules are applied sequentially in the order defined. This order matters, as changes made by a rule may impact the matching logic of the subsequent rule. Only 1 of SubstitutionRules or TransformationRules can be specified for a given restore operation.
transformationRules TransformationRule array TransformationRules specifies rules to transform values in the backed-up K8s resources during restore. An empty list means no transformation will happen. Transformation rules are applied sequentially in the order defined. This order matters, as changes made by a rule may impact the matching logic of a subsequent rule. Only 1 of SubstitutionRules or TransformationRules can be specified for a given restore operation.
backupRepository string BackupRepository is the name of the backup repository which identifies the repository for the restore resource. This field must be attached in read/write mode. Note: this backup repository may differ from the backup repository for the backup this restore references. If this field is not supplied then it will be picked using the following logic: 1. If the backup that we are performing the restore on points to a read/write repository in the current cluster, then we will pick that. 2. If the backup that we are performing a restore on points to a read/only repository, we will pick any read/write repository from the cluster and use that.
encryptionKey EncryptionKey EncryptionKey specifies an encryption key. This field is immutable.

RestoreList

RestoreList contains a list of Restores.

Field Description
apiVersion string backup.gdc.goog/v1
kind string RestoreList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items Restore array

RestorePlan

RestorePlan is the Schema for the RestorePlans API.

Appears in: - RestorePlanList

Field Description
apiVersion string backup.gdc.goog/v1
kind string RestorePlan
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec RestorePlanSpec
status RestorePlanStatus

RestorePlanList

RestorePlanList contains a list of RestorePlans.

Field Description
apiVersion string backup.gdc.goog/v1
kind string RestorePlanList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items RestorePlan array

RestorePlanSpec

RestorePlanSpec defines the desired state of the RestorePlan.

Appears in: - RestorePlan

Field Description
backupPlanName string BackupPlanName is the name of the BackupPlan from which Backups may be used as the source for Restores created via this RestorePlan. This field is required and immutable.
restoreConfig RestoreConfig RestoreConfig defines a restore configuration of this RestorePlan.
clusterName string ClusterName is the name of the source cluster in a project which this plan is associated with.
description string Description is a user-specified descriptive string for this RestorePlan.

RestorePlanStatus

RestorePlanStatus defines the observed state of RestorePlan.

Appears in: - RestorePlan

Field Description
lastRestoreTime Time LastRestoreTime is the timestamp for the most recently executed restore.
state StatusFields StatusField details the current state of the restore plan.

RestoreSpec

RestoreSpec defines the desired state of Restore.

Appears in: - Restore

Field Description
backupName string BackupName is the full name of the Backup resource this Restore resource uses to restore from.
restorePlanName string RestorePlanName is the name of the restore plan from which this restore inherited its RestoreConfig.
clusterName string ClusterName is the name of the cluster this restore targets.
restoreConfig RestoreConfig RestoreConfig is the configuration of the restore.
description string Description is an optional string description of the backup. This has no impact on functionality.

RestoreState

Underlying type: string

Appears in: - RestoreStatus

RestoreStatus

RestoreStatus defines the observed state of Restore.

Appears in: - Restore

Field Description
state RestoreState State is the current state of the restore.
stateReason string StateReason is a human-readable description of why the restore is in the current state.
jobCreated boolean JobCreated indicates whether a RestoreJob has been created for this restore.
resourcesRestoredCount integer ResourcesRestoredCount is the number of resources restored in this restore action.
resourcesExcludedCount integer ResourcesExcludedCount is the number of resources excluded in this restore action.
resourcesFailedCount integer ResourcesFailedCount is the number of resources that failed to be restored in this restore action.
restoredVolumesCount integer RestoredVolumesCount is the number of volumes restored in this restore action.
startTime Time CreateTime is the create time of the restore process.
completeTime Time CompleteTime is the end time of the restore process.

RetentionPolicy

RetentionPolicy is an inner message type to define: 1. When to automatically delete Backups created under this BackupPlan 2. A plan-level minimum number of Backup retain days. These retain days block deletion. 3. A lock to disallow any policy updates.

Appears in: - BackupPlanSpec

Field Description
backupDeleteLockDays integer BackupDeleteLockDays is the number of days during for which deletion of a Backup created under this BackupPlan will be blocked. Default to 0. This field must be an integer value between 0-90 (inclusive). A Backup created under this BackupPlan will not be deletable until it reaches the value of the Backup's create_time + backup_delete_lock_days. Updating this field of a BackupPlan does not affect existing Backups under it. Backups created after a successful update will automatically inherit the new value.
backupRetainDays integer BackupRetainDays is the number of days after which the service will delete a Backup. If specified, a Backup created under this BackupPlan will be automatically deleted after it reaches the values of create_time + backup_retain_days. If not specified, Backups created under this BackupPlan will not be subject to automatic deletion. Updating this field does not affect existing Backups under it. Backups created after a successful update will automatically inherit the new value. Note: Specifying a value for backup_retain_days that is smaller than backup_delete_lock_days at the time of the creation or update will be considered as invalid, and the request will be rejected immediately.
locked boolean Locked is a boolean flag that denotes whether the retention policy of this BackupPlan is locked. If set to True, no further update is allowed on this policy, including the locked field itself. Default to False.

S3Options

S3Options defines the options for calling into an S3 endpoint for the BackupRepository.

Appears in: - BackupRepositorySpec

Field Description
bucket string Bucket is the bucket within the endpoint to upload Backups to.
region string Region is the region of a given endpoint. Formatting is Storage System dependent.
forcePathStyle boolean ForcePathStyle decides whether to force path style URLs for objects. For example, https://s3.amazonaws.com// instead of https://.s3.amazonaws.com/.
serverSideEncryption string ServerSideEncryption is the server-side encryption algorithm used when storing objects. For example, AES256, aws:kms.
kmsKeyId string KmsKeyID is the KMS key ID to use for object storage if server-side encryption is using KMS.

Schedule

Schedule is an inner message type that defines a cron schedule.

Appears in: - BackupPlanSpec

Field Description
cronSchedule string CronSchedule is a cron string schedule on which an operation will be executed.
paused boolean Paused is a boolean flag to toggle scheduled operation. If set to True, the scheduled operation will be inactive. Default to True.

State

Underlying type: string State is a value specifying what state the backup plan is currently in.

Appears in: - BackupPlanStatus

SubstitutionRule

SubstitutionRule defines the rules for substitution.

Appears in: - RestoreConfig

Field Description
target SubstitutionTarget Target specifies the matching criteria that check whether a resource is a substitution candidate and has fields that match the supplied JSONPath.
originValuePattern string OriginalValuePattern is a regular expression pattern string which will be applied to the JSON value matched from the supplied Target value. If not specified, the original value will always be substituted using the specified NewValue. Note: an empty string is a legitimate regex pattern, and will be treated like any other string.
newValue string NewValue specifies the desired value in string format to substitute to.

SubstitutionTarget

SubstitutionTarget defines rules of target candidates for substitution.

Appears in: - SubstitutionRule

Field Description
namespaces string array Namespaces, if not empty, specifies a list of target namespaces a substitution rule will be applied to. A resource's original namespace should match one of the names in the list to be considered as a substitution candidate. For any non-namespaced resource to be considered, an empty string must be provided. If empty, all namespaces will be considered.
groupKinds GroupKind array GroupKinds, if not empty, specifies a list of target GroupKinds a substitution rule will apply to. A resource's original GroupKind should match one of the GroupKinds specified in the list to be considered as a substitution candidate. If empty, all GroupKinds will be considred. Note: a resource needs to satisfy both namespace requirements and GroupKind requirements to be considered as a substitution candidate.
jsonPath string JSONPath is the string representation of the JSON Path which leads to the fields in the target resource, which will be in the JSON format for substitution.

TransformationRule

TransformationRule defines rules of transformation utilizing jsonPatch.

Appears in: - RestoreConfig

Field Description
fieldActions TransformationRuleAction array FieldActions specifies a list of operations to take against candidate resources based on the JSON Patch RFC
resourceFilter ResourceFilter ResourceFilter specifies matching criteria to check whether a resource is a transformation candidate. Note: an empty/blank resourceFilter means match on all resources.

TransformationRuleAction

TransformationRuleAction is modeled off of the jsonPatch RFC definition: https://www.rfc-editor.org/rfc/rfc6902#section-4.4

Appears in: - TransformationRule

Field Description
op TransformationRuleOperation Op (operation) specifies the type of action the user wants to perform as part of transforming resource(s) upon a restore operation. The list of valid operations can be viewed at https://www.rfc-editor.org/rfc/rfc6902#section-4.4
from string From is the JSON patch representation of a path within the JSON which leads to the field(s) in the target resource for move and copy operations
path string Path is the JSON patch representation of a path within the JSON which leads to the field(s) in the target resource for some operations
value string Value specifies the desired value in string format to use for transformation.

TransformationRuleOperation

Underlying type: string TransformationRuleOperation is the intended operation for a transformation rule

Appears in: - TransformationRuleAction

VolumeBackup

VolumeBackup is the Schema for the VolumeBackups API.

Appears in: - VolumeBackupList

Field Description
apiVersion string backup.gdc.goog/v1
kind string VolumeBackup
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec VolumeBackupSpec
status VolumeBackupStatus

VolumeBackupList

VolumeBackupList contains a list of VolumeBackups.

Field Description
apiVersion string backup.gdc.goog/v1
kind string VolumeBackupList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items VolumeBackup array

VolumeBackupSpec

VolumeBackupSpec defines the desired state of VolumeBackup.

Appears in: - VolumeBackup

Field Description
backupName string BackupName is the name of the associated Backup. Each VolumeBackup must be associated with a Backup.
backupPlanName string BackupPlanName is the name of the Backup plan from which the asssociated Backup was created.
sourcePVC NamespacedName SourcePvc refers to the source persistent volume claim from which the volume backup is taken from.
volumeBackupHandle string VolumeBackupHandle is an underlying volume Backup handle, which uniquely identifies a volume Backup inside of a volume Backup repository. This handle doesn't have a unified format and is treated as an opaque string. DEPRECATED: Use the status field instead.

VolumeBackupStatus

VolumeBackupStatus defines the observed state of VolumeBackup.

Appears in: - VolumeBackup

Field Description
volumeBackupHandle string VolumeBackupHandle is an underlying volume Backup handle, which uniquely identifies a volume Backup inside of a volume Backup repository. This handle doesn't have a unified format and is treated as an opaque string.
format VolumeBackupFormat Format is a volume Backup format. For example, PD, Portable, etc.
storageBytes integer StorageBytes is the size of the volume Backup in the Backup storage. For incremental backups this value may dynamically change if one of the previous volume Backups was deleted.
diskSizeBytes integer DiskSizeBytes is yhe minimum size of the disk to which this volume Backup can be restored.
state VolumeBackupState State is the current state of the volume Backup.
message string StateMessage is a human-readable message indicating details about why the Backup is in this state.
completeTime Time CompleteTime is the timestamp when this VolumeBackup resource was completed in the text format of RFC 3339.

VolumeDataRestorePolicy

Underlying type: string VolumeDataRestorePolicy defines different volume data restoration policies.

Appears in: - RestoreConfig - RestorePolicies

VolumeRestore

VolumeRestore is the Schema for the VolumeRestores API.

Appears in: - VolumeRestoreList

Field Description
apiVersion string backup.gdc.goog/v1
kind string VolumeRestore
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec VolumeRestoreSpec
status VolumeRestoreStatus

VolumeRestoreList

VolumeRestoreList contains a list of VolumeRestores.

Field Description
apiVersion string backup.gdc.goog/v1
kind string VolumeRestoreList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items VolumeRestore array

VolumeRestoreSpec

VolumeRestoreSpec defines the desired state of VolumeRestore.

Appears in: - VolumeRestore

Field Description
restoreName string RestoreName is the name of the restore resource that created this VolumeRestore.
volumeBackupName string VolumeBackupName is the name of the VolumeBackup resource that we are restoring.
targetPvc NamespacedName TargetPvc refers to the target PVC to be restored.

VolumeRestoreStatus

VolumeRestoreStatus defines the observed state of VolumeRestore.

Appears in: - VolumeRestore

Field Description
volumeBackupHandle string VolumeBackupHandle is an underlying volume Backup handle, which uniquely identifies a volume Backup inside of a volume Backup repository. This handle doesn't have a unified format and is treated as an opaque string.
state VolumeRestoreState State is the current state of the volume restoration.
stateMessage string StateMessage is a human readable description of the current state.
completeTime Time CompleteTime is the end time of the volume restore process.

VolumeStrategy

Underlying type: string VolumeStrategy specifies tradeoffs to use when backing up volumes.

Appears in: - BackupConfig