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",
"expireTime": 0,
"fqdn": "string",
"hostName": "string",
"minimumTtl": 0,
"refreshTime": 0,
"retryTime": 0,
"serialNumber": 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
The Zone resource accepts the following input properties:
- Resource
Group 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.
- Soa
Record ZoneSoa Record - An
soa_record
block as defined below. - Dictionary<string, string>
- A mapping of tags to assign to the resource.
- Resource
Group 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.
- Soa
Record ZoneSoa Record Args - An
soa_record
block as defined below. - map[string]string
- A mapping of tags to assign to the resource.
- resource
Group 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.
- soa
Record ZoneSoa Record - An
soa_record
block as defined below. - Map<String,String>
- A mapping of tags to assign to the resource.
- resource
Group 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.
- soa
Record ZoneSoa Record - An
soa_record
block 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_record
block as defined below. - Mapping[str, str]
- A mapping of tags to assign to the resource.
- resource
Group 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.
- soa
Record Property Map - An
soa_record
block 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.
- Max
Number intOf Record Sets - (Optional) Maximum number of Records in the zone. Defaults to
1000
. - Name
Servers List<string> - (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.
- Max
Number intOf Record Sets - (Optional) Maximum number of Records in the zone. Defaults to
1000
. - Name
Servers []string - (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.
- max
Number IntegerOf Record Sets - (Optional) Maximum number of Records in the zone. Defaults to
1000
. - name
Servers List<String> - (Optional) A list of values that make up the NS record for the zone.
- number
Of IntegerRecord Sets - (Optional) The number of records already in the zone.
- id string
- The provider-assigned unique ID for this managed resource.
- max
Number numberOf Record Sets - (Optional) Maximum number of Records in the zone. Defaults to
1000
. - name
Servers string[] - (Optional) A list of values that make up the NS record for the zone.
- number
Of 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.
- max
Number NumberOf Record Sets - (Optional) Maximum number of Records in the zone. Defaults to
1000
. - name
Servers List<String> - (Optional) A list of values that make up the NS record for the zone.
- number
Of 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) -> Zone
func 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)
Resource lookup is not supported in YAML
- 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.
- Max
Number 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.
- Name
Servers List<string> - (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 stringName - Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
- Soa
Record ZoneSoa Record - An
soa_record
block as defined below. - Dictionary<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 string
- The name of the DNS Zone. Must be a valid domain name. Changing this forces a new resource to be created.
- Name
Servers []string - (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 stringName - Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
- Soa
Record ZoneSoa Record Args - An
soa_record
block as defined below. - map[string]string
- A mapping of tags to assign to the resource.
- max
Number 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.
- name
Servers List<String> - (Optional) A list of values that make up the NS record for the zone.
- number
Of IntegerRecord Sets - (Optional) The number of records already in the zone.
- resource
Group StringName - Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
- soa
Record ZoneSoa Record - An
soa_record
block as defined below. - Map<String,String>
- A mapping of tags to assign to the resource.
- max
Number 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.
- name
Servers string[] - (Optional) A list of values that make up the NS record for the zone.
- number
Of numberRecord Sets - (Optional) The number of records already in the zone.
- resource
Group stringName - Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
- soa
Record ZoneSoa Record - An
soa_record
block 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_record
block as defined below. - Mapping[str, str]
- A mapping of tags to assign to the resource.
- max
Number 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.
- name
Servers List<String> - (Optional) A list of values that make up the NS record for the zone.
- number
Of NumberRecord Sets - (Optional) The number of records already in the zone.
- resource
Group StringName - Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
- soa
Record Property Map - An
soa_record
block 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.
- Expire
Time int - The expire time for the SOA record. Defaults to
2419200
. - Fqdn string
- Host
Name string - 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
. - 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.
- Expire
Time int - The expire time for the SOA record. Defaults to
2419200
. - Fqdn string
- Host
Name string - 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
. - 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.
- expire
Time Integer - The expire time for the SOA record. Defaults to
2419200
. - fqdn String
- host
Name String - The domain name of the authoritative name server for the SOA record. If not set, computed value from Azure will be used.
- minimum
Ttl Integer - 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 Integer - The refresh time for the SOA record. Defaults to
3600
. - retry
Time Integer - The retry time for the SOA record. Defaults to
300
. - serial
Number 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.
- expire
Time number - The expire time for the SOA record. Defaults to
2419200
. - fqdn string
- host
Name string - The domain name of the authoritative name server for the SOA record. If not set, computed value from Azure will be used.
- minimum
Ttl number - 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 number - The refresh time for the SOA record. Defaults to
3600
. - retry
Time number - The retry time for the SOA record. Defaults to
300
. - serial
Number 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.
- expire
Time Number - The expire time for the SOA record. Defaults to
2419200
. - fqdn String
- host
Name String - The domain name of the authoritative name server for the SOA record. If not set, computed value from Azure will be used.
- minimum
Ttl Number - 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 Number - The refresh time for the SOA record. Defaults to
3600
. - retry
Time Number - The retry time for the SOA record. Defaults to
300
. - serial
Number 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
azurerm
Terraform Provider.