import * as pulumi from "@pulumi/pulumi"; /** * Manages a DNS Zone. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as yandex from "@pulumi/yandex"; * * const foo = new yandex.VpcNetwork("foo", {}); * const zone1 = new yandex.DnsZone("zone1", { * description: "desc", * labels: { * label1: "label-1-value", * }, * zone: "example.com.", * "public": false, * privateNetworks: [foo.id], * }); * const rs1 = new yandex.DnsRecordSet("rs1", { * zoneId: zone1.id, * type: "A", * ttl: 200, * datas: ["10.1.0.1"], * }); * ``` */ export declare class DnsZone extends pulumi.CustomResource { /** * Get an existing DnsZone resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: DnsZoneState, opts?: pulumi.CustomResourceOptions): DnsZone; /** * Returns true if the given object is an instance of DnsZone. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is DnsZone; /** * (Computed) The DNS zone creation timestamp. */ readonly createdAt: pulumi.Output; /** * Description of the DNS zone. */ readonly description: pulumi.Output; /** * ID of the folder to create a zone in. If it is not provided, the default provider folder is used. */ readonly folderId: pulumi.Output; /** * A set of key/value label pairs to assign to the DNS zone. */ readonly labels: pulumi.Output<{ [key: string]: string; } | undefined>; /** * User assigned name of a specific resource. Must be unique within the folder. */ readonly name: pulumi.Output; /** * For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from. */ readonly privateNetworks: pulumi.Output; /** * The zone's visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources. */ readonly public: pulumi.Output; /** * The DNS name of this zone, e.g. "example.com.". Must ends with dot. */ readonly zone: pulumi.Output; /** * Create a DnsZone resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: DnsZoneArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering DnsZone resources. */ export interface DnsZoneState { /** * (Computed) The DNS zone creation timestamp. */ createdAt?: pulumi.Input; /** * Description of the DNS zone. */ description?: pulumi.Input; /** * ID of the folder to create a zone in. If it is not provided, the default provider folder is used. */ folderId?: pulumi.Input; /** * A set of key/value label pairs to assign to the DNS zone. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * User assigned name of a specific resource. Must be unique within the folder. */ name?: pulumi.Input; /** * For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from. */ privateNetworks?: pulumi.Input[]>; /** * The zone's visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources. */ public?: pulumi.Input; /** * The DNS name of this zone, e.g. "example.com.". Must ends with dot. */ zone?: pulumi.Input; } /** * The set of arguments for constructing a DnsZone resource. */ export interface DnsZoneArgs { /** * Description of the DNS zone. */ description?: pulumi.Input; /** * ID of the folder to create a zone in. If it is not provided, the default provider folder is used. */ folderId?: pulumi.Input; /** * A set of key/value label pairs to assign to the DNS zone. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * User assigned name of a specific resource. Must be unique within the folder. */ name?: pulumi.Input; /** * For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from. */ privateNetworks?: pulumi.Input[]>; /** * The zone's visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources. */ public?: pulumi.Input; /** * The DNS name of this zone, e.g. "example.com.". Must ends with dot. */ zone: pulumi.Input; }