yandex_dns_zone (Resource)
Written by
Updated at August 7, 2025
Manages a DNS Zone.
Example usage
//
// Create a new DNS Zone.
//
resource "yandex_dns_zone" "zone1" {
name = "my-private-zone"
description = "desc"
labels = {
label1 = "label-1-value"
}
zone = "example.com."
public = false
private_networks = [yandex_vpc_network.foo.id]
deletion_protection = true
}
resource "yandex_dns_recordset" "rs1" {
zone_id = yandex_dns_zone.zone1.id
name = "srv.example.com."
type = "A"
ttl = 200
data = ["10.1.0.1"]
}
// Auxiliary resource for DNS Zone
resource "yandex_vpc_network" "foo" {}
Schema
Required
zone(String) The DNS name of this zone, e.g.example.com.. Must ends with dot.
Optional
deletion_protection(Boolean) Thetruevalue means that resource is protected from accidental deletion.description(String) The resource description.folder_id(String) The folder identifier that resource belongs to. If it is not provided, the default providerfolder-idis used.labels(Map of String) A set of key/value label pairs which assigned to resource.name(String) The resource name.private_networks(Set of String) For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from.public(Boolean) The zone's visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources.timeouts(Block, Optional) (see below for nested schema)
Read-Only
created_at(String) The creation timestamp of the resource.id(String) The ID of this resource.
Nested Schema for timeouts
Optional:
create(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).delete(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.update(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
Import
The resource can be imported by using their resource ID. For getting the resource ID you can use Yandex Cloud Web Console
# terraform import yandex_dns_zone.<resource Name> <resource Id>
terraform import yandex_dns_zone.zone1 dns9m**********tducf