import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface CfwEdgePolicyConfig extends cdktf.TerraformMetaArguments { /** * Description. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_edge_policy#description CfwEdgePolicy#description} */ readonly description?: string; /** * Rule direction: 1, inbound; 0, outbound. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_edge_policy#direction CfwEdgePolicy#direction} */ readonly direction: number; /** * 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_edge_policy#enable CfwEdgePolicy#enable} */ readonly enable?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_edge_policy#id CfwEdgePolicy#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; /** * Parameter template id. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_edge_policy#param_template_id CfwEdgePolicy#param_template_id} */ readonly paramTemplateId?: 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_edge_policy#port CfwEdgePolicy#port} */ readonly port: string; /** * Protocol. If Direction=1 && Scope=serial, optional values: TCP UDP ICMP ANY HTTP HTTPS HTTP/HTTPS SMTP SMTPS SMTP/SMTPS FTP DNS; If Direction=1 && Scope!=serial, optional values: TCP; If Direction=0 && Scope=serial, optional values: TCP UDP ICMP ANY HTTP HTTPS HTTP/HTTPS SMTP SMTPS SMTP/SMTPS FTP DNS; If Direction=0 && Scope!=serial, optional values: TCP HTTP/HTTPS TLS/SSL. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_edge_policy#protocol CfwEdgePolicy#protocol} */ readonly protocol: string; /** * How the traffic set in the access control policy passes through the cloud firewall. Values: accept: allow; drop: reject; log: observe. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_edge_policy#rule_action CfwEdgePolicy#rule_action} */ readonly ruleAction: string; /** * Effective range. serial: serial; side: bypass; all: global, Default is all. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_edge_policy#scope CfwEdgePolicy#scope} */ readonly scope?: string; /** * Access source example: net:IP/CIDR(192.168.0.2). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_edge_policy#source_content CfwEdgePolicy#source_content} */ readonly sourceContent: string; /** * Access source type: for inbound rules, the type can be net, location, vendor, template; for outbound rules, it can be net, instance, tag, template, group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_edge_policy#source_type CfwEdgePolicy#source_type} */ readonly sourceType: string; /** * Example of access purpose: net: IP/CIDR(192.168.0.2) domain: domain name rules, such as *.qq.com. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_edge_policy#target_content CfwEdgePolicy#target_content} */ readonly targetContent: string; /** * Access purpose type: For inbound rules, the type can be net, instance, tag, template, group; for outbound rules, it can be net, location, vendor, template. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_edge_policy#target_type CfwEdgePolicy#target_type} */ readonly targetType: string; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_edge_policy tencentcloud_cfw_edge_policy} */ export declare class CfwEdgePolicy extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_cfw_edge_policy"; /** * Generates CDKTF code for importing a CfwEdgePolicy 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 CfwEdgePolicy to import * @param importFromId The id of the existing CfwEdgePolicy that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_edge_policy#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the CfwEdgePolicy 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_edge_policy tencentcloud_cfw_edge_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 CfwEdgePolicyConfig */ constructor(scope: Construct, id: string, config: CfwEdgePolicyConfig); private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _direction?; get direction(): number; set direction(value: number); get directionInput(): number; private _enable?; get enable(): string; set enable(value: string); resetEnable(): void; get enableInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _paramTemplateId?; get paramTemplateId(): string; set paramTemplateId(value: string); resetParamTemplateId(): void; get paramTemplateIdInput(): string; 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 _scope?; get scope(): string; set scope(value: string); resetScope(): void; get scopeInput(): 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; private _targetContent?; get targetContent(): string; set targetContent(value: string); get targetContentInput(): string; private _targetType?; get targetType(): string; set targetType(value: string); get targetTypeInput(): string; get uuid(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }