import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface VpcConfig extends cdktf.TerraformMetaArguments { /** * List of Assistant CIDR, NOTE: Only `NORMAL` typed CIDRs included, check the Docker CIDR by readonly `assistant_docker_cidrs`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpc#assistant_cidrs Vpc#assistant_cidrs} */ readonly assistantCidrs?: string[]; /** * A network address block which should be a subnet of the three internal network segments (10.0.0.0/16, 172.16.0.0/12 and 192.168.0.0/16). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpc#cidr_block Vpc#cidr_block} */ readonly cidrBlock: string; /** * The DNS server list of the VPC. And you can specify 0 to 5 servers to this list. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpc#dns_servers Vpc#dns_servers} */ readonly dnsServers?: string[]; /** * Vpc association with CCN route publish policy. true: enables cidr route publishing. false: enables subnet route publishing. default is subnet route publishing when creating a vpc. to select cidr route publishing, submit a ticket for adding to allowlist. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpc#enable_route_vpc_publish Vpc#enable_route_vpc_publish} */ readonly enableRouteVpcPublish?: boolean | cdktf.IResolvable; /** * Vpc association with CCN IPV6 route publish policy. true: enables cidr route publishing. false: enables subnet route publishing. default is subnet route publishing when creating a vpc. to select cidr route publishing, submit a ticket for adding to allowlist. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpc#enable_route_vpc_publish_ipv6 Vpc#enable_route_vpc_publish_ipv6} */ readonly enableRouteVpcPublishIpv6?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpc#id Vpc#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; /** * Indicates whether VPC multicast is enabled. The default value is 'true'. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpc#is_multicast Vpc#is_multicast} */ readonly isMulticast?: boolean | cdktf.IResolvable; /** * The name of the VPC. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpc#name Vpc#name} */ readonly name: string; /** * Tags of the VPC. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpc#tags Vpc#tags} */ readonly tags?: { [key: string]: string; }; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpc tencentcloud_vpc} */ export declare class Vpc extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_vpc"; /** * Generates CDKTF code for importing a Vpc 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 Vpc to import * @param importFromId The id of the existing Vpc that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpc#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the Vpc 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/vpc tencentcloud_vpc} 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 VpcConfig */ constructor(scope: Construct, id: string, config: VpcConfig); private _assistantCidrs?; get assistantCidrs(): string[]; set assistantCidrs(value: string[]); resetAssistantCidrs(): void; get assistantCidrsInput(): string[]; private _cidrBlock?; get cidrBlock(): string; set cidrBlock(value: string); get cidrBlockInput(): string; get createTime(): any; get defaultRouteTableId(): any; private _dnsServers?; get dnsServers(): string[]; set dnsServers(value: string[]); resetDnsServers(): void; get dnsServersInput(): string[]; get dockerAssistantCidrs(): any; private _enableRouteVpcPublish?; get enableRouteVpcPublish(): boolean | cdktf.IResolvable; set enableRouteVpcPublish(value: boolean | cdktf.IResolvable); resetEnableRouteVpcPublish(): void; get enableRouteVpcPublishInput(): any; private _enableRouteVpcPublishIpv6?; get enableRouteVpcPublishIpv6(): boolean | cdktf.IResolvable; set enableRouteVpcPublishIpv6(value: boolean | cdktf.IResolvable); resetEnableRouteVpcPublishIpv6(): void; get enableRouteVpcPublishIpv6Input(): any; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; get isDefault(): any; private _isMulticast?; get isMulticast(): boolean | cdktf.IResolvable; set isMulticast(value: boolean | cdktf.IResolvable); resetIsMulticast(): void; get isMulticastInput(): any; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _tags?; get tags(): { [key: string]: string; }; set tags(value: { [key: string]: string; }); resetTags(): void; get tagsInput(): { [key: string]: string; }; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }