import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../../types/input"; import * as outputs from "../../types/output"; /** * Creates a new BackupPlan in a given location. * Auto-naming is currently not supported for this resource. */ export declare class BackupPlan extends pulumi.CustomResource { /** * Get an existing BackupPlan 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): BackupPlan; /** * Returns true if the given object is an instance of BackupPlan. 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 BackupPlan; /** * Optional. Defines the configuration of Backups created via this BackupPlan. */ readonly backupConfig: pulumi.Output; /** * Required. The client-provided short name for the BackupPlan 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 BackupPlans in this location */ readonly backupPlanId: pulumi.Output; /** * Optional. Defines a schedule for automatic Backup creation via this BackupPlan. */ readonly backupSchedule: pulumi.Output; /** * Immutable. The source cluster from which Backups will be created via this BackupPlan. Valid formats: - `projects/*/locations/*/clusters/*` - `projects/*/zones/*/clusters/*` */ readonly cluster: pulumi.Output; /** * The timestamp when this BackupPlan resource was created. */ readonly createTime: pulumi.Output; /** * Optional. This flag indicates whether this BackupPlan has been deactivated. Setting this field to True locks the BackupPlan such that no further updates will be allowed (except deletes), including the deactivated field itself. It also prevents any new Backups from being created via this BackupPlan (including scheduled Backups). Default: False */ readonly deactivated: pulumi.Output; /** * Optional. User specified descriptive string for this BackupPlan. */ readonly description: pulumi.Output; /** * `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a backup plan from overwriting each other. It is strongly suggested that systems make use of the 'etag' in the read-modify-write cycle to perform BackupPlan updates in order to avoid race conditions: An `etag` is returned in the response to `GetBackupPlan`, and systems are expected to put that etag in the request to `UpdateBackupPlan` or `DeleteBackupPlan` 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 BackupPlan resource. Format: `projects/*/locations/*/backupPlans/*` */ readonly name: pulumi.Output; readonly project: pulumi.Output; /** * The number of Kubernetes Pods backed up in the last successful Backup created via this BackupPlan. */ readonly protectedPodCount: pulumi.Output; /** * Optional. RetentionPolicy governs lifecycle of Backups created under this plan. */ readonly retentionPolicy: pulumi.Output; /** * State of the BackupPlan. This State field reflects the various stages a BackupPlan can be in during the Create operation. It will be set to "DEACTIVATED" if the BackupPlan is deactivated on an Update */ readonly state: pulumi.Output; /** * Human-readable description of why BackupPlan 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 BackupPlan resource was last updated. */ readonly updateTime: pulumi.Output; /** * Create a BackupPlan 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: BackupPlanArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a BackupPlan resource. */ export interface BackupPlanArgs { /** * Optional. Defines the configuration of Backups created via this BackupPlan. */ backupConfig?: pulumi.Input; /** * Required. The client-provided short name for the BackupPlan 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 BackupPlans in this location */ backupPlanId: pulumi.Input; /** * Optional. Defines a schedule for automatic Backup creation via this BackupPlan. */ backupSchedule?: pulumi.Input; /** * Immutable. The source cluster from which Backups will be created via this BackupPlan. Valid formats: - `projects/*/locations/*/clusters/*` - `projects/*/zones/*/clusters/*` */ cluster: pulumi.Input; /** * Optional. This flag indicates whether this BackupPlan has been deactivated. Setting this field to True locks the BackupPlan such that no further updates will be allowed (except deletes), including the deactivated field itself. It also prevents any new Backups from being created via this BackupPlan (including scheduled Backups). Default: False */ deactivated?: pulumi.Input; /** * Optional. User specified descriptive string for this BackupPlan. */ 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. RetentionPolicy governs lifecycle of Backups created under this plan. */ retentionPolicy?: pulumi.Input; }