import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../../types/input"; import * as outputs from "../../types/output"; import * as enums from "../../types/enums"; /** * Creates a new Backup in a given project and location. * 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; /** * Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128 */ readonly annotations: pulumi.Output<{ [key: string]: string; }>; /** * Required. ID of the requesting object. */ readonly backupId: pulumi.Output; /** * The full resource name of the backup source cluster (e.g., projects/{project}/locations/{region}/clusters/{cluster_id}). */ readonly clusterName: pulumi.Output; /** * The system-generated UID of the cluster which was used to create this resource. */ readonly clusterUid: pulumi.Output; /** * Create time stamp */ readonly createTime: pulumi.Output; /** * The database engine major version of the cluster this backup was created from. Any restored cluster created from this backup will have the same database version. */ readonly databaseVersion: pulumi.Output; /** * Delete time stamp */ readonly deleteTime: pulumi.Output; /** * User-provided description of the backup. */ readonly description: pulumi.Output; /** * User-settable and human-readable display name for the Backup. */ readonly displayName: pulumi.Output; /** * Optional. The encryption config can be specified to encrypt the backup with a customer-managed encryption key (CMEK). When this field is not specified, the backup will then use default encryption scheme to protect the user data. */ readonly encryptionConfig: pulumi.Output; /** * The encryption information for the backup. */ readonly encryptionInfo: pulumi.Output; /** * For Resource freshness validation (https://google.aip.dev/154) */ readonly etag: pulumi.Output; /** * The QuantityBasedExpiry of the backup, specified by the backup's retention policy. Once the expiry quantity is over retention, the backup is eligible to be garbage collected. */ readonly expiryQuantity: pulumi.Output; /** * The time at which after the backup is eligible to be garbage collected. It is the duration specified by the backup's retention policy, added to the backup's create_time. */ readonly expiryTime: pulumi.Output; /** * Labels as key value pairs */ readonly labels: pulumi.Output<{ [key: string]: string; }>; readonly location: pulumi.Output; /** * The name of the backup resource with the format: * projects/{project}/locations/{region}/backups/{backup_id} where the cluster and backup ID segments should satisfy the regex expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`, e.g. 1-63 characters of lowercase letters, numbers, and dashes, starting with a letter, and ending with a letter or number. For more details see https://google.aip.dev/122. The prefix of the backup resource name is the name of the parent resource: * projects/{project}/locations/{region} */ readonly name: pulumi.Output; readonly project: pulumi.Output; /** * Reconciling (https://google.aip.dev/128#reconciliation), if true, indicates that the service is actively updating the resource. This can happen due to user-triggered updates or system actions like failover or maintenance. */ readonly reconciling: pulumi.Output; /** * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). */ readonly requestId: pulumi.Output; /** * Reserved for future use. */ readonly satisfiesPzs: pulumi.Output; /** * The size of the backup in bytes. */ readonly sizeBytes: pulumi.Output; /** * The current state of the backup. */ readonly state: pulumi.Output; /** * The backup type, which suggests the trigger for the backup. */ readonly type: pulumi.Output; /** * The system-generated UID of the resource. The UID is assigned when the resource is created, and it is retained until it is deleted. */ readonly uid: pulumi.Output; /** * Update time stamp */ readonly updateTime: 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 { /** * Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128 */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * Required. ID of the requesting object. */ backupId: pulumi.Input; /** * The full resource name of the backup source cluster (e.g., projects/{project}/locations/{region}/clusters/{cluster_id}). */ clusterName: pulumi.Input; /** * User-provided description of the backup. */ description?: pulumi.Input; /** * User-settable and human-readable display name for the Backup. */ displayName?: pulumi.Input; /** * Optional. The encryption config can be specified to encrypt the backup with a customer-managed encryption key (CMEK). When this field is not specified, the backup will then use default encryption scheme to protect the user data. */ encryptionConfig?: pulumi.Input; /** * For Resource freshness validation (https://google.aip.dev/154) */ etag?: pulumi.Input; /** * Labels as key value pairs */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; location?: pulumi.Input; project?: pulumi.Input; /** * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). */ requestId?: pulumi.Input; /** * The backup type, which suggests the trigger for the backup. */ type?: pulumi.Input; }