// 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) Go Code Generator. DO NOT EDIT.

package armquota

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

const (
	// CreatedByTypeApplication - The entity was created by an application.
	CreatedByTypeApplication CreatedByType = "Application"
	// CreatedByTypeKey - The entity was created by a key.
	CreatedByTypeKey CreatedByType = "Key"
	// CreatedByTypeManagedIdentity - The entity was created by a managed identity.
	CreatedByTypeManagedIdentity CreatedByType = "ManagedIdentity"
	// CreatedByTypeUser - The entity was created by a user.
	CreatedByTypeUser CreatedByType = "User"
)

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

// EnforcementState - Enforcement status.
type EnforcementState string

const (
	EnforcementStateDisabled     EnforcementState = "Disabled"
	EnforcementStateEnabled      EnforcementState = "Enabled"
	EnforcementStateNotAvailable EnforcementState = "NotAvailable"
)

// PossibleEnforcementStateValues returns the possible values for the EnforcementState const type.
func PossibleEnforcementStateValues() []EnforcementState {
	return []EnforcementState{
		EnforcementStateDisabled,
		EnforcementStateEnabled,
		EnforcementStateNotAvailable,
	}
}

// GroupType - Type of the group.
type GroupType string

const (
	// GroupTypeAllocationGroup - The group is used for subscription group quota allocations.
	GroupTypeAllocationGroup GroupType = "AllocationGroup"
	// GroupTypeEnforcedGroup - The group is used for the enforced shared limit scenario
	GroupTypeEnforcedGroup GroupType = "EnforcedGroup"
)

// PossibleGroupTypeValues returns the possible values for the GroupType const type.
func PossibleGroupTypeValues() []GroupType {
	return []GroupType{
		GroupTypeAllocationGroup,
		GroupTypeEnforcedGroup,
	}
}

// LimitType - The limit object type.
type LimitType string

const (
	LimitTypeLimitValue LimitType = "LimitValue"
)

// PossibleLimitTypeValues returns the possible values for the LimitType const type.
func PossibleLimitTypeValues() []LimitType {
	return []LimitType{
		LimitTypeLimitValue,
	}
}

// QuotaLimitTypes - The quota or usages limit types.
type QuotaLimitTypes string

const (
	QuotaLimitTypesIndependent QuotaLimitTypes = "Independent"
	QuotaLimitTypesShared      QuotaLimitTypes = "Shared"
)

// PossibleQuotaLimitTypesValues returns the possible values for the QuotaLimitTypes const type.
func PossibleQuotaLimitTypesValues() []QuotaLimitTypes {
	return []QuotaLimitTypes{
		QuotaLimitTypesIndependent,
		QuotaLimitTypesShared,
	}
}

// QuotaRequestState - Quota request status.
type QuotaRequestState string

const (
	QuotaRequestStateAccepted   QuotaRequestState = "Accepted"
	QuotaRequestStateFailed     QuotaRequestState = "Failed"
	QuotaRequestStateInProgress QuotaRequestState = "InProgress"
	QuotaRequestStateInvalid    QuotaRequestState = "Invalid"
	QuotaRequestStateSucceeded  QuotaRequestState = "Succeeded"
)

// PossibleQuotaRequestStateValues returns the possible values for the QuotaRequestState const type.
func PossibleQuotaRequestStateValues() []QuotaRequestState {
	return []QuotaRequestState{
		QuotaRequestStateAccepted,
		QuotaRequestStateFailed,
		QuotaRequestStateInProgress,
		QuotaRequestStateInvalid,
		QuotaRequestStateSucceeded,
	}
}

// RequestState - Request status.
type RequestState string

const (
	// RequestStateAccepted - The quota request has been accepted.
	RequestStateAccepted RequestState = "Accepted"
	// RequestStateCanceled - The quota request has been canceled.
	RequestStateCanceled RequestState = "Canceled"
	// RequestStateCreated - The quota request has been created.
	RequestStateCreated RequestState = "Created"
	// RequestStateEscalated - The quota request has been escalated for further review. Please file a support ticket. A support
	// engineer will follow up.
	RequestStateEscalated RequestState = "Escalated"
	// RequestStateFailed - The quota request has failed.
	RequestStateFailed RequestState = "Failed"
	// RequestStateInProgress - The quota request is currently being processed.
	RequestStateInProgress RequestState = "InProgress"
	// RequestStateInvalid - The quota request is invalid.
	RequestStateInvalid RequestState = "Invalid"
	// RequestStateSucceeded - The quota request has succeeded.
	RequestStateSucceeded RequestState = "Succeeded"
)

// PossibleRequestStateValues returns the possible values for the RequestState const type.
func PossibleRequestStateValues() []RequestState {
	return []RequestState{
		RequestStateAccepted,
		RequestStateCanceled,
		RequestStateCreated,
		RequestStateEscalated,
		RequestStateFailed,
		RequestStateInProgress,
		RequestStateInvalid,
		RequestStateSucceeded,
	}
}

// UsagesTypes - The quota or usages limit types.
type UsagesTypes string

const (
	UsagesTypesCombined   UsagesTypes = "Combined"
	UsagesTypesIndividual UsagesTypes = "Individual"
)

// PossibleUsagesTypesValues returns the possible values for the UsagesTypes const type.
func PossibleUsagesTypesValues() []UsagesTypes {
	return []UsagesTypes{
		UsagesTypesCombined,
		UsagesTypesIndividual,
	}
}
