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

// ActiveState - Instance State
type ActiveState string

const (
	// ActiveStateActive - Instance is active
	ActiveStateActive ActiveState = "active"
	// ActiveStateInactive - Instance is inactive
	ActiveStateInactive ActiveState = "inactive"
)

// PossibleActiveStateValues returns the possible values for the ActiveState const type.
func PossibleActiveStateValues() []ActiveState {
	return []ActiveState{
		ActiveStateActive,
		ActiveStateInactive,
	}
}

// ConfigurationModel - Available configuration models
type ConfigurationModel string

const (
	// ConfigurationModelApplication - Configuration model Application
	ConfigurationModelApplication ConfigurationModel = "Application"
	// ConfigurationModelCommon - Configuration model Common
	ConfigurationModelCommon ConfigurationModel = "Common"
)

// PossibleConfigurationModelValues returns the possible values for the ConfigurationModel const type.
func PossibleConfigurationModelValues() []ConfigurationModel {
	return []ConfigurationModel{
		ConfigurationModelApplication,
		ConfigurationModelCommon,
	}
}

// ConfigurationType - Available configuration types
type ConfigurationType string

const (
	// ConfigurationTypeHierarchy - Configuration type Hierarchy
	ConfigurationTypeHierarchy ConfigurationType = "Hierarchy"
	// ConfigurationTypeShared - Configuration type Shared
	ConfigurationTypeShared ConfigurationType = "Shared"
)

// PossibleConfigurationTypeValues returns the possible values for the ConfigurationType const type.
func PossibleConfigurationTypeValues() []ConfigurationType {
	return []ConfigurationType{
		ConfigurationTypeHierarchy,
		ConfigurationTypeShared,
	}
}

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

// ErrorActionMode - Error Action Mode
type ErrorActionMode string

const (
	// ErrorActionModeSilentlyContinue - Continue silently despite errors
	ErrorActionModeSilentlyContinue ErrorActionMode = "silentlyContinue"
	// ErrorActionModeStopOnAnyFailure - Stop on any failure
	ErrorActionModeStopOnAnyFailure ErrorActionMode = "stopOnAnyFailure"
	// ErrorActionModeStopOnNFailures - Stop after N cumulative failures
	ErrorActionModeStopOnNFailures ErrorActionMode = "stopOnNFailures"
)

// PossibleErrorActionModeValues returns the possible values for the ErrorActionMode const type.
func PossibleErrorActionModeValues() []ErrorActionMode {
	return []ErrorActionMode{
		ErrorActionModeSilentlyContinue,
		ErrorActionModeStopOnAnyFailure,
		ErrorActionModeStopOnNFailures,
	}
}

// ExtendedLocationType - The supported ExtendedLocation types.
type ExtendedLocationType string

const (
	// ExtendedLocationTypeCustomLocation - Azure Custom Locations type
	ExtendedLocationTypeCustomLocation ExtendedLocationType = "CustomLocation"
	// ExtendedLocationTypeEdgeZone - Azure Edge Zones location type
	ExtendedLocationTypeEdgeZone ExtendedLocationType = "EdgeZone"
)

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

// JobStatus - Status of a job or job step.
type JobStatus string

const (
	// JobStatusFailed - The job or step failed.
	JobStatusFailed JobStatus = "Failed"
	// JobStatusInProgress - The job or step is in progress.
	JobStatusInProgress JobStatus = "InProgress"
	// JobStatusNotStarted - The job or step is not started.
	JobStatusNotStarted JobStatus = "NotStarted"
	// JobStatusSucceeded - The job or step succeeded.
	JobStatusSucceeded JobStatus = "Succeeded"
)

// PossibleJobStatusValues returns the possible values for the JobStatus const type.
func PossibleJobStatusValues() []JobStatus {
	return []JobStatus{
		JobStatusFailed,
		JobStatusInProgress,
		JobStatusNotStarted,
		JobStatusSucceeded,
	}
}

// JobType - JobType for the job. Supports extensibility via string values.
type JobType string

const (
	// JobTypeDeploy - A deployment job.
	JobTypeDeploy JobType = "deploy"
	// JobTypeExternalValidation - A validation job.
	JobTypeExternalValidation JobType = "externalValidation"
	// JobTypeStaging - A staging job.
	JobTypeStaging JobType = "staging"
)

// PossibleJobTypeValues returns the possible values for the JobType const type.
func PossibleJobTypeValues() []JobType {
	return []JobType{
		JobTypeDeploy,
		JobTypeExternalValidation,
		JobTypeStaging,
	}
}

// OrchestratorType - Available Orchestrator types
type OrchestratorType string

const (
	// OrchestratorTypeTO - Default type
	OrchestratorTypeTO OrchestratorType = "TO"
)

// PossibleOrchestratorTypeValues returns the possible values for the OrchestratorType const type.
func PossibleOrchestratorTypeValues() []OrchestratorType {
	return []OrchestratorType{
		OrchestratorTypeTO,
	}
}

// ProvisioningState - Provisioning state of resource
type ProvisioningState string

const (
	// ProvisioningStateCanceled - Resource creation was canceled.
	ProvisioningStateCanceled ProvisioningState = "Canceled"
	// ProvisioningStateDeleting - Resource Provisioning is deleting
	ProvisioningStateDeleting ProvisioningState = "Deleting"
	// ProvisioningStateFailed - Resource creation failed.
	ProvisioningStateFailed ProvisioningState = "Failed"
	// ProvisioningStateInitialized - Resource Provisioning is initialized
	ProvisioningStateInitialized ProvisioningState = "Initialized"
	// ProvisioningStateInprogress - Resource Provisioning is in progress
	ProvisioningStateInprogress ProvisioningState = "InProgress"
	// 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,
		ProvisioningStateInitialized,
		ProvisioningStateInprogress,
		ProvisioningStateSucceeded,
	}
}

// ReconciliationState - Defines a state of the reconciliation policy.
type ReconciliationState string

const (
	// ReconciliationStateActive - Reconciliation is active
	ReconciliationStateActive ReconciliationState = "active"
	// ReconciliationStateInactive - Reconciliation is inactive
	ReconciliationStateInactive ReconciliationState = "inactive"
)

// PossibleReconciliationStateValues returns the possible values for the ReconciliationState const type.
func PossibleReconciliationStateValues() []ReconciliationState {
	return []ReconciliationState{
		ReconciliationStateActive,
		ReconciliationStateInactive,
	}
}

// ResourceState - Resource Type State
type ResourceState string

const (
	// ResourceStateActive - Resource is active
	ResourceStateActive ResourceState = "active"
	// ResourceStateInactive - Resource is inactive
	ResourceStateInactive ResourceState = "inactive"
)

// PossibleResourceStateValues returns the possible values for the ResourceState const type.
func PossibleResourceStateValues() []ResourceState {
	return []ResourceState{
		ResourceStateActive,
		ResourceStateInactive,
	}
}

// State - Solution Instance State
type State string

const (
	// StateDeployed - Solution Instance is deployed
	StateDeployed State = "Deployed"
	// StateDeploying - Solution Instance is deploying
	StateDeploying State = "Deploying"
	// StateExternalValidationFailed - Solution Instance failed external validation
	StateExternalValidationFailed State = "ExternalValidationFailed"
	// StateFailed - Solution Instance failed to deploy
	StateFailed State = "Failed"
	// StateInReview - Solution Instance is in review
	StateInReview State = "InReview"
	// StatePendingExternalValidation - Solution Instance is pending external validation
	StatePendingExternalValidation State = "PendingExternalValidation"
	// StateReadyToDeploy - Solution Instance is ready to deploy
	StateReadyToDeploy State = "ReadyToDeploy"
	// StateReadyToUpgrade - Solution Instance is ready to upgrade
	StateReadyToUpgrade State = "ReadyToUpgrade"
	// StateStaging - Solution Instance is staging the images
	StateStaging State = "Staging"
	// StateUndeployed - Solution Instance is undeployed
	StateUndeployed State = "Undeployed"
	// StateUpgradeInReview - Solution Instance upgrade is in review
	StateUpgradeInReview State = "UpgradeInReview"
)

// PossibleStateValues returns the possible values for the State const type.
func PossibleStateValues() []State {
	return []State{
		StateDeployed,
		StateDeploying,
		StateExternalValidationFailed,
		StateFailed,
		StateInReview,
		StatePendingExternalValidation,
		StateReadyToDeploy,
		StateReadyToUpgrade,
		StateStaging,
		StateUndeployed,
		StateUpgradeInReview,
	}
}

// UpdateType - Denotes which part of the version number will be updated
type UpdateType string

const (
	// UpdateTypeMajor - Major version
	UpdateTypeMajor UpdateType = "Major"
	// UpdateTypeMinor - Minor version
	UpdateTypeMinor UpdateType = "Minor"
	// UpdateTypePatch - Patch version
	UpdateTypePatch UpdateType = "Patch"
)

// PossibleUpdateTypeValues returns the possible values for the UpdateType const type.
func PossibleUpdateTypeValues() []UpdateType {
	return []UpdateType{
		UpdateTypeMajor,
		UpdateTypeMinor,
		UpdateTypePatch,
	}
}

// ValidationStatus - Solution Instance Validation Status
type ValidationStatus string

const (
	// ValidationStatusInvalid - Solution Instance is invalid
	ValidationStatusInvalid ValidationStatus = "Invalid"
	// ValidationStatusValid - Solution Instance is valid
	ValidationStatusValid ValidationStatus = "Valid"
)

// PossibleValidationStatusValues returns the possible values for the ValidationStatus const type.
func PossibleValidationStatusValues() []ValidationStatus {
	return []ValidationStatus{
		ValidationStatusInvalid,
		ValidationStatusValid,
	}
}
