import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../../types/input"; import * as outputs from "../../types/output"; /** * Creates a new RestorePlan in a given location. * Auto-naming is currently not supported for this resource. */ export declare class RestorePlan extends pulumi.CustomResource { /** * Get an existing RestorePlan 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): RestorePlan; /** * Returns true if the given object is an instance of RestorePlan. 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 RestorePlan; /** * Immutable. A reference to the BackupPlan from which Backups may be used as the source for Restores created via this RestorePlan. Format: `projects/*/locations/*/backupPlans/*`. */ readonly backupPlan: pulumi.Output; /** * 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/*` */ readonly cluster: pulumi.Output; /** * The timestamp when this RestorePlan resource was created. */ readonly createTime: pulumi.Output; /** * Optional. User specified descriptive string for this RestorePlan. */ readonly description: pulumi.Output; /** * `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. */ readonly etag: pulumi.Output; /** * Optional. A set of custom labels supplied by user. */ readonly labels: pulumi.Output<{ [key: string]: string; }>; readonly location: pulumi.Output; /** * The full name of the RestorePlan resource. Format: `projects/*/locations/*/restorePlans/*`. */ readonly name: pulumi.Output; readonly project: pulumi.Output; /** * Configuration of Restores created via this RestorePlan. */ readonly restoreConfig: pulumi.Output; /** * Required. The client-provided short name for the RestorePlan 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 RestorePlans in this location */ readonly restorePlanId: pulumi.Output; /** * State of the RestorePlan. This State field reflects the various stages a RestorePlan can be in during the Create operation. */ readonly state: pulumi.Output; /** * Human-readable description of why RestorePlan is in the current `state` */ readonly stateReason: pulumi.Output; /** * Server generated global unique identifier of [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier) format. */ readonly uid: pulumi.Output; /** * The timestamp when this RestorePlan resource was last updated. */ readonly updateTime: pulumi.Output; /** * Create a RestorePlan 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: RestorePlanArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a RestorePlan resource. */ export interface RestorePlanArgs { /** * Immutable. A reference to the BackupPlan from which Backups may be used as the source for Restores created via this RestorePlan. Format: `projects/*/locations/*/backupPlans/*`. */ backupPlan: pulumi.Input; /** * 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/*` */ cluster: pulumi.Input; /** * Optional. User specified descriptive string for this RestorePlan. */ 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; /** * Configuration of Restores created via this RestorePlan. */ restoreConfig: pulumi.Input; /** * Required. The client-provided short name for the RestorePlan 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 RestorePlans in this location */ restorePlanId: pulumi.Input; }