import * as pulumi from "@pulumi/pulumi"; import * as outputs from "../../types/output"; /** * Retrieve the details of a single Backup. */ export declare function getBackup(args: GetBackupArgs, opts?: pulumi.InvokeOptions): Promise; export interface GetBackupArgs { backupId: string; backupPlanId: string; location: string; project?: string; } export interface GetBackupResult { /** * If True, all namespaces were included in the Backup. */ readonly allNamespaces: boolean; /** * Information about the GKE cluster from which this Backup was created. */ readonly clusterMetadata: outputs.gkebackup.v1.ClusterMetadataResponse; /** * Completion time of the Backup */ readonly completeTime: string; /** * The size of the config backup in bytes. */ readonly configBackupSizeBytes: string; /** * Whether or not the Backup contains Kubernetes Secrets. Controlled by the parent BackupPlan's include_secrets value. */ readonly containsSecrets: boolean; /** * Whether or not the Backup contains volume data. Controlled by the parent BackupPlan's include_volume_data value. */ readonly containsVolumeData: boolean; /** * The timestamp when this Backup resource was created. */ readonly createTime: string; /** * Optional. 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). */ readonly deleteLockDays: number; /** * The time at which an existing delete lock will expire for this backup (calculated from create_time + delete_lock_days). */ readonly deleteLockExpireTime: string; /** * Optional. User specified descriptive string for this Backup. */ readonly description: string; /** * The customer managed encryption key that was used to encrypt the Backup's artifacts. Inherited from the parent BackupPlan's encryption_key value. */ readonly encryptionKey: outputs.gkebackup.v1.EncryptionKeyResponse; /** * `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. */ readonly etag: string; /** * Optional. A set of custom labels supplied by user. */ readonly labels: { [key: string]: string; }; /** * 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. */ readonly manual: boolean; /** * The fully qualified name of the Backup. `projects/*/locations/*/backupPlans/*/backups/*` */ readonly name: string; /** * The total number of Kubernetes Pods contained in the Backup. */ readonly podCount: number; /** * The total number of Kubernetes resources included in the Backup. */ readonly resourceCount: number; /** * Optional. 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. */ readonly retainDays: number; /** * The time at which this Backup will be automatically deleted (calculated from create_time + retain_days). */ readonly retainExpireTime: string; /** * If set, the list of ProtectedApplications whose resources were included in the Backup. */ readonly selectedApplications: outputs.gkebackup.v1.NamespacedNamesResponse; /** * If set, the list of namespaces that were included in the Backup. */ readonly selectedNamespaces: outputs.gkebackup.v1.NamespacesResponse; /** * The total size of the Backup in bytes = config backup size + sum(volume backup sizes) */ readonly sizeBytes: string; /** * Current state of the Backup */ readonly state: string; /** * Human-readable description of why the backup is in the current `state`. */ readonly stateReason: string; /** * Server generated global unique identifier of [UUID4](https://en.wikipedia.org/wiki/Universally_unique_identifier) */ readonly uid: string; /** * The timestamp when this Backup resource was last updated. */ readonly updateTime: string; /** * The total number of volume backups contained in the Backup. */ readonly volumeCount: number; } /** * Retrieve the details of a single Backup. */ export declare function getBackupOutput(args: GetBackupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output; export interface GetBackupOutputArgs { backupId: pulumi.Input; backupPlanId: pulumi.Input; location: pulumi.Input; project?: pulumi.Input; }