// Code generated by azure-service-operator-codegen. DO NOT EDIT.
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
package arm

import "github.com/Azure/azure-service-operator/v2/pkg/genruntime"

type PrivateDnsZonesVirtualNetworkLink_Spec struct {
	// Etag: The ETag of the virtual network link.
	Etag *string `json:"etag,omitempty"`

	// Location: The Azure Region where the resource lives
	Location *string `json:"location,omitempty"`
	Name     string  `json:"name,omitempty"`

	// Properties: Properties of the virtual network link to the Private DNS zone.
	Properties *VirtualNetworkLinkProperties `json:"properties,omitempty"`

	// Tags: Resource tags.
	Tags map[string]string `json:"tags,omitempty"`
}

var _ genruntime.ARMResourceSpec = &PrivateDnsZonesVirtualNetworkLink_Spec{}

// GetAPIVersion returns the ARM API version of the resource. This is always "2020-06-01"
func (link PrivateDnsZonesVirtualNetworkLink_Spec) GetAPIVersion() string {
	return "2020-06-01"
}

// GetName returns the Name of the resource
func (link *PrivateDnsZonesVirtualNetworkLink_Spec) GetName() string {
	return link.Name
}

// GetType returns the ARM Type of the resource. This is always "Microsoft.Network/privateDnsZones/virtualNetworkLinks"
func (link *PrivateDnsZonesVirtualNetworkLink_Spec) GetType() string {
	return "Microsoft.Network/privateDnsZones/virtualNetworkLinks"
}

// Represents the properties of the Private DNS zone.
type VirtualNetworkLinkProperties struct {
	// RegistrationEnabled: Is auto-registration of virtual machine records in the virtual network in the Private DNS zone
	// enabled?
	RegistrationEnabled *bool `json:"registrationEnabled,omitempty"`

	// VirtualNetwork: The reference of the virtual network.
	VirtualNetwork *SubResource `json:"virtualNetwork,omitempty"`
}

// Reference to another subresource.
type SubResource struct {
	// Id: Resource ID.
	Id *string `json:"id,omitempty"`
}
