import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface PostgresqlCloneDbInstanceConfig extends cdktf.TerraformMetaArguments { /** * Campaign ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_clone_db_instance#activity_id PostgresqlCloneDbInstance#activity_id} */ readonly activityId?: number; /** * Renewal Flag: * * - `0`: manual renewal * `1`: auto-renewal * * Default value: 0. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_clone_db_instance#auto_renew_flag PostgresqlCloneDbInstance#auto_renew_flag} */ readonly autoRenewFlag: number; /** * Basic backup set ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_clone_db_instance#backup_set_id PostgresqlCloneDbInstance#backup_set_id} */ readonly backupSetId?: string; /** * ID of the original instance to be cloned. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_clone_db_instance#db_instance_id PostgresqlCloneDbInstance#db_instance_id} */ readonly dbInstanceId: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_clone_db_instance#id PostgresqlCloneDbInstance#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; /** * Instance billing type, which currently supports: * * - PREPAID: Prepaid, i.e., monthly subscription * - POSTPAID_BY_HOUR: Pay-as-you-go, i.e., pay by consumption * * Default value: PREPAID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_clone_db_instance#instance_charge_type PostgresqlCloneDbInstance#instance_charge_type} */ readonly instanceChargeType?: string; /** * Name of the newly purchased instance, which can contain up to 60 letters, digits, or symbols (-_). If this parameter is not specified, "Unnamed" will be displayed by default. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_clone_db_instance#name PostgresqlCloneDbInstance#name} */ readonly name?: string; /** * Purchase duration, in months. * - Prepaid: Supports `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, and `36`. * - Pay-as-you-go: Only supports `1`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_clone_db_instance#period PostgresqlCloneDbInstance#period} */ readonly period: number; /** * Project ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_clone_db_instance#project_id PostgresqlCloneDbInstance#project_id} */ readonly projectId?: number; /** * Restoration point in time. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_clone_db_instance#recovery_target_time PostgresqlCloneDbInstance#recovery_target_time} */ readonly recoveryTargetTime?: string; /** * Security group of the instance, which can be obtained from the `sgld` field in the return value of the [DescribeSecurityGroups](https://intl.cloud.tencent.com/document/api/215/15808?from_cn_redirect=1) API. If this parameter is not specified, the default security group will be bound. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_clone_db_instance#security_group_ids PostgresqlCloneDbInstance#security_group_ids} */ readonly securityGroupIds?: string[]; /** * Purchasable code, which can be obtained from the `SpecCode` field in the return value of the [DescribeClasses](https://intl.cloud.tencent.com/document/api/409/89019?from_cn_redirect=1) API. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_clone_db_instance#spec_code PostgresqlCloneDbInstance#spec_code} */ readonly specCode: string; /** * Instance storage capacity in GB. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_clone_db_instance#storage PostgresqlCloneDbInstance#storage} */ readonly storage: number; /** * VPC subnet ID in the format of `subnet-xxxxxxxx`, which can be obtained in the console or from the `unSubnetId` field in the return value of the [DescribeSubnets](https://intl.cloud.tencent.com/document/api/215/15784?from_cn_redirect=1) API. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_clone_db_instance#subnet_id PostgresqlCloneDbInstance#subnet_id} */ readonly subnetId: string; /** * Primary-standby sync mode, which supports: * Semi-sync: Semi-sync * Async: Asynchronous * Default value for the primary instance: Semi-sync * Default value for the read-only instance: Async. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_clone_db_instance#sync_mode PostgresqlCloneDbInstance#sync_mode} */ readonly syncMode?: string; /** * VPC ID in the format of `vpc-xxxxxxx`, which can be obtained in the console or from the `unVpcId` field in the return value of the [DescribeVpcEx](https://intl.cloud.tencent.com/document/api/215/1372?from_cn_redirect=1) API. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_clone_db_instance#vpc_id PostgresqlCloneDbInstance#vpc_id} */ readonly vpcId: string; /** * db_node_set block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_clone_db_instance#db_node_set PostgresqlCloneDbInstance#db_node_set} */ readonly dbNodeSet?: PostgresqlCloneDbInstanceDbNodeSet[] | cdktf.IResolvable; /** * tag_list block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_clone_db_instance#tag_list PostgresqlCloneDbInstance#tag_list} */ readonly tagList?: PostgresqlCloneDbInstanceTagListStruct[] | cdktf.IResolvable; } export interface PostgresqlCloneDbInstanceDbNodeSet { /** * Dedicated cluster ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_clone_db_instance#dedicated_cluster_id PostgresqlCloneDbInstance#dedicated_cluster_id} */ readonly dedicatedClusterId?: string; /** * Node type. Valid values: * `Primary`; * `Standby`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_clone_db_instance#role PostgresqlCloneDbInstance#role} */ readonly role: string; /** * AZ where the node resides, such as ap-guangzhou-1. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_clone_db_instance#zone PostgresqlCloneDbInstance#zone} */ readonly zone: string; } export declare function postgresqlCloneDbInstanceDbNodeSetToTerraform(struct?: PostgresqlCloneDbInstanceDbNodeSet | cdktf.IResolvable): any; export declare function postgresqlCloneDbInstanceDbNodeSetToHclTerraform(struct?: PostgresqlCloneDbInstanceDbNodeSet | cdktf.IResolvable): any; export declare class PostgresqlCloneDbInstanceDbNodeSetOutputReference 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(): PostgresqlCloneDbInstanceDbNodeSet | cdktf.IResolvable | undefined; set internalValue(value: PostgresqlCloneDbInstanceDbNodeSet | cdktf.IResolvable | undefined); private _dedicatedClusterId?; get dedicatedClusterId(): string; set dedicatedClusterId(value: string); resetDedicatedClusterId(): void; get dedicatedClusterIdInput(): string; private _role?; get role(): string; set role(value: string); get roleInput(): string; private _zone?; get zone(): string; set zone(value: string); get zoneInput(): string; } export declare class PostgresqlCloneDbInstanceDbNodeSetList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: PostgresqlCloneDbInstanceDbNodeSet[] | 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): PostgresqlCloneDbInstanceDbNodeSetOutputReference; } export interface PostgresqlCloneDbInstanceTagListStruct { /** * Tag key. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_clone_db_instance#tag_key PostgresqlCloneDbInstance#tag_key} */ readonly tagKey: string; /** * Tag value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_clone_db_instance#tag_value PostgresqlCloneDbInstance#tag_value} */ readonly tagValue: string; } export declare function postgresqlCloneDbInstanceTagListStructToTerraform(struct?: PostgresqlCloneDbInstanceTagListStruct | cdktf.IResolvable): any; export declare function postgresqlCloneDbInstanceTagListStructToHclTerraform(struct?: PostgresqlCloneDbInstanceTagListStruct | cdktf.IResolvable): any; export declare class PostgresqlCloneDbInstanceTagListStructOutputReference 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(): PostgresqlCloneDbInstanceTagListStruct | cdktf.IResolvable | undefined; set internalValue(value: PostgresqlCloneDbInstanceTagListStruct | cdktf.IResolvable | undefined); private _tagKey?; get tagKey(): string; set tagKey(value: string); get tagKeyInput(): string; private _tagValue?; get tagValue(): string; set tagValue(value: string); get tagValueInput(): string; } export declare class PostgresqlCloneDbInstanceTagListStructList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: PostgresqlCloneDbInstanceTagListStruct[] | 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): PostgresqlCloneDbInstanceTagListStructOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_clone_db_instance tencentcloud_postgresql_clone_db_instance} */ export declare class PostgresqlCloneDbInstance extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_postgresql_clone_db_instance"; /** * Generates CDKTF code for importing a PostgresqlCloneDbInstance 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 PostgresqlCloneDbInstance to import * @param importFromId The id of the existing PostgresqlCloneDbInstance that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_clone_db_instance#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the PostgresqlCloneDbInstance 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/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_clone_db_instance tencentcloud_postgresql_clone_db_instance} 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 PostgresqlCloneDbInstanceConfig */ constructor(scope: Construct, id: string, config: PostgresqlCloneDbInstanceConfig); private _activityId?; get activityId(): number; set activityId(value: number); resetActivityId(): void; get activityIdInput(): number; private _autoRenewFlag?; get autoRenewFlag(): number; set autoRenewFlag(value: number); get autoRenewFlagInput(): number; private _backupSetId?; get backupSetId(): string; set backupSetId(value: string); resetBackupSetId(): void; get backupSetIdInput(): string; private _dbInstanceId?; get dbInstanceId(): string; set dbInstanceId(value: string); get dbInstanceIdInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _instanceChargeType?; get instanceChargeType(): string; set instanceChargeType(value: string); resetInstanceChargeType(): void; get instanceChargeTypeInput(): string; private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string; private _period?; get period(): number; set period(value: number); get periodInput(): number; private _projectId?; get projectId(): number; set projectId(value: number); resetProjectId(): void; get projectIdInput(): number; private _recoveryTargetTime?; get recoveryTargetTime(): string; set recoveryTargetTime(value: string); resetRecoveryTargetTime(): void; get recoveryTargetTimeInput(): string; private _securityGroupIds?; get securityGroupIds(): string[]; set securityGroupIds(value: string[]); resetSecurityGroupIds(): void; get securityGroupIdsInput(): string[]; private _specCode?; get specCode(): string; set specCode(value: string); get specCodeInput(): string; private _storage?; get storage(): number; set storage(value: number); get storageInput(): number; private _subnetId?; get subnetId(): string; set subnetId(value: string); get subnetIdInput(): string; private _syncMode?; get syncMode(): string; set syncMode(value: string); resetSyncMode(): void; get syncModeInput(): string; private _vpcId?; get vpcId(): string; set vpcId(value: string); get vpcIdInput(): string; private _dbNodeSet; get dbNodeSet(): PostgresqlCloneDbInstanceDbNodeSetList; putDbNodeSet(value: PostgresqlCloneDbInstanceDbNodeSet[] | cdktf.IResolvable): void; resetDbNodeSet(): void; get dbNodeSetInput(): any; private _tagList; get tagList(): PostgresqlCloneDbInstanceTagListStructList; putTagList(value: PostgresqlCloneDbInstanceTagListStruct[] | cdktf.IResolvable): void; resetTagList(): void; get tagListInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }