import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface DbaasPgDatabaseConfig extends cdktf.TerraformMetaArguments { /** * ❗ The name of the database for this service. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas_pg_database#database_name DbaasPgDatabase#database_name} */ readonly databaseName: string; /** * Default string sort order (LC_COLLATE) for PostgreSQL database * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas_pg_database#lc_collate DbaasPgDatabase#lc_collate} */ readonly lcCollate?: string; /** * Default character classification (LC_CTYPE) for PostgreSQL database * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas_pg_database#lc_ctype DbaasPgDatabase#lc_ctype} */ readonly lcCtype?: 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_pg_database#service DbaasPgDatabase#service} */ readonly service: 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_pg_database#zone DbaasPgDatabase#zone} */ readonly zone: string; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas_pg_database#timeouts DbaasPgDatabase#timeouts} */ readonly timeouts?: DbaasPgDatabaseTimeouts; } export interface DbaasPgDatabaseTimeouts { /** * 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_pg_database#create DbaasPgDatabase#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_pg_database#delete DbaasPgDatabase#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_pg_database#read DbaasPgDatabase#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_pg_database#update DbaasPgDatabase#update} */ readonly update?: string; } export declare function dbaasPgDatabaseTimeoutsToTerraform(struct?: DbaasPgDatabaseTimeouts | cdktf.IResolvable): any; export declare function dbaasPgDatabaseTimeoutsToHclTerraform(struct?: DbaasPgDatabaseTimeouts | cdktf.IResolvable): any; export declare class DbaasPgDatabaseTimeoutsOutputReference 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(): DbaasPgDatabaseTimeouts | cdktf.IResolvable | undefined; set internalValue(value: DbaasPgDatabaseTimeouts | 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; } /** * Represents a {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas_pg_database exoscale_dbaas_pg_database} */ export declare class DbaasPgDatabase extends cdktf.TerraformResource { static readonly tfResourceType = "exoscale_dbaas_pg_database"; /** * Generates CDKTF code for importing a DbaasPgDatabase 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 DbaasPgDatabase to import * @param importFromId The id of the existing DbaasPgDatabase that should be imported. Refer to the {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/dbaas_pg_database#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the DbaasPgDatabase 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_pg_database exoscale_dbaas_pg_database} 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 DbaasPgDatabaseConfig */ constructor(scope: Construct, id: string, config: DbaasPgDatabaseConfig); private _databaseName?; get databaseName(): string; set databaseName(value: string); get databaseNameInput(): string; get id(): any; private _lcCollate?; get lcCollate(): string; set lcCollate(value: string); resetLcCollate(): void; get lcCollateInput(): string; private _lcCtype?; get lcCtype(): string; set lcCtype(value: string); resetLcCtype(): void; get lcCtypeInput(): string; private _service?; get service(): string; set service(value: string); get serviceInput(): string; private _zone?; get zone(): string; set zone(value: string); get zoneInput(): string; private _timeouts; get timeouts(): DbaasPgDatabaseTimeoutsOutputReference; putTimeouts(value: DbaasPgDatabaseTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }