import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface DnsZoneConfig extends cdktf.TerraformMetaArguments { /** * Email address of the administrator responsible for this zone * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/dns_zone#contact DnsZone#contact} */ readonly contact?: string; /** * Activation or deactivation of DNSSEC for the zone.Set it to true to enable DNSSEC for the zone or false to disable it.By default, DNSSEC is set to false wich means it is disabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/dns_zone#dnssec DnsZone#dnssec} */ readonly dnssec?: boolean | cdktf.IResolvable; /** * Default: true. If a zone is disabled, then its records will not be resolved on dns servers * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/dns_zone#enabled DnsZone#enabled} */ readonly enabled?: boolean | cdktf.IResolvable; /** * number of seconds after which secondary name servers should stop answering request for this zone * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/dns_zone#expiry DnsZone#expiry} */ readonly expiry?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/dns_zone#id DnsZone#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; /** * Arbitrary data of zone in JSON format. You can specify webhook URL and webhook_method here. Webhook will receive a map with three arrays: for created, updated, and deleted rrsets. webhook_method can be omitted; POST will be used by default. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/dns_zone#meta DnsZone#meta} */ readonly meta?: { [key: string]: string; }; /** * A name of DNS Zone resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/dns_zone#name DnsZone#name} */ readonly name: string; /** * Time To Live of cache * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/dns_zone#nx_ttl DnsZone#nx_ttl} */ readonly nxTtl?: number; /** * Primary master name server for zone * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/dns_zone#primary_server DnsZone#primary_server} */ readonly primaryServer?: string; /** * number of seconds after which secondary name servers should refresh the zone * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/dns_zone#refresh DnsZone#refresh} */ readonly refresh?: number; /** * number of seconds after which secondary name servers should retry to request the serial number * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/dns_zone#retry DnsZone#retry} */ readonly retry?: number; /** * Serial number for this zone or Timestamp of zone modification moment. If a secondary name server slaved to this one observes an increase in this number, the slave will assume that the zone has been updated and initiate a zone transfer. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/dns_zone#serial DnsZone#serial} */ readonly serial?: number; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/dns_zone#timeouts DnsZone#timeouts} */ readonly timeouts?: DnsZoneTimeouts; } export interface DnsZoneTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/dns_zone#create DnsZone#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/dns_zone#delete DnsZone#delete} */ readonly delete?: string; } export declare function dnsZoneTimeoutsToTerraform(struct?: DnsZoneTimeouts | cdktf.IResolvable): any; export declare function dnsZoneTimeoutsToHclTerraform(struct?: DnsZoneTimeouts | cdktf.IResolvable): any; export declare class DnsZoneTimeoutsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @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(): DnsZoneTimeouts | cdktf.IResolvable | undefined; set internalValue(value: DnsZoneTimeouts | cdktf.IResolvable | undefined); private _create?; get create(): string; set create(value: string); resetCreate(): void; get createInput(): string; private _delete?; get delete(): string; set delete(value: string); resetDelete(): void; get deleteInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/dns_zone gcore_dns_zone} */ export declare class DnsZone extends cdktf.TerraformResource { static readonly tfResourceType = "gcore_dns_zone"; /** * Generates CDKTF code for importing a DnsZone 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 DnsZone to import * @param importFromId The id of the existing DnsZone that should be imported. Refer to the {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/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 DnsZone 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/g-core/gcore/0.32.5/docs/resources/dns_zone gcore_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 DnsZoneConfig */ constructor(scope: Construct, id: string, config: DnsZoneConfig); private _contact?; get contact(): string; set contact(value: string); resetContact(): void; get contactInput(): string; private _dnssec?; get dnssec(): boolean | cdktf.IResolvable; set dnssec(value: boolean | cdktf.IResolvable); resetDnssec(): void; get dnssecInput(): any; private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); resetEnabled(): void; get enabledInput(): any; private _expiry?; get expiry(): number; set expiry(value: number); resetExpiry(): void; get expiryInput(): number; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _meta?; get meta(): { [key: string]: string; }; set meta(value: { [key: string]: string; }); resetMeta(): void; get metaInput(): { [key: string]: string; }; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _nxTtl?; get nxTtl(): number; set nxTtl(value: number); resetNxTtl(): void; get nxTtlInput(): number; private _primaryServer?; get primaryServer(): string; set primaryServer(value: string); resetPrimaryServer(): void; get primaryServerInput(): string; private _refresh?; get refresh(): number; set refresh(value: number); resetRefresh(): void; get refreshInput(): number; private _retry?; get retry(): number; set retry(value: number); resetRetry(): void; get retryInput(): number; private _serial?; get serial(): number; set serial(value: number); resetSerial(): void; get serialInput(): number; private _timeouts; get timeouts(): DnsZoneTimeoutsOutputReference; putTimeouts(value: DnsZoneTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }