privatedns

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 AAAARecord

type AAAARecord struct {
	pulumi.CustomResourceState

	// The FQDN of the DNS AAAA Record.
	Fqdn pulumi.StringOutput `pulumi:"fqdn"`
	// The name of the DNS A Record.
	Name pulumi.StringOutput `pulumi:"name"`
	// A list of IPv6 Addresses.
	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"`
	Ttl  pulumi.IntOutput       `pulumi:"ttl"`
	// Specifies the Private 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 Private 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/privatedns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		testResourceGroup, err := core.NewResourceGroup(ctx, "testResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		testZone, err := privatedns.NewZone(ctx, "testZone", &privatedns.ZoneArgs{
			ResourceGroupName: testResourceGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = privatedns.NewAAAARecord(ctx, "testAAAARecord", &privatedns.AAAARecordArgs{
			ZoneName:          testZone.Name,
			ResourceGroupName: testResourceGroup.Name,
			Ttl:               pulumi.Int(300),
			Records: pulumi.StringArray{
				pulumi.String("fd5d:70bc:930e:d008:0000:0000:0000:7334"),
				pulumi.String("fd5d:70bc:930e:d008::7335"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Private DNS AAAA Records can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:privatedns/aAAARecord:AAAARecord test /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/privateDnsZones/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 A Record.
	Name pulumi.StringPtrInput
	// A list of IPv6 Addresses.
	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
	Ttl  pulumi.IntInput
	// Specifies the Private 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 A Record.
	Name pulumi.StringPtrInput
	// A list of IPv6 Addresses.
	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
	Ttl  pulumi.IntPtrInput
	// Specifies the Private 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 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.
	Records pulumi.StringArrayOutput `pulumi:"records"`
	// Specifies the resource group where the Private DNS Zone 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"`
	Ttl  pulumi.IntOutput       `pulumi:"ttl"`
	// Specifies the Private 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 Private 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/privatedns"
"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 := privatedns.NewZone(ctx, "exampleZone", &privatedns.ZoneArgs{
			ResourceGroupName: exampleResourceGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = privatedns.NewARecord(ctx, "exampleARecord", &privatedns.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
	})
}

```

## Import

Private DNS A Records can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:privatedns/aRecord:ARecord example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/privateDnsZones/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.
	Records pulumi.StringArrayInput
	// Specifies the resource group where the Private DNS Zone 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
	Ttl  pulumi.IntInput
	// Specifies the Private 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.
	Records pulumi.StringArrayInput
	// Specifies the resource group where the Private DNS Zone 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
	Ttl  pulumi.IntPtrInput
	// Specifies the Private 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 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.StringOutput `pulumi:"record"`
	// 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 Private 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 Private 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/privatedns"
"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 := privatedns.NewZone(ctx, "exampleZone", &privatedns.ZoneArgs{
			ResourceGroupName: exampleResourceGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = privatedns.NewCnameRecord(ctx, "exampleCnameRecord", &privatedns.CnameRecordArgs{
			ZoneName:          exampleZone.Name,
			ResourceGroupName: exampleResourceGroup.Name,
			Ttl:               pulumi.Int(300),
			Record:            pulumi.String("contoso.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Private DNS CName Records can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:privatedns/cnameRecord:CnameRecord example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/privateDnsZones/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.StringInput
	// 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 Private 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 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 Private 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 GetDnsZoneArgs

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

A collection of arguments for invoking getDnsZone.

type GetDnsZoneOutputArgs added in v4.20.0

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

A collection of arguments for invoking getDnsZone.

func (GetDnsZoneOutputArgs) ElementType added in v4.20.0

func (GetDnsZoneOutputArgs) ElementType() reflect.Type

type GetDnsZoneResult

type GetDnsZoneResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Maximum number of recordsets that can be created in this Private Zone.
	MaxNumberOfRecordSets int `pulumi:"maxNumberOfRecordSets"`
	// Maximum number of Virtual Networks that can be linked to this Private Zone.
	MaxNumberOfVirtualNetworkLinks int `pulumi:"maxNumberOfVirtualNetworkLinks"`
	// Maximum number of Virtual Networks that can be linked to this Private Zone with registration enabled.
	MaxNumberOfVirtualNetworkLinksWithRegistration int    `pulumi:"maxNumberOfVirtualNetworkLinksWithRegistration"`
	Name                                           string `pulumi:"name"`
	// The number of recordsets currently in the zone.
	NumberOfRecordSets int    `pulumi:"numberOfRecordSets"`
	ResourceGroupName  string `pulumi:"resourceGroupName"`
	// A mapping of tags for the zone.
	Tags map[string]string `pulumi:"tags"`
}

A collection of values returned by getDnsZone.

func GetDnsZone

func GetDnsZone(ctx *pulumi.Context, args *GetDnsZoneArgs, opts ...pulumi.InvokeOption) (*GetDnsZoneResult, error)

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

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/privatedns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := privatedns.GetDnsZone(ctx, &privatedns.GetDnsZoneArgs{
			Name:              "contoso.internal",
			ResourceGroupName: pulumi.StringRef("contoso-dns"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("privateDnsZoneId", example.Id)
		return nil
	})
}

```

type GetDnsZoneResultOutput added in v4.20.0

type GetDnsZoneResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDnsZone.

func GetDnsZoneOutput added in v4.20.0

func GetDnsZoneOutput(ctx *pulumi.Context, args GetDnsZoneOutputArgs, opts ...pulumi.InvokeOption) GetDnsZoneResultOutput

func (GetDnsZoneResultOutput) ElementType added in v4.20.0

func (GetDnsZoneResultOutput) ElementType() reflect.Type

func (GetDnsZoneResultOutput) Id added in v4.20.0

The provider-assigned unique ID for this managed resource.

func (GetDnsZoneResultOutput) MaxNumberOfRecordSets added in v4.20.0

func (o GetDnsZoneResultOutput) MaxNumberOfRecordSets() pulumi.IntOutput

Maximum number of recordsets that can be created in this Private Zone.

func (o GetDnsZoneResultOutput) MaxNumberOfVirtualNetworkLinks() pulumi.IntOutput

Maximum number of Virtual Networks that can be linked to this Private Zone.

func (GetDnsZoneResultOutput) MaxNumberOfVirtualNetworkLinksWithRegistration added in v4.20.0

func (o GetDnsZoneResultOutput) MaxNumberOfVirtualNetworkLinksWithRegistration() pulumi.IntOutput

Maximum number of Virtual Networks that can be linked to this Private Zone with registration enabled.

func (GetDnsZoneResultOutput) Name added in v4.20.0

func (GetDnsZoneResultOutput) NumberOfRecordSets added in v4.20.0

func (o GetDnsZoneResultOutput) NumberOfRecordSets() pulumi.IntOutput

The number of recordsets currently in the zone.

func (GetDnsZoneResultOutput) ResourceGroupName added in v4.20.0

func (o GetDnsZoneResultOutput) ResourceGroupName() pulumi.StringOutput

func (GetDnsZoneResultOutput) Tags added in v4.20.0

A mapping of tags for the zone.

func (GetDnsZoneResultOutput) ToGetDnsZoneResultOutput added in v4.20.0

func (o GetDnsZoneResultOutput) ToGetDnsZoneResultOutput() GetDnsZoneResultOutput

func (GetDnsZoneResultOutput) ToGetDnsZoneResultOutputWithContext added in v4.20.0

func (o GetDnsZoneResultOutput) ToGetDnsZoneResultOutputWithContext(ctx context.Context) GetDnsZoneResultOutput

type LinkService

type LinkService struct {
	pulumi.CustomResourceState

	// A globally unique DNS Name for your Private Link Service. You can use this alias to request a connection to your Private Link Service.
	Alias pulumi.StringOutput `pulumi:"alias"`
	// A list of Subscription UUID/GUID's that will be automatically be able to use this Private Link Service.
	AutoApprovalSubscriptionIds pulumi.StringArrayOutput `pulumi:"autoApprovalSubscriptionIds"`
	// Should the Private Link Service support the Proxy Protocol? Defaults to `false`.
	EnableProxyProtocol pulumi.BoolPtrOutput `pulumi:"enableProxyProtocol"`
	// A list of Frontend IP Configuration ID's from a Standard Load Balancer, where traffic from the Private Link Service should be routed. You can use Load Balancer Rules to direct this traffic to appropriate backend pools where your applications are running.
	LoadBalancerFrontendIpConfigurationIds pulumi.StringArrayOutput `pulumi:"loadBalancerFrontendIpConfigurationIds"`
	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// Specifies the name of this Private Link Service. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// One or more (up to 8) `natIpConfiguration` block as defined below.
	NatIpConfigurations LinkServiceNatIpConfigurationArrayOutput `pulumi:"natIpConfigurations"`
	// The name of the Resource Group where the Private Link Service should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// A mapping of tags to assign to the resource. Changing this forces a new resource to be created.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A list of Subscription UUID/GUID's that will be able to see this Private Link Service.
	VisibilitySubscriptionIds pulumi.StringArrayOutput `pulumi:"visibilitySubscriptionIds"`
}

Manages a Private Link Service.

> **NOTE** Private Link is now in [GA](https://docs.microsoft.com/en-gb/azure/private-link/).

## 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/lb"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/network"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/privatedns"
"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
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "exampleVirtualNetwork", &network.VirtualNetworkArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			Location:          exampleResourceGroup.Location,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("10.5.0.0/16"),
			},
		})
		if err != nil {
			return err
		}
		exampleSubnet, err := network.NewSubnet(ctx, "exampleSubnet", &network.SubnetArgs{
			ResourceGroupName:  exampleResourceGroup.Name,
			VirtualNetworkName: exampleVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("10.5.1.0/24"),
			},
			EnforcePrivateLinkServiceNetworkPolicies: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		examplePublicIp, err := network.NewPublicIp(ctx, "examplePublicIp", &network.PublicIpArgs{
			Sku:               pulumi.String("Standard"),
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			AllocationMethod:  pulumi.String("Static"),
		})
		if err != nil {
			return err
		}
		exampleLoadBalancer, err := lb.NewLoadBalancer(ctx, "exampleLoadBalancer", &lb.LoadBalancerArgs{
			Sku:               pulumi.String("Standard"),
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			FrontendIpConfigurations: lb.LoadBalancerFrontendIpConfigurationArray{
				&lb.LoadBalancerFrontendIpConfigurationArgs{
					Name:              examplePublicIp.Name,
					PublicIpAddressId: examplePublicIp.ID(),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = privatedns.NewLinkService(ctx, "exampleLinkService", &privatedns.LinkServiceArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			Location:          exampleResourceGroup.Location,
			AutoApprovalSubscriptionIds: pulumi.StringArray{
				pulumi.String("00000000-0000-0000-0000-000000000000"),
			},
			VisibilitySubscriptionIds: pulumi.StringArray{
				pulumi.String("00000000-0000-0000-0000-000000000000"),
			},
			LoadBalancerFrontendIpConfigurationIds: pulumi.StringArray{
				exampleLoadBalancer.FrontendIpConfigurations.ApplyT(func(frontendIpConfigurations []lb.LoadBalancerFrontendIpConfiguration) (string, error) {
					return frontendIpConfigurations[0].Id, nil
				}).(pulumi.StringOutput),
			},
			NatIpConfigurations: privatedns.LinkServiceNatIpConfigurationArray{
				&privatedns.LinkServiceNatIpConfigurationArgs{
					Name:                    pulumi.String("primary"),
					PrivateIpAddress:        pulumi.String("10.5.1.17"),
					PrivateIpAddressVersion: pulumi.String("IPv4"),
					SubnetId:                exampleSubnet.ID(),
					Primary:                 pulumi.Bool(true),
				},
				&privatedns.LinkServiceNatIpConfigurationArgs{
					Name:                    pulumi.String("secondary"),
					PrivateIpAddress:        pulumi.String("10.5.1.18"),
					PrivateIpAddressVersion: pulumi.String("IPv4"),
					SubnetId:                exampleSubnet.ID(),
					Primary:                 pulumi.Bool(false),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Private Link Services can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:privatedns/linkService:LinkService example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/privateLinkServices/service1

```

func GetLinkService

func GetLinkService(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LinkServiceState, opts ...pulumi.ResourceOption) (*LinkService, error)

GetLinkService gets an existing LinkService 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 NewLinkService

func NewLinkService(ctx *pulumi.Context,
	name string, args *LinkServiceArgs, opts ...pulumi.ResourceOption) (*LinkService, error)

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

func (*LinkService) ElementType

func (*LinkService) ElementType() reflect.Type

func (*LinkService) ToLinkServiceOutput

func (i *LinkService) ToLinkServiceOutput() LinkServiceOutput

func (*LinkService) ToLinkServiceOutputWithContext

func (i *LinkService) ToLinkServiceOutputWithContext(ctx context.Context) LinkServiceOutput

type LinkServiceArgs

type LinkServiceArgs struct {
	// A list of Subscription UUID/GUID's that will be automatically be able to use this Private Link Service.
	AutoApprovalSubscriptionIds pulumi.StringArrayInput
	// Should the Private Link Service support the Proxy Protocol? Defaults to `false`.
	EnableProxyProtocol pulumi.BoolPtrInput
	// A list of Frontend IP Configuration ID's from a Standard Load Balancer, where traffic from the Private Link Service should be routed. You can use Load Balancer Rules to direct this traffic to appropriate backend pools where your applications are running.
	LoadBalancerFrontendIpConfigurationIds pulumi.StringArrayInput
	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// Specifies the name of this Private Link Service. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// One or more (up to 8) `natIpConfiguration` block as defined below.
	NatIpConfigurations LinkServiceNatIpConfigurationArrayInput
	// The name of the Resource Group where the Private Link Service should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// A mapping of tags to assign to the resource. Changing this forces a new resource to be created.
	Tags pulumi.StringMapInput
	// A list of Subscription UUID/GUID's that will be able to see this Private Link Service.
	VisibilitySubscriptionIds pulumi.StringArrayInput
}

The set of arguments for constructing a LinkService resource.

func (LinkServiceArgs) ElementType

func (LinkServiceArgs) ElementType() reflect.Type

type LinkServiceArray

type LinkServiceArray []LinkServiceInput

func (LinkServiceArray) ElementType

func (LinkServiceArray) ElementType() reflect.Type

func (LinkServiceArray) ToLinkServiceArrayOutput

func (i LinkServiceArray) ToLinkServiceArrayOutput() LinkServiceArrayOutput

func (LinkServiceArray) ToLinkServiceArrayOutputWithContext

func (i LinkServiceArray) ToLinkServiceArrayOutputWithContext(ctx context.Context) LinkServiceArrayOutput

type LinkServiceArrayInput

type LinkServiceArrayInput interface {
	pulumi.Input

	ToLinkServiceArrayOutput() LinkServiceArrayOutput
	ToLinkServiceArrayOutputWithContext(context.Context) LinkServiceArrayOutput
}

LinkServiceArrayInput is an input type that accepts LinkServiceArray and LinkServiceArrayOutput values. You can construct a concrete instance of `LinkServiceArrayInput` via:

LinkServiceArray{ LinkServiceArgs{...} }

type LinkServiceArrayOutput

type LinkServiceArrayOutput struct{ *pulumi.OutputState }

func (LinkServiceArrayOutput) ElementType

func (LinkServiceArrayOutput) ElementType() reflect.Type

func (LinkServiceArrayOutput) Index

func (LinkServiceArrayOutput) ToLinkServiceArrayOutput

func (o LinkServiceArrayOutput) ToLinkServiceArrayOutput() LinkServiceArrayOutput

func (LinkServiceArrayOutput) ToLinkServiceArrayOutputWithContext

func (o LinkServiceArrayOutput) ToLinkServiceArrayOutputWithContext(ctx context.Context) LinkServiceArrayOutput

type LinkServiceInput

type LinkServiceInput interface {
	pulumi.Input

	ToLinkServiceOutput() LinkServiceOutput
	ToLinkServiceOutputWithContext(ctx context.Context) LinkServiceOutput
}

type LinkServiceMap

type LinkServiceMap map[string]LinkServiceInput

func (LinkServiceMap) ElementType

func (LinkServiceMap) ElementType() reflect.Type

func (LinkServiceMap) ToLinkServiceMapOutput

func (i LinkServiceMap) ToLinkServiceMapOutput() LinkServiceMapOutput

func (LinkServiceMap) ToLinkServiceMapOutputWithContext

func (i LinkServiceMap) ToLinkServiceMapOutputWithContext(ctx context.Context) LinkServiceMapOutput

type LinkServiceMapInput

type LinkServiceMapInput interface {
	pulumi.Input

	ToLinkServiceMapOutput() LinkServiceMapOutput
	ToLinkServiceMapOutputWithContext(context.Context) LinkServiceMapOutput
}

LinkServiceMapInput is an input type that accepts LinkServiceMap and LinkServiceMapOutput values. You can construct a concrete instance of `LinkServiceMapInput` via:

LinkServiceMap{ "key": LinkServiceArgs{...} }

type LinkServiceMapOutput

type LinkServiceMapOutput struct{ *pulumi.OutputState }

func (LinkServiceMapOutput) ElementType

func (LinkServiceMapOutput) ElementType() reflect.Type

func (LinkServiceMapOutput) MapIndex

func (LinkServiceMapOutput) ToLinkServiceMapOutput

func (o LinkServiceMapOutput) ToLinkServiceMapOutput() LinkServiceMapOutput

func (LinkServiceMapOutput) ToLinkServiceMapOutputWithContext

func (o LinkServiceMapOutput) ToLinkServiceMapOutputWithContext(ctx context.Context) LinkServiceMapOutput

type LinkServiceNatIpConfiguration

type LinkServiceNatIpConfiguration struct {
	// Specifies the name which should be used for the NAT IP Configuration. Changing this forces a new resource to be created.
	Name string `pulumi:"name"`
	// Is this is the Primary IP Configuration? Changing this forces a new resource to be created.
	Primary bool `pulumi:"primary"`
	// Specifies a Private Static IP Address for this IP Configuration.
	PrivateIpAddress *string `pulumi:"privateIpAddress"`
	// The version of the IP Protocol which should be used. At this time the only supported value is `IPv4`. Defaults to `IPv4`.
	PrivateIpAddressVersion *string `pulumi:"privateIpAddressVersion"`
	// Specifies the ID of the Subnet which should be used for the Private Link Service.
	SubnetId string `pulumi:"subnetId"`
}

type LinkServiceNatIpConfigurationArgs

type LinkServiceNatIpConfigurationArgs struct {
	// Specifies the name which should be used for the NAT IP Configuration. Changing this forces a new resource to be created.
	Name pulumi.StringInput `pulumi:"name"`
	// Is this is the Primary IP Configuration? Changing this forces a new resource to be created.
	Primary pulumi.BoolInput `pulumi:"primary"`
	// Specifies a Private Static IP Address for this IP Configuration.
	PrivateIpAddress pulumi.StringPtrInput `pulumi:"privateIpAddress"`
	// The version of the IP Protocol which should be used. At this time the only supported value is `IPv4`. Defaults to `IPv4`.
	PrivateIpAddressVersion pulumi.StringPtrInput `pulumi:"privateIpAddressVersion"`
	// Specifies the ID of the Subnet which should be used for the Private Link Service.
	SubnetId pulumi.StringInput `pulumi:"subnetId"`
}

func (LinkServiceNatIpConfigurationArgs) ElementType

func (LinkServiceNatIpConfigurationArgs) ToLinkServiceNatIpConfigurationOutput

func (i LinkServiceNatIpConfigurationArgs) ToLinkServiceNatIpConfigurationOutput() LinkServiceNatIpConfigurationOutput

func (LinkServiceNatIpConfigurationArgs) ToLinkServiceNatIpConfigurationOutputWithContext

func (i LinkServiceNatIpConfigurationArgs) ToLinkServiceNatIpConfigurationOutputWithContext(ctx context.Context) LinkServiceNatIpConfigurationOutput

type LinkServiceNatIpConfigurationArray

type LinkServiceNatIpConfigurationArray []LinkServiceNatIpConfigurationInput

func (LinkServiceNatIpConfigurationArray) ElementType

func (LinkServiceNatIpConfigurationArray) ToLinkServiceNatIpConfigurationArrayOutput

func (i LinkServiceNatIpConfigurationArray) ToLinkServiceNatIpConfigurationArrayOutput() LinkServiceNatIpConfigurationArrayOutput

func (LinkServiceNatIpConfigurationArray) ToLinkServiceNatIpConfigurationArrayOutputWithContext

func (i LinkServiceNatIpConfigurationArray) ToLinkServiceNatIpConfigurationArrayOutputWithContext(ctx context.Context) LinkServiceNatIpConfigurationArrayOutput

type LinkServiceNatIpConfigurationArrayInput

type LinkServiceNatIpConfigurationArrayInput interface {
	pulumi.Input

	ToLinkServiceNatIpConfigurationArrayOutput() LinkServiceNatIpConfigurationArrayOutput
	ToLinkServiceNatIpConfigurationArrayOutputWithContext(context.Context) LinkServiceNatIpConfigurationArrayOutput
}

LinkServiceNatIpConfigurationArrayInput is an input type that accepts LinkServiceNatIpConfigurationArray and LinkServiceNatIpConfigurationArrayOutput values. You can construct a concrete instance of `LinkServiceNatIpConfigurationArrayInput` via:

LinkServiceNatIpConfigurationArray{ LinkServiceNatIpConfigurationArgs{...} }

type LinkServiceNatIpConfigurationArrayOutput

type LinkServiceNatIpConfigurationArrayOutput struct{ *pulumi.OutputState }

func (LinkServiceNatIpConfigurationArrayOutput) ElementType

func (LinkServiceNatIpConfigurationArrayOutput) Index

func (LinkServiceNatIpConfigurationArrayOutput) ToLinkServiceNatIpConfigurationArrayOutput

func (o LinkServiceNatIpConfigurationArrayOutput) ToLinkServiceNatIpConfigurationArrayOutput() LinkServiceNatIpConfigurationArrayOutput

func (LinkServiceNatIpConfigurationArrayOutput) ToLinkServiceNatIpConfigurationArrayOutputWithContext

func (o LinkServiceNatIpConfigurationArrayOutput) ToLinkServiceNatIpConfigurationArrayOutputWithContext(ctx context.Context) LinkServiceNatIpConfigurationArrayOutput

type LinkServiceNatIpConfigurationInput

type LinkServiceNatIpConfigurationInput interface {
	pulumi.Input

	ToLinkServiceNatIpConfigurationOutput() LinkServiceNatIpConfigurationOutput
	ToLinkServiceNatIpConfigurationOutputWithContext(context.Context) LinkServiceNatIpConfigurationOutput
}

LinkServiceNatIpConfigurationInput is an input type that accepts LinkServiceNatIpConfigurationArgs and LinkServiceNatIpConfigurationOutput values. You can construct a concrete instance of `LinkServiceNatIpConfigurationInput` via:

LinkServiceNatIpConfigurationArgs{...}

type LinkServiceNatIpConfigurationOutput

type LinkServiceNatIpConfigurationOutput struct{ *pulumi.OutputState }

func (LinkServiceNatIpConfigurationOutput) ElementType

func (LinkServiceNatIpConfigurationOutput) Name

Specifies the name which should be used for the NAT IP Configuration. Changing this forces a new resource to be created.

func (LinkServiceNatIpConfigurationOutput) Primary

Is this is the Primary IP Configuration? Changing this forces a new resource to be created.

func (LinkServiceNatIpConfigurationOutput) PrivateIpAddress

Specifies a Private Static IP Address for this IP Configuration.

func (LinkServiceNatIpConfigurationOutput) PrivateIpAddressVersion

func (o LinkServiceNatIpConfigurationOutput) PrivateIpAddressVersion() pulumi.StringPtrOutput

The version of the IP Protocol which should be used. At this time the only supported value is `IPv4`. Defaults to `IPv4`.

func (LinkServiceNatIpConfigurationOutput) SubnetId

Specifies the ID of the Subnet which should be used for the Private Link Service.

func (LinkServiceNatIpConfigurationOutput) ToLinkServiceNatIpConfigurationOutput

func (o LinkServiceNatIpConfigurationOutput) ToLinkServiceNatIpConfigurationOutput() LinkServiceNatIpConfigurationOutput

func (LinkServiceNatIpConfigurationOutput) ToLinkServiceNatIpConfigurationOutputWithContext

func (o LinkServiceNatIpConfigurationOutput) ToLinkServiceNatIpConfigurationOutputWithContext(ctx context.Context) LinkServiceNatIpConfigurationOutput

type LinkServiceOutput

type LinkServiceOutput struct{ *pulumi.OutputState }

func (LinkServiceOutput) ElementType

func (LinkServiceOutput) ElementType() reflect.Type

func (LinkServiceOutput) ToLinkServiceOutput

func (o LinkServiceOutput) ToLinkServiceOutput() LinkServiceOutput

func (LinkServiceOutput) ToLinkServiceOutputWithContext

func (o LinkServiceOutput) ToLinkServiceOutputWithContext(ctx context.Context) LinkServiceOutput

type LinkServiceState

type LinkServiceState struct {
	// A globally unique DNS Name for your Private Link Service. You can use this alias to request a connection to your Private Link Service.
	Alias pulumi.StringPtrInput
	// A list of Subscription UUID/GUID's that will be automatically be able to use this Private Link Service.
	AutoApprovalSubscriptionIds pulumi.StringArrayInput
	// Should the Private Link Service support the Proxy Protocol? Defaults to `false`.
	EnableProxyProtocol pulumi.BoolPtrInput
	// A list of Frontend IP Configuration ID's from a Standard Load Balancer, where traffic from the Private Link Service should be routed. You can use Load Balancer Rules to direct this traffic to appropriate backend pools where your applications are running.
	LoadBalancerFrontendIpConfigurationIds pulumi.StringArrayInput
	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// Specifies the name of this Private Link Service. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// One or more (up to 8) `natIpConfiguration` block as defined below.
	NatIpConfigurations LinkServiceNatIpConfigurationArrayInput
	// The name of the Resource Group where the Private Link Service should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// A mapping of tags to assign to the resource. Changing this forces a new resource to be created.
	Tags pulumi.StringMapInput
	// A list of Subscription UUID/GUID's that will be able to see this Private Link Service.
	VisibilitySubscriptionIds pulumi.StringArrayInput
}

func (LinkServiceState) ElementType

func (LinkServiceState) ElementType() reflect.Type

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. Changing this forces a new resource to be created. Default to '@' for root zone entry.
	Name pulumi.StringOutput `pulumi:"name"`
	// One or more `record` blocks as defined 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"`
	Ttl  pulumi.IntOutput       `pulumi:"ttl"`
	// Specifies the Private 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 MX Records within Azure Private 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/privatedns"
"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 := privatedns.NewZone(ctx, "exampleZone", &privatedns.ZoneArgs{
			ResourceGroupName: exampleResourceGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = privatedns.NewMxRecord(ctx, "exampleMxRecord", &privatedns.MxRecordArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			ZoneName:          exampleZone.Name,
			Ttl:               pulumi.Int(300),
			Records: privatedns.MxRecordRecordArray{
				&privatedns.MxRecordRecordArgs{
					Preference: pulumi.Int(10),
					Exchange:   pulumi.String("mx1.contoso.com"),
				},
				&privatedns.MxRecordRecordArgs{
					Preference: pulumi.Int(20),
					Exchange:   pulumi.String("backupmx.contoso.com"),
				},
			},
			Tags: pulumi.StringMap{
				"Environment": pulumi.String("Production"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Private DNS MX Records can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:privatedns/mxRecord:MxRecord example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/privateDnsZones/contoso.com/MX/@

```

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. Changing this forces a new resource to be created. Default to '@' for root zone entry.
	Name pulumi.StringPtrInput
	// One or more `record` blocks as defined 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
	Ttl  pulumi.IntInput
	// Specifies the Private 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 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 FQDN of the exchange to MX record points to.
	Exchange string `pulumi:"exchange"`
	// The preference of the MX record.
	Preference int `pulumi:"preference"`
}

type MxRecordRecordArgs

type MxRecordRecordArgs struct {
	// The FQDN of the exchange to MX record points to.
	Exchange pulumi.StringInput `pulumi:"exchange"`
	// The preference of the MX record.
	Preference pulumi.IntInput `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 FQDN of the exchange to MX record points to.

func (MxRecordRecordOutput) Preference

func (o MxRecordRecordOutput) Preference() pulumi.IntOutput

The preference of the MX record.

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. Changing this forces a new resource to be created. Default to '@' for root zone entry.
	Name pulumi.StringPtrInput
	// One or more `record` blocks as defined 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
	Ttl  pulumi.IntPtrInput
	// Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.
	ZoneName pulumi.StringPtrInput
}

func (MxRecordState) ElementType

func (MxRecordState) 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. Changing this forces a new resource to be created.
	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"`
	Ttl  pulumi.IntOutput       `pulumi:"ttl"`
	// Specifies the Private 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 PTR Records within Azure Private 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/privatedns"
"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 := privatedns.NewZone(ctx, "exampleZone", &privatedns.ZoneArgs{
			ResourceGroupName: exampleResourceGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = privatedns.NewPTRRecord(ctx, "examplePTRRecord", &privatedns.PTRRecordArgs{
			ZoneName:          exampleZone.Name,
			ResourceGroupName: exampleResourceGroup.Name,
			Ttl:               pulumi.Int(300),
			Records: pulumi.StringArray{
				pulumi.String("test.example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Private DNS PTR Records can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:privatedns/pTRRecord:PTRRecord example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/privateDnsZones/2.0.192.in-addr.arpa/PTR/15

```

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. Changing this forces a new resource to be created.
	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
	Ttl  pulumi.IntInput
	// Specifies the Private 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 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. Changing this forces a new resource to be created.
	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
	Ttl  pulumi.IntPtrInput
	// Specifies the Private DNS Zone where the 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. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// One or more `record` blocks as defined 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"`
	Ttl  pulumi.IntOutput       `pulumi:"ttl"`
	// Specifies the Private 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 SRV Records within Azure Private 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/privatedns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		testZone, err := privatedns.NewZone(ctx, "testZone", &privatedns.ZoneArgs{
			ResourceGroupName: pulumi.Any(azurerm_resource_group.Test.Name),
		})
		if err != nil {
			return err
		}
		_, err = privatedns.NewSRVRecord(ctx, "testSRVRecord", &privatedns.SRVRecordArgs{
			ResourceGroupName: pulumi.Any(azurerm_resource_group.Test.Name),
			ZoneName:          testZone.Name,
			Ttl:               pulumi.Int(300),
			Records: privatedns.SRVRecordRecordArray{
				&privatedns.SRVRecordRecordArgs{
					Priority: pulumi.Int(1),
					Weight:   pulumi.Int(5),
					Port:     pulumi.Int(8080),
					Target:   pulumi.String("target1.contoso.com"),
				},
				&privatedns.SRVRecordRecordArgs{
					Priority: pulumi.Int(10),
					Weight:   pulumi.Int(10),
					Port:     pulumi.Int(8080),
					Target:   pulumi.String("target2.contoso.com"),
				},
			},
			Tags: pulumi.StringMap{
				"Environment": pulumi.String("Production"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Private DNS SRV Records can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:privatedns/sRVRecord:SRVRecord test /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/privateDnsZones/contoso.com/SRV/test

```

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. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// One or more `record` blocks as defined 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
	Ttl  pulumi.IntInput
	// Specifies the Private 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 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 {
	// The Port the service is listening on.
	Port int `pulumi:"port"`
	// The priority of the SRV record.
	Priority int `pulumi:"priority"`
	// The FQDN of the service.
	Target string `pulumi:"target"`
	// The Weight of the SRV record.
	Weight int `pulumi:"weight"`
}

type SRVRecordRecordArgs

type SRVRecordRecordArgs struct {
	// The Port the service is listening on.
	Port pulumi.IntInput `pulumi:"port"`
	// The priority of the SRV record.
	Priority pulumi.IntInput `pulumi:"priority"`
	// The FQDN of the service.
	Target pulumi.StringInput `pulumi:"target"`
	// The 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

The Port the service is listening on.

func (SRVRecordRecordOutput) Priority

func (o SRVRecordRecordOutput) Priority() pulumi.IntOutput

The priority of the SRV record.

func (SRVRecordRecordOutput) Target

The 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

The 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. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// One or more `record` blocks as defined 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
	Ttl  pulumi.IntPtrInput
	// Specifies the Private DNS Zone where the 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. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// One or more `record` blocks as defined 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"`
	Ttl  pulumi.IntOutput       `pulumi:"ttl"`
	// Specifies the Private 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 TXT Records within Azure Private 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/privatedns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		testZone, err := privatedns.NewZone(ctx, "testZone", &privatedns.ZoneArgs{
			ResourceGroupName: pulumi.Any(azurerm_resource_group.Test.Name),
		})
		if err != nil {
			return err
		}
		_, err = privatedns.NewTxtRecord(ctx, "testTxtRecord", &privatedns.TxtRecordArgs{
			ResourceGroupName: pulumi.Any(azurerm_resource_group.Test.Name),
			ZoneName:          testZone.Name,
			Ttl:               pulumi.Int(300),
			Records: privatedns.TxtRecordRecordArray{
				&privatedns.TxtRecordRecordArgs{
					Value: pulumi.String("v=spf1 mx ~all"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Private DNS TXT Records can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:privatedns/txtRecord:TxtRecord test /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/privateDnsZones/contoso.com/TXT/test

```

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. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// One or more `record` blocks as defined 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
	Ttl  pulumi.IntInput
	// Specifies the Private 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 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 TXT record. Max length: 1024 characters
	Value string `pulumi:"value"`
}

type TxtRecordRecordArgs

type TxtRecordRecordArgs struct {
	// The value of the TXT 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 TXT 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. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// One or more `record` blocks as defined 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
	Ttl  pulumi.IntPtrInput
	// Specifies the Private DNS Zone where the 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

	// The maximum number of record sets that can be created in this Private DNS zone.
	MaxNumberOfRecordSets pulumi.IntOutput `pulumi:"maxNumberOfRecordSets"`
	// The maximum number of virtual networks that can be linked to this Private DNS zone.
	MaxNumberOfVirtualNetworkLinks pulumi.IntOutput `pulumi:"maxNumberOfVirtualNetworkLinks"`
	// The maximum number of virtual networks that can be linked to this Private DNS zone with registration enabled.
	MaxNumberOfVirtualNetworkLinksWithRegistration pulumi.IntOutput `pulumi:"maxNumberOfVirtualNetworkLinksWithRegistration"`
	// The name of the Private DNS Zone. Must be a valid domain name.
	Name pulumi.StringOutput `pulumi:"name"`
	// The current number of record sets in this Private DNS 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 Private DNS zones within Azure DNS. These zones are hosted on Azure's name servers.

## 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/privatedns"
"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
		}
		_, err = privatedns.NewZone(ctx, "exampleZone", &privatedns.ZoneArgs{
			ResourceGroupName: exampleResourceGroup.Name,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

$ pulumi import azure:privatedns/zone:Zone zone1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/privateDnsZones/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 Private 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"`
	// The fully qualified domain name of the Record Set.
	Fqdn *string `pulumi:"fqdn"`
	// The domain name of the authoritative name server for the SOA record.
	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 `10`.
	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.
	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"`
	// The fully qualified domain name of the Record Set.
	Fqdn pulumi.StringPtrInput `pulumi:"fqdn"`
	// The domain name of the authoritative name server for the SOA record.
	HostName pulumi.StringPtrInput `pulumi:"hostName"`
	// The minimum Time To Live for the SOA record. By convention, it is used to determine the negative caching duration. Defaults to `10`.
	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.
	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

The fully qualified domain name of the Record Set.

func (ZoneSoaRecordOutput) HostName

The domain name of the authoritative name server for the SOA record.

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 `10`.

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.

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

The fully qualified domain name of the Record Set.

func (ZoneSoaRecordPtrOutput) HostName

The domain name of the authoritative name server for the SOA record.

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 `10`.

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.

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 {
	// The maximum number of record sets that can be created in this Private DNS zone.
	MaxNumberOfRecordSets pulumi.IntPtrInput
	// The maximum number of virtual networks that can be linked to this Private DNS zone.
	MaxNumberOfVirtualNetworkLinks pulumi.IntPtrInput
	// The maximum number of virtual networks that can be linked to this Private DNS zone with registration enabled.
	MaxNumberOfVirtualNetworkLinksWithRegistration pulumi.IntPtrInput
	// The name of the Private DNS Zone. Must be a valid domain name.
	Name pulumi.StringPtrInput
	// The current number of record sets in this Private DNS 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
type ZoneVirtualNetworkLink struct {
	pulumi.CustomResourceState

	// The name of the Private DNS Zone Virtual Network Link. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the Private DNS zone (without a terminating dot). Changing this forces a new resource to be created.
	PrivateDnsZoneName pulumi.StringOutput `pulumi:"privateDnsZoneName"`
	// Is auto-registration of virtual machine records in the virtual network in the Private DNS zone enabled? Defaults to `false`.
	RegistrationEnabled pulumi.BoolPtrOutput `pulumi:"registrationEnabled"`
	// Specifies the resource group where the Private DNS Zone 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 ID of the Virtual Network that should be linked to the DNS Zone. Changing this forces a new resource to be created.
	VirtualNetworkId pulumi.StringOutput `pulumi:"virtualNetworkId"`
}

Enables you to manage Private DNS zone Virtual Network Links. These Links enable DNS resolution and registration inside Azure Virtual Networks using Azure Private 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/privatedns"
"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 := privatedns.NewZone(ctx, "exampleZone", &privatedns.ZoneArgs{
			ResourceGroupName: exampleResourceGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = privatedns.NewZoneVirtualNetworkLink(ctx, "exampleZoneVirtualNetworkLink", &privatedns.ZoneVirtualNetworkLinkArgs{
			ResourceGroupName:  exampleResourceGroup.Name,
			PrivateDnsZoneName: exampleZone.Name,
			VirtualNetworkId:   pulumi.Any(azurerm_virtual_network.Example.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Private DNS Zone Virtual Network Links can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:privatedns/zoneVirtualNetworkLink:ZoneVirtualNetworkLink link1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/privateDnsZones/zone1.com/virtualNetworkLinks/myVnetLink1

```

func GetZoneVirtualNetworkLink(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ZoneVirtualNetworkLinkState, opts ...pulumi.ResourceOption) (*ZoneVirtualNetworkLink, error)

GetZoneVirtualNetworkLink gets an existing ZoneVirtualNetworkLink 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 NewZoneVirtualNetworkLink(ctx *pulumi.Context,
	name string, args *ZoneVirtualNetworkLinkArgs, opts ...pulumi.ResourceOption) (*ZoneVirtualNetworkLink, error)

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

func (*ZoneVirtualNetworkLink) ElementType

func (*ZoneVirtualNetworkLink) ElementType() reflect.Type

func (*ZoneVirtualNetworkLink) ToZoneVirtualNetworkLinkOutput

func (i *ZoneVirtualNetworkLink) ToZoneVirtualNetworkLinkOutput() ZoneVirtualNetworkLinkOutput

func (*ZoneVirtualNetworkLink) ToZoneVirtualNetworkLinkOutputWithContext

func (i *ZoneVirtualNetworkLink) ToZoneVirtualNetworkLinkOutputWithContext(ctx context.Context) ZoneVirtualNetworkLinkOutput

type ZoneVirtualNetworkLinkArgs

type ZoneVirtualNetworkLinkArgs struct {
	// The name of the Private DNS Zone Virtual Network Link. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the Private DNS zone (without a terminating dot). Changing this forces a new resource to be created.
	PrivateDnsZoneName pulumi.StringInput
	// Is auto-registration of virtual machine records in the virtual network in the Private DNS zone enabled? Defaults to `false`.
	RegistrationEnabled pulumi.BoolPtrInput
	// Specifies the resource group where the Private DNS Zone 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 ID of the Virtual Network that should be linked to the DNS Zone. Changing this forces a new resource to be created.
	VirtualNetworkId pulumi.StringInput
}

The set of arguments for constructing a ZoneVirtualNetworkLink resource.

func (ZoneVirtualNetworkLinkArgs) ElementType

func (ZoneVirtualNetworkLinkArgs) ElementType() reflect.Type

type ZoneVirtualNetworkLinkArray

type ZoneVirtualNetworkLinkArray []ZoneVirtualNetworkLinkInput

func (ZoneVirtualNetworkLinkArray) ElementType

func (ZoneVirtualNetworkLinkArray) ToZoneVirtualNetworkLinkArrayOutput

func (i ZoneVirtualNetworkLinkArray) ToZoneVirtualNetworkLinkArrayOutput() ZoneVirtualNetworkLinkArrayOutput

func (ZoneVirtualNetworkLinkArray) ToZoneVirtualNetworkLinkArrayOutputWithContext

func (i ZoneVirtualNetworkLinkArray) ToZoneVirtualNetworkLinkArrayOutputWithContext(ctx context.Context) ZoneVirtualNetworkLinkArrayOutput

type ZoneVirtualNetworkLinkArrayInput

type ZoneVirtualNetworkLinkArrayInput interface {
	pulumi.Input

	ToZoneVirtualNetworkLinkArrayOutput() ZoneVirtualNetworkLinkArrayOutput
	ToZoneVirtualNetworkLinkArrayOutputWithContext(context.Context) ZoneVirtualNetworkLinkArrayOutput
}

ZoneVirtualNetworkLinkArrayInput is an input type that accepts ZoneVirtualNetworkLinkArray and ZoneVirtualNetworkLinkArrayOutput values. You can construct a concrete instance of `ZoneVirtualNetworkLinkArrayInput` via:

ZoneVirtualNetworkLinkArray{ ZoneVirtualNetworkLinkArgs{...} }

type ZoneVirtualNetworkLinkArrayOutput

type ZoneVirtualNetworkLinkArrayOutput struct{ *pulumi.OutputState }

func (ZoneVirtualNetworkLinkArrayOutput) ElementType

func (ZoneVirtualNetworkLinkArrayOutput) Index

func (ZoneVirtualNetworkLinkArrayOutput) ToZoneVirtualNetworkLinkArrayOutput

func (o ZoneVirtualNetworkLinkArrayOutput) ToZoneVirtualNetworkLinkArrayOutput() ZoneVirtualNetworkLinkArrayOutput

func (ZoneVirtualNetworkLinkArrayOutput) ToZoneVirtualNetworkLinkArrayOutputWithContext

func (o ZoneVirtualNetworkLinkArrayOutput) ToZoneVirtualNetworkLinkArrayOutputWithContext(ctx context.Context) ZoneVirtualNetworkLinkArrayOutput

type ZoneVirtualNetworkLinkInput

type ZoneVirtualNetworkLinkInput interface {
	pulumi.Input

	ToZoneVirtualNetworkLinkOutput() ZoneVirtualNetworkLinkOutput
	ToZoneVirtualNetworkLinkOutputWithContext(ctx context.Context) ZoneVirtualNetworkLinkOutput
}

type ZoneVirtualNetworkLinkMap

type ZoneVirtualNetworkLinkMap map[string]ZoneVirtualNetworkLinkInput

func (ZoneVirtualNetworkLinkMap) ElementType

func (ZoneVirtualNetworkLinkMap) ElementType() reflect.Type

func (ZoneVirtualNetworkLinkMap) ToZoneVirtualNetworkLinkMapOutput

func (i ZoneVirtualNetworkLinkMap) ToZoneVirtualNetworkLinkMapOutput() ZoneVirtualNetworkLinkMapOutput

func (ZoneVirtualNetworkLinkMap) ToZoneVirtualNetworkLinkMapOutputWithContext

func (i ZoneVirtualNetworkLinkMap) ToZoneVirtualNetworkLinkMapOutputWithContext(ctx context.Context) ZoneVirtualNetworkLinkMapOutput

type ZoneVirtualNetworkLinkMapInput

type ZoneVirtualNetworkLinkMapInput interface {
	pulumi.Input

	ToZoneVirtualNetworkLinkMapOutput() ZoneVirtualNetworkLinkMapOutput
	ToZoneVirtualNetworkLinkMapOutputWithContext(context.Context) ZoneVirtualNetworkLinkMapOutput
}

ZoneVirtualNetworkLinkMapInput is an input type that accepts ZoneVirtualNetworkLinkMap and ZoneVirtualNetworkLinkMapOutput values. You can construct a concrete instance of `ZoneVirtualNetworkLinkMapInput` via:

ZoneVirtualNetworkLinkMap{ "key": ZoneVirtualNetworkLinkArgs{...} }

type ZoneVirtualNetworkLinkMapOutput

type ZoneVirtualNetworkLinkMapOutput struct{ *pulumi.OutputState }

func (ZoneVirtualNetworkLinkMapOutput) ElementType

func (ZoneVirtualNetworkLinkMapOutput) MapIndex

func (ZoneVirtualNetworkLinkMapOutput) ToZoneVirtualNetworkLinkMapOutput

func (o ZoneVirtualNetworkLinkMapOutput) ToZoneVirtualNetworkLinkMapOutput() ZoneVirtualNetworkLinkMapOutput

func (ZoneVirtualNetworkLinkMapOutput) ToZoneVirtualNetworkLinkMapOutputWithContext

func (o ZoneVirtualNetworkLinkMapOutput) ToZoneVirtualNetworkLinkMapOutputWithContext(ctx context.Context) ZoneVirtualNetworkLinkMapOutput

type ZoneVirtualNetworkLinkOutput

type ZoneVirtualNetworkLinkOutput struct{ *pulumi.OutputState }

func (ZoneVirtualNetworkLinkOutput) ElementType

func (ZoneVirtualNetworkLinkOutput) ToZoneVirtualNetworkLinkOutput

func (o ZoneVirtualNetworkLinkOutput) ToZoneVirtualNetworkLinkOutput() ZoneVirtualNetworkLinkOutput

func (ZoneVirtualNetworkLinkOutput) ToZoneVirtualNetworkLinkOutputWithContext

func (o ZoneVirtualNetworkLinkOutput) ToZoneVirtualNetworkLinkOutputWithContext(ctx context.Context) ZoneVirtualNetworkLinkOutput

type ZoneVirtualNetworkLinkState

type ZoneVirtualNetworkLinkState struct {
	// The name of the Private DNS Zone Virtual Network Link. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the Private DNS zone (without a terminating dot). Changing this forces a new resource to be created.
	PrivateDnsZoneName pulumi.StringPtrInput
	// Is auto-registration of virtual machine records in the virtual network in the Private DNS zone enabled? Defaults to `false`.
	RegistrationEnabled pulumi.BoolPtrInput
	// Specifies the resource group where the Private DNS Zone 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 ID of the Virtual Network that should be linked to the DNS Zone. Changing this forces a new resource to be created.
	VirtualNetworkId pulumi.StringPtrInput
}

func (ZoneVirtualNetworkLinkState) ElementType

Jump to

Keyboard shortcuts

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