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

type AfdEndpoint_STATUS struct {
	// Id: Resource ID.
	Id *string `json:"id,omitempty"`

	// Location: Resource location.
	Location *string `json:"location,omitempty"`

	// Name: Resource name.
	Name *string `json:"name,omitempty"`

	// Properties: The JSON object that contains the properties required to create an endpoint.
	Properties *AFDEndpointProperties_STATUS `json:"properties,omitempty"`

	// SystemData: Read only system data
	SystemData *SystemData_STATUS `json:"systemData,omitempty"`

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

	// Type: Resource type.
	Type *string `json:"type,omitempty"`
}

// The JSON object that contains the properties required to create an endpoint.
type AFDEndpointProperties_STATUS struct {
	// AutoGeneratedDomainNameLabelScope: Indicates the endpoint name reuse scope. The default value is TenantReuse.
	AutoGeneratedDomainNameLabelScope *AutoGeneratedDomainNameLabelScope_STATUS      `json:"autoGeneratedDomainNameLabelScope,omitempty"`
	DeploymentStatus                  *AFDEndpointProperties_DeploymentStatus_STATUS `json:"deploymentStatus,omitempty"`

	// EnabledState: Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'
	EnabledState *AFDEndpointProperties_EnabledState_STATUS `json:"enabledState,omitempty"`

	// HostName: The host name of the endpoint structured as {endpointName}.{DNSZone}, e.g. contoso.azureedge.net
	HostName *string `json:"hostName,omitempty"`

	// ProfileName: The name of the profile which holds the endpoint.
	ProfileName *string `json:"profileName,omitempty"`

	// ProvisioningState: Provisioning status
	ProvisioningState *AFDEndpointProperties_ProvisioningState_STATUS `json:"provisioningState,omitempty"`
}

type AFDEndpointProperties_DeploymentStatus_STATUS string

const (
	AFDEndpointProperties_DeploymentStatus_STATUS_Failed     = AFDEndpointProperties_DeploymentStatus_STATUS("Failed")
	AFDEndpointProperties_DeploymentStatus_STATUS_InProgress = AFDEndpointProperties_DeploymentStatus_STATUS("InProgress")
	AFDEndpointProperties_DeploymentStatus_STATUS_NotStarted = AFDEndpointProperties_DeploymentStatus_STATUS("NotStarted")
	AFDEndpointProperties_DeploymentStatus_STATUS_Succeeded  = AFDEndpointProperties_DeploymentStatus_STATUS("Succeeded")
)

// Mapping from string to AFDEndpointProperties_DeploymentStatus_STATUS
var aFDEndpointProperties_DeploymentStatus_STATUS_Values = map[string]AFDEndpointProperties_DeploymentStatus_STATUS{
	"failed":     AFDEndpointProperties_DeploymentStatus_STATUS_Failed,
	"inprogress": AFDEndpointProperties_DeploymentStatus_STATUS_InProgress,
	"notstarted": AFDEndpointProperties_DeploymentStatus_STATUS_NotStarted,
	"succeeded":  AFDEndpointProperties_DeploymentStatus_STATUS_Succeeded,
}

type AFDEndpointProperties_EnabledState_STATUS string

const (
	AFDEndpointProperties_EnabledState_STATUS_Disabled = AFDEndpointProperties_EnabledState_STATUS("Disabled")
	AFDEndpointProperties_EnabledState_STATUS_Enabled  = AFDEndpointProperties_EnabledState_STATUS("Enabled")
)

// Mapping from string to AFDEndpointProperties_EnabledState_STATUS
var aFDEndpointProperties_EnabledState_STATUS_Values = map[string]AFDEndpointProperties_EnabledState_STATUS{
	"disabled": AFDEndpointProperties_EnabledState_STATUS_Disabled,
	"enabled":  AFDEndpointProperties_EnabledState_STATUS_Enabled,
}

type AFDEndpointProperties_ProvisioningState_STATUS string

const (
	AFDEndpointProperties_ProvisioningState_STATUS_Creating  = AFDEndpointProperties_ProvisioningState_STATUS("Creating")
	AFDEndpointProperties_ProvisioningState_STATUS_Deleting  = AFDEndpointProperties_ProvisioningState_STATUS("Deleting")
	AFDEndpointProperties_ProvisioningState_STATUS_Failed    = AFDEndpointProperties_ProvisioningState_STATUS("Failed")
	AFDEndpointProperties_ProvisioningState_STATUS_Succeeded = AFDEndpointProperties_ProvisioningState_STATUS("Succeeded")
	AFDEndpointProperties_ProvisioningState_STATUS_Updating  = AFDEndpointProperties_ProvisioningState_STATUS("Updating")
)

// Mapping from string to AFDEndpointProperties_ProvisioningState_STATUS
var aFDEndpointProperties_ProvisioningState_STATUS_Values = map[string]AFDEndpointProperties_ProvisioningState_STATUS{
	"creating":  AFDEndpointProperties_ProvisioningState_STATUS_Creating,
	"deleting":  AFDEndpointProperties_ProvisioningState_STATUS_Deleting,
	"failed":    AFDEndpointProperties_ProvisioningState_STATUS_Failed,
	"succeeded": AFDEndpointProperties_ProvisioningState_STATUS_Succeeded,
	"updating":  AFDEndpointProperties_ProvisioningState_STATUS_Updating,
}

// Indicates the endpoint name reuse scope. The default value is TenantReuse.
type AutoGeneratedDomainNameLabelScope_STATUS string

const (
	AutoGeneratedDomainNameLabelScope_STATUS_NoReuse            = AutoGeneratedDomainNameLabelScope_STATUS("NoReuse")
	AutoGeneratedDomainNameLabelScope_STATUS_ResourceGroupReuse = AutoGeneratedDomainNameLabelScope_STATUS("ResourceGroupReuse")
	AutoGeneratedDomainNameLabelScope_STATUS_SubscriptionReuse  = AutoGeneratedDomainNameLabelScope_STATUS("SubscriptionReuse")
	AutoGeneratedDomainNameLabelScope_STATUS_TenantReuse        = AutoGeneratedDomainNameLabelScope_STATUS("TenantReuse")
)

// Mapping from string to AutoGeneratedDomainNameLabelScope_STATUS
var autoGeneratedDomainNameLabelScope_STATUS_Values = map[string]AutoGeneratedDomainNameLabelScope_STATUS{
	"noreuse":            AutoGeneratedDomainNameLabelScope_STATUS_NoReuse,
	"resourcegroupreuse": AutoGeneratedDomainNameLabelScope_STATUS_ResourceGroupReuse,
	"subscriptionreuse":  AutoGeneratedDomainNameLabelScope_STATUS_SubscriptionReuse,
	"tenantreuse":        AutoGeneratedDomainNameLabelScope_STATUS_TenantReuse,
}
