Skip to main content

backups

Creates, updates, deletes, gets or lists a backups resource.

Overview

Namebackups
TypeResource
Idgoogle.gkebackup.backups

Fields

NameDatatypeDescription
namestringOutput only. The fully qualified name of the Backup. projects/*/locations/*/backupPlans/*/backups/*
descriptionstringOptional. User specified descriptive string for this Backup.
allNamespacesbooleanOutput only. If True, all namespaces were included in the Backup.
clusterMetadataobjectInformation about the GKE cluster from which this Backup was created.
completeTimestringOutput only. Completion time of the Backup
configBackupSizeBytesstringOutput only. The size of the config backup in bytes.
containsSecretsbooleanOutput only. Whether or not the Backup contains Kubernetes Secrets. Controlled by the parent BackupPlan's include_secrets value.
containsVolumeDatabooleanOutput only. Whether or not the Backup contains volume data. Controlled by the parent BackupPlan's include_volume_data value.
createTimestringOutput only. The timestamp when this Backup resource was created.
deleteLockDaysintegerOptional. 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 setting and may only be increased (either at creation time or in a subsequent update).
deleteLockExpireTimestringOutput only. The time at which an existing delete lock will expire for this backup (calculated from create_time + delete_lock_days).
encryptionKeyobjectDefined a customer managed encryption key that will be used to encrypt Backup artifacts.
etagstringOutput 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.
labelsobjectOptional. A set of custom labels supplied by user.
manualbooleanOutput 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.
permissiveModebooleanOutput only. If false, Backup will fail when Backup for GKE detects Kubernetes configuration that is non-standard or requires additional setup to restore. Inherited from the parent BackupPlan's permissive_mode value.
podCountintegerOutput only. The total number of Kubernetes Pods contained in the Backup.
resourceCountintegerOutput only. The total number of Kubernetes resources included in the Backup.
retainDaysintegerOptional. 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 and <= 365. Once a Backup is created, this value may only be increased. Defaults to the parent BackupPlan's backup_retain_days value.
retainExpireTimestringOutput only. The time at which this Backup will be automatically deleted (calculated from create_time + retain_days).
selectedApplicationsobjectA list of namespaced Kubernetes resources.
selectedNamespacesobjectA list of Kubernetes Namespaces.
sizeBytesstringOutput only. The total size of the Backup in bytes = config backup size + sum(volume backup sizes)
statestringOutput only. Current state of the Backup
stateReasonstringOutput only. Human-readable description of why the backup is in the current state.
uidstringOutput only. Server generated global unique identifier of UUID4
updateTimestringOutput only. The timestamp when this Backup resource was last updated.
volumeCountintegerOutput only. The total number of volume backups contained in the Backup.

Methods

NameAccessible byRequired ParamsDescription
getSELECTbackupPlansId, backupsId, locationsId, projectsIdRetrieve the details of a single Backup.
listSELECTbackupPlansId, locationsId, projectsIdLists the Backups for a given BackupPlan.
createINSERTbackupPlansId, locationsId, projectsIdCreates a Backup for the given BackupPlan.
deleteDELETEbackupPlansId, backupsId, locationsId, projectsIdDeletes an existing Backup.
patchUPDATEbackupPlansId, backupsId, locationsId, projectsIdUpdate a Backup.

SELECT examples

Lists the Backups for a given BackupPlan.

SELECT
name,
description,
allNamespaces,
clusterMetadata,
completeTime,
configBackupSizeBytes,
containsSecrets,
containsVolumeData,
createTime,
deleteLockDays,
deleteLockExpireTime,
encryptionKey,
etag,
labels,
manual,
permissiveMode,
podCount,
resourceCount,
retainDays,
retainExpireTime,
selectedApplications,
selectedNamespaces,
sizeBytes,
state,
stateReason,
uid,
updateTime,
volumeCount
FROM google.gkebackup.backups
WHERE backupPlansId = '{{ backupPlansId }}'
AND locationsId = '{{ locationsId }}'
AND projectsId = '{{ projectsId }}';

INSERT example

Use the following StackQL query and manifest file to create a new backups resource.

/*+ create */
INSERT INTO google.gkebackup.backups (
backupPlansId,
locationsId,
projectsId,
labels,
deleteLockDays,
retainDays,
description
)
SELECT
'{{ backupPlansId }}',
'{{ locationsId }}',
'{{ projectsId }}',
'{{ labels }}',
'{{ deleteLockDays }}',
'{{ retainDays }}',
'{{ description }}'
;

UPDATE example

Updates a backups resource.

/*+ update */
UPDATE google.gkebackup.backups
SET
labels = '{{ labels }}',
deleteLockDays = '{{ deleteLockDays }}',
retainDays = '{{ retainDays }}',
description = '{{ description }}'
WHERE
backupPlansId = '{{ backupPlansId }}'
AND backupsId = '{{ backupsId }}'
AND locationsId = '{{ locationsId }}'
AND projectsId = '{{ projectsId }}';

DELETE example

Deletes the specified backups resource.

/*+ delete */
DELETE FROM google.gkebackup.backups
WHERE backupPlansId = '{{ backupPlansId }}'
AND backupsId = '{{ backupsId }}'
AND locationsId = '{{ locationsId }}'
AND projectsId = '{{ projectsId }}';