Get desktop application:
View/edit binary Protocol Buffers messages
Represents a request to perform a single point-in-time capture of some portion of the state of a GKE cluster, the record of the backup operation itself, and an anchor for the underlying artifacts that comprise the Backup (the config backup and VolumeBackups). Next id: 28
Used in:
Output only. The fully qualified name of the Backup. `projects/*/locations/*/backupPlans/*/backups/*`
Output only. Server generated global unique identifier of [UUID4](https://en.wikipedia.org/wiki/Universally_unique_identifier)
Output only. The timestamp when this Backup resource was created.
Output only. The timestamp when this Backup resource was last updated.
Output only. This flag indicates whether this Backup resource was created manually by a user or via a schedule in the BackupPlan. A value of True means that the Backup was created manually.
A set of custom labels supplied by user.
Minimum age for this Backup (in days). If this field is set to a non-zero value, the Backup will be "locked" against deletion (either manual or automatic deletion) for the number of days provided (measured from the creation time of the Backup). MUST be an integer value between 0-90 (inclusive). Defaults to parent BackupPlan's [backup_delete_lock_days][google.cloud.gkebackup.v1.BackupPlan.RetentionPolicy.backup_delete_lock_days] setting and may only be increased (either at creation time or in a subsequent update).
Output only. The time at which an existing delete lock will expire for this backup (calculated from create_time + [delete_lock_days][google.cloud.gkebackup.v1.Backup.delete_lock_days]).
The age (in days) after which this Backup will be automatically deleted. Must be an integer value >= 0: - If 0, no automatic deletion will occur for this Backup. - If not 0, this must be >= [delete_lock_days][google.cloud.gkebackup.v1.Backup.delete_lock_days] and <= 365. Once a Backup is created, this value may only be increased. Defaults to the parent BackupPlan's [backup_retain_days][google.cloud.gkebackup.v1.BackupPlan.RetentionPolicy.backup_retain_days] value.
Output only. The time at which this Backup will be automatically deleted (calculated from create_time + [retain_days][google.cloud.gkebackup.v1.Backup.retain_days]).
Output only. The customer managed encryption key that was used to encrypt the Backup's artifacts. Inherited from the parent BackupPlan's [encryption_key][google.cloud.gkebackup.v1.BackupPlan.BackupConfig.encryption_key] value.
Defines the "scope" of the Backup - which namespaced resources in the cluster were included in the Backup. Inherited from the parent BackupPlan's [backup_scope][google.cloud.gkebackup.v1.BackupPlan.BackupConfig.backup_scope] value.
Output only. If True, all namespaces were included in the Backup.
Output only. If set, the list of namespaces that were included in the Backup.
Output only. If set, the list of ProtectedApplications whose resources were included in the Backup.
Output only. Whether or not the Backup contains volume data. Controlled by the parent BackupPlan's [include_volume_data][google.cloud.gkebackup.v1.BackupPlan.BackupConfig.include_volume_data] value.
Output only. Whether or not the Backup contains Kubernetes Secrets. Controlled by the parent BackupPlan's [include_secrets][google.cloud.gkebackup.v1.BackupPlan.BackupConfig.include_secrets] value.
Output only. Information about the GKE cluster from which this Backup was created.
Output only. Current state of the Backup
Output only. Human-readable description of why the backup is in the current `state`.
Output only. Completion time of the Backup
Output only. The total number of Kubernetes resources included in the Backup.
Output only. The total number of volume backups contained in the Backup.
Output only. The total size of the Backup in bytes = config backup size + sum(volume backup sizes)
Output only. `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a backup from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform backup updates in order to avoid race conditions: An `etag` is returned in the response to `GetBackup`, and systems are expected to put that etag in the request to `UpdateBackup` or `DeleteBackup` to ensure that their change will be applied to the same version of the resource.
User specified descriptive string for this Backup.
Output only. The total number of Kubernetes Pods contained in the Backup.
Output only. The size of the config backup in bytes.
Information about the GKE cluster from which this Backup was created.
Used in:
The source cluster from which this Backup was created. Valid formats: - `projects/*/locations/*/clusters/*` - `projects/*/zones/*/clusters/*` This is inherited from the parent BackupPlan's [cluster][google.cloud.gkebackup.v1.BackupPlan.cluster] field.
The Kubernetes server version of the source cluster.
A list of the Backup for GKE CRD versions found in the cluster.
Platform-specific version
GKE version
Anthos version
State
Used in:
The Backup resource is in the process of being created.
The Backup resource has been created and the associated BackupJob Kubernetes resource has been injected into the source cluster.
The gkebackup agent in the cluster has begun executing the backup operation.
The backup operation has completed successfully.
The backup operation has failed.
This Backup resource (and its associated artifacts) is in the process of being deleted.
The CloudEvent raised when a Backup is created.
The data associated with the event.
The CloudEvent raised when a Backup is deleted.
The data associated with the event.
The data within all Backup events.
Used in:
, ,Optional. The Backup event payload. Unset for deletion events.
Defines the configuration and scheduling for a "line" of Backups.
Used in:
Output only. The full name of the BackupPlan resource. Format: `projects/*/locations/*/backupPlans/*`
Output only. Server generated global unique identifier of [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier) format.
Output only. The timestamp when this BackupPlan resource was created.
Output only. The timestamp when this BackupPlan resource was last updated.
User specified descriptive string for this BackupPlan.
Required. Immutable. The source cluster from which Backups will be created via this BackupPlan. Valid formats: - `projects/*/locations/*/clusters/*` - `projects/*/zones/*/clusters/*`
RetentionPolicy governs lifecycle of Backups created under this plan.
A set of custom labels supplied by user.
Defines a schedule for automatic Backup creation via this BackupPlan.
Output only. `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a backup plan from overwriting each other. It is strongly suggested that systems make use of the 'etag' in the read-modify-write cycle to perform BackupPlan updates in order to avoid race conditions: An `etag` is returned in the response to `GetBackupPlan`, and systems are expected to put that etag in the request to `UpdateBackupPlan` or `DeleteBackupPlan` to ensure that their change will be applied to the same version of the resource.
This flag indicates whether this BackupPlan has been deactivated. Setting this field to True locks the BackupPlan such that no further updates will be allowed (except deletes), including the deactivated field itself. It also prevents any new Backups from being created via this BackupPlan (including scheduled Backups). Default: False
Defines the configuration of Backups created via this BackupPlan.
Output only. The number of Kubernetes Pods backed up in the last successful Backup created via this BackupPlan.
BackupConfig defines the configuration of Backups created via this BackupPlan.
Used in:
This defines the "scope" of the Backup - which namespaced resources in the cluster will be included in a Backup. Exactly one of the fields of backup_scope MUST be specified.
If True, include all namespaced resources
If set, include just the resources in the listed namespaces.
If set, include just the resources referenced by the listed ProtectedApplications.
This flag specifies whether volume data should be backed up when PVCs are included in the scope of a Backup. Default: False
This flag specifies whether Kubernetes Secret resources should be included when they fall into the scope of Backups. Default: False
This defines a customer managed encryption key that will be used to encrypt the "config" portion (the Kubernetes resources) of Backups created via this plan. Default (empty): Config backup artifacts will not be encrypted.
RetentionPolicy defines a Backup retention policy for a BackupPlan.
Used in:
Minimum age for Backups created via this BackupPlan (in days). This field MUST be an integer value between 0-90 (inclusive). A Backup created under this BackupPlan will NOT be deletable until it reaches 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 inherit the new value. Default: 0 (no delete blocking)
The default maximum age of a Backup created via this BackupPlan. This field MUST be an integer value >= 0 and <= 365. If specified, a Backup created under this BackupPlan will be automatically deleted after its age reaches (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 pick up the new value. NOTE: backup_retain_days must be >= [backup_delete_lock_days][google.cloud.gkebackup.v1.BackupPlan.RetentionPolicy.backup_delete_lock_days]. If [cron_schedule][google.cloud.gkebackup.v1.BackupPlan.Schedule.cron_schedule] is defined, then this must be <= 360 * the creation interval. Default: 0 (no automatic deletion)
This flag 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: False
Schedule defines scheduling parameters for automatically creating Backups via this BackupPlan.
Used in:
A standard [cron](https://wikipedia.com/wiki/cron) string that defines a repeating schedule for creating Backups via this BackupPlan. If this is defined, then [backup_retain_days][google.cloud.gkebackup.v1.BackupPlan.RetentionPolicy.backup_retain_days] must also be defined. Default (empty): no automatic backup creation will occur.
This flag denotes whether automatic Backup creation is paused for this BackupPlan. Default: False
The CloudEvent raised when a BackupPlan is created.
The data associated with the event.
The CloudEvent raised when a BackupPlan is deleted.
The data associated with the event.
The data within all BackupPlan events.
Used in:
, ,Optional. The BackupPlan event payload. Unset for deletion events.
The CloudEvent raised when a BackupPlan is updated.
The data associated with the event.
The CloudEvent raised when a Backup is updated.
The data associated with the event.
Defined a customer managed encryption key that will be used to encrypt Backup artifacts.
Used in:
,Google Cloud KMS encryption key. Format: `projects/*/locations/*/keyRings/*/cryptoKeys/*`
A reference to a namespaced resource in Kubernetes.
Used in:
The Namespace of the Kubernetes resource.
The name of the Kubernetes resource.
A list of namespaced Kubernetes resources.
Used in:
, ,A list of namespaced Kubernetes resources.
A list of Kubernetes Namespaces
Used in:
, ,A list of Kubernetes Namespaces
Represents both a request to Restore some portion of a Backup into a target GKE cluster and a record of the restore operation itself. Next id: 18
Used in:
Output only. The full name of the Restore resource. Format: `projects/*/locations/*/restorePlans/*/restores/*`
Output only. Server generated global unique identifier of [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier) format.
Output only. The timestamp when this Restore resource was created.
Output only. The timestamp when this Restore resource was last updated.
User specified descriptive string for this Restore.
Required. Immutable. A reference to the [Backup][google.cloud.gkebackup.v1.Backup] used as the source from which this Restore will restore. Note that this Backup must be a sub-resource of the RestorePlan's [backup_plan][google.cloud.gkebackup.v1.RestorePlan.backup_plan]. Format: `projects/*/locations/*/backupPlans/*/backups/*`.
Output only. The target cluster into which this Restore will restore data. Valid formats: - `projects/*/locations/*/clusters/*` - `projects/*/zones/*/clusters/*` Inherited from parent RestorePlan's [cluster][google.cloud.gkebackup.v1.RestorePlan.cluster] value.
Output only. Configuration of the Restore. Inherited from parent RestorePlan's [restore_config][google.cloud.gkebackup.v1.RestorePlan.restore_config].
A set of custom labels supplied by user.
Output only. The current state of the Restore.
Output only. Human-readable description of why the Restore is in its current state.
Output only. Timestamp of when the restore operation completed.
Output only. Number of resources restored during the restore execution.
Output only. Number of resources excluded during the restore execution.
Output only. Number of resources that failed to be restored during the restore execution.
Output only. Number of volumes restored during the restore execution.
Output only. `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a restore from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform restore updates in order to avoid race conditions: An `etag` is returned in the response to `GetRestore`, and systems are expected to put that etag in the request to `UpdateRestore` or `DeleteRestore` to ensure that their change will be applied to the same version of the resource.
Possible values for state of the Restore.
Used in:
The Restore resource is in the process of being created.
The Restore resource has been created and the associated RestoreJob Kubernetes resource has been injected into target cluster.
The gkebackup agent in the cluster has begun executing the restore operation.
The restore operation has completed successfully. Restored workloads may not yet be operational.
The restore operation has failed.
This Restore resource is in the process of being deleted.
Configuration of a restore. Next id: 12
Used in:
,Specifies the mechanism to be used to restore volume data. Default: VOLUME_DATA_RESTORE_POLICY_UNSPECIFIED (will be treated as NO_VOLUME_DATA_RESTORATION).
Defines the behavior for handling the situation where cluster-scoped resources being restored already exist in the target cluster. This MUST be set to a value other than CLUSTER_RESOURCE_CONFLICT_POLICY_UNSPECIFIED if [cluster_resource_restore_scope][google.cloud.gkebackup.v1.RestoreConfig.cluster_resource_restore_scope] is not empty.
Defines the behavior for handling the situation where sets of namespaced resources being restored already exist in the target cluster. This MUST be set to a value other than NAMESPACED_RESOURCE_RESTORE_MODE_UNSPECIFIED.
Identifies the cluster-scoped resources to restore from the Backup. Not specifying it means NO cluster resource will be restored.
Specifies the namespaced resources to restore from the Backup. Only one of the entries may be specified. If not specified, NO namespaced resources will be restored. Note: Resources will never be restored into *managed* namespaces such as `kube-system`, `kube-public`, or `kube-node-lease`. These namespaces are silently skipped when [all_namespaces][google.cloud.gkebackup.v1.RestoreConfig.all_namespaces] is selected. Listing them explicitly will result in an error.
Restore all namespaced resources in the Backup if set to "True". Specifying this field to "False" is an error.
A list of selected Namespaces to restore from the Backup. The listed Namespaces and all resources contained in them will be restored.
A list of selected ProtectedApplications to restore. The listed ProtectedApplications and all the resources to which they refer will be restored.
A list of transformation rules to be applied against Kubernetes resources as they are selected for restoration from a Backup. Rules are executed in order defined - this order matters, as changes made by a rule may impact the filtering logic of subsequent rules. An empty list means no substitution will occur.
Defines the behavior for handling the situation where cluster-scoped resources being restored already exist in the target cluster.
Used in:
Unspecified. Only allowed if no cluster-scoped resources will be restored.
Do not attempt to restore the conflicting resource.
Delete the existing version before re-creating it from the Backup. Note that this is a dangerous option which could cause unintentional data loss if used inappropriately - for example, deleting a CRD will cause Kubernetes to delete all CRs of that type.
Defines the scope of cluster-scoped resources to restore. Some group kinds are not reasonable choices for a restore, and will cause an error if selected here. Any scope selection that would restore "all valid" resources automatically excludes these group kinds. - gkebackup.gke.io/BackupJob - gkebackup.gke.io/RestoreJob - metrics.k8s.io/NodeMetrics - migration.k8s.io/StorageState - migration.k8s.io/StorageVersionMigration - Node - snapshot.storage.k8s.io/VolumeSnapshotContent - storage.k8s.io/CSINode Some group kinds are driven by restore configuration elsewhere, and will cause an error if selected here. - Namespace - PersistentVolume
Used in:
A list of cluster-scoped resource group kinds to restore from the backup. If specified, only the selected resources will be restored. Mutually exclusive to any other field in the message.
This is a direct map to the Kubernetes GroupKind type [GroupKind](https://godoc.org/k8s.io/apimachinery/pkg/runtime/schema#GroupKind) and is used for identifying specific "types" of resources to restore.
Used in:
,API group string of a Kubernetes resource, e.g. "apiextensions.k8s.io", "storage.k8s.io", etc. Note: use empty string for core API group
Kind of a Kubernetes resource, e.g. "CustomResourceDefinition", "StorageClass", etc.
Defines the behavior for handling the situation where sets of namespaced resources being restored already exist in the target cluster.
Used in:
Unspecified (invalid).
When conflicting top-level resources (either Namespaces or ProtectedApplications, depending upon the scope) are encountered, this will first trigger a delete of the conflicting resource AND ALL OF ITS REFERENCED RESOURCES (e.g., all resources in the Namespace or all resources referenced by the ProtectedApplication) before restoring the resources from the Backup. This mode should only be used when you are intending to revert some portion of a cluster to an earlier state.
If conflicting top-level resources (either Namespaces or ProtectedApplications, depending upon the scope) are encountered at the beginning of a restore process, the Restore will fail. If a conflict occurs during the restore process itself (e.g., because an out of band process creates conflicting resources), a conflict will be reported.
A transformation rule to be applied against Kubernetes resources as they are selected for restoration from a Backup. A rule contains both filtering logic (which resources are subject to substitution) and substitution logic.
Used in:
(Filtering parameter) Any resource subject to substitution must be contained within one of the listed Kubernetes Namespace in the Backup. If this field is not provided, no namespace filtering will be performed (all resources in all Namespaces, including all cluster-scoped resources, will be candidates for substitution). To mix cluster-scoped and namespaced resources in the same rule, use an empty string ("") as one of the target namespaces.
(Filtering parameter) Any resource subject to substitution must belong to one of the listed "types". If this field is not provided, no type filtering will be performed (all resources of all types matching previous filtering parameters will be candidates for substitution).
Required. This is a [JSONPath] (https://kubernetes.io/docs/reference/kubectl/jsonpath/) expression that matches specific fields of candidate resources and it operates as both a filtering parameter (resources that are not matched with this expression will not be candidates for substitution) as well as a field identifier (identifies exactly which fields out of the candidate resources will be modified).
(Filtering parameter) This is a [regular expression] (https://en.wikipedia.org/wiki/Regular_expression) that is compared against the fields matched by the target_json_path expression (and must also have passed the previous filters). Substitution will not be performed against fields whose value does not match this expression. If this field is NOT specified, then ALL fields matched by the target_json_path expression will undergo substitution. Note that an empty (e.g., "", rather than unspecified) value for this field will only match empty fields.
This is the new value to set for any fields that pass the filtering and selection criteria. To remove a value from a Kubernetes resource, either leave this field unspecified, or set it to the empty string ("").
Defines how volume data should be restored
Used in:
Unspecified (illegal).
For each PVC to be restored, will create a new underlying volume (and PV) from the corresponding VolumeBackup contained within the Backup.
For each PVC to be restored, attempt to reuse the original PV contained in the Backup (with its original underlying volume). Note that option is likely only usable when restoring a workload to its original cluster.
For each PVC to be restored, PVCs will be created without any particular action to restore data. In this case, the normal Kubernetes provisioning logic would kick in, and this would likely result in either dynamically provisioning blank PVs or binding to statically provisioned PVs.
The CloudEvent raised when a Restore is created.
The data associated with the event.
The CloudEvent raised when a Restore is deleted.
The data associated with the event.
The data within all Restore events.
Used in:
, ,Optional. The Restore event payload. Unset for deletion events.
The configuration of a potential series of Restore operations to be performed against Backups belong to a particular BackupPlan. Next id: 13
Used in:
Output only. The full name of the RestorePlan resource. Format: `projects/*/locations/*/restorePlans/*`.
Output only. Server generated global unique identifier of [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier) format.
Output only. The timestamp when this RestorePlan resource was created.
Output only. The timestamp when this RestorePlan resource was last updated.
User specified descriptive string for this RestorePlan.
Required. Immutable. A reference to the [BackupPlan][google.cloud.gkebackup.v1.BackupPlan] from which Backups may be used as the source for Restores created via this RestorePlan. Format: `projects/*/locations/*/backupPlans/*`.
Required. Immutable. The target cluster into which Restores created via this RestorePlan will restore data. NOTE: the cluster's region must be the same as the RestorePlan. Valid formats: - `projects/*/locations/*/clusters/*` - `projects/*/zones/*/clusters/*`
Required. Configuration of Restores created via this RestorePlan.
A set of custom labels supplied by user.
Output only. `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a restore from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform restore updates in order to avoid race conditions: An `etag` is returned in the response to `GetRestorePlan`, and systems are expected to put that etag in the request to `UpdateRestorePlan` or `DeleteRestorePlan` to ensure that their change will be applied to the same version of the resource.
The CloudEvent raised when a RestorePlan is created.
The data associated with the event.
The CloudEvent raised when a RestorePlan is deleted.
The data associated with the event.
The data within all RestorePlan events.
Used in:
, ,Optional. The RestorePlan event payload. Unset for deletion events.
The CloudEvent raised when a RestorePlan is updated.
The data associated with the event.
The CloudEvent raised when a Restore is updated.
The data associated with the event.