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

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

// HealthStateCode - StandbyPool health state.
type HealthStateCode string

const (
	// HealthStateCodeDegraded - StandbyPool is in degraded state.
	HealthStateCodeDegraded HealthStateCode = "HealthState/degraded"
	// HealthStateCodeHealthy - StandbyPool is in healthy state.
	HealthStateCodeHealthy HealthStateCode = "HealthState/healthy"
)

// PossibleHealthStateCodeValues returns the possible values for the HealthStateCode const type.
func PossibleHealthStateCodeValues() []HealthStateCode {
	return []HealthStateCode{
		HealthStateCodeDegraded,
		HealthStateCodeHealthy,
	}
}

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

// PoolContainerGroupState - The state of the pooled container groups.
type PoolContainerGroupState string

const (
	// PoolContainerGroupStateCreating - The container group is creating.
	PoolContainerGroupStateCreating PoolContainerGroupState = "Creating"
	// PoolContainerGroupStateDeleting - The container group is deleting.
	PoolContainerGroupStateDeleting PoolContainerGroupState = "Deleting"
	// PoolContainerGroupStateRunning - The container group is up and running.
	PoolContainerGroupStateRunning PoolContainerGroupState = "Running"
)

// PossiblePoolContainerGroupStateValues returns the possible values for the PoolContainerGroupState const type.
func PossiblePoolContainerGroupStateValues() []PoolContainerGroupState {
	return []PoolContainerGroupState{
		PoolContainerGroupStateCreating,
		PoolContainerGroupStateDeleting,
		PoolContainerGroupStateRunning,
	}
}

// PoolVirtualMachineState - The state of the pooled virtual machines.
type PoolVirtualMachineState string

const (
	// PoolVirtualMachineStateCreating - The virtual machine is creating.
	PoolVirtualMachineStateCreating PoolVirtualMachineState = "Creating"
	// PoolVirtualMachineStateDeallocated - The virtual machine has released the lease on the underlying hardware and is powered
	// off.
	PoolVirtualMachineStateDeallocated PoolVirtualMachineState = "Deallocated"
	// PoolVirtualMachineStateDeallocating - The virtual machine is releasing the lease on the underlying hardware and is powered
	// off.
	PoolVirtualMachineStateDeallocating PoolVirtualMachineState = "Deallocating"
	// PoolVirtualMachineStateDeleting - The virtual machine is deleting.
	PoolVirtualMachineStateDeleting PoolVirtualMachineState = "Deleting"
	// PoolVirtualMachineStateHibernated - The virtual machine has released the lease on the underlying hardware and is powered
	// off. Memory contents of the VM are stored in the OS disk. When started again, applications and processes that were previously
	// running in your VM resume from the state prior to hibernation.
	PoolVirtualMachineStateHibernated PoolVirtualMachineState = "Hibernated"
	// PoolVirtualMachineStateHibernating - The virtual machine is hibernating.
	PoolVirtualMachineStateHibernating PoolVirtualMachineState = "Hibernating"
	// PoolVirtualMachineStateRunning - The virtual machine is up and running.
	PoolVirtualMachineStateRunning PoolVirtualMachineState = "Running"
	// PoolVirtualMachineStateStarting - The virtual machine is starting.
	PoolVirtualMachineStateStarting PoolVirtualMachineState = "Starting"
)

// PossiblePoolVirtualMachineStateValues returns the possible values for the PoolVirtualMachineState const type.
func PossiblePoolVirtualMachineStateValues() []PoolVirtualMachineState {
	return []PoolVirtualMachineState{
		PoolVirtualMachineStateCreating,
		PoolVirtualMachineStateDeallocated,
		PoolVirtualMachineStateDeallocating,
		PoolVirtualMachineStateDeleting,
		PoolVirtualMachineStateHibernated,
		PoolVirtualMachineStateHibernating,
		PoolVirtualMachineStateRunning,
		PoolVirtualMachineStateStarting,
	}
}

// ProvisioningState - Provisioning state
type ProvisioningState string

const (
	// ProvisioningStateCanceled - Resource creation was canceled.
	ProvisioningStateCanceled ProvisioningState = "Canceled"
	// ProvisioningStateDeleting - Resource is being deleted.
	ProvisioningStateDeleting ProvisioningState = "Deleting"
	// ProvisioningStateFailed - Resource creation failed.
	ProvisioningStateFailed ProvisioningState = "Failed"
	// ProvisioningStateSucceeded - Resource has been created.
	ProvisioningStateSucceeded ProvisioningState = "Succeeded"
)

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

// RefillPolicy - Refill policy of standby pool
type RefillPolicy string

const (
	// RefillPolicyAlways - A refill policy that standby pool is automatically refilled to maintain maxReadyCapacity.
	RefillPolicyAlways RefillPolicy = "always"
)

// PossibleRefillPolicyValues returns the possible values for the RefillPolicy const type.
func PossibleRefillPolicyValues() []RefillPolicy {
	return []RefillPolicy{
		RefillPolicyAlways,
	}
}

// VirtualMachineState - State of standby virtual machines
type VirtualMachineState string

const (
	// VirtualMachineStateDeallocated - The virtual machine has released the lease on the underlying hardware and is powered off.
	VirtualMachineStateDeallocated VirtualMachineState = "Deallocated"
	// VirtualMachineStateHibernated - The virtual machine has released the lease on the underlying hardware and is powered off.
	// Memory contents of the VM are stored in the OS disk. When started again, applications and processes that were previously
	// running in your VM resume from the state prior to hibernation.
	VirtualMachineStateHibernated VirtualMachineState = "Hibernated"
	// VirtualMachineStateRunning - The virtual machine is up and running.
	VirtualMachineStateRunning VirtualMachineState = "Running"
)

// PossibleVirtualMachineStateValues returns the possible values for the VirtualMachineState const type.
func PossibleVirtualMachineStateValues() []VirtualMachineState {
	return []VirtualMachineState{
		VirtualMachineStateDeallocated,
		VirtualMachineStateHibernated,
		VirtualMachineStateRunning,
	}
}
