// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.

package armproviderhub

const (
	moduleName    = "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/providerhub/armproviderhub"
	moduleVersion = "v2.0.0"
)

// AdditionalOptions - The additional options.
type AdditionalOptions string

const (
	AdditionalOptionsProtectedAsyncOperationPolling          AdditionalOptions = "ProtectedAsyncOperationPolling"
	AdditionalOptionsProtectedAsyncOperationPollingAuditOnly AdditionalOptions = "ProtectedAsyncOperationPollingAuditOnly"
)

// PossibleAdditionalOptionsValues returns the possible values for the AdditionalOptions const type.
func PossibleAdditionalOptionsValues() []AdditionalOptions {
	return []AdditionalOptions{
		AdditionalOptionsProtectedAsyncOperationPolling,
		AdditionalOptionsProtectedAsyncOperationPollingAuditOnly,
	}
}

// AdditionalOptionsAsyncOperation - The additional options.
type AdditionalOptionsAsyncOperation string

const (
	AdditionalOptionsAsyncOperationProtectedAsyncOperationPolling          AdditionalOptionsAsyncOperation = "ProtectedAsyncOperationPolling"
	AdditionalOptionsAsyncOperationProtectedAsyncOperationPollingAuditOnly AdditionalOptionsAsyncOperation = "ProtectedAsyncOperationPollingAuditOnly"
)

// PossibleAdditionalOptionsAsyncOperationValues returns the possible values for the AdditionalOptionsAsyncOperation const type.
func PossibleAdditionalOptionsAsyncOperationValues() []AdditionalOptionsAsyncOperation {
	return []AdditionalOptionsAsyncOperation{
		AdditionalOptionsAsyncOperationProtectedAsyncOperationPolling,
		AdditionalOptionsAsyncOperationProtectedAsyncOperationPollingAuditOnly,
	}
}

// AdditionalOptionsResourceTypeRegistration - The additional options.
type AdditionalOptionsResourceTypeRegistration string

const (
	AdditionalOptionsResourceTypeRegistrationProtectedAsyncOperationPolling          AdditionalOptionsResourceTypeRegistration = "ProtectedAsyncOperationPolling"
	AdditionalOptionsResourceTypeRegistrationProtectedAsyncOperationPollingAuditOnly AdditionalOptionsResourceTypeRegistration = "ProtectedAsyncOperationPollingAuditOnly"
)

// PossibleAdditionalOptionsResourceTypeRegistrationValues returns the possible values for the AdditionalOptionsResourceTypeRegistration const type.
func PossibleAdditionalOptionsResourceTypeRegistrationValues() []AdditionalOptionsResourceTypeRegistration {
	return []AdditionalOptionsResourceTypeRegistration{
		AdditionalOptionsResourceTypeRegistrationProtectedAsyncOperationPolling,
		AdditionalOptionsResourceTypeRegistrationProtectedAsyncOperationPollingAuditOnly,
	}
}

// AuthenticationScheme - The authentication scheme.
type AuthenticationScheme string

const (
	AuthenticationSchemeBearer AuthenticationScheme = "Bearer"
	AuthenticationSchemePoP    AuthenticationScheme = "PoP"
)

// PossibleAuthenticationSchemeValues returns the possible values for the AuthenticationScheme const type.
func PossibleAuthenticationSchemeValues() []AuthenticationScheme {
	return []AuthenticationScheme{
		AuthenticationSchemeBearer,
		AuthenticationSchemePoP,
	}
}

type AvailabilityZonePolicy string

const (
	AvailabilityZonePolicyMultiZoned   AvailabilityZonePolicy = "MultiZoned"
	AvailabilityZonePolicyNotSpecified AvailabilityZonePolicy = "NotSpecified"
	AvailabilityZonePolicySingleZoned  AvailabilityZonePolicy = "SingleZoned"
)

// PossibleAvailabilityZonePolicyValues returns the possible values for the AvailabilityZonePolicy const type.
func PossibleAvailabilityZonePolicyValues() []AvailabilityZonePolicy {
	return []AvailabilityZonePolicy{
		AvailabilityZonePolicyMultiZoned,
		AvailabilityZonePolicyNotSpecified,
		AvailabilityZonePolicySingleZoned,
	}
}

// AvailableCheckInManifestEnvironment - The environment type.
type AvailableCheckInManifestEnvironment string

const (
	AvailableCheckInManifestEnvironmentAll          AvailableCheckInManifestEnvironment = "All"
	AvailableCheckInManifestEnvironmentCanary       AvailableCheckInManifestEnvironment = "Canary"
	AvailableCheckInManifestEnvironmentFairfax      AvailableCheckInManifestEnvironment = "Fairfax"
	AvailableCheckInManifestEnvironmentMooncake     AvailableCheckInManifestEnvironment = "Mooncake"
	AvailableCheckInManifestEnvironmentNotSpecified AvailableCheckInManifestEnvironment = "NotSpecified"
	AvailableCheckInManifestEnvironmentProd         AvailableCheckInManifestEnvironment = "Prod"
)

// PossibleAvailableCheckInManifestEnvironmentValues returns the possible values for the AvailableCheckInManifestEnvironment const type.
func PossibleAvailableCheckInManifestEnvironmentValues() []AvailableCheckInManifestEnvironment {
	return []AvailableCheckInManifestEnvironment{
		AvailableCheckInManifestEnvironmentAll,
		AvailableCheckInManifestEnvironmentCanary,
		AvailableCheckInManifestEnvironmentFairfax,
		AvailableCheckInManifestEnvironmentMooncake,
		AvailableCheckInManifestEnvironmentNotSpecified,
		AvailableCheckInManifestEnvironmentProd,
	}
}

// BlockActionVerb - The action verb that will be blocked when the resource group is locked during move.
type BlockActionVerb string

const (
	BlockActionVerbAction       BlockActionVerb = "Action"
	BlockActionVerbDelete       BlockActionVerb = "Delete"
	BlockActionVerbNotSpecified BlockActionVerb = "NotSpecified"
	BlockActionVerbRead         BlockActionVerb = "Read"
	BlockActionVerbUnrecognized BlockActionVerb = "Unrecognized"
	BlockActionVerbWrite        BlockActionVerb = "Write"
)

// PossibleBlockActionVerbValues returns the possible values for the BlockActionVerb const type.
func PossibleBlockActionVerbValues() []BlockActionVerb {
	return []BlockActionVerb{
		BlockActionVerbAction,
		BlockActionVerbDelete,
		BlockActionVerbNotSpecified,
		BlockActionVerbRead,
		BlockActionVerbUnrecognized,
		BlockActionVerbWrite,
	}
}

// CapacityPolicy - Capacity policy.
type CapacityPolicy string

const (
	CapacityPolicyDefault    CapacityPolicy = "Default"
	CapacityPolicyRestricted CapacityPolicy = "Restricted"
)

// PossibleCapacityPolicyValues returns the possible values for the CapacityPolicy const type.
func PossibleCapacityPolicyValues() []CapacityPolicy {
	return []CapacityPolicy{
		CapacityPolicyDefault,
		CapacityPolicyRestricted,
	}
}

// CommonAPIVersionsMergeMode - Common api versions merge mode.
type CommonAPIVersionsMergeMode string

const (
	CommonAPIVersionsMergeModeMerge     CommonAPIVersionsMergeMode = "Merge"
	CommonAPIVersionsMergeModeOverwrite CommonAPIVersionsMergeMode = "Overwrite"
)

// PossibleCommonAPIVersionsMergeModeValues returns the possible values for the CommonAPIVersionsMergeMode const type.
func PossibleCommonAPIVersionsMergeModeValues() []CommonAPIVersionsMergeMode {
	return []CommonAPIVersionsMergeMode{
		CommonAPIVersionsMergeModeMerge,
		CommonAPIVersionsMergeModeOverwrite,
	}
}

// CreatedByType - The type of identity that created the resource.
type CreatedByType string

const (
	CreatedByTypeApplication     CreatedByType = "Application"
	CreatedByTypeKey             CreatedByType = "Key"
	CreatedByTypeManagedIdentity CreatedByType = "ManagedIdentity"
	CreatedByTypeUser            CreatedByType = "User"
)

// PossibleCreatedByTypeValues returns the possible values for the CreatedByType const type.
func PossibleCreatedByTypeValues() []CreatedByType {
	return []CreatedByType{
		CreatedByTypeApplication,
		CreatedByTypeKey,
		CreatedByTypeManagedIdentity,
		CreatedByTypeUser,
	}
}

// CrossTenantTokenValidation - The cross tenant token validation.
type CrossTenantTokenValidation string

const (
	CrossTenantTokenValidationEnsureSecureValidation   CrossTenantTokenValidation = "EnsureSecureValidation"
	CrossTenantTokenValidationPassthroughInsecureToken CrossTenantTokenValidation = "PassthroughInsecureToken"
)

// PossibleCrossTenantTokenValidationValues returns the possible values for the CrossTenantTokenValidation const type.
func PossibleCrossTenantTokenValidationValues() []CrossTenantTokenValidation {
	return []CrossTenantTokenValidation{
		CrossTenantTokenValidationEnsureSecureValidation,
		CrossTenantTokenValidationPassthroughInsecureToken,
	}
}

// DataBoundary - The data boundary.
type DataBoundary string

const (
	DataBoundaryEU         DataBoundary = "EU"
	DataBoundaryGlobal     DataBoundary = "Global"
	DataBoundaryNotDefined DataBoundary = "NotDefined"
	DataBoundaryUS         DataBoundary = "US"
)

// PossibleDataBoundaryValues returns the possible values for the DataBoundary const type.
func PossibleDataBoundaryValues() []DataBoundary {
	return []DataBoundary{
		DataBoundaryEU,
		DataBoundaryGlobal,
		DataBoundaryNotDefined,
		DataBoundaryUS,
	}
}

// EndpointType - The endpoint type.
type EndpointType string

const (
	EndpointTypeCanary           EndpointType = "Canary"
	EndpointTypeNotSpecified     EndpointType = "NotSpecified"
	EndpointTypeProduction       EndpointType = "Production"
	EndpointTypeTestInProduction EndpointType = "TestInProduction"
)

// PossibleEndpointTypeValues returns the possible values for the EndpointType const type.
func PossibleEndpointTypeValues() []EndpointType {
	return []EndpointType{
		EndpointTypeCanary,
		EndpointTypeNotSpecified,
		EndpointTypeProduction,
		EndpointTypeTestInProduction,
	}
}

// EndpointTypeResourceType - The endpoint type.
type EndpointTypeResourceType string

const (
	EndpointTypeResourceTypeCanary           EndpointTypeResourceType = "Canary"
	EndpointTypeResourceTypeNotSpecified     EndpointTypeResourceType = "NotSpecified"
	EndpointTypeResourceTypeProduction       EndpointTypeResourceType = "Production"
	EndpointTypeResourceTypeTestInProduction EndpointTypeResourceType = "TestInProduction"
)

// PossibleEndpointTypeResourceTypeValues returns the possible values for the EndpointTypeResourceType const type.
func PossibleEndpointTypeResourceTypeValues() []EndpointTypeResourceType {
	return []EndpointTypeResourceType{
		EndpointTypeResourceTypeCanary,
		EndpointTypeResourceTypeNotSpecified,
		EndpointTypeResourceTypeProduction,
		EndpointTypeResourceTypeTestInProduction,
	}
}

// ExpeditedRolloutIntent - Expedited rollout intent.
type ExpeditedRolloutIntent string

const (
	ExpeditedRolloutIntentHotfix       ExpeditedRolloutIntent = "Hotfix"
	ExpeditedRolloutIntentNotSpecified ExpeditedRolloutIntent = "NotSpecified"
)

// PossibleExpeditedRolloutIntentValues returns the possible values for the ExpeditedRolloutIntent const type.
func PossibleExpeditedRolloutIntentValues() []ExpeditedRolloutIntent {
	return []ExpeditedRolloutIntent{
		ExpeditedRolloutIntentHotfix,
		ExpeditedRolloutIntentNotSpecified,
	}
}

// ExtendedLocationType - The extended location type.
type ExtendedLocationType string

const (
	// ExtendedLocationTypeArcZone - The extended location type is arc zone.
	ExtendedLocationTypeArcZone ExtendedLocationType = "ArcZone"
	// ExtendedLocationTypeCustomLocation - The extended location type is custom location.
	ExtendedLocationTypeCustomLocation ExtendedLocationType = "CustomLocation"
	// ExtendedLocationTypeEdgeZone - The extended location type is edge zone.
	ExtendedLocationTypeEdgeZone ExtendedLocationType = "EdgeZone"
	// ExtendedLocationTypeNotSpecified - The extended location type is not specified.
	ExtendedLocationTypeNotSpecified ExtendedLocationType = "NotSpecified"
)

// PossibleExtendedLocationTypeValues returns the possible values for the ExtendedLocationType const type.
func PossibleExtendedLocationTypeValues() []ExtendedLocationType {
	return []ExtendedLocationType{
		ExtendedLocationTypeArcZone,
		ExtendedLocationTypeCustomLocation,
		ExtendedLocationTypeEdgeZone,
		ExtendedLocationTypeNotSpecified,
	}
}

type ExtensionCategory string

const (
	ExtensionCategoryBestMatchOperationBegin                   ExtensionCategory = "BestMatchOperationBegin"
	ExtensionCategoryNotSpecified                              ExtensionCategory = "NotSpecified"
	ExtensionCategoryResourceCreationBegin                     ExtensionCategory = "ResourceCreationBegin"
	ExtensionCategoryResourceCreationCompleted                 ExtensionCategory = "ResourceCreationCompleted"
	ExtensionCategoryResourceCreationValidate                  ExtensionCategory = "ResourceCreationValidate"
	ExtensionCategoryResourceDeletionBegin                     ExtensionCategory = "ResourceDeletionBegin"
	ExtensionCategoryResourceDeletionCompleted                 ExtensionCategory = "ResourceDeletionCompleted"
	ExtensionCategoryResourceDeletionValidate                  ExtensionCategory = "ResourceDeletionValidate"
	ExtensionCategoryResourceMoveBegin                         ExtensionCategory = "ResourceMoveBegin"
	ExtensionCategoryResourceMoveCompleted                     ExtensionCategory = "ResourceMoveCompleted"
	ExtensionCategoryResourcePatchBegin                        ExtensionCategory = "ResourcePatchBegin"
	ExtensionCategoryResourcePatchCompleted                    ExtensionCategory = "ResourcePatchCompleted"
	ExtensionCategoryResourcePatchValidate                     ExtensionCategory = "ResourcePatchValidate"
	ExtensionCategoryResourcePostAction                        ExtensionCategory = "ResourcePostAction"
	ExtensionCategoryResourceReadBegin                         ExtensionCategory = "ResourceReadBegin"
	ExtensionCategoryResourceReadValidate                      ExtensionCategory = "ResourceReadValidate"
	ExtensionCategorySubscriptionLifecycleNotification         ExtensionCategory = "SubscriptionLifecycleNotification"
	ExtensionCategorySubscriptionLifecycleNotificationDeletion ExtensionCategory = "SubscriptionLifecycleNotificationDeletion"
)

// PossibleExtensionCategoryValues returns the possible values for the ExtensionCategory const type.
func PossibleExtensionCategoryValues() []ExtensionCategory {
	return []ExtensionCategory{
		ExtensionCategoryBestMatchOperationBegin,
		ExtensionCategoryNotSpecified,
		ExtensionCategoryResourceCreationBegin,
		ExtensionCategoryResourceCreationCompleted,
		ExtensionCategoryResourceCreationValidate,
		ExtensionCategoryResourceDeletionBegin,
		ExtensionCategoryResourceDeletionCompleted,
		ExtensionCategoryResourceDeletionValidate,
		ExtensionCategoryResourceMoveBegin,
		ExtensionCategoryResourceMoveCompleted,
		ExtensionCategoryResourcePatchBegin,
		ExtensionCategoryResourcePatchCompleted,
		ExtensionCategoryResourcePatchValidate,
		ExtensionCategoryResourcePostAction,
		ExtensionCategoryResourceReadBegin,
		ExtensionCategoryResourceReadValidate,
		ExtensionCategorySubscriptionLifecycleNotification,
		ExtensionCategorySubscriptionLifecycleNotificationDeletion,
	}
}

type ExtensionOptionType string

const (
	ExtensionOptionTypeDoNotMergeExistingReadOnlyAndSecretProperties ExtensionOptionType = "DoNotMergeExistingReadOnlyAndSecretProperties"
	ExtensionOptionTypeIncludeInternalMetadata                       ExtensionOptionType = "IncludeInternalMetadata"
	ExtensionOptionTypeNotSpecified                                  ExtensionOptionType = "NotSpecified"
)

// PossibleExtensionOptionTypeValues returns the possible values for the ExtensionOptionType const type.
func PossibleExtensionOptionTypeValues() []ExtensionOptionType {
	return []ExtensionOptionType{
		ExtensionOptionTypeDoNotMergeExistingReadOnlyAndSecretProperties,
		ExtensionOptionTypeIncludeInternalMetadata,
		ExtensionOptionTypeNotSpecified,
	}
}

// FeaturesPolicy - The required feature policy.
type FeaturesPolicy string

const (
	FeaturesPolicyAll FeaturesPolicy = "All"
	FeaturesPolicyAny FeaturesPolicy = "Any"
)

// PossibleFeaturesPolicyValues returns the possible values for the FeaturesPolicy const type.
func PossibleFeaturesPolicyValues() []FeaturesPolicy {
	return []FeaturesPolicy{
		FeaturesPolicyAll,
		FeaturesPolicyAny,
	}
}

// FilterOption - Filter option.
type FilterOption string

const (
	FilterOptionEnableSubscriptionFilterOnTenant FilterOption = "EnableSubscriptionFilterOnTenant"
	FilterOptionNotSpecified                     FilterOption = "NotSpecified"
)

// PossibleFilterOptionValues returns the possible values for the FilterOption const type.
func PossibleFilterOptionValues() []FilterOption {
	return []FilterOption{
		FilterOptionEnableSubscriptionFilterOnTenant,
		FilterOptionNotSpecified,
	}
}

// FrontdoorRequestMode - The frontdoor request mode.
type FrontdoorRequestMode string

const (
	FrontdoorRequestModeNotSpecified FrontdoorRequestMode = "NotSpecified"
	FrontdoorRequestModeUseManifest  FrontdoorRequestMode = "UseManifest"
)

// PossibleFrontdoorRequestModeValues returns the possible values for the FrontdoorRequestMode const type.
func PossibleFrontdoorRequestModeValues() []FrontdoorRequestMode {
	return []FrontdoorRequestMode{
		FrontdoorRequestModeNotSpecified,
		FrontdoorRequestModeUseManifest,
	}
}

// IdentityManagementTypes - The type.
type IdentityManagementTypes string

const (
	IdentityManagementTypesActor                     IdentityManagementTypes = "Actor"
	IdentityManagementTypesDelegatedResourceIdentity IdentityManagementTypes = "DelegatedResourceIdentity"
	IdentityManagementTypesNotSpecified              IdentityManagementTypes = "NotSpecified"
	IdentityManagementTypesSystemAssigned            IdentityManagementTypes = "SystemAssigned"
	IdentityManagementTypesUserAssigned              IdentityManagementTypes = "UserAssigned"
)

// PossibleIdentityManagementTypesValues returns the possible values for the IdentityManagementTypes const type.
func PossibleIdentityManagementTypesValues() []IdentityManagementTypes {
	return []IdentityManagementTypes{
		IdentityManagementTypesActor,
		IdentityManagementTypesDelegatedResourceIdentity,
		IdentityManagementTypesNotSpecified,
		IdentityManagementTypesSystemAssigned,
		IdentityManagementTypesUserAssigned,
	}
}

// Intent - The intent.
type Intent string

const (
	// IntentDEFERREDACCESSCHECK - Used for RP's using a custom authorization check outside of ARM.
	IntentDEFERREDACCESSCHECK Intent = "DEFERRED_ACCESS_CHECK"
	// IntentLOWPRIVILEGE - Data is not sensitive and ok to access.
	IntentLOWPRIVILEGE Intent = "LOW_PRIVILEGE"
	// IntentNOTSPECIFIED - Default value.
	IntentNOTSPECIFIED Intent = "NOT_SPECIFIED"
	// IntentRPCONTRACT - RP contract allows certain operations to be unauthorized action.
	IntentRPCONTRACT Intent = "RP_CONTRACT"
)

// PossibleIntentValues returns the possible values for the Intent const type.
func PossibleIntentValues() []Intent {
	return []Intent{
		IntentDEFERREDACCESSCHECK,
		IntentLOWPRIVILEGE,
		IntentNOTSPECIFIED,
		IntentRPCONTRACT,
	}
}

type LegacyOperation string

const (
	LegacyOperationAction                     LegacyOperation = "Action"
	LegacyOperationAzureAsyncOperationWaiting LegacyOperation = "AzureAsyncOperationWaiting"
	LegacyOperationCreate                     LegacyOperation = "Create"
	LegacyOperationDelete                     LegacyOperation = "Delete"
	LegacyOperationDeploymentCleanup          LegacyOperation = "DeploymentCleanup"
	LegacyOperationEvaluateDeploymentOutput   LegacyOperation = "EvaluateDeploymentOutput"
	LegacyOperationNotSpecified               LegacyOperation = "NotSpecified"
	LegacyOperationRead                       LegacyOperation = "Read"
	LegacyOperationResourceCacheWaiting       LegacyOperation = "ResourceCacheWaiting"
	LegacyOperationWaiting                    LegacyOperation = "Waiting"
)

// PossibleLegacyOperationValues returns the possible values for the LegacyOperation const type.
func PossibleLegacyOperationValues() []LegacyOperation {
	return []LegacyOperation{
		LegacyOperationAction,
		LegacyOperationAzureAsyncOperationWaiting,
		LegacyOperationCreate,
		LegacyOperationDelete,
		LegacyOperationDeploymentCleanup,
		LegacyOperationEvaluateDeploymentOutput,
		LegacyOperationNotSpecified,
		LegacyOperationRead,
		LegacyOperationResourceCacheWaiting,
		LegacyOperationWaiting,
	}
}

// LinkedAction - The linked action.
type LinkedAction string

const (
	LinkedActionBlocked      LinkedAction = "Blocked"
	LinkedActionEnabled      LinkedAction = "Enabled"
	LinkedActionNotSpecified LinkedAction = "NotSpecified"
	LinkedActionValidate     LinkedAction = "Validate"
)

// PossibleLinkedActionValues returns the possible values for the LinkedAction const type.
func PossibleLinkedActionValues() []LinkedAction {
	return []LinkedAction{
		LinkedActionBlocked,
		LinkedActionEnabled,
		LinkedActionNotSpecified,
		LinkedActionValidate,
	}
}

// LinkedOperation - The linked operation.
type LinkedOperation string

const (
	LinkedOperationCrossResourceGroupResourceMove LinkedOperation = "CrossResourceGroupResourceMove"
	LinkedOperationCrossSubscriptionResourceMove  LinkedOperation = "CrossSubscriptionResourceMove"
	LinkedOperationNone                           LinkedOperation = "None"
)

// PossibleLinkedOperationValues returns the possible values for the LinkedOperation const type.
func PossibleLinkedOperationValues() []LinkedOperation {
	return []LinkedOperation{
		LinkedOperationCrossResourceGroupResourceMove,
		LinkedOperationCrossSubscriptionResourceMove,
		LinkedOperationNone,
	}
}

// LoggingDetails - The detail level.
type LoggingDetails string

const (
	LoggingDetailsBody LoggingDetails = "Body"
	LoggingDetailsNone LoggingDetails = "None"
)

// PossibleLoggingDetailsValues returns the possible values for the LoggingDetails const type.
func PossibleLoggingDetailsValues() []LoggingDetails {
	return []LoggingDetails{
		LoggingDetailsBody,
		LoggingDetailsNone,
	}
}

// LoggingDirections - The direction.
type LoggingDirections string

const (
	LoggingDirectionsNone     LoggingDirections = "None"
	LoggingDirectionsRequest  LoggingDirections = "Request"
	LoggingDirectionsResponse LoggingDirections = "Response"
)

// PossibleLoggingDirectionsValues returns the possible values for the LoggingDirections const type.
func PossibleLoggingDirectionsValues() []LoggingDirections {
	return []LoggingDirections{
		LoggingDirectionsNone,
		LoggingDirectionsRequest,
		LoggingDirectionsResponse,
	}
}

// ManifestResourceDeletionPolicy - The resource deletion policy.
type ManifestResourceDeletionPolicy string

const (
	ManifestResourceDeletionPolicyCascade      ManifestResourceDeletionPolicy = "Cascade"
	ManifestResourceDeletionPolicyForce        ManifestResourceDeletionPolicy = "Force"
	ManifestResourceDeletionPolicyNotSpecified ManifestResourceDeletionPolicy = "NotSpecified"
)

// PossibleManifestResourceDeletionPolicyValues returns the possible values for the ManifestResourceDeletionPolicy const type.
func PossibleManifestResourceDeletionPolicyValues() []ManifestResourceDeletionPolicy {
	return []ManifestResourceDeletionPolicy{
		ManifestResourceDeletionPolicyCascade,
		ManifestResourceDeletionPolicyForce,
		ManifestResourceDeletionPolicyNotSpecified,
	}
}

// MarketplaceType - The marketplace type.
type MarketplaceType string

const (
	MarketplaceTypeAddOn        MarketplaceType = "AddOn"
	MarketplaceTypeBypass       MarketplaceType = "Bypass"
	MarketplaceTypeNotSpecified MarketplaceType = "NotSpecified"
	MarketplaceTypeStore        MarketplaceType = "Store"
)

// PossibleMarketplaceTypeValues returns the possible values for the MarketplaceType const type.
func PossibleMarketplaceTypeValues() []MarketplaceType {
	return []MarketplaceType{
		MarketplaceTypeAddOn,
		MarketplaceTypeBypass,
		MarketplaceTypeNotSpecified,
		MarketplaceTypeStore,
	}
}

// MessageScope - The message scope.
type MessageScope string

const (
	MessageScopeNotSpecified            MessageScope = "NotSpecified"
	MessageScopeRegisteredSubscriptions MessageScope = "RegisteredSubscriptions"
)

// PossibleMessageScopeValues returns the possible values for the MessageScope const type.
func PossibleMessageScopeValues() []MessageScope {
	return []MessageScope{
		MessageScopeNotSpecified,
		MessageScopeRegisteredSubscriptions,
	}
}

// NotificationEndpointType - The endpoint type.
type NotificationEndpointType string

const (
	NotificationEndpointTypeEventhub NotificationEndpointType = "Eventhub"
	NotificationEndpointTypeWebhook  NotificationEndpointType = "Webhook"
)

// PossibleNotificationEndpointTypeValues returns the possible values for the NotificationEndpointType const type.
func PossibleNotificationEndpointTypeValues() []NotificationEndpointType {
	return []NotificationEndpointType{
		NotificationEndpointTypeEventhub,
		NotificationEndpointTypeWebhook,
	}
}

// NotificationMode - The notification mode.
type NotificationMode string

const (
	NotificationModeEventHub     NotificationMode = "EventHub"
	NotificationModeNotSpecified NotificationMode = "NotSpecified"
	NotificationModeWebHook      NotificationMode = "WebHook"
)

// PossibleNotificationModeValues returns the possible values for the NotificationMode const type.
func PossibleNotificationModeValues() []NotificationMode {
	return []NotificationMode{
		NotificationModeEventHub,
		NotificationModeNotSpecified,
		NotificationModeWebHook,
	}
}

// NotificationOptions - Notification options.
type NotificationOptions string

const (
	NotificationOptionsEmitSpendingLimit NotificationOptions = "EmitSpendingLimit"
	NotificationOptionsNone              NotificationOptions = "None"
	NotificationOptionsNotSpecified      NotificationOptions = "NotSpecified"
)

// PossibleNotificationOptionsValues returns the possible values for the NotificationOptions const type.
func PossibleNotificationOptionsValues() []NotificationOptions {
	return []NotificationOptions{
		NotificationOptionsEmitSpendingLimit,
		NotificationOptionsNone,
		NotificationOptionsNotSpecified,
	}
}

// NotificationType - The notification type.
type NotificationType string

const (
	NotificationTypeSubscriptionNotification NotificationType = "SubscriptionNotification"
	NotificationTypeUnspecified              NotificationType = "Unspecified"
)

// PossibleNotificationTypeValues returns the possible values for the NotificationType const type.
func PossibleNotificationTypeValues() []NotificationType {
	return []NotificationType{
		NotificationTypeSubscriptionNotification,
		NotificationTypeUnspecified,
	}
}

// OperationActionType - The action type.
type OperationActionType string

const (
	OperationActionTypeInternal     OperationActionType = "Internal"
	OperationActionTypeNotSpecified OperationActionType = "NotSpecified"
)

// PossibleOperationActionTypeValues returns the possible values for the OperationActionType const type.
func PossibleOperationActionTypeValues() []OperationActionType {
	return []OperationActionType{
		OperationActionTypeInternal,
		OperationActionTypeNotSpecified,
	}
}

// OperationOrigins - The origin.
type OperationOrigins string

const (
	OperationOriginsNotSpecified OperationOrigins = "NotSpecified"
	OperationOriginsSystem       OperationOrigins = "System"
	OperationOriginsUser         OperationOrigins = "User"
)

// PossibleOperationOriginsValues returns the possible values for the OperationOrigins const type.
func PossibleOperationOriginsValues() []OperationOrigins {
	return []OperationOrigins{
		OperationOriginsNotSpecified,
		OperationOriginsSystem,
		OperationOriginsUser,
	}
}

// OptInHeaderType - The opt in headers.
type OptInHeaderType string

const (
	OptInHeaderTypeClientGroupMembership           OptInHeaderType = "ClientGroupMembership"
	OptInHeaderTypeClientPrincipalNameEncoded      OptInHeaderType = "ClientPrincipalNameEncoded"
	OptInHeaderTypeMSIResourceIDEncoded            OptInHeaderType = "MSIResourceIdEncoded"
	OptInHeaderTypeManagementGroupAncestorsEncoded OptInHeaderType = "ManagementGroupAncestorsEncoded"
	OptInHeaderTypeNotSpecified                    OptInHeaderType = "NotSpecified"
	OptInHeaderTypePrivateLinkID                   OptInHeaderType = "PrivateLinkId"
	OptInHeaderTypePrivateLinkResourceID           OptInHeaderType = "PrivateLinkResourceId"
	OptInHeaderTypePrivateLinkVnetTrafficTag       OptInHeaderType = "PrivateLinkVnetTrafficTag"
	OptInHeaderTypeResourceGroupLocation           OptInHeaderType = "ResourceGroupLocation"
	OptInHeaderTypeSignedAuxiliaryTokens           OptInHeaderType = "SignedAuxiliaryTokens"
	OptInHeaderTypeSignedUserToken                 OptInHeaderType = "SignedUserToken"
	OptInHeaderTypeUnboundedClientGroupMembership  OptInHeaderType = "UnboundedClientGroupMembership"
)

// PossibleOptInHeaderTypeValues returns the possible values for the OptInHeaderType const type.
func PossibleOptInHeaderTypeValues() []OptInHeaderType {
	return []OptInHeaderType{
		OptInHeaderTypeClientGroupMembership,
		OptInHeaderTypeClientPrincipalNameEncoded,
		OptInHeaderTypeMSIResourceIDEncoded,
		OptInHeaderTypeManagementGroupAncestorsEncoded,
		OptInHeaderTypeNotSpecified,
		OptInHeaderTypePrivateLinkID,
		OptInHeaderTypePrivateLinkResourceID,
		OptInHeaderTypePrivateLinkVnetTrafficTag,
		OptInHeaderTypeResourceGroupLocation,
		OptInHeaderTypeSignedAuxiliaryTokens,
		OptInHeaderTypeSignedUserToken,
		OptInHeaderTypeUnboundedClientGroupMembership,
	}
}

// OptOutHeaderType - The opt out headers.
type OptOutHeaderType string

const (
	OptOutHeaderTypeNotSpecified                      OptOutHeaderType = "NotSpecified"
	OptOutHeaderTypeSystemDataCreatedByLastModifiedBy OptOutHeaderType = "SystemDataCreatedByLastModifiedBy"
)

// PossibleOptOutHeaderTypeValues returns the possible values for the OptOutHeaderType const type.
func PossibleOptOutHeaderTypeValues() []OptOutHeaderType {
	return []OptOutHeaderType{
		OptOutHeaderTypeNotSpecified,
		OptOutHeaderTypeSystemDataCreatedByLastModifiedBy,
	}
}

// Policy - The policy.
type Policy string

const (
	PolicyNotSpecified              Policy = "NotSpecified"
	PolicySynchronizeBeginExtension Policy = "SynchronizeBeginExtension"
)

// PossiblePolicyValues returns the possible values for the Policy const type.
func PossiblePolicyValues() []Policy {
	return []Policy{
		PolicyNotSpecified,
		PolicySynchronizeBeginExtension,
	}
}

// PolicyExecutionType - The policy execution type.
type PolicyExecutionType string

const (
	PolicyExecutionTypeBypassPolicies           PolicyExecutionType = "BypassPolicies"
	PolicyExecutionTypeExecutePolicies          PolicyExecutionType = "ExecutePolicies"
	PolicyExecutionTypeExpectPartialPutRequests PolicyExecutionType = "ExpectPartialPutRequests"
	PolicyExecutionTypeNotSpecified             PolicyExecutionType = "NotSpecified"
)

// PossiblePolicyExecutionTypeValues returns the possible values for the PolicyExecutionType const type.
func PossiblePolicyExecutionTypeValues() []PolicyExecutionType {
	return []PolicyExecutionType{
		PolicyExecutionTypeBypassPolicies,
		PolicyExecutionTypeExecutePolicies,
		PolicyExecutionTypeExpectPartialPutRequests,
		PolicyExecutionTypeNotSpecified,
	}
}

type PreflightOption string

const (
	PreflightOptionContinueDeploymentOnFailure PreflightOption = "ContinueDeploymentOnFailure"
	PreflightOptionDefaultValidationOnly       PreflightOption = "DefaultValidationOnly"
	PreflightOptionNone                        PreflightOption = "None"
)

// PossiblePreflightOptionValues returns the possible values for the PreflightOption const type.
func PossiblePreflightOptionValues() []PreflightOption {
	return []PreflightOption{
		PreflightOptionContinueDeploymentOnFailure,
		PreflightOptionDefaultValidationOnly,
		PreflightOptionNone,
	}
}

// ProviderRegistrationKind - Provider registration kind. This Metadata is also used by portal/tooling/etc to render different
// UX experiences for resources of the same type.
type ProviderRegistrationKind string

const (
	// ProviderRegistrationKindDirect - Resource Provider with all the resource types 'managed' on by itself.
	ProviderRegistrationKindDirect ProviderRegistrationKind = "Direct"
	// ProviderRegistrationKindHybrid - Resource Provider with a mix of 'managed' and 'direct' resource types.
	ProviderRegistrationKindHybrid ProviderRegistrationKind = "Hybrid"
	// ProviderRegistrationKindManaged - Resource Provider with all the resource types 'managed' by the ProviderHub service.
	ProviderRegistrationKindManaged ProviderRegistrationKind = "Managed"
)

// PossibleProviderRegistrationKindValues returns the possible values for the ProviderRegistrationKind const type.
func PossibleProviderRegistrationKindValues() []ProviderRegistrationKind {
	return []ProviderRegistrationKind{
		ProviderRegistrationKindDirect,
		ProviderRegistrationKindHybrid,
		ProviderRegistrationKindManaged,
	}
}

type ProvisioningState string

const (
	ProvisioningStateAccepted          ProvisioningState = "Accepted"
	ProvisioningStateCanceled          ProvisioningState = "Canceled"
	ProvisioningStateCreated           ProvisioningState = "Created"
	ProvisioningStateCreating          ProvisioningState = "Creating"
	ProvisioningStateDeleted           ProvisioningState = "Deleted"
	ProvisioningStateDeleting          ProvisioningState = "Deleting"
	ProvisioningStateFailed            ProvisioningState = "Failed"
	ProvisioningStateMovingResources   ProvisioningState = "MovingResources"
	ProvisioningStateNotSpecified      ProvisioningState = "NotSpecified"
	ProvisioningStateRolloutInProgress ProvisioningState = "RolloutInProgress"
	ProvisioningStateRunning           ProvisioningState = "Running"
	ProvisioningStateSucceeded         ProvisioningState = "Succeeded"
	ProvisioningStateTransientFailure  ProvisioningState = "TransientFailure"
)

// PossibleProvisioningStateValues returns the possible values for the ProvisioningState const type.
func PossibleProvisioningStateValues() []ProvisioningState {
	return []ProvisioningState{
		ProvisioningStateAccepted,
		ProvisioningStateCanceled,
		ProvisioningStateCreated,
		ProvisioningStateCreating,
		ProvisioningStateDeleted,
		ProvisioningStateDeleting,
		ProvisioningStateFailed,
		ProvisioningStateMovingResources,
		ProvisioningStateNotSpecified,
		ProvisioningStateRolloutInProgress,
		ProvisioningStateRunning,
		ProvisioningStateSucceeded,
		ProvisioningStateTransientFailure,
	}
}

type QuotaPolicy string

const (
	QuotaPolicyDefault    QuotaPolicy = "Default"
	QuotaPolicyNone       QuotaPolicy = "None"
	QuotaPolicyRestricted QuotaPolicy = "Restricted"
)

// PossibleQuotaPolicyValues returns the possible values for the QuotaPolicy const type.
func PossibleQuotaPolicyValues() []QuotaPolicy {
	return []QuotaPolicy{
		QuotaPolicyDefault,
		QuotaPolicyNone,
		QuotaPolicyRestricted,
	}
}

// Readiness - The readiness.
type Readiness string

const (
	ReadinessClosingDown    Readiness = "ClosingDown"
	ReadinessDeprecated     Readiness = "Deprecated"
	ReadinessGA             Readiness = "GA"
	ReadinessInDevelopment  Readiness = "InDevelopment"
	ReadinessInternalOnly   Readiness = "InternalOnly"
	ReadinessPrivatePreview Readiness = "PrivatePreview"
	ReadinessPublicPreview  Readiness = "PublicPreview"
	ReadinessRemovedFromARM Readiness = "RemovedFromARM"
	ReadinessRetired        Readiness = "Retired"
)

// PossibleReadinessValues returns the possible values for the Readiness const type.
func PossibleReadinessValues() []Readiness {
	return []Readiness{
		ReadinessClosingDown,
		ReadinessDeprecated,
		ReadinessGA,
		ReadinessInDevelopment,
		ReadinessInternalOnly,
		ReadinessPrivatePreview,
		ReadinessPublicPreview,
		ReadinessRemovedFromARM,
		ReadinessRetired,
	}
}

// Regionality - The regionality.
type Regionality string

const (
	RegionalityGlobal       Regionality = "Global"
	RegionalityNotSpecified Regionality = "NotSpecified"
	RegionalityRegional     Regionality = "Regional"
)

// PossibleRegionalityValues returns the possible values for the Regionality const type.
func PossibleRegionalityValues() []Regionality {
	return []Regionality{
		RegionalityGlobal,
		RegionalityNotSpecified,
		RegionalityRegional,
	}
}

// ResourceAccessPolicy - The resource access policy.
type ResourceAccessPolicy string

const (
	ResourceAccessPolicyAcisActionAllowed ResourceAccessPolicy = "AcisActionAllowed"
	ResourceAccessPolicyAcisReadAllowed   ResourceAccessPolicy = "AcisReadAllowed"
	ResourceAccessPolicyNotSpecified      ResourceAccessPolicy = "NotSpecified"
)

// PossibleResourceAccessPolicyValues returns the possible values for the ResourceAccessPolicy const type.
func PossibleResourceAccessPolicyValues() []ResourceAccessPolicy {
	return []ResourceAccessPolicy{
		ResourceAccessPolicyAcisActionAllowed,
		ResourceAccessPolicyAcisReadAllowed,
		ResourceAccessPolicyNotSpecified,
	}
}

// ResourceDeletionPolicy - The resource deletion policy.
type ResourceDeletionPolicy string

const (
	ResourceDeletionPolicyCascadeDeleteAll               ResourceDeletionPolicy = "CascadeDeleteAll"
	ResourceDeletionPolicyCascadeDeleteProxyOnlyChildren ResourceDeletionPolicy = "CascadeDeleteProxyOnlyChildren"
	ResourceDeletionPolicyNotSpecified                   ResourceDeletionPolicy = "NotSpecified"
)

// PossibleResourceDeletionPolicyValues returns the possible values for the ResourceDeletionPolicy const type.
func PossibleResourceDeletionPolicyValues() []ResourceDeletionPolicy {
	return []ResourceDeletionPolicy{
		ResourceDeletionPolicyCascadeDeleteAll,
		ResourceDeletionPolicyCascadeDeleteProxyOnlyChildren,
		ResourceDeletionPolicyNotSpecified,
	}
}

// ResourceProviderCapabilitiesEffect - The effect.
type ResourceProviderCapabilitiesEffect string

const (
	ResourceProviderCapabilitiesEffectAllow        ResourceProviderCapabilitiesEffect = "Allow"
	ResourceProviderCapabilitiesEffectDisallow     ResourceProviderCapabilitiesEffect = "Disallow"
	ResourceProviderCapabilitiesEffectNotSpecified ResourceProviderCapabilitiesEffect = "NotSpecified"
)

// PossibleResourceProviderCapabilitiesEffectValues returns the possible values for the ResourceProviderCapabilitiesEffect const type.
func PossibleResourceProviderCapabilitiesEffectValues() []ResourceProviderCapabilitiesEffect {
	return []ResourceProviderCapabilitiesEffect{
		ResourceProviderCapabilitiesEffectAllow,
		ResourceProviderCapabilitiesEffectDisallow,
		ResourceProviderCapabilitiesEffectNotSpecified,
	}
}

// ResourceProviderType - The provider type.
type ResourceProviderType string

const (
	ResourceProviderTypeAuthorizationFree          ResourceProviderType = "AuthorizationFree"
	ResourceProviderTypeExternal                   ResourceProviderType = "External"
	ResourceProviderTypeHidden                     ResourceProviderType = "Hidden"
	ResourceProviderTypeInternal                   ResourceProviderType = "Internal"
	ResourceProviderTypeLegacyRegistrationRequired ResourceProviderType = "LegacyRegistrationRequired"
	ResourceProviderTypeNotSpecified               ResourceProviderType = "NotSpecified"
	ResourceProviderTypeRegistrationFree           ResourceProviderType = "RegistrationFree"
	ResourceProviderTypeTenantOnly                 ResourceProviderType = "TenantOnly"
)

// PossibleResourceProviderTypeValues returns the possible values for the ResourceProviderType const type.
func PossibleResourceProviderTypeValues() []ResourceProviderType {
	return []ResourceProviderType{
		ResourceProviderTypeAuthorizationFree,
		ResourceProviderTypeExternal,
		ResourceProviderTypeHidden,
		ResourceProviderTypeInternal,
		ResourceProviderTypeLegacyRegistrationRequired,
		ResourceProviderTypeNotSpecified,
		ResourceProviderTypeRegistrationFree,
		ResourceProviderTypeTenantOnly,
	}
}

// ResourceSubType - The resource sub type.
type ResourceSubType string

const (
	ResourceSubTypeAsyncOperation ResourceSubType = "AsyncOperation"
	ResourceSubTypeNotSpecified   ResourceSubType = "NotSpecified"
)

// PossibleResourceSubTypeValues returns the possible values for the ResourceSubType const type.
func PossibleResourceSubTypeValues() []ResourceSubType {
	return []ResourceSubType{
		ResourceSubTypeAsyncOperation,
		ResourceSubTypeNotSpecified,
	}
}

// ResourceTypeCategory - The category.
type ResourceTypeCategory string

const (
	ResourceTypeCategoryFreeForm  ResourceTypeCategory = "FreeForm"
	ResourceTypeCategoryInternal  ResourceTypeCategory = "Internal"
	ResourceTypeCategoryNone      ResourceTypeCategory = "None"
	ResourceTypeCategoryPureProxy ResourceTypeCategory = "PureProxy"
)

// PossibleResourceTypeCategoryValues returns the possible values for the ResourceTypeCategory const type.
func PossibleResourceTypeCategoryValues() []ResourceTypeCategory {
	return []ResourceTypeCategory{
		ResourceTypeCategoryFreeForm,
		ResourceTypeCategoryInternal,
		ResourceTypeCategoryNone,
		ResourceTypeCategoryPureProxy,
	}
}

// ResourceTypeEndpointKind - Resource type endpoint kind. This Metadata is also used by portal/tooling/etc to render different
// UX experiences for resources of the same type.
type ResourceTypeEndpointKind string

const (
	// ResourceTypeEndpointKindDirect - Endpoint served by the onboarded Resource Provider Service.
	ResourceTypeEndpointKindDirect ResourceTypeEndpointKind = "Direct"
	// ResourceTypeEndpointKindManaged - Endpoint served by ProviderHub service
	ResourceTypeEndpointKindManaged ResourceTypeEndpointKind = "Managed"
)

// PossibleResourceTypeEndpointKindValues returns the possible values for the ResourceTypeEndpointKind const type.
func PossibleResourceTypeEndpointKindValues() []ResourceTypeEndpointKind {
	return []ResourceTypeEndpointKind{
		ResourceTypeEndpointKindDirect,
		ResourceTypeEndpointKindManaged,
	}
}

type ResourceTypeExtendedLocationPolicy string

const (
	ResourceTypeExtendedLocationPolicyAll          ResourceTypeExtendedLocationPolicy = "All"
	ResourceTypeExtendedLocationPolicyNotSpecified ResourceTypeExtendedLocationPolicy = "NotSpecified"
)

// PossibleResourceTypeExtendedLocationPolicyValues returns the possible values for the ResourceTypeExtendedLocationPolicy const type.
func PossibleResourceTypeExtendedLocationPolicyValues() []ResourceTypeExtendedLocationPolicy {
	return []ResourceTypeExtendedLocationPolicy{
		ResourceTypeExtendedLocationPolicyAll,
		ResourceTypeExtendedLocationPolicyNotSpecified,
	}
}

// ResourceTypeRegistrationKind - Resource type registration kind. This Metadata is also used by portal/tooling/etc to render
// different UX experiences for resources of the same type.
type ResourceTypeRegistrationKind string

const (
	// ResourceTypeRegistrationKindDirect - Resource type served by the onboarded Resource Provider Service.
	ResourceTypeRegistrationKindDirect ResourceTypeRegistrationKind = "Direct"
	// ResourceTypeRegistrationKindHybrid - Resource type served by both the ProviderHub & the onboarded Resource Provider Services
	// (i.e. The type has a mix of managed and direct endpoints).
	ResourceTypeRegistrationKindHybrid ResourceTypeRegistrationKind = "Hybrid"
	// ResourceTypeRegistrationKindManaged - Resource type served by the ProviderHub service.
	ResourceTypeRegistrationKindManaged ResourceTypeRegistrationKind = "Managed"
)

// PossibleResourceTypeRegistrationKindValues returns the possible values for the ResourceTypeRegistrationKind const type.
func PossibleResourceTypeRegistrationKindValues() []ResourceTypeRegistrationKind {
	return []ResourceTypeRegistrationKind{
		ResourceTypeRegistrationKindDirect,
		ResourceTypeRegistrationKindHybrid,
		ResourceTypeRegistrationKindManaged,
	}
}

// ResourceValidation - The resource validation.
type ResourceValidation string

const (
	ResourceValidationNotSpecified  ResourceValidation = "NotSpecified"
	ResourceValidationProfaneWords  ResourceValidation = "ProfaneWords"
	ResourceValidationReservedWords ResourceValidation = "ReservedWords"
)

// PossibleResourceValidationValues returns the possible values for the ResourceValidation const type.
func PossibleResourceValidationValues() []ResourceValidation {
	return []ResourceValidation{
		ResourceValidationNotSpecified,
		ResourceValidationProfaneWords,
		ResourceValidationReservedWords,
	}
}

// Role - The ownership role the application has on the resource types. The service owner role gives the application owner
// permissions. The limited owner role gives elevated permissions but does not allow all
// the permissions of a service owner, such as read/write on internal metadata.
type Role string

const (
	RoleLimitedOwner Role = "LimitedOwner"
	RoleServiceOwner Role = "ServiceOwner"
)

// PossibleRoleValues returns the possible values for the Role const type.
func PossibleRoleValues() []Role {
	return []Role{
		RoleLimitedOwner,
		RoleServiceOwner,
	}
}

// RoutingType - The routing type.
type RoutingType string

const (
	// RoutingTypeBypassEndpointSelectionOptimization - The resource routing type is bypass endpoint selection optimization.
	RoutingTypeBypassEndpointSelectionOptimization RoutingType = "BypassEndpointSelectionOptimization"
	// RoutingTypeCascadeAuthorizedExtension - The resource routing type is cascade authorized extension.
	RoutingTypeCascadeAuthorizedExtension RoutingType = "CascadeAuthorizedExtension"
	// RoutingTypeCascadeExtension - The resource routing type is cascade extension.
	RoutingTypeCascadeExtension RoutingType = "CascadeExtension"
	// RoutingTypeChildFanout - The resource routing type is child fanout.
	RoutingTypeChildFanout RoutingType = "ChildFanout"
	// RoutingTypeDefault - The resource routing type is default.
	RoutingTypeDefault RoutingType = "Default"
	// RoutingTypeExtension - The resource routing type is extension.
	RoutingTypeExtension RoutingType = "Extension"
	// RoutingTypeFailover - The resource routing type is failover.
	RoutingTypeFailover RoutingType = "Failover"
	// RoutingTypeFanout - The resource routing type is fanout.
	RoutingTypeFanout RoutingType = "Fanout"
	// RoutingTypeHostBased - The resource routing type is host based.
	RoutingTypeHostBased RoutingType = "HostBased"
	// RoutingTypeLocationBased - The resource routing type is location based.
	RoutingTypeLocationBased RoutingType = "LocationBased"
	// RoutingTypeLocationMapping - The resource routing type is location mapping.
	RoutingTypeLocationMapping RoutingType = "LocationMapping"
	// RoutingTypeProxyOnly - The resource routing type is proxy only.
	RoutingTypeProxyOnly RoutingType = "ProxyOnly"
	// RoutingTypeServiceFanout - The resource routing type is service fanout.
	RoutingTypeServiceFanout RoutingType = "ServiceFanout"
	// RoutingTypeTenant - The resource routing type is tenant.
	RoutingTypeTenant RoutingType = "Tenant"
)

// PossibleRoutingTypeValues returns the possible values for the RoutingType const type.
func PossibleRoutingTypeValues() []RoutingType {
	return []RoutingType{
		RoutingTypeBypassEndpointSelectionOptimization,
		RoutingTypeCascadeAuthorizedExtension,
		RoutingTypeCascadeExtension,
		RoutingTypeChildFanout,
		RoutingTypeDefault,
		RoutingTypeExtension,
		RoutingTypeFailover,
		RoutingTypeFanout,
		RoutingTypeHostBased,
		RoutingTypeLocationBased,
		RoutingTypeLocationMapping,
		RoutingTypeProxyOnly,
		RoutingTypeServiceFanout,
		RoutingTypeTenant,
	}
}

// SKUScaleType - The scale type.
type SKUScaleType string

const (
	SKUScaleTypeAutomatic SKUScaleType = "Automatic"
	SKUScaleTypeManual    SKUScaleType = "Manual"
	SKUScaleTypeNone      SKUScaleType = "None"
)

// PossibleSKUScaleTypeValues returns the possible values for the SKUScaleType const type.
func PossibleSKUScaleTypeValues() []SKUScaleType {
	return []SKUScaleType{
		SKUScaleTypeAutomatic,
		SKUScaleTypeManual,
		SKUScaleTypeNone,
	}
}

// ServerFailureResponseMessageType - Type of server failure response message.
type ServerFailureResponseMessageType string

const (
	ServerFailureResponseMessageTypeNotSpecified    ServerFailureResponseMessageType = "NotSpecified"
	ServerFailureResponseMessageTypeOutageReporting ServerFailureResponseMessageType = "OutageReporting"
)

// PossibleServerFailureResponseMessageTypeValues returns the possible values for the ServerFailureResponseMessageType const type.
func PossibleServerFailureResponseMessageTypeValues() []ServerFailureResponseMessageType {
	return []ServerFailureResponseMessageType{
		ServerFailureResponseMessageTypeNotSpecified,
		ServerFailureResponseMessageTypeOutageReporting,
	}
}

type ServiceClientOptionsType string

const (
	ServiceClientOptionsTypeDisableAutomaticDecompression ServiceClientOptionsType = "DisableAutomaticDecompression"
	ServiceClientOptionsTypeNotSpecified                  ServiceClientOptionsType = "NotSpecified"
)

// PossibleServiceClientOptionsTypeValues returns the possible values for the ServiceClientOptionsType const type.
func PossibleServiceClientOptionsTypeValues() []ServiceClientOptionsType {
	return []ServiceClientOptionsType{
		ServiceClientOptionsTypeDisableAutomaticDecompression,
		ServiceClientOptionsTypeNotSpecified,
	}
}

// ServiceFeatureFlagAction - The service feature flag.
type ServiceFeatureFlagAction string

const (
	ServiceFeatureFlagActionCreate      ServiceFeatureFlagAction = "Create"
	ServiceFeatureFlagActionDoNotCreate ServiceFeatureFlagAction = "DoNotCreate"
)

// PossibleServiceFeatureFlagActionValues returns the possible values for the ServiceFeatureFlagAction const type.
func PossibleServiceFeatureFlagActionValues() []ServiceFeatureFlagAction {
	return []ServiceFeatureFlagAction{
		ServiceFeatureFlagActionCreate,
		ServiceFeatureFlagActionDoNotCreate,
	}
}

// ServiceStatus - The status.
type ServiceStatus string

const (
	ServiceStatusActive   ServiceStatus = "Active"
	ServiceStatusInactive ServiceStatus = "Inactive"
)

// PossibleServiceStatusValues returns the possible values for the ServiceStatus const type.
func PossibleServiceStatusValues() []ServiceStatus {
	return []ServiceStatus{
		ServiceStatusActive,
		ServiceStatusInactive,
	}
}

// SignedRequestScope - The signed request scope.
type SignedRequestScope string

const (
	SignedRequestScopeEndpoint    SignedRequestScope = "Endpoint"
	SignedRequestScopeResourceURI SignedRequestScope = "ResourceUri"
)

// PossibleSignedRequestScopeValues returns the possible values for the SignedRequestScope const type.
func PossibleSignedRequestScopeValues() []SignedRequestScope {
	return []SignedRequestScope{
		SignedRequestScopeEndpoint,
		SignedRequestScopeResourceURI,
	}
}

// SkipNotifications - Whether notifications should be skipped.
type SkipNotifications string

const (
	SkipNotificationsDisabled    SkipNotifications = "Disabled"
	SkipNotificationsEnabled     SkipNotifications = "Enabled"
	SkipNotificationsUnspecified SkipNotifications = "Unspecified"
)

// PossibleSkipNotificationsValues returns the possible values for the SkipNotifications const type.
func PossibleSkipNotificationsValues() []SkipNotifications {
	return []SkipNotifications{
		SkipNotificationsDisabled,
		SkipNotificationsEnabled,
		SkipNotificationsUnspecified,
	}
}

// SubscriptionNotificationOperation - The action.
type SubscriptionNotificationOperation string

const (
	SubscriptionNotificationOperationBillingCancellation    SubscriptionNotificationOperation = "BillingCancellation"
	SubscriptionNotificationOperationDeleteAllResources     SubscriptionNotificationOperation = "DeleteAllResources"
	SubscriptionNotificationOperationNoOp                   SubscriptionNotificationOperation = "NoOp"
	SubscriptionNotificationOperationNotDefined             SubscriptionNotificationOperation = "NotDefined"
	SubscriptionNotificationOperationSoftDeleteAllResources SubscriptionNotificationOperation = "SoftDeleteAllResources"
	SubscriptionNotificationOperationUndoSoftDelete         SubscriptionNotificationOperation = "UndoSoftDelete"
)

// PossibleSubscriptionNotificationOperationValues returns the possible values for the SubscriptionNotificationOperation const type.
func PossibleSubscriptionNotificationOperationValues() []SubscriptionNotificationOperation {
	return []SubscriptionNotificationOperation{
		SubscriptionNotificationOperationBillingCancellation,
		SubscriptionNotificationOperationDeleteAllResources,
		SubscriptionNotificationOperationNoOp,
		SubscriptionNotificationOperationNotDefined,
		SubscriptionNotificationOperationSoftDeleteAllResources,
		SubscriptionNotificationOperationUndoSoftDelete,
	}
}

// SubscriptionReregistrationResult - The subscription reregistration result.
type SubscriptionReregistrationResult string

const (
	SubscriptionReregistrationResultConditionalUpdate SubscriptionReregistrationResult = "ConditionalUpdate"
	SubscriptionReregistrationResultFailed            SubscriptionReregistrationResult = "Failed"
	SubscriptionReregistrationResultForcedUpdate      SubscriptionReregistrationResult = "ForcedUpdate"
	SubscriptionReregistrationResultNotApplicable     SubscriptionReregistrationResult = "NotApplicable"
)

// PossibleSubscriptionReregistrationResultValues returns the possible values for the SubscriptionReregistrationResult const type.
func PossibleSubscriptionReregistrationResultValues() []SubscriptionReregistrationResult {
	return []SubscriptionReregistrationResult{
		SubscriptionReregistrationResultConditionalUpdate,
		SubscriptionReregistrationResultFailed,
		SubscriptionReregistrationResultForcedUpdate,
		SubscriptionReregistrationResultNotApplicable,
	}
}

// SubscriptionState - The subscription state.
type SubscriptionState string

const (
	SubscriptionStateDeleted    SubscriptionState = "Deleted"
	SubscriptionStateDisabled   SubscriptionState = "Disabled"
	SubscriptionStateEnabled    SubscriptionState = "Enabled"
	SubscriptionStateNotDefined SubscriptionState = "NotDefined"
	SubscriptionStatePastDue    SubscriptionState = "PastDue"
	SubscriptionStateWarned     SubscriptionState = "Warned"
)

// PossibleSubscriptionStateValues returns the possible values for the SubscriptionState const type.
func PossibleSubscriptionStateValues() []SubscriptionState {
	return []SubscriptionState{
		SubscriptionStateDeleted,
		SubscriptionStateDisabled,
		SubscriptionStateEnabled,
		SubscriptionStateNotDefined,
		SubscriptionStatePastDue,
		SubscriptionStateWarned,
	}
}

// SubscriptionTransitioningState - The state.
type SubscriptionTransitioningState string

const (
	SubscriptionTransitioningStateDeleted                 SubscriptionTransitioningState = "Deleted"
	SubscriptionTransitioningStateRegistered              SubscriptionTransitioningState = "Registered"
	SubscriptionTransitioningStateSuspended               SubscriptionTransitioningState = "Suspended"
	SubscriptionTransitioningStateSuspendedToDeleted      SubscriptionTransitioningState = "SuspendedToDeleted"
	SubscriptionTransitioningStateSuspendedToRegistered   SubscriptionTransitioningState = "SuspendedToRegistered"
	SubscriptionTransitioningStateSuspendedToUnregistered SubscriptionTransitioningState = "SuspendedToUnregistered"
	SubscriptionTransitioningStateSuspendedToWarned       SubscriptionTransitioningState = "SuspendedToWarned"
	SubscriptionTransitioningStateUnregistered            SubscriptionTransitioningState = "Unregistered"
	SubscriptionTransitioningStateWarned                  SubscriptionTransitioningState = "Warned"
	SubscriptionTransitioningStateWarnedToDeleted         SubscriptionTransitioningState = "WarnedToDeleted"
	SubscriptionTransitioningStateWarnedToRegistered      SubscriptionTransitioningState = "WarnedToRegistered"
	SubscriptionTransitioningStateWarnedToSuspended       SubscriptionTransitioningState = "WarnedToSuspended"
	SubscriptionTransitioningStateWarnedToUnregistered    SubscriptionTransitioningState = "WarnedToUnregistered"
)

// PossibleSubscriptionTransitioningStateValues returns the possible values for the SubscriptionTransitioningState const type.
func PossibleSubscriptionTransitioningStateValues() []SubscriptionTransitioningState {
	return []SubscriptionTransitioningState{
		SubscriptionTransitioningStateDeleted,
		SubscriptionTransitioningStateRegistered,
		SubscriptionTransitioningStateSuspended,
		SubscriptionTransitioningStateSuspendedToDeleted,
		SubscriptionTransitioningStateSuspendedToRegistered,
		SubscriptionTransitioningStateSuspendedToUnregistered,
		SubscriptionTransitioningStateSuspendedToWarned,
		SubscriptionTransitioningStateUnregistered,
		SubscriptionTransitioningStateWarned,
		SubscriptionTransitioningStateWarnedToDeleted,
		SubscriptionTransitioningStateWarnedToRegistered,
		SubscriptionTransitioningStateWarnedToSuspended,
		SubscriptionTransitioningStateWarnedToUnregistered,
	}
}

// SupportedOperations - Supported operations.
type SupportedOperations string

const (
	SupportedOperationsDelete       SupportedOperations = "Delete"
	SupportedOperationsGet          SupportedOperations = "Get"
	SupportedOperationsNotSpecified SupportedOperations = "NotSpecified"
)

// PossibleSupportedOperationsValues returns the possible values for the SupportedOperations const type.
func PossibleSupportedOperationsValues() []SupportedOperations {
	return []SupportedOperations{
		SupportedOperationsDelete,
		SupportedOperationsGet,
		SupportedOperationsNotSpecified,
	}
}

// TemplateDeploymentCapabilities - The capabilities.
type TemplateDeploymentCapabilities string

const (
	TemplateDeploymentCapabilitiesDefault   TemplateDeploymentCapabilities = "Default"
	TemplateDeploymentCapabilitiesPreflight TemplateDeploymentCapabilities = "Preflight"
)

// PossibleTemplateDeploymentCapabilitiesValues returns the possible values for the TemplateDeploymentCapabilities const type.
func PossibleTemplateDeploymentCapabilitiesValues() []TemplateDeploymentCapabilities {
	return []TemplateDeploymentCapabilities{
		TemplateDeploymentCapabilitiesDefault,
		TemplateDeploymentCapabilitiesPreflight,
	}
}

// TemplateDeploymentPreflightNotifications - The preflight notifications.
type TemplateDeploymentPreflightNotifications string

const (
	TemplateDeploymentPreflightNotificationsNone                      TemplateDeploymentPreflightNotifications = "None"
	TemplateDeploymentPreflightNotificationsUnregisteredSubscriptions TemplateDeploymentPreflightNotifications = "UnregisteredSubscriptions"
)

// PossibleTemplateDeploymentPreflightNotificationsValues returns the possible values for the TemplateDeploymentPreflightNotifications const type.
func PossibleTemplateDeploymentPreflightNotificationsValues() []TemplateDeploymentPreflightNotifications {
	return []TemplateDeploymentPreflightNotifications{
		TemplateDeploymentPreflightNotificationsNone,
		TemplateDeploymentPreflightNotificationsUnregisteredSubscriptions,
	}
}

// TemplateDeploymentPreflightOptions - The preflight options.
type TemplateDeploymentPreflightOptions string

const (
	TemplateDeploymentPreflightOptionsDeploymentRequests TemplateDeploymentPreflightOptions = "DeploymentRequests"
	TemplateDeploymentPreflightOptionsNone               TemplateDeploymentPreflightOptions = "None"
	TemplateDeploymentPreflightOptionsRegisteredOnly     TemplateDeploymentPreflightOptions = "RegisteredOnly"
	TemplateDeploymentPreflightOptionsTestOnly           TemplateDeploymentPreflightOptions = "TestOnly"
	TemplateDeploymentPreflightOptionsValidationRequests TemplateDeploymentPreflightOptions = "ValidationRequests"
)

// PossibleTemplateDeploymentPreflightOptionsValues returns the possible values for the TemplateDeploymentPreflightOptions const type.
func PossibleTemplateDeploymentPreflightOptionsValues() []TemplateDeploymentPreflightOptions {
	return []TemplateDeploymentPreflightOptions{
		TemplateDeploymentPreflightOptionsDeploymentRequests,
		TemplateDeploymentPreflightOptionsNone,
		TemplateDeploymentPreflightOptionsRegisteredOnly,
		TemplateDeploymentPreflightOptionsTestOnly,
		TemplateDeploymentPreflightOptionsValidationRequests,
	}
}

// ThrottlingMetricType - The throttling metric type
type ThrottlingMetricType string

const (
	ThrottlingMetricTypeNotSpecified      ThrottlingMetricType = "NotSpecified"
	ThrottlingMetricTypeNumberOfRequests  ThrottlingMetricType = "NumberOfRequests"
	ThrottlingMetricTypeNumberOfResources ThrottlingMetricType = "NumberOfResources"
)

// PossibleThrottlingMetricTypeValues returns the possible values for the ThrottlingMetricType const type.
func PossibleThrottlingMetricTypeValues() []ThrottlingMetricType {
	return []ThrottlingMetricType{
		ThrottlingMetricTypeNotSpecified,
		ThrottlingMetricTypeNumberOfRequests,
		ThrottlingMetricTypeNumberOfResources,
	}
}

// TrafficRegionCategory - The next traffic region.
type TrafficRegionCategory string

const (
	TrafficRegionCategoryCanary                 TrafficRegionCategory = "Canary"
	TrafficRegionCategoryHighTraffic            TrafficRegionCategory = "HighTraffic"
	TrafficRegionCategoryLowTraffic             TrafficRegionCategory = "LowTraffic"
	TrafficRegionCategoryMediumTraffic          TrafficRegionCategory = "MediumTraffic"
	TrafficRegionCategoryNone                   TrafficRegionCategory = "None"
	TrafficRegionCategoryNotSpecified           TrafficRegionCategory = "NotSpecified"
	TrafficRegionCategoryRestOfTheWorldGroupOne TrafficRegionCategory = "RestOfTheWorldGroupOne"
	TrafficRegionCategoryRestOfTheWorldGroupTwo TrafficRegionCategory = "RestOfTheWorldGroupTwo"
)

// PossibleTrafficRegionCategoryValues returns the possible values for the TrafficRegionCategory const type.
func PossibleTrafficRegionCategoryValues() []TrafficRegionCategory {
	return []TrafficRegionCategory{
		TrafficRegionCategoryCanary,
		TrafficRegionCategoryHighTraffic,
		TrafficRegionCategoryLowTraffic,
		TrafficRegionCategoryMediumTraffic,
		TrafficRegionCategoryNone,
		TrafficRegionCategoryNotSpecified,
		TrafficRegionCategoryRestOfTheWorldGroupOne,
		TrafficRegionCategoryRestOfTheWorldGroupTwo,
	}
}
