UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

833 lines (832 loc) 47.3 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface GkeBackupBackupPlanConfig extends cdktf.TerraformMetaArguments { /** * The source cluster from which Backups will be created via this BackupPlan. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#cluster GkeBackupBackupPlan#cluster} */ readonly cluster: string; /** * 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). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#deactivated GkeBackupBackupPlan#deactivated} */ readonly deactivated?: boolean | cdktf.IResolvable; /** * User specified descriptive string for this BackupPlan. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#description GkeBackupBackupPlan#description} */ readonly description?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#id GkeBackupBackupPlan#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: string; /** * Description: A set of custom labels supplied by the user. * A list of key->value pairs. * Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }. * * * **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. * Please refer to the field 'effective_labels' for all of the labels present on the resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#labels GkeBackupBackupPlan#labels} */ readonly labels?: { [key: string]: string; }; /** * The region of the Backup Plan. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#location GkeBackupBackupPlan#location} */ readonly location: string; /** * The full name of the BackupPlan Resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#name GkeBackupBackupPlan#name} */ readonly name: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#project GkeBackupBackupPlan#project} */ readonly project?: string; /** * backup_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#backup_config GkeBackupBackupPlan#backup_config} */ readonly backupConfig?: GkeBackupBackupPlanBackupConfig; /** * backup_schedule block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#backup_schedule GkeBackupBackupPlan#backup_schedule} */ readonly backupSchedule?: GkeBackupBackupPlanBackupSchedule; /** * retention_policy block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#retention_policy GkeBackupBackupPlan#retention_policy} */ readonly retentionPolicy?: GkeBackupBackupPlanRetentionPolicy; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#timeouts GkeBackupBackupPlan#timeouts} */ readonly timeouts?: GkeBackupBackupPlanTimeouts; } export interface GkeBackupBackupPlanBackupConfigEncryptionKey { /** * Google Cloud KMS encryption key. Format: projects/* /locations/* /keyRings/* /cryptoKeys/* * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#gcp_kms_encryption_key GkeBackupBackupPlan#gcp_kms_encryption_key} * * Note: The above comment contained a comment block ending sequence (* followed by /). We have introduced a space between to prevent syntax errors. Please ignore the space. */ readonly gcpKmsEncryptionKey: string; } export declare function gkeBackupBackupPlanBackupConfigEncryptionKeyToTerraform(struct?: GkeBackupBackupPlanBackupConfigEncryptionKeyOutputReference | GkeBackupBackupPlanBackupConfigEncryptionKey): any; export declare function gkeBackupBackupPlanBackupConfigEncryptionKeyToHclTerraform(struct?: GkeBackupBackupPlanBackupConfigEncryptionKeyOutputReference | GkeBackupBackupPlanBackupConfigEncryptionKey): any; export declare class GkeBackupBackupPlanBackupConfigEncryptionKeyOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): GkeBackupBackupPlanBackupConfigEncryptionKey | undefined; set internalValue(value: GkeBackupBackupPlanBackupConfigEncryptionKey | undefined); private _gcpKmsEncryptionKey?; get gcpKmsEncryptionKey(): string; set gcpKmsEncryptionKey(value: string); get gcpKmsEncryptionKeyInput(): string | undefined; } export interface GkeBackupBackupPlanBackupConfigSelectedApplicationsNamespacedNames { /** * The name of a Kubernetes Resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#name GkeBackupBackupPlan#name} */ readonly name: string; /** * The namespace of a Kubernetes Resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#namespace GkeBackupBackupPlan#namespace} */ readonly namespace: string; } export declare function gkeBackupBackupPlanBackupConfigSelectedApplicationsNamespacedNamesToTerraform(struct?: GkeBackupBackupPlanBackupConfigSelectedApplicationsNamespacedNames | cdktf.IResolvable): any; export declare function gkeBackupBackupPlanBackupConfigSelectedApplicationsNamespacedNamesToHclTerraform(struct?: GkeBackupBackupPlanBackupConfigSelectedApplicationsNamespacedNames | cdktf.IResolvable): any; export declare class GkeBackupBackupPlanBackupConfigSelectedApplicationsNamespacedNamesOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): GkeBackupBackupPlanBackupConfigSelectedApplicationsNamespacedNames | cdktf.IResolvable | undefined; set internalValue(value: GkeBackupBackupPlanBackupConfigSelectedApplicationsNamespacedNames | cdktf.IResolvable | undefined); private _name?; get name(): string; set name(value: string); get nameInput(): string | undefined; private _namespace?; get namespace(): string; set namespace(value: string); get namespaceInput(): string | undefined; } export declare class GkeBackupBackupPlanBackupConfigSelectedApplicationsNamespacedNamesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: GkeBackupBackupPlanBackupConfigSelectedApplicationsNamespacedNames[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): GkeBackupBackupPlanBackupConfigSelectedApplicationsNamespacedNamesOutputReference; } export interface GkeBackupBackupPlanBackupConfigSelectedApplications { /** * namespaced_names block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#namespaced_names GkeBackupBackupPlan#namespaced_names} */ readonly namespacedNames: GkeBackupBackupPlanBackupConfigSelectedApplicationsNamespacedNames[] | cdktf.IResolvable; } export declare function gkeBackupBackupPlanBackupConfigSelectedApplicationsToTerraform(struct?: GkeBackupBackupPlanBackupConfigSelectedApplicationsOutputReference | GkeBackupBackupPlanBackupConfigSelectedApplications): any; export declare function gkeBackupBackupPlanBackupConfigSelectedApplicationsToHclTerraform(struct?: GkeBackupBackupPlanBackupConfigSelectedApplicationsOutputReference | GkeBackupBackupPlanBackupConfigSelectedApplications): any; export declare class GkeBackupBackupPlanBackupConfigSelectedApplicationsOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): GkeBackupBackupPlanBackupConfigSelectedApplications | undefined; set internalValue(value: GkeBackupBackupPlanBackupConfigSelectedApplications | undefined); private _namespacedNames; get namespacedNames(): GkeBackupBackupPlanBackupConfigSelectedApplicationsNamespacedNamesList; putNamespacedNames(value: GkeBackupBackupPlanBackupConfigSelectedApplicationsNamespacedNames[] | cdktf.IResolvable): void; get namespacedNamesInput(): cdktf.IResolvable | GkeBackupBackupPlanBackupConfigSelectedApplicationsNamespacedNames[] | undefined; } export interface GkeBackupBackupPlanBackupConfigSelectedNamespaces { /** * A list of Kubernetes Namespaces. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#namespaces GkeBackupBackupPlan#namespaces} */ readonly namespaces: string[]; } export declare function gkeBackupBackupPlanBackupConfigSelectedNamespacesToTerraform(struct?: GkeBackupBackupPlanBackupConfigSelectedNamespacesOutputReference | GkeBackupBackupPlanBackupConfigSelectedNamespaces): any; export declare function gkeBackupBackupPlanBackupConfigSelectedNamespacesToHclTerraform(struct?: GkeBackupBackupPlanBackupConfigSelectedNamespacesOutputReference | GkeBackupBackupPlanBackupConfigSelectedNamespaces): any; export declare class GkeBackupBackupPlanBackupConfigSelectedNamespacesOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): GkeBackupBackupPlanBackupConfigSelectedNamespaces | undefined; set internalValue(value: GkeBackupBackupPlanBackupConfigSelectedNamespaces | undefined); private _namespaces?; get namespaces(): string[]; set namespaces(value: string[]); get namespacesInput(): string[] | undefined; } export interface GkeBackupBackupPlanBackupConfig { /** * If True, include all namespaced resources. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#all_namespaces GkeBackupBackupPlan#all_namespaces} */ readonly allNamespaces?: boolean | cdktf.IResolvable; /** * This flag specifies whether Kubernetes Secret resources should be included * when they fall into the scope of Backups. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#include_secrets GkeBackupBackupPlan#include_secrets} */ readonly includeSecrets?: boolean | cdktf.IResolvable; /** * This flag specifies whether volume data should be backed up when PVCs are * included in the scope of a Backup. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#include_volume_data GkeBackupBackupPlan#include_volume_data} */ readonly includeVolumeData?: boolean | cdktf.IResolvable; /** * This flag specifies whether Backups will not fail when * Backup for GKE detects Kubernetes configuration that is * non-standard or requires additional setup to restore. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#permissive_mode GkeBackupBackupPlan#permissive_mode} */ readonly permissiveMode?: boolean | cdktf.IResolvable; /** * encryption_key block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#encryption_key GkeBackupBackupPlan#encryption_key} */ readonly encryptionKey?: GkeBackupBackupPlanBackupConfigEncryptionKey; /** * selected_applications block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#selected_applications GkeBackupBackupPlan#selected_applications} */ readonly selectedApplications?: GkeBackupBackupPlanBackupConfigSelectedApplications; /** * selected_namespaces block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#selected_namespaces GkeBackupBackupPlan#selected_namespaces} */ readonly selectedNamespaces?: GkeBackupBackupPlanBackupConfigSelectedNamespaces; } export declare function gkeBackupBackupPlanBackupConfigToTerraform(struct?: GkeBackupBackupPlanBackupConfigOutputReference | GkeBackupBackupPlanBackupConfig): any; export declare function gkeBackupBackupPlanBackupConfigToHclTerraform(struct?: GkeBackupBackupPlanBackupConfigOutputReference | GkeBackupBackupPlanBackupConfig): any; export declare class GkeBackupBackupPlanBackupConfigOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): GkeBackupBackupPlanBackupConfig | undefined; set internalValue(value: GkeBackupBackupPlanBackupConfig | undefined); private _allNamespaces?; get allNamespaces(): boolean | cdktf.IResolvable; set allNamespaces(value: boolean | cdktf.IResolvable); resetAllNamespaces(): void; get allNamespacesInput(): boolean | cdktf.IResolvable | undefined; private _includeSecrets?; get includeSecrets(): boolean | cdktf.IResolvable; set includeSecrets(value: boolean | cdktf.IResolvable); resetIncludeSecrets(): void; get includeSecretsInput(): boolean | cdktf.IResolvable | undefined; private _includeVolumeData?; get includeVolumeData(): boolean | cdktf.IResolvable; set includeVolumeData(value: boolean | cdktf.IResolvable); resetIncludeVolumeData(): void; get includeVolumeDataInput(): boolean | cdktf.IResolvable | undefined; private _permissiveMode?; get permissiveMode(): boolean | cdktf.IResolvable; set permissiveMode(value: boolean | cdktf.IResolvable); resetPermissiveMode(): void; get permissiveModeInput(): boolean | cdktf.IResolvable | undefined; private _encryptionKey; get encryptionKey(): GkeBackupBackupPlanBackupConfigEncryptionKeyOutputReference; putEncryptionKey(value: GkeBackupBackupPlanBackupConfigEncryptionKey): void; resetEncryptionKey(): void; get encryptionKeyInput(): GkeBackupBackupPlanBackupConfigEncryptionKey | undefined; private _selectedApplications; get selectedApplications(): GkeBackupBackupPlanBackupConfigSelectedApplicationsOutputReference; putSelectedApplications(value: GkeBackupBackupPlanBackupConfigSelectedApplications): void; resetSelectedApplications(): void; get selectedApplicationsInput(): GkeBackupBackupPlanBackupConfigSelectedApplications | undefined; private _selectedNamespaces; get selectedNamespaces(): GkeBackupBackupPlanBackupConfigSelectedNamespacesOutputReference; putSelectedNamespaces(value: GkeBackupBackupPlanBackupConfigSelectedNamespaces): void; resetSelectedNamespaces(): void; get selectedNamespacesInput(): GkeBackupBackupPlanBackupConfigSelectedNamespaces | undefined; } export interface GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsDaysOfWeek { /** * A list of days of week. Possible values: ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#days_of_week GkeBackupBackupPlan#days_of_week} */ readonly daysOfWeek?: string[]; } export declare function gkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsDaysOfWeekToTerraform(struct?: GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsDaysOfWeekOutputReference | GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsDaysOfWeek): any; export declare function gkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsDaysOfWeekToHclTerraform(struct?: GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsDaysOfWeekOutputReference | GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsDaysOfWeek): any; export declare class GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsDaysOfWeekOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsDaysOfWeek | undefined; set internalValue(value: GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsDaysOfWeek | undefined); private _daysOfWeek?; get daysOfWeek(): string[]; set daysOfWeek(value: string[]); resetDaysOfWeek(): void; get daysOfWeekInput(): string[] | undefined; } export interface GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsSingleOccurrenceDate { /** * Day of a month. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#day GkeBackupBackupPlan#day} */ readonly day?: number; /** * Month of a year. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#month GkeBackupBackupPlan#month} */ readonly month?: number; /** * Year of the date. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#year GkeBackupBackupPlan#year} */ readonly year?: number; } export declare function gkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsSingleOccurrenceDateToTerraform(struct?: GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsSingleOccurrenceDateOutputReference | GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsSingleOccurrenceDate): any; export declare function gkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsSingleOccurrenceDateToHclTerraform(struct?: GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsSingleOccurrenceDateOutputReference | GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsSingleOccurrenceDate): any; export declare class GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsSingleOccurrenceDateOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsSingleOccurrenceDate | undefined; set internalValue(value: GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsSingleOccurrenceDate | undefined); private _day?; get day(): number; set day(value: number); resetDay(): void; get dayInput(): number | undefined; private _month?; get month(): number; set month(value: number); resetMonth(): void; get monthInput(): number | undefined; private _year?; get year(): number; set year(value: number); resetYear(): void; get yearInput(): number | undefined; } export interface GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsStartTime { /** * Hours of day in 24 hour format. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#hours GkeBackupBackupPlan#hours} */ readonly hours?: number; /** * Minutes of hour of day. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#minutes GkeBackupBackupPlan#minutes} */ readonly minutes?: number; /** * Fractions of seconds in nanoseconds. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#nanos GkeBackupBackupPlan#nanos} */ readonly nanos?: number; /** * Seconds of minutes of the time. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#seconds GkeBackupBackupPlan#seconds} */ readonly seconds?: number; } export declare function gkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsStartTimeToTerraform(struct?: GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsStartTimeOutputReference | GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsStartTime): any; export declare function gkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsStartTimeToHclTerraform(struct?: GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsStartTimeOutputReference | GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsStartTime): any; export declare class GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsStartTimeOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsStartTime | undefined; set internalValue(value: GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsStartTime | undefined); private _hours?; get hours(): number; set hours(value: number); resetHours(): void; get hoursInput(): number | undefined; private _minutes?; get minutes(): number; set minutes(value: number); resetMinutes(): void; get minutesInput(): number | undefined; private _nanos?; get nanos(): number; set nanos(value: number); resetNanos(): void; get nanosInput(): number | undefined; private _seconds?; get seconds(): number; set seconds(value: number); resetSeconds(): void; get secondsInput(): number | undefined; } export interface GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindows { /** * The exclusion window occurs every day if set to "True". * Specifying this field to "False" is an error. * Only one of singleOccurrenceDate, daily and daysOfWeek may be set. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#daily GkeBackupBackupPlan#daily} */ readonly daily?: boolean | cdktf.IResolvable; /** * Specifies duration of the window in seconds with up to nine fractional digits, * terminated by 's'. Example: "3.5s". Restrictions for duration based on the * recurrence type to allow some time for backup to happen: * - single_occurrence_date: no restriction * - daily window: duration < 24 hours * - weekly window: * - days of week includes all seven days of a week: duration < 24 hours * - all other weekly window: duration < 168 hours (i.e., 24 * 7 hours) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#duration GkeBackupBackupPlan#duration} */ readonly duration: string; /** * days_of_week block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#days_of_week GkeBackupBackupPlan#days_of_week} */ readonly daysOfWeek?: GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsDaysOfWeek; /** * single_occurrence_date block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#single_occurrence_date GkeBackupBackupPlan#single_occurrence_date} */ readonly singleOccurrenceDate?: GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsSingleOccurrenceDate; /** * start_time block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#start_time GkeBackupBackupPlan#start_time} */ readonly startTime: GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsStartTime; } export declare function gkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsToTerraform(struct?: GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindows | cdktf.IResolvable): any; export declare function gkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsToHclTerraform(struct?: GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindows | cdktf.IResolvable): any; export declare class GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindows | cdktf.IResolvable | undefined; set internalValue(value: GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindows | cdktf.IResolvable | undefined); private _daily?; get daily(): boolean | cdktf.IResolvable; set daily(value: boolean | cdktf.IResolvable); resetDaily(): void; get dailyInput(): boolean | cdktf.IResolvable | undefined; private _duration?; get duration(): string; set duration(value: string); get durationInput(): string | undefined; private _daysOfWeek; get daysOfWeek(): GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsDaysOfWeekOutputReference; putDaysOfWeek(value: GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsDaysOfWeek): void; resetDaysOfWeek(): void; get daysOfWeekInput(): GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsDaysOfWeek | undefined; private _singleOccurrenceDate; get singleOccurrenceDate(): GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsSingleOccurrenceDateOutputReference; putSingleOccurrenceDate(value: GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsSingleOccurrenceDate): void; resetSingleOccurrenceDate(): void; get singleOccurrenceDateInput(): GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsSingleOccurrenceDate | undefined; private _startTime; get startTime(): GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsStartTimeOutputReference; putStartTime(value: GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsStartTime): void; get startTimeInput(): GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsStartTime | undefined; } export declare class GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindows[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsOutputReference; } export interface GkeBackupBackupPlanBackupScheduleRpoConfig { /** * Defines the target RPO for the BackupPlan in minutes, which means the target * maximum data loss in time that is acceptable for this BackupPlan. This must be * at least 60, i.e., 1 hour, and at most 86400, i.e., 60 days. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#target_rpo_minutes GkeBackupBackupPlan#target_rpo_minutes} */ readonly targetRpoMinutes: number; /** * exclusion_windows block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#exclusion_windows GkeBackupBackupPlan#exclusion_windows} */ readonly exclusionWindows?: GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindows[] | cdktf.IResolvable; } export declare function gkeBackupBackupPlanBackupScheduleRpoConfigToTerraform(struct?: GkeBackupBackupPlanBackupScheduleRpoConfigOutputReference | GkeBackupBackupPlanBackupScheduleRpoConfig): any; export declare function gkeBackupBackupPlanBackupScheduleRpoConfigToHclTerraform(struct?: GkeBackupBackupPlanBackupScheduleRpoConfigOutputReference | GkeBackupBackupPlanBackupScheduleRpoConfig): any; export declare class GkeBackupBackupPlanBackupScheduleRpoConfigOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): GkeBackupBackupPlanBackupScheduleRpoConfig | undefined; set internalValue(value: GkeBackupBackupPlanBackupScheduleRpoConfig | undefined); private _targetRpoMinutes?; get targetRpoMinutes(): number; set targetRpoMinutes(value: number); get targetRpoMinutesInput(): number | undefined; private _exclusionWindows; get exclusionWindows(): GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindowsList; putExclusionWindows(value: GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindows[] | cdktf.IResolvable): void; resetExclusionWindows(): void; get exclusionWindowsInput(): cdktf.IResolvable | GkeBackupBackupPlanBackupScheduleRpoConfigExclusionWindows[] | undefined; } export interface GkeBackupBackupPlanBackupSchedule { /** * A standard cron string that defines a repeating schedule for * creating Backups via this BackupPlan. * This is mutually exclusive with the rpoConfig field since at most one * schedule can be defined for a BackupPlan. * If this is defined, then backupRetainDays must also be defined. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#cron_schedule GkeBackupBackupPlan#cron_schedule} */ readonly cronSchedule?: string; /** * This flag denotes whether automatic Backup creation is paused for this BackupPlan. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#paused GkeBackupBackupPlan#paused} */ readonly paused?: boolean | cdktf.IResolvable; /** * rpo_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#rpo_config GkeBackupBackupPlan#rpo_config} */ readonly rpoConfig?: GkeBackupBackupPlanBackupScheduleRpoConfig; } export declare function gkeBackupBackupPlanBackupScheduleToTerraform(struct?: GkeBackupBackupPlanBackupScheduleOutputReference | GkeBackupBackupPlanBackupSchedule): any; export declare function gkeBackupBackupPlanBackupScheduleToHclTerraform(struct?: GkeBackupBackupPlanBackupScheduleOutputReference | GkeBackupBackupPlanBackupSchedule): any; export declare class GkeBackupBackupPlanBackupScheduleOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): GkeBackupBackupPlanBackupSchedule | undefined; set internalValue(value: GkeBackupBackupPlanBackupSchedule | undefined); private _cronSchedule?; get cronSchedule(): string; set cronSchedule(value: string); resetCronSchedule(): void; get cronScheduleInput(): string | undefined; private _paused?; get paused(): boolean | cdktf.IResolvable; set paused(value: boolean | cdktf.IResolvable); resetPaused(): void; get pausedInput(): boolean | cdktf.IResolvable | undefined; private _rpoConfig; get rpoConfig(): GkeBackupBackupPlanBackupScheduleRpoConfigOutputReference; putRpoConfig(value: GkeBackupBackupPlanBackupScheduleRpoConfig): void; resetRpoConfig(): void; get rpoConfigInput(): GkeBackupBackupPlanBackupScheduleRpoConfig | undefined; } export interface GkeBackupBackupPlanRetentionPolicy { /** * Minimum age for a Backup created via this BackupPlan (in days). * Must be an integer value between 0-90 (inclusive). * A Backup created under this BackupPlan will not be deletable * until it reaches Backup's (create time + backup_delete_lock_days). * Updating this field of a BackupPlan does not affect existing Backups. * Backups created after a successful update will inherit this new value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#backup_delete_lock_days GkeBackupBackupPlan#backup_delete_lock_days} */ readonly backupDeleteLockDays?: number; /** * The default maximum age of a Backup created via this BackupPlan. * This field MUST be an integer value >= 0 and <= 365. If specified, * a Backup created under this BackupPlan will be automatically deleted * after its age reaches (createTime + backupRetainDays). * If not specified, Backups created under this BackupPlan will NOT be * subject to automatic deletion. Updating this field does NOT affect * existing Backups under it. Backups created AFTER a successful update * will automatically pick up the new value. * NOTE: backupRetainDays must be >= backupDeleteLockDays. * If cronSchedule is defined, then this must be <= 360 * the creation interval. * If rpo_config is defined, then this must be * <= 360 * targetRpoMinutes/(1440minutes/day) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#backup_retain_days GkeBackupBackupPlan#backup_retain_days} */ readonly backupRetainDays?: number; /** * This flag denotes whether the retention policy of this BackupPlan is locked. * If set to True, no further update is allowed on this policy, including * the locked field itself. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#locked GkeBackupBackupPlan#locked} */ readonly locked?: boolean | cdktf.IResolvable; } export declare function gkeBackupBackupPlanRetentionPolicyToTerraform(struct?: GkeBackupBackupPlanRetentionPolicyOutputReference | GkeBackupBackupPlanRetentionPolicy): any; export declare function gkeBackupBackupPlanRetentionPolicyToHclTerraform(struct?: GkeBackupBackupPlanRetentionPolicyOutputReference | GkeBackupBackupPlanRetentionPolicy): any; export declare class GkeBackupBackupPlanRetentionPolicyOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): GkeBackupBackupPlanRetentionPolicy | undefined; set internalValue(value: GkeBackupBackupPlanRetentionPolicy | undefined); private _backupDeleteLockDays?; get backupDeleteLockDays(): number; set backupDeleteLockDays(value: number); resetBackupDeleteLockDays(): void; get backupDeleteLockDaysInput(): number | undefined; private _backupRetainDays?; get backupRetainDays(): number; set backupRetainDays(value: number); resetBackupRetainDays(): void; get backupRetainDaysInput(): number | undefined; private _locked?; get locked(): boolean | cdktf.IResolvable; set locked(value: boolean | cdktf.IResolvable); resetLocked(): void; get lockedInput(): boolean | cdktf.IResolvable | undefined; } export interface GkeBackupBackupPlanTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#create GkeBackupBackupPlan#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#delete GkeBackupBackupPlan#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#update GkeBackupBackupPlan#update} */ readonly update?: string; } export declare function gkeBackupBackupPlanTimeoutsToTerraform(struct?: GkeBackupBackupPlanTimeouts | cdktf.IResolvable): any; export declare function gkeBackupBackupPlanTimeoutsToHclTerraform(struct?: GkeBackupBackupPlanTimeouts | cdktf.IResolvable): any; export declare class GkeBackupBackupPlanTimeoutsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): GkeBackupBackupPlanTimeouts | cdktf.IResolvable | undefined; set internalValue(value: GkeBackupBackupPlanTimeouts | cdktf.IResolvable | undefined); private _create?; get create(): string; set create(value: string); resetCreate(): void; get createInput(): string | undefined; private _delete?; get delete(): string; set delete(value: string); resetDelete(): void; get deleteInput(): string | undefined; private _update?; get update(): string; set update(value: string); resetUpdate(): void; get updateInput(): string | undefined; } /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan google_gke_backup_backup_plan} */ export declare class GkeBackupBackupPlan extends cdktf.TerraformResource { static readonly tfResourceType = "google_gke_backup_backup_plan"; /** * Generates CDKTF code for importing a GkeBackupBackupPlan resource upon running "cdktf plan <stack-name>" * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the GkeBackupBackupPlan to import * @param importFromId The id of the existing GkeBackupBackupPlan that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the GkeBackupBackupPlan to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource; /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/gke_backup_backup_plan google_gke_backup_backup_plan} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options GkeBackupBackupPlanConfig */ constructor(scope: Construct, id: string, config: GkeBackupBackupPlanConfig); private _cluster?; get cluster(): string; set cluster(value: string); get clusterInput(): string | undefined; private _deactivated?; get deactivated(): boolean | cdktf.IResolvable; set deactivated(value: boolean | cdktf.IResolvable); resetDeactivated(): void; get deactivatedInput(): boolean | cdktf.IResolvable | undefined; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string | undefined; private _effectiveLabels; get effectiveLabels(): cdktf.StringMap; get etag(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string | undefined; private _labels?; get labels(): { [key: string]: string; }; set labels(value: { [key: string]: string; }); resetLabels(): void; get labelsInput(): { [key: string]: string; } | undefined; private _location?; get location(): string; set location(value: string); get locationInput(): string | undefined; private _name?; get name(): string; set name(value: string); get nameInput(): string | undefined; private _project?; get project(): string; set project(value: string); resetProject(): void; get projectInput(): string | undefined; get protectedPodCount(): number; get state(): string; get stateReason(): string; private _terraformLabels; get terraformLabels(): cdktf.StringMap; get uid(): string; private _backupConfig; get backupConfig(): GkeBackupBackupPlanBackupConfigOutputReference; putBackupConfig(value: GkeBackupBackupPlanBackupConfig): void; resetBackupConfig(): void; get backupConfigInput(): GkeBackupBackupPlanBackupConfig | undefined; private _backupSchedule; get backupSchedule(): GkeBackupBackupPlanBackupScheduleOutputReference; putBackupSchedule(value: GkeBackupBackupPlanBackupSchedule): void; resetBackupSchedule(): void; get backupScheduleInput(): GkeBackupBackupPlanBackupSchedule | undefined; private _retentionPolicy; get retentionPolicy(): GkeBackupBackupPlanRetentionPolicyOutputReference; putRetentionPolicy(value: GkeBackupBackupPlanRetentionPolicy): void; resetRetentionPolicy(): void; get retentionPolicyInput(): GkeBackupBackupPlanRetentionPolicy | undefined; private _timeouts; get timeouts(): GkeBackupBackupPlanTimeoutsOutputReference; putTimeouts(value: GkeBackupBackupPlanTimeouts): void; resetTimeouts(): void; get timeoutsInput(): cdktf.IResolvable | GkeBackupBackupPlanTimeouts | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }