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

backup.gdc.goog/v1

Contains API schema definitions for the hybrid v1 API group.

Backup

Defines the schema for the Backup 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

Represents an inner message type that defines the configuration of creating a backup from this backup plan.

Appears in: - BackupPlanSpec - BackupSpec

Field Description
backupScope BackupScope 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 value must be one of the following types: BackupConfig_AllNamespaces, BackupConfig_SelectedNamespaces, or BackupConfig_SelectedApplications.
backupRepository string The name of the BackupRepository resource identifying the secondary storage for this BackupPlan resource.
includeVolumeData boolean Specifies whether volume data is backed up. If unset, the default is False.
includeSecrets boolean Specifies whether secrets are backed up. If unset, the default is False.
encryptionKey EncryptionKey An encryption key. This field is immutable.
volumeStrategy VolumeStrategy The tradeoffs to use when backing up volumes.

BackupInfo

Represents the name and state of a backup in the RecentBackups field .

Appears in: - BackupPlanStatus

Field Description
name string The name of the backup.
state BackupState The status of the most recently executed backup.

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

Defines the schema for the BackupPlan 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

Contains a list of backup plans.

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

Defines the desired state of a backup plan.

Appears in: - BackupPlan

Field Description
clusterName string The name of the source cluster in the project of which this plan is associated with.
backupSchedule Schedule The scheduled backup creation under this backup plan.
backupConfig BackupConfig The backup configuration of this backup plan.
retentionPolicy RetentionPolicy The lifecycle of backups created under this plan.
description string A user-specified descriptive string for this backup plan.
deactivated boolean Specifies whether the plan has been deactivated. Setting this field to "True" locks the plan meaning no further updates are 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

Defines the observed state of a backup plan.

Appears in: - BackupPlan

Field Description
lastBackupTime Time The timestamp for the most recently executed backup.
nextBackupTime Time The timestamp for the next scheduled backup.
state State The current state of the backup plan.
lastBackupState BackupState The state of the most recently created backup.
lastBackupStateReason string A human-readable description of why the last backup is in the current state.
recentBackups BackupInfo array The most recent backups created by the backup plan.

BackupRepository

Defines the schema for the BackupRepository 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

Contains a list of backup repository resources.

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

Defines the desired state of the backup repository.

Appears in: - BackupRepository

Field Description
secretReference SecretReference A reference to an Access Secret which is dependent on your storage system of choice. This Secret is used requests to this endpoint. For example, an S3 Access Secret.
endpoint string The endpoint used to access the backup repository. In the case of Google Private Cloud, this is the S3 endpoint that provides access to the Tenant project.
type RepositoryType The type of the backup repository. For example, S3 or Google Cloud Storage. This tells the agent which storage system or API to use.
s3Options S3Options The data used for configuring access to an S3-compatible BackupRepo resource.
importPolicy ImportPolicy The policy that determines whether this backup repository is read-only or read-write.
importSubstitution ImportSubstitution This field determines whether to substitute the backup repository name of imported resources with this backup repository name.
force boolean Specifies the action that a read-write backup repository takes if the storage bucket that it is initialized with has already been claimed by a different backup repository. If True, the new backup repository still claims 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 fails with an error. The default value is False. This must only be used if the sentinel file that is overridden no longer has a backup repository, otherwise that backup repository enters an error state which might cause undesired side effects.

BackupRepositoryStatus

Defines the observed state of a backup repository.

Appears in: - BackupRepository

Field Description
sentinelEtag string A field that connects a backup repository to the sentinel file that it owns.
reconciliationError ReconciliationError The errors that have occurred during the most recent reconciliation attempt for the backup repository.
reconciliationErrorMessage string The error messages that might have occurred during reconciliation.
initialImportDone boolean Specifies whether this backup repository has completed the initial import or not.

BackupScope

Defines which namespaces and applications to back up.

Appears in: - BackupConfig - RestoreConfig

Field Description
allNamespaces boolean Specifies whether all namespaces are backed up. If set to True, indicates that all namespaces must be backed up.
selectedNamespaces Namespaces The list of namespaces to back up.
selectedApplications NamespacedNames The list of applications to back up.

BackupSpec

Defines the desired state of the backup.

Appears in: - Backup

Field Description
backupPlanName string The name of the backup plan from which this backup was created.
backupConfig BackupConfig A configuration that is used when this backup is generated from the given backup plan. This must be copied from the backup plan that this backup was generated by, rather than a reference. This field must not be set by the user, and must only be set by the backup plan scheduler and the ManualBackupRequest resource.
description string An optional string description of the Backup. This field has no impact on functionality.
manual boolean Specifies 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 backup plan schedule.
deleteLockDays integer The number of days from the create_time of this backup for which deletion is blocked. For backups created automatically from a backup schedule, this field is set to the value of BackupPlan.RetentionPolicy.backup_delete_block_days. For backups created manually that leave this field unspecified, the service assigns 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 is returned from the service. This field must be an integer value between 0-90. This field must only be increased by an update request, or an invalid response is returned by the service. Note, this field only applies to backups with a Succeeded state. Default to 0.
retainDays integer The number of 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 is not automatically deleted. For backups automatically created from a a backup schedule, this field is assigned the value of BackupPlan.RetentionPolicy.backup_retain_days. For backups created manually that leave this field unspecified, the service assigns 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 must only be increased by an update request, or an invalid response is returned by the service. Default to 0.

BackupStatus

Defines the observed state of a backup.

Appears in: - Backup

Field Description
clusterMetadata ClusterMetadata The metadata of the cluster.
jobCreated boolean Specifies whether a backup job has been created for this backup.
state BackupState The current state of the backup.
reason string A human-readable description of why the backup is in the current state.
createTime Time The timestamp of when this backup resource was created. This can be converted to and from RFC 3339.
updateTime Time The timestamp of when this backup plan was last updated. This can be converted to and from RFC 3339.
resourceCount integer The total number of resources backed up.
volumeCount integer The total number of volumes backed up.
sizeBytes integer The total size, measured in bytes.
podCount integer The total number of workload pods backed up.
systemPodCount integer The total number of system pods backed up. These pods are excluded from billing.
vmCount integer The total number of virtual machines backed up.
deleteLockExpireTime Time The time when the deletion lock will expire. This is an output only field calculated from the combined value of create_time and delete_lock_days, and is updated accordingly when the delete_lock_days field of a backup is updated. Note, this field only applies to backups with a Succeeded state.
retainExpireTime Time The time when the backup is automatically deleted. It's an output only field calculated from the combined value of create_time and retain_days, and is updated accordingly when the retain_days field of a backup has been updated.
completeTime Time The completion time of the backup.

ClusterMetadata

Represents the metadata of the cluster.

Appears in: - BackupStatus

Field Description
clusterName string The name of the source cluster from where the backup has been created from.
k8sVersion string The Kubernetes server version.
platformVersion PlatformVersion The platform version types that can be assigned to PlatformVersion. For example, GpcVersion.

ClusterResourceConflictPolicy

Underlying type: string The restoration behavior for non-namespaced cluster resources to follow when a conflict occurs.

Appears in: - RestoreConfig - RestorePolicies

ClusterResourceSelection

Represents the selection of non-namespaced resources for restoration.

Appears in: - RestoreConfig - RestoreResourceSelection

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

DeleteBackupRequest

Defines the schema for the DeleteBackupRequest 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

Contains a list of DeleteBackupRequest resources.

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

Defines the desired state of the DeleteBackupRequest resource.

Appears in: - DeleteBackupRequest

Field Description
backupName string The name of the backup to be deleted. Note, the backup must be exist in the same namespace as the DeleteBackupRequest resource.

DeleteBackupRequestStatus

Defines the observed state of DeleteBackupRequest resource.

Appears in: - DeleteBackupRequest

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

EncryptionKey

Defines an encryption key. For preview, supports Google Cloud Platform KMS only.

Appears in: - BackupConfig - RestoreConfig

Field Description
gcpKMSEncryptionKey string A Google KMS encryption key in the format: projects/<project>/locations/<location>/keyRings/<key-ring>/cryptoKeys/<key>.

ImportPolicy

Underlying type: string The policy that determines whether this backup repository is read-only or read-write.

Appears in: - BackupRepositorySpec

ImportSubstitution

Represents whether we substitute the backup repository name on imported resources.

Appears in: - BackupRepositorySpec

Field Description
substituteBRName boolean

ManualBackupRequest

Defines the schema for the ManualBackupRequest 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

Contains a list of ManualBackupRequest resources.

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

Defines the desired state of a ManualBackupRequest resource.

Appears in: - ManualBackupRequest

Field Description
backupName string The name of the manual backup to be created.
backupPlanName string The name of the backup plan from which the BackupConfig resource is pulled.
description string A user-specified descriptive string for the backup created by this ManualBackupRequest resource.
deleteLockDays integer The number of days from the create_time of this backup for which deletion is blocked. For backups automatically created from a schedule, this field is 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 is returned from the agent. This field must be a value within 0-90. This field must only be increased by an update request, or an invalid response is returned by the agent. Note that this field only applies to backups with a Succeeded state. Default to 0.
retainDays integer The number of 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 is not automatically deleted. For backups automatically created from a backup schedule, this field is assigned the value of BackupPlan.RetentionPolicy.backup_default_retain_days. For created backups that leave this field unspecified, the agent to uses the value of BackupPlan.RetentionPolicy.backup_default_retain_days. The creation of a backup with this field set to a value less than delete_lock_days results in an invalid response from the agent. This field must only be increased in an update request, or an invalid response is returned by the agent immediately. Default to 0.

ManualBackupRequestStatus

Defines the observed state of a ManualBackupRequest resource.

Appears in: - ManualBackupRequest

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

ManualRestoreRequest

Defines the schema for the ManualRestoreRequest 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

Contains a list of ManualRestoreRequest resources.

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

Defines the desired state of a ManualRestoreRequest resource.

Appears in: - ManualRestoreRequest

Field Description
restoreName string The name of the manual restore to be created.
restorePlanName string The name of the restore plan to pull the RestoreConfig resource from.
backupName string The name of the backup that is being restored.
description string A user-specified descriptive string for the restore created by this ManualRestoreRequest resource.

ManualRestoreRequestStatus

Defines the observed state of ManualRestoreRequest resource.

Appears in: - ManualRestoreRequest

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

NamespacedName

Defines a name in a specific namespace.

Appears in: - NamespacedNames - NamespacedResourceSelection - VolumeBackupSpec - VolumeRestoreSpec

Field Description
namespace string The namespace of the resource in Kubernetes.
name string The name of the resource in Kubernetes.

NamespacedNames

Appears in: - BackupScope

Field Description
namespacedNames NamespacedName array A list of namespaced names.

NamespacedResourceRestoreMode

Underlying type: string The restoration behavior for namespaced resources.

Appears in: - RestoreConfig - RestorePolicies

NamespacedResourceSelection

Defines the selection of namespaced resources for restoration. One of the following values must be specified along with a matching Type: AllNamespaces, SelectedNamespaces, or SelectedApplications.

Appears in: - RestoreResourceSelection

Field Description
type NamespacedResourceSelectionType The type of selection to use.
allNamespaces boolean 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 A list of the selected namespaces to restore. If a value is provided along with the Type set to NamespacedResourceSelectionType.SelectedNamespaces, resources with an original namespace that feature in the specified list are restored. Note, specifying an empty string in this list does not restore non-namespaced cluster resources. To restore cluster resources, see ClusterResourceSelection.
selectedApplications NamespacedName array 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 are restored.

NamespacedResourceSelectionType

Underlying type: string The type of namespaced resources selection.

Appears in: - NamespacedResourceSelection

Namespaces

Appears in: - BackupScope

Field Description
namespaces string array A list of namespaces.

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 The source object storage to be backed up.
target ObjectStorageEndpoint The target to which the backup is written.
timestamp boolean Specifies 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

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

Appears in: - ObjectStorageBackupConfig

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

PlatformVersion

Defines the version of the platform.

Appears in: - ClusterMetadata

Field Description
gpcVersion string The Google Private Cloud version.

ReconciliationError

Underlying type: string The errors that have occurred during the most recent reconciliation attempt for the backup repository.

Appears in: - BackupRepositoryStatus

RepositoryType

Underlying type: string The type of endpoint being written to.

Appears in: - BackupRepositorySpec

ResourceFilter

Defines the rules to filter down the list of candidate resources to provide transformation rules against. All fields with ResourceFilter are optional, so not specifying any of the ResourceFilter fields results in matching on all resources.

Appears in: - TransformationRule

Field Description
namespaces string array A list of target namespaces a transformation rule will apply to. A resource's original namespace must 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 are considered.
groupKinds GroupKind array A list of target GroupKind resources a transformation rule will apply to. A resource's original GroupKind resource must match one of the GroupKind resources specified in the list to be considered as a transformation candidate. If empty, all GroupKind resources are considered. Note, a resource needs to satisfy both the Namespaces requirement and GroupKinds requirement to be considered as a transformation candidate.
jsonPath string The string representation of the path in the JSON which leads to the fields 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

Defines the schema for the Restore 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

Defines the configuration of a restore.

Appears in: - RestorePlanSpec - RestoreSpec

Field Description
volumeDataRestorePolicy VolumeDataRestorePolicy The policy to use for volume data restoration. Provides a default value of NO_VOLUME_DATA_RESTORATION if no value is specified.
clusterResourceConflictPolicy ClusterResourceConflictPolicy 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 The 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 The non-namespaced resources to be restored. If this field is not specified, no cluster resource is restored. Note, even though PersistentVolume resources are non-namespaced, they are handled separately. See the VolumeDataRestorePolicy resource for details. Specifying a PersistentVolume GroupKind in this list does not determine whether a PersistentVolume is restored.
namespacedResourceAllowlist GroupKind array The specific namespaced resources to restore. If defined, only the resources defined in this allowlist are restored.
restoreScope BackupScope The selected namespace resources to restore. One of the entries must be specified along with a valid Type. The Type values that are valid to be assigned to restoreScope are AllNamespaces, SelectedNamespaces, or SelectedApplications.
substitutionRules SubstitutionRule array The rules followed during the substitution of backed-up Kubernetes resources. 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 one of SubstitutionRules or TransformationRules can be specified for a given restore operation.
transformationRules TransformationRule array The rules followed during the transformation of backed-up Kubernetes resources. 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 one of SubstitutionRules or TransformationRules can be specified for a given restore operation.
backupRepository string T 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 might differ from the backup repository for the backup this restore references. If this field is not supplied then it will be selected 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, this repository is selected. 2. If the backup that we are performing a restore on points to a read-only repository, any read-write repository from the cluster is selected and used.
encryptionKey EncryptionKey An encryption key. This field is immutable.

RestoreList

Contains a list of Restore resources.

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

Defines the schema for the RestorePlan 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

Contains a list of RestorePlan resources.

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

Defines the desired state of the restore plan.

Appears in: - RestorePlan

Field Description
backupPlanName string The name of the backup plan from which backups may be used as the source for restores created using this restore plan. This field is required and immutable.
restoreConfig RestoreConfig The restore configuration of this restore plan.
clusterName string The name of the source cluster in the project which this plan is associated with.
description string A user-specified descriptive string for this restore plan.

RestorePlanStatus

Defines the observed state of a restore plan.

Appears in: - RestorePlan

Field Description
lastRestoreTime Time The timestamp for the most recently executed restore.
state StatusFields The current state of the restore plan.

RestoreSpec

Defines the desired state of a restore..

Appears in: - Restore

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

RestoreState

Underlying type: string

Appears in: - RestoreStatus

RestoreStatus

Defines the observed state of a restore.

Appears in: - Restore

Field Description
state RestoreState The current state of the restore.
stateReason string A human-readable description of why the restore is in the current state.
jobCreated boolean Specifies whether a restore job has been created for this restore.
resourcesRestoredCount integer The number of resources restored in this restore action.
resourcesExcludedCount integer The number of resources excluded in this restore action.
resourcesFailedCount integer The number of resources that failed to be restored in this restore action.
restoredVolumesCount integer The number of volumes restored in this restore action.
startTime Time The create time of the restore process.
completeTime Time The end time of the restore process.

RetentionPolicy

Defines a policy that determines when to automatically delete backups created under this backup plan, a plan-level minimum number of backup retain days, and a lock to disallow any policy updates.

Appears in: - BackupPlanSpec

Field Description
backupDeleteLockDays integer The number of days during for which the deletion of a backup created under this backup plan is blocked. Default to 0. This field must be an integer value between 0-90. A backup created under this backup plan is not deletable until it reaches the combined value of the backup's create_time and backup_delete_lock_days. Updating this backup plan field does not affect existing backups under it. Backups created after a successful update automatically inherit the new value.
backupRetainDays integer The number of days after which the service deletes a backup. If specified, a backup created under this backup plan are automatically deleted after it reaches the the combined value of create_time and backup_retain_days. If not specified, backups created under this backup plan are not subject to automatic deletion. Updating this field does not affect existing backups under it. Backups created after a successful update automatically inherit the new value. Note, specifying a value for backup_retain_days that is less than backup_delete_lock_days at the time of the creation or update is considered invalid, and the request is rejected immediately.
locked boolean Specifies whether the retention policy of this backup plan is locked. If set to True, no further update is allowed on this policy, including the locked field itself. Default to False.

S3Options

Defines the options for calling to an S3 endpoint for the backup repository.

Appears in: - BackupRepositorySpec

Field Description
bucket string The bucket within the endpoint to upload backups to.
region string The region of a given endpoint. Formatting is storage system dependent.
forcePathStyle boolean Specifies whether to force path style URLs for objects. For example, https://s3.amazonaws.com// instead of https://.s3.amazonaws.com/.
serverSideEncryption string The server-side encryption algorithm used when storing objects. For example, AES256 oraws:kms`.
kmsKeyId string The KMS key ID to use for object storage if server-side encryption is using KMS.

Schedule

Represents an inner message type that defines a cron schedule.

Appears in: - BackupPlanSpec

Field Description
cronSchedule string A cron string schedule on which an operation is executed.
paused boolean Specifies whether the scheduled operaction is inactive or active. If set to True, the scheduled operation will be inactive. Default to True.

State

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

Appears in: - BackupPlanStatus

SubstitutionRule

Defines the rules for substitution.

Appears in: - RestoreConfig

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

SubstitutionTarget

Defines the rules of target candidates for substitution.

Appears in: - SubstitutionRule

Field Description
namespaces string array A list of target namespaces a substitution rule is applied to. A resource's original namespace must 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 are considered.
groupKinds GroupKind array A list of target GroupKind resources a substitution rule applies to. A resource's original GroupKind resource must match one of the GroupKind resources specified in the list to be considered as a substitution candidate. If empty, all GroupKind resources are considered. Note, a resource needs to satisfy both namespace requirements and the GroupKind requirements to be considered as a substitution candidate.
jsonPath string The string representation of the JSON Path which leads to the fields in the target resource, which are in the JSON format for substitution.

TransformationRule

Defines rules of transformation utilizing jsonPatch.

Appears in: - RestoreConfig

Field Description
fieldActions TransformationRuleAction array A list of operations to take against candidate resources based on the JSON Patch RFC.
resourceFilter ResourceFilter The matching criteria to check that determines whether a resource is a transformation candidate. Note, an empty or blank resourceFilter value results in a match on all resources.

TransformationRuleAction

Represents the action the user wants to perform as part of transforming a resource.

Appears in: - TransformationRule

Field Description
op TransformationRuleOperation Te type of action the user wants to perform as part of transforming resources 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 The JSON patch representation of a path within the JSON which leads to the fields in the target resource for move and copy operations.
path string The JSON patch representation of a path within the JSON which leads to the fields in the target resource for some operations.
value string The desired value in string format to use for transformation.

TransformationRuleOperation

Underlying type: string The intended operation for a transformation rule.

Appears in: - TransformationRuleAction

VolumeBackup

Defines the schema for the VolumeBackup 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

Contains a list of VolumeBackup resources.

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

Defines the desired state of a volume backup.

Appears in: - VolumeBackup

Field Description
backupName string The name of the associated backup. Each volume backup must be associated with a backup.
backupPlanName string The name of the backup plan from which the asssociated backup was created.
sourcePVC NamespacedName The source persistent volume claim from which the volume backup is taken from.
volumeBackupHandle string 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

Defines the observed state of a volume backup.

Appears in: - VolumeBackup

Field Description
volumeBackupHandle string 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 A volume backup format. For example, PD, Portable, etc.
storageBytes integer 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 The minimum size of the disk to which this volume backup can be restored.
state VolumeBackupState The current state of the volume backup.
message string A human-readable message indicating details about why the backup is in this state.
completeTime Time The timestamp when this VolumeBackup resource was completed in the text format of RFC 3339.

VolumeDataRestorePolicy

Underlying type: string The different volume data restoration policies.

Appears in: - RestoreConfig - RestorePolicies

VolumeRestore

Defines the schema for the VolumeRestore 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

Contains a list of VolumeRestore resources.

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

Defines the desired state of a volume restore.

Appears in: - VolumeRestore

Field Description
restoreName string The name of the restore resource that created this volume restore.
volumeBackupName string The name of the volume backup resource that we are restoring.
targetPvc NamespacedName The target PersistentVolumeClaim resource to be restored.

VolumeRestoreStatus

Defines the observed state of a volume restore.

Appears in: - VolumeRestore

Field Description
volumeBackupHandle string 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 The current state of the volume restoration.
stateMessage string A human readable description of the current state.
completeTime Time The end time of the volume restore process.

VolumeStrategy

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

Appears in: - BackupConfig