import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface TeoL4ProxyRuleConfig extends cdktf.TerraformMetaArguments { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_l4_proxy_rule#id TeoL4ProxyRule#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; /** * Layer 4 proxy instance ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_l4_proxy_rule#proxy_id TeoL4ProxyRule#proxy_id} */ readonly proxyId: string; /** * Zone ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_l4_proxy_rule#zone_id TeoL4ProxyRule#zone_id} */ readonly zoneId: string; /** * l4_proxy_rules block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_l4_proxy_rule#l4_proxy_rules TeoL4ProxyRule#l4_proxy_rules} */ readonly l4ProxyRules: TeoL4ProxyRuleL4ProxyRules; } export interface TeoL4ProxyRuleL4ProxyRules { /** * Transmission of the client IP address. Valid values:
  • TOA: Available only when Protocol=TCP;
  • *
  • PPV1: Transmission via Proxy Protocol V1. Available only when Protocol=TCP;
  • *
  • PPV2: Transmission via Proxy Protocol V2;
  • *
  • SPP: Transmission via Simple Proxy Protocol. Available only when Protocol=UDP;
  • *
  • OFF: No transmission.
  • * Note: This parameter is optional when L4ProxyRule is used as an input parameter in Createl4ProxyRule, and if not specified, the default value OFF will be used; it is optional when L4ProxyRule is used as an input parameter in Modifyl4ProxyRule. If not specified, it will retain its existing value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_l4_proxy_rule#client_ip_pass_through_mode TeoL4ProxyRule#client_ip_pass_through_mode} */ readonly clientIpPassThroughMode?: string; /** * Origin server port, which can be set as follows:
  • A single port, such as 80;
  • *
  • A range of ports, such as 81-85, representing ports 81, 82, 83, 84, 85. When inputting a range of ports, ensure that the length corresponds with that of the forwarding port range. For example, if the forwarding port range is 80-90, this port range should be 90-100.
  • * Note: This parameter must be filled in when L4ProxyRule is used as an input parameter in Createl4ProxyRule; it is optional when L4ProxyRule is used as an input parameter in Modifyl4ProxyRule. If not specified, it will retain its existing value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_l4_proxy_rule#origin_port_range TeoL4ProxyRule#origin_port_range} */ readonly originPortRange?: string; /** * Origin server type. Valid values: *
  • IP_DOMAIN: IP/Domain name origin server;
  • *
  • ORIGIN_GROUP: Origin server group;
  • *
  • LB: Cloud Load Balancer, currently only open to the allowlist.
  • * Note: This parameter must be filled in when L4ProxyRule is used as an input parameter in Createl4ProxyRule; it is optional when L4ProxyRule is used as an input parameter in Modifyl4ProxyRule. If not specified, it will retain its existing value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_l4_proxy_rule#origin_type TeoL4ProxyRule#origin_type} */ readonly originType?: string; /** * Origin server address. *
  • When OriginType is set to IP_DOMAIN, enter the IP address or domain name, such as 8.8.8.8 or test.com;
  • *
  • When OriginType is set to ORIGIN_GROUP, enter the origin server group ID, such as og-537y24vf5b41;
  • *
  • When OriginType is set to LB, enter the Cloud Load Balancer instance ID, such as lb-2qwk30xf7s9g.
  • * Note: This parameter must be filled in when L4ProxyRule is used as an input parameter in Createl4ProxyRule; it is optional when L4ProxyRule is used as an input parameter in Modifyl4ProxyRule. If not specified, it will retain its existing value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_l4_proxy_rule#origin_value TeoL4ProxyRule#origin_value} */ readonly originValue?: string[]; /** * Forwarding port, which can be set as follows: *
  • A single port, such as 80;
  • *
  • A range of ports, such as 81-85, representing ports 81, 82, 83, 84, 85.
  • * Note: This parameter must be filled in when L4ProxyRule is used as an input parameter in Createl4ProxyRule; it is optional when L4ProxyRule is used as an input parameter in Modifyl4ProxyRule. If not specified, it will retain its existing value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_l4_proxy_rule#port_range TeoL4ProxyRule#port_range} */ readonly portRange?: string[]; /** * Forwarding protocol. Valid values: *
  • TCP: TCP protocol;
  • *
  • UDP: UDP protocol.
  • * Note: This parameter must be filled in when L4ProxyRule is used as an input parameter in Createl4ProxyRule; it is optional when L4ProxyRule is used as an input parameter in Modifyl4ProxyRule. If not specified, it will retain its existing value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_l4_proxy_rule#protocol TeoL4ProxyRule#protocol} */ readonly protocol?: string; /** * Rule tag. Accepts 1-50 arbitrary characters. * Note: This parameter is optional when L4ProxyRule is used as an input parameter in Createl4ProxyRule; it is optional when L4ProxyRule is used as an input parameter in Modifyl4ProxyRule. If not specified, it will retain its existing value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_l4_proxy_rule#rule_tag TeoL4ProxyRule#rule_tag} */ readonly ruleTag?: string; /** * Specifies whether to enable session persistence. Valid values: *
  • on: Enable;
  • *
  • off: Disable.
  • * Note: This parameter is optional when L4ProxyRule is used as an input parameter in Createl4ProxyRule, and if not specified, the default value off will be used; it is optional when L4ProxyRule is used as an input parameter in Modifyl4ProxyRule. If not specified, it will retain its existing value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_l4_proxy_rule#session_persist TeoL4ProxyRule#session_persist} */ readonly sessionPersist?: string; /** * Session persistence period, with a range of 30-3600, measured in seconds. * Note: This parameter is optional when L4ProxyRule is used as an input parameter in Createl4ProxyRule. It is valid only when SessionPersist is set to on and defaults to 3600 if not specified. It is optional when L4ProxyRule is used as an input parameter in Modifyl4ProxyRule. If not specified, it will retain its existing value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_l4_proxy_rule#session_persist_time TeoL4ProxyRule#session_persist_time} */ readonly sessionPersistTime?: number; /** * Rule status. Valid values:
  • online: Enabled;
  • *
  • offline: Disabled;
  • *
  • progress: Deploying;
  • *
  • stopping: Disabling;
  • *
  • fail: Failed to deploy or disable.
  • . * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_l4_proxy_rule#status TeoL4ProxyRule#status} */ readonly status?: string; } export declare function teoL4ProxyRuleL4ProxyRulesToTerraform(struct?: TeoL4ProxyRuleL4ProxyRulesOutputReference | TeoL4ProxyRuleL4ProxyRules): any; export declare function teoL4ProxyRuleL4ProxyRulesToHclTerraform(struct?: TeoL4ProxyRuleL4ProxyRulesOutputReference | TeoL4ProxyRuleL4ProxyRules): any; export declare class TeoL4ProxyRuleL4ProxyRulesOutputReference 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(): TeoL4ProxyRuleL4ProxyRules | undefined; set internalValue(value: TeoL4ProxyRuleL4ProxyRules | undefined); private _clientIpPassThroughMode?; get clientIpPassThroughMode(): string; set clientIpPassThroughMode(value: string); resetClientIpPassThroughMode(): void; get clientIpPassThroughModeInput(): string; private _originPortRange?; get originPortRange(): string; set originPortRange(value: string); resetOriginPortRange(): void; get originPortRangeInput(): string; private _originType?; get originType(): string; set originType(value: string); resetOriginType(): void; get originTypeInput(): string; private _originValue?; get originValue(): string[]; set originValue(value: string[]); resetOriginValue(): void; get originValueInput(): string[]; private _portRange?; get portRange(): string[]; set portRange(value: string[]); resetPortRange(): void; get portRangeInput(): string[]; private _protocol?; get protocol(): string; set protocol(value: string); resetProtocol(): void; get protocolInput(): string; get ruleId(): any; private _ruleTag?; get ruleTag(): string; set ruleTag(value: string); resetRuleTag(): void; get ruleTagInput(): string; private _sessionPersist?; get sessionPersist(): string; set sessionPersist(value: string); resetSessionPersist(): void; get sessionPersistInput(): string; private _sessionPersistTime?; get sessionPersistTime(): number; set sessionPersistTime(value: number); resetSessionPersistTime(): void; get sessionPersistTimeInput(): number; private _status?; get status(): string; set status(value: string); resetStatus(): void; get statusInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_l4_proxy_rule tencentcloud_teo_l4_proxy_rule} */ export declare class TeoL4ProxyRule extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_teo_l4_proxy_rule"; /** * Generates CDKTF code for importing a TeoL4ProxyRule 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 TeoL4ProxyRule to import * @param importFromId The id of the existing TeoL4ProxyRule that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_l4_proxy_rule#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the TeoL4ProxyRule 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/teo_l4_proxy_rule tencentcloud_teo_l4_proxy_rule} 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 TeoL4ProxyRuleConfig */ constructor(scope: Construct, id: string, config: TeoL4ProxyRuleConfig); private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _proxyId?; get proxyId(): string; set proxyId(value: string); get proxyIdInput(): string; private _zoneId?; get zoneId(): string; set zoneId(value: string); get zoneIdInput(): string; private _l4ProxyRules; get l4ProxyRules(): TeoL4ProxyRuleL4ProxyRulesOutputReference; putL4ProxyRules(value: TeoL4ProxyRuleL4ProxyRules): void; get l4ProxyRulesInput(): TeoL4ProxyRuleL4ProxyRules; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }