import * as pulumi from "@pulumi/pulumi"; import * as outputs from "../../types/output"; /** * Retrieve the details of a single BackupPlan. */ export declare function getBackupPlan(args: GetBackupPlanArgs, opts?: pulumi.InvokeOptions): Promise; export interface GetBackupPlanArgs { backupPlanId: string; location: string; project?: string; } export interface GetBackupPlanResult { /** * Optional. Defines the configuration of Backups created via this BackupPlan. */ readonly backupConfig: outputs.gkebackup.v1.BackupConfigResponse; /** * Optional. Defines a schedule for automatic Backup creation via this BackupPlan. */ readonly backupSchedule: outputs.gkebackup.v1.ScheduleResponse; /** * Immutable. The source cluster from which Backups will be created via this BackupPlan. Valid formats: - `projects/*/locations/*/clusters/*` - `projects/*/zones/*/clusters/*` */ readonly cluster: string; /** * The timestamp when this BackupPlan resource was created. */ readonly createTime: string; /** * 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: boolean; /** * Optional. User specified descriptive string for this BackupPlan. */ readonly description: string; /** * `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: string; /** * Optional. A set of custom labels supplied by user. */ readonly labels: { [key: string]: string; }; /** * The full name of the BackupPlan resource. Format: `projects/*/locations/*/backupPlans/*` */ readonly name: string; /** * The number of Kubernetes Pods backed up in the last successful Backup created via this BackupPlan. */ readonly protectedPodCount: number; /** * Optional. RetentionPolicy governs lifecycle of Backups created under this plan. */ readonly retentionPolicy: outputs.gkebackup.v1.RetentionPolicyResponse; /** * 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: string; /** * Human-readable description of why BackupPlan is in the current `state` */ readonly stateReason: string; /** * Server generated global unique identifier of [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier) format. */ readonly uid: string; /** * The timestamp when this BackupPlan resource was last updated. */ readonly updateTime: string; } /** * Retrieve the details of a single BackupPlan. */ export declare function getBackupPlanOutput(args: GetBackupPlanOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output; export interface GetBackupPlanOutputArgs { backupPlanId: pulumi.Input; location: pulumi.Input; project?: pulumi.Input; }