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

type PrivateEndpointsPrivateDnsZoneGroup_STATUS struct {
	// Etag: A unique read-only string that changes whenever the resource is updated.
	Etag *string `json:"etag,omitempty"`

	// Id: Resource ID.
	Id *string `json:"id,omitempty"`

	// Name: Name of the resource that is unique within a resource group. This name can be used to access the resource.
	Name *string `json:"name,omitempty"`

	// Properties: Properties of the private dns zone group.
	Properties *PrivateDnsZoneGroupPropertiesFormat_STATUS `json:"properties,omitempty"`
}

// Properties of the private dns zone group.
type PrivateDnsZoneGroupPropertiesFormat_STATUS struct {
	// PrivateDnsZoneConfigs: A collection of private dns zone configurations of the private dns zone group.
	PrivateDnsZoneConfigs []PrivateDnsZoneConfig_STATUS `json:"privateDnsZoneConfigs,omitempty"`

	// ProvisioningState: The provisioning state of the private dns zone group resource.
	ProvisioningState *PrivateEndpointProvisioningState_STATUS `json:"provisioningState,omitempty"`
}

// PrivateDnsZoneConfig resource.
type PrivateDnsZoneConfig_STATUS struct {
	// Name: Name of the resource that is unique within a resource group. This name can be used to access the resource.
	Name *string `json:"name,omitempty"`

	// Properties: Properties of the private dns zone configuration.
	Properties *PrivateDnsZonePropertiesFormat_STATUS `json:"properties,omitempty"`
}

// The current provisioning state.
type PrivateEndpointProvisioningState_STATUS string

const (
	PrivateEndpointProvisioningState_STATUS_Deleting  = PrivateEndpointProvisioningState_STATUS("Deleting")
	PrivateEndpointProvisioningState_STATUS_Failed    = PrivateEndpointProvisioningState_STATUS("Failed")
	PrivateEndpointProvisioningState_STATUS_Succeeded = PrivateEndpointProvisioningState_STATUS("Succeeded")
	PrivateEndpointProvisioningState_STATUS_Updating  = PrivateEndpointProvisioningState_STATUS("Updating")
)

// Mapping from string to PrivateEndpointProvisioningState_STATUS
var privateEndpointProvisioningState_STATUS_Values = map[string]PrivateEndpointProvisioningState_STATUS{
	"deleting":  PrivateEndpointProvisioningState_STATUS_Deleting,
	"failed":    PrivateEndpointProvisioningState_STATUS_Failed,
	"succeeded": PrivateEndpointProvisioningState_STATUS_Succeeded,
	"updating":  PrivateEndpointProvisioningState_STATUS_Updating,
}

// Properties of the private dns zone configuration resource.
type PrivateDnsZonePropertiesFormat_STATUS struct {
	// PrivateDnsZoneId: The resource id of the private dns zone.
	PrivateDnsZoneId *string `json:"privateDnsZoneId,omitempty"`

	// RecordSets: A collection of information regarding a recordSet, holding information to identify private resources.
	RecordSets []RecordSet_STATUS `json:"recordSets,omitempty"`
}

// A collective group of information about the record set information.
type RecordSet_STATUS struct {
	// Fqdn: Fqdn that resolves to private endpoint ip address.
	Fqdn *string `json:"fqdn,omitempty"`

	// IpAddresses: The private ip address of the private endpoint.
	IpAddresses []string `json:"ipAddresses,omitempty"`

	// ProvisioningState: The provisioning state of the recordset.
	ProvisioningState *PrivateEndpointProvisioningState_STATUS `json:"provisioningState,omitempty"`

	// RecordSetName: Recordset name.
	RecordSetName *string `json:"recordSetName,omitempty"`

	// RecordType: Resource record type.
	RecordType *string `json:"recordType,omitempty"`

	// Ttl: Recordset time to live.
	Ttl *int `json:"ttl,omitempty"`
}
