import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface CfwVpcInstanceConfig extends cdktf.TerraformMetaArguments { /** * Cloud networking id, suitable for cloud networking mode. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_vpc_instance#ccn_id CfwVpcInstance#ccn_id} */ readonly ccnId?: string; /** * auto Automatically select the firewall network segment; 10.10.10.0/24 The firewall network segment entered by the user. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_vpc_instance#fw_vpc_cidr CfwVpcInstance#fw_vpc_cidr} */ readonly fwVpcCidr?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_vpc_instance#id CfwVpcInstance#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; /** * Mode 0: private network mode; 1: CCN cloud networking mode. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_vpc_instance#mode CfwVpcInstance#mode} */ readonly mode: number; /** * VPC firewall (group) name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_vpc_instance#name CfwVpcInstance#name} */ readonly name: string; /** * Switch mode of firewall instance. 1: Single point intercommunication; 2: Multi-point communication; 4: Custom Routing. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_vpc_instance#switch_mode CfwVpcInstance#switch_mode} */ readonly switchMode: number; /** * vpc_fw_instances block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_vpc_instance#vpc_fw_instances CfwVpcInstance#vpc_fw_instances} */ readonly vpcFwInstances: CfwVpcInstanceVpcFwInstances[] | cdktf.IResolvable; } export interface CfwVpcInstanceVpcFwInstancesFwDeploy { /** * Off-site disaster recovery 1: use off-site disaster recovery; 0: do not use off-site disaster recovery; if it is empty, off-site disaster recovery will not be used by default. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_vpc_instance#cross_a_zone CfwVpcInstance#cross_a_zone} */ readonly crossAZone?: number; /** * Firewall Deployment Region. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_vpc_instance#deploy_region CfwVpcInstance#deploy_region} */ readonly deployRegion: string; /** * Bandwidth, unit: Mbps. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_vpc_instance#width CfwVpcInstance#width} */ readonly width: number; /** * Zone list. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_vpc_instance#zone_set CfwVpcInstance#zone_set} */ readonly zoneSet: string[]; } export declare function cfwVpcInstanceVpcFwInstancesFwDeployToTerraform(struct?: CfwVpcInstanceVpcFwInstancesFwDeployOutputReference | CfwVpcInstanceVpcFwInstancesFwDeploy): any; export declare function cfwVpcInstanceVpcFwInstancesFwDeployToHclTerraform(struct?: CfwVpcInstanceVpcFwInstancesFwDeployOutputReference | CfwVpcInstanceVpcFwInstancesFwDeploy): any; export declare class CfwVpcInstanceVpcFwInstancesFwDeployOutputReference 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(): CfwVpcInstanceVpcFwInstancesFwDeploy | undefined; set internalValue(value: CfwVpcInstanceVpcFwInstancesFwDeploy | undefined); private _crossAZone?; get crossAZone(): number; set crossAZone(value: number); resetCrossAZone(): void; get crossAZoneInput(): number; private _deployRegion?; get deployRegion(): string; set deployRegion(value: string); get deployRegionInput(): string; private _width?; get width(): number; set width(value: number); get widthInput(): number; private _zoneSet?; get zoneSet(): string[]; set zoneSet(value: string[]); get zoneSetInput(): string[]; } export interface CfwVpcInstanceVpcFwInstances { /** * Firewall instance name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_vpc_instance#name CfwVpcInstance#name} */ readonly name: string; /** * List of VpcIds accessed in private network mode; only used in private network mode. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_vpc_instance#vpc_ids CfwVpcInstance#vpc_ids} */ readonly vpcIds?: string[]; /** * fw_deploy block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_vpc_instance#fw_deploy CfwVpcInstance#fw_deploy} */ readonly fwDeploy: CfwVpcInstanceVpcFwInstancesFwDeploy; } export declare function cfwVpcInstanceVpcFwInstancesToTerraform(struct?: CfwVpcInstanceVpcFwInstances | cdktf.IResolvable): any; export declare function cfwVpcInstanceVpcFwInstancesToHclTerraform(struct?: CfwVpcInstanceVpcFwInstances | cdktf.IResolvable): any; export declare class CfwVpcInstanceVpcFwInstancesOutputReference 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(): CfwVpcInstanceVpcFwInstances | cdktf.IResolvable | undefined; set internalValue(value: CfwVpcInstanceVpcFwInstances | cdktf.IResolvable | undefined); get fwInsId(): any; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _vpcIds?; get vpcIds(): string[]; set vpcIds(value: string[]); resetVpcIds(): void; get vpcIdsInput(): string[]; private _fwDeploy; get fwDeploy(): CfwVpcInstanceVpcFwInstancesFwDeployOutputReference; putFwDeploy(value: CfwVpcInstanceVpcFwInstancesFwDeploy): void; get fwDeployInput(): CfwVpcInstanceVpcFwInstancesFwDeploy; } export declare class CfwVpcInstanceVpcFwInstancesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: CfwVpcInstanceVpcFwInstances[] | 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): CfwVpcInstanceVpcFwInstancesOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_vpc_instance tencentcloud_cfw_vpc_instance} */ export declare class CfwVpcInstance extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_cfw_vpc_instance"; /** * Generates CDKTF code for importing a CfwVpcInstance 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 CfwVpcInstance to import * @param importFromId The id of the existing CfwVpcInstance that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_vpc_instance#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the CfwVpcInstance 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/cfw_vpc_instance tencentcloud_cfw_vpc_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 CfwVpcInstanceConfig */ constructor(scope: Construct, id: string, config: CfwVpcInstanceConfig); private _ccnId?; get ccnId(): string; set ccnId(value: string); resetCcnId(): void; get ccnIdInput(): string; private _fwVpcCidr?; get fwVpcCidr(): string; set fwVpcCidr(value: string); resetFwVpcCidr(): void; get fwVpcCidrInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _mode?; get mode(): number; set mode(value: number); get modeInput(): number; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _switchMode?; get switchMode(): number; set switchMode(value: number); get switchModeInput(): number; private _vpcFwInstances; get vpcFwInstances(): CfwVpcInstanceVpcFwInstancesList; putVpcFwInstances(value: CfwVpcInstanceVpcFwInstances[] | cdktf.IResolvable): void; get vpcFwInstancesInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }