import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface CvmChcConfigConfig extends cdktf.TerraformMetaArguments { /** * Out-of-band network security group list. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_chc_config#bmc_security_group_ids CvmChcConfig#bmc_security_group_ids} */ readonly bmcSecurityGroupIds?: string[]; /** * Valid characters: Letters, numbers, hyphens and underscores. Only set when update password. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_chc_config#bmc_user CvmChcConfig#bmc_user} */ readonly bmcUser?: string; /** * CHC host ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_chc_config#chc_id CvmChcConfig#chc_id} */ readonly chcId: string; /** * Deployment network security group list. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_chc_config#deploy_security_group_ids CvmChcConfig#deploy_security_group_ids} */ readonly deploySecurityGroupIds?: string[]; /** * Server type. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_chc_config#device_type CvmChcConfig#device_type} */ readonly deviceType?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_chc_config#id CvmChcConfig#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; /** * CHC host name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_chc_config#instance_name CvmChcConfig#instance_name} */ readonly instanceName?: string; /** * The password can contain 8 to 16 characters, including letters, numbers and special symbols (()`~!@#$%^&amp;*-+=_|{}). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_chc_config#password CvmChcConfig#password} */ readonly password?: string; /** * bmc_virtual_private_cloud block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_chc_config#bmc_virtual_private_cloud CvmChcConfig#bmc_virtual_private_cloud} */ readonly bmcVirtualPrivateCloud?: CvmChcConfigBmcVirtualPrivateCloud; /** * deploy_virtual_private_cloud block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_chc_config#deploy_virtual_private_cloud CvmChcConfig#deploy_virtual_private_cloud} */ readonly deployVirtualPrivateCloud?: CvmChcConfigDeployVirtualPrivateCloud; } export interface CvmChcConfigBmcVirtualPrivateCloud { /** * Whether to use a CVM instance as a public gateway. The public gateway is only available when the instance has a public IP and resides in a VPC. Valid values:<br><li>TRUE: yes;<br><li>FALSE: no<br><br>Default: FALSE. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_chc_config#as_vpc_gateway CvmChcConfig#as_vpc_gateway} */ readonly asVpcGateway?: boolean | cdktf.IResolvable; /** * Number of IPv6 addresses randomly generated for the ENI. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_chc_config#ipv6_address_count CvmChcConfig#ipv6_address_count} */ readonly ipv6AddressCount?: number; /** * Array of VPC subnet IPs. You can use this parameter when creating instances or modifying VPC attributes of instances. Currently you can specify multiple IPs in one subnet only when creating multiple instances at the same time. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_chc_config#private_ip_addresses CvmChcConfig#private_ip_addresses} */ readonly privateIpAddresses?: string[]; /** * VPC subnet ID in the format subnet-xxx. To obtain valid subnet IDs, you can log in to the [console](https://console.tencentcloud.com/vpc/vpc?rid=1) or call DescribeSubnets and look for the unSubnetId fields in the response. If you specify DEFAULT for both SubnetId and VpcId when creating an instance, the default VPC will be used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_chc_config#subnet_id CvmChcConfig#subnet_id} */ readonly subnetId: string; /** * VPC ID in the format of vpc-xxx. To obtain valid VPC IDs, you can log in to the [console](https://console.tencentcloud.com/vpc/vpc?rid=1) or call the DescribeVpcEx API and look for the unVpcId fields in the response. If you specify DEFAULT for both VpcId and SubnetId when creating an instance, the default VPC will be used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_chc_config#vpc_id CvmChcConfig#vpc_id} */ readonly vpcId: string; } export declare function cvmChcConfigBmcVirtualPrivateCloudToTerraform(struct?: CvmChcConfigBmcVirtualPrivateCloudOutputReference | CvmChcConfigBmcVirtualPrivateCloud): any; export declare function cvmChcConfigBmcVirtualPrivateCloudToHclTerraform(struct?: CvmChcConfigBmcVirtualPrivateCloudOutputReference | CvmChcConfigBmcVirtualPrivateCloud): any; export declare class CvmChcConfigBmcVirtualPrivateCloudOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @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(): CvmChcConfigBmcVirtualPrivateCloud | undefined; set internalValue(value: CvmChcConfigBmcVirtualPrivateCloud | undefined); private _asVpcGateway?; get asVpcGateway(): boolean | cdktf.IResolvable; set asVpcGateway(value: boolean | cdktf.IResolvable); resetAsVpcGateway(): void; get asVpcGatewayInput(): any; private _ipv6AddressCount?; get ipv6AddressCount(): number; set ipv6AddressCount(value: number); resetIpv6AddressCount(): void; get ipv6AddressCountInput(): number; private _privateIpAddresses?; get privateIpAddresses(): string[]; set privateIpAddresses(value: string[]); resetPrivateIpAddresses(): void; get privateIpAddressesInput(): string[]; private _subnetId?; get subnetId(): string; set subnetId(value: string); get subnetIdInput(): string; private _vpcId?; get vpcId(): string; set vpcId(value: string); get vpcIdInput(): string; } export interface CvmChcConfigDeployVirtualPrivateCloud { /** * Whether to use a CVM instance as a public gateway. The public gateway is only available when the instance has a public IP and resides in a VPC. Valid values:<br><li>TRUE: yes;<br><li>FALSE: no<br><br>Default: FALSE. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_chc_config#as_vpc_gateway CvmChcConfig#as_vpc_gateway} */ readonly asVpcGateway?: boolean | cdktf.IResolvable; /** * Number of IPv6 addresses randomly generated for the ENI. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_chc_config#ipv6_address_count CvmChcConfig#ipv6_address_count} */ readonly ipv6AddressCount?: number; /** * Array of VPC subnet IPs. You can use this parameter when creating instances or modifying VPC attributes of instances. Currently you can specify multiple IPs in one subnet only when creating multiple instances at the same time. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_chc_config#private_ip_addresses CvmChcConfig#private_ip_addresses} */ readonly privateIpAddresses?: string[]; /** * VPC subnet ID in the format subnet-xxx. To obtain valid subnet IDs, you can log in to the [console](https://console.tencentcloud.com/vpc/vpc?rid=1) or call DescribeSubnets and look for the unSubnetId fields in the response. If you specify DEFAULT for both SubnetId and VpcId when creating an instance, the default VPC will be used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_chc_config#subnet_id CvmChcConfig#subnet_id} */ readonly subnetId: string; /** * VPC ID in the format of vpc-xxx. To obtain valid VPC IDs, you can log in to the [console](https://console.tencentcloud.com/vpc/vpc?rid=1) or call the DescribeVpcEx API and look for the unVpcId fields in the response. If you specify DEFAULT for both VpcId and SubnetId when creating an instance, the default VPC will be used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_chc_config#vpc_id CvmChcConfig#vpc_id} */ readonly vpcId: string; } export declare function cvmChcConfigDeployVirtualPrivateCloudToTerraform(struct?: CvmChcConfigDeployVirtualPrivateCloudOutputReference | CvmChcConfigDeployVirtualPrivateCloud): any; export declare function cvmChcConfigDeployVirtualPrivateCloudToHclTerraform(struct?: CvmChcConfigDeployVirtualPrivateCloudOutputReference | CvmChcConfigDeployVirtualPrivateCloud): any; export declare class CvmChcConfigDeployVirtualPrivateCloudOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @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(): CvmChcConfigDeployVirtualPrivateCloud | undefined; set internalValue(value: CvmChcConfigDeployVirtualPrivateCloud | undefined); private _asVpcGateway?; get asVpcGateway(): boolean | cdktf.IResolvable; set asVpcGateway(value: boolean | cdktf.IResolvable); resetAsVpcGateway(): void; get asVpcGatewayInput(): any; private _ipv6AddressCount?; get ipv6AddressCount(): number; set ipv6AddressCount(value: number); resetIpv6AddressCount(): void; get ipv6AddressCountInput(): number; private _privateIpAddresses?; get privateIpAddresses(): string[]; set privateIpAddresses(value: string[]); resetPrivateIpAddresses(): void; get privateIpAddressesInput(): string[]; private _subnetId?; get subnetId(): string; set subnetId(value: string); get subnetIdInput(): string; private _vpcId?; get vpcId(): string; set vpcId(value: string); get vpcIdInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_chc_config tencentcloud_cvm_chc_config} */ export declare class CvmChcConfig extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_cvm_chc_config"; /** * Generates CDKTF code for importing a CvmChcConfig 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 CvmChcConfig to import * @param importFromId The id of the existing CvmChcConfig that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_chc_config#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the CvmChcConfig 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/cvm_chc_config tencentcloud_cvm_chc_config} 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 CvmChcConfigConfig */ constructor(scope: Construct, id: string, config: CvmChcConfigConfig); private _bmcSecurityGroupIds?; get bmcSecurityGroupIds(): string[]; set bmcSecurityGroupIds(value: string[]); resetBmcSecurityGroupIds(): void; get bmcSecurityGroupIdsInput(): string[]; private _bmcUser?; get bmcUser(): string; set bmcUser(value: string); resetBmcUser(): void; get bmcUserInput(): string; private _chcId?; get chcId(): string; set chcId(value: string); get chcIdInput(): string; private _deploySecurityGroupIds?; get deploySecurityGroupIds(): string[]; set deploySecurityGroupIds(value: string[]); resetDeploySecurityGroupIds(): void; get deploySecurityGroupIdsInput(): string[]; private _deviceType?; get deviceType(): string; set deviceType(value: string); resetDeviceType(): void; get deviceTypeInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _instanceName?; get instanceName(): string; set instanceName(value: string); resetInstanceName(): void; get instanceNameInput(): string; private _password?; get password(): string; set password(value: string); resetPassword(): void; get passwordInput(): string; private _bmcVirtualPrivateCloud; get bmcVirtualPrivateCloud(): CvmChcConfigBmcVirtualPrivateCloudOutputReference; putBmcVirtualPrivateCloud(value: CvmChcConfigBmcVirtualPrivateCloud): void; resetBmcVirtualPrivateCloud(): void; get bmcVirtualPrivateCloudInput(): CvmChcConfigBmcVirtualPrivateCloud; private _deployVirtualPrivateCloud; get deployVirtualPrivateCloud(): CvmChcConfigDeployVirtualPrivateCloudOutputReference; putDeployVirtualPrivateCloud(value: CvmChcConfigDeployVirtualPrivateCloud): void; resetDeployVirtualPrivateCloud(): void; get deployVirtualPrivateCloudInput(): CvmChcConfigDeployVirtualPrivateCloud; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }