import * as pulumi from "@pulumi/pulumi"; import * as outputs from "../../types/output"; /** * Creates a Backup for the given BackupPlan. * Auto-naming is currently not supported for this resource. */ export declare class Backup extends pulumi.CustomResource { /** * Get an existing Backup resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Backup; /** * Returns true if the given object is an instance of Backup. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Backup; /** * If True, all namespaces were included in the Backup. */ readonly allNamespaces: pulumi.Output; /** * Optional. The client-provided short name for the Backup resource. This name must: - be between 1 and 63 characters long (inclusive) - consist of only lower-case ASCII letters, numbers, and dashes - start with a lower-case letter - end with a lower-case letter or number - be unique within the set of Backups in this BackupPlan */ readonly backupId: pulumi.Output; readonly backupPlanId: pulumi.Output; /** * Information about the GKE cluster from which this Backup was created. */ readonly clusterMetadata: pulumi.Output; /** * Completion time of the Backup */ readonly completeTime: pulumi.Output; /** * The size of the config backup in bytes. */ readonly configBackupSizeBytes: pulumi.Output; /** * Whether or not the Backup contains Kubernetes Secrets. Controlled by the parent BackupPlan's include_secrets value. */ readonly containsSecrets: pulumi.Output; /** * Whether or not the Backup contains volume data. Controlled by the parent BackupPlan's include_volume_data value. */ readonly containsVolumeData: pulumi.Output; /** * The timestamp when this Backup resource was created. */ readonly createTime: pulumi.Output; /** * 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: pulumi.Output; /** * The time at which an existing delete lock will expire for this backup (calculated from create_time + delete_lock_days). */ readonly deleteLockExpireTime: pulumi.Output; /** * Optional. User specified descriptive string for this Backup. */ readonly description: pulumi.Output; /** * 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: pulumi.Output; /** * `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: pulumi.Output; /** * Optional. A set of custom labels supplied by user. */ readonly labels: pulumi.Output<{ [key: string]: string; }>; readonly location: pulumi.Output; /** * 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: pulumi.Output; /** * The fully qualified name of the Backup. `projects/*/locations/*/backupPlans/*/backups/*` */ readonly name: pulumi.Output; /** * The total number of Kubernetes Pods contained in the Backup. */ readonly podCount: pulumi.Output; readonly project: pulumi.Output; /** * The total number of Kubernetes resources included in the Backup. */ readonly resourceCount: pulumi.Output; /** * 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: pulumi.Output; /** * The time at which this Backup will be automatically deleted (calculated from create_time + retain_days). */ readonly retainExpireTime: pulumi.Output; /** * If set, the list of ProtectedApplications whose resources were included in the Backup. */ readonly selectedApplications: pulumi.Output; /** * If set, the list of namespaces that were included in the Backup. */ readonly selectedNamespaces: pulumi.Output; /** * The total size of the Backup in bytes = config backup size + sum(volume backup sizes) */ readonly sizeBytes: pulumi.Output; /** * Current state of the Backup */ readonly state: pulumi.Output; /** * Human-readable description of why the backup is in the current `state`. */ readonly stateReason: pulumi.Output; /** * Server generated global unique identifier of [UUID4](https://en.wikipedia.org/wiki/Universally_unique_identifier) */ readonly uid: pulumi.Output; /** * The timestamp when this Backup resource was last updated. */ readonly updateTime: pulumi.Output; /** * The total number of volume backups contained in the Backup. */ readonly volumeCount: pulumi.Output; /** * Create a Backup resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: BackupArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a Backup resource. */ export interface BackupArgs { /** * Optional. The client-provided short name for the Backup resource. This name must: - be between 1 and 63 characters long (inclusive) - consist of only lower-case ASCII letters, numbers, and dashes - start with a lower-case letter - end with a lower-case letter or number - be unique within the set of Backups in this BackupPlan */ backupId?: pulumi.Input; backupPlanId: pulumi.Input; /** * 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). */ deleteLockDays?: pulumi.Input; /** * Optional. User specified descriptive string for this Backup. */ description?: pulumi.Input; /** * Optional. A set of custom labels supplied by user. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; location?: pulumi.Input; project?: pulumi.Input; /** * 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. */ retainDays?: pulumi.Input; }