// 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 armdurabletask

// ActionType - Extensible enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs.
type ActionType string

const (
	// ActionTypeInternal - Actions are for internal-only APIs.
	ActionTypeInternal ActionType = "Internal"
)

// PossibleActionTypeValues returns the possible values for the ActionType const type.
func PossibleActionTypeValues() []ActionType {
	return []ActionType{
		ActionTypeInternal,
	}
}

// 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,
	}
}

// Origin - The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default
// value is "user,system"
type Origin string

const (
	// OriginSystem - Indicates the operation is initiated by a system.
	OriginSystem Origin = "system"
	// OriginUser - Indicates the operation is initiated by a user.
	OriginUser Origin = "user"
	// OriginUserSystem - Indicates the operation is initiated by a user or system.
	OriginUserSystem Origin = "user,system"
)

// PossibleOriginValues returns the possible values for the Origin const type.
func PossibleOriginValues() []Origin {
	return []Origin{
		OriginSystem,
		OriginUser,
		OriginUserSystem,
	}
}

// ProvisioningState - The status of the current operation
type ProvisioningState string

const (
	// ProvisioningStateAccepted - The resource create request has been accepted
	ProvisioningStateAccepted ProvisioningState = "Accepted"
	// ProvisioningStateCanceled - Resource creation was canceled.
	ProvisioningStateCanceled ProvisioningState = "Canceled"
	// ProvisioningStateDeleting - The resource is being deleted
	ProvisioningStateDeleting ProvisioningState = "Deleting"
	// ProvisioningStateFailed - Resource creation failed.
	ProvisioningStateFailed ProvisioningState = "Failed"
	// ProvisioningStateProvisioning - The resource is being provisioned
	ProvisioningStateProvisioning ProvisioningState = "Provisioning"
	// ProvisioningStateSucceeded - Resource has been created.
	ProvisioningStateSucceeded ProvisioningState = "Succeeded"
	// ProvisioningStateUpdating - The resource is updating
	ProvisioningStateUpdating ProvisioningState = "Updating"
)

// PossibleProvisioningStateValues returns the possible values for the ProvisioningState const type.
func PossibleProvisioningStateValues() []ProvisioningState {
	return []ProvisioningState{
		ProvisioningStateAccepted,
		ProvisioningStateCanceled,
		ProvisioningStateDeleting,
		ProvisioningStateFailed,
		ProvisioningStateProvisioning,
		ProvisioningStateSucceeded,
		ProvisioningStateUpdating,
	}
}

// PurgeableOrchestrationState - Purgeable orchestration state to be used in retention policies
type PurgeableOrchestrationState string

const (
	// PurgeableOrchestrationStateCanceled - The orchestration is canceled
	PurgeableOrchestrationStateCanceled PurgeableOrchestrationState = "Canceled"
	// PurgeableOrchestrationStateCompleted - The orchestration is completed
	PurgeableOrchestrationStateCompleted PurgeableOrchestrationState = "Completed"
	// PurgeableOrchestrationStateFailed - The orchestration is failed
	PurgeableOrchestrationStateFailed PurgeableOrchestrationState = "Failed"
	// PurgeableOrchestrationStateTerminated - The orchestration is terminated
	PurgeableOrchestrationStateTerminated PurgeableOrchestrationState = "Terminated"
)

// PossiblePurgeableOrchestrationStateValues returns the possible values for the PurgeableOrchestrationState const type.
func PossiblePurgeableOrchestrationStateValues() []PurgeableOrchestrationState {
	return []PurgeableOrchestrationState{
		PurgeableOrchestrationStateCanceled,
		PurgeableOrchestrationStateCompleted,
		PurgeableOrchestrationStateFailed,
		PurgeableOrchestrationStateTerminated,
	}
}

// RedundancyState - The state of the resource redundancy
type RedundancyState string

const (
	// RedundancyStateNone - The resource is not redundant
	RedundancyStateNone RedundancyState = "None"
	// RedundancyStateZone - The resource is zone redundant
	RedundancyStateZone RedundancyState = "Zone"
)

// PossibleRedundancyStateValues returns the possible values for the RedundancyState const type.
func PossibleRedundancyStateValues() []RedundancyState {
	return []RedundancyState{
		RedundancyStateNone,
		RedundancyStateZone,
	}
}

// SchedulerSKUName - The name of the Stock Keeping Unit (SKU) of a Durable Task Scheduler
type SchedulerSKUName string

const (
	// SchedulerSKUNameConsumption - Consumption SKU
	SchedulerSKUNameConsumption SchedulerSKUName = "Consumption"
	// SchedulerSKUNameDedicated - Dedicated SKU
	SchedulerSKUNameDedicated SchedulerSKUName = "Dedicated"
)

// PossibleSchedulerSKUNameValues returns the possible values for the SchedulerSKUName const type.
func PossibleSchedulerSKUNameValues() []SchedulerSKUName {
	return []SchedulerSKUName{
		SchedulerSKUNameConsumption,
		SchedulerSKUNameDedicated,
	}
}
