import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface TeoApplicationProxyConfig extends cdktf.TerraformMetaArguments { /** * - `0`: Disable acceleration.- `1`: Enable acceleration. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_application_proxy#accelerate_type TeoApplicationProxy#accelerate_type} */ readonly accelerateType: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_application_proxy#id TeoApplicationProxy#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; /** * Scheduling mode.- `ip`: Anycast IP.- `domain`: CNAME. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_application_proxy#plat_type TeoApplicationProxy#plat_type} */ readonly platType: string; /** * When `ProxyType` is hostname, `ProxyName` is the domain or subdomain name.When `ProxyType` is instance, `ProxyName` is the name of proxy application. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_application_proxy#proxy_name TeoApplicationProxy#proxy_name} */ readonly proxyName: string; /** * Layer 4 proxy mode. Valid values:- `hostname`: subdomain mode.- `instance`: instance mode. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_application_proxy#proxy_type TeoApplicationProxy#proxy_type} */ readonly proxyType?: string; /** * - `0`: Disable security protection.- `1`: Enable security protection. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_application_proxy#security_type TeoApplicationProxy#security_type} */ readonly securityType: number; /** * Session persistence duration. Value range: 30-3600 (in seconds), default value is 600. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_application_proxy#session_persist_time TeoApplicationProxy#session_persist_time} */ readonly sessionPersistTime?: number; /** * Status of this application proxy. Valid values to set is `online` and `offline`.- `online`: Enable.- `offline`: Disable.- `progress`: Deploying.- `stopping`: Deactivating.- `fail`: Deploy or deactivate failed. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_application_proxy#status TeoApplicationProxy#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#zone_id TeoApplicationProxy#zone_id} */ readonly zoneId: string; /** * ipv6 block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_application_proxy#ipv6 TeoApplicationProxy#ipv6} */ readonly ipv6?: TeoApplicationProxyIpv6; } export interface TeoApplicationProxyIpv6 { /** * - `on`: Enable.- `off`: Disable. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_application_proxy#switch TeoApplicationProxy#switch} */ readonly switch: string; } export declare function teoApplicationProxyIpv6ToTerraform(struct?: TeoApplicationProxyIpv6OutputReference | TeoApplicationProxyIpv6): any; export declare function teoApplicationProxyIpv6ToHclTerraform(struct?: TeoApplicationProxyIpv6OutputReference | TeoApplicationProxyIpv6): any; export declare class TeoApplicationProxyIpv6OutputReference 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(): TeoApplicationProxyIpv6 | undefined; set internalValue(value: TeoApplicationProxyIpv6 | undefined); private _switch?; get switch(): string; set switch(value: string); get switchInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_application_proxy tencentcloud_teo_application_proxy} */ export declare class TeoApplicationProxy extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_teo_application_proxy"; /** * Generates CDKTF code for importing a TeoApplicationProxy 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 TeoApplicationProxy to import * @param importFromId The id of the existing TeoApplicationProxy that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_application_proxy#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the TeoApplicationProxy 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 tencentcloud_teo_application_proxy} 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 TeoApplicationProxyConfig */ constructor(scope: Construct, id: string, config: TeoApplicationProxyConfig); private _accelerateType?; get accelerateType(): number; set accelerateType(value: number); get accelerateTypeInput(): number; get area(): any; get banStatus(): any; get hostId(): any; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _platType?; get platType(): string; set platType(value: string); get platTypeInput(): string; get proxyId(): any; private _proxyName?; get proxyName(): string; set proxyName(value: string); get proxyNameInput(): string; private _proxyType?; get proxyType(): string; set proxyType(value: string); resetProxyType(): void; get proxyTypeInput(): string; get scheduleValue(): any; private _securityType?; get securityType(): number; set securityType(value: number); get securityTypeInput(): number; 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; get updateTime(): any; private _zoneId?; get zoneId(): string; set zoneId(value: string); get zoneIdInput(): string; private _ipv6; get ipv6(): TeoApplicationProxyIpv6OutputReference; putIpv6(value: TeoApplicationProxyIpv6): void; resetIpv6(): void; get ipv6Input(): TeoApplicationProxyIpv6; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }