dns

package
v3.33.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 8, 2020 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ARecord

type ARecord struct {
	pulumi.CustomResourceState

	// The FQDN of the DNS A Record.
	Fqdn pulumi.StringOutput `pulumi:"fqdn"`
	// The name of the DNS A Record.
	Name pulumi.StringOutput `pulumi:"name"`
	// List of IPv4 Addresses. Conflicts with `targetResourceId`.
	Records pulumi.StringArrayOutput `pulumi:"records"`
	// Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The Azure resource id of the target object. Conflicts with `records`
	TargetResourceId pulumi.StringPtrOutput `pulumi:"targetResourceId"`
	Ttl              pulumi.IntOutput       `pulumi:"ttl"`
	// Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.
	ZoneName pulumi.StringOutput `pulumi:"zoneName"`
}

Enables you to manage DNS A Records within Azure DNS.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/dns"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		exampleZone, err := dns.NewZone(ctx, "exampleZone", &dns.ZoneArgs{
			ResourceGroupName: exampleResourceGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = dns.NewARecord(ctx, "exampleARecord", &dns.ARecordArgs{
			ZoneName:          exampleZone.Name,
			ResourceGroupName: exampleResourceGroup.Name,
			Ttl:               pulumi.Int(300),
			Records: pulumi.StringArray{
				pulumi.String("10.0.180.17"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Alias Record)

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/dns"
"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		exampleZone, err := dns.NewZone(ctx, "exampleZone", &dns.ZoneArgs{
			ResourceGroupName: exampleResourceGroup.Name,
		})
		if err != nil {
			return err
		}
		examplePublicIp, err := network.NewPublicIp(ctx, "examplePublicIp", &network.PublicIpArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			AllocationMethod:  pulumi.String("Dynamic"),
			IpVersion:         pulumi.String("IPv4"),
		})
		if err != nil {
			return err
		}
		_, err = dns.NewARecord(ctx, "exampleARecord", &dns.ARecordArgs{
			ZoneName:          exampleZone.Name,
			ResourceGroupName: exampleResourceGroup.Name,
			Ttl:               pulumi.Int(300),
			TargetResourceId:  examplePublicIp.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

A records can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:dns/aRecord:ARecord example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/dnszones/zone1/A/myrecord1

```

func GetARecord

func GetARecord(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ARecordState, opts ...pulumi.ResourceOption) (*ARecord, error)

GetARecord gets an existing ARecord resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewARecord

func NewARecord(ctx *pulumi.Context,
	name string, args *ARecordArgs, opts ...pulumi.ResourceOption) (*ARecord, error)

NewARecord registers a new resource with the given unique name, arguments, and options.

func (ARecord) ElementType added in v3.31.1

func (ARecord) ElementType() reflect.Type

func (ARecord) ToARecordOutput added in v3.31.1

func (i ARecord) ToARecordOutput() ARecordOutput

func (ARecord) ToARecordOutputWithContext added in v3.31.1

func (i ARecord) ToARecordOutputWithContext(ctx context.Context) ARecordOutput

type ARecordArgs

type ARecordArgs struct {
	// The name of the DNS A Record.
	Name pulumi.StringPtrInput
	// List of IPv4 Addresses. Conflicts with `targetResourceId`.
	Records pulumi.StringArrayInput
	// Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The Azure resource id of the target object. Conflicts with `records`
	TargetResourceId pulumi.StringPtrInput
	Ttl              pulumi.IntInput
	// Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.
	ZoneName pulumi.StringInput
}

The set of arguments for constructing a ARecord resource.

func (ARecordArgs) ElementType

func (ARecordArgs) ElementType() reflect.Type

type ARecordInput added in v3.31.1

type ARecordInput interface {
	pulumi.Input

	ToARecordOutput() ARecordOutput
	ToARecordOutputWithContext(ctx context.Context) ARecordOutput
}

type ARecordOutput added in v3.31.1

type ARecordOutput struct {
	*pulumi.OutputState
}

func (ARecordOutput) ElementType added in v3.31.1

func (ARecordOutput) ElementType() reflect.Type

func (ARecordOutput) ToARecordOutput added in v3.31.1

func (o ARecordOutput) ToARecordOutput() ARecordOutput

func (ARecordOutput) ToARecordOutputWithContext added in v3.31.1

func (o ARecordOutput) ToARecordOutputWithContext(ctx context.Context) ARecordOutput

type ARecordState

type ARecordState struct {
	// The FQDN of the DNS A Record.
	Fqdn pulumi.StringPtrInput
	// The name of the DNS A Record.
	Name pulumi.StringPtrInput
	// List of IPv4 Addresses. Conflicts with `targetResourceId`.
	Records pulumi.StringArrayInput
	// Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The Azure resource id of the target object. Conflicts with `records`
	TargetResourceId pulumi.StringPtrInput
	Ttl              pulumi.IntPtrInput
	// Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.
	ZoneName pulumi.StringPtrInput
}

func (ARecordState) ElementType

func (ARecordState) ElementType() reflect.Type

type AaaaRecord

type AaaaRecord struct {
	pulumi.CustomResourceState

	// The FQDN of the DNS AAAA Record.
	Fqdn pulumi.StringOutput `pulumi:"fqdn"`
	// The name of the DNS AAAA Record.
	Name pulumi.StringOutput `pulumi:"name"`
	// List of IPv4 Addresses. Conflicts with `targetResourceId`.
	Records pulumi.StringArrayOutput `pulumi:"records"`
	// Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The Azure resource id of the target object. Conflicts with `records`
	TargetResourceId pulumi.StringPtrOutput `pulumi:"targetResourceId"`
	Ttl              pulumi.IntOutput       `pulumi:"ttl"`
	// Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.
	ZoneName pulumi.StringOutput `pulumi:"zoneName"`
}

Enables you to manage DNS AAAA Records within Azure DNS.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/dns"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		exampleZone, err := dns.NewZone(ctx, "exampleZone", &dns.ZoneArgs{
			ResourceGroupName: exampleResourceGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = dns.NewAaaaRecord(ctx, "exampleAaaaRecord", &dns.AaaaRecordArgs{
			ZoneName:          exampleZone.Name,
			ResourceGroupName: exampleResourceGroup.Name,
			Ttl:               pulumi.Int(300),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Alias Record)

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/dns"
"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		exampleZone, err := dns.NewZone(ctx, "exampleZone", &dns.ZoneArgs{
			ResourceGroupName: exampleResourceGroup.Name,
		})
		if err != nil {
			return err
		}
		examplePublicIp, err := network.NewPublicIp(ctx, "examplePublicIp", &network.PublicIpArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			AllocationMethod:  pulumi.String("Dynamic"),
			IpVersion:         pulumi.String("IPv6"),
		})
		if err != nil {
			return err
		}
		_, err = dns.NewAaaaRecord(ctx, "exampleAaaaRecord", &dns.AaaaRecordArgs{
			ZoneName:          exampleZone.Name,
			ResourceGroupName: exampleResourceGroup.Name,
			Ttl:               pulumi.Int(300),
			TargetResourceId:  examplePublicIp.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

AAAA records can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:dns/aaaaRecord:AaaaRecord example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/dnszones/zone1/AAAA/myrecord1

```

func GetAaaaRecord

func GetAaaaRecord(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AaaaRecordState, opts ...pulumi.ResourceOption) (*AaaaRecord, error)

GetAaaaRecord gets an existing AaaaRecord resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAaaaRecord

func NewAaaaRecord(ctx *pulumi.Context,
	name string, args *AaaaRecordArgs, opts ...pulumi.ResourceOption) (*AaaaRecord, error)

NewAaaaRecord registers a new resource with the given unique name, arguments, and options.

func (AaaaRecord) ElementType added in v3.31.1

func (AaaaRecord) ElementType() reflect.Type

func (AaaaRecord) ToAaaaRecordOutput added in v3.31.1

func (i AaaaRecord) ToAaaaRecordOutput() AaaaRecordOutput

func (AaaaRecord) ToAaaaRecordOutputWithContext added in v3.31.1

func (i AaaaRecord) ToAaaaRecordOutputWithContext(ctx context.Context) AaaaRecordOutput

type AaaaRecordArgs

type AaaaRecordArgs struct {
	// The name of the DNS AAAA Record.
	Name pulumi.StringPtrInput
	// List of IPv4 Addresses. Conflicts with `targetResourceId`.
	Records pulumi.StringArrayInput
	// Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The Azure resource id of the target object. Conflicts with `records`
	TargetResourceId pulumi.StringPtrInput
	Ttl              pulumi.IntInput
	// Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.
	ZoneName pulumi.StringInput
}

The set of arguments for constructing a AaaaRecord resource.

func (AaaaRecordArgs) ElementType

func (AaaaRecordArgs) ElementType() reflect.Type

type AaaaRecordInput added in v3.31.1

type AaaaRecordInput interface {
	pulumi.Input

	ToAaaaRecordOutput() AaaaRecordOutput
	ToAaaaRecordOutputWithContext(ctx context.Context) AaaaRecordOutput
}

type AaaaRecordOutput added in v3.31.1

type AaaaRecordOutput struct {
	*pulumi.OutputState
}

func (AaaaRecordOutput) ElementType added in v3.31.1

func (AaaaRecordOutput) ElementType() reflect.Type

func (AaaaRecordOutput) ToAaaaRecordOutput added in v3.31.1

func (o AaaaRecordOutput) ToAaaaRecordOutput() AaaaRecordOutput

func (AaaaRecordOutput) ToAaaaRecordOutputWithContext added in v3.31.1

func (o AaaaRecordOutput) ToAaaaRecordOutputWithContext(ctx context.Context) AaaaRecordOutput

type AaaaRecordState

type AaaaRecordState struct {
	// The FQDN of the DNS AAAA Record.
	Fqdn pulumi.StringPtrInput
	// The name of the DNS AAAA Record.
	Name pulumi.StringPtrInput
	// List of IPv4 Addresses. Conflicts with `targetResourceId`.
	Records pulumi.StringArrayInput
	// Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The Azure resource id of the target object. Conflicts with `records`
	TargetResourceId pulumi.StringPtrInput
	Ttl              pulumi.IntPtrInput
	// Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.
	ZoneName pulumi.StringPtrInput
}

func (AaaaRecordState) ElementType

func (AaaaRecordState) ElementType() reflect.Type

type CNameRecord

type CNameRecord struct {
	pulumi.CustomResourceState

	// The FQDN of the DNS CName Record.
	Fqdn pulumi.StringOutput `pulumi:"fqdn"`
	// The name of the DNS CNAME Record.
	Name pulumi.StringOutput `pulumi:"name"`
	// The target of the CNAME.
	Record pulumi.StringPtrOutput `pulumi:"record"`
	// Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The Azure resource id of the target object. Conflicts with `records`
	TargetResourceId pulumi.StringPtrOutput `pulumi:"targetResourceId"`
	Ttl              pulumi.IntOutput       `pulumi:"ttl"`
	// Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.
	ZoneName pulumi.StringOutput `pulumi:"zoneName"`
}

Enables you to manage DNS CNAME Records within Azure DNS.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/dns"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		exampleZone, err := dns.NewZone(ctx, "exampleZone", &dns.ZoneArgs{
			ResourceGroupName: exampleResourceGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = dns.NewCNameRecord(ctx, "exampleCNameRecord", &dns.CNameRecordArgs{
			ZoneName:          exampleZone.Name,
			ResourceGroupName: exampleResourceGroup.Name,
			Ttl:               pulumi.Int(300),
			Record:            pulumi.String("contoso.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Alias Record)

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/dns"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		exampleZone, err := dns.NewZone(ctx, "exampleZone", &dns.ZoneArgs{
			ResourceGroupName: exampleResourceGroup.Name,
		})
		if err != nil {
			return err
		}
		target, err := dns.NewCNameRecord(ctx, "target", &dns.CNameRecordArgs{
			ZoneName:          exampleZone.Name,
			ResourceGroupName: exampleResourceGroup.Name,
			Ttl:               pulumi.Int(300),
			Record:            pulumi.String("contoso.com"),
		})
		if err != nil {
			return err
		}
		_, err = dns.NewCNameRecord(ctx, "exampleCNameRecord", &dns.CNameRecordArgs{
			ZoneName:          exampleZone.Name,
			ResourceGroupName: exampleResourceGroup.Name,
			Ttl:               pulumi.Int(300),
			TargetResourceId:  target.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

CNAME records can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:dns/cNameRecord:CNameRecord example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/dnszones/zone1/CNAME/myrecord1

```

func GetCNameRecord

func GetCNameRecord(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *CNameRecordState, opts ...pulumi.ResourceOption) (*CNameRecord, error)

GetCNameRecord gets an existing CNameRecord resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewCNameRecord

func NewCNameRecord(ctx *pulumi.Context,
	name string, args *CNameRecordArgs, opts ...pulumi.ResourceOption) (*CNameRecord, error)

NewCNameRecord registers a new resource with the given unique name, arguments, and options.

func (CNameRecord) ElementType added in v3.31.1

func (CNameRecord) ElementType() reflect.Type

func (CNameRecord) ToCNameRecordOutput added in v3.31.1

func (i CNameRecord) ToCNameRecordOutput() CNameRecordOutput

func (CNameRecord) ToCNameRecordOutputWithContext added in v3.31.1

func (i CNameRecord) ToCNameRecordOutputWithContext(ctx context.Context) CNameRecordOutput

type CNameRecordArgs

type CNameRecordArgs struct {
	// The name of the DNS CNAME Record.
	Name pulumi.StringPtrInput
	// The target of the CNAME.
	Record pulumi.StringPtrInput
	// Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The Azure resource id of the target object. Conflicts with `records`
	TargetResourceId pulumi.StringPtrInput
	Ttl              pulumi.IntInput
	// Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.
	ZoneName pulumi.StringInput
}

The set of arguments for constructing a CNameRecord resource.

func (CNameRecordArgs) ElementType

func (CNameRecordArgs) ElementType() reflect.Type

type CNameRecordInput added in v3.31.1

type CNameRecordInput interface {
	pulumi.Input

	ToCNameRecordOutput() CNameRecordOutput
	ToCNameRecordOutputWithContext(ctx context.Context) CNameRecordOutput
}

type CNameRecordOutput added in v3.31.1

type CNameRecordOutput struct {
	*pulumi.OutputState
}

func (CNameRecordOutput) ElementType added in v3.31.1

func (CNameRecordOutput) ElementType() reflect.Type

func (CNameRecordOutput) ToCNameRecordOutput added in v3.31.1

func (o CNameRecordOutput) ToCNameRecordOutput() CNameRecordOutput

func (CNameRecordOutput) ToCNameRecordOutputWithContext added in v3.31.1

func (o CNameRecordOutput) ToCNameRecordOutputWithContext(ctx context.Context) CNameRecordOutput

type CNameRecordState

type CNameRecordState struct {
	// The FQDN of the DNS CName Record.
	Fqdn pulumi.StringPtrInput
	// The name of the DNS CNAME Record.
	Name pulumi.StringPtrInput
	// The target of the CNAME.
	Record pulumi.StringPtrInput
	// Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The Azure resource id of the target object. Conflicts with `records`
	TargetResourceId pulumi.StringPtrInput
	Ttl              pulumi.IntPtrInput
	// Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.
	ZoneName pulumi.StringPtrInput
}

func (CNameRecordState) ElementType

func (CNameRecordState) ElementType() reflect.Type

type CaaRecord

type CaaRecord struct {
	pulumi.CustomResourceState

	// The FQDN of the DNS CAA Record.
	Fqdn pulumi.StringOutput `pulumi:"fqdn"`
	// The name of the DNS CAA Record. If you are creating the record in the apex of the zone use `"@"` as the name.
	Name pulumi.StringOutput `pulumi:"name"`
	// A list of values that make up the CAA record. Each `record` block supports fields documented below.
	Records CaaRecordRecordArrayOutput `pulumi:"records"`
	// Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The Time To Live (TTL) of the DNS record in seconds.
	Ttl pulumi.IntOutput `pulumi:"ttl"`
	// Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.
	ZoneName pulumi.StringOutput `pulumi:"zoneName"`
}

Enables you to manage DNS CAA Records within Azure DNS.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/dns"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		exampleZone, err := dns.NewZone(ctx, "exampleZone", &dns.ZoneArgs{
			ResourceGroupName: exampleResourceGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = dns.NewCaaRecord(ctx, "exampleCaaRecord", &dns.CaaRecordArgs{
			ZoneName:          exampleZone.Name,
			ResourceGroupName: exampleResourceGroup.Name,
			Ttl:               pulumi.Int(300),
			Records: dns.CaaRecordRecordArray{
				&dns.CaaRecordRecordArgs{
					Flags: pulumi.Int(0),
					Tag:   pulumi.String("issue"),
					Value: pulumi.String("example.com"),
				},
				&dns.CaaRecordRecordArgs{
					Flags: pulumi.Int(0),
					Tag:   pulumi.String("issue"),
					Value: pulumi.String("example.net"),
				},
				&dns.CaaRecordRecordArgs{
					Flags: pulumi.Int(0),
					Tag:   pulumi.String("issuewild"),
					Value: pulumi.String(";"),
				},
				&dns.CaaRecordRecordArgs{
					Flags: pulumi.Int(0),
					Tag:   pulumi.String("iodef"),
					Value: pulumi.String("mailto:user@nonexisting.tld"),
				},
			},
			Tags: pulumi.StringMap{
				"Environment": pulumi.String("Production"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

CAA records can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:dns/caaRecord:CaaRecord example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/dnszones/zone1/CAA/myrecord1

```

func GetCaaRecord

func GetCaaRecord(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *CaaRecordState, opts ...pulumi.ResourceOption) (*CaaRecord, error)

GetCaaRecord gets an existing CaaRecord resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewCaaRecord

func NewCaaRecord(ctx *pulumi.Context,
	name string, args *CaaRecordArgs, opts ...pulumi.ResourceOption) (*CaaRecord, error)

NewCaaRecord registers a new resource with the given unique name, arguments, and options.

func (CaaRecord) ElementType added in v3.31.1

func (CaaRecord) ElementType() reflect.Type

func (CaaRecord) ToCaaRecordOutput added in v3.31.1

func (i CaaRecord) ToCaaRecordOutput() CaaRecordOutput

func (CaaRecord) ToCaaRecordOutputWithContext added in v3.31.1

func (i CaaRecord) ToCaaRecordOutputWithContext(ctx context.Context) CaaRecordOutput

type CaaRecordArgs

type CaaRecordArgs struct {
	// The name of the DNS CAA Record. If you are creating the record in the apex of the zone use `"@"` as the name.
	Name pulumi.StringPtrInput
	// A list of values that make up the CAA record. Each `record` block supports fields documented below.
	Records CaaRecordRecordArrayInput
	// Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The Time To Live (TTL) of the DNS record in seconds.
	Ttl pulumi.IntInput
	// Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.
	ZoneName pulumi.StringInput
}

The set of arguments for constructing a CaaRecord resource.

func (CaaRecordArgs) ElementType

func (CaaRecordArgs) ElementType() reflect.Type

type CaaRecordInput added in v3.31.1

type CaaRecordInput interface {
	pulumi.Input

	ToCaaRecordOutput() CaaRecordOutput
	ToCaaRecordOutputWithContext(ctx context.Context) CaaRecordOutput
}

type CaaRecordOutput added in v3.31.1

type CaaRecordOutput struct {
	*pulumi.OutputState
}

func (CaaRecordOutput) ElementType added in v3.31.1

func (CaaRecordOutput) ElementType() reflect.Type

func (CaaRecordOutput) ToCaaRecordOutput added in v3.31.1

func (o CaaRecordOutput) ToCaaRecordOutput() CaaRecordOutput

func (CaaRecordOutput) ToCaaRecordOutputWithContext added in v3.31.1

func (o CaaRecordOutput) ToCaaRecordOutputWithContext(ctx context.Context) CaaRecordOutput

type CaaRecordRecord

type CaaRecordRecord struct {
	// Extensible CAA flags, currently only 1 is implemented to set the issuer critical flag.
	Flags int `pulumi:"flags"`
	// A property tag, options are issue, issuewild and iodef.
	Tag string `pulumi:"tag"`
	// A property value such as a registrar domain.
	Value string `pulumi:"value"`
}

type CaaRecordRecordArgs

type CaaRecordRecordArgs struct {
	// Extensible CAA flags, currently only 1 is implemented to set the issuer critical flag.
	Flags pulumi.IntInput `pulumi:"flags"`
	// A property tag, options are issue, issuewild and iodef.
	Tag pulumi.StringInput `pulumi:"tag"`
	// A property value such as a registrar domain.
	Value pulumi.StringInput `pulumi:"value"`
}

func (CaaRecordRecordArgs) ElementType

func (CaaRecordRecordArgs) ElementType() reflect.Type

func (CaaRecordRecordArgs) ToCaaRecordRecordOutput

func (i CaaRecordRecordArgs) ToCaaRecordRecordOutput() CaaRecordRecordOutput

func (CaaRecordRecordArgs) ToCaaRecordRecordOutputWithContext

func (i CaaRecordRecordArgs) ToCaaRecordRecordOutputWithContext(ctx context.Context) CaaRecordRecordOutput

type CaaRecordRecordArray

type CaaRecordRecordArray []CaaRecordRecordInput

func (CaaRecordRecordArray) ElementType

func (CaaRecordRecordArray) ElementType() reflect.Type

func (CaaRecordRecordArray) ToCaaRecordRecordArrayOutput

func (i CaaRecordRecordArray) ToCaaRecordRecordArrayOutput() CaaRecordRecordArrayOutput

func (CaaRecordRecordArray) ToCaaRecordRecordArrayOutputWithContext

func (i CaaRecordRecordArray) ToCaaRecordRecordArrayOutputWithContext(ctx context.Context) CaaRecordRecordArrayOutput

type CaaRecordRecordArrayInput

type CaaRecordRecordArrayInput interface {
	pulumi.Input

	ToCaaRecordRecordArrayOutput() CaaRecordRecordArrayOutput
	ToCaaRecordRecordArrayOutputWithContext(context.Context) CaaRecordRecordArrayOutput
}

CaaRecordRecordArrayInput is an input type that accepts CaaRecordRecordArray and CaaRecordRecordArrayOutput values. You can construct a concrete instance of `CaaRecordRecordArrayInput` via:

CaaRecordRecordArray{ CaaRecordRecordArgs{...} }

type CaaRecordRecordArrayOutput

type CaaRecordRecordArrayOutput struct{ *pulumi.OutputState }

func (CaaRecordRecordArrayOutput) ElementType

func (CaaRecordRecordArrayOutput) ElementType() reflect.Type

func (CaaRecordRecordArrayOutput) Index

func (CaaRecordRecordArrayOutput) ToCaaRecordRecordArrayOutput

func (o CaaRecordRecordArrayOutput) ToCaaRecordRecordArrayOutput() CaaRecordRecordArrayOutput

func (CaaRecordRecordArrayOutput) ToCaaRecordRecordArrayOutputWithContext

func (o CaaRecordRecordArrayOutput) ToCaaRecordRecordArrayOutputWithContext(ctx context.Context) CaaRecordRecordArrayOutput

type CaaRecordRecordInput

type CaaRecordRecordInput interface {
	pulumi.Input

	ToCaaRecordRecordOutput() CaaRecordRecordOutput
	ToCaaRecordRecordOutputWithContext(context.Context) CaaRecordRecordOutput
}

CaaRecordRecordInput is an input type that accepts CaaRecordRecordArgs and CaaRecordRecordOutput values. You can construct a concrete instance of `CaaRecordRecordInput` via:

CaaRecordRecordArgs{...}

type CaaRecordRecordOutput

type CaaRecordRecordOutput struct{ *pulumi.OutputState }

func (CaaRecordRecordOutput) ElementType

func (CaaRecordRecordOutput) ElementType() reflect.Type

func (CaaRecordRecordOutput) Flags

Extensible CAA flags, currently only 1 is implemented to set the issuer critical flag.

func (CaaRecordRecordOutput) Tag

A property tag, options are issue, issuewild and iodef.

func (CaaRecordRecordOutput) ToCaaRecordRecordOutput

func (o CaaRecordRecordOutput) ToCaaRecordRecordOutput() CaaRecordRecordOutput

func (CaaRecordRecordOutput) ToCaaRecordRecordOutputWithContext

func (o CaaRecordRecordOutput) ToCaaRecordRecordOutputWithContext(ctx context.Context) CaaRecordRecordOutput

func (CaaRecordRecordOutput) Value

A property value such as a registrar domain.

type CaaRecordState

type CaaRecordState struct {
	// The FQDN of the DNS CAA Record.
	Fqdn pulumi.StringPtrInput
	// The name of the DNS CAA Record. If you are creating the record in the apex of the zone use `"@"` as the name.
	Name pulumi.StringPtrInput
	// A list of values that make up the CAA record. Each `record` block supports fields documented below.
	Records CaaRecordRecordArrayInput
	// Specifies the resource group where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The Time To Live (TTL) of the DNS record in seconds.
	Ttl pulumi.IntPtrInput
	// Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.
	ZoneName pulumi.StringPtrInput
}

func (CaaRecordState) ElementType

func (CaaRecordState) ElementType() reflect.Type

type LookupZoneArgs

type LookupZoneArgs struct {
	// The name of the DNS Zone.
	Name string `pulumi:"name"`
	// The Name of the Resource Group where the DNS Zone exists.
	// If the Name of the Resource Group is not provided, the first DNS Zone from the list of DNS Zones
	// in your subscription that matches `name` will be returned.
	ResourceGroupName *string `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getZone.

type LookupZoneResult

type LookupZoneResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Maximum number of Records in the zone.
	MaxNumberOfRecordSets int    `pulumi:"maxNumberOfRecordSets"`
	Name                  string `pulumi:"name"`
	// A list of values that make up the NS record for the zone.
	NameServers []string `pulumi:"nameServers"`
	// The number of records already in the zone.
	NumberOfRecordSets int    `pulumi:"numberOfRecordSets"`
	ResourceGroupName  string `pulumi:"resourceGroupName"`
	// A mapping of tags to assign to the EventHub Namespace.
	Tags map[string]string `pulumi:"tags"`
}

A collection of values returned by getZone.

func LookupZone

func LookupZone(ctx *pulumi.Context, args *LookupZoneArgs, opts ...pulumi.InvokeOption) (*LookupZoneResult, error)

Use this data source to access information about an existing DNS Zone.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/dns"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "search-service"
		example, err := dns.LookupZone(ctx, &dns.LookupZoneArgs{
			Name:              "search-eventhubns",
			ResourceGroupName: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("dnsZoneId", example.Id)
		return nil
	})
}

```

type MxRecord

type MxRecord struct {
	pulumi.CustomResourceState

	// The FQDN of the DNS MX Record.
	Fqdn pulumi.StringOutput `pulumi:"fqdn"`
	// The name of the DNS MX Record. Defaults to `@` (root). Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// A list of values that make up the MX record. Each `record` block supports fields documented below.
	Records MxRecordRecordArrayOutput `pulumi:"records"`
	// Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The Time To Live (TTL) of the DNS record in seconds.
	Ttl pulumi.IntOutput `pulumi:"ttl"`
	// Specifies the DNS Zone where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.
	ZoneName pulumi.StringOutput `pulumi:"zoneName"`
}

Enables you to manage DNS MX Records within Azure DNS.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/dns"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		exampleZone, err := dns.NewZone(ctx, "exampleZone", &dns.ZoneArgs{
			ResourceGroupName: exampleResourceGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = dns.NewMxRecord(ctx, "exampleMxRecord", &dns.MxRecordArgs{
			ZoneName:          exampleZone.Name,
			ResourceGroupName: exampleResourceGroup.Name,
			Ttl:               pulumi.Int(300),
			Records: dns.MxRecordRecordArray{
				&dns.MxRecordRecordArgs{
					Preference: pulumi.String("10"),
					Exchange:   pulumi.String("mail1.contoso.com"),
				},
				&dns.MxRecordRecordArgs{
					Preference: pulumi.String("20"),
					Exchange:   pulumi.String("mail2.contoso.com"),
				},
			},
			Tags: pulumi.StringMap{
				"Environment": pulumi.String("Production"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

MX records can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:dns/mxRecord:MxRecord example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/dnszones/zone1/MX/myrecord1

```

func GetMxRecord

func GetMxRecord(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *MxRecordState, opts ...pulumi.ResourceOption) (*MxRecord, error)

GetMxRecord gets an existing MxRecord resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewMxRecord

func NewMxRecord(ctx *pulumi.Context,
	name string, args *MxRecordArgs, opts ...pulumi.ResourceOption) (*MxRecord, error)

NewMxRecord registers a new resource with the given unique name, arguments, and options.

func (MxRecord) ElementType added in v3.31.1

func (MxRecord) ElementType() reflect.Type

func (MxRecord) ToMxRecordOutput added in v3.31.1

func (i MxRecord) ToMxRecordOutput() MxRecordOutput

func (MxRecord) ToMxRecordOutputWithContext added in v3.31.1

func (i MxRecord) ToMxRecordOutputWithContext(ctx context.Context) MxRecordOutput

type MxRecordArgs

type MxRecordArgs struct {
	// The name of the DNS MX Record. Defaults to `@` (root). Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// A list of values that make up the MX record. Each `record` block supports fields documented below.
	Records MxRecordRecordArrayInput
	// Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The Time To Live (TTL) of the DNS record in seconds.
	Ttl pulumi.IntInput
	// Specifies the DNS Zone where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.
	ZoneName pulumi.StringInput
}

The set of arguments for constructing a MxRecord resource.

func (MxRecordArgs) ElementType

func (MxRecordArgs) ElementType() reflect.Type

type MxRecordInput added in v3.31.1

type MxRecordInput interface {
	pulumi.Input

	ToMxRecordOutput() MxRecordOutput
	ToMxRecordOutputWithContext(ctx context.Context) MxRecordOutput
}

type MxRecordOutput added in v3.31.1

type MxRecordOutput struct {
	*pulumi.OutputState
}

func (MxRecordOutput) ElementType added in v3.31.1

func (MxRecordOutput) ElementType() reflect.Type

func (MxRecordOutput) ToMxRecordOutput added in v3.31.1

func (o MxRecordOutput) ToMxRecordOutput() MxRecordOutput

func (MxRecordOutput) ToMxRecordOutputWithContext added in v3.31.1

func (o MxRecordOutput) ToMxRecordOutputWithContext(ctx context.Context) MxRecordOutput

type MxRecordRecord

type MxRecordRecord struct {
	// The mail server responsible for the domain covered by the MX record.
	Exchange string `pulumi:"exchange"`
	// String representing the "preference” value of the MX records. Records with lower preference value take priority.
	Preference string `pulumi:"preference"`
}

type MxRecordRecordArgs

type MxRecordRecordArgs struct {
	// The mail server responsible for the domain covered by the MX record.
	Exchange pulumi.StringInput `pulumi:"exchange"`
	// String representing the "preference” value of the MX records. Records with lower preference value take priority.
	Preference pulumi.StringInput `pulumi:"preference"`
}

func (MxRecordRecordArgs) ElementType

func (MxRecordRecordArgs) ElementType() reflect.Type

func (MxRecordRecordArgs) ToMxRecordRecordOutput

func (i MxRecordRecordArgs) ToMxRecordRecordOutput() MxRecordRecordOutput

func (MxRecordRecordArgs) ToMxRecordRecordOutputWithContext

func (i MxRecordRecordArgs) ToMxRecordRecordOutputWithContext(ctx context.Context) MxRecordRecordOutput

type MxRecordRecordArray

type MxRecordRecordArray []MxRecordRecordInput

func (MxRecordRecordArray) ElementType

func (MxRecordRecordArray) ElementType() reflect.Type

func (MxRecordRecordArray) ToMxRecordRecordArrayOutput

func (i MxRecordRecordArray) ToMxRecordRecordArrayOutput() MxRecordRecordArrayOutput

func (MxRecordRecordArray) ToMxRecordRecordArrayOutputWithContext

func (i MxRecordRecordArray) ToMxRecordRecordArrayOutputWithContext(ctx context.Context) MxRecordRecordArrayOutput

type MxRecordRecordArrayInput

type MxRecordRecordArrayInput interface {
	pulumi.Input

	ToMxRecordRecordArrayOutput() MxRecordRecordArrayOutput
	ToMxRecordRecordArrayOutputWithContext(context.Context) MxRecordRecordArrayOutput
}

MxRecordRecordArrayInput is an input type that accepts MxRecordRecordArray and MxRecordRecordArrayOutput values. You can construct a concrete instance of `MxRecordRecordArrayInput` via:

MxRecordRecordArray{ MxRecordRecordArgs{...} }

type MxRecordRecordArrayOutput

type MxRecordRecordArrayOutput struct{ *pulumi.OutputState }

func (MxRecordRecordArrayOutput) ElementType

func (MxRecordRecordArrayOutput) ElementType() reflect.Type

func (MxRecordRecordArrayOutput) Index

func (MxRecordRecordArrayOutput) ToMxRecordRecordArrayOutput

func (o MxRecordRecordArrayOutput) ToMxRecordRecordArrayOutput() MxRecordRecordArrayOutput

func (MxRecordRecordArrayOutput) ToMxRecordRecordArrayOutputWithContext

func (o MxRecordRecordArrayOutput) ToMxRecordRecordArrayOutputWithContext(ctx context.Context) MxRecordRecordArrayOutput

type MxRecordRecordInput

type MxRecordRecordInput interface {
	pulumi.Input

	ToMxRecordRecordOutput() MxRecordRecordOutput
	ToMxRecordRecordOutputWithContext(context.Context) MxRecordRecordOutput
}

MxRecordRecordInput is an input type that accepts MxRecordRecordArgs and MxRecordRecordOutput values. You can construct a concrete instance of `MxRecordRecordInput` via:

MxRecordRecordArgs{...}

type MxRecordRecordOutput

type MxRecordRecordOutput struct{ *pulumi.OutputState }

func (MxRecordRecordOutput) ElementType

func (MxRecordRecordOutput) ElementType() reflect.Type

func (MxRecordRecordOutput) Exchange

The mail server responsible for the domain covered by the MX record.

func (MxRecordRecordOutput) Preference

func (o MxRecordRecordOutput) Preference() pulumi.StringOutput

String representing the "preference” value of the MX records. Records with lower preference value take priority.

func (MxRecordRecordOutput) ToMxRecordRecordOutput

func (o MxRecordRecordOutput) ToMxRecordRecordOutput() MxRecordRecordOutput

func (MxRecordRecordOutput) ToMxRecordRecordOutputWithContext

func (o MxRecordRecordOutput) ToMxRecordRecordOutputWithContext(ctx context.Context) MxRecordRecordOutput

type MxRecordState

type MxRecordState struct {
	// The FQDN of the DNS MX Record.
	Fqdn pulumi.StringPtrInput
	// The name of the DNS MX Record. Defaults to `@` (root). Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// A list of values that make up the MX record. Each `record` block supports fields documented below.
	Records MxRecordRecordArrayInput
	// Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The Time To Live (TTL) of the DNS record in seconds.
	Ttl pulumi.IntPtrInput
	// Specifies the DNS Zone where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.
	ZoneName pulumi.StringPtrInput
}

func (MxRecordState) ElementType

func (MxRecordState) ElementType() reflect.Type

type NsRecord

type NsRecord struct {
	pulumi.CustomResourceState

	// The FQDN of the DNS NS Record.
	Fqdn pulumi.StringOutput `pulumi:"fqdn"`
	// The name of the DNS NS Record.
	Name pulumi.StringOutput `pulumi:"name"`
	// A list of values that make up the NS record.
	Records pulumi.StringArrayOutput `pulumi:"records"`
	// Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The Time To Live (TTL) of the DNS record in seconds.
	Ttl pulumi.IntOutput `pulumi:"ttl"`
	// Specifies the DNS Zone where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.
	ZoneName pulumi.StringOutput `pulumi:"zoneName"`
}

Enables you to manage DNS NS Records within Azure DNS.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/dns"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		exampleZone, err := dns.NewZone(ctx, "exampleZone", &dns.ZoneArgs{
			ResourceGroupName: exampleResourceGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = dns.NewNsRecord(ctx, "exampleNsRecord", &dns.NsRecordArgs{
			ZoneName:          exampleZone.Name,
			ResourceGroupName: exampleResourceGroup.Name,
			Ttl:               pulumi.Int(300),
			Records: pulumi.StringArray{
				pulumi.String("ns1.contoso.com"),
				pulumi.String("ns2.contoso.com"),
			},
			Tags: pulumi.StringMap{
				"Environment": pulumi.String("Production"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

NS records can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:dns/nsRecord:NsRecord example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/dnszones/zone1/NS/myrecord1

```

func GetNsRecord

func GetNsRecord(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NsRecordState, opts ...pulumi.ResourceOption) (*NsRecord, error)

GetNsRecord gets an existing NsRecord resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewNsRecord

func NewNsRecord(ctx *pulumi.Context,
	name string, args *NsRecordArgs, opts ...pulumi.ResourceOption) (*NsRecord, error)

NewNsRecord registers a new resource with the given unique name, arguments, and options.

func (NsRecord) ElementType added in v3.31.1

func (NsRecord) ElementType() reflect.Type

func (NsRecord) ToNsRecordOutput added in v3.31.1

func (i NsRecord) ToNsRecordOutput() NsRecordOutput

func (NsRecord) ToNsRecordOutputWithContext added in v3.31.1

func (i NsRecord) ToNsRecordOutputWithContext(ctx context.Context) NsRecordOutput

type NsRecordArgs

type NsRecordArgs struct {
	// The name of the DNS NS Record.
	Name pulumi.StringPtrInput
	// A list of values that make up the NS record.
	Records pulumi.StringArrayInput
	// Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The Time To Live (TTL) of the DNS record in seconds.
	Ttl pulumi.IntInput
	// Specifies the DNS Zone where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.
	ZoneName pulumi.StringInput
}

The set of arguments for constructing a NsRecord resource.

func (NsRecordArgs) ElementType

func (NsRecordArgs) ElementType() reflect.Type

type NsRecordInput added in v3.31.1

type NsRecordInput interface {
	pulumi.Input

	ToNsRecordOutput() NsRecordOutput
	ToNsRecordOutputWithContext(ctx context.Context) NsRecordOutput
}

type NsRecordOutput added in v3.31.1

type NsRecordOutput struct {
	*pulumi.OutputState
}

func (NsRecordOutput) ElementType added in v3.31.1

func (NsRecordOutput) ElementType() reflect.Type

func (NsRecordOutput) ToNsRecordOutput added in v3.31.1

func (o NsRecordOutput) ToNsRecordOutput() NsRecordOutput

func (NsRecordOutput) ToNsRecordOutputWithContext added in v3.31.1

func (o NsRecordOutput) ToNsRecordOutputWithContext(ctx context.Context) NsRecordOutput

type NsRecordState

type NsRecordState struct {
	// The FQDN of the DNS NS Record.
	Fqdn pulumi.StringPtrInput
	// The name of the DNS NS Record.
	Name pulumi.StringPtrInput
	// A list of values that make up the NS record.
	Records pulumi.StringArrayInput
	// Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The Time To Live (TTL) of the DNS record in seconds.
	Ttl pulumi.IntPtrInput
	// Specifies the DNS Zone where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.
	ZoneName pulumi.StringPtrInput
}

func (NsRecordState) ElementType

func (NsRecordState) ElementType() reflect.Type

type PtrRecord

type PtrRecord struct {
	pulumi.CustomResourceState

	// The FQDN of the DNS PTR Record.
	Fqdn pulumi.StringOutput `pulumi:"fqdn"`
	// The name of the DNS PTR Record.
	Name pulumi.StringOutput `pulumi:"name"`
	// List of Fully Qualified Domain Names.
	Records pulumi.StringArrayOutput `pulumi:"records"`
	// Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The Time To Live (TTL) of the DNS record in seconds.
	Ttl pulumi.IntOutput `pulumi:"ttl"`
	// Specifies the DNS Zone where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.
	ZoneName pulumi.StringOutput `pulumi:"zoneName"`
}

Enables you to manage DNS PTR Records within Azure DNS.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/dns"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		exampleZone, err := dns.NewZone(ctx, "exampleZone", &dns.ZoneArgs{
			ResourceGroupName: exampleResourceGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = dns.NewPtrRecord(ctx, "examplePtrRecord", &dns.PtrRecordArgs{
			ZoneName:          exampleZone.Name,
			ResourceGroupName: exampleResourceGroup.Name,
			Ttl:               pulumi.Int(300),
			Records: pulumi.StringArray{
				pulumi.String("yourdomain.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

PTR records can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:dns/ptrRecord:PtrRecord example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/dnszones/zone1/PTR/myrecord1

```

func GetPtrRecord

func GetPtrRecord(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PtrRecordState, opts ...pulumi.ResourceOption) (*PtrRecord, error)

GetPtrRecord gets an existing PtrRecord resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewPtrRecord

func NewPtrRecord(ctx *pulumi.Context,
	name string, args *PtrRecordArgs, opts ...pulumi.ResourceOption) (*PtrRecord, error)

NewPtrRecord registers a new resource with the given unique name, arguments, and options.

func (PtrRecord) ElementType added in v3.31.1

func (PtrRecord) ElementType() reflect.Type

func (PtrRecord) ToPtrRecordOutput added in v3.31.1

func (i PtrRecord) ToPtrRecordOutput() PtrRecordOutput

func (PtrRecord) ToPtrRecordOutputWithContext added in v3.31.1

func (i PtrRecord) ToPtrRecordOutputWithContext(ctx context.Context) PtrRecordOutput

type PtrRecordArgs

type PtrRecordArgs struct {
	// The name of the DNS PTR Record.
	Name pulumi.StringPtrInput
	// List of Fully Qualified Domain Names.
	Records pulumi.StringArrayInput
	// Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The Time To Live (TTL) of the DNS record in seconds.
	Ttl pulumi.IntInput
	// Specifies the DNS Zone where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.
	ZoneName pulumi.StringInput
}

The set of arguments for constructing a PtrRecord resource.

func (PtrRecordArgs) ElementType

func (PtrRecordArgs) ElementType() reflect.Type

type PtrRecordInput added in v3.31.1

type PtrRecordInput interface {
	pulumi.Input

	ToPtrRecordOutput() PtrRecordOutput
	ToPtrRecordOutputWithContext(ctx context.Context) PtrRecordOutput
}

type PtrRecordOutput added in v3.31.1

type PtrRecordOutput struct {
	*pulumi.OutputState
}

func (PtrRecordOutput) ElementType added in v3.31.1

func (PtrRecordOutput) ElementType() reflect.Type

func (PtrRecordOutput) ToPtrRecordOutput added in v3.31.1

func (o PtrRecordOutput) ToPtrRecordOutput() PtrRecordOutput

func (PtrRecordOutput) ToPtrRecordOutputWithContext added in v3.31.1

func (o PtrRecordOutput) ToPtrRecordOutputWithContext(ctx context.Context) PtrRecordOutput

type PtrRecordState

type PtrRecordState struct {
	// The FQDN of the DNS PTR Record.
	Fqdn pulumi.StringPtrInput
	// The name of the DNS PTR Record.
	Name pulumi.StringPtrInput
	// List of Fully Qualified Domain Names.
	Records pulumi.StringArrayInput
	// Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The Time To Live (TTL) of the DNS record in seconds.
	Ttl pulumi.IntPtrInput
	// Specifies the DNS Zone where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.
	ZoneName pulumi.StringPtrInput
}

func (PtrRecordState) ElementType

func (PtrRecordState) ElementType() reflect.Type

type SrvRecord

type SrvRecord struct {
	pulumi.CustomResourceState

	// The FQDN of the DNS SRV Record.
	Fqdn pulumi.StringOutput `pulumi:"fqdn"`
	// The name of the DNS SRV Record.
	Name pulumi.StringOutput `pulumi:"name"`
	// A list of values that make up the SRV record. Each `record` block supports fields documented below.
	Records SrvRecordRecordArrayOutput `pulumi:"records"`
	// Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The Time To Live (TTL) of the DNS record in seconds.
	Ttl pulumi.IntOutput `pulumi:"ttl"`
	// Specifies the DNS Zone where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.
	ZoneName pulumi.StringOutput `pulumi:"zoneName"`
}

Enables you to manage DNS SRV Records within Azure DNS.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/dns"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		exampleZone, err := dns.NewZone(ctx, "exampleZone", &dns.ZoneArgs{
			ResourceGroupName: exampleResourceGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = dns.NewSrvRecord(ctx, "exampleSrvRecord", &dns.SrvRecordArgs{
			ZoneName:          exampleZone.Name,
			ResourceGroupName: exampleResourceGroup.Name,
			Ttl:               pulumi.Int(300),
			Records: dns.SrvRecordRecordArray{
				&dns.SrvRecordRecordArgs{
					Priority: pulumi.Int(1),
					Weight:   pulumi.Int(5),
					Port:     pulumi.Int(8080),
					Target:   pulumi.String("target1.contoso.com"),
				},
			},
			Tags: pulumi.StringMap{
				"Environment": pulumi.String("Production"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

SRV records can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:dns/srvRecord:SrvRecord example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/dnszones/zone1/SRV/myrecord1

```

func GetSrvRecord

func GetSrvRecord(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SrvRecordState, opts ...pulumi.ResourceOption) (*SrvRecord, error)

GetSrvRecord gets an existing SrvRecord resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSrvRecord

func NewSrvRecord(ctx *pulumi.Context,
	name string, args *SrvRecordArgs, opts ...pulumi.ResourceOption) (*SrvRecord, error)

NewSrvRecord registers a new resource with the given unique name, arguments, and options.

func (SrvRecord) ElementType added in v3.31.1

func (SrvRecord) ElementType() reflect.Type

func (SrvRecord) ToSrvRecordOutput added in v3.31.1

func (i SrvRecord) ToSrvRecordOutput() SrvRecordOutput

func (SrvRecord) ToSrvRecordOutputWithContext added in v3.31.1

func (i SrvRecord) ToSrvRecordOutputWithContext(ctx context.Context) SrvRecordOutput

type SrvRecordArgs

type SrvRecordArgs struct {
	// The name of the DNS SRV Record.
	Name pulumi.StringPtrInput
	// A list of values that make up the SRV record. Each `record` block supports fields documented below.
	Records SrvRecordRecordArrayInput
	// Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The Time To Live (TTL) of the DNS record in seconds.
	Ttl pulumi.IntInput
	// Specifies the DNS Zone where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.
	ZoneName pulumi.StringInput
}

The set of arguments for constructing a SrvRecord resource.

func (SrvRecordArgs) ElementType

func (SrvRecordArgs) ElementType() reflect.Type

type SrvRecordInput added in v3.31.1

type SrvRecordInput interface {
	pulumi.Input

	ToSrvRecordOutput() SrvRecordOutput
	ToSrvRecordOutputWithContext(ctx context.Context) SrvRecordOutput
}

type SrvRecordOutput added in v3.31.1

type SrvRecordOutput struct {
	*pulumi.OutputState
}

func (SrvRecordOutput) ElementType added in v3.31.1

func (SrvRecordOutput) ElementType() reflect.Type

func (SrvRecordOutput) ToSrvRecordOutput added in v3.31.1

func (o SrvRecordOutput) ToSrvRecordOutput() SrvRecordOutput

func (SrvRecordOutput) ToSrvRecordOutputWithContext added in v3.31.1

func (o SrvRecordOutput) ToSrvRecordOutputWithContext(ctx context.Context) SrvRecordOutput

type SrvRecordRecord

type SrvRecordRecord struct {
	// Port the service is listening on.
	Port int `pulumi:"port"`
	// Priority of the SRV record.
	Priority int `pulumi:"priority"`
	// FQDN of the service.
	Target string `pulumi:"target"`
	// Weight of the SRV record.
	Weight int `pulumi:"weight"`
}

type SrvRecordRecordArgs

type SrvRecordRecordArgs struct {
	// Port the service is listening on.
	Port pulumi.IntInput `pulumi:"port"`
	// Priority of the SRV record.
	Priority pulumi.IntInput `pulumi:"priority"`
	// FQDN of the service.
	Target pulumi.StringInput `pulumi:"target"`
	// Weight of the SRV record.
	Weight pulumi.IntInput `pulumi:"weight"`
}

func (SrvRecordRecordArgs) ElementType

func (SrvRecordRecordArgs) ElementType() reflect.Type

func (SrvRecordRecordArgs) ToSrvRecordRecordOutput

func (i SrvRecordRecordArgs) ToSrvRecordRecordOutput() SrvRecordRecordOutput

func (SrvRecordRecordArgs) ToSrvRecordRecordOutputWithContext

func (i SrvRecordRecordArgs) ToSrvRecordRecordOutputWithContext(ctx context.Context) SrvRecordRecordOutput

type SrvRecordRecordArray

type SrvRecordRecordArray []SrvRecordRecordInput

func (SrvRecordRecordArray) ElementType

func (SrvRecordRecordArray) ElementType() reflect.Type

func (SrvRecordRecordArray) ToSrvRecordRecordArrayOutput

func (i SrvRecordRecordArray) ToSrvRecordRecordArrayOutput() SrvRecordRecordArrayOutput

func (SrvRecordRecordArray) ToSrvRecordRecordArrayOutputWithContext

func (i SrvRecordRecordArray) ToSrvRecordRecordArrayOutputWithContext(ctx context.Context) SrvRecordRecordArrayOutput

type SrvRecordRecordArrayInput

type SrvRecordRecordArrayInput interface {
	pulumi.Input

	ToSrvRecordRecordArrayOutput() SrvRecordRecordArrayOutput
	ToSrvRecordRecordArrayOutputWithContext(context.Context) SrvRecordRecordArrayOutput
}

SrvRecordRecordArrayInput is an input type that accepts SrvRecordRecordArray and SrvRecordRecordArrayOutput values. You can construct a concrete instance of `SrvRecordRecordArrayInput` via:

SrvRecordRecordArray{ SrvRecordRecordArgs{...} }

type SrvRecordRecordArrayOutput

type SrvRecordRecordArrayOutput struct{ *pulumi.OutputState }

func (SrvRecordRecordArrayOutput) ElementType

func (SrvRecordRecordArrayOutput) ElementType() reflect.Type

func (SrvRecordRecordArrayOutput) Index

func (SrvRecordRecordArrayOutput) ToSrvRecordRecordArrayOutput

func (o SrvRecordRecordArrayOutput) ToSrvRecordRecordArrayOutput() SrvRecordRecordArrayOutput

func (SrvRecordRecordArrayOutput) ToSrvRecordRecordArrayOutputWithContext

func (o SrvRecordRecordArrayOutput) ToSrvRecordRecordArrayOutputWithContext(ctx context.Context) SrvRecordRecordArrayOutput

type SrvRecordRecordInput

type SrvRecordRecordInput interface {
	pulumi.Input

	ToSrvRecordRecordOutput() SrvRecordRecordOutput
	ToSrvRecordRecordOutputWithContext(context.Context) SrvRecordRecordOutput
}

SrvRecordRecordInput is an input type that accepts SrvRecordRecordArgs and SrvRecordRecordOutput values. You can construct a concrete instance of `SrvRecordRecordInput` via:

SrvRecordRecordArgs{...}

type SrvRecordRecordOutput

type SrvRecordRecordOutput struct{ *pulumi.OutputState }

func (SrvRecordRecordOutput) ElementType

func (SrvRecordRecordOutput) ElementType() reflect.Type

func (SrvRecordRecordOutput) Port

Port the service is listening on.

func (SrvRecordRecordOutput) Priority

func (o SrvRecordRecordOutput) Priority() pulumi.IntOutput

Priority of the SRV record.

func (SrvRecordRecordOutput) Target

FQDN of the service.

func (SrvRecordRecordOutput) ToSrvRecordRecordOutput

func (o SrvRecordRecordOutput) ToSrvRecordRecordOutput() SrvRecordRecordOutput

func (SrvRecordRecordOutput) ToSrvRecordRecordOutputWithContext

func (o SrvRecordRecordOutput) ToSrvRecordRecordOutputWithContext(ctx context.Context) SrvRecordRecordOutput

func (SrvRecordRecordOutput) Weight

Weight of the SRV record.

type SrvRecordState

type SrvRecordState struct {
	// The FQDN of the DNS SRV Record.
	Fqdn pulumi.StringPtrInput
	// The name of the DNS SRV Record.
	Name pulumi.StringPtrInput
	// A list of values that make up the SRV record. Each `record` block supports fields documented below.
	Records SrvRecordRecordArrayInput
	// Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The Time To Live (TTL) of the DNS record in seconds.
	Ttl pulumi.IntPtrInput
	// Specifies the DNS Zone where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.
	ZoneName pulumi.StringPtrInput
}

func (SrvRecordState) ElementType

func (SrvRecordState) ElementType() reflect.Type

type TxtRecord

type TxtRecord struct {
	pulumi.CustomResourceState

	// The FQDN of the DNS TXT Record.
	Fqdn pulumi.StringOutput `pulumi:"fqdn"`
	// The name of the DNS TXT Record.
	Name pulumi.StringOutput `pulumi:"name"`
	// A list of values that make up the txt record. Each `record` block supports fields documented below.
	Records TxtRecordRecordArrayOutput `pulumi:"records"`
	// Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The Time To Live (TTL) of the DNS record in seconds.
	Ttl pulumi.IntOutput `pulumi:"ttl"`
	// Specifies the DNS Zone where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.
	ZoneName pulumi.StringOutput `pulumi:"zoneName"`
}

Enables you to manage DNS TXT Records within Azure DNS.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/dns"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		exampleZone, err := dns.NewZone(ctx, "exampleZone", &dns.ZoneArgs{
			ResourceGroupName: exampleResourceGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = dns.NewTxtRecord(ctx, "exampleTxtRecord", &dns.TxtRecordArgs{
			ZoneName:          exampleZone.Name,
			ResourceGroupName: exampleResourceGroup.Name,
			Ttl:               pulumi.Int(300),
			Records: dns.TxtRecordRecordArray{
				&dns.TxtRecordRecordArgs{
					Value: pulumi.String("google-site-authenticator"),
				},
				&dns.TxtRecordRecordArgs{
					Value: pulumi.String("more site information here"),
				},
			},
			Tags: pulumi.StringMap{
				"Environment": pulumi.String("Production"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

TXT records can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:dns/txtRecord:TxtRecord example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/dnszones/zone1/TXT/myrecord1

```

func GetTxtRecord

func GetTxtRecord(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TxtRecordState, opts ...pulumi.ResourceOption) (*TxtRecord, error)

GetTxtRecord gets an existing TxtRecord resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewTxtRecord

func NewTxtRecord(ctx *pulumi.Context,
	name string, args *TxtRecordArgs, opts ...pulumi.ResourceOption) (*TxtRecord, error)

NewTxtRecord registers a new resource with the given unique name, arguments, and options.

func (TxtRecord) ElementType added in v3.31.1

func (TxtRecord) ElementType() reflect.Type

func (TxtRecord) ToTxtRecordOutput added in v3.31.1

func (i TxtRecord) ToTxtRecordOutput() TxtRecordOutput

func (TxtRecord) ToTxtRecordOutputWithContext added in v3.31.1

func (i TxtRecord) ToTxtRecordOutputWithContext(ctx context.Context) TxtRecordOutput

type TxtRecordArgs

type TxtRecordArgs struct {
	// The name of the DNS TXT Record.
	Name pulumi.StringPtrInput
	// A list of values that make up the txt record. Each `record` block supports fields documented below.
	Records TxtRecordRecordArrayInput
	// Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The Time To Live (TTL) of the DNS record in seconds.
	Ttl pulumi.IntInput
	// Specifies the DNS Zone where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.
	ZoneName pulumi.StringInput
}

The set of arguments for constructing a TxtRecord resource.

func (TxtRecordArgs) ElementType

func (TxtRecordArgs) ElementType() reflect.Type

type TxtRecordInput added in v3.31.1

type TxtRecordInput interface {
	pulumi.Input

	ToTxtRecordOutput() TxtRecordOutput
	ToTxtRecordOutputWithContext(ctx context.Context) TxtRecordOutput
}

type TxtRecordOutput added in v3.31.1

type TxtRecordOutput struct {
	*pulumi.OutputState
}

func (TxtRecordOutput) ElementType added in v3.31.1

func (TxtRecordOutput) ElementType() reflect.Type

func (TxtRecordOutput) ToTxtRecordOutput added in v3.31.1

func (o TxtRecordOutput) ToTxtRecordOutput() TxtRecordOutput

func (TxtRecordOutput) ToTxtRecordOutputWithContext added in v3.31.1

func (o TxtRecordOutput) ToTxtRecordOutputWithContext(ctx context.Context) TxtRecordOutput

type TxtRecordRecord

type TxtRecordRecord struct {
	// The value of the record. Max length: 1024 characters
	Value string `pulumi:"value"`
}

type TxtRecordRecordArgs

type TxtRecordRecordArgs struct {
	// The value of the record. Max length: 1024 characters
	Value pulumi.StringInput `pulumi:"value"`
}

func (TxtRecordRecordArgs) ElementType

func (TxtRecordRecordArgs) ElementType() reflect.Type

func (TxtRecordRecordArgs) ToTxtRecordRecordOutput

func (i TxtRecordRecordArgs) ToTxtRecordRecordOutput() TxtRecordRecordOutput

func (TxtRecordRecordArgs) ToTxtRecordRecordOutputWithContext

func (i TxtRecordRecordArgs) ToTxtRecordRecordOutputWithContext(ctx context.Context) TxtRecordRecordOutput

type TxtRecordRecordArray

type TxtRecordRecordArray []TxtRecordRecordInput

func (TxtRecordRecordArray) ElementType

func (TxtRecordRecordArray) ElementType() reflect.Type

func (TxtRecordRecordArray) ToTxtRecordRecordArrayOutput

func (i TxtRecordRecordArray) ToTxtRecordRecordArrayOutput() TxtRecordRecordArrayOutput

func (TxtRecordRecordArray) ToTxtRecordRecordArrayOutputWithContext

func (i TxtRecordRecordArray) ToTxtRecordRecordArrayOutputWithContext(ctx context.Context) TxtRecordRecordArrayOutput

type TxtRecordRecordArrayInput

type TxtRecordRecordArrayInput interface {
	pulumi.Input

	ToTxtRecordRecordArrayOutput() TxtRecordRecordArrayOutput
	ToTxtRecordRecordArrayOutputWithContext(context.Context) TxtRecordRecordArrayOutput
}

TxtRecordRecordArrayInput is an input type that accepts TxtRecordRecordArray and TxtRecordRecordArrayOutput values. You can construct a concrete instance of `TxtRecordRecordArrayInput` via:

TxtRecordRecordArray{ TxtRecordRecordArgs{...} }

type TxtRecordRecordArrayOutput

type TxtRecordRecordArrayOutput struct{ *pulumi.OutputState }

func (TxtRecordRecordArrayOutput) ElementType

func (TxtRecordRecordArrayOutput) ElementType() reflect.Type

func (TxtRecordRecordArrayOutput) Index

func (TxtRecordRecordArrayOutput) ToTxtRecordRecordArrayOutput

func (o TxtRecordRecordArrayOutput) ToTxtRecordRecordArrayOutput() TxtRecordRecordArrayOutput

func (TxtRecordRecordArrayOutput) ToTxtRecordRecordArrayOutputWithContext

func (o TxtRecordRecordArrayOutput) ToTxtRecordRecordArrayOutputWithContext(ctx context.Context) TxtRecordRecordArrayOutput

type TxtRecordRecordInput

type TxtRecordRecordInput interface {
	pulumi.Input

	ToTxtRecordRecordOutput() TxtRecordRecordOutput
	ToTxtRecordRecordOutputWithContext(context.Context) TxtRecordRecordOutput
}

TxtRecordRecordInput is an input type that accepts TxtRecordRecordArgs and TxtRecordRecordOutput values. You can construct a concrete instance of `TxtRecordRecordInput` via:

TxtRecordRecordArgs{...}

type TxtRecordRecordOutput

type TxtRecordRecordOutput struct{ *pulumi.OutputState }

func (TxtRecordRecordOutput) ElementType

func (TxtRecordRecordOutput) ElementType() reflect.Type

func (TxtRecordRecordOutput) ToTxtRecordRecordOutput

func (o TxtRecordRecordOutput) ToTxtRecordRecordOutput() TxtRecordRecordOutput

func (TxtRecordRecordOutput) ToTxtRecordRecordOutputWithContext

func (o TxtRecordRecordOutput) ToTxtRecordRecordOutputWithContext(ctx context.Context) TxtRecordRecordOutput

func (TxtRecordRecordOutput) Value

The value of the record. Max length: 1024 characters

type TxtRecordState

type TxtRecordState struct {
	// The FQDN of the DNS TXT Record.
	Fqdn pulumi.StringPtrInput
	// The name of the DNS TXT Record.
	Name pulumi.StringPtrInput
	// A list of values that make up the txt record. Each `record` block supports fields documented below.
	Records TxtRecordRecordArrayInput
	// Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The Time To Live (TTL) of the DNS record in seconds.
	Ttl pulumi.IntPtrInput
	// Specifies the DNS Zone where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.
	ZoneName pulumi.StringPtrInput
}

func (TxtRecordState) ElementType

func (TxtRecordState) ElementType() reflect.Type

type Zone

type Zone struct {
	pulumi.CustomResourceState

	// (Optional) Maximum number of Records in the zone. Defaults to `1000`.
	MaxNumberOfRecordSets pulumi.IntOutput `pulumi:"maxNumberOfRecordSets"`
	// The name of the DNS Zone. Must be a valid domain name.
	Name pulumi.StringOutput `pulumi:"name"`
	// (Optional) A list of values that make up the NS record for the zone.
	NameServers pulumi.StringArrayOutput `pulumi:"nameServers"`
	// (Optional) The number of records already in the zone.
	NumberOfRecordSets pulumi.IntOutput `pulumi:"numberOfRecordSets"`
	// Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// An `soaRecord` block as defined below. Changing this forces a new resource to be created.
	SoaRecord ZoneSoaRecordOutput `pulumi:"soaRecord"`
	// A mapping of tags to assign to the Record Set.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

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

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/dns"
"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/privatedns"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		_, err = dns.NewZone(ctx, "example_public", &dns.ZoneArgs{
			ResourceGroupName: example.Name,
		})
		if err != nil {
			return err
		}
		_, err = privatedns.NewZone(ctx, "example_private", &privatedns.ZoneArgs{
			ResourceGroupName: example.Name,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

DNS Zones can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:dns/zone:Zone zone1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/dnszones/zone1

```

func GetZone

func GetZone(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ZoneState, opts ...pulumi.ResourceOption) (*Zone, error)

GetZone gets an existing Zone resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewZone

func NewZone(ctx *pulumi.Context,
	name string, args *ZoneArgs, opts ...pulumi.ResourceOption) (*Zone, error)

NewZone registers a new resource with the given unique name, arguments, and options.

func (Zone) ElementType added in v3.31.1

func (Zone) ElementType() reflect.Type

func (Zone) ToZoneOutput added in v3.31.1

func (i Zone) ToZoneOutput() ZoneOutput

func (Zone) ToZoneOutputWithContext added in v3.31.1

func (i Zone) ToZoneOutputWithContext(ctx context.Context) ZoneOutput

type ZoneArgs

type ZoneArgs struct {
	// The name of the DNS Zone. Must be a valid domain name.
	Name pulumi.StringPtrInput
	// Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// An `soaRecord` block as defined below. Changing this forces a new resource to be created.
	SoaRecord ZoneSoaRecordPtrInput
	// A mapping of tags to assign to the Record Set.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a Zone resource.

func (ZoneArgs) ElementType

func (ZoneArgs) ElementType() reflect.Type

type ZoneInput added in v3.31.1

type ZoneInput interface {
	pulumi.Input

	ToZoneOutput() ZoneOutput
	ToZoneOutputWithContext(ctx context.Context) ZoneOutput
}

type ZoneOutput added in v3.31.1

type ZoneOutput struct {
	*pulumi.OutputState
}

func (ZoneOutput) ElementType added in v3.31.1

func (ZoneOutput) ElementType() reflect.Type

func (ZoneOutput) ToZoneOutput added in v3.31.1

func (o ZoneOutput) ToZoneOutput() ZoneOutput

func (ZoneOutput) ToZoneOutputWithContext added in v3.31.1

func (o ZoneOutput) ToZoneOutputWithContext(ctx context.Context) ZoneOutput

type ZoneSoaRecord added in v3.32.0

type ZoneSoaRecord struct {
	// The email contact for the SOA record.
	Email string `pulumi:"email"`
	// The expire time for the SOA record. Defaults to `2419200`.
	ExpireTime *int `pulumi:"expireTime"`
	// The fully qualified domain name of the Record Set.
	Fqdn *string `pulumi:"fqdn"`
	// The domain name of the authoritative name server for the SOA record. Defaults to `ns1-03.azure-dns.com.`.
	HostName string `pulumi:"hostName"`
	// The minimum Time To Live for the SOA record. By convention, it is used to determine the negative caching duration. Defaults to `300`.
	MinimumTtl *int `pulumi:"minimumTtl"`
	// The refresh time for the SOA record. Defaults to `3600`.
	RefreshTime *int `pulumi:"refreshTime"`
	// The retry time for the SOA record. Defaults to `300`.
	RetryTime *int `pulumi:"retryTime"`
	// The serial number for the SOA record. Defaults to `1`.
	SerialNumber *int `pulumi:"serialNumber"`
	// A mapping of tags to assign to the Record Set.
	Tags map[string]string `pulumi:"tags"`
	// The Time To Live of the SOA Record in seconds. Defaults to `3600`.
	Ttl *int `pulumi:"ttl"`
}

type ZoneSoaRecordArgs added in v3.32.0

type ZoneSoaRecordArgs struct {
	// The email contact for the SOA record.
	Email pulumi.StringInput `pulumi:"email"`
	// The expire time for the SOA record. Defaults to `2419200`.
	ExpireTime pulumi.IntPtrInput `pulumi:"expireTime"`
	// The fully qualified domain name of the Record Set.
	Fqdn pulumi.StringPtrInput `pulumi:"fqdn"`
	// The domain name of the authoritative name server for the SOA record. Defaults to `ns1-03.azure-dns.com.`.
	HostName pulumi.StringInput `pulumi:"hostName"`
	// The minimum Time To Live for the SOA record. By convention, it is used to determine the negative caching duration. Defaults to `300`.
	MinimumTtl pulumi.IntPtrInput `pulumi:"minimumTtl"`
	// The refresh time for the SOA record. Defaults to `3600`.
	RefreshTime pulumi.IntPtrInput `pulumi:"refreshTime"`
	// The retry time for the SOA record. Defaults to `300`.
	RetryTime pulumi.IntPtrInput `pulumi:"retryTime"`
	// The serial number for the SOA record. Defaults to `1`.
	SerialNumber pulumi.IntPtrInput `pulumi:"serialNumber"`
	// A mapping of tags to assign to the Record Set.
	Tags pulumi.StringMapInput `pulumi:"tags"`
	// The Time To Live of the SOA Record in seconds. Defaults to `3600`.
	Ttl pulumi.IntPtrInput `pulumi:"ttl"`
}

func (ZoneSoaRecordArgs) ElementType added in v3.32.0

func (ZoneSoaRecordArgs) ElementType() reflect.Type

func (ZoneSoaRecordArgs) ToZoneSoaRecordOutput added in v3.32.0

func (i ZoneSoaRecordArgs) ToZoneSoaRecordOutput() ZoneSoaRecordOutput

func (ZoneSoaRecordArgs) ToZoneSoaRecordOutputWithContext added in v3.32.0

func (i ZoneSoaRecordArgs) ToZoneSoaRecordOutputWithContext(ctx context.Context) ZoneSoaRecordOutput

func (ZoneSoaRecordArgs) ToZoneSoaRecordPtrOutput added in v3.32.0

func (i ZoneSoaRecordArgs) ToZoneSoaRecordPtrOutput() ZoneSoaRecordPtrOutput

func (ZoneSoaRecordArgs) ToZoneSoaRecordPtrOutputWithContext added in v3.32.0

func (i ZoneSoaRecordArgs) ToZoneSoaRecordPtrOutputWithContext(ctx context.Context) ZoneSoaRecordPtrOutput

type ZoneSoaRecordInput added in v3.32.0

type ZoneSoaRecordInput interface {
	pulumi.Input

	ToZoneSoaRecordOutput() ZoneSoaRecordOutput
	ToZoneSoaRecordOutputWithContext(context.Context) ZoneSoaRecordOutput
}

ZoneSoaRecordInput is an input type that accepts ZoneSoaRecordArgs and ZoneSoaRecordOutput values. You can construct a concrete instance of `ZoneSoaRecordInput` via:

ZoneSoaRecordArgs{...}

type ZoneSoaRecordOutput added in v3.32.0

type ZoneSoaRecordOutput struct{ *pulumi.OutputState }

func (ZoneSoaRecordOutput) ElementType added in v3.32.0

func (ZoneSoaRecordOutput) ElementType() reflect.Type

func (ZoneSoaRecordOutput) Email added in v3.32.0

The email contact for the SOA record.

func (ZoneSoaRecordOutput) ExpireTime added in v3.32.0

func (o ZoneSoaRecordOutput) ExpireTime() pulumi.IntPtrOutput

The expire time for the SOA record. Defaults to `2419200`.

func (ZoneSoaRecordOutput) Fqdn added in v3.32.0

The fully qualified domain name of the Record Set.

func (ZoneSoaRecordOutput) HostName added in v3.32.0

The domain name of the authoritative name server for the SOA record. Defaults to `ns1-03.azure-dns.com.`.

func (ZoneSoaRecordOutput) MinimumTtl added in v3.32.0

func (o ZoneSoaRecordOutput) MinimumTtl() pulumi.IntPtrOutput

The minimum Time To Live for the SOA record. By convention, it is used to determine the negative caching duration. Defaults to `300`.

func (ZoneSoaRecordOutput) RefreshTime added in v3.32.0

func (o ZoneSoaRecordOutput) RefreshTime() pulumi.IntPtrOutput

The refresh time for the SOA record. Defaults to `3600`.

func (ZoneSoaRecordOutput) RetryTime added in v3.32.0

func (o ZoneSoaRecordOutput) RetryTime() pulumi.IntPtrOutput

The retry time for the SOA record. Defaults to `300`.

func (ZoneSoaRecordOutput) SerialNumber added in v3.32.0

func (o ZoneSoaRecordOutput) SerialNumber() pulumi.IntPtrOutput

The serial number for the SOA record. Defaults to `1`.

func (ZoneSoaRecordOutput) Tags added in v3.32.0

A mapping of tags to assign to the Record Set.

func (ZoneSoaRecordOutput) ToZoneSoaRecordOutput added in v3.32.0

func (o ZoneSoaRecordOutput) ToZoneSoaRecordOutput() ZoneSoaRecordOutput

func (ZoneSoaRecordOutput) ToZoneSoaRecordOutputWithContext added in v3.32.0

func (o ZoneSoaRecordOutput) ToZoneSoaRecordOutputWithContext(ctx context.Context) ZoneSoaRecordOutput

func (ZoneSoaRecordOutput) ToZoneSoaRecordPtrOutput added in v3.32.0

func (o ZoneSoaRecordOutput) ToZoneSoaRecordPtrOutput() ZoneSoaRecordPtrOutput

func (ZoneSoaRecordOutput) ToZoneSoaRecordPtrOutputWithContext added in v3.32.0

func (o ZoneSoaRecordOutput) ToZoneSoaRecordPtrOutputWithContext(ctx context.Context) ZoneSoaRecordPtrOutput

func (ZoneSoaRecordOutput) Ttl added in v3.32.0

The Time To Live of the SOA Record in seconds. Defaults to `3600`.

type ZoneSoaRecordPtrInput added in v3.32.0

type ZoneSoaRecordPtrInput interface {
	pulumi.Input

	ToZoneSoaRecordPtrOutput() ZoneSoaRecordPtrOutput
	ToZoneSoaRecordPtrOutputWithContext(context.Context) ZoneSoaRecordPtrOutput
}

ZoneSoaRecordPtrInput is an input type that accepts ZoneSoaRecordArgs, ZoneSoaRecordPtr and ZoneSoaRecordPtrOutput values. You can construct a concrete instance of `ZoneSoaRecordPtrInput` via:

        ZoneSoaRecordArgs{...}

or:

        nil

func ZoneSoaRecordPtr added in v3.32.0

func ZoneSoaRecordPtr(v *ZoneSoaRecordArgs) ZoneSoaRecordPtrInput

type ZoneSoaRecordPtrOutput added in v3.32.0

type ZoneSoaRecordPtrOutput struct{ *pulumi.OutputState }

func (ZoneSoaRecordPtrOutput) Elem added in v3.32.0

func (ZoneSoaRecordPtrOutput) ElementType added in v3.32.0

func (ZoneSoaRecordPtrOutput) ElementType() reflect.Type

func (ZoneSoaRecordPtrOutput) Email added in v3.32.0

The email contact for the SOA record.

func (ZoneSoaRecordPtrOutput) ExpireTime added in v3.32.0

The expire time for the SOA record. Defaults to `2419200`.

func (ZoneSoaRecordPtrOutput) Fqdn added in v3.32.0

The fully qualified domain name of the Record Set.

func (ZoneSoaRecordPtrOutput) HostName added in v3.32.0

The domain name of the authoritative name server for the SOA record. Defaults to `ns1-03.azure-dns.com.`.

func (ZoneSoaRecordPtrOutput) MinimumTtl added in v3.32.0

The minimum Time To Live for the SOA record. By convention, it is used to determine the negative caching duration. Defaults to `300`.

func (ZoneSoaRecordPtrOutput) RefreshTime added in v3.32.0

func (o ZoneSoaRecordPtrOutput) RefreshTime() pulumi.IntPtrOutput

The refresh time for the SOA record. Defaults to `3600`.

func (ZoneSoaRecordPtrOutput) RetryTime added in v3.32.0

The retry time for the SOA record. Defaults to `300`.

func (ZoneSoaRecordPtrOutput) SerialNumber added in v3.32.0

func (o ZoneSoaRecordPtrOutput) SerialNumber() pulumi.IntPtrOutput

The serial number for the SOA record. Defaults to `1`.

func (ZoneSoaRecordPtrOutput) Tags added in v3.32.0

A mapping of tags to assign to the Record Set.

func (ZoneSoaRecordPtrOutput) ToZoneSoaRecordPtrOutput added in v3.32.0

func (o ZoneSoaRecordPtrOutput) ToZoneSoaRecordPtrOutput() ZoneSoaRecordPtrOutput

func (ZoneSoaRecordPtrOutput) ToZoneSoaRecordPtrOutputWithContext added in v3.32.0

func (o ZoneSoaRecordPtrOutput) ToZoneSoaRecordPtrOutputWithContext(ctx context.Context) ZoneSoaRecordPtrOutput

func (ZoneSoaRecordPtrOutput) Ttl added in v3.32.0

The Time To Live of the SOA Record in seconds. Defaults to `3600`.

type ZoneState

type ZoneState struct {
	// (Optional) Maximum number of Records in the zone. Defaults to `1000`.
	MaxNumberOfRecordSets pulumi.IntPtrInput
	// The name of the DNS Zone. Must be a valid domain name.
	Name pulumi.StringPtrInput
	// (Optional) A list of values that make up the NS record for the zone.
	NameServers pulumi.StringArrayInput
	// (Optional) The number of records already in the zone.
	NumberOfRecordSets pulumi.IntPtrInput
	// Specifies the resource group where the resource exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// An `soaRecord` block as defined below. Changing this forces a new resource to be created.
	SoaRecord ZoneSoaRecordPtrInput
	// A mapping of tags to assign to the Record Set.
	Tags pulumi.StringMapInput
}

func (ZoneState) ElementType

func (ZoneState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL