import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface TeoApplicationProxyRuleConfig extends cdktf.TerraformMetaArguments { /** * Passes the client IP. Default value is `OFF`. When Proto is TCP, valid values: `TOA`: Pass the client IP via TOA; `PPV1`: Pass the client IP via Proxy Protocol V1; `PPV2`: Pass the client IP via Proxy Protocol V2; `OFF`: Do not pass the client IP. When Proto=UDP, valid values: `PPV2`: Pass the client IP via Proxy Protocol V2; `OFF`: Do not pass the client IP. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_application_proxy_rule#forward_client_ip TeoApplicationProxyRule#forward_client_ip} */ readonly forwardClientIp?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_application_proxy_rule#id TeoApplicationProxyRule#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; /** * Origin port, supported formats: single port: 80; Port segment: 81-90, 81 to 90 ports. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_application_proxy_rule#origin_port TeoApplicationProxyRule#origin_port} */ readonly originPort: string; /** * Origin server type. Valid values: `custom`: Specified origins; `origins`: An origin group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_application_proxy_rule#origin_type TeoApplicationProxyRule#origin_type} */ readonly originType: string; /** * Origin site information: When `OriginType` is `custom`, it indicates one or more origin sites, such as `['8.8.8.8', '9.9.9.9']` or `OriginValue=['test.com']`; When `OriginType` is `origins`, there is required to be one and only one element, representing the origin site group ID, such as `['origin-537f5b41-162a-11ed-abaa-525400c5da15']`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_application_proxy_rule#origin_value TeoApplicationProxyRule#origin_value} */ readonly originValue: string[]; /** * Valid values: `80` means port 80; `81-90` means port range 81-90. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_application_proxy_rule#port TeoApplicationProxyRule#port} */ readonly port: string[]; /** * Protocol. Valid values: `TCP`, `UDP`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_application_proxy_rule#proto TeoApplicationProxyRule#proto} */ readonly proto: string; /** * Proxy ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_application_proxy_rule#proxy_id TeoApplicationProxyRule#proxy_id} */ readonly proxyId: string; /** * Specifies whether to enable session persistence. Default value is false. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_application_proxy_rule#session_persist TeoApplicationProxyRule#session_persist} */ readonly sessionPersist?: boolean | cdktf.IResolvable; /** * Status, the values are: `online`: enabled; `offline`: deactivated; `progress`: being deployed; `stopping`: being deactivated; `fail`: deployment failure/deactivation failure. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_application_proxy_rule#status TeoApplicationProxyRule#status} */ readonly status?: string; /** * Site ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_application_proxy_rule#zone_id TeoApplicationProxyRule#zone_id} */ readonly zoneId: string; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_application_proxy_rule tencentcloud_teo_application_proxy_rule} */ export declare class TeoApplicationProxyRule extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_teo_application_proxy_rule"; /** * Generates CDKTF code for importing a TeoApplicationProxyRule 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 TeoApplicationProxyRule to import * @param importFromId The id of the existing TeoApplicationProxyRule that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_application_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 TeoApplicationProxyRule 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_application_proxy_rule tencentcloud_teo_application_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 TeoApplicationProxyRuleConfig */ constructor(scope: Construct, id: string, config: TeoApplicationProxyRuleConfig); private _forwardClientIp?; get forwardClientIp(): string; set forwardClientIp(value: string); resetForwardClientIp(): void; get forwardClientIpInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _originPort?; get originPort(): string; set originPort(value: string); get originPortInput(): string; private _originType?; get originType(): string; set originType(value: string); get originTypeInput(): string; private _originValue?; get originValue(): string[]; set originValue(value: string[]); get originValueInput(): string[]; private _port?; get port(): string[]; set port(value: string[]); get portInput(): string[]; private _proto?; get proto(): string; set proto(value: string); get protoInput(): string; private _proxyId?; get proxyId(): string; set proxyId(value: string); get proxyIdInput(): string; get ruleId(): any; private _sessionPersist?; get sessionPersist(): boolean | cdktf.IResolvable; set sessionPersist(value: boolean | cdktf.IResolvable); resetSessionPersist(): void; get sessionPersistInput(): any; private _status?; get status(): string; set status(value: string); resetStatus(): void; get statusInput(): string; private _zoneId?; get zoneId(): string; set zoneId(value: string); get zoneIdInput(): string; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }