import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface SqlserverGeneralCloudInstanceConfig extends cdktf.TerraformMetaArguments { /** * Automatic renewal flag: 0-normal renewal 1-automatic renewal, the default is 1 automatic renewal. Valid only when purchasing a prepaid instance. Valid only when the 'instance_charge_type' parameter value is 'PREPAID'. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/sqlserver_general_cloud_instance#auto_renew_flag SqlserverGeneralCloudInstance#auto_renew_flag} */ readonly autoRenewFlag?: number; /** * System character set collation, default: Chinese_PRC_CI_AS. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/sqlserver_general_cloud_instance#collation SqlserverGeneralCloudInstance#collation} */ readonly collation?: string; /** * Cpu, unit: CORE. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/sqlserver_general_cloud_instance#cpu SqlserverGeneralCloudInstance#cpu} */ readonly cpu: number; /** * sqlserver version, currently all supported versions are: 2008R2 (SQL Server 2008 R2 Enterprise), 2012SP3 (SQL Server 2012 Enterprise), 201202 (SQL Server 2012 Standard), 2014SP2 (SQL Server 2014 Enterprise), 201402 (SQL Server 2014 Standard), 2016SP1 (SQL Server 2016 Enterprise), 201602 (SQL Server 2016 Standard), 2017 (SQL Server 2017 Enterprise), 201702 (SQL Server 2017 Standard), 2019 (SQL Server 2019 Enterprise), 201902 (SQL Server 2019 Standard). Each region supports different versions for sale, and the version information that can be sold in each region can be pulled through the DescribeProductConfig interface. If left blank, the default version is 2008R2. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/sqlserver_general_cloud_instance#db_version SqlserverGeneralCloudInstance#db_version} */ readonly dbVersion?: string; /** * Disk encryption identification, 0-not encrypted, 1-encrypted. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/sqlserver_general_cloud_instance#disk_encrypt_flag SqlserverGeneralCloudInstance#disk_encrypt_flag} */ readonly diskEncryptFlag?: number; /** * The standby node availability area is empty by default. When MultiNodes = true, the primary node and standby node availability areas cannot all be the same. The minimum number of standby availability areas set is 2, and the maximum number is no more than 5. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/sqlserver_general_cloud_instance#dr_zones SqlserverGeneralCloudInstance#dr_zones} */ readonly drZones?: string[]; /** * Upgrade the high-availability architecture of sqlserver, upgrade from mirror disaster recovery to always on cluster disaster recovery, only support 2017 and above and support always on high-availability instances, do not support downgrading to mirror disaster recovery, CLUSTER-upgrade to always on capacity Disaster, if not filled, the high-availability architecture will not be modified. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/sqlserver_general_cloud_instance#ha_type SqlserverGeneralCloudInstance#ha_type} */ readonly haType?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/sqlserver_general_cloud_instance#id SqlserverGeneralCloudInstance#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; /** * Payment mode, the value supports PREPAID (prepaid), POSTPAID (postpaid). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/sqlserver_general_cloud_instance#instance_charge_type SqlserverGeneralCloudInstance#instance_charge_type} */ readonly instanceChargeType?: string; /** * The host disk type of the purchased instance, CLOUD_HSSD-enhanced SSD cloud disk for virtual machines, CLOUD_TSSD-extremely fast SSD cloud disk for virtual machines, CLOUD_BSSD-universal SSD cloud disk for virtual machines. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/sqlserver_general_cloud_instance#machine_type SqlserverGeneralCloudInstance#machine_type} */ readonly machineType: string; /** * Memory, unit: GB. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/sqlserver_general_cloud_instance#memory SqlserverGeneralCloudInstance#memory} */ readonly memory: number; /** * Whether it is a multi-node architecture instance, the default value is false. When MultiNodes = true, the parameter MultiZones must be true. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/sqlserver_general_cloud_instance#multi_nodes SqlserverGeneralCloudInstance#multi_nodes} */ readonly multiNodes?: boolean | cdktf.IResolvable; /** * Whether to deploy across availability zones, the default value is false. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/sqlserver_general_cloud_instance#multi_zones SqlserverGeneralCloudInstance#multi_zones} */ readonly multiZones?: boolean | cdktf.IResolvable; /** * Name of the SQL Server instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/sqlserver_general_cloud_instance#name SqlserverGeneralCloudInstance#name} */ readonly name: string; /** * Purchase instance period, the default value is 1, which means one month. The value cannot exceed 48. Valid only when the 'instance_charge_type' parameter value is 'PREPAID'. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/sqlserver_general_cloud_instance#period SqlserverGeneralCloudInstance#period} */ readonly period?: number; /** * project ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/sqlserver_general_cloud_instance#project_id SqlserverGeneralCloudInstance#project_id} */ readonly projectId?: number; /** * Security group list, fill in the security group ID in the form of sg-xxx. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/sqlserver_general_cloud_instance#security_group_list SqlserverGeneralCloudInstance#security_group_list} */ readonly securityGroupList?: string[]; /** * Maintainable time window configuration, duration, unit: hour. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/sqlserver_general_cloud_instance#span SqlserverGeneralCloudInstance#span} */ readonly span?: number; /** * Maintainable time window configuration, daily maintainable start time. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/sqlserver_general_cloud_instance#start_time SqlserverGeneralCloudInstance#start_time} */ readonly startTime?: string; /** * instance disk storage, unit: GB. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/sqlserver_general_cloud_instance#storage SqlserverGeneralCloudInstance#storage} */ readonly storage: number; /** * VPC subnet ID, in the form of subnet-bdoe83fa; SubnetId and VpcId need to be set at the same time or not set at the same time. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/sqlserver_general_cloud_instance#subnet_id SqlserverGeneralCloudInstance#subnet_id} */ readonly subnetId?: string; /** * System time zone, default: China Standard Time. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/sqlserver_general_cloud_instance#time_zone SqlserverGeneralCloudInstance#time_zone} */ readonly timeZone?: string; /** * VPC network ID, in the form of vpc-dsp338hz; SubnetId and VpcId need to be set at the same time or not set at the same time. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/sqlserver_general_cloud_instance#vpc_id SqlserverGeneralCloudInstance#vpc_id} */ readonly vpcId?: string; /** * Maintainable time window configuration, in weeks, indicates the days of the week that allow maintenance, 1-7 represent Monday to weekend respectively. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/sqlserver_general_cloud_instance#weekly SqlserverGeneralCloudInstance#weekly} */ readonly weekly?: number[]; /** * Instance AZ, such as ap-guangzhou-1 (Guangzhou Zone 1). Purchasable AZs for an instance can be obtained through the DescribeZones API. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/sqlserver_general_cloud_instance#zone SqlserverGeneralCloudInstance#zone} */ readonly zone: string; /** * resource_tags block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/sqlserver_general_cloud_instance#resource_tags SqlserverGeneralCloudInstance#resource_tags} */ readonly resourceTags?: SqlserverGeneralCloudInstanceResourceTags[] | cdktf.IResolvable; } export interface SqlserverGeneralCloudInstanceResourceTags { /** * tag key. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/sqlserver_general_cloud_instance#tag_key SqlserverGeneralCloudInstance#tag_key} */ readonly tagKey?: string; /** * tag value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/sqlserver_general_cloud_instance#tag_value SqlserverGeneralCloudInstance#tag_value} */ readonly tagValue?: string; } export declare function sqlserverGeneralCloudInstanceResourceTagsToTerraform(struct?: SqlserverGeneralCloudInstanceResourceTags | cdktf.IResolvable): any; export declare function sqlserverGeneralCloudInstanceResourceTagsToHclTerraform(struct?: SqlserverGeneralCloudInstanceResourceTags | cdktf.IResolvable): any; export declare class SqlserverGeneralCloudInstanceResourceTagsOutputReference 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(): SqlserverGeneralCloudInstanceResourceTags | cdktf.IResolvable | undefined; set internalValue(value: SqlserverGeneralCloudInstanceResourceTags | cdktf.IResolvable | undefined); private _tagKey?; get tagKey(): string; set tagKey(value: string); resetTagKey(): void; get tagKeyInput(): string; private _tagValue?; get tagValue(): string; set tagValue(value: string); resetTagValue(): void; get tagValueInput(): string; } export declare class SqlserverGeneralCloudInstanceResourceTagsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: SqlserverGeneralCloudInstanceResourceTags[] | 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): SqlserverGeneralCloudInstanceResourceTagsOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/sqlserver_general_cloud_instance tencentcloud_sqlserver_general_cloud_instance} */ export declare class SqlserverGeneralCloudInstance extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_sqlserver_general_cloud_instance"; /** * Generates CDKTF code for importing a SqlserverGeneralCloudInstance 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 SqlserverGeneralCloudInstance to import * @param importFromId The id of the existing SqlserverGeneralCloudInstance that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/sqlserver_general_cloud_instance#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the SqlserverGeneralCloudInstance 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/sqlserver_general_cloud_instance tencentcloud_sqlserver_general_cloud_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 SqlserverGeneralCloudInstanceConfig */ constructor(scope: Construct, id: string, config: SqlserverGeneralCloudInstanceConfig); private _autoRenewFlag?; get autoRenewFlag(): number; set autoRenewFlag(value: number); resetAutoRenewFlag(): void; get autoRenewFlagInput(): number; private _collation?; get collation(): string; set collation(value: string); resetCollation(): void; get collationInput(): string; private _cpu?; get cpu(): number; set cpu(value: number); get cpuInput(): number; private _dbVersion?; get dbVersion(): string; set dbVersion(value: string); resetDbVersion(): void; get dbVersionInput(): string; private _diskEncryptFlag?; get diskEncryptFlag(): number; set diskEncryptFlag(value: number); resetDiskEncryptFlag(): void; get diskEncryptFlagInput(): number; get dnsPodDomain(): any; private _drZones?; get drZones(): string[]; set drZones(value: string[]); resetDrZones(): void; get drZonesInput(): string[]; private _haType?; get haType(): string; set haType(value: string); resetHaType(): void; get haTypeInput(): 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 _machineType?; get machineType(): string; set machineType(value: string); get machineTypeInput(): string; private _memory?; get memory(): number; set memory(value: number); get memoryInput(): number; private _multiNodes?; get multiNodes(): boolean | cdktf.IResolvable; set multiNodes(value: boolean | cdktf.IResolvable); resetMultiNodes(): void; get multiNodesInput(): any; private _multiZones?; get multiZones(): boolean | cdktf.IResolvable; set multiZones(value: boolean | cdktf.IResolvable); resetMultiZones(): void; get multiZonesInput(): any; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _period?; get period(): number; set period(value: number); resetPeriod(): void; get periodInput(): number; private _projectId?; get projectId(): number; set projectId(value: number); resetProjectId(): void; get projectIdInput(): number; private _securityGroupList?; get securityGroupList(): string[]; set securityGroupList(value: string[]); resetSecurityGroupList(): void; get securityGroupListInput(): string[]; private _span?; get span(): number; set span(value: number); resetSpan(): void; get spanInput(): number; private _startTime?; get startTime(): string; set startTime(value: string); resetStartTime(): void; get startTimeInput(): string; private _storage?; get storage(): number; set storage(value: number); get storageInput(): number; private _subnetId?; get subnetId(): string; set subnetId(value: string); resetSubnetId(): void; get subnetIdInput(): string; get tgwWanVport(): any; private _timeZone?; get timeZone(): string; set timeZone(value: string); resetTimeZone(): void; get timeZoneInput(): string; private _vpcId?; get vpcId(): string; set vpcId(value: string); resetVpcId(): void; get vpcIdInput(): string; private _weekly?; get weekly(): number[]; set weekly(value: number[]); resetWeekly(): void; get weeklyInput(): number[]; private _zone?; get zone(): string; set zone(value: string); get zoneInput(): string; private _resourceTags; get resourceTags(): SqlserverGeneralCloudInstanceResourceTagsList; putResourceTags(value: SqlserverGeneralCloudInstanceResourceTags[] | cdktf.IResolvable): void; resetResourceTags(): void; get resourceTagsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }