import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface AntiddosDdosSpeedLimitConfigConfig extends cdktf.TerraformMetaArguments { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/antiddos_ddos_speed_limit_config#id AntiddosDdosSpeedLimitConfig#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; /** * InstanceId. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/antiddos_ddos_speed_limit_config#instance_id AntiddosDdosSpeedLimitConfig#instance_id} */ readonly instanceId: string; /** * ddos_speed_limit_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/antiddos_ddos_speed_limit_config#ddos_speed_limit_config AntiddosDdosSpeedLimitConfig#ddos_speed_limit_config} */ readonly ddosSpeedLimitConfig: AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfig; } export interface AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfigDstPortScopes { /** * Starting port, ranging from 1 to 65535. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/antiddos_ddos_speed_limit_config#begin_port AntiddosDdosSpeedLimitConfig#begin_port} */ readonly beginPort: number; /** * end port, ranging from 1 to 65535. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/antiddos_ddos_speed_limit_config#end_port AntiddosDdosSpeedLimitConfig#end_port} */ readonly endPort: number; } export declare function antiddosDdosSpeedLimitConfigDdosSpeedLimitConfigDstPortScopesToTerraform(struct?: AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfigDstPortScopes | cdktf.IResolvable): any; export declare function antiddosDdosSpeedLimitConfigDdosSpeedLimitConfigDstPortScopesToHclTerraform(struct?: AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfigDstPortScopes | cdktf.IResolvable): any; export declare class AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfigDstPortScopesOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfigDstPortScopes | cdktf.IResolvable | undefined; set internalValue(value: AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfigDstPortScopes | cdktf.IResolvable | undefined); private _beginPort?; get beginPort(): number; set beginPort(value: number); get beginPortInput(): number; private _endPort?; get endPort(): number; set endPort(value: number); get endPortInput(): number; } export declare class AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfigDstPortScopesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfigDstPortScopes[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfigDstPortScopesOutputReference; } export interface AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfigSpeedValues { /** * Speed limit value type, value [1 (packet rate pps) 2 (bandwidth bps)]. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/antiddos_ddos_speed_limit_config#type AntiddosDdosSpeedLimitConfig#type} */ readonly type: number; /** * value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/antiddos_ddos_speed_limit_config#value AntiddosDdosSpeedLimitConfig#value} */ readonly value: number; } export declare function antiddosDdosSpeedLimitConfigDdosSpeedLimitConfigSpeedValuesToTerraform(struct?: AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfigSpeedValues | cdktf.IResolvable): any; export declare function antiddosDdosSpeedLimitConfigDdosSpeedLimitConfigSpeedValuesToHclTerraform(struct?: AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfigSpeedValues | cdktf.IResolvable): any; export declare class AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfigSpeedValuesOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfigSpeedValues | cdktf.IResolvable | undefined; set internalValue(value: AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfigSpeedValues | cdktf.IResolvable | undefined); private _type?; get type(): number; set type(value: number); get typeInput(): number; private _value?; get value(): number; set value(value: number); get valueInput(): number; } export declare class AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfigSpeedValuesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfigSpeedValues[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfigSpeedValuesOutputReference; } export interface AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfig { /** * List of port ranges, up to 8, multiple; Separate and indicate the range with -; This port range must be filled in; Fill in style 1:0-65535, style 2: 80; 443; 1000-2000. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/antiddos_ddos_speed_limit_config#dst_port_list AntiddosDdosSpeedLimitConfig#dst_port_list} */ readonly dstPortList?: string; /** * Speed limit mode, value [1 (based on source IP speed limit) 2 (based on destination port speed limit)]. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/antiddos_ddos_speed_limit_config#mode AntiddosDdosSpeedLimitConfig#mode} */ readonly mode: number; /** * IP protocol numbers, values [ALL (all protocols) TCP (tcp protocol) UDP (udp protocol) SMP (smp protocol) 1; 2-100 (custom protocol number range, up to 8)] Note: When customizing the protocol number range, only the protocol number can be filled in, multiple ranges; Separation; When filling in ALL, no other agreements or agreements can be filled inNumber. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/antiddos_ddos_speed_limit_config#protocol_list AntiddosDdosSpeedLimitConfig#protocol_list} */ readonly protocolList?: string; /** * dst_port_scopes block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/antiddos_ddos_speed_limit_config#dst_port_scopes AntiddosDdosSpeedLimitConfig#dst_port_scopes} */ readonly dstPortScopes?: AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfigDstPortScopes[] | cdktf.IResolvable; /** * speed_values block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/antiddos_ddos_speed_limit_config#speed_values AntiddosDdosSpeedLimitConfig#speed_values} */ readonly speedValues: AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfigSpeedValues[] | cdktf.IResolvable; } export declare function antiddosDdosSpeedLimitConfigDdosSpeedLimitConfigToTerraform(struct?: AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfigOutputReference | AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfig): any; export declare function antiddosDdosSpeedLimitConfigDdosSpeedLimitConfigToHclTerraform(struct?: AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfigOutputReference | AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfig): any; export declare class AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfigOutputReference 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(): AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfig | undefined; set internalValue(value: AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfig | undefined); private _dstPortList?; get dstPortList(): string; set dstPortList(value: string); resetDstPortList(): void; get dstPortListInput(): string; private _mode?; get mode(): number; set mode(value: number); get modeInput(): number; private _protocolList?; get protocolList(): string; set protocolList(value: string); resetProtocolList(): void; get protocolListInput(): string; private _dstPortScopes; get dstPortScopes(): AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfigDstPortScopesList; putDstPortScopes(value: AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfigDstPortScopes[] | cdktf.IResolvable): void; resetDstPortScopes(): void; get dstPortScopesInput(): any; private _speedValues; get speedValues(): AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfigSpeedValuesList; putSpeedValues(value: AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfigSpeedValues[] | cdktf.IResolvable): void; get speedValuesInput(): any; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/antiddos_ddos_speed_limit_config tencentcloud_antiddos_ddos_speed_limit_config} */ export declare class AntiddosDdosSpeedLimitConfig extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_antiddos_ddos_speed_limit_config"; /** * Generates CDKTF code for importing a AntiddosDdosSpeedLimitConfig 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 AntiddosDdosSpeedLimitConfig to import * @param importFromId The id of the existing AntiddosDdosSpeedLimitConfig that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/antiddos_ddos_speed_limit_config#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the AntiddosDdosSpeedLimitConfig 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/antiddos_ddos_speed_limit_config tencentcloud_antiddos_ddos_speed_limit_config} 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 AntiddosDdosSpeedLimitConfigConfig */ constructor(scope: Construct, id: string, config: AntiddosDdosSpeedLimitConfigConfig); private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _instanceId?; get instanceId(): string; set instanceId(value: string); get instanceIdInput(): string; private _ddosSpeedLimitConfig; get ddosSpeedLimitConfig(): AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfigOutputReference; putDdosSpeedLimitConfig(value: AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfig): void; get ddosSpeedLimitConfigInput(): AntiddosDdosSpeedLimitConfigDdosSpeedLimitConfig; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }