import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface TeoDdosProtectionConfigConfig extends cdktf.TerraformMetaArguments { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_ddos_protection_config#id TeoDdosProtectionConfig#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; /** * Zone ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_ddos_protection_config#zone_id TeoDdosProtectionConfig#zone_id} */ readonly zoneId: string; /** * ddos_protection block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_ddos_protection_config#ddos_protection TeoDdosProtectionConfig#ddos_protection} */ readonly ddosProtection: TeoDdosProtectionConfigDdosProtection; } export interface TeoDdosProtectionConfigDdosProtectionSharedCnameDdosProtections { } export declare function teoDdosProtectionConfigDdosProtectionSharedCnameDdosProtectionsToTerraform(struct?: TeoDdosProtectionConfigDdosProtectionSharedCnameDdosProtections): any; export declare function teoDdosProtectionConfigDdosProtectionSharedCnameDdosProtectionsToHclTerraform(struct?: TeoDdosProtectionConfigDdosProtectionSharedCnameDdosProtections): any; export declare class TeoDdosProtectionConfigDdosProtectionSharedCnameDdosProtectionsOutputReference 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(): TeoDdosProtectionConfigDdosProtectionSharedCnameDdosProtections | undefined; set internalValue(value: TeoDdosProtectionConfigDdosProtectionSharedCnameDdosProtections | undefined); get domain(): any; get switch(): any; } export declare class TeoDdosProtectionConfigDdosProtectionSharedCnameDdosProtectionsList 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): TeoDdosProtectionConfigDdosProtectionSharedCnameDdosProtectionsOutputReference; } export interface TeoDdosProtectionConfigDdosProtectionDomainDdosProtections { /** * Domain name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_ddos_protection_config#domain TeoDdosProtectionConfig#domain} */ readonly domain: string; /** * Standalone DDoS switch of the domain. valid values:. *
  • on: enabled;
  • . *
  • off: closed.
  • . * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_ddos_protection_config#switch TeoDdosProtectionConfig#switch} */ readonly switch: string; } export declare function teoDdosProtectionConfigDdosProtectionDomainDdosProtectionsToTerraform(struct?: TeoDdosProtectionConfigDdosProtectionDomainDdosProtections | cdktf.IResolvable): any; export declare function teoDdosProtectionConfigDdosProtectionDomainDdosProtectionsToHclTerraform(struct?: TeoDdosProtectionConfigDdosProtectionDomainDdosProtections | cdktf.IResolvable): any; export declare class TeoDdosProtectionConfigDdosProtectionDomainDdosProtectionsOutputReference 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(): TeoDdosProtectionConfigDdosProtectionDomainDdosProtections | cdktf.IResolvable | undefined; set internalValue(value: TeoDdosProtectionConfigDdosProtectionDomainDdosProtections | cdktf.IResolvable | undefined); private _domain?; get domain(): string; set domain(value: string); get domainInput(): string; private _switch?; get switch(): string; set switch(value: string); get switchInput(): string; } export declare class TeoDdosProtectionConfigDdosProtectionDomainDdosProtectionsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: TeoDdosProtectionConfigDdosProtectionDomainDdosProtections[] | 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): TeoDdosProtectionConfigDdosProtectionDomainDdosProtectionsOutputReference; } export interface TeoDdosProtectionConfigDdosProtection { /** * Specifies the protection scope of standalone DDoS. valid values:. *
  • protect_all_domains: specifies exclusive Anti-DDoS protection for all domain names in the site. newly added domain names automatically enable exclusive Anti-DDoS protection. when this parameter is specified, DomainDDoSProtections will not be processed.
  • . *
  • protect_specified_domains: only applicable to specified domains. specific scope can be set via DomainDDoSProtection parameter.
  • . * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_ddos_protection_config#protection_option TeoDdosProtectionConfig#protection_option} */ readonly protectionOption: string; /** * domain_ddos_protections block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_ddos_protection_config#domain_ddos_protections TeoDdosProtectionConfig#domain_ddos_protections} */ readonly domainDdosProtections?: TeoDdosProtectionConfigDdosProtectionDomainDdosProtections[] | cdktf.IResolvable; } export declare function teoDdosProtectionConfigDdosProtectionToTerraform(struct?: TeoDdosProtectionConfigDdosProtectionOutputReference | TeoDdosProtectionConfigDdosProtection): any; export declare function teoDdosProtectionConfigDdosProtectionToHclTerraform(struct?: TeoDdosProtectionConfigDdosProtectionOutputReference | TeoDdosProtectionConfigDdosProtection): any; export declare class TeoDdosProtectionConfigDdosProtectionOutputReference 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(): TeoDdosProtectionConfigDdosProtection | undefined; set internalValue(value: TeoDdosProtectionConfigDdosProtection | undefined); private _protectionOption?; get protectionOption(): string; set protectionOption(value: string); get protectionOptionInput(): string; private _sharedCnameDdosProtections; get sharedCnameDdosProtections(): TeoDdosProtectionConfigDdosProtectionSharedCnameDdosProtectionsList; private _domainDdosProtections; get domainDdosProtections(): TeoDdosProtectionConfigDdosProtectionDomainDdosProtectionsList; putDomainDdosProtections(value: TeoDdosProtectionConfigDdosProtectionDomainDdosProtections[] | cdktf.IResolvable): void; resetDomainDdosProtections(): void; get domainDdosProtectionsInput(): any; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_ddos_protection_config tencentcloud_teo_ddos_protection_config} */ export declare class TeoDdosProtectionConfig extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_teo_ddos_protection_config"; /** * Generates CDKTF code for importing a TeoDdosProtectionConfig 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 TeoDdosProtectionConfig to import * @param importFromId The id of the existing TeoDdosProtectionConfig that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_ddos_protection_config#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the TeoDdosProtectionConfig 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_ddos_protection_config tencentcloud_teo_ddos_protection_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 TeoDdosProtectionConfigConfig */ constructor(scope: Construct, id: string, config: TeoDdosProtectionConfigConfig); private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _zoneId?; get zoneId(): string; set zoneId(value: string); get zoneIdInput(): string; private _ddosProtection; get ddosProtection(): TeoDdosProtectionConfigDdosProtectionOutputReference; putDdosProtection(value: TeoDdosProtectionConfigDdosProtection): void; get ddosProtectionInput(): TeoDdosProtectionConfigDdosProtection; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }