import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface PrivateDnsZoneConfig extends cdktf.TerraformMetaArguments { /** * CNAME acceleration: ENABLED, DISABLED, Default value is ENABLED. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/private_dns_zone#cname_speedup_status PrivateDnsZone#cname_speedup_status} */ readonly cnameSpeedupStatus?: string; /** * Whether to enable subdomain recursive DNS. Valid values: ENABLED, DISABLED. Default value: DISABLED. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/private_dns_zone#dns_forward_status PrivateDnsZone#dns_forward_status} */ readonly dnsForwardStatus?: string; /** * Domain name, which must be in the format of standard TLD. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/private_dns_zone#domain PrivateDnsZone#domain} */ readonly domain: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/private_dns_zone#id PrivateDnsZone#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; /** * Remarks. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/private_dns_zone#remark PrivateDnsZone#remark} */ readonly remark?: string; /** * Tags of the private dns zone. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/private_dns_zone#tags PrivateDnsZone#tags} */ readonly tags?: { [key: string]: string; }; /** * account_vpc_set block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/private_dns_zone#account_vpc_set PrivateDnsZone#account_vpc_set} */ readonly accountVpcSet?: PrivateDnsZoneAccountVpcSet[] | cdktf.IResolvable; /** * tag_set block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/private_dns_zone#tag_set PrivateDnsZone#tag_set} */ readonly tagSet?: PrivateDnsZoneTagSet[] | cdktf.IResolvable; /** * vpc_set block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/private_dns_zone#vpc_set PrivateDnsZone#vpc_set} */ readonly vpcSet?: PrivateDnsZoneVpcSet[] | cdktf.IResolvable; } export interface PrivateDnsZoneAccountVpcSet { /** * Region. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/private_dns_zone#region PrivateDnsZone#region} */ readonly region: string; /** * UIN of the VPC account. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/private_dns_zone#uin PrivateDnsZone#uin} */ readonly uin: string; /** * VPC ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/private_dns_zone#uniq_vpc_id PrivateDnsZone#uniq_vpc_id} */ readonly uniqVpcId: string; /** * VPC NAME. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/private_dns_zone#vpc_name PrivateDnsZone#vpc_name} */ readonly vpcName: string; } export declare function privateDnsZoneAccountVpcSetToTerraform(struct?: PrivateDnsZoneAccountVpcSet | cdktf.IResolvable): any; export declare function privateDnsZoneAccountVpcSetToHclTerraform(struct?: PrivateDnsZoneAccountVpcSet | cdktf.IResolvable): any; export declare class PrivateDnsZoneAccountVpcSetOutputReference 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(): PrivateDnsZoneAccountVpcSet | cdktf.IResolvable | undefined; set internalValue(value: PrivateDnsZoneAccountVpcSet | cdktf.IResolvable | undefined); private _region?; get region(): string; set region(value: string); get regionInput(): string; private _uin?; get uin(): string; set uin(value: string); get uinInput(): string; private _uniqVpcId?; get uniqVpcId(): string; set uniqVpcId(value: string); get uniqVpcIdInput(): string; private _vpcName?; get vpcName(): string; set vpcName(value: string); get vpcNameInput(): string; } export declare class PrivateDnsZoneAccountVpcSetList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: PrivateDnsZoneAccountVpcSet[] | 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): PrivateDnsZoneAccountVpcSetOutputReference; } export interface PrivateDnsZoneTagSet { /** * Key of Tag. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/private_dns_zone#tag_key PrivateDnsZone#tag_key} */ readonly tagKey: string; /** * Value of Tag. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/private_dns_zone#tag_value PrivateDnsZone#tag_value} */ readonly tagValue: string; } export declare function privateDnsZoneTagSetToTerraform(struct?: PrivateDnsZoneTagSet | cdktf.IResolvable): any; export declare function privateDnsZoneTagSetToHclTerraform(struct?: PrivateDnsZoneTagSet | cdktf.IResolvable): any; export declare class PrivateDnsZoneTagSetOutputReference 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(): PrivateDnsZoneTagSet | cdktf.IResolvable | undefined; set internalValue(value: PrivateDnsZoneTagSet | cdktf.IResolvable | undefined); private _tagKey?; get tagKey(): string; set tagKey(value: string); get tagKeyInput(): string; private _tagValue?; get tagValue(): string; set tagValue(value: string); get tagValueInput(): string; } export declare class PrivateDnsZoneTagSetList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: PrivateDnsZoneTagSet[] | 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): PrivateDnsZoneTagSetOutputReference; } export interface PrivateDnsZoneVpcSet { /** * VPC REGION. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/private_dns_zone#region PrivateDnsZone#region} */ readonly region: string; /** * VPC ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/private_dns_zone#uniq_vpc_id PrivateDnsZone#uniq_vpc_id} */ readonly uniqVpcId: string; } export declare function privateDnsZoneVpcSetToTerraform(struct?: PrivateDnsZoneVpcSet | cdktf.IResolvable): any; export declare function privateDnsZoneVpcSetToHclTerraform(struct?: PrivateDnsZoneVpcSet | cdktf.IResolvable): any; export declare class PrivateDnsZoneVpcSetOutputReference 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(): PrivateDnsZoneVpcSet | cdktf.IResolvable | undefined; set internalValue(value: PrivateDnsZoneVpcSet | cdktf.IResolvable | undefined); private _region?; get region(): string; set region(value: string); get regionInput(): string; private _uniqVpcId?; get uniqVpcId(): string; set uniqVpcId(value: string); get uniqVpcIdInput(): string; } export declare class PrivateDnsZoneVpcSetList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: PrivateDnsZoneVpcSet[] | 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): PrivateDnsZoneVpcSetOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/private_dns_zone tencentcloud_private_dns_zone} */ export declare class PrivateDnsZone extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_private_dns_zone"; /** * Generates CDKTF code for importing a PrivateDnsZone 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 PrivateDnsZone to import * @param importFromId The id of the existing PrivateDnsZone that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/private_dns_zone#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the PrivateDnsZone 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/private_dns_zone tencentcloud_private_dns_zone} 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 PrivateDnsZoneConfig */ constructor(scope: Construct, id: string, config: PrivateDnsZoneConfig); private _cnameSpeedupStatus?; get cnameSpeedupStatus(): string; set cnameSpeedupStatus(value: string); resetCnameSpeedupStatus(): void; get cnameSpeedupStatusInput(): string; private _dnsForwardStatus?; get dnsForwardStatus(): string; set dnsForwardStatus(value: string); resetDnsForwardStatus(): void; get dnsForwardStatusInput(): string; private _domain?; get domain(): string; set domain(value: string); get domainInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _remark?; get remark(): string; set remark(value: string); resetRemark(): void; get remarkInput(): string; private _tags?; get tags(): { [key: string]: string; }; set tags(value: { [key: string]: string; }); resetTags(): void; get tagsInput(): { [key: string]: string; }; private _accountVpcSet; get accountVpcSet(): PrivateDnsZoneAccountVpcSetList; putAccountVpcSet(value: PrivateDnsZoneAccountVpcSet[] | cdktf.IResolvable): void; resetAccountVpcSet(): void; get accountVpcSetInput(): any; private _tagSet; get tagSet(): PrivateDnsZoneTagSetList; putTagSet(value: PrivateDnsZoneTagSet[] | cdktf.IResolvable): void; resetTagSet(): void; get tagSetInput(): any; private _vpcSet; get vpcSet(): PrivateDnsZoneVpcSetList; putVpcSet(value: PrivateDnsZoneVpcSet[] | cdktf.IResolvable): void; resetVpcSet(): void; get vpcSetInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }