import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface DayuDdosPolicyConfig extends cdktf.TerraformMetaArguments { /** * Black IP list. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#black_ips DayuDdosPolicy#black_ips} */ readonly blackIps?: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#id DayuDdosPolicy#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; /** * Name of the DDoS policy. Length should between 1 and 32. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#name DayuDdosPolicy#name} */ readonly name: string; /** * Type of the resource that the DDoS policy works for. Valid values: `bgpip`, `bgp`, `bgp-multip` and `net`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#resource_type DayuDdosPolicy#resource_type} */ readonly resourceType: string; /** * White IP list. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#white_ips DayuDdosPolicy#white_ips} */ readonly whiteIps?: string[]; /** * drop_options block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#drop_options DayuDdosPolicy#drop_options} */ readonly dropOptions: DayuDdosPolicyDropOptions[] | cdktf.IResolvable; /** * packet_filters block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#packet_filters DayuDdosPolicy#packet_filters} */ readonly packetFilters?: DayuDdosPolicyPacketFilters[] | cdktf.IResolvable; /** * port_filters block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#port_filters DayuDdosPolicy#port_filters} */ readonly portFilters?: DayuDdosPolicyPortFilters[] | cdktf.IResolvable; /** * watermark_filters block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#watermark_filters DayuDdosPolicy#watermark_filters} */ readonly watermarkFilters?: DayuDdosPolicyWatermarkFilters[] | cdktf.IResolvable; } export interface DayuDdosPolicyWatermarkKey { } export declare function dayuDdosPolicyWatermarkKeyToTerraform(struct?: DayuDdosPolicyWatermarkKey): any; export declare function dayuDdosPolicyWatermarkKeyToHclTerraform(struct?: DayuDdosPolicyWatermarkKey): any; export declare class DayuDdosPolicyWatermarkKeyOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @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(): DayuDdosPolicyWatermarkKey | undefined; set internalValue(value: DayuDdosPolicyWatermarkKey | undefined); get content(): any; get createTime(): any; get id(): any; get openSwitch(): any; } export declare class DayuDdosPolicyWatermarkKeyList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; /** * @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): DayuDdosPolicyWatermarkKeyOutputReference; } export interface DayuDdosPolicyDropOptions { /** * The number of new connections based on destination IP that trigger suppression of connections. Valid value ranges: (0~4294967295). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#bad_conn_threshold DayuDdosPolicy#bad_conn_threshold} */ readonly badConnThreshold: number; /** * Indicate whether to check null connection or not. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#check_sync_conn DayuDdosPolicy#check_sync_conn} */ readonly checkSyncConn: boolean | cdktf.IResolvable; /** * Connection timeout of abnormal connection check. Valid value ranges: (0~65535). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#conn_timeout DayuDdosPolicy#conn_timeout} */ readonly connTimeout: number; /** * The limit of concurrent connections based on destination IP. Valid value ranges: (0~4294967295). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#d_conn_limit DayuDdosPolicy#d_conn_limit} */ readonly dConnLimit: number; /** * The limit of new connections based on destination IP. Valid value ranges: (0~4294967295). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#d_new_limit DayuDdosPolicy#d_new_limit} */ readonly dNewLimit: number; /** * Indicate whether to drop abroad traffic or not. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#drop_abroad DayuDdosPolicy#drop_abroad} */ readonly dropAbroad: boolean | cdktf.IResolvable; /** * Indicate whether to drop ICMP protocol or not. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#drop_icmp DayuDdosPolicy#drop_icmp} */ readonly dropIcmp: boolean | cdktf.IResolvable; /** * Indicate whether to drop other protocols(exclude TCP/UDP/ICMP) or not. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#drop_other DayuDdosPolicy#drop_other} */ readonly dropOther: boolean | cdktf.IResolvable; /** * Indicate whether to drop TCP protocol or not. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#drop_tcp DayuDdosPolicy#drop_tcp} */ readonly dropTcp: boolean | cdktf.IResolvable; /** * Indicate to drop UDP protocol or not. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#drop_udp DayuDdosPolicy#drop_udp} */ readonly dropUdp: boolean | cdktf.IResolvable; /** * The limit of ICMP traffic rate. Valid value ranges: (0~4294967295)(Mbps). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#icmp_mbps_limit DayuDdosPolicy#icmp_mbps_limit} */ readonly icmpMbpsLimit: number; /** * Indicate to enable null connection or not. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#null_conn_enable DayuDdosPolicy#null_conn_enable} */ readonly nullConnEnable: boolean | cdktf.IResolvable; /** * The limit of other protocols(exclude TCP/UDP/ICMP) traffic rate. Valid value ranges: (0~4294967295)(Mbps). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#other_mbps_limit DayuDdosPolicy#other_mbps_limit} */ readonly otherMbpsLimit: number; /** * The limit of concurrent connections based on source IP. Valid value ranges: (0~4294967295). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#s_conn_limit DayuDdosPolicy#s_conn_limit} */ readonly sConnLimit: number; /** * The limit of new connections based on source IP. Valid value ranges: (0~4294967295). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#s_new_limit DayuDdosPolicy#s_new_limit} */ readonly sNewLimit: number; /** * The limit of syn of abnormal connection check. Valid value ranges: (0~100). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#syn_limit DayuDdosPolicy#syn_limit} */ readonly synLimit: number; /** * The percentage of syn in ack of abnormal connection check. Valid value ranges: (0~100). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#syn_rate DayuDdosPolicy#syn_rate} */ readonly synRate?: number; /** * The limit of TCP traffic. Valid value ranges: (0~4294967295)(Mbps). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#tcp_mbps_limit DayuDdosPolicy#tcp_mbps_limit} */ readonly tcpMbpsLimit: number; /** * The limit of UDP traffic rate. Valid value ranges: (0~4294967295)(Mbps). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#udp_mbps_limit DayuDdosPolicy#udp_mbps_limit} */ readonly udpMbpsLimit: number; } export declare function dayuDdosPolicyDropOptionsToTerraform(struct?: DayuDdosPolicyDropOptions | cdktf.IResolvable): any; export declare function dayuDdosPolicyDropOptionsToHclTerraform(struct?: DayuDdosPolicyDropOptions | cdktf.IResolvable): any; export declare class DayuDdosPolicyDropOptionsOutputReference 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(): DayuDdosPolicyDropOptions | cdktf.IResolvable | undefined; set internalValue(value: DayuDdosPolicyDropOptions | cdktf.IResolvable | undefined); private _badConnThreshold?; get badConnThreshold(): number; set badConnThreshold(value: number); get badConnThresholdInput(): number; private _checkSyncConn?; get checkSyncConn(): boolean | cdktf.IResolvable; set checkSyncConn(value: boolean | cdktf.IResolvable); get checkSyncConnInput(): any; private _connTimeout?; get connTimeout(): number; set connTimeout(value: number); get connTimeoutInput(): number; private _dConnLimit?; get dConnLimit(): number; set dConnLimit(value: number); get dConnLimitInput(): number; private _dNewLimit?; get dNewLimit(): number; set dNewLimit(value: number); get dNewLimitInput(): number; private _dropAbroad?; get dropAbroad(): boolean | cdktf.IResolvable; set dropAbroad(value: boolean | cdktf.IResolvable); get dropAbroadInput(): any; private _dropIcmp?; get dropIcmp(): boolean | cdktf.IResolvable; set dropIcmp(value: boolean | cdktf.IResolvable); get dropIcmpInput(): any; private _dropOther?; get dropOther(): boolean | cdktf.IResolvable; set dropOther(value: boolean | cdktf.IResolvable); get dropOtherInput(): any; private _dropTcp?; get dropTcp(): boolean | cdktf.IResolvable; set dropTcp(value: boolean | cdktf.IResolvable); get dropTcpInput(): any; private _dropUdp?; get dropUdp(): boolean | cdktf.IResolvable; set dropUdp(value: boolean | cdktf.IResolvable); get dropUdpInput(): any; private _icmpMbpsLimit?; get icmpMbpsLimit(): number; set icmpMbpsLimit(value: number); get icmpMbpsLimitInput(): number; private _nullConnEnable?; get nullConnEnable(): boolean | cdktf.IResolvable; set nullConnEnable(value: boolean | cdktf.IResolvable); get nullConnEnableInput(): any; private _otherMbpsLimit?; get otherMbpsLimit(): number; set otherMbpsLimit(value: number); get otherMbpsLimitInput(): number; private _sConnLimit?; get sConnLimit(): number; set sConnLimit(value: number); get sConnLimitInput(): number; private _sNewLimit?; get sNewLimit(): number; set sNewLimit(value: number); get sNewLimitInput(): number; private _synLimit?; get synLimit(): number; set synLimit(value: number); get synLimitInput(): number; private _synRate?; get synRate(): number; set synRate(value: number); resetSynRate(): void; get synRateInput(): number; private _tcpMbpsLimit?; get tcpMbpsLimit(): number; set tcpMbpsLimit(value: number); get tcpMbpsLimitInput(): number; private _udpMbpsLimit?; get udpMbpsLimit(): number; set udpMbpsLimit(value: number); get udpMbpsLimitInput(): number; } export declare class DayuDdosPolicyDropOptionsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: DayuDdosPolicyDropOptions[] | 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): DayuDdosPolicyDropOptionsOutputReference; } export interface DayuDdosPolicyPacketFilters { /** * Action of port to take. Valid values: `drop`, `drop_black`,`drop_rst`,`drop_black_rst`,`transmit`.`drop`(drop the packet), `drop_black`(drop the packet and black the ip),`drop_rst`(drop the packet and disconnect),`drop_black_rst`(drop the packet, black the ip and disconnect),`transmit`(transmit the packet). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#action DayuDdosPolicy#action} */ readonly action?: string; /** * End port of the destination. Valid value ranges: (0~65535). It must be greater than `d_start_port`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#d_end_port DayuDdosPolicy#d_end_port} */ readonly dEndPort?: number; /** * Start port of the destination. Valid value ranges: (0~65535). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#d_start_port DayuDdosPolicy#d_start_port} */ readonly dStartPort?: number; /** * The depth of match. Valid value ranges: (0~1500). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#depth DayuDdosPolicy#depth} */ readonly depth?: number; /** * Indicate whether to include the key word/regular expression or not. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#is_include DayuDdosPolicy#is_include} */ readonly isInclude?: boolean | cdktf.IResolvable; /** * Indicate whether to check load or not, `begin_l5` means to match and `no_match` means not. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#match_begin DayuDdosPolicy#match_begin} */ readonly matchBegin?: string; /** * The key word or regular expression. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#match_str DayuDdosPolicy#match_str} */ readonly matchStr?: string; /** * Match type. Valid values: `sunday` and `pcre`. `sunday` means key word match while `pcre` means regular match. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#match_type DayuDdosPolicy#match_type} */ readonly matchType?: string; /** * The offset of match. Valid value ranges: (0~1500). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#offset DayuDdosPolicy#offset} */ readonly offset?: number; /** * The max length of the packet. Valid value ranges: (0~1500)(Mbps). It must be greater than `pkt_length_min`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#pkt_length_max DayuDdosPolicy#pkt_length_max} */ readonly pktLengthMax?: number; /** * The minimum length of the packet. Valid value ranges: (0~1500)(Mbps). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#pkt_length_min DayuDdosPolicy#pkt_length_min} */ readonly pktLengthMin?: number; /** * Protocol. Valid values: `tcp`, `udp`, `icmp`, `all`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#protocol DayuDdosPolicy#protocol} */ readonly protocol?: string; /** * End port of the source. Valid value ranges: (0~65535). It must be greater than `s_start_port`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#s_end_port DayuDdosPolicy#s_end_port} */ readonly sEndPort?: number; /** * Start port of the source. Valid value ranges: (0~65535). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#s_start_port DayuDdosPolicy#s_start_port} */ readonly sStartPort?: number; } export declare function dayuDdosPolicyPacketFiltersToTerraform(struct?: DayuDdosPolicyPacketFilters | cdktf.IResolvable): any; export declare function dayuDdosPolicyPacketFiltersToHclTerraform(struct?: DayuDdosPolicyPacketFilters | cdktf.IResolvable): any; export declare class DayuDdosPolicyPacketFiltersOutputReference 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(): DayuDdosPolicyPacketFilters | cdktf.IResolvable | undefined; set internalValue(value: DayuDdosPolicyPacketFilters | cdktf.IResolvable | undefined); private _action?; get action(): string; set action(value: string); resetAction(): void; get actionInput(): string; private _dEndPort?; get dEndPort(): number; set dEndPort(value: number); resetDEndPort(): void; get dEndPortInput(): number; private _dStartPort?; get dStartPort(): number; set dStartPort(value: number); resetDStartPort(): void; get dStartPortInput(): number; private _depth?; get depth(): number; set depth(value: number); resetDepth(): void; get depthInput(): number; private _isInclude?; get isInclude(): boolean | cdktf.IResolvable; set isInclude(value: boolean | cdktf.IResolvable); resetIsInclude(): void; get isIncludeInput(): any; private _matchBegin?; get matchBegin(): string; set matchBegin(value: string); resetMatchBegin(): void; get matchBeginInput(): string; private _matchStr?; get matchStr(): string; set matchStr(value: string); resetMatchStr(): void; get matchStrInput(): string; private _matchType?; get matchType(): string; set matchType(value: string); resetMatchType(): void; get matchTypeInput(): string; private _offset?; get offset(): number; set offset(value: number); resetOffset(): void; get offsetInput(): number; private _pktLengthMax?; get pktLengthMax(): number; set pktLengthMax(value: number); resetPktLengthMax(): void; get pktLengthMaxInput(): number; private _pktLengthMin?; get pktLengthMin(): number; set pktLengthMin(value: number); resetPktLengthMin(): void; get pktLengthMinInput(): number; private _protocol?; get protocol(): string; set protocol(value: string); resetProtocol(): void; get protocolInput(): string; private _sEndPort?; get sEndPort(): number; set sEndPort(value: number); resetSEndPort(): void; get sEndPortInput(): number; private _sStartPort?; get sStartPort(): number; set sStartPort(value: number); resetSStartPort(): void; get sStartPortInput(): number; } export declare class DayuDdosPolicyPacketFiltersList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: DayuDdosPolicyPacketFilters[] | 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): DayuDdosPolicyPacketFiltersOutputReference; } export interface DayuDdosPolicyPortFilters { /** * Action of port to take. Valid values: `drop`, `transmit`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#action DayuDdosPolicy#action} */ readonly action?: string; /** * End port. Valid value ranges: (0~65535). It must be greater than `start_port`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#end_port DayuDdosPolicy#end_port} */ readonly endPort?: number; /** * The type of forbidden port. Valid values: `0`, `1`, `2`. `0` for destination ports make effect, `1` for source ports make effect. `2` for both destination and source ports. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#kind DayuDdosPolicy#kind} */ readonly kind?: number; /** * Protocol. Valid values are `tcp`, `udp`, `icmp`, `all`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#protocol DayuDdosPolicy#protocol} */ readonly protocol?: string; /** * Start port. Valid value ranges: (0~65535). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#start_port DayuDdosPolicy#start_port} */ readonly startPort?: number; } export declare function dayuDdosPolicyPortFiltersToTerraform(struct?: DayuDdosPolicyPortFilters | cdktf.IResolvable): any; export declare function dayuDdosPolicyPortFiltersToHclTerraform(struct?: DayuDdosPolicyPortFilters | cdktf.IResolvable): any; export declare class DayuDdosPolicyPortFiltersOutputReference 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(): DayuDdosPolicyPortFilters | cdktf.IResolvable | undefined; set internalValue(value: DayuDdosPolicyPortFilters | cdktf.IResolvable | undefined); private _action?; get action(): string; set action(value: string); resetAction(): void; get actionInput(): string; private _endPort?; get endPort(): number; set endPort(value: number); resetEndPort(): void; get endPortInput(): number; private _kind?; get kind(): number; set kind(value: number); resetKind(): void; get kindInput(): number; private _protocol?; get protocol(): string; set protocol(value: string); resetProtocol(): void; get protocolInput(): string; private _startPort?; get startPort(): number; set startPort(value: number); resetStartPort(): void; get startPortInput(): number; } export declare class DayuDdosPolicyPortFiltersList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: DayuDdosPolicyPortFilters[] | 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): DayuDdosPolicyPortFiltersOutputReference; } export interface DayuDdosPolicyWatermarkFilters { /** * Indicate whether to auto-remove the watermark or not. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#auto_remove DayuDdosPolicy#auto_remove} */ readonly autoRemove?: boolean | cdktf.IResolvable; /** * The offset of watermark. Valid value ranges: (0~1500). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#offset DayuDdosPolicy#offset} */ readonly offset?: number; /** * Indicate whether to open watermark or not. It muse be set `true` when any field of watermark was set. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#open_switch DayuDdosPolicy#open_switch} */ readonly openSwitch?: boolean | cdktf.IResolvable; /** * Port range of TCP, the format is like `2000-3000`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#tcp_port_list DayuDdosPolicy#tcp_port_list} */ readonly tcpPortList?: string[]; /** * Port range of TCP, the format is like `2000-3000`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#udp_port_list DayuDdosPolicy#udp_port_list} */ readonly udpPortList?: string[]; } export declare function dayuDdosPolicyWatermarkFiltersToTerraform(struct?: DayuDdosPolicyWatermarkFilters | cdktf.IResolvable): any; export declare function dayuDdosPolicyWatermarkFiltersToHclTerraform(struct?: DayuDdosPolicyWatermarkFilters | cdktf.IResolvable): any; export declare class DayuDdosPolicyWatermarkFiltersOutputReference 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(): DayuDdosPolicyWatermarkFilters | cdktf.IResolvable | undefined; set internalValue(value: DayuDdosPolicyWatermarkFilters | cdktf.IResolvable | undefined); private _autoRemove?; get autoRemove(): boolean | cdktf.IResolvable; set autoRemove(value: boolean | cdktf.IResolvable); resetAutoRemove(): void; get autoRemoveInput(): any; private _offset?; get offset(): number; set offset(value: number); resetOffset(): void; get offsetInput(): number; private _openSwitch?; get openSwitch(): boolean | cdktf.IResolvable; set openSwitch(value: boolean | cdktf.IResolvable); resetOpenSwitch(): void; get openSwitchInput(): any; private _tcpPortList?; get tcpPortList(): string[]; set tcpPortList(value: string[]); resetTcpPortList(): void; get tcpPortListInput(): string[]; private _udpPortList?; get udpPortList(): string[]; set udpPortList(value: string[]); resetUdpPortList(): void; get udpPortListInput(): string[]; } export declare class DayuDdosPolicyWatermarkFiltersList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: DayuDdosPolicyWatermarkFilters[] | 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): DayuDdosPolicyWatermarkFiltersOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy tencentcloud_dayu_ddos_policy} */ export declare class DayuDdosPolicy extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_dayu_ddos_policy"; /** * Generates CDKTF code for importing a DayuDdosPolicy 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 DayuDdosPolicy to import * @param importFromId The id of the existing DayuDdosPolicy that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_ddos_policy#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the DayuDdosPolicy 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/dayu_ddos_policy tencentcloud_dayu_ddos_policy} 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 DayuDdosPolicyConfig */ constructor(scope: Construct, id: string, config: DayuDdosPolicyConfig); private _blackIps?; get blackIps(): string[]; set blackIps(value: string[]); resetBlackIps(): void; get blackIpsInput(): string[]; get createTime(): any; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _name?; get name(): string; set name(value: string); get nameInput(): string; get policyId(): any; private _resourceType?; get resourceType(): string; set resourceType(value: string); get resourceTypeInput(): string; get sceneId(): any; private _watermarkKey; get watermarkKey(): DayuDdosPolicyWatermarkKeyList; private _whiteIps?; get whiteIps(): string[]; set whiteIps(value: string[]); resetWhiteIps(): void; get whiteIpsInput(): string[]; private _dropOptions; get dropOptions(): DayuDdosPolicyDropOptionsList; putDropOptions(value: DayuDdosPolicyDropOptions[] | cdktf.IResolvable): void; get dropOptionsInput(): any; private _packetFilters; get packetFilters(): DayuDdosPolicyPacketFiltersList; putPacketFilters(value: DayuDdosPolicyPacketFilters[] | cdktf.IResolvable): void; resetPacketFilters(): void; get packetFiltersInput(): any; private _portFilters; get portFilters(): DayuDdosPolicyPortFiltersList; putPortFilters(value: DayuDdosPolicyPortFilters[] | cdktf.IResolvable): void; resetPortFilters(): void; get portFiltersInput(): any; private _watermarkFilters; get watermarkFilters(): DayuDdosPolicyWatermarkFiltersList; putWatermarkFilters(value: DayuDdosPolicyWatermarkFilters[] | cdktf.IResolvable): void; resetWatermarkFilters(): void; get watermarkFiltersInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }