We recommend using Azure Native.
azure.dns.Zone
Explore with Pulumi AI
Enables you to manage DNS zones within Azure DNS. These zones are hosted on Azure’s name servers to which you can delegate the zone from the parent domain.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = new azure.core.ResourceGroup("example", {
    name: "example-resources",
    location: "West Europe",
});
const example_public = new azure.dns.Zone("example-public", {
    name: "mydomain.com",
    resourceGroupName: example.name,
});
import pulumi
import pulumi_azure as azure
example = azure.core.ResourceGroup("example",
    name="example-resources",
    location="West Europe")
example_public = azure.dns.Zone("example-public",
    name="mydomain.com",
    resource_group_name=example.name)
package main
import (
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		_, err = dns.NewZone(ctx, "example-public", &dns.ZoneArgs{
			Name:              pulumi.String("mydomain.com"),
			ResourceGroupName: example.Name,
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() => 
{
    var example = new Azure.Core.ResourceGroup("example", new()
    {
        Name = "example-resources",
        Location = "West Europe",
    });
    var example_public = new Azure.Dns.Zone("example-public", new()
    {
        Name = "mydomain.com",
        ResourceGroupName = example.Name,
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.dns.Zone;
import com.pulumi.azure.dns.ZoneArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var example = new ResourceGroup("example", ResourceGroupArgs.builder()
            .name("example-resources")
            .location("West Europe")
            .build());
        var example_public = new Zone("example-public", ZoneArgs.builder()
            .name("mydomain.com")
            .resourceGroupName(example.name())
            .build());
    }
}
resources:
  example:
    type: azure:core:ResourceGroup
    properties:
      name: example-resources
      location: West Europe
  example-public:
    type: azure:dns:Zone
    properties:
      name: mydomain.com
      resourceGroupName: ${example.name}
Create Zone Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Zone(name: string, args: ZoneArgs, opts?: CustomResourceOptions);@overload
def Zone(resource_name: str,
         args: ZoneArgs,
         opts: Optional[ResourceOptions] = None)
@overload
def Zone(resource_name: str,
         opts: Optional[ResourceOptions] = None,
         resource_group_name: Optional[str] = None,
         name: Optional[str] = None,
         soa_record: Optional[ZoneSoaRecordArgs] = None,
         tags: Optional[Mapping[str, str]] = None)func NewZone(ctx *Context, name string, args ZoneArgs, opts ...ResourceOption) (*Zone, error)public Zone(string name, ZoneArgs args, CustomResourceOptions? opts = null)type: azure:dns:Zone
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args ZoneArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args ZoneArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args ZoneArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ZoneArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ZoneArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var zoneResource = new Azure.Dns.Zone("zoneResource", new()
{
    ResourceGroupName = "string",
    Name = "string",
    SoaRecord = new Azure.Dns.Inputs.ZoneSoaRecordArgs
    {
        Email = "string",
        ExpireTime = 0,
        Fqdn = "string",
        HostName = "string",
        MinimumTtl = 0,
        RefreshTime = 0,
        RetryTime = 0,
        SerialNumber = 0,
        Tags = 
        {
            { "string", "string" },
        },
        Ttl = 0,
    },
    Tags = 
    {
        { "string", "string" },
    },
});
example, err := dns.NewZone(ctx, "zoneResource", &dns.ZoneArgs{
	ResourceGroupName: pulumi.String("string"),
	Name:              pulumi.String("string"),
	SoaRecord: &dns.ZoneSoaRecordArgs{
		Email:        pulumi.String("string"),
		ExpireTime:   pulumi.Int(0),
		Fqdn:         pulumi.String("string"),
		HostName:     pulumi.String("string"),
		MinimumTtl:   pulumi.Int(0),
		RefreshTime:  pulumi.Int(0),
		RetryTime:    pulumi.Int(0),
		SerialNumber: pulumi.Int(0),
		Tags: pulumi.StringMap{
			"string": pulumi.String("string"),
		},
		Ttl: pulumi.Int(0),
	},
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
})
var zoneResource = new Zone("zoneResource", ZoneArgs.builder()
    .resourceGroupName("string")
    .name("string")
    .soaRecord(ZoneSoaRecordArgs.builder()
        .email("string")
        .expireTime(0)
        .fqdn("string")
        .hostName("string")
        .minimumTtl(0)
        .refreshTime(0)
        .retryTime(0)
        .serialNumber(0)
        .tags(Map.of("string", "string"))
        .ttl(0)
        .build())
    .tags(Map.of("string", "string"))
    .build());
zone_resource = azure.dns.Zone("zoneResource",
    resource_group_name="string",
    name="string",
    soa_record={
        "email": "string",
        "expire_time": 0,
        "fqdn": "string",
        "host_name": "string",
        "minimum_ttl": 0,
        "refresh_time": 0,
        "retry_time": 0,
        "serial_number": 0,
        "tags": {
            "string": "string",
        },
        "ttl": 0,
    },
    tags={
        "string": "string",
    })
const zoneResource = new azure.dns.Zone("zoneResource", {
    resourceGroupName: "string",
    name: "string",
    soaRecord: {
        email: "string",
        expireTime: 0,
        fqdn: "string",
        hostName: "string",
        minimumTtl: 0,
        refreshTime: 0,
        retryTime: 0,
        serialNumber: 0,
        tags: {
            string: "string",
        },
        ttl: 0,
    },
    tags: {
        string: "string",
    },
});
type: azure:dns:Zone
properties:
    name: string
    resourceGroupName: string
    soaRecord:
        email: string
        expireTime: 0
        fqdn: string
        hostName: string
        minimumTtl: 0
        refreshTime: 0
        retryTime: 0
        serialNumber: 0
        tags:
            string: string
        ttl: 0
    tags:
        string: string
Zone Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The Zone resource accepts the following input properties:
- ResourceGroup stringName 
- Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
- Name string
- The name of the DNS Zone. Must be a valid domain name. Changing this forces a new resource to be created.
- SoaRecord ZoneSoa Record 
- An soa_recordblock as defined below.
- Dictionary<string, string>
- A mapping of tags to assign to the resource.
- ResourceGroup stringName 
- Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
- Name string
- The name of the DNS Zone. Must be a valid domain name. Changing this forces a new resource to be created.
- SoaRecord ZoneSoa Record Args 
- An soa_recordblock as defined below.
- map[string]string
- A mapping of tags to assign to the resource.
- resourceGroup StringName 
- Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
- name String
- The name of the DNS Zone. Must be a valid domain name. Changing this forces a new resource to be created.
- soaRecord ZoneSoa Record 
- An soa_recordblock as defined below.
- Map<String,String>
- A mapping of tags to assign to the resource.
- resourceGroup stringName 
- Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
- name string
- The name of the DNS Zone. Must be a valid domain name. Changing this forces a new resource to be created.
- soaRecord ZoneSoa Record 
- An soa_recordblock as defined below.
- {[key: string]: string}
- A mapping of tags to assign to the resource.
- resource_group_ strname 
- Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
- name str
- The name of the DNS Zone. Must be a valid domain name. Changing this forces a new resource to be created.
- soa_record ZoneSoa Record Args 
- An soa_recordblock as defined below.
- Mapping[str, str]
- A mapping of tags to assign to the resource.
- resourceGroup StringName 
- Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
- name String
- The name of the DNS Zone. Must be a valid domain name. Changing this forces a new resource to be created.
- soaRecord Property Map
- An soa_recordblock as defined below.
- Map<String>
- A mapping of tags to assign to the resource.
Outputs
All input properties are implicitly available as output properties. Additionally, the Zone resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- MaxNumber intOf Record Sets 
- (Optional) Maximum number of Records in the zone. Defaults to 1000.
- NameServers List<string>
- (Optional) A list of values that make up the NS record for the zone.
- NumberOf intRecord Sets 
- (Optional) The number of records already in the zone.
- Id string
- The provider-assigned unique ID for this managed resource.
- MaxNumber intOf Record Sets 
- (Optional) Maximum number of Records in the zone. Defaults to 1000.
- NameServers []string
- (Optional) A list of values that make up the NS record for the zone.
- NumberOf intRecord Sets 
- (Optional) The number of records already in the zone.
- id String
- The provider-assigned unique ID for this managed resource.
- maxNumber IntegerOf Record Sets 
- (Optional) Maximum number of Records in the zone. Defaults to 1000.
- nameServers List<String>
- (Optional) A list of values that make up the NS record for the zone.
- numberOf IntegerRecord Sets 
- (Optional) The number of records already in the zone.
- id string
- The provider-assigned unique ID for this managed resource.
- maxNumber numberOf Record Sets 
- (Optional) Maximum number of Records in the zone. Defaults to 1000.
- nameServers string[]
- (Optional) A list of values that make up the NS record for the zone.
- numberOf numberRecord Sets 
- (Optional) The number of records already in the zone.
- id str
- The provider-assigned unique ID for this managed resource.
- max_number_ intof_ record_ sets 
- (Optional) Maximum number of Records in the zone. Defaults to 1000.
- name_servers Sequence[str]
- (Optional) A list of values that make up the NS record for the zone.
- number_of_ intrecord_ sets 
- (Optional) The number of records already in the zone.
- id String
- The provider-assigned unique ID for this managed resource.
- maxNumber NumberOf Record Sets 
- (Optional) Maximum number of Records in the zone. Defaults to 1000.
- nameServers List<String>
- (Optional) A list of values that make up the NS record for the zone.
- numberOf NumberRecord Sets 
- (Optional) The number of records already in the zone.
Look up Existing Zone Resource
Get an existing Zone resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: ZoneState, opts?: CustomResourceOptions): Zone@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        max_number_of_record_sets: Optional[int] = None,
        name: Optional[str] = None,
        name_servers: Optional[Sequence[str]] = None,
        number_of_record_sets: Optional[int] = None,
        resource_group_name: Optional[str] = None,
        soa_record: Optional[ZoneSoaRecordArgs] = None,
        tags: Optional[Mapping[str, str]] = None) -> Zonefunc GetZone(ctx *Context, name string, id IDInput, state *ZoneState, opts ...ResourceOption) (*Zone, error)public static Zone Get(string name, Input<string> id, ZoneState? state, CustomResourceOptions? opts = null)public static Zone get(String name, Output<String> id, ZoneState state, CustomResourceOptions options)resources:  _:    type: azure:dns:Zone    get:      id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- MaxNumber intOf Record Sets 
- (Optional) Maximum number of Records in the zone. Defaults to 1000.
- Name string
- The name of the DNS Zone. Must be a valid domain name. Changing this forces a new resource to be created.
- NameServers List<string>
- (Optional) A list of values that make up the NS record for the zone.
- NumberOf intRecord Sets 
- (Optional) The number of records already in the zone.
- ResourceGroup stringName 
- Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
- SoaRecord ZoneSoa Record 
- An soa_recordblock as defined below.
- Dictionary<string, string>
- A mapping of tags to assign to the resource.
- MaxNumber intOf Record Sets 
- (Optional) Maximum number of Records in the zone. Defaults to 1000.
- Name string
- The name of the DNS Zone. Must be a valid domain name. Changing this forces a new resource to be created.
- NameServers []string
- (Optional) A list of values that make up the NS record for the zone.
- NumberOf intRecord Sets 
- (Optional) The number of records already in the zone.
- ResourceGroup stringName 
- Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
- SoaRecord ZoneSoa Record Args 
- An soa_recordblock as defined below.
- map[string]string
- A mapping of tags to assign to the resource.
- maxNumber IntegerOf Record Sets 
- (Optional) Maximum number of Records in the zone. Defaults to 1000.
- name String
- The name of the DNS Zone. Must be a valid domain name. Changing this forces a new resource to be created.
- nameServers List<String>
- (Optional) A list of values that make up the NS record for the zone.
- numberOf IntegerRecord Sets 
- (Optional) The number of records already in the zone.
- resourceGroup StringName 
- Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
- soaRecord ZoneSoa Record 
- An soa_recordblock as defined below.
- Map<String,String>
- A mapping of tags to assign to the resource.
- maxNumber numberOf Record Sets 
- (Optional) Maximum number of Records in the zone. Defaults to 1000.
- name string
- The name of the DNS Zone. Must be a valid domain name. Changing this forces a new resource to be created.
- nameServers string[]
- (Optional) A list of values that make up the NS record for the zone.
- numberOf numberRecord Sets 
- (Optional) The number of records already in the zone.
- resourceGroup stringName 
- Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
- soaRecord ZoneSoa Record 
- An soa_recordblock as defined below.
- {[key: string]: string}
- A mapping of tags to assign to the resource.
- max_number_ intof_ record_ sets 
- (Optional) Maximum number of Records in the zone. Defaults to 1000.
- name str
- The name of the DNS Zone. Must be a valid domain name. Changing this forces a new resource to be created.
- name_servers Sequence[str]
- (Optional) A list of values that make up the NS record for the zone.
- number_of_ intrecord_ sets 
- (Optional) The number of records already in the zone.
- resource_group_ strname 
- Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
- soa_record ZoneSoa Record Args 
- An soa_recordblock as defined below.
- Mapping[str, str]
- A mapping of tags to assign to the resource.
- maxNumber NumberOf Record Sets 
- (Optional) Maximum number of Records in the zone. Defaults to 1000.
- name String
- The name of the DNS Zone. Must be a valid domain name. Changing this forces a new resource to be created.
- nameServers List<String>
- (Optional) A list of values that make up the NS record for the zone.
- numberOf NumberRecord Sets 
- (Optional) The number of records already in the zone.
- resourceGroup StringName 
- Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
- soaRecord Property Map
- An soa_recordblock as defined below.
- Map<String>
- A mapping of tags to assign to the resource.
Supporting Types
ZoneSoaRecord, ZoneSoaRecordArgs      
- Email string
- The email contact for the SOA record.
- ExpireTime int
- The expire time for the SOA record. Defaults to 2419200.
- Fqdn string
- HostName string
- The domain name of the authoritative name server for the SOA record. If not set, computed value from Azure will be used.
- MinimumTtl int
- The minimum Time To Live for the SOA record. By convention, it is used to determine the negative caching duration. Defaults to 300.
- RefreshTime int
- The refresh time for the SOA record. Defaults to 3600.
- RetryTime int
- The retry time for the SOA record. Defaults to 300.
- SerialNumber int
- The serial number for the SOA record. Defaults to 1.
- Dictionary<string, string>
- A mapping of tags to assign to the Record Set.
- Ttl int
- The Time To Live of the SOA Record in seconds. Defaults to 3600.
- Email string
- The email contact for the SOA record.
- ExpireTime int
- The expire time for the SOA record. Defaults to 2419200.
- Fqdn string
- HostName string
- The domain name of the authoritative name server for the SOA record. If not set, computed value from Azure will be used.
- MinimumTtl int
- The minimum Time To Live for the SOA record. By convention, it is used to determine the negative caching duration. Defaults to 300.
- RefreshTime int
- The refresh time for the SOA record. Defaults to 3600.
- RetryTime int
- The retry time for the SOA record. Defaults to 300.
- SerialNumber int
- The serial number for the SOA record. Defaults to 1.
- map[string]string
- A mapping of tags to assign to the Record Set.
- Ttl int
- The Time To Live of the SOA Record in seconds. Defaults to 3600.
- email String
- The email contact for the SOA record.
- expireTime Integer
- The expire time for the SOA record. Defaults to 2419200.
- fqdn String
- hostName String
- The domain name of the authoritative name server for the SOA record. If not set, computed value from Azure will be used.
- minimumTtl Integer
- The minimum Time To Live for the SOA record. By convention, it is used to determine the negative caching duration. Defaults to 300.
- refreshTime Integer
- The refresh time for the SOA record. Defaults to 3600.
- retryTime Integer
- The retry time for the SOA record. Defaults to 300.
- serialNumber Integer
- The serial number for the SOA record. Defaults to 1.
- Map<String,String>
- A mapping of tags to assign to the Record Set.
- ttl Integer
- The Time To Live of the SOA Record in seconds. Defaults to 3600.
- email string
- The email contact for the SOA record.
- expireTime number
- The expire time for the SOA record. Defaults to 2419200.
- fqdn string
- hostName string
- The domain name of the authoritative name server for the SOA record. If not set, computed value from Azure will be used.
- minimumTtl number
- The minimum Time To Live for the SOA record. By convention, it is used to determine the negative caching duration. Defaults to 300.
- refreshTime number
- The refresh time for the SOA record. Defaults to 3600.
- retryTime number
- The retry time for the SOA record. Defaults to 300.
- serialNumber number
- The serial number for the SOA record. Defaults to 1.
- {[key: string]: string}
- A mapping of tags to assign to the Record Set.
- ttl number
- The Time To Live of the SOA Record in seconds. Defaults to 3600.
- email str
- The email contact for the SOA record.
- expire_time int
- The expire time for the SOA record. Defaults to 2419200.
- fqdn str
- host_name str
- The domain name of the authoritative name server for the SOA record. If not set, computed value from Azure will be used.
- minimum_ttl int
- The minimum Time To Live for the SOA record. By convention, it is used to determine the negative caching duration. Defaults to 300.
- refresh_time int
- The refresh time for the SOA record. Defaults to 3600.
- retry_time int
- The retry time for the SOA record. Defaults to 300.
- serial_number int
- The serial number for the SOA record. Defaults to 1.
- Mapping[str, str]
- A mapping of tags to assign to the Record Set.
- ttl int
- The Time To Live of the SOA Record in seconds. Defaults to 3600.
- email String
- The email contact for the SOA record.
- expireTime Number
- The expire time for the SOA record. Defaults to 2419200.
- fqdn String
- hostName String
- The domain name of the authoritative name server for the SOA record. If not set, computed value from Azure will be used.
- minimumTtl Number
- The minimum Time To Live for the SOA record. By convention, it is used to determine the negative caching duration. Defaults to 300.
- refreshTime Number
- The refresh time for the SOA record. Defaults to 3600.
- retryTime Number
- The retry time for the SOA record. Defaults to 300.
- serialNumber Number
- The serial number for the SOA record. Defaults to 1.
- Map<String>
- A mapping of tags to assign to the Record Set.
- ttl Number
- The Time To Live of the SOA Record in seconds. Defaults to 3600.
Import
DNS Zones can be imported using the resource id, e.g.
$ pulumi import azure:dns/zone:Zone zone1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/dnsZones/zone1
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Azure Classic pulumi/pulumi-azure
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the azurermTerraform Provider.