import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface MdbPostgresqlClusterV2Config extends cdktf.TerraformMetaArguments { /** * The `true` value means that resource is protected from accidental deletion. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#deletion_protection MdbPostgresqlClusterV2#deletion_protection} */ readonly deletionProtection?: boolean | cdktf.IResolvable; /** * Description of the PostgreSQL cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#description MdbPostgresqlClusterV2#description} */ readonly description?: string; /** * ID of the KMS key for cluster disk encryption. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#disk_encryption_key_id MdbPostgresqlClusterV2#disk_encryption_key_id} */ readonly diskEncryptionKeyId?: string; /** * Deployment environment of the PostgreSQL cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#environment MdbPostgresqlClusterV2#environment} */ readonly environment: string; /** * The folder identifier that resource belongs to. If it is not provided, the default provider `folder-id` is used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#folder_id MdbPostgresqlClusterV2#folder_id} */ readonly folderId?: string; /** * A host configuration of the PostgreSQL cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#hosts MdbPostgresqlClusterV2#hosts} */ readonly hosts: { [key: string]: MdbPostgresqlClusterV2Hosts; } | cdktf.IResolvable; /** * A set of key/value label pairs which assigned to resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#labels MdbPostgresqlClusterV2#labels} */ readonly labels?: { [key: string]: string; }; /** * Maintenance policy of the PostgreSQL cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#maintenance_window MdbPostgresqlClusterV2#maintenance_window} */ readonly maintenanceWindow?: MdbPostgresqlClusterV2MaintenanceWindow; /** * Name of the PostgreSQL cluster. Provided by the client when the cluster is created. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#name MdbPostgresqlClusterV2#name} */ readonly name: string; /** * The `VPC Network ID` of subnets which resource attached to. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#network_id MdbPostgresqlClusterV2#network_id} */ readonly networkId: string; /** * The cluster will be created from the specified backup. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#restore MdbPostgresqlClusterV2#restore} */ readonly restore?: MdbPostgresqlClusterV2Restore; /** * The list of security groups applied to resource or their components. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#security_group_ids MdbPostgresqlClusterV2#security_group_ids} */ readonly securityGroupIds?: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#timeouts MdbPostgresqlClusterV2#timeouts} */ readonly timeouts?: MdbPostgresqlClusterV2Timeouts; /** * config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#config MdbPostgresqlClusterV2#config} */ readonly config?: MdbPostgresqlClusterV2ConfigA; } export interface MdbPostgresqlClusterV2Hosts { /** * Whether the host should get a public IP address. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#assign_public_ip MdbPostgresqlClusterV2#assign_public_ip} */ readonly assignPublicIp?: boolean | cdktf.IResolvable; /** * FQDN of the host that is used as a replication source. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#replication_source MdbPostgresqlClusterV2#replication_source} */ readonly replicationSource?: string; /** * ID of the subnet where the host is located. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#subnet_id MdbPostgresqlClusterV2#subnet_id} */ readonly subnetId?: string; /** * The availability zone where the host is located. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#zone MdbPostgresqlClusterV2#zone} */ readonly zone: string; } export declare function mdbPostgresqlClusterV2HostsToTerraform(struct?: MdbPostgresqlClusterV2Hosts | cdktf.IResolvable): any; export declare function mdbPostgresqlClusterV2HostsToHclTerraform(struct?: MdbPostgresqlClusterV2Hosts | cdktf.IResolvable): any; export declare class MdbPostgresqlClusterV2HostsOutputReference 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 complexObjectKey the key of this item in the map */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectKey: string); get internalValue(): MdbPostgresqlClusterV2Hosts | cdktf.IResolvable | undefined; set internalValue(value: MdbPostgresqlClusterV2Hosts | cdktf.IResolvable | undefined); private _assignPublicIp?; get assignPublicIp(): boolean | cdktf.IResolvable; set assignPublicIp(value: boolean | cdktf.IResolvable); resetAssignPublicIp(): void; get assignPublicIpInput(): any; get fqdn(): any; private _replicationSource?; get replicationSource(): string; set replicationSource(value: string); resetReplicationSource(): void; get replicationSourceInput(): string; private _subnetId?; get subnetId(): string; set subnetId(value: string); resetSubnetId(): void; get subnetIdInput(): string; private _zone?; get zone(): string; set zone(value: string); get zoneInput(): string; } export declare class MdbPostgresqlClusterV2HostsMap extends cdktf.ComplexMap { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; internalValue?: { [key: string]: MdbPostgresqlClusterV2Hosts; } | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); /** * @param key the key of the item to return */ get(key: string): MdbPostgresqlClusterV2HostsOutputReference; } export interface MdbPostgresqlClusterV2MaintenanceWindow { /** * Day of the week (in DDD format). Allowed values: "MON", "TUE", "WED", "THU", "FRI", "SAT","SUN" * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#day MdbPostgresqlClusterV2#day} */ readonly day?: string; /** * Hour of the day in UTC (in HH format). Allowed value is between 1 and 24. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#hour MdbPostgresqlClusterV2#hour} */ readonly hour?: number; /** * Type of maintenance window. Can be either ANYTIME or WEEKLY. A day and hour of window need to be specified with weekly window. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#type MdbPostgresqlClusterV2#type} */ readonly type?: string; } export declare function mdbPostgresqlClusterV2MaintenanceWindowToTerraform(struct?: MdbPostgresqlClusterV2MaintenanceWindow | cdktf.IResolvable): any; export declare function mdbPostgresqlClusterV2MaintenanceWindowToHclTerraform(struct?: MdbPostgresqlClusterV2MaintenanceWindow | cdktf.IResolvable): any; export declare class MdbPostgresqlClusterV2MaintenanceWindowOutputReference 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(): MdbPostgresqlClusterV2MaintenanceWindow | cdktf.IResolvable | undefined; set internalValue(value: MdbPostgresqlClusterV2MaintenanceWindow | cdktf.IResolvable | undefined); private _day?; get day(): string; set day(value: string); resetDay(): void; get dayInput(): string; private _hour?; get hour(): number; set hour(value: number); resetHour(): void; get hourInput(): number; private _type?; get type(): string; set type(value: string); resetType(): void; get typeInput(): string; } export interface MdbPostgresqlClusterV2Restore { /** * Backup ID. The cluster will be created from the specified backup. [How to get a list of PostgreSQL backups](https://yandex.cloud/docs/managed-postgresql/operations/cluster-backups). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#backup_id MdbPostgresqlClusterV2#backup_id} */ readonly backupId: string; /** * Timestamp of the moment to which the PostgreSQL cluster should be restored. (Format: `2006-01-02T15:04:05` - UTC). When not set, current time is used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#time MdbPostgresqlClusterV2#time} */ readonly time?: string; /** * Flag that indicates whether a database should be restored to the first backup point available just after the timestamp specified in the [time] field instead of just before. Possible values: * * `false` (default) — the restore point refers to the first backup moment before [time]. * * `true` — the restore point refers to the first backup point after [time]. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#time_inclusive MdbPostgresqlClusterV2#time_inclusive} */ readonly timeInclusive?: boolean | cdktf.IResolvable; } export declare function mdbPostgresqlClusterV2RestoreToTerraform(struct?: MdbPostgresqlClusterV2Restore | cdktf.IResolvable): any; export declare function mdbPostgresqlClusterV2RestoreToHclTerraform(struct?: MdbPostgresqlClusterV2Restore | cdktf.IResolvable): any; export declare class MdbPostgresqlClusterV2RestoreOutputReference 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(): MdbPostgresqlClusterV2Restore | cdktf.IResolvable | undefined; set internalValue(value: MdbPostgresqlClusterV2Restore | cdktf.IResolvable | undefined); private _backupId?; get backupId(): string; set backupId(value: string); get backupIdInput(): string; private _time?; get time(): string; set time(value: string); resetTime(): void; get timeInput(): string; private _timeInclusive?; get timeInclusive(): boolean | cdktf.IResolvable; set timeInclusive(value: boolean | cdktf.IResolvable); resetTimeInclusive(): void; get timeInclusiveInput(): any; } export interface MdbPostgresqlClusterV2Timeouts { /** * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#create MdbPostgresqlClusterV2#create} */ readonly create?: string; /** * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#delete MdbPostgresqlClusterV2#delete} */ readonly delete?: string; /** * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#update MdbPostgresqlClusterV2#update} */ readonly update?: string; } export declare function mdbPostgresqlClusterV2TimeoutsToTerraform(struct?: MdbPostgresqlClusterV2Timeouts | cdktf.IResolvable): any; export declare function mdbPostgresqlClusterV2TimeoutsToHclTerraform(struct?: MdbPostgresqlClusterV2Timeouts | cdktf.IResolvable): any; export declare class MdbPostgresqlClusterV2TimeoutsOutputReference 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(): MdbPostgresqlClusterV2Timeouts | cdktf.IResolvable | undefined; set internalValue(value: MdbPostgresqlClusterV2Timeouts | cdktf.IResolvable | undefined); private _create?; get create(): string; set create(value: string); resetCreate(): void; get createInput(): string; private _delete?; get delete(): string; set delete(value: string); resetDelete(): void; get deleteInput(): string; private _update?; get update(): string; set update(value: string); resetUpdate(): void; get updateInput(): string; } export interface MdbPostgresqlClusterV2ConfigAccess { /** * Allow access for Yandex DataLens. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#data_lens MdbPostgresqlClusterV2#data_lens} */ readonly dataLens?: boolean | cdktf.IResolvable; /** * Allow access for DataTransfer * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#data_transfer MdbPostgresqlClusterV2#data_transfer} */ readonly dataTransfer?: boolean | cdktf.IResolvable; /** * Allow access for connection to managed databases from functions * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#serverless MdbPostgresqlClusterV2#serverless} */ readonly serverless?: boolean | cdktf.IResolvable; /** * Allow access for SQL queries in the management console * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#web_sql MdbPostgresqlClusterV2#web_sql} */ readonly webSql?: boolean | cdktf.IResolvable; } export declare function mdbPostgresqlClusterV2ConfigAccessToTerraform(struct?: MdbPostgresqlClusterV2ConfigAccess | cdktf.IResolvable): any; export declare function mdbPostgresqlClusterV2ConfigAccessToHclTerraform(struct?: MdbPostgresqlClusterV2ConfigAccess | cdktf.IResolvable): any; export declare class MdbPostgresqlClusterV2ConfigAccessOutputReference 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(): MdbPostgresqlClusterV2ConfigAccess | cdktf.IResolvable | undefined; set internalValue(value: MdbPostgresqlClusterV2ConfigAccess | cdktf.IResolvable | undefined); private _dataLens?; get dataLens(): boolean | cdktf.IResolvable; set dataLens(value: boolean | cdktf.IResolvable); resetDataLens(): void; get dataLensInput(): any; private _dataTransfer?; get dataTransfer(): boolean | cdktf.IResolvable; set dataTransfer(value: boolean | cdktf.IResolvable); resetDataTransfer(): void; get dataTransferInput(): any; private _serverless?; get serverless(): boolean | cdktf.IResolvable; set serverless(value: boolean | cdktf.IResolvable); resetServerless(): void; get serverlessInput(): any; private _webSql?; get webSql(): boolean | cdktf.IResolvable; set webSql(value: boolean | cdktf.IResolvable); resetWebSql(): void; get webSqlInput(): any; } export interface MdbPostgresqlClusterV2ConfigBackupWindowStart { /** * The hour at which backup will be started (UTC). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#hours MdbPostgresqlClusterV2#hours} */ readonly hours?: number; /** * The minute at which backup will be started. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#minutes MdbPostgresqlClusterV2#minutes} */ readonly minutes?: number; } export declare function mdbPostgresqlClusterV2ConfigBackupWindowStartToTerraform(struct?: MdbPostgresqlClusterV2ConfigBackupWindowStart | cdktf.IResolvable): any; export declare function mdbPostgresqlClusterV2ConfigBackupWindowStartToHclTerraform(struct?: MdbPostgresqlClusterV2ConfigBackupWindowStart | cdktf.IResolvable): any; export declare class MdbPostgresqlClusterV2ConfigBackupWindowStartOutputReference 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(): MdbPostgresqlClusterV2ConfigBackupWindowStart | cdktf.IResolvable | undefined; set internalValue(value: MdbPostgresqlClusterV2ConfigBackupWindowStart | cdktf.IResolvable | undefined); private _hours?; get hours(): number; set hours(value: number); resetHours(): void; get hoursInput(): number; private _minutes?; get minutes(): number; set minutes(value: number); resetMinutes(): void; get minutesInput(): number; } export interface MdbPostgresqlClusterV2ConfigDiskSizeAutoscaling { /** * The overall maximum for disk size that limit all autoscaling iterations. See the [documentation](https://yandex.cloud/en/docs/managed-postgresql/concepts/storage#auto-rescale) for details. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#disk_size_limit MdbPostgresqlClusterV2#disk_size_limit} */ readonly diskSizeLimit: number; /** * Threshold of storage usage (in percent) that triggers immediate automatic scaling of the storage. Zero value means disabled threshold. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#emergency_usage_threshold MdbPostgresqlClusterV2#emergency_usage_threshold} */ readonly emergencyUsageThreshold?: number; /** * Threshold of storage usage (in percent) that triggers automatic scaling of the storage during the maintenance window. Zero value means disabled threshold. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#planned_usage_threshold MdbPostgresqlClusterV2#planned_usage_threshold} */ readonly plannedUsageThreshold?: number; } export declare function mdbPostgresqlClusterV2ConfigDiskSizeAutoscalingToTerraform(struct?: MdbPostgresqlClusterV2ConfigDiskSizeAutoscaling | cdktf.IResolvable): any; export declare function mdbPostgresqlClusterV2ConfigDiskSizeAutoscalingToHclTerraform(struct?: MdbPostgresqlClusterV2ConfigDiskSizeAutoscaling | cdktf.IResolvable): any; export declare class MdbPostgresqlClusterV2ConfigDiskSizeAutoscalingOutputReference 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(): MdbPostgresqlClusterV2ConfigDiskSizeAutoscaling | cdktf.IResolvable | undefined; set internalValue(value: MdbPostgresqlClusterV2ConfigDiskSizeAutoscaling | cdktf.IResolvable | undefined); private _diskSizeLimit?; get diskSizeLimit(): number; set diskSizeLimit(value: number); get diskSizeLimitInput(): number; private _emergencyUsageThreshold?; get emergencyUsageThreshold(): number; set emergencyUsageThreshold(value: number); resetEmergencyUsageThreshold(): void; get emergencyUsageThresholdInput(): number; private _plannedUsageThreshold?; get plannedUsageThreshold(): number; set plannedUsageThreshold(value: number); resetPlannedUsageThreshold(): void; get plannedUsageThresholdInput(): number; } export interface MdbPostgresqlClusterV2ConfigPerformanceDiagnostics { /** * Enable performance diagnostics * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#enabled MdbPostgresqlClusterV2#enabled} */ readonly enabled?: boolean | cdktf.IResolvable; /** * Interval (in seconds) for pg_stat_activity sampling. Acceptable values are 1 to 86400, inclusive. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#sessions_sampling_interval MdbPostgresqlClusterV2#sessions_sampling_interval} */ readonly sessionsSamplingInterval: number; /** * Interval (in seconds) for pg_stat_statements sampling. Acceptable values are 60 to 86400, inclusive. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#statements_sampling_interval MdbPostgresqlClusterV2#statements_sampling_interval} */ readonly statementsSamplingInterval: number; } export declare function mdbPostgresqlClusterV2ConfigPerformanceDiagnosticsToTerraform(struct?: MdbPostgresqlClusterV2ConfigPerformanceDiagnostics | cdktf.IResolvable): any; export declare function mdbPostgresqlClusterV2ConfigPerformanceDiagnosticsToHclTerraform(struct?: MdbPostgresqlClusterV2ConfigPerformanceDiagnostics | cdktf.IResolvable): any; export declare class MdbPostgresqlClusterV2ConfigPerformanceDiagnosticsOutputReference 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(): MdbPostgresqlClusterV2ConfigPerformanceDiagnostics | cdktf.IResolvable | undefined; set internalValue(value: MdbPostgresqlClusterV2ConfigPerformanceDiagnostics | cdktf.IResolvable | undefined); private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); resetEnabled(): void; get enabledInput(): any; private _sessionsSamplingInterval?; get sessionsSamplingInterval(): number; set sessionsSamplingInterval(value: number); get sessionsSamplingIntervalInput(): number; private _statementsSamplingInterval?; get statementsSamplingInterval(): number; set statementsSamplingInterval(value: number); get statementsSamplingIntervalInput(): number; } export interface MdbPostgresqlClusterV2ConfigPoolerConfig { /** * Setting pool_discard parameter in Odyssey. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#pool_discard MdbPostgresqlClusterV2#pool_discard} */ readonly poolDiscard?: boolean | cdktf.IResolvable; /** * Mode that the connection pooler is working in. See descriptions of all modes in the [documentation for Odyssey](https://github.com/yandex/odyssey/blob/master/documentation/configuration.md#pool-string.) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#pooling_mode MdbPostgresqlClusterV2#pooling_mode} */ readonly poolingMode?: string; } export declare function mdbPostgresqlClusterV2ConfigPoolerConfigToTerraform(struct?: MdbPostgresqlClusterV2ConfigPoolerConfig | cdktf.IResolvable): any; export declare function mdbPostgresqlClusterV2ConfigPoolerConfigToHclTerraform(struct?: MdbPostgresqlClusterV2ConfigPoolerConfig | cdktf.IResolvable): any; export declare class MdbPostgresqlClusterV2ConfigPoolerConfigOutputReference 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(): MdbPostgresqlClusterV2ConfigPoolerConfig | cdktf.IResolvable | undefined; set internalValue(value: MdbPostgresqlClusterV2ConfigPoolerConfig | cdktf.IResolvable | undefined); private _poolDiscard?; get poolDiscard(): boolean | cdktf.IResolvable; set poolDiscard(value: boolean | cdktf.IResolvable); resetPoolDiscard(): void; get poolDiscardInput(): any; private _poolingMode?; get poolingMode(): string; set poolingMode(value: string); resetPoolingMode(): void; get poolingModeInput(): string; } export interface MdbPostgresqlClusterV2ConfigResources { /** * Size of the disk in bytes. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#disk_size MdbPostgresqlClusterV2#disk_size} */ readonly diskSize: number; /** * ID of the disk type that determines the disk performance characteristics. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#disk_type_id MdbPostgresqlClusterV2#disk_type_id} */ readonly diskTypeId: string; /** * ID of the resource preset that determines the number of CPU cores and memory size for the host. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#resource_preset_id MdbPostgresqlClusterV2#resource_preset_id} */ readonly resourcePresetId: string; } export declare function mdbPostgresqlClusterV2ConfigResourcesToTerraform(struct?: MdbPostgresqlClusterV2ConfigResources | cdktf.IResolvable): any; export declare function mdbPostgresqlClusterV2ConfigResourcesToHclTerraform(struct?: MdbPostgresqlClusterV2ConfigResources | cdktf.IResolvable): any; export declare class MdbPostgresqlClusterV2ConfigResourcesOutputReference 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(): MdbPostgresqlClusterV2ConfigResources | cdktf.IResolvable | undefined; set internalValue(value: MdbPostgresqlClusterV2ConfigResources | cdktf.IResolvable | undefined); private _diskSize?; get diskSize(): number; set diskSize(value: number); get diskSizeInput(): number; private _diskTypeId?; get diskTypeId(): string; set diskTypeId(value: string); get diskTypeIdInput(): string; private _resourcePresetId?; get resourcePresetId(): string; set resourcePresetId(value: string); get resourcePresetIdInput(): string; } export interface MdbPostgresqlClusterV2ConfigA { /** * Access policy to the PostgreSQL cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#access MdbPostgresqlClusterV2#access} */ readonly access?: MdbPostgresqlClusterV2ConfigAccess; /** * Configuration setting which enables/disables automatic failover in the cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#autofailover MdbPostgresqlClusterV2#autofailover} */ readonly autofailover?: boolean | cdktf.IResolvable; /** * The period in days during which backups are stored. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#backup_retain_period_days MdbPostgresqlClusterV2#backup_retain_period_days} */ readonly backupRetainPeriodDays?: number; /** * Time to start the daily backup, in the UTC timezone. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#backup_window_start MdbPostgresqlClusterV2#backup_window_start} */ readonly backupWindowStart?: MdbPostgresqlClusterV2ConfigBackupWindowStart; /** * Cluster disk size autoscaling settings. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#disk_size_autoscaling MdbPostgresqlClusterV2#disk_size_autoscaling} */ readonly diskSizeAutoscaling?: MdbPostgresqlClusterV2ConfigDiskSizeAutoscaling; /** * Cluster performance diagnostics settings. The structure is documented below. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#performance_diagnostics MdbPostgresqlClusterV2#performance_diagnostics} */ readonly performanceDiagnostics?: MdbPostgresqlClusterV2ConfigPerformanceDiagnostics; /** * Configuration of the connection pooler. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#pooler_config MdbPostgresqlClusterV2#pooler_config} */ readonly poolerConfig?: MdbPostgresqlClusterV2ConfigPoolerConfig; /** * PostgreSQL cluster configuration. For detailed information specific to your PostgreSQL version, please refer to the [API proto specifications](https://github.com/yandex-cloud/cloudapi/tree/master/yandex/cloud/mdb/postgresql/v1/config). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#postgresql_config MdbPostgresqlClusterV2#postgresql_config} */ readonly postgresqlConfig?: { [key: string]: string; }; /** * Version of the PostgreSQL cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#version MdbPostgresqlClusterV2#version} */ readonly version: string; /** * resources block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#resources MdbPostgresqlClusterV2#resources} */ readonly resources: MdbPostgresqlClusterV2ConfigResources; } export declare function mdbPostgresqlClusterV2ConfigAToTerraform(struct?: MdbPostgresqlClusterV2ConfigA | cdktf.IResolvable): any; export declare function mdbPostgresqlClusterV2ConfigAToHclTerraform(struct?: MdbPostgresqlClusterV2ConfigA | cdktf.IResolvable): any; export declare class MdbPostgresqlClusterV2ConfigAOutputReference 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(): MdbPostgresqlClusterV2ConfigA | cdktf.IResolvable | undefined; set internalValue(value: MdbPostgresqlClusterV2ConfigA | cdktf.IResolvable | undefined); private _access; get access(): MdbPostgresqlClusterV2ConfigAccessOutputReference; putAccess(value: MdbPostgresqlClusterV2ConfigAccess): void; resetAccess(): void; get accessInput(): any; private _autofailover?; get autofailover(): boolean | cdktf.IResolvable; set autofailover(value: boolean | cdktf.IResolvable); resetAutofailover(): void; get autofailoverInput(): any; private _backupRetainPeriodDays?; get backupRetainPeriodDays(): number; set backupRetainPeriodDays(value: number); resetBackupRetainPeriodDays(): void; get backupRetainPeriodDaysInput(): number; private _backupWindowStart; get backupWindowStart(): MdbPostgresqlClusterV2ConfigBackupWindowStartOutputReference; putBackupWindowStart(value: MdbPostgresqlClusterV2ConfigBackupWindowStart): void; resetBackupWindowStart(): void; get backupWindowStartInput(): any; private _diskSizeAutoscaling; get diskSizeAutoscaling(): MdbPostgresqlClusterV2ConfigDiskSizeAutoscalingOutputReference; putDiskSizeAutoscaling(value: MdbPostgresqlClusterV2ConfigDiskSizeAutoscaling): void; resetDiskSizeAutoscaling(): void; get diskSizeAutoscalingInput(): any; private _performanceDiagnostics; get performanceDiagnostics(): MdbPostgresqlClusterV2ConfigPerformanceDiagnosticsOutputReference; putPerformanceDiagnostics(value: MdbPostgresqlClusterV2ConfigPerformanceDiagnostics): void; resetPerformanceDiagnostics(): void; get performanceDiagnosticsInput(): any; private _poolerConfig; get poolerConfig(): MdbPostgresqlClusterV2ConfigPoolerConfigOutputReference; putPoolerConfig(value: MdbPostgresqlClusterV2ConfigPoolerConfig): void; resetPoolerConfig(): void; get poolerConfigInput(): any; private _postgresqlConfig?; get postgresqlConfig(): { [key: string]: string; }; set postgresqlConfig(value: { [key: string]: string; }); resetPostgresqlConfig(): void; get postgresqlConfigInput(): { [key: string]: string; }; private _version?; get version(): string; set version(value: string); get versionInput(): string; private _resources; get resources(): MdbPostgresqlClusterV2ConfigResourcesOutputReference; putResources(value: MdbPostgresqlClusterV2ConfigResources): void; get resourcesInput(): any; } /** * Represents a {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2 yandex_mdb_postgresql_cluster_v2} */ export declare class MdbPostgresqlClusterV2 extends cdktf.TerraformResource { static readonly tfResourceType = "yandex_mdb_postgresql_cluster_v2"; /** * Generates CDKTF code for importing a MdbPostgresqlClusterV2 resource upon running "cdktf plan " * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the MdbPostgresqlClusterV2 to import * @param importFromId The id of the existing MdbPostgresqlClusterV2 that should be imported. Refer to the {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the MdbPostgresqlClusterV2 to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any; /** * Create a new {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_postgresql_cluster_v2 yandex_mdb_postgresql_cluster_v2} 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 MdbPostgresqlClusterV2Config */ constructor(scope: Construct, id: string, config: MdbPostgresqlClusterV2Config); private _deletionProtection?; get deletionProtection(): boolean | cdktf.IResolvable; set deletionProtection(value: boolean | cdktf.IResolvable); resetDeletionProtection(): void; get deletionProtectionInput(): any; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _diskEncryptionKeyId?; get diskEncryptionKeyId(): string; set diskEncryptionKeyId(value: string); resetDiskEncryptionKeyId(): void; get diskEncryptionKeyIdInput(): string; private _environment?; get environment(): string; set environment(value: string); get environmentInput(): string; private _folderId?; get folderId(): string; set folderId(value: string); resetFolderId(): void; get folderIdInput(): string; private _hosts; get hosts(): MdbPostgresqlClusterV2HostsMap; putHosts(value: { [key: string]: MdbPostgresqlClusterV2Hosts; } | cdktf.IResolvable): void; get hostsInput(): any; get id(): any; private _labels?; get labels(): { [key: string]: string; }; set labels(value: { [key: string]: string; }); resetLabels(): void; get labelsInput(): { [key: string]: string; }; private _maintenanceWindow; get maintenanceWindow(): MdbPostgresqlClusterV2MaintenanceWindowOutputReference; putMaintenanceWindow(value: MdbPostgresqlClusterV2MaintenanceWindow): void; resetMaintenanceWindow(): void; get maintenanceWindowInput(): any; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _networkId?; get networkId(): string; set networkId(value: string); get networkIdInput(): string; private _restore; get restore(): MdbPostgresqlClusterV2RestoreOutputReference; putRestore(value: MdbPostgresqlClusterV2Restore): void; resetRestore(): void; get restoreInput(): any; private _securityGroupIds?; get securityGroupIds(): string[]; set securityGroupIds(value: string[]); resetSecurityGroupIds(): void; get securityGroupIdsInput(): string[]; private _timeouts; get timeouts(): MdbPostgresqlClusterV2TimeoutsOutputReference; putTimeouts(value: MdbPostgresqlClusterV2Timeouts): void; resetTimeouts(): void; get timeoutsInput(): any; private _config; get config(): MdbPostgresqlClusterV2ConfigAOutputReference; putConfig(value: MdbPostgresqlClusterV2ConfigA): void; resetConfig(): void; get configInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }