import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface CfwNatPolicyConfig extends cdktf.TerraformMetaArguments { /** * Description. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_nat_policy#description CfwNatPolicy#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_nat_policy#direction CfwNatPolicy#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_nat_policy#enable CfwNatPolicy#enable} */ readonly enable?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_nat_policy#id CfwNatPolicy#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. Note: This field may return null, indicating that no valid value can be obtained. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_nat_policy#param_template_id CfwNatPolicy#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_nat_policy#port CfwNatPolicy#port} */ readonly port: string; /** * Protocol. If Direction=1, optional values: TCP, UDP, ANY; If Direction=0, optional values: TCP, UDP, ICMP, ANY, HTTP, HTTPS, HTTP/HTTPS, SMTP, SMTPS, SMTP/SMTPS, FTP, and DNS. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_nat_policy#protocol CfwNatPolicy#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_nat_policy#rule_action CfwNatPolicy#rule_action} */ readonly ruleAction: string; /** * Scope of effective rules. ALL: Global effectiveness; ap-guangzhou: Effective territory; cfwnat-xxx: Effectiveness based on instance dimension. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_nat_policy#scope CfwNatPolicy#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_nat_policy#source_content CfwNatPolicy#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_nat_policy#source_type CfwNatPolicy#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_nat_policy#target_content CfwNatPolicy#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_nat_policy#target_type CfwNatPolicy#target_type} */ readonly targetType: string; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_nat_policy tencentcloud_cfw_nat_policy} */ export declare class CfwNatPolicy extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_cfw_nat_policy"; /** * Generates CDKTF code for importing a CfwNatPolicy 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 CfwNatPolicy to import * @param importFromId The id of the existing CfwNatPolicy that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cfw_nat_policy#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the CfwNatPolicy 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_nat_policy tencentcloud_cfw_nat_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 CfwNatPolicyConfig */ constructor(scope: Construct, id: string, config: CfwNatPolicyConfig); 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; get internalUuid(): any; 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; }; }