dns

package
v4.42.0 Latest Latest
Warning

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

Go to latest
Published: Mar 15, 2022 License: Apache-2.0 Imports: 7 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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/dns"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/network"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		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

func (*ARecord) ElementType() reflect.Type

func (*ARecord) ToARecordOutput

func (i *ARecord) ToARecordOutput() ARecordOutput

func (*ARecord) ToARecordOutputWithContext

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 ARecordArray

type ARecordArray []ARecordInput

func (ARecordArray) ElementType

func (ARecordArray) ElementType() reflect.Type

func (ARecordArray) ToARecordArrayOutput

func (i ARecordArray) ToARecordArrayOutput() ARecordArrayOutput

func (ARecordArray) ToARecordArrayOutputWithContext

func (i ARecordArray) ToARecordArrayOutputWithContext(ctx context.Context) ARecordArrayOutput

type ARecordArrayInput

type ARecordArrayInput interface {
	pulumi.Input

	ToARecordArrayOutput() ARecordArrayOutput
	ToARecordArrayOutputWithContext(context.Context) ARecordArrayOutput
}

ARecordArrayInput is an input type that accepts ARecordArray and ARecordArrayOutput values. You can construct a concrete instance of `ARecordArrayInput` via:

ARecordArray{ ARecordArgs{...} }

type ARecordArrayOutput

type ARecordArrayOutput struct{ *pulumi.OutputState }

func (ARecordArrayOutput) ElementType

func (ARecordArrayOutput) ElementType() reflect.Type

func (ARecordArrayOutput) Index

func (ARecordArrayOutput) ToARecordArrayOutput

func (o ARecordArrayOutput) ToARecordArrayOutput() ARecordArrayOutput

func (ARecordArrayOutput) ToARecordArrayOutputWithContext

func (o ARecordArrayOutput) ToARecordArrayOutputWithContext(ctx context.Context) ARecordArrayOutput

type ARecordInput

type ARecordInput interface {
	pulumi.Input

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

type ARecordMap

type ARecordMap map[string]ARecordInput

func (ARecordMap) ElementType

func (ARecordMap) ElementType() reflect.Type

func (ARecordMap) ToARecordMapOutput

func (i ARecordMap) ToARecordMapOutput() ARecordMapOutput

func (ARecordMap) ToARecordMapOutputWithContext

func (i ARecordMap) ToARecordMapOutputWithContext(ctx context.Context) ARecordMapOutput

type ARecordMapInput

type ARecordMapInput interface {
	pulumi.Input

	ToARecordMapOutput() ARecordMapOutput
	ToARecordMapOutputWithContext(context.Context) ARecordMapOutput
}

ARecordMapInput is an input type that accepts ARecordMap and ARecordMapOutput values. You can construct a concrete instance of `ARecordMapInput` via:

ARecordMap{ "key": ARecordArgs{...} }

type ARecordMapOutput

type ARecordMapOutput struct{ *pulumi.OutputState }

func (ARecordMapOutput) ElementType

func (ARecordMapOutput) ElementType() reflect.Type

func (ARecordMapOutput) MapIndex

func (ARecordMapOutput) ToARecordMapOutput

func (o ARecordMapOutput) ToARecordMapOutput() ARecordMapOutput

func (ARecordMapOutput) ToARecordMapOutputWithContext

func (o ARecordMapOutput) ToARecordMapOutputWithContext(ctx context.Context) ARecordMapOutput

type ARecordOutput

type ARecordOutput struct{ *pulumi.OutputState }

func (ARecordOutput) ElementType

func (ARecordOutput) ElementType() reflect.Type

func (ARecordOutput) ToARecordOutput

func (o ARecordOutput) ToARecordOutput() ARecordOutput

func (ARecordOutput) ToARecordOutputWithContext

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 IPv6 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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		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),
			Records: pulumi.StringArray{
				pulumi.String("2001:db8::1:0:0:1"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Alias Record)

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		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

func (*AaaaRecord) ElementType() reflect.Type

func (*AaaaRecord) ToAaaaRecordOutput

func (i *AaaaRecord) ToAaaaRecordOutput() AaaaRecordOutput

func (*AaaaRecord) ToAaaaRecordOutputWithContext

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 IPv6 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 AaaaRecordArray

type AaaaRecordArray []AaaaRecordInput

func (AaaaRecordArray) ElementType

func (AaaaRecordArray) ElementType() reflect.Type

func (AaaaRecordArray) ToAaaaRecordArrayOutput

func (i AaaaRecordArray) ToAaaaRecordArrayOutput() AaaaRecordArrayOutput

func (AaaaRecordArray) ToAaaaRecordArrayOutputWithContext

func (i AaaaRecordArray) ToAaaaRecordArrayOutputWithContext(ctx context.Context) AaaaRecordArrayOutput

type AaaaRecordArrayInput

type AaaaRecordArrayInput interface {
	pulumi.Input

	ToAaaaRecordArrayOutput() AaaaRecordArrayOutput
	ToAaaaRecordArrayOutputWithContext(context.Context) AaaaRecordArrayOutput
}

AaaaRecordArrayInput is an input type that accepts AaaaRecordArray and AaaaRecordArrayOutput values. You can construct a concrete instance of `AaaaRecordArrayInput` via:

AaaaRecordArray{ AaaaRecordArgs{...} }

type AaaaRecordArrayOutput

type AaaaRecordArrayOutput struct{ *pulumi.OutputState }

func (AaaaRecordArrayOutput) ElementType

func (AaaaRecordArrayOutput) ElementType() reflect.Type

func (AaaaRecordArrayOutput) Index

func (AaaaRecordArrayOutput) ToAaaaRecordArrayOutput

func (o AaaaRecordArrayOutput) ToAaaaRecordArrayOutput() AaaaRecordArrayOutput

func (AaaaRecordArrayOutput) ToAaaaRecordArrayOutputWithContext

func (o AaaaRecordArrayOutput) ToAaaaRecordArrayOutputWithContext(ctx context.Context) AaaaRecordArrayOutput

type AaaaRecordInput

type AaaaRecordInput interface {
	pulumi.Input

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

type AaaaRecordMap

type AaaaRecordMap map[string]AaaaRecordInput

func (AaaaRecordMap) ElementType

func (AaaaRecordMap) ElementType() reflect.Type

func (AaaaRecordMap) ToAaaaRecordMapOutput

func (i AaaaRecordMap) ToAaaaRecordMapOutput() AaaaRecordMapOutput

func (AaaaRecordMap) ToAaaaRecordMapOutputWithContext

func (i AaaaRecordMap) ToAaaaRecordMapOutputWithContext(ctx context.Context) AaaaRecordMapOutput

type AaaaRecordMapInput

type AaaaRecordMapInput interface {
	pulumi.Input

	ToAaaaRecordMapOutput() AaaaRecordMapOutput
	ToAaaaRecordMapOutputWithContext(context.Context) AaaaRecordMapOutput
}

AaaaRecordMapInput is an input type that accepts AaaaRecordMap and AaaaRecordMapOutput values. You can construct a concrete instance of `AaaaRecordMapInput` via:

AaaaRecordMap{ "key": AaaaRecordArgs{...} }

type AaaaRecordMapOutput

type AaaaRecordMapOutput struct{ *pulumi.OutputState }

func (AaaaRecordMapOutput) ElementType

func (AaaaRecordMapOutput) ElementType() reflect.Type

func (AaaaRecordMapOutput) MapIndex

func (AaaaRecordMapOutput) ToAaaaRecordMapOutput

func (o AaaaRecordMapOutput) ToAaaaRecordMapOutput() AaaaRecordMapOutput

func (AaaaRecordMapOutput) ToAaaaRecordMapOutputWithContext

func (o AaaaRecordMapOutput) ToAaaaRecordMapOutputWithContext(ctx context.Context) AaaaRecordMapOutput

type AaaaRecordOutput

type AaaaRecordOutput struct{ *pulumi.OutputState }

func (AaaaRecordOutput) ElementType

func (AaaaRecordOutput) ElementType() reflect.Type

func (AaaaRecordOutput) ToAaaaRecordOutput

func (o AaaaRecordOutput) ToAaaaRecordOutput() AaaaRecordOutput

func (AaaaRecordOutput) ToAaaaRecordOutputWithContext

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 IPv6 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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		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

func (*CNameRecord) ElementType() reflect.Type

func (*CNameRecord) ToCNameRecordOutput

func (i *CNameRecord) ToCNameRecordOutput() CNameRecordOutput

func (*CNameRecord) ToCNameRecordOutputWithContext

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 CNameRecordArray

type CNameRecordArray []CNameRecordInput

func (CNameRecordArray) ElementType

func (CNameRecordArray) ElementType() reflect.Type

func (CNameRecordArray) ToCNameRecordArrayOutput

func (i CNameRecordArray) ToCNameRecordArrayOutput() CNameRecordArrayOutput

func (CNameRecordArray) ToCNameRecordArrayOutputWithContext

func (i CNameRecordArray) ToCNameRecordArrayOutputWithContext(ctx context.Context) CNameRecordArrayOutput

type CNameRecordArrayInput

type CNameRecordArrayInput interface {
	pulumi.Input

	ToCNameRecordArrayOutput() CNameRecordArrayOutput
	ToCNameRecordArrayOutputWithContext(context.Context) CNameRecordArrayOutput
}

CNameRecordArrayInput is an input type that accepts CNameRecordArray and CNameRecordArrayOutput values. You can construct a concrete instance of `CNameRecordArrayInput` via:

CNameRecordArray{ CNameRecordArgs{...} }

type CNameRecordArrayOutput

type CNameRecordArrayOutput struct{ *pulumi.OutputState }

func (CNameRecordArrayOutput) ElementType

func (CNameRecordArrayOutput) ElementType() reflect.Type

func (CNameRecordArrayOutput) Index

func (CNameRecordArrayOutput) ToCNameRecordArrayOutput

func (o CNameRecordArrayOutput) ToCNameRecordArrayOutput() CNameRecordArrayOutput

func (CNameRecordArrayOutput) ToCNameRecordArrayOutputWithContext

func (o CNameRecordArrayOutput) ToCNameRecordArrayOutputWithContext(ctx context.Context) CNameRecordArrayOutput

type CNameRecordInput

type CNameRecordInput interface {
	pulumi.Input

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

type CNameRecordMap

type CNameRecordMap map[string]CNameRecordInput

func (CNameRecordMap) ElementType

func (CNameRecordMap) ElementType() reflect.Type

func (CNameRecordMap) ToCNameRecordMapOutput

func (i CNameRecordMap) ToCNameRecordMapOutput() CNameRecordMapOutput

func (CNameRecordMap) ToCNameRecordMapOutputWithContext

func (i CNameRecordMap) ToCNameRecordMapOutputWithContext(ctx context.Context) CNameRecordMapOutput

type CNameRecordMapInput

type CNameRecordMapInput interface {
	pulumi.Input

	ToCNameRecordMapOutput() CNameRecordMapOutput
	ToCNameRecordMapOutputWithContext(context.Context) CNameRecordMapOutput
}

CNameRecordMapInput is an input type that accepts CNameRecordMap and CNameRecordMapOutput values. You can construct a concrete instance of `CNameRecordMapInput` via:

CNameRecordMap{ "key": CNameRecordArgs{...} }

type CNameRecordMapOutput

type CNameRecordMapOutput struct{ *pulumi.OutputState }

func (CNameRecordMapOutput) ElementType

func (CNameRecordMapOutput) ElementType() reflect.Type

func (CNameRecordMapOutput) MapIndex

func (CNameRecordMapOutput) ToCNameRecordMapOutput

func (o CNameRecordMapOutput) ToCNameRecordMapOutput() CNameRecordMapOutput

func (CNameRecordMapOutput) ToCNameRecordMapOutputWithContext

func (o CNameRecordMapOutput) ToCNameRecordMapOutputWithContext(ctx context.Context) CNameRecordMapOutput

type CNameRecordOutput

type CNameRecordOutput struct{ *pulumi.OutputState }

func (CNameRecordOutput) ElementType

func (CNameRecordOutput) ElementType() reflect.Type

func (CNameRecordOutput) ToCNameRecordOutput

func (o CNameRecordOutput) ToCNameRecordOutput() CNameRecordOutput

func (CNameRecordOutput) ToCNameRecordOutputWithContext

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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		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

func (*CaaRecord) ElementType() reflect.Type

func (*CaaRecord) ToCaaRecordOutput

func (i *CaaRecord) ToCaaRecordOutput() CaaRecordOutput

func (*CaaRecord) ToCaaRecordOutputWithContext

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 CaaRecordArray

type CaaRecordArray []CaaRecordInput

func (CaaRecordArray) ElementType

func (CaaRecordArray) ElementType() reflect.Type

func (CaaRecordArray) ToCaaRecordArrayOutput

func (i CaaRecordArray) ToCaaRecordArrayOutput() CaaRecordArrayOutput

func (CaaRecordArray) ToCaaRecordArrayOutputWithContext

func (i CaaRecordArray) ToCaaRecordArrayOutputWithContext(ctx context.Context) CaaRecordArrayOutput

type CaaRecordArrayInput

type CaaRecordArrayInput interface {
	pulumi.Input

	ToCaaRecordArrayOutput() CaaRecordArrayOutput
	ToCaaRecordArrayOutputWithContext(context.Context) CaaRecordArrayOutput
}

CaaRecordArrayInput is an input type that accepts CaaRecordArray and CaaRecordArrayOutput values. You can construct a concrete instance of `CaaRecordArrayInput` via:

CaaRecordArray{ CaaRecordArgs{...} }

type CaaRecordArrayOutput

type CaaRecordArrayOutput struct{ *pulumi.OutputState }

func (CaaRecordArrayOutput) ElementType

func (CaaRecordArrayOutput) ElementType() reflect.Type

func (CaaRecordArrayOutput) Index

func (CaaRecordArrayOutput) ToCaaRecordArrayOutput

func (o CaaRecordArrayOutput) ToCaaRecordArrayOutput() CaaRecordArrayOutput

func (CaaRecordArrayOutput) ToCaaRecordArrayOutputWithContext

func (o CaaRecordArrayOutput) ToCaaRecordArrayOutputWithContext(ctx context.Context) CaaRecordArrayOutput

type CaaRecordInput

type CaaRecordInput interface {
	pulumi.Input

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

type CaaRecordMap

type CaaRecordMap map[string]CaaRecordInput

func (CaaRecordMap) ElementType

func (CaaRecordMap) ElementType() reflect.Type

func (CaaRecordMap) ToCaaRecordMapOutput

func (i CaaRecordMap) ToCaaRecordMapOutput() CaaRecordMapOutput

func (CaaRecordMap) ToCaaRecordMapOutputWithContext

func (i CaaRecordMap) ToCaaRecordMapOutputWithContext(ctx context.Context) CaaRecordMapOutput

type CaaRecordMapInput

type CaaRecordMapInput interface {
	pulumi.Input

	ToCaaRecordMapOutput() CaaRecordMapOutput
	ToCaaRecordMapOutputWithContext(context.Context) CaaRecordMapOutput
}

CaaRecordMapInput is an input type that accepts CaaRecordMap and CaaRecordMapOutput values. You can construct a concrete instance of `CaaRecordMapInput` via:

CaaRecordMap{ "key": CaaRecordArgs{...} }

type CaaRecordMapOutput

type CaaRecordMapOutput struct{ *pulumi.OutputState }

func (CaaRecordMapOutput) ElementType

func (CaaRecordMapOutput) ElementType() reflect.Type

func (CaaRecordMapOutput) MapIndex

func (CaaRecordMapOutput) ToCaaRecordMapOutput

func (o CaaRecordMapOutput) ToCaaRecordMapOutput() CaaRecordMapOutput

func (CaaRecordMapOutput) ToCaaRecordMapOutputWithContext

func (o CaaRecordMapOutput) ToCaaRecordMapOutputWithContext(ctx context.Context) CaaRecordMapOutput

type CaaRecordOutput

type CaaRecordOutput struct{ *pulumi.OutputState }

func (CaaRecordOutput) ElementType

func (CaaRecordOutput) ElementType() reflect.Type

func (CaaRecordOutput) ToCaaRecordOutput

func (o CaaRecordOutput) ToCaaRecordOutput() CaaRecordOutput

func (CaaRecordOutput) ToCaaRecordOutputWithContext

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 LookupZoneOutputArgs added in v4.20.0

type LookupZoneOutputArgs struct {
	// The name of the DNS Zone.
	Name pulumi.StringInput `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 pulumi.StringPtrInput `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getZone.

func (LookupZoneOutputArgs) ElementType added in v4.20.0

func (LookupZoneOutputArgs) ElementType() reflect.Type

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/v4/go/azure/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```

type LookupZoneResultOutput added in v4.20.0

type LookupZoneResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getZone.

func LookupZoneOutput added in v4.20.0

func LookupZoneOutput(ctx *pulumi.Context, args LookupZoneOutputArgs, opts ...pulumi.InvokeOption) LookupZoneResultOutput

func (LookupZoneResultOutput) ElementType added in v4.20.0

func (LookupZoneResultOutput) ElementType() reflect.Type

func (LookupZoneResultOutput) Id added in v4.20.0

The provider-assigned unique ID for this managed resource.

func (LookupZoneResultOutput) MaxNumberOfRecordSets added in v4.20.0

func (o LookupZoneResultOutput) MaxNumberOfRecordSets() pulumi.IntOutput

Maximum number of Records in the zone.

func (LookupZoneResultOutput) Name added in v4.20.0

func (LookupZoneResultOutput) NameServers added in v4.20.0

A list of values that make up the NS record for the zone.

func (LookupZoneResultOutput) NumberOfRecordSets added in v4.20.0

func (o LookupZoneResultOutput) NumberOfRecordSets() pulumi.IntOutput

The number of records already in the zone.

func (LookupZoneResultOutput) ResourceGroupName added in v4.20.0

func (o LookupZoneResultOutput) ResourceGroupName() pulumi.StringOutput

func (LookupZoneResultOutput) Tags added in v4.20.0

A mapping of tags to assign to the EventHub Namespace.

func (LookupZoneResultOutput) ToLookupZoneResultOutput added in v4.20.0

func (o LookupZoneResultOutput) ToLookupZoneResultOutput() LookupZoneResultOutput

func (LookupZoneResultOutput) ToLookupZoneResultOutputWithContext added in v4.20.0

func (o LookupZoneResultOutput) ToLookupZoneResultOutputWithContext(ctx context.Context) LookupZoneResultOutput

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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		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

func (*MxRecord) ElementType() reflect.Type

func (*MxRecord) ToMxRecordOutput

func (i *MxRecord) ToMxRecordOutput() MxRecordOutput

func (*MxRecord) ToMxRecordOutputWithContext

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 MxRecordArray

type MxRecordArray []MxRecordInput

func (MxRecordArray) ElementType

func (MxRecordArray) ElementType() reflect.Type

func (MxRecordArray) ToMxRecordArrayOutput

func (i MxRecordArray) ToMxRecordArrayOutput() MxRecordArrayOutput

func (MxRecordArray) ToMxRecordArrayOutputWithContext

func (i MxRecordArray) ToMxRecordArrayOutputWithContext(ctx context.Context) MxRecordArrayOutput

type MxRecordArrayInput

type MxRecordArrayInput interface {
	pulumi.Input

	ToMxRecordArrayOutput() MxRecordArrayOutput
	ToMxRecordArrayOutputWithContext(context.Context) MxRecordArrayOutput
}

MxRecordArrayInput is an input type that accepts MxRecordArray and MxRecordArrayOutput values. You can construct a concrete instance of `MxRecordArrayInput` via:

MxRecordArray{ MxRecordArgs{...} }

type MxRecordArrayOutput

type MxRecordArrayOutput struct{ *pulumi.OutputState }

func (MxRecordArrayOutput) ElementType

func (MxRecordArrayOutput) ElementType() reflect.Type

func (MxRecordArrayOutput) Index

func (MxRecordArrayOutput) ToMxRecordArrayOutput

func (o MxRecordArrayOutput) ToMxRecordArrayOutput() MxRecordArrayOutput

func (MxRecordArrayOutput) ToMxRecordArrayOutputWithContext

func (o MxRecordArrayOutput) ToMxRecordArrayOutputWithContext(ctx context.Context) MxRecordArrayOutput

type MxRecordInput

type MxRecordInput interface {
	pulumi.Input

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

type MxRecordMap

type MxRecordMap map[string]MxRecordInput

func (MxRecordMap) ElementType

func (MxRecordMap) ElementType() reflect.Type

func (MxRecordMap) ToMxRecordMapOutput

func (i MxRecordMap) ToMxRecordMapOutput() MxRecordMapOutput

func (MxRecordMap) ToMxRecordMapOutputWithContext

func (i MxRecordMap) ToMxRecordMapOutputWithContext(ctx context.Context) MxRecordMapOutput

type MxRecordMapInput

type MxRecordMapInput interface {
	pulumi.Input

	ToMxRecordMapOutput() MxRecordMapOutput
	ToMxRecordMapOutputWithContext(context.Context) MxRecordMapOutput
}

MxRecordMapInput is an input type that accepts MxRecordMap and MxRecordMapOutput values. You can construct a concrete instance of `MxRecordMapInput` via:

MxRecordMap{ "key": MxRecordArgs{...} }

type MxRecordMapOutput

type MxRecordMapOutput struct{ *pulumi.OutputState }

func (MxRecordMapOutput) ElementType

func (MxRecordMapOutput) ElementType() reflect.Type

func (MxRecordMapOutput) MapIndex

func (MxRecordMapOutput) ToMxRecordMapOutput

func (o MxRecordMapOutput) ToMxRecordMapOutput() MxRecordMapOutput

func (MxRecordMapOutput) ToMxRecordMapOutputWithContext

func (o MxRecordMapOutput) ToMxRecordMapOutputWithContext(ctx context.Context) MxRecordMapOutput

type MxRecordOutput

type MxRecordOutput struct{ *pulumi.OutputState }

func (MxRecordOutput) ElementType

func (MxRecordOutput) ElementType() reflect.Type

func (MxRecordOutput) ToMxRecordOutput

func (o MxRecordOutput) ToMxRecordOutput() MxRecordOutput

func (MxRecordOutput) ToMxRecordOutputWithContext

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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		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

func (*NsRecord) ElementType() reflect.Type

func (*NsRecord) ToNsRecordOutput

func (i *NsRecord) ToNsRecordOutput() NsRecordOutput

func (*NsRecord) ToNsRecordOutputWithContext

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 NsRecordArray

type NsRecordArray []NsRecordInput

func (NsRecordArray) ElementType

func (NsRecordArray) ElementType() reflect.Type

func (NsRecordArray) ToNsRecordArrayOutput

func (i NsRecordArray) ToNsRecordArrayOutput() NsRecordArrayOutput

func (NsRecordArray) ToNsRecordArrayOutputWithContext

func (i NsRecordArray) ToNsRecordArrayOutputWithContext(ctx context.Context) NsRecordArrayOutput

type NsRecordArrayInput

type NsRecordArrayInput interface {
	pulumi.Input

	ToNsRecordArrayOutput() NsRecordArrayOutput
	ToNsRecordArrayOutputWithContext(context.Context) NsRecordArrayOutput
}

NsRecordArrayInput is an input type that accepts NsRecordArray and NsRecordArrayOutput values. You can construct a concrete instance of `NsRecordArrayInput` via:

NsRecordArray{ NsRecordArgs{...} }

type NsRecordArrayOutput

type NsRecordArrayOutput struct{ *pulumi.OutputState }

func (NsRecordArrayOutput) ElementType

func (NsRecordArrayOutput) ElementType() reflect.Type

func (NsRecordArrayOutput) Index

func (NsRecordArrayOutput) ToNsRecordArrayOutput

func (o NsRecordArrayOutput) ToNsRecordArrayOutput() NsRecordArrayOutput

func (NsRecordArrayOutput) ToNsRecordArrayOutputWithContext

func (o NsRecordArrayOutput) ToNsRecordArrayOutputWithContext(ctx context.Context) NsRecordArrayOutput

type NsRecordInput

type NsRecordInput interface {
	pulumi.Input

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

type NsRecordMap

type NsRecordMap map[string]NsRecordInput

func (NsRecordMap) ElementType

func (NsRecordMap) ElementType() reflect.Type

func (NsRecordMap) ToNsRecordMapOutput

func (i NsRecordMap) ToNsRecordMapOutput() NsRecordMapOutput

func (NsRecordMap) ToNsRecordMapOutputWithContext

func (i NsRecordMap) ToNsRecordMapOutputWithContext(ctx context.Context) NsRecordMapOutput

type NsRecordMapInput

type NsRecordMapInput interface {
	pulumi.Input

	ToNsRecordMapOutput() NsRecordMapOutput
	ToNsRecordMapOutputWithContext(context.Context) NsRecordMapOutput
}

NsRecordMapInput is an input type that accepts NsRecordMap and NsRecordMapOutput values. You can construct a concrete instance of `NsRecordMapInput` via:

NsRecordMap{ "key": NsRecordArgs{...} }

type NsRecordMapOutput

type NsRecordMapOutput struct{ *pulumi.OutputState }

func (NsRecordMapOutput) ElementType

func (NsRecordMapOutput) ElementType() reflect.Type

func (NsRecordMapOutput) MapIndex

func (NsRecordMapOutput) ToNsRecordMapOutput

func (o NsRecordMapOutput) ToNsRecordMapOutput() NsRecordMapOutput

func (NsRecordMapOutput) ToNsRecordMapOutputWithContext

func (o NsRecordMapOutput) ToNsRecordMapOutputWithContext(ctx context.Context) NsRecordMapOutput

type NsRecordOutput

type NsRecordOutput struct{ *pulumi.OutputState }

func (NsRecordOutput) ElementType

func (NsRecordOutput) ElementType() reflect.Type

func (NsRecordOutput) ToNsRecordOutput

func (o NsRecordOutput) ToNsRecordOutput() NsRecordOutput

func (NsRecordOutput) ToNsRecordOutputWithContext

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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		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

func (*PtrRecord) ElementType() reflect.Type

func (*PtrRecord) ToPtrRecordOutput

func (i *PtrRecord) ToPtrRecordOutput() PtrRecordOutput

func (*PtrRecord) ToPtrRecordOutputWithContext

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 PtrRecordArray

type PtrRecordArray []PtrRecordInput

func (PtrRecordArray) ElementType

func (PtrRecordArray) ElementType() reflect.Type

func (PtrRecordArray) ToPtrRecordArrayOutput

func (i PtrRecordArray) ToPtrRecordArrayOutput() PtrRecordArrayOutput

func (PtrRecordArray) ToPtrRecordArrayOutputWithContext

func (i PtrRecordArray) ToPtrRecordArrayOutputWithContext(ctx context.Context) PtrRecordArrayOutput

type PtrRecordArrayInput

type PtrRecordArrayInput interface {
	pulumi.Input

	ToPtrRecordArrayOutput() PtrRecordArrayOutput
	ToPtrRecordArrayOutputWithContext(context.Context) PtrRecordArrayOutput
}

PtrRecordArrayInput is an input type that accepts PtrRecordArray and PtrRecordArrayOutput values. You can construct a concrete instance of `PtrRecordArrayInput` via:

PtrRecordArray{ PtrRecordArgs{...} }

type PtrRecordArrayOutput

type PtrRecordArrayOutput struct{ *pulumi.OutputState }

func (PtrRecordArrayOutput) ElementType

func (PtrRecordArrayOutput) ElementType() reflect.Type

func (PtrRecordArrayOutput) Index

func (PtrRecordArrayOutput) ToPtrRecordArrayOutput

func (o PtrRecordArrayOutput) ToPtrRecordArrayOutput() PtrRecordArrayOutput

func (PtrRecordArrayOutput) ToPtrRecordArrayOutputWithContext

func (o PtrRecordArrayOutput) ToPtrRecordArrayOutputWithContext(ctx context.Context) PtrRecordArrayOutput

type PtrRecordInput

type PtrRecordInput interface {
	pulumi.Input

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

type PtrRecordMap

type PtrRecordMap map[string]PtrRecordInput

func (PtrRecordMap) ElementType

func (PtrRecordMap) ElementType() reflect.Type

func (PtrRecordMap) ToPtrRecordMapOutput

func (i PtrRecordMap) ToPtrRecordMapOutput() PtrRecordMapOutput

func (PtrRecordMap) ToPtrRecordMapOutputWithContext

func (i PtrRecordMap) ToPtrRecordMapOutputWithContext(ctx context.Context) PtrRecordMapOutput

type PtrRecordMapInput

type PtrRecordMapInput interface {
	pulumi.Input

	ToPtrRecordMapOutput() PtrRecordMapOutput
	ToPtrRecordMapOutputWithContext(context.Context) PtrRecordMapOutput
}

PtrRecordMapInput is an input type that accepts PtrRecordMap and PtrRecordMapOutput values. You can construct a concrete instance of `PtrRecordMapInput` via:

PtrRecordMap{ "key": PtrRecordArgs{...} }

type PtrRecordMapOutput

type PtrRecordMapOutput struct{ *pulumi.OutputState }

func (PtrRecordMapOutput) ElementType

func (PtrRecordMapOutput) ElementType() reflect.Type

func (PtrRecordMapOutput) MapIndex

func (PtrRecordMapOutput) ToPtrRecordMapOutput

func (o PtrRecordMapOutput) ToPtrRecordMapOutput() PtrRecordMapOutput

func (PtrRecordMapOutput) ToPtrRecordMapOutputWithContext

func (o PtrRecordMapOutput) ToPtrRecordMapOutputWithContext(ctx context.Context) PtrRecordMapOutput

type PtrRecordOutput

type PtrRecordOutput struct{ *pulumi.OutputState }

func (PtrRecordOutput) ElementType

func (PtrRecordOutput) ElementType() reflect.Type

func (PtrRecordOutput) ToPtrRecordOutput

func (o PtrRecordOutput) ToPtrRecordOutput() PtrRecordOutput

func (PtrRecordOutput) ToPtrRecordOutputWithContext

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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		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

func (*SrvRecord) ElementType() reflect.Type

func (*SrvRecord) ToSrvRecordOutput

func (i *SrvRecord) ToSrvRecordOutput() SrvRecordOutput

func (*SrvRecord) ToSrvRecordOutputWithContext

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 SrvRecordArray

type SrvRecordArray []SrvRecordInput

func (SrvRecordArray) ElementType

func (SrvRecordArray) ElementType() reflect.Type

func (SrvRecordArray) ToSrvRecordArrayOutput

func (i SrvRecordArray) ToSrvRecordArrayOutput() SrvRecordArrayOutput

func (SrvRecordArray) ToSrvRecordArrayOutputWithContext

func (i SrvRecordArray) ToSrvRecordArrayOutputWithContext(ctx context.Context) SrvRecordArrayOutput

type SrvRecordArrayInput

type SrvRecordArrayInput interface {
	pulumi.Input

	ToSrvRecordArrayOutput() SrvRecordArrayOutput
	ToSrvRecordArrayOutputWithContext(context.Context) SrvRecordArrayOutput
}

SrvRecordArrayInput is an input type that accepts SrvRecordArray and SrvRecordArrayOutput values. You can construct a concrete instance of `SrvRecordArrayInput` via:

SrvRecordArray{ SrvRecordArgs{...} }

type SrvRecordArrayOutput

type SrvRecordArrayOutput struct{ *pulumi.OutputState }

func (SrvRecordArrayOutput) ElementType

func (SrvRecordArrayOutput) ElementType() reflect.Type

func (SrvRecordArrayOutput) Index

func (SrvRecordArrayOutput) ToSrvRecordArrayOutput

func (o SrvRecordArrayOutput) ToSrvRecordArrayOutput() SrvRecordArrayOutput

func (SrvRecordArrayOutput) ToSrvRecordArrayOutputWithContext

func (o SrvRecordArrayOutput) ToSrvRecordArrayOutputWithContext(ctx context.Context) SrvRecordArrayOutput

type SrvRecordInput

type SrvRecordInput interface {
	pulumi.Input

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

type SrvRecordMap

type SrvRecordMap map[string]SrvRecordInput

func (SrvRecordMap) ElementType

func (SrvRecordMap) ElementType() reflect.Type

func (SrvRecordMap) ToSrvRecordMapOutput

func (i SrvRecordMap) ToSrvRecordMapOutput() SrvRecordMapOutput

func (SrvRecordMap) ToSrvRecordMapOutputWithContext

func (i SrvRecordMap) ToSrvRecordMapOutputWithContext(ctx context.Context) SrvRecordMapOutput

type SrvRecordMapInput

type SrvRecordMapInput interface {
	pulumi.Input

	ToSrvRecordMapOutput() SrvRecordMapOutput
	ToSrvRecordMapOutputWithContext(context.Context) SrvRecordMapOutput
}

SrvRecordMapInput is an input type that accepts SrvRecordMap and SrvRecordMapOutput values. You can construct a concrete instance of `SrvRecordMapInput` via:

SrvRecordMap{ "key": SrvRecordArgs{...} }

type SrvRecordMapOutput

type SrvRecordMapOutput struct{ *pulumi.OutputState }

func (SrvRecordMapOutput) ElementType

func (SrvRecordMapOutput) ElementType() reflect.Type

func (SrvRecordMapOutput) MapIndex

func (SrvRecordMapOutput) ToSrvRecordMapOutput

func (o SrvRecordMapOutput) ToSrvRecordMapOutput() SrvRecordMapOutput

func (SrvRecordMapOutput) ToSrvRecordMapOutputWithContext

func (o SrvRecordMapOutput) ToSrvRecordMapOutputWithContext(ctx context.Context) SrvRecordMapOutput

type SrvRecordOutput

type SrvRecordOutput struct{ *pulumi.OutputState }

func (SrvRecordOutput) ElementType

func (SrvRecordOutput) ElementType() reflect.Type

func (SrvRecordOutput) ToSrvRecordOutput

func (o SrvRecordOutput) ToSrvRecordOutput() SrvRecordOutput

func (SrvRecordOutput) ToSrvRecordOutputWithContext

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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		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

func (*TxtRecord) ElementType() reflect.Type

func (*TxtRecord) ToTxtRecordOutput

func (i *TxtRecord) ToTxtRecordOutput() TxtRecordOutput

func (*TxtRecord) ToTxtRecordOutputWithContext

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 TxtRecordArray

type TxtRecordArray []TxtRecordInput

func (TxtRecordArray) ElementType

func (TxtRecordArray) ElementType() reflect.Type

func (TxtRecordArray) ToTxtRecordArrayOutput

func (i TxtRecordArray) ToTxtRecordArrayOutput() TxtRecordArrayOutput

func (TxtRecordArray) ToTxtRecordArrayOutputWithContext

func (i TxtRecordArray) ToTxtRecordArrayOutputWithContext(ctx context.Context) TxtRecordArrayOutput

type TxtRecordArrayInput

type TxtRecordArrayInput interface {
	pulumi.Input

	ToTxtRecordArrayOutput() TxtRecordArrayOutput
	ToTxtRecordArrayOutputWithContext(context.Context) TxtRecordArrayOutput
}

TxtRecordArrayInput is an input type that accepts TxtRecordArray and TxtRecordArrayOutput values. You can construct a concrete instance of `TxtRecordArrayInput` via:

TxtRecordArray{ TxtRecordArgs{...} }

type TxtRecordArrayOutput

type TxtRecordArrayOutput struct{ *pulumi.OutputState }

func (TxtRecordArrayOutput) ElementType

func (TxtRecordArrayOutput) ElementType() reflect.Type

func (TxtRecordArrayOutput) Index

func (TxtRecordArrayOutput) ToTxtRecordArrayOutput

func (o TxtRecordArrayOutput) ToTxtRecordArrayOutput() TxtRecordArrayOutput

func (TxtRecordArrayOutput) ToTxtRecordArrayOutputWithContext

func (o TxtRecordArrayOutput) ToTxtRecordArrayOutputWithContext(ctx context.Context) TxtRecordArrayOutput

type TxtRecordInput

type TxtRecordInput interface {
	pulumi.Input

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

type TxtRecordMap

type TxtRecordMap map[string]TxtRecordInput

func (TxtRecordMap) ElementType

func (TxtRecordMap) ElementType() reflect.Type

func (TxtRecordMap) ToTxtRecordMapOutput

func (i TxtRecordMap) ToTxtRecordMapOutput() TxtRecordMapOutput

func (TxtRecordMap) ToTxtRecordMapOutputWithContext

func (i TxtRecordMap) ToTxtRecordMapOutputWithContext(ctx context.Context) TxtRecordMapOutput

type TxtRecordMapInput

type TxtRecordMapInput interface {
	pulumi.Input

	ToTxtRecordMapOutput() TxtRecordMapOutput
	ToTxtRecordMapOutputWithContext(context.Context) TxtRecordMapOutput
}

TxtRecordMapInput is an input type that accepts TxtRecordMap and TxtRecordMapOutput values. You can construct a concrete instance of `TxtRecordMapInput` via:

TxtRecordMap{ "key": TxtRecordArgs{...} }

type TxtRecordMapOutput

type TxtRecordMapOutput struct{ *pulumi.OutputState }

func (TxtRecordMapOutput) ElementType

func (TxtRecordMapOutput) ElementType() reflect.Type

func (TxtRecordMapOutput) MapIndex

func (TxtRecordMapOutput) ToTxtRecordMapOutput

func (o TxtRecordMapOutput) ToTxtRecordMapOutput() TxtRecordMapOutput

func (TxtRecordMapOutput) ToTxtRecordMapOutputWithContext

func (o TxtRecordMapOutput) ToTxtRecordMapOutputWithContext(ctx context.Context) TxtRecordMapOutput

type TxtRecordOutput

type TxtRecordOutput struct{ *pulumi.OutputState }

func (TxtRecordOutput) ElementType

func (TxtRecordOutput) ElementType() reflect.Type

func (TxtRecordOutput) ToTxtRecordOutput

func (o TxtRecordOutput) ToTxtRecordOutput() TxtRecordOutput

func (TxtRecordOutput) ToTxtRecordOutputWithContext

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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/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{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		_, err = dns.NewZone(ctx, "example-public", &dns.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

func (*Zone) ElementType() reflect.Type

func (*Zone) ToZoneOutput

func (i *Zone) ToZoneOutput() ZoneOutput

func (*Zone) ToZoneOutputWithContext

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 ZoneArray

type ZoneArray []ZoneInput

func (ZoneArray) ElementType

func (ZoneArray) ElementType() reflect.Type

func (ZoneArray) ToZoneArrayOutput

func (i ZoneArray) ToZoneArrayOutput() ZoneArrayOutput

func (ZoneArray) ToZoneArrayOutputWithContext

func (i ZoneArray) ToZoneArrayOutputWithContext(ctx context.Context) ZoneArrayOutput

type ZoneArrayInput

type ZoneArrayInput interface {
	pulumi.Input

	ToZoneArrayOutput() ZoneArrayOutput
	ToZoneArrayOutputWithContext(context.Context) ZoneArrayOutput
}

ZoneArrayInput is an input type that accepts ZoneArray and ZoneArrayOutput values. You can construct a concrete instance of `ZoneArrayInput` via:

ZoneArray{ ZoneArgs{...} }

type ZoneArrayOutput

type ZoneArrayOutput struct{ *pulumi.OutputState }

func (ZoneArrayOutput) ElementType

func (ZoneArrayOutput) ElementType() reflect.Type

func (ZoneArrayOutput) Index

func (ZoneArrayOutput) ToZoneArrayOutput

func (o ZoneArrayOutput) ToZoneArrayOutput() ZoneArrayOutput

func (ZoneArrayOutput) ToZoneArrayOutputWithContext

func (o ZoneArrayOutput) ToZoneArrayOutputWithContext(ctx context.Context) ZoneArrayOutput

type ZoneInput

type ZoneInput interface {
	pulumi.Input

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

type ZoneMap

type ZoneMap map[string]ZoneInput

func (ZoneMap) ElementType

func (ZoneMap) ElementType() reflect.Type

func (ZoneMap) ToZoneMapOutput

func (i ZoneMap) ToZoneMapOutput() ZoneMapOutput

func (ZoneMap) ToZoneMapOutputWithContext

func (i ZoneMap) ToZoneMapOutputWithContext(ctx context.Context) ZoneMapOutput

type ZoneMapInput

type ZoneMapInput interface {
	pulumi.Input

	ToZoneMapOutput() ZoneMapOutput
	ToZoneMapOutputWithContext(context.Context) ZoneMapOutput
}

ZoneMapInput is an input type that accepts ZoneMap and ZoneMapOutput values. You can construct a concrete instance of `ZoneMapInput` via:

ZoneMap{ "key": ZoneArgs{...} }

type ZoneMapOutput

type ZoneMapOutput struct{ *pulumi.OutputState }

func (ZoneMapOutput) ElementType

func (ZoneMapOutput) ElementType() reflect.Type

func (ZoneMapOutput) MapIndex

func (ZoneMapOutput) ToZoneMapOutput

func (o ZoneMapOutput) ToZoneMapOutput() ZoneMapOutput

func (ZoneMapOutput) ToZoneMapOutputWithContext

func (o ZoneMapOutput) ToZoneMapOutputWithContext(ctx context.Context) ZoneMapOutput

type ZoneOutput

type ZoneOutput struct{ *pulumi.OutputState }

func (ZoneOutput) ElementType

func (ZoneOutput) ElementType() reflect.Type

func (ZoneOutput) ToZoneOutput

func (o ZoneOutput) ToZoneOutput() ZoneOutput

func (ZoneOutput) ToZoneOutputWithContext

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

type ZoneSoaRecord

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"`
	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

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"`
	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

func (ZoneSoaRecordArgs) ElementType() reflect.Type

func (ZoneSoaRecordArgs) ToZoneSoaRecordOutput

func (i ZoneSoaRecordArgs) ToZoneSoaRecordOutput() ZoneSoaRecordOutput

func (ZoneSoaRecordArgs) ToZoneSoaRecordOutputWithContext

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

func (ZoneSoaRecordArgs) ToZoneSoaRecordPtrOutput

func (i ZoneSoaRecordArgs) ToZoneSoaRecordPtrOutput() ZoneSoaRecordPtrOutput

func (ZoneSoaRecordArgs) ToZoneSoaRecordPtrOutputWithContext

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

type ZoneSoaRecordInput

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

type ZoneSoaRecordOutput struct{ *pulumi.OutputState }

func (ZoneSoaRecordOutput) ElementType

func (ZoneSoaRecordOutput) ElementType() reflect.Type

func (ZoneSoaRecordOutput) Email

The email contact for the SOA record.

func (ZoneSoaRecordOutput) ExpireTime

func (o ZoneSoaRecordOutput) ExpireTime() pulumi.IntPtrOutput

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

func (ZoneSoaRecordOutput) Fqdn

func (ZoneSoaRecordOutput) HostName

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

func (ZoneSoaRecordOutput) MinimumTtl

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

func (o ZoneSoaRecordOutput) RefreshTime() pulumi.IntPtrOutput

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

func (ZoneSoaRecordOutput) RetryTime

func (o ZoneSoaRecordOutput) RetryTime() pulumi.IntPtrOutput

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

func (ZoneSoaRecordOutput) SerialNumber

func (o ZoneSoaRecordOutput) SerialNumber() pulumi.IntPtrOutput

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

func (ZoneSoaRecordOutput) Tags

A mapping of tags to assign to the Record Set.

func (ZoneSoaRecordOutput) ToZoneSoaRecordOutput

func (o ZoneSoaRecordOutput) ToZoneSoaRecordOutput() ZoneSoaRecordOutput

func (ZoneSoaRecordOutput) ToZoneSoaRecordOutputWithContext

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

func (ZoneSoaRecordOutput) ToZoneSoaRecordPtrOutput

func (o ZoneSoaRecordOutput) ToZoneSoaRecordPtrOutput() ZoneSoaRecordPtrOutput

func (ZoneSoaRecordOutput) ToZoneSoaRecordPtrOutputWithContext

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

func (ZoneSoaRecordOutput) Ttl

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

type ZoneSoaRecordPtrInput

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

type ZoneSoaRecordPtrOutput

type ZoneSoaRecordPtrOutput struct{ *pulumi.OutputState }

func (ZoneSoaRecordPtrOutput) Elem

func (ZoneSoaRecordPtrOutput) ElementType

func (ZoneSoaRecordPtrOutput) ElementType() reflect.Type

func (ZoneSoaRecordPtrOutput) Email

The email contact for the SOA record.

func (ZoneSoaRecordPtrOutput) ExpireTime

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

func (ZoneSoaRecordPtrOutput) Fqdn

func (ZoneSoaRecordPtrOutput) HostName

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

func (ZoneSoaRecordPtrOutput) MinimumTtl

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

func (o ZoneSoaRecordPtrOutput) RefreshTime() pulumi.IntPtrOutput

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

func (ZoneSoaRecordPtrOutput) RetryTime

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

func (ZoneSoaRecordPtrOutput) SerialNumber

func (o ZoneSoaRecordPtrOutput) SerialNumber() pulumi.IntPtrOutput

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

func (ZoneSoaRecordPtrOutput) Tags

A mapping of tags to assign to the Record Set.

func (ZoneSoaRecordPtrOutput) ToZoneSoaRecordPtrOutput

func (o ZoneSoaRecordPtrOutput) ToZoneSoaRecordPtrOutput() ZoneSoaRecordPtrOutput

func (ZoneSoaRecordPtrOutput) ToZoneSoaRecordPtrOutputWithContext

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

func (ZoneSoaRecordPtrOutput) Ttl

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