import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface CfwVpcPolicyConfig extends cdktf.TerraformMetaArguments { /** * Describe. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_vpc_policy#description CfwVpcPolicy#description} */ readonly description: string; /** * Access purpose example: net:IP/CIDR(192.168.0.2) domain:domain rule, for example*.qq.com. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_vpc_policy#dest_content CfwVpcPolicy#dest_content} */ readonly destContent: string; /** * Access purpose type, the type can be: net, template. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_vpc_policy#dest_type CfwVpcPolicy#dest_type} */ readonly destType: string; /** * Rule status, true means enabled, false means disabled. Default is true. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_vpc_policy#enable CfwVpcPolicy#enable} */ readonly enable?: string; /** * Firewall instance ID where the rule takes effect. Default is ALL. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_vpc_policy#fw_group_id CfwVpcPolicy#fw_group_id} */ readonly fwGroupId?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_vpc_policy#id CfwVpcPolicy#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; /** * The port for the access control policy. Value: -1/-1: All ports; 80: port 80. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_vpc_policy#port CfwVpcPolicy#port} */ readonly port: string; /** * Protocol, optional value:TCP, UDP, ICMP, ANY, HTTP, HTTPS, HTTP/HTTPS, SMTP, SMTPS, SMTP/SMTPS, FTP, DNS, TLS/SSL. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_vpc_policy#protocol CfwVpcPolicy#protocol} */ readonly protocol: string; /** * How traffic set in the access control policy passes through the cloud firewall. Value: accept:accept, drop:drop, log:log. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_vpc_policy#rule_action CfwVpcPolicy#rule_action} */ readonly ruleAction: string; /** * Access source examplnet:IP/CIDR(192.168.0.2). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_vpc_policy#source_content CfwVpcPolicy#source_content} */ readonly sourceContent: string; /** * Access source type, the type can be: net, template. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_vpc_policy#source_type CfwVpcPolicy#source_type} */ readonly sourceType: string; } export interface CfwVpcPolicyBetaListStruct { } export declare function cfwVpcPolicyBetaListStructToTerraform(struct?: CfwVpcPolicyBetaListStruct): any; export declare function cfwVpcPolicyBetaListStructToHclTerraform(struct?: CfwVpcPolicyBetaListStruct): any; export declare class CfwVpcPolicyBetaListStructOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @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(): CfwVpcPolicyBetaListStruct | undefined; set internalValue(value: CfwVpcPolicyBetaListStruct | undefined); get lastTime(): any; get taskId(): any; get taskName(): any; } export declare class CfwVpcPolicyBetaListStructList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; /** * @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): CfwVpcPolicyBetaListStructOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_vpc_policy tencentcloud_cfw_vpc_policy} */ export declare class CfwVpcPolicy extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_cfw_vpc_policy"; /** * Generates CDKTF code for importing a CfwVpcPolicy 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 CfwVpcPolicy to import * @param importFromId The id of the existing CfwVpcPolicy that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_vpc_policy#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the CfwVpcPolicy 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_policy tencentcloud_cfw_vpc_policy} 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 CfwVpcPolicyConfig */ constructor(scope: Construct, id: string, config: CfwVpcPolicyConfig); private _betaList; get betaList(): CfwVpcPolicyBetaListStructList; private _description?; get description(): string; set description(value: string); get descriptionInput(): string; private _destContent?; get destContent(): string; set destContent(value: string); get destContentInput(): string; private _destType?; get destType(): string; set destType(value: string); get destTypeInput(): string; private _enable?; get enable(): string; set enable(value: string); resetEnable(): void; get enableInput(): string; private _fwGroupId?; get fwGroupId(): string; set fwGroupId(value: string); resetFwGroupId(): void; get fwGroupIdInput(): string; get fwGroupName(): any; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; get internalUuid(): any; get paramTemplateId(): any; get paramTemplateName(): any; private _port?; get port(): string; set port(value: string); get portInput(): string; private _protocol?; get protocol(): string; set protocol(value: string); get protocolInput(): string; private _ruleAction?; get ruleAction(): string; set ruleAction(value: string); get ruleActionInput(): string; private _sourceContent?; get sourceContent(): string; set sourceContent(value: string); get sourceContentInput(): string; private _sourceType?; get sourceType(): string; set sourceType(value: string); get sourceTypeInput(): string; get uuid(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }