UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

880 lines 72.7 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface AlloydbClusterConfig extends cdktf.TerraformMetaArguments { /** * Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128 * An object containing 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 annotations present in your configuration. * Please refer to the field 'effective_annotations' for all of the annotations present on the resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#annotations AlloydbCluster#annotations} */ readonly annotations?: { [key: string]: string; }; /** * The ID of the alloydb cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#cluster_id AlloydbCluster#cluster_id} */ readonly clusterId: string; /** * The type of cluster. If not set, defaults to PRIMARY. Default value: "PRIMARY" Possible values: ["PRIMARY", "SECONDARY"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#cluster_type AlloydbCluster#cluster_type} */ readonly clusterType?: string; /** * The database engine major version. This is an optional field and it's populated at the Cluster creation time. * Note: Changing this field to a higer version results in upgrading the AlloyDB cluster which is an irreversible change. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#database_version AlloydbCluster#database_version} */ readonly databaseVersion?: string; /** * Policy to determine if the cluster should be deleted forcefully. * Deleting a cluster forcefully, deletes the cluster and all its associated instances within the cluster. * Deleting a Secondary cluster with a secondary instance REQUIRES setting deletion_policy = "FORCE" otherwise an error is returned. This is needed as there is no support to delete just the secondary instance, and the only way to delete secondary instance is to delete the associated secondary cluster forcefully which also deletes the secondary instance. * Possible values: DEFAULT, FORCE * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#deletion_policy AlloydbCluster#deletion_policy} */ readonly deletionPolicy?: string; /** * User-settable and human-readable display name for the Cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#display_name AlloydbCluster#display_name} */ readonly displayName?: string; /** * For Resource freshness validation (https://google.aip.dev/154) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#etag AlloydbCluster#etag} */ readonly etag?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#id AlloydbCluster#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; /** * User-defined labels for the alloydb cluster. * * **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.36.0/docs/resources/alloydb_cluster#labels AlloydbCluster#labels} */ readonly labels?: { [key: string]: string; }; /** * The location where the alloydb cluster should reside. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#location AlloydbCluster#location} */ readonly location: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#project AlloydbCluster#project} */ readonly project?: string; /** * Set to true to skip awaiting on the major version upgrade of the cluster. * Possible values: true, false * Default value: "true" * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#skip_await_major_version_upgrade AlloydbCluster#skip_await_major_version_upgrade} */ readonly skipAwaitMajorVersionUpgrade?: boolean | cdktf.IResolvable; /** * The subscrition type of cluster. Possible values: ["TRIAL", "STANDARD"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#subscription_type AlloydbCluster#subscription_type} */ readonly subscriptionType?: string; /** * automated_backup_policy block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#automated_backup_policy AlloydbCluster#automated_backup_policy} */ readonly automatedBackupPolicy?: AlloydbClusterAutomatedBackupPolicy; /** * continuous_backup_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#continuous_backup_config AlloydbCluster#continuous_backup_config} */ readonly continuousBackupConfig?: AlloydbClusterContinuousBackupConfig; /** * encryption_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#encryption_config AlloydbCluster#encryption_config} */ readonly encryptionConfig?: AlloydbClusterEncryptionConfig; /** * initial_user block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#initial_user AlloydbCluster#initial_user} */ readonly initialUser?: AlloydbClusterInitialUser; /** * maintenance_update_policy block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#maintenance_update_policy AlloydbCluster#maintenance_update_policy} */ readonly maintenanceUpdatePolicy?: AlloydbClusterMaintenanceUpdatePolicy; /** * network_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#network_config AlloydbCluster#network_config} */ readonly networkConfig?: AlloydbClusterNetworkConfig; /** * psc_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#psc_config AlloydbCluster#psc_config} */ readonly pscConfig?: AlloydbClusterPscConfig; /** * restore_backup_source block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#restore_backup_source AlloydbCluster#restore_backup_source} */ readonly restoreBackupSource?: AlloydbClusterRestoreBackupSource; /** * restore_continuous_backup_source block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#restore_continuous_backup_source AlloydbCluster#restore_continuous_backup_source} */ readonly restoreContinuousBackupSource?: AlloydbClusterRestoreContinuousBackupSource; /** * secondary_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#secondary_config AlloydbCluster#secondary_config} */ readonly secondaryConfig?: AlloydbClusterSecondaryConfig; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#timeouts AlloydbCluster#timeouts} */ readonly timeouts?: AlloydbClusterTimeouts; } export interface AlloydbClusterBackupSource { } export declare function alloydbClusterBackupSourceToTerraform(struct?: AlloydbClusterBackupSource): any; export declare function alloydbClusterBackupSourceToHclTerraform(struct?: AlloydbClusterBackupSource): any; export declare class AlloydbClusterBackupSourceOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @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(): AlloydbClusterBackupSource | undefined; set internalValue(value: AlloydbClusterBackupSource | undefined); get backupName(): string; } export declare class AlloydbClusterBackupSourceList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; /** * @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): AlloydbClusterBackupSourceOutputReference; } export interface AlloydbClusterContinuousBackupInfoEncryptionInfo { } export declare function alloydbClusterContinuousBackupInfoEncryptionInfoToTerraform(struct?: AlloydbClusterContinuousBackupInfoEncryptionInfo): any; export declare function alloydbClusterContinuousBackupInfoEncryptionInfoToHclTerraform(struct?: AlloydbClusterContinuousBackupInfoEncryptionInfo): any; export declare class AlloydbClusterContinuousBackupInfoEncryptionInfoOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @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(): AlloydbClusterContinuousBackupInfoEncryptionInfo | undefined; set internalValue(value: AlloydbClusterContinuousBackupInfoEncryptionInfo | undefined); get encryptionType(): string; get kmsKeyVersions(): string[]; } export declare class AlloydbClusterContinuousBackupInfoEncryptionInfoList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; /** * @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): AlloydbClusterContinuousBackupInfoEncryptionInfoOutputReference; } export interface AlloydbClusterContinuousBackupInfo { } export declare function alloydbClusterContinuousBackupInfoToTerraform(struct?: AlloydbClusterContinuousBackupInfo): any; export declare function alloydbClusterContinuousBackupInfoToHclTerraform(struct?: AlloydbClusterContinuousBackupInfo): any; export declare class AlloydbClusterContinuousBackupInfoOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @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(): AlloydbClusterContinuousBackupInfo | undefined; set internalValue(value: AlloydbClusterContinuousBackupInfo | undefined); get earliestRestorableTime(): string; get enabledTime(): string; private _encryptionInfo; get encryptionInfo(): AlloydbClusterContinuousBackupInfoEncryptionInfoList; get schedule(): string[]; } export declare class AlloydbClusterContinuousBackupInfoList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; /** * @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): AlloydbClusterContinuousBackupInfoOutputReference; } export interface AlloydbClusterEncryptionInfo { } export declare function alloydbClusterEncryptionInfoToTerraform(struct?: AlloydbClusterEncryptionInfo): any; export declare function alloydbClusterEncryptionInfoToHclTerraform(struct?: AlloydbClusterEncryptionInfo): any; export declare class AlloydbClusterEncryptionInfoOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @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(): AlloydbClusterEncryptionInfo | undefined; set internalValue(value: AlloydbClusterEncryptionInfo | undefined); get encryptionType(): string; get kmsKeyVersions(): string[]; } export declare class AlloydbClusterEncryptionInfoList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; /** * @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): AlloydbClusterEncryptionInfoOutputReference; } export interface AlloydbClusterMigrationSource { } export declare function alloydbClusterMigrationSourceToTerraform(struct?: AlloydbClusterMigrationSource): any; export declare function alloydbClusterMigrationSourceToHclTerraform(struct?: AlloydbClusterMigrationSource): any; export declare class AlloydbClusterMigrationSourceOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @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(): AlloydbClusterMigrationSource | undefined; set internalValue(value: AlloydbClusterMigrationSource | undefined); get hostPort(): string; get referenceId(): string; get sourceType(): string; } export declare class AlloydbClusterMigrationSourceList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; /** * @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): AlloydbClusterMigrationSourceOutputReference; } export interface AlloydbClusterTrialMetadata { } export declare function alloydbClusterTrialMetadataToTerraform(struct?: AlloydbClusterTrialMetadata): any; export declare function alloydbClusterTrialMetadataToHclTerraform(struct?: AlloydbClusterTrialMetadata): any; export declare class AlloydbClusterTrialMetadataOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @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(): AlloydbClusterTrialMetadata | undefined; set internalValue(value: AlloydbClusterTrialMetadata | undefined); get endTime(): string; get graceEndTime(): string; get startTime(): string; get upgradeTime(): string; } export declare class AlloydbClusterTrialMetadataList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; /** * @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): AlloydbClusterTrialMetadataOutputReference; } export interface AlloydbClusterAutomatedBackupPolicyEncryptionConfig { /** * The fully-qualified resource name of the KMS key. Each Cloud KMS key is regionalized and has the following format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME]. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#kms_key_name AlloydbCluster#kms_key_name} */ readonly kmsKeyName?: string; } export declare function alloydbClusterAutomatedBackupPolicyEncryptionConfigToTerraform(struct?: AlloydbClusterAutomatedBackupPolicyEncryptionConfigOutputReference | AlloydbClusterAutomatedBackupPolicyEncryptionConfig): any; export declare function alloydbClusterAutomatedBackupPolicyEncryptionConfigToHclTerraform(struct?: AlloydbClusterAutomatedBackupPolicyEncryptionConfigOutputReference | AlloydbClusterAutomatedBackupPolicyEncryptionConfig): any; export declare class AlloydbClusterAutomatedBackupPolicyEncryptionConfigOutputReference 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(): AlloydbClusterAutomatedBackupPolicyEncryptionConfig | undefined; set internalValue(value: AlloydbClusterAutomatedBackupPolicyEncryptionConfig | undefined); private _kmsKeyName?; get kmsKeyName(): string; set kmsKeyName(value: string); resetKmsKeyName(): void; get kmsKeyNameInput(): string | undefined; } export interface AlloydbClusterAutomatedBackupPolicyQuantityBasedRetention { /** * The number of backups to retain. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#count AlloydbCluster#count} */ readonly count?: number; } export declare function alloydbClusterAutomatedBackupPolicyQuantityBasedRetentionToTerraform(struct?: AlloydbClusterAutomatedBackupPolicyQuantityBasedRetentionOutputReference | AlloydbClusterAutomatedBackupPolicyQuantityBasedRetention): any; export declare function alloydbClusterAutomatedBackupPolicyQuantityBasedRetentionToHclTerraform(struct?: AlloydbClusterAutomatedBackupPolicyQuantityBasedRetentionOutputReference | AlloydbClusterAutomatedBackupPolicyQuantityBasedRetention): any; export declare class AlloydbClusterAutomatedBackupPolicyQuantityBasedRetentionOutputReference 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(): AlloydbClusterAutomatedBackupPolicyQuantityBasedRetention | undefined; set internalValue(value: AlloydbClusterAutomatedBackupPolicyQuantityBasedRetention | undefined); private _count?; get count(): number; set count(value: number); resetCount(): void; get countInput(): number | undefined; } export interface AlloydbClusterAutomatedBackupPolicyTimeBasedRetention { /** * The retention period. * A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#retention_period AlloydbCluster#retention_period} */ readonly retentionPeriod?: string; } export declare function alloydbClusterAutomatedBackupPolicyTimeBasedRetentionToTerraform(struct?: AlloydbClusterAutomatedBackupPolicyTimeBasedRetentionOutputReference | AlloydbClusterAutomatedBackupPolicyTimeBasedRetention): any; export declare function alloydbClusterAutomatedBackupPolicyTimeBasedRetentionToHclTerraform(struct?: AlloydbClusterAutomatedBackupPolicyTimeBasedRetentionOutputReference | AlloydbClusterAutomatedBackupPolicyTimeBasedRetention): any; export declare class AlloydbClusterAutomatedBackupPolicyTimeBasedRetentionOutputReference 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(): AlloydbClusterAutomatedBackupPolicyTimeBasedRetention | undefined; set internalValue(value: AlloydbClusterAutomatedBackupPolicyTimeBasedRetention | undefined); private _retentionPeriod?; get retentionPeriod(): string; set retentionPeriod(value: string); resetRetentionPeriod(): void; get retentionPeriodInput(): string | undefined; } export interface AlloydbClusterAutomatedBackupPolicyWeeklyScheduleStartTimes { /** * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#hours AlloydbCluster#hours} */ readonly hours?: number; /** * Minutes of hour of day. Currently, only the value 0 is supported. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#minutes AlloydbCluster#minutes} */ readonly minutes?: number; /** * Fractions of seconds in nanoseconds. Currently, only the value 0 is supported. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#nanos AlloydbCluster#nanos} */ readonly nanos?: number; /** * Seconds of minutes of the time. Currently, only the value 0 is supported. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#seconds AlloydbCluster#seconds} */ readonly seconds?: number; } export declare function alloydbClusterAutomatedBackupPolicyWeeklyScheduleStartTimesToTerraform(struct?: AlloydbClusterAutomatedBackupPolicyWeeklyScheduleStartTimes | cdktf.IResolvable): any; export declare function alloydbClusterAutomatedBackupPolicyWeeklyScheduleStartTimesToHclTerraform(struct?: AlloydbClusterAutomatedBackupPolicyWeeklyScheduleStartTimes | cdktf.IResolvable): any; export declare class AlloydbClusterAutomatedBackupPolicyWeeklyScheduleStartTimesOutputReference 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(): AlloydbClusterAutomatedBackupPolicyWeeklyScheduleStartTimes | cdktf.IResolvable | undefined; set internalValue(value: AlloydbClusterAutomatedBackupPolicyWeeklyScheduleStartTimes | cdktf.IResolvable | 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 declare class AlloydbClusterAutomatedBackupPolicyWeeklyScheduleStartTimesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: AlloydbClusterAutomatedBackupPolicyWeeklyScheduleStartTimes[] | 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): AlloydbClusterAutomatedBackupPolicyWeeklyScheduleStartTimesOutputReference; } export interface AlloydbClusterAutomatedBackupPolicyWeeklySchedule { /** * The days of the week to perform a backup. At least one day of the week must be provided. Possible values: ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#days_of_week AlloydbCluster#days_of_week} */ readonly daysOfWeek?: string[]; /** * start_times block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#start_times AlloydbCluster#start_times} */ readonly startTimes: AlloydbClusterAutomatedBackupPolicyWeeklyScheduleStartTimes[] | cdktf.IResolvable; } export declare function alloydbClusterAutomatedBackupPolicyWeeklyScheduleToTerraform(struct?: AlloydbClusterAutomatedBackupPolicyWeeklyScheduleOutputReference | AlloydbClusterAutomatedBackupPolicyWeeklySchedule): any; export declare function alloydbClusterAutomatedBackupPolicyWeeklyScheduleToHclTerraform(struct?: AlloydbClusterAutomatedBackupPolicyWeeklyScheduleOutputReference | AlloydbClusterAutomatedBackupPolicyWeeklySchedule): any; export declare class AlloydbClusterAutomatedBackupPolicyWeeklyScheduleOutputReference 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(): AlloydbClusterAutomatedBackupPolicyWeeklySchedule | undefined; set internalValue(value: AlloydbClusterAutomatedBackupPolicyWeeklySchedule | undefined); private _daysOfWeek?; get daysOfWeek(): string[]; set daysOfWeek(value: string[]); resetDaysOfWeek(): void; get daysOfWeekInput(): string[] | undefined; private _startTimes; get startTimes(): AlloydbClusterAutomatedBackupPolicyWeeklyScheduleStartTimesList; putStartTimes(value: AlloydbClusterAutomatedBackupPolicyWeeklyScheduleStartTimes[] | cdktf.IResolvable): void; get startTimesInput(): cdktf.IResolvable | AlloydbClusterAutomatedBackupPolicyWeeklyScheduleStartTimes[] | undefined; } export interface AlloydbClusterAutomatedBackupPolicy { /** * The length of the time window during which a backup can be taken. If a backup does not succeed within this time window, it will be canceled and considered failed. * * The backup window must be at least 5 minutes long. There is no upper bound on the window. If not set, it will default to 1 hour. * * A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#backup_window AlloydbCluster#backup_window} */ readonly backupWindow?: string; /** * Whether automated backups are enabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#enabled AlloydbCluster#enabled} */ readonly enabled?: boolean | cdktf.IResolvable; /** * Labels to apply to backups created using this configuration. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#labels AlloydbCluster#labels} */ readonly labels?: { [key: string]: string; }; /** * The location where the backup will be stored. Currently, the only supported option is to store the backup in the same region as the cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#location AlloydbCluster#location} */ readonly location?: string; /** * encryption_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#encryption_config AlloydbCluster#encryption_config} */ readonly encryptionConfig?: AlloydbClusterAutomatedBackupPolicyEncryptionConfig; /** * quantity_based_retention block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#quantity_based_retention AlloydbCluster#quantity_based_retention} */ readonly quantityBasedRetention?: AlloydbClusterAutomatedBackupPolicyQuantityBasedRetention; /** * time_based_retention block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#time_based_retention AlloydbCluster#time_based_retention} */ readonly timeBasedRetention?: AlloydbClusterAutomatedBackupPolicyTimeBasedRetention; /** * weekly_schedule block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#weekly_schedule AlloydbCluster#weekly_schedule} */ readonly weeklySchedule?: AlloydbClusterAutomatedBackupPolicyWeeklySchedule; } export declare function alloydbClusterAutomatedBackupPolicyToTerraform(struct?: AlloydbClusterAutomatedBackupPolicyOutputReference | AlloydbClusterAutomatedBackupPolicy): any; export declare function alloydbClusterAutomatedBackupPolicyToHclTerraform(struct?: AlloydbClusterAutomatedBackupPolicyOutputReference | AlloydbClusterAutomatedBackupPolicy): any; export declare class AlloydbClusterAutomatedBackupPolicyOutputReference 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(): AlloydbClusterAutomatedBackupPolicy | undefined; set internalValue(value: AlloydbClusterAutomatedBackupPolicy | undefined); private _backupWindow?; get backupWindow(): string; set backupWindow(value: string); resetBackupWindow(): void; get backupWindowInput(): string | undefined; private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); resetEnabled(): void; get enabledInput(): boolean | cdktf.IResolvable | 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); resetLocation(): void; get locationInput(): string | undefined; private _encryptionConfig; get encryptionConfig(): AlloydbClusterAutomatedBackupPolicyEncryptionConfigOutputReference; putEncryptionConfig(value: AlloydbClusterAutomatedBackupPolicyEncryptionConfig): void; resetEncryptionConfig(): void; get encryptionConfigInput(): AlloydbClusterAutomatedBackupPolicyEncryptionConfig | undefined; private _quantityBasedRetention; get quantityBasedRetention(): AlloydbClusterAutomatedBackupPolicyQuantityBasedRetentionOutputReference; putQuantityBasedRetention(value: AlloydbClusterAutomatedBackupPolicyQuantityBasedRetention): void; resetQuantityBasedRetention(): void; get quantityBasedRetentionInput(): AlloydbClusterAutomatedBackupPolicyQuantityBasedRetention | undefined; private _timeBasedRetention; get timeBasedRetention(): AlloydbClusterAutomatedBackupPolicyTimeBasedRetentionOutputReference; putTimeBasedRetention(value: AlloydbClusterAutomatedBackupPolicyTimeBasedRetention): void; resetTimeBasedRetention(): void; get timeBasedRetentionInput(): AlloydbClusterAutomatedBackupPolicyTimeBasedRetention | undefined; private _weeklySchedule; get weeklySchedule(): AlloydbClusterAutomatedBackupPolicyWeeklyScheduleOutputReference; putWeeklySchedule(value: AlloydbClusterAutomatedBackupPolicyWeeklySchedule): void; resetWeeklySchedule(): void; get weeklyScheduleInput(): AlloydbClusterAutomatedBackupPolicyWeeklySchedule | undefined; } export interface AlloydbClusterContinuousBackupConfigEncryptionConfig { /** * The fully-qualified resource name of the KMS key. Each Cloud KMS key is regionalized and has the following format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME]. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#kms_key_name AlloydbCluster#kms_key_name} */ readonly kmsKeyName?: string; } export declare function alloydbClusterContinuousBackupConfigEncryptionConfigToTerraform(struct?: AlloydbClusterContinuousBackupConfigEncryptionConfigOutputReference | AlloydbClusterContinuousBackupConfigEncryptionConfig): any; export declare function alloydbClusterContinuousBackupConfigEncryptionConfigToHclTerraform(struct?: AlloydbClusterContinuousBackupConfigEncryptionConfigOutputReference | AlloydbClusterContinuousBackupConfigEncryptionConfig): any; export declare class AlloydbClusterContinuousBackupConfigEncryptionConfigOutputReference 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(): AlloydbClusterContinuousBackupConfigEncryptionConfig | undefined; set internalValue(value: AlloydbClusterContinuousBackupConfigEncryptionConfig | undefined); private _kmsKeyName?; get kmsKeyName(): string; set kmsKeyName(value: string); resetKmsKeyName(): void; get kmsKeyNameInput(): string | undefined; } export interface AlloydbClusterContinuousBackupConfig { /** * Whether continuous backup recovery is enabled. If not set, defaults to true. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#enabled AlloydbCluster#enabled} */ readonly enabled?: boolean | cdktf.IResolvable; /** * The numbers of days that are eligible to restore from using PITR. To support the entire recovery window, backups and logs are retained for one day more than the recovery window. * * If not set, defaults to 14 days. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#recovery_window_days AlloydbCluster#recovery_window_days} */ readonly recoveryWindowDays?: number; /** * encryption_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#encryption_config AlloydbCluster#encryption_config} */ readonly encryptionConfig?: AlloydbClusterContinuousBackupConfigEncryptionConfig; } export declare function alloydbClusterContinuousBackupConfigToTerraform(struct?: AlloydbClusterContinuousBackupConfigOutputReference | AlloydbClusterContinuousBackupConfig): any; export declare function alloydbClusterContinuousBackupConfigToHclTerraform(struct?: AlloydbClusterContinuousBackupConfigOutputReference | AlloydbClusterContinuousBackupConfig): any; export declare class AlloydbClusterContinuousBackupConfigOutputReference 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(): AlloydbClusterContinuousBackupConfig | undefined; set internalValue(value: AlloydbClusterContinuousBackupConfig | undefined); private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); resetEnabled(): void; get enabledInput(): boolean | cdktf.IResolvable | undefined; private _recoveryWindowDays?; get recoveryWindowDays(): number; set recoveryWindowDays(value: number); resetRecoveryWindowDays(): void; get recoveryWindowDaysInput(): number | undefined; private _encryptionConfig; get encryptionConfig(): AlloydbClusterContinuousBackupConfigEncryptionConfigOutputReference; putEncryptionConfig(value: AlloydbClusterContinuousBackupConfigEncryptionConfig): void; resetEncryptionConfig(): void; get encryptionConfigInput(): AlloydbClusterContinuousBackupConfigEncryptionConfig | undefined; } export interface AlloydbClusterEncryptionConfig { /** * The fully-qualified resource name of the KMS key. Each Cloud KMS key is regionalized and has the following format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME]. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#kms_key_name AlloydbCluster#kms_key_name} */ readonly kmsKeyName?: string; } export declare function alloydbClusterEncryptionConfigToTerraform(struct?: AlloydbClusterEncryptionConfigOutputReference | AlloydbClusterEncryptionConfig): any; export declare function alloydbClusterEncryptionConfigToHclTerraform(struct?: AlloydbClusterEncryptionConfigOutputReference | AlloydbClusterEncryptionConfig): any; export declare class AlloydbClusterEncryptionConfigOutputReference 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(): AlloydbClusterEncryptionConfig | undefined; set internalValue(value: AlloydbClusterEncryptionConfig | undefined); private _kmsKeyName?; get kmsKeyName(): string; set kmsKeyName(value: string); resetKmsKeyName(): void; get kmsKeyNameInput(): string | undefined; } export interface AlloydbClusterInitialUser { /** * The initial password for the user. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#password AlloydbCluster#password} */ readonly password: string; /** * The database username. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#user AlloydbCluster#user} */ readonly user?: string; } export declare function alloydbClusterInitialUserToTerraform(struct?: AlloydbClusterInitialUserOutputReference | AlloydbClusterInitialUser): any; export declare function alloydbClusterInitialUserToHclTerraform(struct?: AlloydbClusterInitialUserOutputReference | AlloydbClusterInitialUser): any; export declare class AlloydbClusterInitialUserOutputReference 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(): AlloydbClusterInitialUser | undefined; set internalValue(value: AlloydbClusterInitialUser | undefined); private _password?; get password(): string; set password(value: string); get passwordInput(): string | undefined; private _user?; get user(): string; set user(value: string); resetUser(): void; get userInput(): string | undefined; } export interface AlloydbClusterMaintenanceUpdatePolicyMaintenanceWindowsStartTime { /** * Hours of day in 24 hour format. Should be from 0 to 23. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#hours AlloydbCluster#hours} */ readonly hours: number; /** * Minutes of hour of day. Currently, only the value 0 is supported. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#minutes AlloydbCluster#minutes} */ readonly minutes?: number; /** * Fractions of seconds in nanoseconds. Currently, only the value 0 is supported. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#nanos AlloydbCluster#nanos} */ readonly nanos?: number; /** * Seconds of minutes of the time. Currently, only the value 0 is supported. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#seconds AlloydbCluster#seconds} */ readonly seconds?: number; } export declare function alloydbClusterMaintenanceUpdatePolicyMaintenanceWindowsStartTimeToTerraform(struct?: AlloydbClusterMaintenanceUpdatePolicyMaintenanceWindowsStartTimeOutputReference | AlloydbClusterMaintenanceUpdatePolicyMaintenanceWindowsStartTime): any; export declare function alloydbClusterMaintenanceUpdatePolicyMaintenanceWindowsStartTimeToHclTerraform(struct?: AlloydbClusterMaintenanceUpdatePolicyMaintenanceWindowsStartTimeOutputReference | AlloydbClusterMaintenanceUpdatePolicyMaintenanceWindowsStartTime): any; export declare class AlloydbClusterMaintenanceUpdatePolicyMaintenanceWindowsStartTimeOutputReference 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(): AlloydbClusterMaintenanceUpdatePolicyMaintenanceWindowsStartTime | undefined; set internalValue(value: AlloydbClusterMaintenanceUpdatePolicyMaintenanceWindowsStartTime | undefined); private _hours?; get hours(): number; set hours(value: number); 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 AlloydbClusterMaintenanceUpdatePolicyMaintenanceWindows { /** * Preferred day of the week for maintenance, e.g. MONDAY, TUESDAY, etc. Possible values: ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#day AlloydbCluster#day} */ readonly day: string; /** * start_time block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/alloydb_cluster#start_time AlloydbCluster#start_time} */ readonly startTime: AlloydbClusterMaintenanceUpdatePolicyMaintenanceWindowsStartTime; } export declare function alloydbClusterMaintenanceUpdatePolicyMaintenanceWindowsToTerraform(struct?: AlloydbClusterMain