import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface TeoL4ProxyConfig extends cdktf.TerraformMetaArguments { /** * Specifies whether to enable network optimization in the Chinese mainland. The default value off is used if left empty. This configuration can only be enabled in certain acceleration zones and security protection configurations. For details, see [Creating an L4 Proxy Instance](https://intl.cloud.tencent.com/document/product/1552/90025?from_cn_redirect=1). Valid values: `on`: Enable; `off`: Disable. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_l4_proxy#accelerate_mainland TeoL4Proxy#accelerate_mainland} */ readonly accelerateMainland?: string; /** * Acceleration zone of the Layer 4 proxy instance. `mainland`: Availability zone in the Chinese mainland; `overseas`: Global availability zone (excluding the Chinese mainland); `global`: Global availability zone. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_l4_proxy#area TeoL4Proxy#area} */ readonly area?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_l4_proxy#id TeoL4Proxy#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; /** * Specifies whether to enable IPv6 access. The default value off is used if left empty. This configuration can only be enabled in certain acceleration zones and security protection configurations. For details, see [Creating an L4 Proxy Instance](https://intl.cloud.tencent.com/document/product/1552/90025?from_cn_redirect=1). Valid values: `on`: Enable; `off`: Disable. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_l4_proxy#ipv6 TeoL4Proxy#ipv6} */ readonly ipv6?: string; /** * Layer 4 proxy instance name. You can enter 1-50 characters. Valid characters are a-z, 0-9, and hyphens (-). However, hyphens (-) cannot be used individually or consecutively and should not be placed at the beginning or end of the name. Modifications are not allowed after creation. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_l4_proxy#proxy_name TeoL4Proxy#proxy_name} */ readonly proxyName: string; /** * Specifies whether to enable the fixed IP address. The default value off is used if left empty. This configuration can only be enabled in certain acceleration zones and security protection configurations. For details, see [Creating an L4 Proxy Instance](https://intl.cloud.tencent.com/document/product/1552/90025?from_cn_redirect=1). Valid values: `on`: Enable; `off`: Disable. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_l4_proxy#static_ip TeoL4Proxy#static_ip} */ readonly staticIp?: string; /** * Site ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_l4_proxy#zone_id TeoL4Proxy#zone_id} */ readonly zoneId: string; /** * ddos_protection_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_l4_proxy#ddos_protection_config TeoL4Proxy#ddos_protection_config} */ readonly ddosProtectionConfig?: TeoL4ProxyDdosProtectionConfig; } export interface TeoL4ProxyDdosProtectionConfig { /** * Exclusive DDoS protection specifications in the Chinese mainland. For details, see [Dedicated DDoS Mitigation Fee (Pay-as-You-Go)] (https://intl.cloud.tencent.com/document/product/1552/94162?from_cn_redirect=1). `PLATFORM`: Default protection of the platform, i.e., Exclusive DDoS protection is not enabled; `BASE30_MAX300`: Exclusive DDoS protection enabled, providing a baseline protection bandwidth of 30 Gbps and an elastic protection bandwidth of up to 300 Gbps; `BASE60_MAX600`: Exclusive DDoS protection enabled, providing a baseline protection bandwidth of 60 Gbps and an elastic protection bandwidth of up to 600 Gbps. If no parameters are filled, the default value PLATFORM is used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_l4_proxy#level_mainland TeoL4Proxy#level_mainland} */ readonly levelMainland?: string; /** * Exclusive DDoS protection specifications in the worldwide region (excluding the Chinese mainland). `PLATFORM`: Default protection of the platform, i.e., Exclusive DDoS protection is not enabled; `ANYCAST300`: Exclusive DDoS protection enabled, offering a total maximum protection bandwidth of 300 Gbps; `ANYCAST_ALLIN`: Exclusive DDoS protection enabled, utilizing all available protection resources for protection. When no parameters are filled, the default value PLATFORM is used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_l4_proxy#level_overseas TeoL4Proxy#level_overseas} */ readonly levelOverseas?: string; /** * Configuration of elastic protection bandwidth for exclusive DDoS protection in the Chinese mainland.Valid only when exclusive DDoS protection in the Chinese mainland is enabled (refer to the LevelMainland parameter configuration), and the value has the following limitations: When exclusive DDoS protection is enabled in the Chinese mainland and the 30 Gbps baseline protection bandwidth is used (the LevelMainland parameter value is BASE30_MAX300): the value range is 30 to 300 in Gbps; When exclusive DDoS protection is enabled in the Chinese mainland and the 60 Gbps baseline protection bandwidth is used (the LevelMainland parameter value is BASE60_MAX600): the value range is 60 to 600 in Gbps; When the default protection of the platform is used (the LevelMainland parameter value is PLATFORM): configuration is not supported, and the value of this parameter is invalid. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_l4_proxy#max_bandwidth_mainland TeoL4Proxy#max_bandwidth_mainland} */ readonly maxBandwidthMainland?: number; } export declare function teoL4ProxyDdosProtectionConfigToTerraform(struct?: TeoL4ProxyDdosProtectionConfigOutputReference | TeoL4ProxyDdosProtectionConfig): any; export declare function teoL4ProxyDdosProtectionConfigToHclTerraform(struct?: TeoL4ProxyDdosProtectionConfigOutputReference | TeoL4ProxyDdosProtectionConfig): any; export declare class TeoL4ProxyDdosProtectionConfigOutputReference 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(): TeoL4ProxyDdosProtectionConfig | undefined; set internalValue(value: TeoL4ProxyDdosProtectionConfig | undefined); private _levelMainland?; get levelMainland(): string; set levelMainland(value: string); resetLevelMainland(): void; get levelMainlandInput(): string; private _levelOverseas?; get levelOverseas(): string; set levelOverseas(value: string); resetLevelOverseas(): void; get levelOverseasInput(): string; private _maxBandwidthMainland?; get maxBandwidthMainland(): number; set maxBandwidthMainland(value: number); resetMaxBandwidthMainland(): void; get maxBandwidthMainlandInput(): number; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_l4_proxy tencentcloud_teo_l4_proxy} */ export declare class TeoL4Proxy extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_teo_l4_proxy"; /** * Generates CDKTF code for importing a TeoL4Proxy 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 TeoL4Proxy to import * @param importFromId The id of the existing TeoL4Proxy that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_l4_proxy#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the TeoL4Proxy 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 tencentcloud_teo_l4_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 TeoL4ProxyConfig */ constructor(scope: Construct, id: string, config: TeoL4ProxyConfig); private _accelerateMainland?; get accelerateMainland(): string; set accelerateMainland(value: string); resetAccelerateMainland(): void; get accelerateMainlandInput(): string; private _area?; get area(): string; set area(value: string); resetArea(): void; get areaInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _ipv6?; get ipv6(): string; set ipv6(value: string); resetIpv6(): void; get ipv6Input(): string; private _proxyName?; get proxyName(): string; set proxyName(value: string); get proxyNameInput(): string; private _staticIp?; get staticIp(): string; set staticIp(value: string); resetStaticIp(): void; get staticIpInput(): string; private _zoneId?; get zoneId(): string; set zoneId(value: string); get zoneIdInput(): string; private _ddosProtectionConfig; get ddosProtectionConfig(): TeoL4ProxyDdosProtectionConfigOutputReference; putDdosProtectionConfig(value: TeoL4ProxyDdosProtectionConfig): void; resetDdosProtectionConfig(): void; get ddosProtectionConfigInput(): TeoL4ProxyDdosProtectionConfig; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }