import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface DataExoscaleDatabaseUriConfig extends cdktf.TerraformMetaArguments { /** * Name of database service to match. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/database_uri#name DataExoscaleDatabaseUri#name} */ readonly name: string; /** * 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/data-sources/database_uri#type DataExoscaleDatabaseUri#type} */ readonly type: string; /** * The Exoscale Zone name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/database_uri#zone DataExoscaleDatabaseUri#zone} */ readonly zone: string; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/database_uri#timeouts DataExoscaleDatabaseUri#timeouts} */ readonly timeouts?: DataExoscaleDatabaseUriTimeouts; } export interface DataExoscaleDatabaseUriTimeouts { /** * 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/data-sources/database_uri#read DataExoscaleDatabaseUri#read} */ readonly read?: string; } export declare function dataExoscaleDatabaseUriTimeoutsToTerraform(struct?: DataExoscaleDatabaseUriTimeouts | cdktf.IResolvable): any; export declare function dataExoscaleDatabaseUriTimeoutsToHclTerraform(struct?: DataExoscaleDatabaseUriTimeouts | cdktf.IResolvable): any; export declare class DataExoscaleDatabaseUriTimeoutsOutputReference 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(): DataExoscaleDatabaseUriTimeouts | cdktf.IResolvable | undefined; set internalValue(value: DataExoscaleDatabaseUriTimeouts | cdktf.IResolvable | undefined); private _read?; get read(): string; set read(value: string); resetRead(): void; get readInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/database_uri exoscale_database_uri} */ export declare class DataExoscaleDatabaseUri extends cdktf.TerraformDataSource { static readonly tfResourceType = "exoscale_database_uri"; /** * Generates CDKTF code for importing a DataExoscaleDatabaseUri 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 DataExoscaleDatabaseUri to import * @param importFromId The id of the existing DataExoscaleDatabaseUri that should be imported. Refer to the {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/database_uri#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the DataExoscaleDatabaseUri 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/data-sources/database_uri exoscale_database_uri} Data Source * * @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 DataExoscaleDatabaseUriConfig */ constructor(scope: Construct, id: string, config: DataExoscaleDatabaseUriConfig); get dbName(): any; get host(): any; get id(): any; private _name?; get name(): string; set name(value: string); get nameInput(): string; get password(): any; get port(): any; get schema(): any; private _type?; get type(): string; set type(value: string); get typeInput(): string; get uri(): any; get username(): any; private _zone?; get zone(): string; set zone(value: string); get zoneInput(): string; private _timeouts; get timeouts(): DataExoscaleDatabaseUriTimeoutsOutputReference; putTimeouts(value: DataExoscaleDatabaseUriTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }