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/ |
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