@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
833 lines (832 loc) • 47.3 kB
TypeScript
/**
* 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;
};
}