import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface MongodbReadonlyInstanceConfig extends cdktf.TerraformMetaArguments { /** * Auto renew flag. Valid values are `0`(NOTIFY_AND_MANUAL_RENEW), `1`(NOTIFY_AND_AUTO_RENEW) and `2`(DISABLE_NOTIFY_AND_MANUAL_RENEW). Default value is `0`. Note: only works for PREPAID instance. Only supports`0` and `1` for creation. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mongodb_readonly_instance#auto_renew_flag MongodbReadonlyInstance#auto_renew_flag} */ readonly autoRenewFlag?: number; /** * The available zone of the Mongodb. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mongodb_readonly_instance#available_zone MongodbReadonlyInstance#available_zone} */ readonly availableZone: string; /** * The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. Default value is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR`. Caution that update operation on this field will delete old instances and create new one with new charge type. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mongodb_readonly_instance#charge_type MongodbReadonlyInstance#charge_type} */ readonly chargeType?: string; /** * Instance schema type. - REPLSET: Replset cluster; - SHARD: Shard cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mongodb_readonly_instance#cluster_type MongodbReadonlyInstance#cluster_type} */ readonly clusterType: string; /** * Refers to version information. The DescribeSpecInfo API can be called to obtain detailed information about the supported versions. * - MONGO_40_WT: version of the MongoDB 4.0 WiredTiger storage engine. * - MONGO_42_WT: version of the MongoDB 4.2 WiredTiger storage engine. * - MONGO_44_WT: version of the MongoDB 4.4 WiredTiger storage engine. * - MONGO_50_WT: version of the MongoDB 5.0 WiredTiger storage engine. * - MONGO_60_WT: version of the MongoDB 6.0 WiredTiger storage engine. * - MONGO_70_WT: version of the MongoDB 7.0 WiredTiger storage engine. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mongodb_readonly_instance#engine_version MongodbReadonlyInstance#engine_version} */ readonly engineVersion: string; /** * Indicates the main instance ID of readonly instances. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mongodb_readonly_instance#father_instance_id MongodbReadonlyInstance#father_instance_id} */ readonly fatherInstanceId: string; /** * Indicates the region of main instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mongodb_readonly_instance#father_instance_region MongodbReadonlyInstance#father_instance_region} */ readonly fatherInstanceRegion: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mongodb_readonly_instance#id MongodbReadonlyInstance#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; /** * Switch time for instance configuration changes. * - 0: When the adjustment is completed, perform the configuration task immediately. Default is 0. * - 1: Perform reconfiguration tasks within the maintenance time window. * Note: Adjusting the number of nodes and slices does not support changes within the maintenance window. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mongodb_readonly_instance#in_maintenance MongodbReadonlyInstance#in_maintenance} */ readonly inMaintenance?: number; /** * Name of the Mongodb instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mongodb_readonly_instance#instance_name MongodbReadonlyInstance#instance_name} */ readonly instanceName: string; /** * Type of Mongodb instance, and available values include `HIO`(or `GIO` which will be deprecated, represents high IO) and `HIO10G`(or `TGIO` which will be deprecated, represents 10-gigabit high IO). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mongodb_readonly_instance#machine_type MongodbReadonlyInstance#machine_type} */ readonly machineType: string; /** * Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mongodb_readonly_instance#memory MongodbReadonlyInstance#memory} */ readonly memory: number; /** * Number of mongos cpu. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mongodb_readonly_instance#mongos_cpu MongodbReadonlyInstance#mongos_cpu} */ readonly mongosCpu?: number; /** * Mongos memory size in GB. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mongodb_readonly_instance#mongos_memory MongodbReadonlyInstance#mongos_memory} */ readonly mongosMemory?: number; /** * Number of mongos. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mongodb_readonly_instance#mongos_node_num MongodbReadonlyInstance#mongos_node_num} */ readonly mongosNodeNum?: number; /** * The number of nodes in each replica set. Default value: 3. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mongodb_readonly_instance#node_num MongodbReadonlyInstance#node_num} */ readonly nodeNum?: number; /** * Number of nodes per shard, at least 3(one master and two slaves). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mongodb_readonly_instance#nodes_per_shard MongodbReadonlyInstance#nodes_per_shard} */ readonly nodesPerShard?: number; /** * The tenancy (time unit is month) of the prepaid instance. Valid values are 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36. NOTE: it only works when charge_type is set to `PREPAID`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mongodb_readonly_instance#prepaid_period MongodbReadonlyInstance#prepaid_period} */ readonly prepaidPeriod?: number; /** * ID of the project which the instance belongs. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mongodb_readonly_instance#project_id MongodbReadonlyInstance#project_id} */ readonly projectId?: number; /** * ID of the security group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mongodb_readonly_instance#security_groups MongodbReadonlyInstance#security_groups} */ readonly securityGroups?: string[]; /** * Number of sharding. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mongodb_readonly_instance#shard_quantity MongodbReadonlyInstance#shard_quantity} */ readonly shardQuantity?: number; /** * ID of the subnet within this VPC. The value is required if `vpc_id` is set. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mongodb_readonly_instance#subnet_id MongodbReadonlyInstance#subnet_id} */ readonly subnetId?: string; /** * The tags of the Mongodb. Key name `project` is system reserved and can't be used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mongodb_readonly_instance#tags MongodbReadonlyInstance#tags} */ readonly tags?: { [key: string]: string; }; /** * Disk size. The minimum value is 25, and unit is GB. Memory and volume must be upgraded or degraded simultaneously. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mongodb_readonly_instance#volume MongodbReadonlyInstance#volume} */ readonly volume: number; /** * ID of the VPC. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mongodb_readonly_instance#vpc_id MongodbReadonlyInstance#vpc_id} */ readonly vpcId?: string; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mongodb_readonly_instance tencentcloud_mongodb_readonly_instance} */ export declare class MongodbReadonlyInstance extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_mongodb_readonly_instance"; /** * Generates CDKTF code for importing a MongodbReadonlyInstance 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 MongodbReadonlyInstance to import * @param importFromId The id of the existing MongodbReadonlyInstance that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mongodb_readonly_instance#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the MongodbReadonlyInstance 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/mongodb_readonly_instance tencentcloud_mongodb_readonly_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 MongodbReadonlyInstanceConfig */ constructor(scope: Construct, id: string, config: MongodbReadonlyInstanceConfig); private _autoRenewFlag?; get autoRenewFlag(): number; set autoRenewFlag(value: number); resetAutoRenewFlag(): void; get autoRenewFlagInput(): number; private _availableZone?; get availableZone(): string; set availableZone(value: string); get availableZoneInput(): string; private _chargeType?; get chargeType(): string; set chargeType(value: string); resetChargeType(): void; get chargeTypeInput(): string; private _clusterType?; get clusterType(): string; set clusterType(value: string); get clusterTypeInput(): string; get createTime(): any; private _engineVersion?; get engineVersion(): string; set engineVersion(value: string); get engineVersionInput(): string; private _fatherInstanceId?; get fatherInstanceId(): string; set fatherInstanceId(value: string); get fatherInstanceIdInput(): string; private _fatherInstanceRegion?; get fatherInstanceRegion(): string; set fatherInstanceRegion(value: string); get fatherInstanceRegionInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _inMaintenance?; get inMaintenance(): number; set inMaintenance(value: number); resetInMaintenance(): void; get inMaintenanceInput(): number; private _instanceName?; get instanceName(): string; set instanceName(value: string); get instanceNameInput(): string; private _machineType?; get machineType(): string; set machineType(value: string); get machineTypeInput(): string; private _memory?; get memory(): number; set memory(value: number); get memoryInput(): number; private _mongosCpu?; get mongosCpu(): number; set mongosCpu(value: number); resetMongosCpu(): void; get mongosCpuInput(): number; private _mongosMemory?; get mongosMemory(): number; set mongosMemory(value: number); resetMongosMemory(): void; get mongosMemoryInput(): number; private _mongosNodeNum?; get mongosNodeNum(): number; set mongosNodeNum(value: number); resetMongosNodeNum(): void; get mongosNodeNumInput(): number; private _nodeNum?; get nodeNum(): number; set nodeNum(value: number); resetNodeNum(): void; get nodeNumInput(): number; private _nodesPerShard?; get nodesPerShard(): number; set nodesPerShard(value: number); resetNodesPerShard(): void; get nodesPerShardInput(): number; private _prepaidPeriod?; get prepaidPeriod(): number; set prepaidPeriod(value: number); resetPrepaidPeriod(): void; get prepaidPeriodInput(): number; private _projectId?; get projectId(): number; set projectId(value: number); resetProjectId(): void; get projectIdInput(): number; private _securityGroups?; get securityGroups(): string[]; set securityGroups(value: string[]); resetSecurityGroups(): void; get securityGroupsInput(): string[]; private _shardQuantity?; get shardQuantity(): number; set shardQuantity(value: number); resetShardQuantity(): void; get shardQuantityInput(): number; get status(): any; private _subnetId?; get subnetId(): string; set subnetId(value: string); resetSubnetId(): void; get subnetIdInput(): string; private _tags?; get tags(): { [key: string]: string; }; set tags(value: { [key: string]: string; }); resetTags(): void; get tagsInput(): { [key: string]: string; }; get vip(): any; private _volume?; get volume(): number; set volume(value: number); get volumeInput(): number; private _vpcId?; get vpcId(): string; set vpcId(value: string); resetVpcId(): void; get vpcIdInput(): string; get vport(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }