import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface DbaasConfig extends cdktf.TerraformMetaArguments { /** * The day of week to perform the automated database service maintenance (`never`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#maintenance_dow Dbaas#maintenance_dow} */ readonly maintenanceDow?: string; /** * The time of day to perform the automated database service maintenance (`HH:MM:SS`) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#maintenance_time Dbaas#maintenance_time} */ readonly maintenanceTime?: string; /** * ❗ The name of the database service. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#name Dbaas#name} */ readonly name: string; /** * The plan of the database service (use the [Exoscale CLI](https://github.com/exoscale/cli/) - `exo dbaas type show --plans` - for reference). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#plan Dbaas#plan} */ readonly plan: string; /** * The database service protection boolean flag against termination/power-off. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#termination_protection Dbaas#termination_protection} */ readonly terminationProtection?: boolean | cdktf.IResolvable; /** * ❗ The type of the database service (`kafka`, `mysql`, `opensearch`, `pg`, `valkey`, `grafana`). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#type Dbaas#type} */ readonly type: string; /** * ❗ The Exoscale [Zone](https://www.exoscale.com/datacenters/) name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#zone Dbaas#zone} */ readonly zone: string; /** * grafana block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#grafana Dbaas#grafana} */ readonly grafana?: DbaasGrafana; /** * kafka block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#kafka Dbaas#kafka} */ readonly kafka?: DbaasKafka; /** * mysql block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#mysql Dbaas#mysql} */ readonly mysql?: DbaasMysql; /** * opensearch block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#opensearch Dbaas#opensearch} */ readonly opensearch?: DbaasOpensearch; /** * pg block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#pg Dbaas#pg} */ readonly pg?: DbaasPg; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#timeouts Dbaas#timeouts} */ readonly timeouts?: DbaasTimeouts; /** * valkey block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#valkey Dbaas#valkey} */ readonly valkey?: DbaasValkey; } export interface DbaasGrafana { /** * Grafana configuration settings in JSON format (`exo dbaas type show grafana --settings=grafana` for reference). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#grafana_settings Dbaas#grafana_settings} */ readonly grafanaSettings?: string; /** * A list of CIDR blocks to allow incoming connections from. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#ip_filter Dbaas#ip_filter} */ readonly ipFilter?: string[]; } export declare function dbaasGrafanaToTerraform(struct?: DbaasGrafana | cdktf.IResolvable): any; export declare function dbaasGrafanaToHclTerraform(struct?: DbaasGrafana | cdktf.IResolvable): any; export declare class DbaasGrafanaOutputReference 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(): DbaasGrafana | cdktf.IResolvable | undefined; set internalValue(value: DbaasGrafana | cdktf.IResolvable | undefined); private _grafanaSettings?; get grafanaSettings(): string; set grafanaSettings(value: string); resetGrafanaSettings(): void; get grafanaSettingsInput(): string; private _ipFilter?; get ipFilter(): string[]; set ipFilter(value: string[]); resetIpFilter(): void; get ipFilterInput(): string[]; } export interface DbaasKafka { /** * Enable certificate-based authentication method. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#enable_cert_auth Dbaas#enable_cert_auth} */ readonly enableCertAuth?: boolean | cdktf.IResolvable; /** * Enable Kafka Connect. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#enable_kafka_connect Dbaas#enable_kafka_connect} */ readonly enableKafkaConnect?: boolean | cdktf.IResolvable; /** * Enable Kafka REST. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#enable_kafka_rest Dbaas#enable_kafka_rest} */ readonly enableKafkaRest?: boolean | cdktf.IResolvable; /** * Enable SASL-based authentication method. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#enable_sasl_auth Dbaas#enable_sasl_auth} */ readonly enableSaslAuth?: boolean | cdktf.IResolvable; /** * Enable Schema Registry. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#enable_schema_registry Dbaas#enable_schema_registry} */ readonly enableSchemaRegistry?: boolean | cdktf.IResolvable; /** * A list of CIDR blocks to allow incoming connections from. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#ip_filter Dbaas#ip_filter} */ readonly ipFilter?: string[]; /** * Kafka Connect configuration settings in JSON format (`exo dbaas type show kafka --settings=kafka-connect` for reference). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#kafka_connect_settings Dbaas#kafka_connect_settings} */ readonly kafkaConnectSettings?: string; /** * Kafka REST configuration settings in JSON format (`exo dbaas type show kafka --settings=kafka-rest` for reference). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#kafka_rest_settings Dbaas#kafka_rest_settings} */ readonly kafkaRestSettings?: string; /** * Kafka configuration settings in JSON format (`exo dbaas type show kafka --settings=kafka` for reference). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#kafka_settings Dbaas#kafka_settings} */ readonly kafkaSettings?: string; /** * Schema Registry configuration settings in JSON format (`exo dbaas type show kafka --settings=schema-registry` for reference) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#schema_registry_settings Dbaas#schema_registry_settings} */ readonly schemaRegistrySettings?: string; /** * Kafka major version (`exo dbaas type show kafka` for reference; may only be set at creation time). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#version Dbaas#version} */ readonly version?: string; } export declare function dbaasKafkaToTerraform(struct?: DbaasKafka | cdktf.IResolvable): any; export declare function dbaasKafkaToHclTerraform(struct?: DbaasKafka | cdktf.IResolvable): any; export declare class DbaasKafkaOutputReference 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(): DbaasKafka | cdktf.IResolvable | undefined; set internalValue(value: DbaasKafka | cdktf.IResolvable | undefined); private _enableCertAuth?; get enableCertAuth(): boolean | cdktf.IResolvable; set enableCertAuth(value: boolean | cdktf.IResolvable); resetEnableCertAuth(): void; get enableCertAuthInput(): any; private _enableKafkaConnect?; get enableKafkaConnect(): boolean | cdktf.IResolvable; set enableKafkaConnect(value: boolean | cdktf.IResolvable); resetEnableKafkaConnect(): void; get enableKafkaConnectInput(): any; private _enableKafkaRest?; get enableKafkaRest(): boolean | cdktf.IResolvable; set enableKafkaRest(value: boolean | cdktf.IResolvable); resetEnableKafkaRest(): void; get enableKafkaRestInput(): any; private _enableSaslAuth?; get enableSaslAuth(): boolean | cdktf.IResolvable; set enableSaslAuth(value: boolean | cdktf.IResolvable); resetEnableSaslAuth(): void; get enableSaslAuthInput(): any; private _enableSchemaRegistry?; get enableSchemaRegistry(): boolean | cdktf.IResolvable; set enableSchemaRegistry(value: boolean | cdktf.IResolvable); resetEnableSchemaRegistry(): void; get enableSchemaRegistryInput(): any; private _ipFilter?; get ipFilter(): string[]; set ipFilter(value: string[]); resetIpFilter(): void; get ipFilterInput(): string[]; private _kafkaConnectSettings?; get kafkaConnectSettings(): string; set kafkaConnectSettings(value: string); resetKafkaConnectSettings(): void; get kafkaConnectSettingsInput(): string; private _kafkaRestSettings?; get kafkaRestSettings(): string; set kafkaRestSettings(value: string); resetKafkaRestSettings(): void; get kafkaRestSettingsInput(): string; private _kafkaSettings?; get kafkaSettings(): string; set kafkaSettings(value: string); resetKafkaSettings(): void; get kafkaSettingsInput(): string; private _schemaRegistrySettings?; get schemaRegistrySettings(): string; set schemaRegistrySettings(value: string); resetSchemaRegistrySettings(): void; get schemaRegistrySettingsInput(): string; private _version?; get version(): string; set version(value: string); resetVersion(): void; get versionInput(): string; } export interface DbaasMysql { /** * A custom administrator account password (may only be set at creation time). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#admin_password Dbaas#admin_password} */ readonly adminPassword?: string; /** * A custom administrator account username (may only be set at creation time). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#admin_username Dbaas#admin_username} */ readonly adminUsername?: string; /** * The automated backup schedule (`HH:MM`). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#backup_schedule Dbaas#backup_schedule} */ readonly backupSchedule?: string; /** * A list of CIDR blocks to allow incoming connections from. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#ip_filter Dbaas#ip_filter} */ readonly ipFilter?: string[]; /** * MySQL configuration settings in JSON format (`exo dbaas type show mysql --settings=mysql` for reference). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#mysql_settings Dbaas#mysql_settings} */ readonly mysqlSettings?: string; /** * MySQL major version (`exo dbaas type show mysql` for reference; may only be set at creation time). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#version Dbaas#version} */ readonly version?: string; } export declare function dbaasMysqlToTerraform(struct?: DbaasMysql | cdktf.IResolvable): any; export declare function dbaasMysqlToHclTerraform(struct?: DbaasMysql | cdktf.IResolvable): any; export declare class DbaasMysqlOutputReference 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(): DbaasMysql | cdktf.IResolvable | undefined; set internalValue(value: DbaasMysql | cdktf.IResolvable | undefined); private _adminPassword?; get adminPassword(): string; set adminPassword(value: string); resetAdminPassword(): void; get adminPasswordInput(): string; private _adminUsername?; get adminUsername(): string; set adminUsername(value: string); resetAdminUsername(): void; get adminUsernameInput(): string; private _backupSchedule?; get backupSchedule(): string; set backupSchedule(value: string); resetBackupSchedule(): void; get backupScheduleInput(): string; private _ipFilter?; get ipFilter(): string[]; set ipFilter(value: string[]); resetIpFilter(): void; get ipFilterInput(): string[]; private _mysqlSettings?; get mysqlSettings(): string; set mysqlSettings(value: string); resetMysqlSettings(): void; get mysqlSettingsInput(): string; private _version?; get version(): string; set version(value: string); resetVersion(): void; get versionInput(): string; } export interface DbaasOpensearchDashboards { /** * Enable or disable OpenSearch Dashboards (default: true). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#enabled Dbaas#enabled} */ readonly enabled?: boolean | cdktf.IResolvable; /** * Limits the maximum amount of memory (in MiB) the OpenSearch Dashboards process can use. This sets the max_old_space_size option of the nodejs running the OpenSearch Dashboards. Note: the memory reserved by OpenSearch Dashboards is not available for OpenSearch. (default: 128). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#max_old_space_size Dbaas#max_old_space_size} */ readonly maxOldSpaceSize?: number; /** * Timeout in milliseconds for requests made by OpenSearch Dashboards towards OpenSearch (default: 30000) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#request_timeout Dbaas#request_timeout} */ readonly requestTimeout?: number; } export declare function dbaasOpensearchDashboardsToTerraform(struct?: DbaasOpensearchDashboards | cdktf.IResolvable): any; export declare function dbaasOpensearchDashboardsToHclTerraform(struct?: DbaasOpensearchDashboards | cdktf.IResolvable): any; export declare class DbaasOpensearchDashboardsOutputReference 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(): DbaasOpensearchDashboards | cdktf.IResolvable | undefined; set internalValue(value: DbaasOpensearchDashboards | cdktf.IResolvable | undefined); private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); resetEnabled(): void; get enabledInput(): any; private _maxOldSpaceSize?; get maxOldSpaceSize(): number; set maxOldSpaceSize(value: number); resetMaxOldSpaceSize(): void; get maxOldSpaceSizeInput(): number; private _requestTimeout?; get requestTimeout(): number; set requestTimeout(value: number); resetRequestTimeout(): void; get requestTimeoutInput(): number; } export interface DbaasOpensearchIndexPattern { /** * Maximum number of indexes to keep before deleting the oldest one (Minimum value is `0`) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#max_index_count Dbaas#max_index_count} */ readonly maxIndexCount?: number; /** * fnmatch pattern * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#pattern Dbaas#pattern} */ readonly pattern?: string; /** * `alphabetical` or `creation_date`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#sorting_algorithm Dbaas#sorting_algorithm} */ readonly sortingAlgorithm?: string; } export declare function dbaasOpensearchIndexPatternToTerraform(struct?: DbaasOpensearchIndexPattern | cdktf.IResolvable): any; export declare function dbaasOpensearchIndexPatternToHclTerraform(struct?: DbaasOpensearchIndexPattern | cdktf.IResolvable): any; export declare class DbaasOpensearchIndexPatternOutputReference 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(): DbaasOpensearchIndexPattern | cdktf.IResolvable | undefined; set internalValue(value: DbaasOpensearchIndexPattern | cdktf.IResolvable | undefined); private _maxIndexCount?; get maxIndexCount(): number; set maxIndexCount(value: number); resetMaxIndexCount(): void; get maxIndexCountInput(): number; private _pattern?; get pattern(): string; set pattern(value: string); resetPattern(): void; get patternInput(): string; private _sortingAlgorithm?; get sortingAlgorithm(): string; set sortingAlgorithm(value: string); resetSortingAlgorithm(): void; get sortingAlgorithmInput(): string; } export declare class DbaasOpensearchIndexPatternList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: DbaasOpensearchIndexPattern[] | 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): DbaasOpensearchIndexPatternOutputReference; } export interface DbaasOpensearchIndexTemplate { /** * The maximum number of nested JSON objects that a single document can contain across all nested types. This limit helps to prevent out of memory errors when a document contains too many nested objects. (Default is 10000. Minimum value is `0`, maximum value is `100000`.) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#mapping_nested_objects_limit Dbaas#mapping_nested_objects_limit} */ readonly mappingNestedObjectsLimit?: number; /** * The number of replicas each primary shard has. (Minimum value is `0`, maximum value is `29`) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#number_of_replicas Dbaas#number_of_replicas} */ readonly numberOfReplicas?: number; /** * The number of primary shards that an index should have. (Minimum value is `1`, maximum value is `1024`.) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#number_of_shards Dbaas#number_of_shards} */ readonly numberOfShards?: number; } export declare function dbaasOpensearchIndexTemplateToTerraform(struct?: DbaasOpensearchIndexTemplate | cdktf.IResolvable): any; export declare function dbaasOpensearchIndexTemplateToHclTerraform(struct?: DbaasOpensearchIndexTemplate | cdktf.IResolvable): any; export declare class DbaasOpensearchIndexTemplateOutputReference 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(): DbaasOpensearchIndexTemplate | cdktf.IResolvable | undefined; set internalValue(value: DbaasOpensearchIndexTemplate | cdktf.IResolvable | undefined); private _mappingNestedObjectsLimit?; get mappingNestedObjectsLimit(): number; set mappingNestedObjectsLimit(value: number); resetMappingNestedObjectsLimit(): void; get mappingNestedObjectsLimitInput(): number; private _numberOfReplicas?; get numberOfReplicas(): number; set numberOfReplicas(value: number); resetNumberOfReplicas(): void; get numberOfReplicasInput(): number; private _numberOfShards?; get numberOfShards(): number; set numberOfShards(value: number); resetNumberOfShards(): void; get numberOfShardsInput(): number; } export interface DbaasOpensearch { /** * ❗ Service name * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#fork_from_service Dbaas#fork_from_service} */ readonly forkFromService?: string; /** * Allow incoming connections from this list of CIDR address block, e.g. `["10.20.0.0/16"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#ip_filter Dbaas#ip_filter} */ readonly ipFilter?: string[]; /** * Aiven automation resets index.refresh_interval to default value for every index to be sure that indices are always visible to search. If it doesn't fit your case, you can disable this by setting up this flag to true. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#keep_index_refresh_interval Dbaas#keep_index_refresh_interval} */ readonly keepIndexRefreshInterval?: boolean | cdktf.IResolvable; /** * Maximum number of indexes to keep (Minimum value is `0`) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#max_index_count Dbaas#max_index_count} */ readonly maxIndexCount?: number; /** * ❗ Name of a backup to recover from * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#recovery_backup_name Dbaas#recovery_backup_name} */ readonly recoveryBackupName?: string; /** * OpenSearch-specific settings, in json. e.g.`jsonencode({thread_pool_search_size: 64})`. Use `exo x get-dbaas-settings-opensearch` to get a list of available settings. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#settings Dbaas#settings} */ readonly settings?: string; /** * ❗ OpenSearch major version (`exo dbaas type show opensearch` for reference) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#version Dbaas#version} */ readonly version?: string; /** * dashboards block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#dashboards Dbaas#dashboards} */ readonly dashboards?: DbaasOpensearchDashboards; /** * index_pattern block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#index_pattern Dbaas#index_pattern} */ readonly indexPattern?: DbaasOpensearchIndexPattern[] | cdktf.IResolvable; /** * index_template block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#index_template Dbaas#index_template} */ readonly indexTemplate?: DbaasOpensearchIndexTemplate; } export declare function dbaasOpensearchToTerraform(struct?: DbaasOpensearch | cdktf.IResolvable): any; export declare function dbaasOpensearchToHclTerraform(struct?: DbaasOpensearch | cdktf.IResolvable): any; export declare class DbaasOpensearchOutputReference 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(): DbaasOpensearch | cdktf.IResolvable | undefined; set internalValue(value: DbaasOpensearch | cdktf.IResolvable | undefined); private _forkFromService?; get forkFromService(): string; set forkFromService(value: string); resetForkFromService(): void; get forkFromServiceInput(): string; private _ipFilter?; get ipFilter(): string[]; set ipFilter(value: string[]); resetIpFilter(): void; get ipFilterInput(): string[]; private _keepIndexRefreshInterval?; get keepIndexRefreshInterval(): boolean | cdktf.IResolvable; set keepIndexRefreshInterval(value: boolean | cdktf.IResolvable); resetKeepIndexRefreshInterval(): void; get keepIndexRefreshIntervalInput(): any; private _maxIndexCount?; get maxIndexCount(): number; set maxIndexCount(value: number); resetMaxIndexCount(): void; get maxIndexCountInput(): number; private _recoveryBackupName?; get recoveryBackupName(): string; set recoveryBackupName(value: string); resetRecoveryBackupName(): void; get recoveryBackupNameInput(): string; private _settings?; get settings(): string; set settings(value: string); resetSettings(): void; get settingsInput(): string; private _version?; get version(): string; set version(value: string); resetVersion(): void; get versionInput(): string; private _dashboards; get dashboards(): DbaasOpensearchDashboardsOutputReference; putDashboards(value: DbaasOpensearchDashboards): void; resetDashboards(): void; get dashboardsInput(): any; private _indexPattern; get indexPattern(): DbaasOpensearchIndexPatternList; putIndexPattern(value: DbaasOpensearchIndexPattern[] | cdktf.IResolvable): void; resetIndexPattern(): void; get indexPatternInput(): any; private _indexTemplate; get indexTemplate(): DbaasOpensearchIndexTemplateOutputReference; putIndexTemplate(value: DbaasOpensearchIndexTemplate): void; resetIndexTemplate(): void; get indexTemplateInput(): any; } export interface DbaasPg { /** * A custom administrator account password (may only be set at creation time). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#admin_password Dbaas#admin_password} */ readonly adminPassword?: string; /** * A custom administrator account username (may only be set at creation time). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#admin_username Dbaas#admin_username} */ readonly adminUsername?: string; /** * The automated backup schedule (`HH:MM`). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#backup_schedule Dbaas#backup_schedule} */ readonly backupSchedule?: string; /** * A list of CIDR blocks to allow incoming connections from. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#ip_filter Dbaas#ip_filter} */ readonly ipFilter?: string[]; /** * PostgreSQL configuration settings in JSON format (`exo dbaas type show pg --settings=pg` for reference). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#pg_settings Dbaas#pg_settings} */ readonly pgSettings?: string; /** * PgBouncer configuration settings in JSON format (`exo dbaas type show pg --settings=pgbouncer` for reference). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#pgbouncer_settings Dbaas#pgbouncer_settings} */ readonly pgbouncerSettings?: string; /** * pglookout configuration settings in JSON format (`exo dbaas type show pg --settings=pglookout` for reference). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#pglookout_settings Dbaas#pglookout_settings} */ readonly pglookoutSettings?: string; /** * PostgreSQL major version (`exo dbaas type show pg` for reference; may only be set at creation time). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#version Dbaas#version} */ readonly version?: string; } export declare function dbaasPgToTerraform(struct?: DbaasPg | cdktf.IResolvable): any; export declare function dbaasPgToHclTerraform(struct?: DbaasPg | cdktf.IResolvable): any; export declare class DbaasPgOutputReference 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(): DbaasPg | cdktf.IResolvable | undefined; set internalValue(value: DbaasPg | cdktf.IResolvable | undefined); private _adminPassword?; get adminPassword(): string; set adminPassword(value: string); resetAdminPassword(): void; get adminPasswordInput(): string; private _adminUsername?; get adminUsername(): string; set adminUsername(value: string); resetAdminUsername(): void; get adminUsernameInput(): string; private _backupSchedule?; get backupSchedule(): string; set backupSchedule(value: string); resetBackupSchedule(): void; get backupScheduleInput(): string; private _ipFilter?; get ipFilter(): string[]; set ipFilter(value: string[]); resetIpFilter(): void; get ipFilterInput(): string[]; private _pgSettings?; get pgSettings(): string; set pgSettings(value: string); resetPgSettings(): void; get pgSettingsInput(): string; private _pgbouncerSettings?; get pgbouncerSettings(): string; set pgbouncerSettings(value: string); resetPgbouncerSettings(): void; get pgbouncerSettingsInput(): string; private _pglookoutSettings?; get pglookoutSettings(): string; set pglookoutSettings(value: string); resetPglookoutSettings(): void; get pglookoutSettingsInput(): string; private _version?; get version(): string; set version(value: string); resetVersion(): void; get versionInput(): string; } export interface DbaasTimeouts { /** * 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/exoscale/exoscale/0.67.1/docs/resources/dbaas#create Dbaas#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/exoscale/exoscale/0.67.1/docs/resources/dbaas#delete Dbaas#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). Read operations occur during any refresh or planning operation when refresh is enabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#read Dbaas#read} */ readonly read?: 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/exoscale/exoscale/0.67.1/docs/resources/dbaas#update Dbaas#update} */ readonly update?: string; } export declare function dbaasTimeoutsToTerraform(struct?: DbaasTimeouts | cdktf.IResolvable): any; export declare function dbaasTimeoutsToHclTerraform(struct?: DbaasTimeouts | cdktf.IResolvable): any; export declare class DbaasTimeoutsOutputReference 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(): DbaasTimeouts | cdktf.IResolvable | undefined; set internalValue(value: DbaasTimeouts | 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 _read?; get read(): string; set read(value: string); resetRead(): void; get readInput(): string; private _update?; get update(): string; set update(value: string); resetUpdate(): void; get updateInput(): string; } export interface DbaasValkey { /** * A list of CIDR blocks to allow incoming connections from. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#ip_filter Dbaas#ip_filter} */ readonly ipFilter?: string[]; /** * Valkey configuration settings in JSON format (`exo dbaas type show valkey --settings=valkey` for reference). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#valkey_settings Dbaas#valkey_settings} */ readonly valkeySettings?: string; } export declare function dbaasValkeyToTerraform(struct?: DbaasValkey | cdktf.IResolvable): any; export declare function dbaasValkeyToHclTerraform(struct?: DbaasValkey | cdktf.IResolvable): any; export declare class DbaasValkeyOutputReference 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(): DbaasValkey | cdktf.IResolvable | undefined; set internalValue(value: DbaasValkey | cdktf.IResolvable | undefined); private _ipFilter?; get ipFilter(): string[]; set ipFilter(value: string[]); resetIpFilter(): void; get ipFilterInput(): string[]; private _valkeySettings?; get valkeySettings(): string; set valkeySettings(value: string); resetValkeySettings(): void; get valkeySettingsInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas exoscale_dbaas} */ export declare class Dbaas extends cdktf.TerraformResource { static readonly tfResourceType = "exoscale_dbaas"; /** * Generates CDKTF code for importing a Dbaas 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 Dbaas to import * @param importFromId The id of the existing Dbaas that should be imported. Refer to the {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the Dbaas 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/exoscale/exoscale/0.67.1/docs/resources/dbaas exoscale_dbaas} 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 DbaasConfig */ constructor(scope: Construct, id: string, config: DbaasConfig); get caCertificate(): any; get createdAt(): any; get diskSize(): any; get id(): any; private _maintenanceDow?; get maintenanceDow(): string; set maintenanceDow(value: string); resetMaintenanceDow(): void; get maintenanceDowInput(): string; private _maintenanceTime?; get maintenanceTime(): string; set maintenanceTime(value: string); resetMaintenanceTime(): void; get maintenanceTimeInput(): string; private _name?; get name(): string; set name(value: string); get nameInput(): string; get nodeCpus(): any; get nodeMemory(): any; get nodes(): any; private _plan?; get plan(): string; set plan(value: string); get planInput(): string; get state(): any; private _terminationProtection?; get terminationProtection(): boolean | cdktf.IResolvable; set terminationProtection(value: boolean | cdktf.IResolvable); resetTerminationProtection(): void; get terminationProtectionInput(): any; private _type?; get type(): string; set type(value: string); get typeInput(): string; get updatedAt(): any; private _zone?; get zone(): string; set zone(value: string); get zoneInput(): string; private _grafana; get grafana(): DbaasGrafanaOutputReference; putGrafana(value: DbaasGrafana): void; resetGrafana(): void; get grafanaInput(): any; private _kafka; get kafka(): DbaasKafkaOutputReference; putKafka(value: DbaasKafka): void; resetKafka(): void; get kafkaInput(): any; private _mysql; get mysql(): DbaasMysqlOutputReference; putMysql(value: DbaasMysql): void; resetMysql(): void; get mysqlInput(): any; private _opensearch; get opensearch(): DbaasOpensearchOutputReference; putOpensearch(value: DbaasOpensearch): void; resetOpensearch(): void; get opensearchInput(): any; private _pg; get pg(): DbaasPgOutputReference; putPg(value: DbaasPg): void; resetPg(): void; get pgInput(): any; private _timeouts; get timeouts(): DbaasTimeoutsOutputReference; putTimeouts(value: DbaasTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; private _valkey; get valkey(): DbaasValkeyOutputReference; putValkey(value: DbaasValkey): void; resetValkey(): void; get valkeyInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }