package siterecovery

// 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.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.

// A2ARecoveryAvailabilityType enumerates the values for a2a recovery availability type.
type A2ARecoveryAvailabilityType string

const (
	// AvailabilitySet ...
	AvailabilitySet A2ARecoveryAvailabilityType = "AvailabilitySet"
	// AvailabilityZone ...
	AvailabilityZone A2ARecoveryAvailabilityType = "AvailabilityZone"
	// Single ...
	Single A2ARecoveryAvailabilityType = "Single"
)

// PossibleA2ARecoveryAvailabilityTypeValues returns an array of possible values for the A2ARecoveryAvailabilityType const type.
func PossibleA2ARecoveryAvailabilityTypeValues() []A2ARecoveryAvailabilityType {
	return []A2ARecoveryAvailabilityType{AvailabilitySet, AvailabilityZone, Single}
}

// A2ARpRecoveryPointType enumerates the values for a2a rp recovery point type.
type A2ARpRecoveryPointType string

const (
	// Latest ...
	Latest A2ARpRecoveryPointType = "Latest"
	// LatestApplicationConsistent ...
	LatestApplicationConsistent A2ARpRecoveryPointType = "LatestApplicationConsistent"
	// LatestCrashConsistent ...
	LatestCrashConsistent A2ARpRecoveryPointType = "LatestCrashConsistent"
	// LatestProcessed ...
	LatestProcessed A2ARpRecoveryPointType = "LatestProcessed"
)

// PossibleA2ARpRecoveryPointTypeValues returns an array of possible values for the A2ARpRecoveryPointType const type.
func PossibleA2ARpRecoveryPointTypeValues() []A2ARpRecoveryPointType {
	return []A2ARpRecoveryPointType{Latest, LatestApplicationConsistent, LatestCrashConsistent, LatestProcessed}
}

// AgentAutoUpdateStatus enumerates the values for agent auto update status.
type AgentAutoUpdateStatus string

const (
	// Disabled ...
	Disabled AgentAutoUpdateStatus = "Disabled"
	// Enabled ...
	Enabled AgentAutoUpdateStatus = "Enabled"
)

// PossibleAgentAutoUpdateStatusValues returns an array of possible values for the AgentAutoUpdateStatus const type.
func PossibleAgentAutoUpdateStatusValues() []AgentAutoUpdateStatus {
	return []AgentAutoUpdateStatus{Disabled, Enabled}
}

// AgentUpgradeBlockedReason enumerates the values for agent upgrade blocked reason.
type AgentUpgradeBlockedReason string

const (
	// AgentNoHeartbeat ...
	AgentNoHeartbeat AgentUpgradeBlockedReason = "AgentNoHeartbeat"
	// AlreadyOnLatestVersion ...
	AlreadyOnLatestVersion AgentUpgradeBlockedReason = "AlreadyOnLatestVersion"
	// DistroIsNotReported ...
	DistroIsNotReported AgentUpgradeBlockedReason = "DistroIsNotReported"
	// DistroNotSupportedForUpgrade ...
	DistroNotSupportedForUpgrade AgentUpgradeBlockedReason = "DistroNotSupportedForUpgrade"
	// IncompatibleApplianceVersion ...
	IncompatibleApplianceVersion AgentUpgradeBlockedReason = "IncompatibleApplianceVersion"
	// InvalidAgentVersion ...
	InvalidAgentVersion AgentUpgradeBlockedReason = "InvalidAgentVersion"
	// InvalidDriverVersion ...
	InvalidDriverVersion AgentUpgradeBlockedReason = "InvalidDriverVersion"
	// MissingUpgradePath ...
	MissingUpgradePath AgentUpgradeBlockedReason = "MissingUpgradePath"
	// NotProtected ...
	NotProtected AgentUpgradeBlockedReason = "NotProtected"
	// ProcessServerNoHeartbeat ...
	ProcessServerNoHeartbeat AgentUpgradeBlockedReason = "ProcessServerNoHeartbeat"
	// RcmProxyNoHeartbeat ...
	RcmProxyNoHeartbeat AgentUpgradeBlockedReason = "RcmProxyNoHeartbeat"
	// RebootRequired ...
	RebootRequired AgentUpgradeBlockedReason = "RebootRequired"
	// Unknown ...
	Unknown AgentUpgradeBlockedReason = "Unknown"
	// UnsupportedProtectionScenario ...
	UnsupportedProtectionScenario AgentUpgradeBlockedReason = "UnsupportedProtectionScenario"
)

// PossibleAgentUpgradeBlockedReasonValues returns an array of possible values for the AgentUpgradeBlockedReason const type.
func PossibleAgentUpgradeBlockedReasonValues() []AgentUpgradeBlockedReason {
	return []AgentUpgradeBlockedReason{AgentNoHeartbeat, AlreadyOnLatestVersion, DistroIsNotReported, DistroNotSupportedForUpgrade, IncompatibleApplianceVersion, InvalidAgentVersion, InvalidDriverVersion, MissingUpgradePath, NotProtected, ProcessServerNoHeartbeat, RcmProxyNoHeartbeat, RebootRequired, Unknown, UnsupportedProtectionScenario}
}

// AgentVersionStatus enumerates the values for agent version status.
type AgentVersionStatus string

const (
	// Deprecated ...
	Deprecated AgentVersionStatus = "Deprecated"
	// NotSupported ...
	NotSupported AgentVersionStatus = "NotSupported"
	// SecurityUpdateRequired ...
	SecurityUpdateRequired AgentVersionStatus = "SecurityUpdateRequired"
	// Supported ...
	Supported AgentVersionStatus = "Supported"
	// UpdateRequired ...
	UpdateRequired AgentVersionStatus = "UpdateRequired"
)

// PossibleAgentVersionStatusValues returns an array of possible values for the AgentVersionStatus const type.
func PossibleAgentVersionStatusValues() []AgentVersionStatus {
	return []AgentVersionStatus{Deprecated, NotSupported, SecurityUpdateRequired, Supported, UpdateRequired}
}

// AlternateLocationRecoveryOption enumerates the values for alternate location recovery option.
type AlternateLocationRecoveryOption string

const (
	// CreateVMIfNotFound ...
	CreateVMIfNotFound AlternateLocationRecoveryOption = "CreateVmIfNotFound"
	// NoAction ...
	NoAction AlternateLocationRecoveryOption = "NoAction"
)

// PossibleAlternateLocationRecoveryOptionValues returns an array of possible values for the AlternateLocationRecoveryOption const type.
func PossibleAlternateLocationRecoveryOptionValues() []AlternateLocationRecoveryOption {
	return []AlternateLocationRecoveryOption{CreateVMIfNotFound, NoAction}
}

// AutoProtectionOfDataDisk enumerates the values for auto protection of data disk.
type AutoProtectionOfDataDisk string

const (
	// AutoProtectionOfDataDiskDisabled ...
	AutoProtectionOfDataDiskDisabled AutoProtectionOfDataDisk = "Disabled"
	// AutoProtectionOfDataDiskEnabled ...
	AutoProtectionOfDataDiskEnabled AutoProtectionOfDataDisk = "Enabled"
)

// PossibleAutoProtectionOfDataDiskValues returns an array of possible values for the AutoProtectionOfDataDisk const type.
func PossibleAutoProtectionOfDataDiskValues() []AutoProtectionOfDataDisk {
	return []AutoProtectionOfDataDisk{AutoProtectionOfDataDiskDisabled, AutoProtectionOfDataDiskEnabled}
}

// AutoProtectionOfDataDiskStatus enumerates the values for auto protection of data disk status.
type AutoProtectionOfDataDiskStatus string

const (
	// AutoProtectionOfDataDiskStatusDisabled ...
	AutoProtectionOfDataDiskStatusDisabled AutoProtectionOfDataDiskStatus = "Disabled"
	// AutoProtectionOfDataDiskStatusEnabled ...
	AutoProtectionOfDataDiskStatusEnabled AutoProtectionOfDataDiskStatus = "Enabled"
)

// PossibleAutoProtectionOfDataDiskStatusValues returns an array of possible values for the AutoProtectionOfDataDiskStatus const type.
func PossibleAutoProtectionOfDataDiskStatusValues() []AutoProtectionOfDataDiskStatus {
	return []AutoProtectionOfDataDiskStatus{AutoProtectionOfDataDiskStatusDisabled, AutoProtectionOfDataDiskStatusEnabled}
}

// DataSyncStatus enumerates the values for data sync status.
type DataSyncStatus string

const (
	// ForDownTime ...
	ForDownTime DataSyncStatus = "ForDownTime"
	// ForSynchronization ...
	ForSynchronization DataSyncStatus = "ForSynchronization"
)

// PossibleDataSyncStatusValues returns an array of possible values for the DataSyncStatus const type.
func PossibleDataSyncStatusValues() []DataSyncStatus {
	return []DataSyncStatus{ForDownTime, ForSynchronization}
}

// DisableProtectionReason enumerates the values for disable protection reason.
type DisableProtectionReason string

const (
	// MigrationComplete ...
	MigrationComplete DisableProtectionReason = "MigrationComplete"
	// NotSpecified ...
	NotSpecified DisableProtectionReason = "NotSpecified"
)

// PossibleDisableProtectionReasonValues returns an array of possible values for the DisableProtectionReason const type.
func PossibleDisableProtectionReasonValues() []DisableProtectionReason {
	return []DisableProtectionReason{MigrationComplete, NotSpecified}
}

// DiskAccountType enumerates the values for disk account type.
type DiskAccountType string

const (
	// PremiumLRS ...
	PremiumLRS DiskAccountType = "Premium_LRS"
	// StandardLRS ...
	StandardLRS DiskAccountType = "Standard_LRS"
	// StandardSSDLRS ...
	StandardSSDLRS DiskAccountType = "StandardSSD_LRS"
)

// PossibleDiskAccountTypeValues returns an array of possible values for the DiskAccountType const type.
func PossibleDiskAccountTypeValues() []DiskAccountType {
	return []DiskAccountType{PremiumLRS, StandardLRS, StandardSSDLRS}
}

// DiskType enumerates the values for disk type.
type DiskType string

const (
	// DiskTypePremiumLRS ...
	DiskTypePremiumLRS DiskType = "Premium_LRS"
	// DiskTypeStandardLRS ...
	DiskTypeStandardLRS DiskType = "Standard_LRS"
	// DiskTypeStandardSSDLRS ...
	DiskTypeStandardSSDLRS DiskType = "StandardSSD_LRS"
)

// PossibleDiskTypeValues returns an array of possible values for the DiskType const type.
func PossibleDiskTypeValues() []DiskType {
	return []DiskType{DiskTypePremiumLRS, DiskTypeStandardLRS, DiskTypeStandardSSDLRS}
}

// EthernetAddressType enumerates the values for ethernet address type.
type EthernetAddressType string

const (
	// Dynamic ...
	Dynamic EthernetAddressType = "Dynamic"
	// Static ...
	Static EthernetAddressType = "Static"
)

// PossibleEthernetAddressTypeValues returns an array of possible values for the EthernetAddressType const type.
func PossibleEthernetAddressTypeValues() []EthernetAddressType {
	return []EthernetAddressType{Dynamic, Static}
}

// FailoverDeploymentModel enumerates the values for failover deployment model.
type FailoverDeploymentModel string

const (
	// Classic ...
	Classic FailoverDeploymentModel = "Classic"
	// NotApplicable ...
	NotApplicable FailoverDeploymentModel = "NotApplicable"
	// ResourceManager ...
	ResourceManager FailoverDeploymentModel = "ResourceManager"
)

// PossibleFailoverDeploymentModelValues returns an array of possible values for the FailoverDeploymentModel const type.
func PossibleFailoverDeploymentModelValues() []FailoverDeploymentModel {
	return []FailoverDeploymentModel{Classic, NotApplicable, ResourceManager}
}

// HealthErrorCategory enumerates the values for health error category.
type HealthErrorCategory string

const (
	// AgentAutoUpdate ...
	AgentAutoUpdate HealthErrorCategory = "AgentAutoUpdate"
	// Configuration ...
	Configuration HealthErrorCategory = "Configuration"
	// FabricInfrastructure ...
	FabricInfrastructure HealthErrorCategory = "FabricInfrastructure"
	// None ...
	None HealthErrorCategory = "None"
	// Replication ...
	Replication HealthErrorCategory = "Replication"
	// TestFailover ...
	TestFailover HealthErrorCategory = "TestFailover"
	// VersionExpiry ...
	VersionExpiry HealthErrorCategory = "VersionExpiry"
)

// PossibleHealthErrorCategoryValues returns an array of possible values for the HealthErrorCategory const type.
func PossibleHealthErrorCategoryValues() []HealthErrorCategory {
	return []HealthErrorCategory{AgentAutoUpdate, Configuration, FabricInfrastructure, None, Replication, TestFailover, VersionExpiry}
}

// HealthErrorCustomerResolvability enumerates the values for health error customer resolvability.
type HealthErrorCustomerResolvability string

const (
	// Allowed ...
	Allowed HealthErrorCustomerResolvability = "Allowed"
	// NotAllowed ...
	NotAllowed HealthErrorCustomerResolvability = "NotAllowed"
)

// PossibleHealthErrorCustomerResolvabilityValues returns an array of possible values for the HealthErrorCustomerResolvability const type.
func PossibleHealthErrorCustomerResolvabilityValues() []HealthErrorCustomerResolvability {
	return []HealthErrorCustomerResolvability{Allowed, NotAllowed}
}

// HyperVReplicaAzureRpRecoveryPointType enumerates the values for hyper v replica azure rp recovery point
// type.
type HyperVReplicaAzureRpRecoveryPointType string

const (
	// HyperVReplicaAzureRpRecoveryPointTypeLatest ...
	HyperVReplicaAzureRpRecoveryPointTypeLatest HyperVReplicaAzureRpRecoveryPointType = "Latest"
	// HyperVReplicaAzureRpRecoveryPointTypeLatestApplicationConsistent ...
	HyperVReplicaAzureRpRecoveryPointTypeLatestApplicationConsistent HyperVReplicaAzureRpRecoveryPointType = "LatestApplicationConsistent"
	// HyperVReplicaAzureRpRecoveryPointTypeLatestProcessed ...
	HyperVReplicaAzureRpRecoveryPointTypeLatestProcessed HyperVReplicaAzureRpRecoveryPointType = "LatestProcessed"
)

// PossibleHyperVReplicaAzureRpRecoveryPointTypeValues returns an array of possible values for the HyperVReplicaAzureRpRecoveryPointType const type.
func PossibleHyperVReplicaAzureRpRecoveryPointTypeValues() []HyperVReplicaAzureRpRecoveryPointType {
	return []HyperVReplicaAzureRpRecoveryPointType{HyperVReplicaAzureRpRecoveryPointTypeLatest, HyperVReplicaAzureRpRecoveryPointTypeLatestApplicationConsistent, HyperVReplicaAzureRpRecoveryPointTypeLatestProcessed}
}

// InMageV2RpRecoveryPointType enumerates the values for in mage v2 rp recovery point type.
type InMageV2RpRecoveryPointType string

const (
	// InMageV2RpRecoveryPointTypeLatest ...
	InMageV2RpRecoveryPointTypeLatest InMageV2RpRecoveryPointType = "Latest"
	// InMageV2RpRecoveryPointTypeLatestApplicationConsistent ...
	InMageV2RpRecoveryPointTypeLatestApplicationConsistent InMageV2RpRecoveryPointType = "LatestApplicationConsistent"
	// InMageV2RpRecoveryPointTypeLatestCrashConsistent ...
	InMageV2RpRecoveryPointTypeLatestCrashConsistent InMageV2RpRecoveryPointType = "LatestCrashConsistent"
	// InMageV2RpRecoveryPointTypeLatestProcessed ...
	InMageV2RpRecoveryPointTypeLatestProcessed InMageV2RpRecoveryPointType = "LatestProcessed"
)

// PossibleInMageV2RpRecoveryPointTypeValues returns an array of possible values for the InMageV2RpRecoveryPointType const type.
func PossibleInMageV2RpRecoveryPointTypeValues() []InMageV2RpRecoveryPointType {
	return []InMageV2RpRecoveryPointType{InMageV2RpRecoveryPointTypeLatest, InMageV2RpRecoveryPointTypeLatestApplicationConsistent, InMageV2RpRecoveryPointTypeLatestCrashConsistent, InMageV2RpRecoveryPointTypeLatestProcessed}
}

// InstanceType enumerates the values for instance type.
type InstanceType string

const (
	// InstanceTypeA2A ...
	InstanceTypeA2A InstanceType = "A2A"
	// InstanceTypeAddDisksProviderSpecificInput ...
	InstanceTypeAddDisksProviderSpecificInput InstanceType = "AddDisksProviderSpecificInput"
)

// PossibleInstanceTypeValues returns an array of possible values for the InstanceType const type.
func PossibleInstanceTypeValues() []InstanceType {
	return []InstanceType{InstanceTypeA2A, InstanceTypeAddDisksProviderSpecificInput}
}

// InstanceTypeBasicApplyRecoveryPointProviderSpecificInput enumerates the values for instance type basic apply
// recovery point provider specific input.
type InstanceTypeBasicApplyRecoveryPointProviderSpecificInput string

const (
	// InstanceTypeBasicApplyRecoveryPointProviderSpecificInputInstanceTypeA2A ...
	InstanceTypeBasicApplyRecoveryPointProviderSpecificInputInstanceTypeA2A InstanceTypeBasicApplyRecoveryPointProviderSpecificInput = "A2A"
	// InstanceTypeBasicApplyRecoveryPointProviderSpecificInputInstanceTypeApplyRecoveryPointProviderSpecificInput ...
	InstanceTypeBasicApplyRecoveryPointProviderSpecificInputInstanceTypeApplyRecoveryPointProviderSpecificInput InstanceTypeBasicApplyRecoveryPointProviderSpecificInput = "ApplyRecoveryPointProviderSpecificInput"
	// InstanceTypeBasicApplyRecoveryPointProviderSpecificInputInstanceTypeHyperVReplicaAzure ...
	InstanceTypeBasicApplyRecoveryPointProviderSpecificInputInstanceTypeHyperVReplicaAzure InstanceTypeBasicApplyRecoveryPointProviderSpecificInput = "HyperVReplicaAzure"
	// InstanceTypeBasicApplyRecoveryPointProviderSpecificInputInstanceTypeInMageAzureV2 ...
	InstanceTypeBasicApplyRecoveryPointProviderSpecificInputInstanceTypeInMageAzureV2 InstanceTypeBasicApplyRecoveryPointProviderSpecificInput = "InMageAzureV2"
	// InstanceTypeBasicApplyRecoveryPointProviderSpecificInputInstanceTypeInMageRcm ...
	InstanceTypeBasicApplyRecoveryPointProviderSpecificInputInstanceTypeInMageRcm InstanceTypeBasicApplyRecoveryPointProviderSpecificInput = "InMageRcm"
)

// PossibleInstanceTypeBasicApplyRecoveryPointProviderSpecificInputValues returns an array of possible values for the InstanceTypeBasicApplyRecoveryPointProviderSpecificInput const type.
func PossibleInstanceTypeBasicApplyRecoveryPointProviderSpecificInputValues() []InstanceTypeBasicApplyRecoveryPointProviderSpecificInput {
	return []InstanceTypeBasicApplyRecoveryPointProviderSpecificInput{InstanceTypeBasicApplyRecoveryPointProviderSpecificInputInstanceTypeA2A, InstanceTypeBasicApplyRecoveryPointProviderSpecificInputInstanceTypeApplyRecoveryPointProviderSpecificInput, InstanceTypeBasicApplyRecoveryPointProviderSpecificInputInstanceTypeHyperVReplicaAzure, InstanceTypeBasicApplyRecoveryPointProviderSpecificInputInstanceTypeInMageAzureV2, InstanceTypeBasicApplyRecoveryPointProviderSpecificInputInstanceTypeInMageRcm}
}

// InstanceTypeBasicConfigurationSettings enumerates the values for instance type basic configuration settings.
type InstanceTypeBasicConfigurationSettings string

const (
	// InstanceTypeConfigurationSettings ...
	InstanceTypeConfigurationSettings InstanceTypeBasicConfigurationSettings = "ConfigurationSettings"
	// InstanceTypeHyperVVirtualMachine ...
	InstanceTypeHyperVVirtualMachine InstanceTypeBasicConfigurationSettings = "HyperVVirtualMachine"
	// InstanceTypeReplicationGroupDetails ...
	InstanceTypeReplicationGroupDetails InstanceTypeBasicConfigurationSettings = "ReplicationGroupDetails"
	// InstanceTypeVmmVirtualMachine ...
	InstanceTypeVmmVirtualMachine InstanceTypeBasicConfigurationSettings = "VmmVirtualMachine"
	// InstanceTypeVMwareVirtualMachine ...
	InstanceTypeVMwareVirtualMachine InstanceTypeBasicConfigurationSettings = "VMwareVirtualMachine"
)

// PossibleInstanceTypeBasicConfigurationSettingsValues returns an array of possible values for the InstanceTypeBasicConfigurationSettings const type.
func PossibleInstanceTypeBasicConfigurationSettingsValues() []InstanceTypeBasicConfigurationSettings {
	return []InstanceTypeBasicConfigurationSettings{InstanceTypeConfigurationSettings, InstanceTypeHyperVVirtualMachine, InstanceTypeReplicationGroupDetails, InstanceTypeVmmVirtualMachine, InstanceTypeVMwareVirtualMachine}
}

// InstanceTypeBasicCreateProtectionIntentProviderSpecificDetails enumerates the values for instance type basic
// create protection intent provider specific details.
type InstanceTypeBasicCreateProtectionIntentProviderSpecificDetails string

const (
	// InstanceTypeBasicCreateProtectionIntentProviderSpecificDetailsInstanceTypeA2A ...
	InstanceTypeBasicCreateProtectionIntentProviderSpecificDetailsInstanceTypeA2A InstanceTypeBasicCreateProtectionIntentProviderSpecificDetails = "A2A"
	// InstanceTypeBasicCreateProtectionIntentProviderSpecificDetailsInstanceTypeCreateProtectionIntentProviderSpecificDetails ...
	InstanceTypeBasicCreateProtectionIntentProviderSpecificDetailsInstanceTypeCreateProtectionIntentProviderSpecificDetails InstanceTypeBasicCreateProtectionIntentProviderSpecificDetails = "CreateProtectionIntentProviderSpecificDetails"
)

// PossibleInstanceTypeBasicCreateProtectionIntentProviderSpecificDetailsValues returns an array of possible values for the InstanceTypeBasicCreateProtectionIntentProviderSpecificDetails const type.
func PossibleInstanceTypeBasicCreateProtectionIntentProviderSpecificDetailsValues() []InstanceTypeBasicCreateProtectionIntentProviderSpecificDetails {
	return []InstanceTypeBasicCreateProtectionIntentProviderSpecificDetails{InstanceTypeBasicCreateProtectionIntentProviderSpecificDetailsInstanceTypeA2A, InstanceTypeBasicCreateProtectionIntentProviderSpecificDetailsInstanceTypeCreateProtectionIntentProviderSpecificDetails}
}

// InstanceTypeBasicDisableProtectionProviderSpecificInput enumerates the values for instance type basic
// disable protection provider specific input.
type InstanceTypeBasicDisableProtectionProviderSpecificInput string

const (
	// InstanceTypeDisableProtectionProviderSpecificInput ...
	InstanceTypeDisableProtectionProviderSpecificInput InstanceTypeBasicDisableProtectionProviderSpecificInput = "DisableProtectionProviderSpecificInput"
	// InstanceTypeInMage ...
	InstanceTypeInMage InstanceTypeBasicDisableProtectionProviderSpecificInput = "InMage"
)

// PossibleInstanceTypeBasicDisableProtectionProviderSpecificInputValues returns an array of possible values for the InstanceTypeBasicDisableProtectionProviderSpecificInput const type.
func PossibleInstanceTypeBasicDisableProtectionProviderSpecificInputValues() []InstanceTypeBasicDisableProtectionProviderSpecificInput {
	return []InstanceTypeBasicDisableProtectionProviderSpecificInput{InstanceTypeDisableProtectionProviderSpecificInput, InstanceTypeInMage}
}

// InstanceTypeBasicEnableMigrationProviderSpecificInput enumerates the values for instance type basic enable
// migration provider specific input.
type InstanceTypeBasicEnableMigrationProviderSpecificInput string

const (
	// InstanceTypeEnableMigrationProviderSpecificInput ...
	InstanceTypeEnableMigrationProviderSpecificInput InstanceTypeBasicEnableMigrationProviderSpecificInput = "EnableMigrationProviderSpecificInput"
	// InstanceTypeVMwareCbt ...
	InstanceTypeVMwareCbt InstanceTypeBasicEnableMigrationProviderSpecificInput = "VMwareCbt"
)

// PossibleInstanceTypeBasicEnableMigrationProviderSpecificInputValues returns an array of possible values for the InstanceTypeBasicEnableMigrationProviderSpecificInput const type.
func PossibleInstanceTypeBasicEnableMigrationProviderSpecificInputValues() []InstanceTypeBasicEnableMigrationProviderSpecificInput {
	return []InstanceTypeBasicEnableMigrationProviderSpecificInput{InstanceTypeEnableMigrationProviderSpecificInput, InstanceTypeVMwareCbt}
}

// InstanceTypeBasicEnableProtectionProviderSpecificInput enumerates the values for instance type basic enable
// protection provider specific input.
type InstanceTypeBasicEnableProtectionProviderSpecificInput string

const (
	// InstanceTypeBasicEnableProtectionProviderSpecificInputInstanceTypeA2A ...
	InstanceTypeBasicEnableProtectionProviderSpecificInputInstanceTypeA2A InstanceTypeBasicEnableProtectionProviderSpecificInput = "A2A"
	// InstanceTypeBasicEnableProtectionProviderSpecificInputInstanceTypeEnableProtectionProviderSpecificInput ...
	InstanceTypeBasicEnableProtectionProviderSpecificInputInstanceTypeEnableProtectionProviderSpecificInput InstanceTypeBasicEnableProtectionProviderSpecificInput = "EnableProtectionProviderSpecificInput"
	// InstanceTypeBasicEnableProtectionProviderSpecificInputInstanceTypeHyperVReplicaAzure ...
	InstanceTypeBasicEnableProtectionProviderSpecificInputInstanceTypeHyperVReplicaAzure InstanceTypeBasicEnableProtectionProviderSpecificInput = "HyperVReplicaAzure"
	// InstanceTypeBasicEnableProtectionProviderSpecificInputInstanceTypeInMage ...
	InstanceTypeBasicEnableProtectionProviderSpecificInputInstanceTypeInMage InstanceTypeBasicEnableProtectionProviderSpecificInput = "InMage"
	// InstanceTypeBasicEnableProtectionProviderSpecificInputInstanceTypeInMageAzureV2 ...
	InstanceTypeBasicEnableProtectionProviderSpecificInputInstanceTypeInMageAzureV2 InstanceTypeBasicEnableProtectionProviderSpecificInput = "InMageAzureV2"
	// InstanceTypeBasicEnableProtectionProviderSpecificInputInstanceTypeInMageRcm ...
	InstanceTypeBasicEnableProtectionProviderSpecificInputInstanceTypeInMageRcm InstanceTypeBasicEnableProtectionProviderSpecificInput = "InMageRcm"
	// InstanceTypeBasicEnableProtectionProviderSpecificInputInstanceTypeSan ...
	InstanceTypeBasicEnableProtectionProviderSpecificInputInstanceTypeSan InstanceTypeBasicEnableProtectionProviderSpecificInput = "San"
)

// PossibleInstanceTypeBasicEnableProtectionProviderSpecificInputValues returns an array of possible values for the InstanceTypeBasicEnableProtectionProviderSpecificInput const type.
func PossibleInstanceTypeBasicEnableProtectionProviderSpecificInputValues() []InstanceTypeBasicEnableProtectionProviderSpecificInput {
	return []InstanceTypeBasicEnableProtectionProviderSpecificInput{InstanceTypeBasicEnableProtectionProviderSpecificInputInstanceTypeA2A, InstanceTypeBasicEnableProtectionProviderSpecificInputInstanceTypeEnableProtectionProviderSpecificInput, InstanceTypeBasicEnableProtectionProviderSpecificInputInstanceTypeHyperVReplicaAzure, InstanceTypeBasicEnableProtectionProviderSpecificInputInstanceTypeInMage, InstanceTypeBasicEnableProtectionProviderSpecificInputInstanceTypeInMageAzureV2, InstanceTypeBasicEnableProtectionProviderSpecificInputInstanceTypeInMageRcm, InstanceTypeBasicEnableProtectionProviderSpecificInputInstanceTypeSan}
}

// InstanceTypeBasicEventProviderSpecificDetails enumerates the values for instance type basic event provider
// specific details.
type InstanceTypeBasicEventProviderSpecificDetails string

const (
	// InstanceTypeBasicEventProviderSpecificDetailsInstanceTypeA2A ...
	InstanceTypeBasicEventProviderSpecificDetailsInstanceTypeA2A InstanceTypeBasicEventProviderSpecificDetails = "A2A"
	// InstanceTypeBasicEventProviderSpecificDetailsInstanceTypeEventProviderSpecificDetails ...
	InstanceTypeBasicEventProviderSpecificDetailsInstanceTypeEventProviderSpecificDetails InstanceTypeBasicEventProviderSpecificDetails = "EventProviderSpecificDetails"
	// InstanceTypeBasicEventProviderSpecificDetailsInstanceTypeHyperVReplica2012 ...
	InstanceTypeBasicEventProviderSpecificDetailsInstanceTypeHyperVReplica2012 InstanceTypeBasicEventProviderSpecificDetails = "HyperVReplica2012"
	// InstanceTypeBasicEventProviderSpecificDetailsInstanceTypeHyperVReplica2012R2 ...
	InstanceTypeBasicEventProviderSpecificDetailsInstanceTypeHyperVReplica2012R2 InstanceTypeBasicEventProviderSpecificDetails = "HyperVReplica2012R2"
	// InstanceTypeBasicEventProviderSpecificDetailsInstanceTypeHyperVReplicaAzure ...
	InstanceTypeBasicEventProviderSpecificDetailsInstanceTypeHyperVReplicaAzure InstanceTypeBasicEventProviderSpecificDetails = "HyperVReplicaAzure"
	// InstanceTypeBasicEventProviderSpecificDetailsInstanceTypeHyperVReplicaBaseEventDetails ...
	InstanceTypeBasicEventProviderSpecificDetailsInstanceTypeHyperVReplicaBaseEventDetails InstanceTypeBasicEventProviderSpecificDetails = "HyperVReplicaBaseEventDetails"
	// InstanceTypeBasicEventProviderSpecificDetailsInstanceTypeInMageAzureV2 ...
	InstanceTypeBasicEventProviderSpecificDetailsInstanceTypeInMageAzureV2 InstanceTypeBasicEventProviderSpecificDetails = "InMageAzureV2"
	// InstanceTypeBasicEventProviderSpecificDetailsInstanceTypeInMageRcm ...
	InstanceTypeBasicEventProviderSpecificDetailsInstanceTypeInMageRcm InstanceTypeBasicEventProviderSpecificDetails = "InMageRcm"
)

// PossibleInstanceTypeBasicEventProviderSpecificDetailsValues returns an array of possible values for the InstanceTypeBasicEventProviderSpecificDetails const type.
func PossibleInstanceTypeBasicEventProviderSpecificDetailsValues() []InstanceTypeBasicEventProviderSpecificDetails {
	return []InstanceTypeBasicEventProviderSpecificDetails{InstanceTypeBasicEventProviderSpecificDetailsInstanceTypeA2A, InstanceTypeBasicEventProviderSpecificDetailsInstanceTypeEventProviderSpecificDetails, InstanceTypeBasicEventProviderSpecificDetailsInstanceTypeHyperVReplica2012, InstanceTypeBasicEventProviderSpecificDetailsInstanceTypeHyperVReplica2012R2, InstanceTypeBasicEventProviderSpecificDetailsInstanceTypeHyperVReplicaAzure, InstanceTypeBasicEventProviderSpecificDetailsInstanceTypeHyperVReplicaBaseEventDetails, InstanceTypeBasicEventProviderSpecificDetailsInstanceTypeInMageAzureV2, InstanceTypeBasicEventProviderSpecificDetailsInstanceTypeInMageRcm}
}

// InstanceTypeBasicEventSpecificDetails enumerates the values for instance type basic event specific details.
type InstanceTypeBasicEventSpecificDetails string

const (
	// InstanceTypeEventSpecificDetails ...
	InstanceTypeEventSpecificDetails InstanceTypeBasicEventSpecificDetails = "EventSpecificDetails"
	// InstanceTypeJobStatus ...
	InstanceTypeJobStatus InstanceTypeBasicEventSpecificDetails = "JobStatus"
)

// PossibleInstanceTypeBasicEventSpecificDetailsValues returns an array of possible values for the InstanceTypeBasicEventSpecificDetails const type.
func PossibleInstanceTypeBasicEventSpecificDetailsValues() []InstanceTypeBasicEventSpecificDetails {
	return []InstanceTypeBasicEventSpecificDetails{InstanceTypeEventSpecificDetails, InstanceTypeJobStatus}
}

// InstanceTypeBasicFabricSpecificCreateNetworkMappingInput enumerates the values for instance type basic
// fabric specific create network mapping input.
type InstanceTypeBasicFabricSpecificCreateNetworkMappingInput string

const (
	// InstanceTypeAzureToAzure ...
	InstanceTypeAzureToAzure InstanceTypeBasicFabricSpecificCreateNetworkMappingInput = "AzureToAzure"
	// InstanceTypeFabricSpecificCreateNetworkMappingInput ...
	InstanceTypeFabricSpecificCreateNetworkMappingInput InstanceTypeBasicFabricSpecificCreateNetworkMappingInput = "FabricSpecificCreateNetworkMappingInput"
	// InstanceTypeVmmToAzure ...
	InstanceTypeVmmToAzure InstanceTypeBasicFabricSpecificCreateNetworkMappingInput = "VmmToAzure"
	// InstanceTypeVmmToVmm ...
	InstanceTypeVmmToVmm InstanceTypeBasicFabricSpecificCreateNetworkMappingInput = "VmmToVmm"
)

// PossibleInstanceTypeBasicFabricSpecificCreateNetworkMappingInputValues returns an array of possible values for the InstanceTypeBasicFabricSpecificCreateNetworkMappingInput const type.
func PossibleInstanceTypeBasicFabricSpecificCreateNetworkMappingInputValues() []InstanceTypeBasicFabricSpecificCreateNetworkMappingInput {
	return []InstanceTypeBasicFabricSpecificCreateNetworkMappingInput{InstanceTypeAzureToAzure, InstanceTypeFabricSpecificCreateNetworkMappingInput, InstanceTypeVmmToAzure, InstanceTypeVmmToVmm}
}

// InstanceTypeBasicFabricSpecificCreationInput enumerates the values for instance type basic fabric specific
// creation input.
type InstanceTypeBasicFabricSpecificCreationInput string

const (
	// InstanceTypeAzure ...
	InstanceTypeAzure InstanceTypeBasicFabricSpecificCreationInput = "Azure"
	// InstanceTypeFabricSpecificCreationInput ...
	InstanceTypeFabricSpecificCreationInput InstanceTypeBasicFabricSpecificCreationInput = "FabricSpecificCreationInput"
	// InstanceTypeInMageRcm ...
	InstanceTypeInMageRcm InstanceTypeBasicFabricSpecificCreationInput = "InMageRcm"
	// InstanceTypeVMwareV2 ...
	InstanceTypeVMwareV2 InstanceTypeBasicFabricSpecificCreationInput = "VMwareV2"
)

// PossibleInstanceTypeBasicFabricSpecificCreationInputValues returns an array of possible values for the InstanceTypeBasicFabricSpecificCreationInput const type.
func PossibleInstanceTypeBasicFabricSpecificCreationInputValues() []InstanceTypeBasicFabricSpecificCreationInput {
	return []InstanceTypeBasicFabricSpecificCreationInput{InstanceTypeAzure, InstanceTypeFabricSpecificCreationInput, InstanceTypeInMageRcm, InstanceTypeVMwareV2}
}

// InstanceTypeBasicFabricSpecificDetails enumerates the values for instance type basic fabric specific
// details.
type InstanceTypeBasicFabricSpecificDetails string

const (
	// InstanceTypeBasicFabricSpecificDetailsInstanceTypeAzure ...
	InstanceTypeBasicFabricSpecificDetailsInstanceTypeAzure InstanceTypeBasicFabricSpecificDetails = "Azure"
	// InstanceTypeBasicFabricSpecificDetailsInstanceTypeFabricSpecificDetails ...
	InstanceTypeBasicFabricSpecificDetailsInstanceTypeFabricSpecificDetails InstanceTypeBasicFabricSpecificDetails = "FabricSpecificDetails"
	// InstanceTypeBasicFabricSpecificDetailsInstanceTypeHyperVSite ...
	InstanceTypeBasicFabricSpecificDetailsInstanceTypeHyperVSite InstanceTypeBasicFabricSpecificDetails = "HyperVSite"
	// InstanceTypeBasicFabricSpecificDetailsInstanceTypeInMageRcm ...
	InstanceTypeBasicFabricSpecificDetailsInstanceTypeInMageRcm InstanceTypeBasicFabricSpecificDetails = "InMageRcm"
	// InstanceTypeBasicFabricSpecificDetailsInstanceTypeVMM ...
	InstanceTypeBasicFabricSpecificDetailsInstanceTypeVMM InstanceTypeBasicFabricSpecificDetails = "VMM"
	// InstanceTypeBasicFabricSpecificDetailsInstanceTypeVMware ...
	InstanceTypeBasicFabricSpecificDetailsInstanceTypeVMware InstanceTypeBasicFabricSpecificDetails = "VMware"
	// InstanceTypeBasicFabricSpecificDetailsInstanceTypeVMwareV2 ...
	InstanceTypeBasicFabricSpecificDetailsInstanceTypeVMwareV2 InstanceTypeBasicFabricSpecificDetails = "VMwareV2"
)

// PossibleInstanceTypeBasicFabricSpecificDetailsValues returns an array of possible values for the InstanceTypeBasicFabricSpecificDetails const type.
func PossibleInstanceTypeBasicFabricSpecificDetailsValues() []InstanceTypeBasicFabricSpecificDetails {
	return []InstanceTypeBasicFabricSpecificDetails{InstanceTypeBasicFabricSpecificDetailsInstanceTypeAzure, InstanceTypeBasicFabricSpecificDetailsInstanceTypeFabricSpecificDetails, InstanceTypeBasicFabricSpecificDetailsInstanceTypeHyperVSite, InstanceTypeBasicFabricSpecificDetailsInstanceTypeInMageRcm, InstanceTypeBasicFabricSpecificDetailsInstanceTypeVMM, InstanceTypeBasicFabricSpecificDetailsInstanceTypeVMware, InstanceTypeBasicFabricSpecificDetailsInstanceTypeVMwareV2}
}

// InstanceTypeBasicFabricSpecificUpdateNetworkMappingInput enumerates the values for instance type basic
// fabric specific update network mapping input.
type InstanceTypeBasicFabricSpecificUpdateNetworkMappingInput string

const (
	// InstanceTypeBasicFabricSpecificUpdateNetworkMappingInputInstanceTypeAzureToAzure ...
	InstanceTypeBasicFabricSpecificUpdateNetworkMappingInputInstanceTypeAzureToAzure InstanceTypeBasicFabricSpecificUpdateNetworkMappingInput = "AzureToAzure"
	// InstanceTypeBasicFabricSpecificUpdateNetworkMappingInputInstanceTypeFabricSpecificUpdateNetworkMappingInput ...
	InstanceTypeBasicFabricSpecificUpdateNetworkMappingInputInstanceTypeFabricSpecificUpdateNetworkMappingInput InstanceTypeBasicFabricSpecificUpdateNetworkMappingInput = "FabricSpecificUpdateNetworkMappingInput"
	// InstanceTypeBasicFabricSpecificUpdateNetworkMappingInputInstanceTypeVmmToAzure ...
	InstanceTypeBasicFabricSpecificUpdateNetworkMappingInputInstanceTypeVmmToAzure InstanceTypeBasicFabricSpecificUpdateNetworkMappingInput = "VmmToAzure"
	// InstanceTypeBasicFabricSpecificUpdateNetworkMappingInputInstanceTypeVmmToVmm ...
	InstanceTypeBasicFabricSpecificUpdateNetworkMappingInputInstanceTypeVmmToVmm InstanceTypeBasicFabricSpecificUpdateNetworkMappingInput = "VmmToVmm"
)

// PossibleInstanceTypeBasicFabricSpecificUpdateNetworkMappingInputValues returns an array of possible values for the InstanceTypeBasicFabricSpecificUpdateNetworkMappingInput const type.
func PossibleInstanceTypeBasicFabricSpecificUpdateNetworkMappingInputValues() []InstanceTypeBasicFabricSpecificUpdateNetworkMappingInput {
	return []InstanceTypeBasicFabricSpecificUpdateNetworkMappingInput{InstanceTypeBasicFabricSpecificUpdateNetworkMappingInputInstanceTypeAzureToAzure, InstanceTypeBasicFabricSpecificUpdateNetworkMappingInputInstanceTypeFabricSpecificUpdateNetworkMappingInput, InstanceTypeBasicFabricSpecificUpdateNetworkMappingInputInstanceTypeVmmToAzure, InstanceTypeBasicFabricSpecificUpdateNetworkMappingInputInstanceTypeVmmToVmm}
}

// InstanceTypeBasicGroupTaskDetails enumerates the values for instance type basic group task details.
type InstanceTypeBasicGroupTaskDetails string

const (
	// InstanceTypeGroupTaskDetails ...
	InstanceTypeGroupTaskDetails InstanceTypeBasicGroupTaskDetails = "GroupTaskDetails"
	// InstanceTypeInlineWorkflowTaskDetails ...
	InstanceTypeInlineWorkflowTaskDetails InstanceTypeBasicGroupTaskDetails = "InlineWorkflowTaskDetails"
	// InstanceTypeRecoveryPlanGroupTaskDetails ...
	InstanceTypeRecoveryPlanGroupTaskDetails InstanceTypeBasicGroupTaskDetails = "RecoveryPlanGroupTaskDetails"
	// InstanceTypeRecoveryPlanShutdownGroupTaskDetails ...
	InstanceTypeRecoveryPlanShutdownGroupTaskDetails InstanceTypeBasicGroupTaskDetails = "RecoveryPlanShutdownGroupTaskDetails"
)

// PossibleInstanceTypeBasicGroupTaskDetailsValues returns an array of possible values for the InstanceTypeBasicGroupTaskDetails const type.
func PossibleInstanceTypeBasicGroupTaskDetailsValues() []InstanceTypeBasicGroupTaskDetails {
	return []InstanceTypeBasicGroupTaskDetails{InstanceTypeGroupTaskDetails, InstanceTypeInlineWorkflowTaskDetails, InstanceTypeRecoveryPlanGroupTaskDetails, InstanceTypeRecoveryPlanShutdownGroupTaskDetails}
}

// InstanceTypeBasicJobDetails enumerates the values for instance type basic job details.
type InstanceTypeBasicJobDetails string

const (
	// InstanceTypeAsrJobDetails ...
	InstanceTypeAsrJobDetails InstanceTypeBasicJobDetails = "AsrJobDetails"
	// InstanceTypeExportJobDetails ...
	InstanceTypeExportJobDetails InstanceTypeBasicJobDetails = "ExportJobDetails"
	// InstanceTypeFailoverJobDetails ...
	InstanceTypeFailoverJobDetails InstanceTypeBasicJobDetails = "FailoverJobDetails"
	// InstanceTypeJobDetails ...
	InstanceTypeJobDetails InstanceTypeBasicJobDetails = "JobDetails"
	// InstanceTypeSwitchProtectionJobDetails ...
	InstanceTypeSwitchProtectionJobDetails InstanceTypeBasicJobDetails = "SwitchProtectionJobDetails"
	// InstanceTypeTestFailoverJobDetails ...
	InstanceTypeTestFailoverJobDetails InstanceTypeBasicJobDetails = "TestFailoverJobDetails"
)

// PossibleInstanceTypeBasicJobDetailsValues returns an array of possible values for the InstanceTypeBasicJobDetails const type.
func PossibleInstanceTypeBasicJobDetailsValues() []InstanceTypeBasicJobDetails {
	return []InstanceTypeBasicJobDetails{InstanceTypeAsrJobDetails, InstanceTypeExportJobDetails, InstanceTypeFailoverJobDetails, InstanceTypeJobDetails, InstanceTypeSwitchProtectionJobDetails, InstanceTypeTestFailoverJobDetails}
}

// InstanceTypeBasicMigrateProviderSpecificInput enumerates the values for instance type basic migrate provider
// specific input.
type InstanceTypeBasicMigrateProviderSpecificInput string

const (
	// InstanceTypeBasicMigrateProviderSpecificInputInstanceTypeMigrateProviderSpecificInput ...
	InstanceTypeBasicMigrateProviderSpecificInputInstanceTypeMigrateProviderSpecificInput InstanceTypeBasicMigrateProviderSpecificInput = "MigrateProviderSpecificInput"
	// InstanceTypeBasicMigrateProviderSpecificInputInstanceTypeVMwareCbt ...
	InstanceTypeBasicMigrateProviderSpecificInputInstanceTypeVMwareCbt InstanceTypeBasicMigrateProviderSpecificInput = "VMwareCbt"
)

// PossibleInstanceTypeBasicMigrateProviderSpecificInputValues returns an array of possible values for the InstanceTypeBasicMigrateProviderSpecificInput const type.
func PossibleInstanceTypeBasicMigrateProviderSpecificInputValues() []InstanceTypeBasicMigrateProviderSpecificInput {
	return []InstanceTypeBasicMigrateProviderSpecificInput{InstanceTypeBasicMigrateProviderSpecificInputInstanceTypeMigrateProviderSpecificInput, InstanceTypeBasicMigrateProviderSpecificInputInstanceTypeVMwareCbt}
}

// InstanceTypeBasicMigrationProviderSpecificSettings enumerates the values for instance type basic migration
// provider specific settings.
type InstanceTypeBasicMigrationProviderSpecificSettings string

const (
	// InstanceTypeBasicMigrationProviderSpecificSettingsInstanceTypeMigrationProviderSpecificSettings ...
	InstanceTypeBasicMigrationProviderSpecificSettingsInstanceTypeMigrationProviderSpecificSettings InstanceTypeBasicMigrationProviderSpecificSettings = "MigrationProviderSpecificSettings"
	// InstanceTypeBasicMigrationProviderSpecificSettingsInstanceTypeVMwareCbt ...
	InstanceTypeBasicMigrationProviderSpecificSettingsInstanceTypeVMwareCbt InstanceTypeBasicMigrationProviderSpecificSettings = "VMwareCbt"
)

// PossibleInstanceTypeBasicMigrationProviderSpecificSettingsValues returns an array of possible values for the InstanceTypeBasicMigrationProviderSpecificSettings const type.
func PossibleInstanceTypeBasicMigrationProviderSpecificSettingsValues() []InstanceTypeBasicMigrationProviderSpecificSettings {
	return []InstanceTypeBasicMigrationProviderSpecificSettings{InstanceTypeBasicMigrationProviderSpecificSettingsInstanceTypeMigrationProviderSpecificSettings, InstanceTypeBasicMigrationProviderSpecificSettingsInstanceTypeVMwareCbt}
}

// InstanceTypeBasicNetworkMappingFabricSpecificSettings enumerates the values for instance type basic network
// mapping fabric specific settings.
type InstanceTypeBasicNetworkMappingFabricSpecificSettings string

const (
	// InstanceTypeBasicNetworkMappingFabricSpecificSettingsInstanceTypeAzureToAzure ...
	InstanceTypeBasicNetworkMappingFabricSpecificSettingsInstanceTypeAzureToAzure InstanceTypeBasicNetworkMappingFabricSpecificSettings = "AzureToAzure"
	// InstanceTypeBasicNetworkMappingFabricSpecificSettingsInstanceTypeNetworkMappingFabricSpecificSettings ...
	InstanceTypeBasicNetworkMappingFabricSpecificSettingsInstanceTypeNetworkMappingFabricSpecificSettings InstanceTypeBasicNetworkMappingFabricSpecificSettings = "NetworkMappingFabricSpecificSettings"
	// InstanceTypeBasicNetworkMappingFabricSpecificSettingsInstanceTypeVmmToAzure ...
	InstanceTypeBasicNetworkMappingFabricSpecificSettingsInstanceTypeVmmToAzure InstanceTypeBasicNetworkMappingFabricSpecificSettings = "VmmToAzure"
	// InstanceTypeBasicNetworkMappingFabricSpecificSettingsInstanceTypeVmmToVmm ...
	InstanceTypeBasicNetworkMappingFabricSpecificSettingsInstanceTypeVmmToVmm InstanceTypeBasicNetworkMappingFabricSpecificSettings = "VmmToVmm"
)

// PossibleInstanceTypeBasicNetworkMappingFabricSpecificSettingsValues returns an array of possible values for the InstanceTypeBasicNetworkMappingFabricSpecificSettings const type.
func PossibleInstanceTypeBasicNetworkMappingFabricSpecificSettingsValues() []InstanceTypeBasicNetworkMappingFabricSpecificSettings {
	return []InstanceTypeBasicNetworkMappingFabricSpecificSettings{InstanceTypeBasicNetworkMappingFabricSpecificSettingsInstanceTypeAzureToAzure, InstanceTypeBasicNetworkMappingFabricSpecificSettingsInstanceTypeNetworkMappingFabricSpecificSettings, InstanceTypeBasicNetworkMappingFabricSpecificSettingsInstanceTypeVmmToAzure, InstanceTypeBasicNetworkMappingFabricSpecificSettingsInstanceTypeVmmToVmm}
}

// InstanceTypeBasicPolicyProviderSpecificDetails enumerates the values for instance type basic policy provider
// specific details.
type InstanceTypeBasicPolicyProviderSpecificDetails string

const (
	// InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeA2A ...
	InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeA2A InstanceTypeBasicPolicyProviderSpecificDetails = "A2A"
	// InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeHyperVReplica2012 ...
	InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeHyperVReplica2012 InstanceTypeBasicPolicyProviderSpecificDetails = "HyperVReplica2012"
	// InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeHyperVReplica2012R2 ...
	InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeHyperVReplica2012R2 InstanceTypeBasicPolicyProviderSpecificDetails = "HyperVReplica2012R2"
	// InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeHyperVReplicaAzure ...
	InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeHyperVReplicaAzure InstanceTypeBasicPolicyProviderSpecificDetails = "HyperVReplicaAzure"
	// InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeHyperVReplicaBasePolicyDetails ...
	InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeHyperVReplicaBasePolicyDetails InstanceTypeBasicPolicyProviderSpecificDetails = "HyperVReplicaBasePolicyDetails"
	// InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeInMage ...
	InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeInMage InstanceTypeBasicPolicyProviderSpecificDetails = "InMage"
	// InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeInMageAzureV2 ...
	InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeInMageAzureV2 InstanceTypeBasicPolicyProviderSpecificDetails = "InMageAzureV2"
	// InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeInMageBasePolicyDetails ...
	InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeInMageBasePolicyDetails InstanceTypeBasicPolicyProviderSpecificDetails = "InMageBasePolicyDetails"
	// InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeInMageRcm ...
	InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeInMageRcm InstanceTypeBasicPolicyProviderSpecificDetails = "InMageRcm"
	// InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypePolicyProviderSpecificDetails ...
	InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypePolicyProviderSpecificDetails InstanceTypeBasicPolicyProviderSpecificDetails = "PolicyProviderSpecificDetails"
	// InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeRcmAzureMigration ...
	InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeRcmAzureMigration InstanceTypeBasicPolicyProviderSpecificDetails = "RcmAzureMigration"
	// InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeVMwareCbt ...
	InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeVMwareCbt InstanceTypeBasicPolicyProviderSpecificDetails = "VMwareCbt"
)

// PossibleInstanceTypeBasicPolicyProviderSpecificDetailsValues returns an array of possible values for the InstanceTypeBasicPolicyProviderSpecificDetails const type.
func PossibleInstanceTypeBasicPolicyProviderSpecificDetailsValues() []InstanceTypeBasicPolicyProviderSpecificDetails {
	return []InstanceTypeBasicPolicyProviderSpecificDetails{InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeA2A, InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeHyperVReplica2012, InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeHyperVReplica2012R2, InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeHyperVReplicaAzure, InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeHyperVReplicaBasePolicyDetails, InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeInMage, InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeInMageAzureV2, InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeInMageBasePolicyDetails, InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeInMageRcm, InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypePolicyProviderSpecificDetails, InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeRcmAzureMigration, InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeVMwareCbt}
}

// InstanceTypeBasicPolicyProviderSpecificInput enumerates the values for instance type basic policy provider
// specific input.
type InstanceTypeBasicPolicyProviderSpecificInput string

const (
	// InstanceTypeBasicPolicyProviderSpecificInputInstanceTypeA2A ...
	InstanceTypeBasicPolicyProviderSpecificInputInstanceTypeA2A InstanceTypeBasicPolicyProviderSpecificInput = "A2A"
	// InstanceTypeBasicPolicyProviderSpecificInputInstanceTypeHyperVReplica2012 ...
	InstanceTypeBasicPolicyProviderSpecificInputInstanceTypeHyperVReplica2012 InstanceTypeBasicPolicyProviderSpecificInput = "HyperVReplica2012"
	// InstanceTypeBasicPolicyProviderSpecificInputInstanceTypeHyperVReplica2012R2 ...
	InstanceTypeBasicPolicyProviderSpecificInputInstanceTypeHyperVReplica2012R2 InstanceTypeBasicPolicyProviderSpecificInput = "HyperVReplica2012R2"
	// InstanceTypeBasicPolicyProviderSpecificInputInstanceTypeHyperVReplicaAzure ...
	InstanceTypeBasicPolicyProviderSpecificInputInstanceTypeHyperVReplicaAzure InstanceTypeBasicPolicyProviderSpecificInput = "HyperVReplicaAzure"
	// InstanceTypeBasicPolicyProviderSpecificInputInstanceTypeInMage ...
	InstanceTypeBasicPolicyProviderSpecificInputInstanceTypeInMage InstanceTypeBasicPolicyProviderSpecificInput = "InMage"
	// InstanceTypeBasicPolicyProviderSpecificInputInstanceTypeInMageAzureV2 ...
	InstanceTypeBasicPolicyProviderSpecificInputInstanceTypeInMageAzureV2 InstanceTypeBasicPolicyProviderSpecificInput = "InMageAzureV2"
	// InstanceTypeBasicPolicyProviderSpecificInputInstanceTypeInMageRcm ...
	InstanceTypeBasicPolicyProviderSpecificInputInstanceTypeInMageRcm InstanceTypeBasicPolicyProviderSpecificInput = "InMageRcm"
	// InstanceTypeBasicPolicyProviderSpecificInputInstanceTypePolicyProviderSpecificInput ...
	InstanceTypeBasicPolicyProviderSpecificInputInstanceTypePolicyProviderSpecificInput InstanceTypeBasicPolicyProviderSpecificInput = "PolicyProviderSpecificInput"
	// InstanceTypeBasicPolicyProviderSpecificInputInstanceTypeVMwareCbt ...
	InstanceTypeBasicPolicyProviderSpecificInputInstanceTypeVMwareCbt InstanceTypeBasicPolicyProviderSpecificInput = "VMwareCbt"
)

// PossibleInstanceTypeBasicPolicyProviderSpecificInputValues returns an array of possible values for the InstanceTypeBasicPolicyProviderSpecificInput const type.
func PossibleInstanceTypeBasicPolicyProviderSpecificInputValues() []InstanceTypeBasicPolicyProviderSpecificInput {
	return []InstanceTypeBasicPolicyProviderSpecificInput{InstanceTypeBasicPolicyProviderSpecificInputInstanceTypeA2A, InstanceTypeBasicPolicyProviderSpecificInputInstanceTypeHyperVReplica2012, InstanceTypeBasicPolicyProviderSpecificInputInstanceTypeHyperVReplica2012R2, InstanceTypeBasicPolicyProviderSpecificInputInstanceTypeHyperVReplicaAzure, InstanceTypeBasicPolicyProviderSpecificInputInstanceTypeInMage, InstanceTypeBasicPolicyProviderSpecificInputInstanceTypeInMageAzureV2, InstanceTypeBasicPolicyProviderSpecificInputInstanceTypeInMageRcm, InstanceTypeBasicPolicyProviderSpecificInputInstanceTypePolicyProviderSpecificInput, InstanceTypeBasicPolicyProviderSpecificInputInstanceTypeVMwareCbt}
}

// InstanceTypeBasicProtectionContainerMappingProviderSpecificDetails enumerates the values for instance type
// basic protection container mapping provider specific details.
type InstanceTypeBasicProtectionContainerMappingProviderSpecificDetails string

const (
	// InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeA2A ...
	InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeA2A InstanceTypeBasicProtectionContainerMappingProviderSpecificDetails = "A2A"
	// InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeProtectionContainerMappingProviderSpecificDetails ...
	InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeProtectionContainerMappingProviderSpecificDetails InstanceTypeBasicProtectionContainerMappingProviderSpecificDetails = "ProtectionContainerMappingProviderSpecificDetails"
	// InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeVMwareCbt ...
	InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeVMwareCbt InstanceTypeBasicProtectionContainerMappingProviderSpecificDetails = "VMwareCbt"
)

// PossibleInstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsValues returns an array of possible values for the InstanceTypeBasicProtectionContainerMappingProviderSpecificDetails const type.
func PossibleInstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsValues() []InstanceTypeBasicProtectionContainerMappingProviderSpecificDetails {
	return []InstanceTypeBasicProtectionContainerMappingProviderSpecificDetails{InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeA2A, InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeProtectionContainerMappingProviderSpecificDetails, InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeVMwareCbt}
}

// InstanceTypeBasicProviderSpecificFailoverInput enumerates the values for instance type basic provider
// specific failover input.
type InstanceTypeBasicProviderSpecificFailoverInput string

const (
	// InstanceTypeBasicProviderSpecificFailoverInputInstanceTypeA2A ...
	InstanceTypeBasicProviderSpecificFailoverInputInstanceTypeA2A InstanceTypeBasicProviderSpecificFailoverInput = "A2A"
	// InstanceTypeBasicProviderSpecificFailoverInputInstanceTypeHyperVReplicaAzure ...
	InstanceTypeBasicProviderSpecificFailoverInputInstanceTypeHyperVReplicaAzure InstanceTypeBasicProviderSpecificFailoverInput = "HyperVReplicaAzure"
	// InstanceTypeBasicProviderSpecificFailoverInputInstanceTypeHyperVReplicaAzureFailback ...
	InstanceTypeBasicProviderSpecificFailoverInputInstanceTypeHyperVReplicaAzureFailback InstanceTypeBasicProviderSpecificFailoverInput = "HyperVReplicaAzureFailback"
	// InstanceTypeBasicProviderSpecificFailoverInputInstanceTypeInMage ...
	InstanceTypeBasicProviderSpecificFailoverInputInstanceTypeInMage InstanceTypeBasicProviderSpecificFailoverInput = "InMage"
	// InstanceTypeBasicProviderSpecificFailoverInputInstanceTypeInMageAzureV2 ...
	InstanceTypeBasicProviderSpecificFailoverInputInstanceTypeInMageAzureV2 InstanceTypeBasicProviderSpecificFailoverInput = "InMageAzureV2"
	// InstanceTypeBasicProviderSpecificFailoverInputInstanceTypeProviderSpecificFailoverInput ...
	InstanceTypeBasicProviderSpecificFailoverInputInstanceTypeProviderSpecificFailoverInput InstanceTypeBasicProviderSpecificFailoverInput = "ProviderSpecificFailoverInput"
)

// PossibleInstanceTypeBasicProviderSpecificFailoverInputValues returns an array of possible values for the InstanceTypeBasicProviderSpecificFailoverInput const type.
func PossibleInstanceTypeBasicProviderSpecificFailoverInputValues() []InstanceTypeBasicProviderSpecificFailoverInput {
	return []InstanceTypeBasicProviderSpecificFailoverInput{InstanceTypeBasicProviderSpecificFailoverInputInstanceTypeA2A, InstanceTypeBasicProviderSpecificFailoverInputInstanceTypeHyperVReplicaAzure, InstanceTypeBasicProviderSpecificFailoverInputInstanceTypeHyperVReplicaAzureFailback, InstanceTypeBasicProviderSpecificFailoverInputInstanceTypeInMage, InstanceTypeBasicProviderSpecificFailoverInputInstanceTypeInMageAzureV2, InstanceTypeBasicProviderSpecificFailoverInputInstanceTypeProviderSpecificFailoverInput}
}

// InstanceTypeBasicProviderSpecificRecoveryPointDetails enumerates the values for instance type basic provider
// specific recovery point details.
type InstanceTypeBasicProviderSpecificRecoveryPointDetails string

const (
	// InstanceTypeBasicProviderSpecificRecoveryPointDetailsInstanceTypeA2A ...
	InstanceTypeBasicProviderSpecificRecoveryPointDetailsInstanceTypeA2A InstanceTypeBasicProviderSpecificRecoveryPointDetails = "A2A"
	// InstanceTypeBasicProviderSpecificRecoveryPointDetailsInstanceTypeInMageAzureV2 ...
	InstanceTypeBasicProviderSpecificRecoveryPointDetailsInstanceTypeInMageAzureV2 InstanceTypeBasicProviderSpecificRecoveryPointDetails = "InMageAzureV2"
	// InstanceTypeBasicProviderSpecificRecoveryPointDetailsInstanceTypeInMageRcm ...
	InstanceTypeBasicProviderSpecificRecoveryPointDetailsInstanceTypeInMageRcm InstanceTypeBasicProviderSpecificRecoveryPointDetails = "InMageRcm"
	// InstanceTypeBasicProviderSpecificRecoveryPointDetailsInstanceTypeProviderSpecificRecoveryPointDetails ...
	InstanceTypeBasicProviderSpecificRecoveryPointDetailsInstanceTypeProviderSpecificRecoveryPointDetails InstanceTypeBasicProviderSpecificRecoveryPointDetails = "ProviderSpecificRecoveryPointDetails"
)

// PossibleInstanceTypeBasicProviderSpecificRecoveryPointDetailsValues returns an array of possible values for the InstanceTypeBasicProviderSpecificRecoveryPointDetails const type.
func PossibleInstanceTypeBasicProviderSpecificRecoveryPointDetailsValues() []InstanceTypeBasicProviderSpecificRecoveryPointDetails {
	return []InstanceTypeBasicProviderSpecificRecoveryPointDetails{InstanceTypeBasicProviderSpecificRecoveryPointDetailsInstanceTypeA2A, InstanceTypeBasicProviderSpecificRecoveryPointDetailsInstanceTypeInMageAzureV2, InstanceTypeBasicProviderSpecificRecoveryPointDetailsInstanceTypeInMageRcm, InstanceTypeBasicProviderSpecificRecoveryPointDetailsInstanceTypeProviderSpecificRecoveryPointDetails}
}

// InstanceTypeBasicRecoveryPlanActionDetails enumerates the values for instance type basic recovery plan
// action details.
type InstanceTypeBasicRecoveryPlanActionDetails string

const (
	// InstanceTypeAutomationRunbookActionDetails ...
	InstanceTypeAutomationRunbookActionDetails InstanceTypeBasicRecoveryPlanActionDetails = "AutomationRunbookActionDetails"
	// InstanceTypeManualActionDetails ...
	InstanceTypeManualActionDetails InstanceTypeBasicRecoveryPlanActionDetails = "ManualActionDetails"
	// InstanceTypeRecoveryPlanActionDetails ...
	InstanceTypeRecoveryPlanActionDetails InstanceTypeBasicRecoveryPlanActionDetails = "RecoveryPlanActionDetails"
	// InstanceTypeScriptActionDetails ...
	InstanceTypeScriptActionDetails InstanceTypeBasicRecoveryPlanActionDetails = "ScriptActionDetails"
)

// PossibleInstanceTypeBasicRecoveryPlanActionDetailsValues returns an array of possible values for the InstanceTypeBasicRecoveryPlanActionDetails const type.
func PossibleInstanceTypeBasicRecoveryPlanActionDetailsValues() []InstanceTypeBasicRecoveryPlanActionDetails {
	return []InstanceTypeBasicRecoveryPlanActionDetails{InstanceTypeAutomationRunbookActionDetails, InstanceTypeManualActionDetails, InstanceTypeRecoveryPlanActionDetails, InstanceTypeScriptActionDetails}
}

// InstanceTypeBasicRecoveryPlanProviderSpecificDetails enumerates the values for instance type basic recovery
// plan provider specific details.
type InstanceTypeBasicRecoveryPlanProviderSpecificDetails string

const (
	// InstanceTypeBasicRecoveryPlanProviderSpecificDetailsInstanceTypeA2A ...
	InstanceTypeBasicRecoveryPlanProviderSpecificDetailsInstanceTypeA2A InstanceTypeBasicRecoveryPlanProviderSpecificDetails = "A2A"
	// InstanceTypeBasicRecoveryPlanProviderSpecificDetailsInstanceTypeRecoveryPlanProviderSpecificDetails ...
	InstanceTypeBasicRecoveryPlanProviderSpecificDetailsInstanceTypeRecoveryPlanProviderSpecificDetails InstanceTypeBasicRecoveryPlanProviderSpecificDetails = "RecoveryPlanProviderSpecificDetails"
)

// PossibleInstanceTypeBasicRecoveryPlanProviderSpecificDetailsValues returns an array of possible values for the InstanceTypeBasicRecoveryPlanProviderSpecificDetails const type.
func PossibleInstanceTypeBasicRecoveryPlanProviderSpecificDetailsValues() []InstanceTypeBasicRecoveryPlanProviderSpecificDetails {
	return []InstanceTypeBasicRecoveryPlanProviderSpecificDetails{InstanceTypeBasicRecoveryPlanProviderSpecificDetailsInstanceTypeA2A, InstanceTypeBasicRecoveryPlanProviderSpecificDetailsInstanceTypeRecoveryPlanProviderSpecificDetails}
}

// InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInput enumerates the values for instance type basic
// recovery plan provider specific failover input.
type InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInput string

const (
	// InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInputInstanceTypeA2A ...
	InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInputInstanceTypeA2A InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInput = "A2A"
	// InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInputInstanceTypeHyperVReplicaAzure ...
	InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInputInstanceTypeHyperVReplicaAzure InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInput = "HyperVReplicaAzure"
	// InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInputInstanceTypeHyperVReplicaAzureFailback ...
	InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInputInstanceTypeHyperVReplicaAzureFailback InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInput = "HyperVReplicaAzureFailback"
	// InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInputInstanceTypeInMage ...
	InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInputInstanceTypeInMage InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInput = "InMage"
	// InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInputInstanceTypeInMageAzureV2 ...
	InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInputInstanceTypeInMageAzureV2 InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInput = "InMageAzureV2"
	// InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInputInstanceTypeInMageRcm ...
	InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInputInstanceTypeInMageRcm InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInput = "InMageRcm"
	// InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInputInstanceTypeRecoveryPlanProviderSpecificFailoverInput ...
	InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInputInstanceTypeRecoveryPlanProviderSpecificFailoverInput InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInput = "RecoveryPlanProviderSpecificFailoverInput"
)

// PossibleInstanceTypeBasicRecoveryPlanProviderSpecificFailoverInputValues returns an array of possible values for the InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInput const type.
func PossibleInstanceTypeBasicRecoveryPlanProviderSpecificFailoverInputValues() []InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInput {
	return []InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInput{InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInputInstanceTypeA2A, InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInputInstanceTypeHyperVReplicaAzure, InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInputInstanceTypeHyperVReplicaAzureFailback, InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInputInstanceTypeInMage, InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInputInstanceTypeInMageAzureV2, InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInputInstanceTypeInMageRcm, InstanceTypeBasicRecoveryPlanProviderSpecificFailoverInputInstanceTypeRecoveryPlanProviderSpecificFailoverInput}
}

// InstanceTypeBasicRecoveryPlanProviderSpecificInput enumerates the values for instance type basic recovery
// plan provider specific input.
type InstanceTypeBasicRecoveryPlanProviderSpecificInput string

const (
	// InstanceTypeBasicRecoveryPlanProviderSpecificInputInstanceTypeA2A ...
	InstanceTypeBasicRecoveryPlanProviderSpecificInputInstanceTypeA2A InstanceTypeBasicRecoveryPlanProviderSpecificInput = "A2A"
	// InstanceTypeBasicRecoveryPlanProviderSpecificInputInstanceTypeRecoveryPlanProviderSpecificInput ...
	InstanceTypeBasicRecoveryPlanProviderSpecificInputInstanceTypeRecoveryPlanProviderSpecificInput InstanceTypeBasicRecoveryPlanProviderSpecificInput = "RecoveryPlanProviderSpecificInput"
)

// PossibleInstanceTypeBasicRecoveryPlanProviderSpecificInputValues returns an array of possible values for the InstanceTypeBasicRecoveryPlanProviderSpecificInput const type.
func PossibleInstanceTypeBasicRecoveryPlanProviderSpecificInputValues() []InstanceTypeBasicRecoveryPlanProviderSpecificInput {
	return []InstanceTypeBasicRecoveryPlanProviderSpecificInput{InstanceTypeBasicRecoveryPlanProviderSpecificInputInstanceTypeA2A, InstanceTypeBasicRecoveryPlanProviderSpecificInputInstanceTypeRecoveryPlanProviderSpecificInput}
}

// InstanceTypeBasicRemoveDisksProviderSpecificInput enumerates the values for instance type basic remove disks
// provider specific input.
type InstanceTypeBasicRemoveDisksProviderSpecificInput string

const (
	// InstanceTypeBasicRemoveDisksProviderSpecificInputInstanceTypeA2A ...
	InstanceTypeBasicRemoveDisksProviderSpecificInputInstanceTypeA2A InstanceTypeBasicRemoveDisksProviderSpecificInput = "A2A"
	// InstanceTypeBasicRemoveDisksProviderSpecificInputInstanceTypeRemoveDisksProviderSpecificInput ...
	InstanceTypeBasicRemoveDisksProviderSpecificInputInstanceTypeRemoveDisksProviderSpecificInput InstanceTypeBasicRemoveDisksProviderSpecificInput = "RemoveDisksProviderSpecificInput"
)

// PossibleInstanceTypeBasicRemoveDisksProviderSpecificInputValues returns an array of possible values for the InstanceTypeBasicRemoveDisksProviderSpecificInput const type.
func PossibleInstanceTypeBasicRemoveDisksProviderSpecificInputValues() []InstanceTypeBasicRemoveDisksProviderSpecificInput {
	return []InstanceTypeBasicRemoveDisksProviderSpecificInput{InstanceTypeBasicRemoveDisksProviderSpecificInputInstanceTypeA2A, InstanceTypeBasicRemoveDisksProviderSpecificInputInstanceTypeRemoveDisksProviderSpecificInput}
}

// InstanceTypeBasicReplicationProtectionIntentProviderSpecificSettings enumerates the values for instance type
// basic replication protection intent provider specific settings.
type InstanceTypeBasicReplicationProtectionIntentProviderSpecificSettings string

const (
	// InstanceTypeBasicReplicationProtectionIntentProviderSpecificSettingsInstanceTypeA2A ...
	InstanceTypeBasicReplicationProtectionIntentProviderSpecificSettingsInstanceTypeA2A InstanceTypeBasicReplicationProtectionIntentProviderSpecificSettings = "A2A"
	// InstanceTypeBasicReplicationProtectionIntentProviderSpecificSettingsInstanceTypeReplicationProtectionIntentProviderSpecificSettings ...
	InstanceTypeBasicReplicationProtectionIntentProviderSpecificSettingsInstanceTypeReplicationProtectionIntentProviderSpecificSettings InstanceTypeBasicReplicationProtectionIntentProviderSpecificSettings = "ReplicationProtectionIntentProviderSpecificSettings"
)

// PossibleInstanceTypeBasicReplicationProtectionIntentProviderSpecificSettingsValues returns an array of possible values for the InstanceTypeBasicReplicationProtectionIntentProviderSpecificSettings const type.
func PossibleInstanceTypeBasicReplicationProtectionIntentProviderSpecificSettingsValues() []InstanceTypeBasicReplicationProtectionIntentProviderSpecificSettings {
	return []InstanceTypeBasicReplicationProtectionIntentProviderSpecificSettings{InstanceTypeBasicReplicationProtectionIntentProviderSpecificSettingsInstanceTypeA2A, InstanceTypeBasicReplicationProtectionIntentProviderSpecificSettingsInstanceTypeReplicationProtectionIntentProviderSpecificSettings}
}

// InstanceTypeBasicReplicationProviderSpecificContainerCreationInput enumerates the values for instance type
// basic replication provider specific container creation input.
type InstanceTypeBasicReplicationProviderSpecificContainerCreationInput string

const (
	// InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeA2A ...
	InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeA2A InstanceTypeBasicReplicationProviderSpecificContainerCreationInput = "A2A"
	// InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeReplicationProviderSpecificContainerCreationInput ...
	InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeReplicationProviderSpecificContainerCreationInput InstanceTypeBasicReplicationProviderSpecificContainerCreationInput = "ReplicationProviderSpecificContainerCreationInput"
	// InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeSixcSevendaFourFiveFiveFiveZeroSixfFourThreeffAOneSixaEightebOneZeroOneaebbSevenZero ...
	InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeSixcSevendaFourFiveFiveFiveZeroSixfFourThreeffAOneSixaEightebOneZeroOneaebbSevenZero InstanceTypeBasicReplicationProviderSpecificContainerCreationInput = "6c7da455-506f-43ff-a16a-8eb101aebb70"
)

// PossibleInstanceTypeBasicReplicationProviderSpecificContainerCreationInputValues returns an array of possible values for the InstanceTypeBasicReplicationProviderSpecificContainerCreationInput const type.
func PossibleInstanceTypeBasicReplicationProviderSpecificContainerCreationInputValues() []InstanceTypeBasicReplicationProviderSpecificContainerCreationInput {
	return []InstanceTypeBasicReplicationProviderSpecificContainerCreationInput{InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeA2A, InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeReplicationProviderSpecificContainerCreationInput, InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeSixcSevendaFourFiveFiveFiveZeroSixfFourThreeffAOneSixaEightebOneZeroOneaebbSevenZero}
}

// InstanceTypeBasicReplicationProviderSpecificContainerMappingInput enumerates the values for instance type
// basic replication provider specific container mapping input.
type InstanceTypeBasicReplicationProviderSpecificContainerMappingInput string

const (
	// InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeA2A ...
	InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeA2A InstanceTypeBasicReplicationProviderSpecificContainerMappingInput = "A2A"
	// InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeReplicationProviderSpecificContainerMappingInput ...
	InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeReplicationProviderSpecificContainerMappingInput InstanceTypeBasicReplicationProviderSpecificContainerMappingInput = "ReplicationProviderSpecificContainerMappingInput"
	// InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeVMwareCbt ...
	InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeVMwareCbt InstanceTypeBasicReplicationProviderSpecificContainerMappingInput = "VMwareCbt"
)

// PossibleInstanceTypeBasicReplicationProviderSpecificContainerMappingInputValues returns an array of possible values for the InstanceTypeBasicReplicationProviderSpecificContainerMappingInput const type.
func PossibleInstanceTypeBasicReplicationProviderSpecificContainerMappingInputValues() []InstanceTypeBasicReplicationProviderSpecificContainerMappingInput {
	return []InstanceTypeBasicReplicationProviderSpecificContainerMappingInput{InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeA2A, InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeReplicationProviderSpecificContainerMappingInput, InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeVMwareCbt}
}

// InstanceTypeBasicReplicationProviderSpecificSettings enumerates the values for instance type basic
// replication provider specific settings.
type InstanceTypeBasicReplicationProviderSpecificSettings string

const (
	// InstanceTypeBasicReplicationProviderSpecificSettingsInstanceTypeA2A ...
	InstanceTypeBasicReplicationProviderSpecificSettingsInstanceTypeA2A InstanceTypeBasicReplicationProviderSpecificSettings = "A2A"
	// InstanceTypeBasicReplicationProviderSpecificSettingsInstanceTypeHyperVReplica2012 ...
	InstanceTypeBasicReplicationProviderSpecificSettingsInstanceTypeHyperVReplica2012 InstanceTypeBasicReplicationProviderSpecificSettings = "HyperVReplica2012"
	// InstanceTypeBasicReplicationProviderSpecificSettingsInstanceTypeHyperVReplica2012R2 ...
	InstanceTypeBasicReplicationProviderSpecificSettingsInstanceTypeHyperVReplica2012R2 InstanceTypeBasicReplicationProviderSpecificSettings = "HyperVReplica2012R2"
	// InstanceTypeBasicReplicationProviderSpecificSettingsInstanceTypeHyperVReplicaAzure ...
	InstanceTypeBasicReplicationProviderSpecificSettingsInstanceTypeHyperVReplicaAzure InstanceTypeBasicReplicationProviderSpecificSettings = "HyperVReplicaAzure"
	// InstanceTypeBasicReplicationProviderSpecificSettingsInstanceTypeHyperVReplicaBaseReplicationDetails ...
	InstanceTypeBasicReplicationProviderSpecificSettingsInstanceTypeHyperVReplicaBaseReplicationDetails InstanceTypeBasicReplicationProviderSpecificSettings = "HyperVReplicaBaseReplicationDetails"
	// InstanceTypeBasicReplicationProviderSpecificSettingsInstanceTypeInMage ...
	InstanceTypeBasicReplicationProviderSpecificSettingsInstanceTypeInMage InstanceTypeBasicReplicationProviderSpecificSettings = "InMage"
	// InstanceTypeBasicReplicationProviderSpecificSettingsInstanceTypeInMageAzureV2 ...
	InstanceTypeBasicReplicationProviderSpecificSettingsInstanceTypeInMageAzureV2 InstanceTypeBasicReplicationProviderSpecificSettings = "InMageAzureV2"
	// InstanceTypeBasicReplicationProviderSpecificSettingsInstanceTypeInMageRcm ...
	InstanceTypeBasicReplicationProviderSpecificSettingsInstanceTypeInMageRcm InstanceTypeBasicReplicationProviderSpecificSettings = "InMageRcm"
	// InstanceTypeBasicReplicationProviderSpecificSettingsInstanceTypeReplicationProviderSpecificSettings ...
	InstanceTypeBasicReplicationProviderSpecificSettingsInstanceTypeReplicationProviderSpecificSettings InstanceTypeBasicReplicationProviderSpecificSettings = "ReplicationProviderSpecificSettings"
)

// PossibleInstanceTypeBasicReplicationProviderSpecificSettingsValues returns an array of possible values for the InstanceTypeBasicReplicationProviderSpecificSettings const type.
func PossibleInstanceTypeBasicReplicationProviderSpecificSettingsValues() []InstanceTypeBasicReplicationProviderSpecificSettings {
	return []InstanceTypeBasicReplicationProviderSpecificSettings{InstanceTypeBasicReplicationProviderSpecificSettingsInstanceTypeA2A, InstanceTypeBasicReplicationProviderSpecificSettingsInstanceTypeHyperVReplica2012, InstanceTypeBasicReplicationProviderSpecificSettingsInstanceTypeHyperVReplica2012R2, InstanceTypeBasicReplicationProviderSpecificSettingsInstanceTypeHyperVReplicaAzure, InstanceTypeBasicReplicationProviderSpecificSettingsInstanceTypeHyperVReplicaBaseReplicationDetails, InstanceTypeBasicReplicationProviderSpecificSettingsInstanceTypeInMage, InstanceTypeBasicReplicationProviderSpecificSettingsInstanceTypeInMageAzureV2, InstanceTypeBasicReplicationProviderSpecificSettingsInstanceTypeInMageRcm, InstanceTypeBasicReplicationProviderSpecificSettingsInstanceTypeReplicationProviderSpecificSettings}
}

// InstanceTypeBasicReplicationProviderSpecificUpdateContainerMappingInput enumerates the values for instance
// type basic replication provider specific update container mapping input.
type InstanceTypeBasicReplicationProviderSpecificUpdateContainerMappingInput string

const (
	// InstanceTypeBasicReplicationProviderSpecificUpdateContainerMappingInputInstanceTypeA2A ...
	InstanceTypeBasicReplicationProviderSpecificUpdateContainerMappingInputInstanceTypeA2A InstanceTypeBasicReplicationProviderSpecificUpdateContainerMappingInput = "A2A"
	// InstanceTypeBasicReplicationProviderSpecificUpdateContainerMappingInputInstanceTypeReplicationProviderSpecificUpdateContainerMappingInput ...
	InstanceTypeBasicReplicationProviderSpecificUpdateContainerMappingInputInstanceTypeReplicationProviderSpecificUpdateContainerMappingInput InstanceTypeBasicReplicationProviderSpecificUpdateContainerMappingInput = "ReplicationProviderSpecificUpdateContainerMappingInput"
)

// PossibleInstanceTypeBasicReplicationProviderSpecificUpdateContainerMappingInputValues returns an array of possible values for the InstanceTypeBasicReplicationProviderSpecificUpdateContainerMappingInput const type.
func PossibleInstanceTypeBasicReplicationProviderSpecificUpdateContainerMappingInputValues() []InstanceTypeBasicReplicationProviderSpecificUpdateContainerMappingInput {
	return []InstanceTypeBasicReplicationProviderSpecificUpdateContainerMappingInput{InstanceTypeBasicReplicationProviderSpecificUpdateContainerMappingInputInstanceTypeA2A, InstanceTypeBasicReplicationProviderSpecificUpdateContainerMappingInputInstanceTypeReplicationProviderSpecificUpdateContainerMappingInput}
}

// InstanceTypeBasicReverseReplicationProviderSpecificInput enumerates the values for instance type basic
// reverse replication provider specific input.
type InstanceTypeBasicReverseReplicationProviderSpecificInput string

const (
	// InstanceTypeBasicReverseReplicationProviderSpecificInputInstanceTypeA2A ...
	InstanceTypeBasicReverseReplicationProviderSpecificInputInstanceTypeA2A InstanceTypeBasicReverseReplicationProviderSpecificInput = "A2A"
	// InstanceTypeBasicReverseReplicationProviderSpecificInputInstanceTypeHyperVReplicaAzure ...
	InstanceTypeBasicReverseReplicationProviderSpecificInputInstanceTypeHyperVReplicaAzure InstanceTypeBasicReverseReplicationProviderSpecificInput = "HyperVReplicaAzure"
	// InstanceTypeBasicReverseReplicationProviderSpecificInputInstanceTypeInMage ...
	InstanceTypeBasicReverseReplicationProviderSpecificInputInstanceTypeInMage InstanceTypeBasicReverseReplicationProviderSpecificInput = "InMage"
	// InstanceTypeBasicReverseReplicationProviderSpecificInputInstanceTypeInMageAzureV2 ...
	InstanceTypeBasicReverseReplicationProviderSpecificInputInstanceTypeInMageAzureV2 InstanceTypeBasicReverseReplicationProviderSpecificInput = "InMageAzureV2"
	// InstanceTypeBasicReverseReplicationProviderSpecificInputInstanceTypeReverseReplicationProviderSpecificInput ...
	InstanceTypeBasicReverseReplicationProviderSpecificInputInstanceTypeReverseReplicationProviderSpecificInput InstanceTypeBasicReverseReplicationProviderSpecificInput = "ReverseReplicationProviderSpecificInput"
)

// PossibleInstanceTypeBasicReverseReplicationProviderSpecificInputValues returns an array of possible values for the InstanceTypeBasicReverseReplicationProviderSpecificInput const type.
func PossibleInstanceTypeBasicReverseReplicationProviderSpecificInputValues() []InstanceTypeBasicReverseReplicationProviderSpecificInput {
	return []InstanceTypeBasicReverseReplicationProviderSpecificInput{InstanceTypeBasicReverseReplicationProviderSpecificInputInstanceTypeA2A, InstanceTypeBasicReverseReplicationProviderSpecificInputInstanceTypeHyperVReplicaAzure, InstanceTypeBasicReverseReplicationProviderSpecificInputInstanceTypeInMage, InstanceTypeBasicReverseReplicationProviderSpecificInputInstanceTypeInMageAzureV2, InstanceTypeBasicReverseReplicationProviderSpecificInputInstanceTypeReverseReplicationProviderSpecificInput}
}

// InstanceTypeBasicSwitchProtectionProviderSpecificInput enumerates the values for instance type basic switch
// protection provider specific input.
type InstanceTypeBasicSwitchProtectionProviderSpecificInput string

const (
	// InstanceTypeBasicSwitchProtectionProviderSpecificInputInstanceTypeA2A ...
	InstanceTypeBasicSwitchProtectionProviderSpecificInputInstanceTypeA2A InstanceTypeBasicSwitchProtectionProviderSpecificInput = "A2A"
	// InstanceTypeBasicSwitchProtectionProviderSpecificInputInstanceTypeSwitchProtectionProviderSpecificInput ...
	InstanceTypeBasicSwitchProtectionProviderSpecificInputInstanceTypeSwitchProtectionProviderSpecificInput InstanceTypeBasicSwitchProtectionProviderSpecificInput = "SwitchProtectionProviderSpecificInput"
)

// PossibleInstanceTypeBasicSwitchProtectionProviderSpecificInputValues returns an array of possible values for the InstanceTypeBasicSwitchProtectionProviderSpecificInput const type.
func PossibleInstanceTypeBasicSwitchProtectionProviderSpecificInputValues() []InstanceTypeBasicSwitchProtectionProviderSpecificInput {
	return []InstanceTypeBasicSwitchProtectionProviderSpecificInput{InstanceTypeBasicSwitchProtectionProviderSpecificInputInstanceTypeA2A, InstanceTypeBasicSwitchProtectionProviderSpecificInputInstanceTypeSwitchProtectionProviderSpecificInput}
}

// InstanceTypeBasicTaskTypeDetails enumerates the values for instance type basic task type details.
type InstanceTypeBasicTaskTypeDetails string

const (
	// InstanceTypeAutomationRunbookTaskDetails ...
	InstanceTypeAutomationRunbookTaskDetails InstanceTypeBasicTaskTypeDetails = "AutomationRunbookTaskDetails"
	// InstanceTypeConsistencyCheckTaskDetails ...
	InstanceTypeConsistencyCheckTaskDetails InstanceTypeBasicTaskTypeDetails = "ConsistencyCheckTaskDetails"
	// InstanceTypeFabricReplicationGroupTaskDetails ...
	InstanceTypeFabricReplicationGroupTaskDetails InstanceTypeBasicTaskTypeDetails = "FabricReplicationGroupTaskDetails"
	// InstanceTypeJobTaskDetails ...
	InstanceTypeJobTaskDetails InstanceTypeBasicTaskTypeDetails = "JobTaskDetails"
	// InstanceTypeManualActionTaskDetails ...
	InstanceTypeManualActionTaskDetails InstanceTypeBasicTaskTypeDetails = "ManualActionTaskDetails"
	// InstanceTypeScriptActionTaskDetails ...
	InstanceTypeScriptActionTaskDetails InstanceTypeBasicTaskTypeDetails = "ScriptActionTaskDetails"
	// InstanceTypeTaskTypeDetails ...
	InstanceTypeTaskTypeDetails InstanceTypeBasicTaskTypeDetails = "TaskTypeDetails"
	// InstanceTypeVirtualMachineTaskDetails ...
	InstanceTypeVirtualMachineTaskDetails InstanceTypeBasicTaskTypeDetails = "VirtualMachineTaskDetails"
	// InstanceTypeVMNicUpdatesTaskDetails ...
	InstanceTypeVMNicUpdatesTaskDetails InstanceTypeBasicTaskTypeDetails = "VmNicUpdatesTaskDetails"
)

// PossibleInstanceTypeBasicTaskTypeDetailsValues returns an array of possible values for the InstanceTypeBasicTaskTypeDetails const type.
func PossibleInstanceTypeBasicTaskTypeDetailsValues() []InstanceTypeBasicTaskTypeDetails {
	return []InstanceTypeBasicTaskTypeDetails{InstanceTypeAutomationRunbookTaskDetails, InstanceTypeConsistencyCheckTaskDetails, InstanceTypeFabricReplicationGroupTaskDetails, InstanceTypeJobTaskDetails, InstanceTypeManualActionTaskDetails, InstanceTypeScriptActionTaskDetails, InstanceTypeTaskTypeDetails, InstanceTypeVirtualMachineTaskDetails, InstanceTypeVMNicUpdatesTaskDetails}
}

// InstanceTypeBasicTestFailoverProviderSpecificInput enumerates the values for instance type basic test
// failover provider specific input.
type InstanceTypeBasicTestFailoverProviderSpecificInput string

const (
	// InstanceTypeBasicTestFailoverProviderSpecificInputInstanceTypeA2A ...
	InstanceTypeBasicTestFailoverProviderSpecificInputInstanceTypeA2A InstanceTypeBasicTestFailoverProviderSpecificInput = "A2A"
	// InstanceTypeBasicTestFailoverProviderSpecificInputInstanceTypeHyperVReplicaAzure ...
	InstanceTypeBasicTestFailoverProviderSpecificInputInstanceTypeHyperVReplicaAzure InstanceTypeBasicTestFailoverProviderSpecificInput = "HyperVReplicaAzure"
	// InstanceTypeBasicTestFailoverProviderSpecificInputInstanceTypeInMage ...
	InstanceTypeBasicTestFailoverProviderSpecificInputInstanceTypeInMage InstanceTypeBasicTestFailoverProviderSpecificInput = "InMage"
	// InstanceTypeBasicTestFailoverProviderSpecificInputInstanceTypeInMageAzureV2 ...
	InstanceTypeBasicTestFailoverProviderSpecificInputInstanceTypeInMageAzureV2 InstanceTypeBasicTestFailoverProviderSpecificInput = "InMageAzureV2"
	// InstanceTypeBasicTestFailoverProviderSpecificInputInstanceTypeInMageRcm ...
	InstanceTypeBasicTestFailoverProviderSpecificInputInstanceTypeInMageRcm InstanceTypeBasicTestFailoverProviderSpecificInput = "InMageRcm"
	// InstanceTypeBasicTestFailoverProviderSpecificInputInstanceTypeTestFailoverProviderSpecificInput ...
	InstanceTypeBasicTestFailoverProviderSpecificInputInstanceTypeTestFailoverProviderSpecificInput InstanceTypeBasicTestFailoverProviderSpecificInput = "TestFailoverProviderSpecificInput"
)

// PossibleInstanceTypeBasicTestFailoverProviderSpecificInputValues returns an array of possible values for the InstanceTypeBasicTestFailoverProviderSpecificInput const type.
func PossibleInstanceTypeBasicTestFailoverProviderSpecificInputValues() []InstanceTypeBasicTestFailoverProviderSpecificInput {
	return []InstanceTypeBasicTestFailoverProviderSpecificInput{InstanceTypeBasicTestFailoverProviderSpecificInputInstanceTypeA2A, InstanceTypeBasicTestFailoverProviderSpecificInputInstanceTypeHyperVReplicaAzure, InstanceTypeBasicTestFailoverProviderSpecificInputInstanceTypeInMage, InstanceTypeBasicTestFailoverProviderSpecificInputInstanceTypeInMageAzureV2, InstanceTypeBasicTestFailoverProviderSpecificInputInstanceTypeInMageRcm, InstanceTypeBasicTestFailoverProviderSpecificInputInstanceTypeTestFailoverProviderSpecificInput}
}

// InstanceTypeBasicTestMigrateProviderSpecificInput enumerates the values for instance type basic test migrate
// provider specific input.
type InstanceTypeBasicTestMigrateProviderSpecificInput string

const (
	// InstanceTypeBasicTestMigrateProviderSpecificInputInstanceTypeTestMigrateProviderSpecificInput ...
	InstanceTypeBasicTestMigrateProviderSpecificInputInstanceTypeTestMigrateProviderSpecificInput InstanceTypeBasicTestMigrateProviderSpecificInput = "TestMigrateProviderSpecificInput"
	// InstanceTypeBasicTestMigrateProviderSpecificInputInstanceTypeVMwareCbt ...
	InstanceTypeBasicTestMigrateProviderSpecificInputInstanceTypeVMwareCbt InstanceTypeBasicTestMigrateProviderSpecificInput = "VMwareCbt"
)

// PossibleInstanceTypeBasicTestMigrateProviderSpecificInputValues returns an array of possible values for the InstanceTypeBasicTestMigrateProviderSpecificInput const type.
func PossibleInstanceTypeBasicTestMigrateProviderSpecificInputValues() []InstanceTypeBasicTestMigrateProviderSpecificInput {
	return []InstanceTypeBasicTestMigrateProviderSpecificInput{InstanceTypeBasicTestMigrateProviderSpecificInputInstanceTypeTestMigrateProviderSpecificInput, InstanceTypeBasicTestMigrateProviderSpecificInputInstanceTypeVMwareCbt}
}

// InstanceTypeBasicUnplannedFailoverProviderSpecificInput enumerates the values for instance type basic
// unplanned failover provider specific input.
type InstanceTypeBasicUnplannedFailoverProviderSpecificInput string

const (
	// InstanceTypeBasicUnplannedFailoverProviderSpecificInputInstanceTypeA2A ...
	InstanceTypeBasicUnplannedFailoverProviderSpecificInputInstanceTypeA2A InstanceTypeBasicUnplannedFailoverProviderSpecificInput = "A2A"
	// InstanceTypeBasicUnplannedFailoverProviderSpecificInputInstanceTypeHyperVReplicaAzure ...
	InstanceTypeBasicUnplannedFailoverProviderSpecificInputInstanceTypeHyperVReplicaAzure InstanceTypeBasicUnplannedFailoverProviderSpecificInput = "HyperVReplicaAzure"
	// InstanceTypeBasicUnplannedFailoverProviderSpecificInputInstanceTypeInMage ...
	InstanceTypeBasicUnplannedFailoverProviderSpecificInputInstanceTypeInMage InstanceTypeBasicUnplannedFailoverProviderSpecificInput = "InMage"
	// InstanceTypeBasicUnplannedFailoverProviderSpecificInputInstanceTypeInMageAzureV2 ...
	InstanceTypeBasicUnplannedFailoverProviderSpecificInputInstanceTypeInMageAzureV2 InstanceTypeBasicUnplannedFailoverProviderSpecificInput = "InMageAzureV2"
	// InstanceTypeBasicUnplannedFailoverProviderSpecificInputInstanceTypeInMageRcm ...
	InstanceTypeBasicUnplannedFailoverProviderSpecificInputInstanceTypeInMageRcm InstanceTypeBasicUnplannedFailoverProviderSpecificInput = "InMageRcm"
	// InstanceTypeBasicUnplannedFailoverProviderSpecificInputInstanceTypeUnplannedFailoverProviderSpecificInput ...
	InstanceTypeBasicUnplannedFailoverProviderSpecificInputInstanceTypeUnplannedFailoverProviderSpecificInput InstanceTypeBasicUnplannedFailoverProviderSpecificInput = "UnplannedFailoverProviderSpecificInput"
)

// PossibleInstanceTypeBasicUnplannedFailoverProviderSpecificInputValues returns an array of possible values for the InstanceTypeBasicUnplannedFailoverProviderSpecificInput const type.
func PossibleInstanceTypeBasicUnplannedFailoverProviderSpecificInputValues() []InstanceTypeBasicUnplannedFailoverProviderSpecificInput {
	return []InstanceTypeBasicUnplannedFailoverProviderSpecificInput{InstanceTypeBasicUnplannedFailoverProviderSpecificInputInstanceTypeA2A, InstanceTypeBasicUnplannedFailoverProviderSpecificInputInstanceTypeHyperVReplicaAzure, InstanceTypeBasicUnplannedFailoverProviderSpecificInputInstanceTypeInMage, InstanceTypeBasicUnplannedFailoverProviderSpecificInputInstanceTypeInMageAzureV2, InstanceTypeBasicUnplannedFailoverProviderSpecificInputInstanceTypeInMageRcm, InstanceTypeBasicUnplannedFailoverProviderSpecificInputInstanceTypeUnplannedFailoverProviderSpecificInput}
}

// InstanceTypeBasicUpdateMigrationItemProviderSpecificInput enumerates the values for instance type basic
// update migration item provider specific input.
type InstanceTypeBasicUpdateMigrationItemProviderSpecificInput string

const (
	// InstanceTypeBasicUpdateMigrationItemProviderSpecificInputInstanceTypeUpdateMigrationItemProviderSpecificInput ...
	InstanceTypeBasicUpdateMigrationItemProviderSpecificInputInstanceTypeUpdateMigrationItemProviderSpecificInput InstanceTypeBasicUpdateMigrationItemProviderSpecificInput = "UpdateMigrationItemProviderSpecificInput"
	// InstanceTypeBasicUpdateMigrationItemProviderSpecificInputInstanceTypeVMwareCbt ...
	InstanceTypeBasicUpdateMigrationItemProviderSpecificInputInstanceTypeVMwareCbt InstanceTypeBasicUpdateMigrationItemProviderSpecificInput = "VMwareCbt"
)

// PossibleInstanceTypeBasicUpdateMigrationItemProviderSpecificInputValues returns an array of possible values for the InstanceTypeBasicUpdateMigrationItemProviderSpecificInput const type.
func PossibleInstanceTypeBasicUpdateMigrationItemProviderSpecificInputValues() []InstanceTypeBasicUpdateMigrationItemProviderSpecificInput {
	return []InstanceTypeBasicUpdateMigrationItemProviderSpecificInput{InstanceTypeBasicUpdateMigrationItemProviderSpecificInputInstanceTypeUpdateMigrationItemProviderSpecificInput, InstanceTypeBasicUpdateMigrationItemProviderSpecificInputInstanceTypeVMwareCbt}
}

// InstanceTypeBasicUpdateReplicationProtectedItemProviderInput enumerates the values for instance type basic
// update replication protected item provider input.
type InstanceTypeBasicUpdateReplicationProtectedItemProviderInput string

const (
	// InstanceTypeBasicUpdateReplicationProtectedItemProviderInputInstanceTypeA2A ...
	InstanceTypeBasicUpdateReplicationProtectedItemProviderInputInstanceTypeA2A InstanceTypeBasicUpdateReplicationProtectedItemProviderInput = "A2A"
	// InstanceTypeBasicUpdateReplicationProtectedItemProviderInputInstanceTypeHyperVReplicaAzure ...
	InstanceTypeBasicUpdateReplicationProtectedItemProviderInputInstanceTypeHyperVReplicaAzure InstanceTypeBasicUpdateReplicationProtectedItemProviderInput = "HyperVReplicaAzure"
	// InstanceTypeBasicUpdateReplicationProtectedItemProviderInputInstanceTypeInMageAzureV2 ...
	InstanceTypeBasicUpdateReplicationProtectedItemProviderInputInstanceTypeInMageAzureV2 InstanceTypeBasicUpdateReplicationProtectedItemProviderInput = "InMageAzureV2"
	// InstanceTypeBasicUpdateReplicationProtectedItemProviderInputInstanceTypeInMageRcm ...
	InstanceTypeBasicUpdateReplicationProtectedItemProviderInputInstanceTypeInMageRcm InstanceTypeBasicUpdateReplicationProtectedItemProviderInput = "InMageRcm"
	// InstanceTypeBasicUpdateReplicationProtectedItemProviderInputInstanceTypeUpdateReplicationProtectedItemProviderInput ...
	InstanceTypeBasicUpdateReplicationProtectedItemProviderInputInstanceTypeUpdateReplicationProtectedItemProviderInput InstanceTypeBasicUpdateReplicationProtectedItemProviderInput = "UpdateReplicationProtectedItemProviderInput"
)

// PossibleInstanceTypeBasicUpdateReplicationProtectedItemProviderInputValues returns an array of possible values for the InstanceTypeBasicUpdateReplicationProtectedItemProviderInput const type.
func PossibleInstanceTypeBasicUpdateReplicationProtectedItemProviderInputValues() []InstanceTypeBasicUpdateReplicationProtectedItemProviderInput {
	return []InstanceTypeBasicUpdateReplicationProtectedItemProviderInput{InstanceTypeBasicUpdateReplicationProtectedItemProviderInputInstanceTypeA2A, InstanceTypeBasicUpdateReplicationProtectedItemProviderInputInstanceTypeHyperVReplicaAzure, InstanceTypeBasicUpdateReplicationProtectedItemProviderInputInstanceTypeInMageAzureV2, InstanceTypeBasicUpdateReplicationProtectedItemProviderInputInstanceTypeInMageRcm, InstanceTypeBasicUpdateReplicationProtectedItemProviderInputInstanceTypeUpdateReplicationProtectedItemProviderInput}
}

// LicenseType enumerates the values for license type.
type LicenseType string

const (
	// LicenseTypeNoLicenseType ...
	LicenseTypeNoLicenseType LicenseType = "NoLicenseType"
	// LicenseTypeNotSpecified ...
	LicenseTypeNotSpecified LicenseType = "NotSpecified"
	// LicenseTypeWindowsServer ...
	LicenseTypeWindowsServer LicenseType = "WindowsServer"
)

// PossibleLicenseTypeValues returns an array of possible values for the LicenseType const type.
func PossibleLicenseTypeValues() []LicenseType {
	return []LicenseType{LicenseTypeNoLicenseType, LicenseTypeNotSpecified, LicenseTypeWindowsServer}
}

// MigrationItemOperation enumerates the values for migration item operation.
type MigrationItemOperation string

const (
	// DisableMigration ...
	DisableMigration MigrationItemOperation = "DisableMigration"
	// Migrate ...
	Migrate MigrationItemOperation = "Migrate"
	// TestMigrate ...
	TestMigrate MigrationItemOperation = "TestMigrate"
	// TestMigrateCleanup ...
	TestMigrateCleanup MigrationItemOperation = "TestMigrateCleanup"
)

// PossibleMigrationItemOperationValues returns an array of possible values for the MigrationItemOperation const type.
func PossibleMigrationItemOperationValues() []MigrationItemOperation {
	return []MigrationItemOperation{DisableMigration, Migrate, TestMigrate, TestMigrateCleanup}
}

// MigrationRecoveryPointType enumerates the values for migration recovery point type.
type MigrationRecoveryPointType string

const (
	// MigrationRecoveryPointTypeApplicationConsistent ...
	MigrationRecoveryPointTypeApplicationConsistent MigrationRecoveryPointType = "ApplicationConsistent"
	// MigrationRecoveryPointTypeCrashConsistent ...
	MigrationRecoveryPointTypeCrashConsistent MigrationRecoveryPointType = "CrashConsistent"
	// MigrationRecoveryPointTypeNotSpecified ...
	MigrationRecoveryPointTypeNotSpecified MigrationRecoveryPointType = "NotSpecified"
)

// PossibleMigrationRecoveryPointTypeValues returns an array of possible values for the MigrationRecoveryPointType const type.
func PossibleMigrationRecoveryPointTypeValues() []MigrationRecoveryPointType {
	return []MigrationRecoveryPointType{MigrationRecoveryPointTypeApplicationConsistent, MigrationRecoveryPointTypeCrashConsistent, MigrationRecoveryPointTypeNotSpecified}
}

// MigrationState enumerates the values for migration state.
type MigrationState string

const (
	// MigrationStateDisableMigrationFailed ...
	MigrationStateDisableMigrationFailed MigrationState = "DisableMigrationFailed"
	// MigrationStateDisableMigrationInProgress ...
	MigrationStateDisableMigrationInProgress MigrationState = "DisableMigrationInProgress"
	// MigrationStateEnableMigrationFailed ...
	MigrationStateEnableMigrationFailed MigrationState = "EnableMigrationFailed"
	// MigrationStateEnableMigrationInProgress ...
	MigrationStateEnableMigrationInProgress MigrationState = "EnableMigrationInProgress"
	// MigrationStateInitialSeedingFailed ...
	MigrationStateInitialSeedingFailed MigrationState = "InitialSeedingFailed"
	// MigrationStateInitialSeedingInProgress ...
	MigrationStateInitialSeedingInProgress MigrationState = "InitialSeedingInProgress"
	// MigrationStateMigrationFailed ...
	MigrationStateMigrationFailed MigrationState = "MigrationFailed"
	// MigrationStateMigrationInProgress ...
	MigrationStateMigrationInProgress MigrationState = "MigrationInProgress"
	// MigrationStateMigrationSucceeded ...
	MigrationStateMigrationSucceeded MigrationState = "MigrationSucceeded"
	// MigrationStateNone ...
	MigrationStateNone MigrationState = "None"
	// MigrationStateReplicating ...
	MigrationStateReplicating MigrationState = "Replicating"
)

// PossibleMigrationStateValues returns an array of possible values for the MigrationState const type.
func PossibleMigrationStateValues() []MigrationState {
	return []MigrationState{MigrationStateDisableMigrationFailed, MigrationStateDisableMigrationInProgress, MigrationStateEnableMigrationFailed, MigrationStateEnableMigrationInProgress, MigrationStateInitialSeedingFailed, MigrationStateInitialSeedingInProgress, MigrationStateMigrationFailed, MigrationStateMigrationInProgress, MigrationStateMigrationSucceeded, MigrationStateNone, MigrationStateReplicating}
}

// MobilityAgentUpgradeState enumerates the values for mobility agent upgrade state.
type MobilityAgentUpgradeState string

const (
	// MobilityAgentUpgradeStateCommit ...
	MobilityAgentUpgradeStateCommit MobilityAgentUpgradeState = "Commit"
	// MobilityAgentUpgradeStateCompleted ...
	MobilityAgentUpgradeStateCompleted MobilityAgentUpgradeState = "Completed"
	// MobilityAgentUpgradeStateNone ...
	MobilityAgentUpgradeStateNone MobilityAgentUpgradeState = "None"
	// MobilityAgentUpgradeStateStarted ...
	MobilityAgentUpgradeStateStarted MobilityAgentUpgradeState = "Started"
)

// PossibleMobilityAgentUpgradeStateValues returns an array of possible values for the MobilityAgentUpgradeState const type.
func PossibleMobilityAgentUpgradeStateValues() []MobilityAgentUpgradeState {
	return []MobilityAgentUpgradeState{MobilityAgentUpgradeStateCommit, MobilityAgentUpgradeStateCompleted, MobilityAgentUpgradeStateNone, MobilityAgentUpgradeStateStarted}
}

// MultiVMGroupCreateOption enumerates the values for multi vm group create option.
type MultiVMGroupCreateOption string

const (
	// AutoCreated ...
	AutoCreated MultiVMGroupCreateOption = "AutoCreated"
	// UserSpecified ...
	UserSpecified MultiVMGroupCreateOption = "UserSpecified"
)

// PossibleMultiVMGroupCreateOptionValues returns an array of possible values for the MultiVMGroupCreateOption const type.
func PossibleMultiVMGroupCreateOptionValues() []MultiVMGroupCreateOption {
	return []MultiVMGroupCreateOption{AutoCreated, UserSpecified}
}

// MultiVMSyncPointOption enumerates the values for multi vm sync point option.
type MultiVMSyncPointOption string

const (
	// UseMultiVMSyncRecoveryPoint ...
	UseMultiVMSyncRecoveryPoint MultiVMSyncPointOption = "UseMultiVmSyncRecoveryPoint"
	// UsePerVMRecoveryPoint ...
	UsePerVMRecoveryPoint MultiVMSyncPointOption = "UsePerVmRecoveryPoint"
)

// PossibleMultiVMSyncPointOptionValues returns an array of possible values for the MultiVMSyncPointOption const type.
func PossibleMultiVMSyncPointOptionValues() []MultiVMSyncPointOption {
	return []MultiVMSyncPointOption{UseMultiVMSyncRecoveryPoint, UsePerVMRecoveryPoint}
}

// MultiVMSyncStatus enumerates the values for multi vm sync status.
type MultiVMSyncStatus string

const (
	// MultiVMSyncStatusDisabled ...
	MultiVMSyncStatusDisabled MultiVMSyncStatus = "Disabled"
	// MultiVMSyncStatusEnabled ...
	MultiVMSyncStatusEnabled MultiVMSyncStatus = "Enabled"
)

// PossibleMultiVMSyncStatusValues returns an array of possible values for the MultiVMSyncStatus const type.
func PossibleMultiVMSyncStatusValues() []MultiVMSyncStatus {
	return []MultiVMSyncStatus{MultiVMSyncStatusDisabled, MultiVMSyncStatusEnabled}
}

// PossibleOperationsDirections enumerates the values for possible operations directions.
type PossibleOperationsDirections string

const (
	// PrimaryToRecovery ...
	PrimaryToRecovery PossibleOperationsDirections = "PrimaryToRecovery"
	// RecoveryToPrimary ...
	RecoveryToPrimary PossibleOperationsDirections = "RecoveryToPrimary"
)

// PossiblePossibleOperationsDirectionsValues returns an array of possible values for the PossibleOperationsDirections const type.
func PossiblePossibleOperationsDirectionsValues() []PossibleOperationsDirections {
	return []PossibleOperationsDirections{PrimaryToRecovery, RecoveryToPrimary}
}

// PresenceStatus enumerates the values for presence status.
type PresenceStatus string

const (
	// PresenceStatusNotPresent ...
	PresenceStatusNotPresent PresenceStatus = "NotPresent"
	// PresenceStatusPresent ...
	PresenceStatusPresent PresenceStatus = "Present"
	// PresenceStatusUnknown ...
	PresenceStatusUnknown PresenceStatus = "Unknown"
)

// PossiblePresenceStatusValues returns an array of possible values for the PresenceStatus const type.
func PossiblePresenceStatusValues() []PresenceStatus {
	return []PresenceStatus{PresenceStatusNotPresent, PresenceStatusPresent, PresenceStatusUnknown}
}

// ProtectionHealth enumerates the values for protection health.
type ProtectionHealth string

const (
	// ProtectionHealthCritical ...
	ProtectionHealthCritical ProtectionHealth = "Critical"
	// ProtectionHealthNone ...
	ProtectionHealthNone ProtectionHealth = "None"
	// ProtectionHealthNormal ...
	ProtectionHealthNormal ProtectionHealth = "Normal"
	// ProtectionHealthWarning ...
	ProtectionHealthWarning ProtectionHealth = "Warning"
)

// PossibleProtectionHealthValues returns an array of possible values for the ProtectionHealth const type.
func PossibleProtectionHealthValues() []ProtectionHealth {
	return []ProtectionHealth{ProtectionHealthCritical, ProtectionHealthNone, ProtectionHealthNormal, ProtectionHealthWarning}
}

// RecoveryPlanActionLocation enumerates the values for recovery plan action location.
type RecoveryPlanActionLocation string

const (
	// Primary ...
	Primary RecoveryPlanActionLocation = "Primary"
	// Recovery ...
	Recovery RecoveryPlanActionLocation = "Recovery"
)

// PossibleRecoveryPlanActionLocationValues returns an array of possible values for the RecoveryPlanActionLocation const type.
func PossibleRecoveryPlanActionLocationValues() []RecoveryPlanActionLocation {
	return []RecoveryPlanActionLocation{Primary, Recovery}
}

// RecoveryPlanGroupType enumerates the values for recovery plan group type.
type RecoveryPlanGroupType string

const (
	// Boot ...
	Boot RecoveryPlanGroupType = "Boot"
	// Failover ...
	Failover RecoveryPlanGroupType = "Failover"
	// Shutdown ...
	Shutdown RecoveryPlanGroupType = "Shutdown"
)

// PossibleRecoveryPlanGroupTypeValues returns an array of possible values for the RecoveryPlanGroupType const type.
func PossibleRecoveryPlanGroupTypeValues() []RecoveryPlanGroupType {
	return []RecoveryPlanGroupType{Boot, Failover, Shutdown}
}

// RecoveryPlanPointType enumerates the values for recovery plan point type.
type RecoveryPlanPointType string

const (
	// RecoveryPlanPointTypeLatest ...
	RecoveryPlanPointTypeLatest RecoveryPlanPointType = "Latest"
	// RecoveryPlanPointTypeLatestApplicationConsistent ...
	RecoveryPlanPointTypeLatestApplicationConsistent RecoveryPlanPointType = "LatestApplicationConsistent"
	// RecoveryPlanPointTypeLatestCrashConsistent ...
	RecoveryPlanPointTypeLatestCrashConsistent RecoveryPlanPointType = "LatestCrashConsistent"
	// RecoveryPlanPointTypeLatestProcessed ...
	RecoveryPlanPointTypeLatestProcessed RecoveryPlanPointType = "LatestProcessed"
)

// PossibleRecoveryPlanPointTypeValues returns an array of possible values for the RecoveryPlanPointType const type.
func PossibleRecoveryPlanPointTypeValues() []RecoveryPlanPointType {
	return []RecoveryPlanPointType{RecoveryPlanPointTypeLatest, RecoveryPlanPointTypeLatestApplicationConsistent, RecoveryPlanPointTypeLatestCrashConsistent, RecoveryPlanPointTypeLatestProcessed}
}

// RecoveryPointSyncType enumerates the values for recovery point sync type.
type RecoveryPointSyncType string

const (
	// MultiVMSyncRecoveryPoint ...
	MultiVMSyncRecoveryPoint RecoveryPointSyncType = "MultiVmSyncRecoveryPoint"
	// PerVMRecoveryPoint ...
	PerVMRecoveryPoint RecoveryPointSyncType = "PerVmRecoveryPoint"
)

// PossibleRecoveryPointSyncTypeValues returns an array of possible values for the RecoveryPointSyncType const type.
func PossibleRecoveryPointSyncTypeValues() []RecoveryPointSyncType {
	return []RecoveryPointSyncType{MultiVMSyncRecoveryPoint, PerVMRecoveryPoint}
}

// RecoveryPointType enumerates the values for recovery point type.
type RecoveryPointType string

const (
	// Custom ...
	Custom RecoveryPointType = "Custom"
	// LatestTag ...
	LatestTag RecoveryPointType = "LatestTag"
	// LatestTime ...
	LatestTime RecoveryPointType = "LatestTime"
)

// PossibleRecoveryPointTypeValues returns an array of possible values for the RecoveryPointType const type.
func PossibleRecoveryPointTypeValues() []RecoveryPointType {
	return []RecoveryPointType{Custom, LatestTag, LatestTime}
}

// ReplicationProtectedItemOperation enumerates the values for replication protected item operation.
type ReplicationProtectedItemOperation string

const (
	// ReplicationProtectedItemOperationChangePit ...
	ReplicationProtectedItemOperationChangePit ReplicationProtectedItemOperation = "ChangePit"
	// ReplicationProtectedItemOperationCommit ...
	ReplicationProtectedItemOperationCommit ReplicationProtectedItemOperation = "Commit"
	// ReplicationProtectedItemOperationCompleteMigration ...
	ReplicationProtectedItemOperationCompleteMigration ReplicationProtectedItemOperation = "CompleteMigration"
	// ReplicationProtectedItemOperationDisableProtection ...
	ReplicationProtectedItemOperationDisableProtection ReplicationProtectedItemOperation = "DisableProtection"
	// ReplicationProtectedItemOperationFailback ...
	ReplicationProtectedItemOperationFailback ReplicationProtectedItemOperation = "Failback"
	// ReplicationProtectedItemOperationFinalizeFailback ...
	ReplicationProtectedItemOperationFinalizeFailback ReplicationProtectedItemOperation = "FinalizeFailback"
	// ReplicationProtectedItemOperationPlannedFailover ...
	ReplicationProtectedItemOperationPlannedFailover ReplicationProtectedItemOperation = "PlannedFailover"
	// ReplicationProtectedItemOperationRepairReplication ...
	ReplicationProtectedItemOperationRepairReplication ReplicationProtectedItemOperation = "RepairReplication"
	// ReplicationProtectedItemOperationReverseReplicate ...
	ReplicationProtectedItemOperationReverseReplicate ReplicationProtectedItemOperation = "ReverseReplicate"
	// ReplicationProtectedItemOperationSwitchProtection ...
	ReplicationProtectedItemOperationSwitchProtection ReplicationProtectedItemOperation = "SwitchProtection"
	// ReplicationProtectedItemOperationTestFailover ...
	ReplicationProtectedItemOperationTestFailover ReplicationProtectedItemOperation = "TestFailover"
	// ReplicationProtectedItemOperationTestFailoverCleanup ...
	ReplicationProtectedItemOperationTestFailoverCleanup ReplicationProtectedItemOperation = "TestFailoverCleanup"
	// ReplicationProtectedItemOperationUnplannedFailover ...
	ReplicationProtectedItemOperationUnplannedFailover ReplicationProtectedItemOperation = "UnplannedFailover"
)

// PossibleReplicationProtectedItemOperationValues returns an array of possible values for the ReplicationProtectedItemOperation const type.
func PossibleReplicationProtectedItemOperationValues() []ReplicationProtectedItemOperation {
	return []ReplicationProtectedItemOperation{ReplicationProtectedItemOperationChangePit, ReplicationProtectedItemOperationCommit, ReplicationProtectedItemOperationCompleteMigration, ReplicationProtectedItemOperationDisableProtection, ReplicationProtectedItemOperationFailback, ReplicationProtectedItemOperationFinalizeFailback, ReplicationProtectedItemOperationPlannedFailover, ReplicationProtectedItemOperationRepairReplication, ReplicationProtectedItemOperationReverseReplicate, ReplicationProtectedItemOperationSwitchProtection, ReplicationProtectedItemOperationTestFailover, ReplicationProtectedItemOperationTestFailoverCleanup, ReplicationProtectedItemOperationUnplannedFailover}
}

// ResourceType enumerates the values for resource type.
type ResourceType string

const (
	// ResourceTypeExisting ...
	ResourceTypeExisting ResourceType = "Existing"
	// ResourceTypeNew ...
	ResourceTypeNew ResourceType = "New"
	// ResourceTypeProtectionProfileCustomDetails ...
	ResourceTypeProtectionProfileCustomDetails ResourceType = "ProtectionProfileCustomDetails"
)

// PossibleResourceTypeValues returns an array of possible values for the ResourceType const type.
func PossibleResourceTypeValues() []ResourceType {
	return []ResourceType{ResourceTypeExisting, ResourceTypeNew, ResourceTypeProtectionProfileCustomDetails}
}

// ResourceTypeBasicRecoveryAvailabilitySetCustomDetails enumerates the values for resource type basic recovery
// availability set custom details.
type ResourceTypeBasicRecoveryAvailabilitySetCustomDetails string

const (
	// ResourceTypeBasicRecoveryAvailabilitySetCustomDetailsResourceTypeExisting ...
	ResourceTypeBasicRecoveryAvailabilitySetCustomDetailsResourceTypeExisting ResourceTypeBasicRecoveryAvailabilitySetCustomDetails = "Existing"
	// ResourceTypeBasicRecoveryAvailabilitySetCustomDetailsResourceTypeRecoveryAvailabilitySetCustomDetails ...
	ResourceTypeBasicRecoveryAvailabilitySetCustomDetailsResourceTypeRecoveryAvailabilitySetCustomDetails ResourceTypeBasicRecoveryAvailabilitySetCustomDetails = "RecoveryAvailabilitySetCustomDetails"
)

// PossibleResourceTypeBasicRecoveryAvailabilitySetCustomDetailsValues returns an array of possible values for the ResourceTypeBasicRecoveryAvailabilitySetCustomDetails const type.
func PossibleResourceTypeBasicRecoveryAvailabilitySetCustomDetailsValues() []ResourceTypeBasicRecoveryAvailabilitySetCustomDetails {
	return []ResourceTypeBasicRecoveryAvailabilitySetCustomDetails{ResourceTypeBasicRecoveryAvailabilitySetCustomDetailsResourceTypeExisting, ResourceTypeBasicRecoveryAvailabilitySetCustomDetailsResourceTypeRecoveryAvailabilitySetCustomDetails}
}

// ResourceTypeBasicRecoveryProximityPlacementGroupCustomDetails enumerates the values for resource type basic
// recovery proximity placement group custom details.
type ResourceTypeBasicRecoveryProximityPlacementGroupCustomDetails string

const (
	// ResourceTypeBasicRecoveryProximityPlacementGroupCustomDetailsResourceTypeExisting ...
	ResourceTypeBasicRecoveryProximityPlacementGroupCustomDetailsResourceTypeExisting ResourceTypeBasicRecoveryProximityPlacementGroupCustomDetails = "Existing"
	// ResourceTypeBasicRecoveryProximityPlacementGroupCustomDetailsResourceTypeRecoveryProximityPlacementGroupCustomDetails ...
	ResourceTypeBasicRecoveryProximityPlacementGroupCustomDetailsResourceTypeRecoveryProximityPlacementGroupCustomDetails ResourceTypeBasicRecoveryProximityPlacementGroupCustomDetails = "RecoveryProximityPlacementGroupCustomDetails"
)

// PossibleResourceTypeBasicRecoveryProximityPlacementGroupCustomDetailsValues returns an array of possible values for the ResourceTypeBasicRecoveryProximityPlacementGroupCustomDetails const type.
func PossibleResourceTypeBasicRecoveryProximityPlacementGroupCustomDetailsValues() []ResourceTypeBasicRecoveryProximityPlacementGroupCustomDetails {
	return []ResourceTypeBasicRecoveryProximityPlacementGroupCustomDetails{ResourceTypeBasicRecoveryProximityPlacementGroupCustomDetailsResourceTypeExisting, ResourceTypeBasicRecoveryProximityPlacementGroupCustomDetailsResourceTypeRecoveryProximityPlacementGroupCustomDetails}
}

// ResourceTypeBasicRecoveryResourceGroupCustomDetails enumerates the values for resource type basic recovery
// resource group custom details.
type ResourceTypeBasicRecoveryResourceGroupCustomDetails string

const (
	// ResourceTypeBasicRecoveryResourceGroupCustomDetailsResourceTypeExisting ...
	ResourceTypeBasicRecoveryResourceGroupCustomDetailsResourceTypeExisting ResourceTypeBasicRecoveryResourceGroupCustomDetails = "Existing"
	// ResourceTypeBasicRecoveryResourceGroupCustomDetailsResourceTypeRecoveryResourceGroupCustomDetails ...
	ResourceTypeBasicRecoveryResourceGroupCustomDetailsResourceTypeRecoveryResourceGroupCustomDetails ResourceTypeBasicRecoveryResourceGroupCustomDetails = "RecoveryResourceGroupCustomDetails"
)

// PossibleResourceTypeBasicRecoveryResourceGroupCustomDetailsValues returns an array of possible values for the ResourceTypeBasicRecoveryResourceGroupCustomDetails const type.
func PossibleResourceTypeBasicRecoveryResourceGroupCustomDetailsValues() []ResourceTypeBasicRecoveryResourceGroupCustomDetails {
	return []ResourceTypeBasicRecoveryResourceGroupCustomDetails{ResourceTypeBasicRecoveryResourceGroupCustomDetailsResourceTypeExisting, ResourceTypeBasicRecoveryResourceGroupCustomDetailsResourceTypeRecoveryResourceGroupCustomDetails}
}

// ResourceTypeBasicRecoveryVirtualNetworkCustomDetails enumerates the values for resource type basic recovery
// virtual network custom details.
type ResourceTypeBasicRecoveryVirtualNetworkCustomDetails string

const (
	// ResourceTypeBasicRecoveryVirtualNetworkCustomDetailsResourceTypeExisting ...
	ResourceTypeBasicRecoveryVirtualNetworkCustomDetailsResourceTypeExisting ResourceTypeBasicRecoveryVirtualNetworkCustomDetails = "Existing"
	// ResourceTypeBasicRecoveryVirtualNetworkCustomDetailsResourceTypeRecoveryVirtualNetworkCustomDetails ...
	ResourceTypeBasicRecoveryVirtualNetworkCustomDetailsResourceTypeRecoveryVirtualNetworkCustomDetails ResourceTypeBasicRecoveryVirtualNetworkCustomDetails = "RecoveryVirtualNetworkCustomDetails"
)

// PossibleResourceTypeBasicRecoveryVirtualNetworkCustomDetailsValues returns an array of possible values for the ResourceTypeBasicRecoveryVirtualNetworkCustomDetails const type.
func PossibleResourceTypeBasicRecoveryVirtualNetworkCustomDetailsValues() []ResourceTypeBasicRecoveryVirtualNetworkCustomDetails {
	return []ResourceTypeBasicRecoveryVirtualNetworkCustomDetails{ResourceTypeBasicRecoveryVirtualNetworkCustomDetailsResourceTypeExisting, ResourceTypeBasicRecoveryVirtualNetworkCustomDetailsResourceTypeRecoveryVirtualNetworkCustomDetails}
}

// ResourceTypeBasicStorageAccountCustomDetails enumerates the values for resource type basic storage account
// custom details.
type ResourceTypeBasicStorageAccountCustomDetails string

const (
	// ResourceTypeBasicStorageAccountCustomDetailsResourceTypeExisting ...
	ResourceTypeBasicStorageAccountCustomDetailsResourceTypeExisting ResourceTypeBasicStorageAccountCustomDetails = "Existing"
	// ResourceTypeBasicStorageAccountCustomDetailsResourceTypeStorageAccountCustomDetails ...
	ResourceTypeBasicStorageAccountCustomDetailsResourceTypeStorageAccountCustomDetails ResourceTypeBasicStorageAccountCustomDetails = "StorageAccountCustomDetails"
)

// PossibleResourceTypeBasicStorageAccountCustomDetailsValues returns an array of possible values for the ResourceTypeBasicStorageAccountCustomDetails const type.
func PossibleResourceTypeBasicStorageAccountCustomDetailsValues() []ResourceTypeBasicStorageAccountCustomDetails {
	return []ResourceTypeBasicStorageAccountCustomDetails{ResourceTypeBasicStorageAccountCustomDetailsResourceTypeExisting, ResourceTypeBasicStorageAccountCustomDetailsResourceTypeStorageAccountCustomDetails}
}

// ResyncState enumerates the values for resync state.
type ResyncState string

const (
	// ResyncStateNone ...
	ResyncStateNone ResyncState = "None"
	// ResyncStatePreparedForResynchronization ...
	ResyncStatePreparedForResynchronization ResyncState = "PreparedForResynchronization"
	// ResyncStateStartedResynchronization ...
	ResyncStateStartedResynchronization ResyncState = "StartedResynchronization"
)

// PossibleResyncStateValues returns an array of possible values for the ResyncState const type.
func PossibleResyncStateValues() []ResyncState {
	return []ResyncState{ResyncStateNone, ResyncStatePreparedForResynchronization, ResyncStateStartedResynchronization}
}

// RpInMageRecoveryPointType enumerates the values for rp in mage recovery point type.
type RpInMageRecoveryPointType string

const (
	// RpInMageRecoveryPointTypeCustom ...
	RpInMageRecoveryPointTypeCustom RpInMageRecoveryPointType = "Custom"
	// RpInMageRecoveryPointTypeLatestTag ...
	RpInMageRecoveryPointTypeLatestTag RpInMageRecoveryPointType = "LatestTag"
	// RpInMageRecoveryPointTypeLatestTime ...
	RpInMageRecoveryPointTypeLatestTime RpInMageRecoveryPointType = "LatestTime"
)

// PossibleRpInMageRecoveryPointTypeValues returns an array of possible values for the RpInMageRecoveryPointType const type.
func PossibleRpInMageRecoveryPointTypeValues() []RpInMageRecoveryPointType {
	return []RpInMageRecoveryPointType{RpInMageRecoveryPointTypeCustom, RpInMageRecoveryPointTypeLatestTag, RpInMageRecoveryPointTypeLatestTime}
}

// SetMultiVMSyncStatus enumerates the values for set multi vm sync status.
type SetMultiVMSyncStatus string

const (
	// Disable ...
	Disable SetMultiVMSyncStatus = "Disable"
	// Enable ...
	Enable SetMultiVMSyncStatus = "Enable"
)

// PossibleSetMultiVMSyncStatusValues returns an array of possible values for the SetMultiVMSyncStatus const type.
func PossibleSetMultiVMSyncStatusValues() []SetMultiVMSyncStatus {
	return []SetMultiVMSyncStatus{Disable, Enable}
}

// Severity enumerates the values for severity.
type Severity string

const (
	// Error ...
	Error Severity = "Error"
	// Info ...
	Info Severity = "Info"
	// NONE ...
	NONE Severity = "NONE"
	// Warning ...
	Warning Severity = "Warning"
)

// PossibleSeverityValues returns an array of possible values for the Severity const type.
func PossibleSeverityValues() []Severity {
	return []Severity{Error, Info, NONE, Warning}
}

// SourceSiteOperations enumerates the values for source site operations.
type SourceSiteOperations string

const (
	// NotRequired ...
	NotRequired SourceSiteOperations = "NotRequired"
	// Required ...
	Required SourceSiteOperations = "Required"
)

// PossibleSourceSiteOperationsValues returns an array of possible values for the SourceSiteOperations const type.
func PossibleSourceSiteOperationsValues() []SourceSiteOperations {
	return []SourceSiteOperations{NotRequired, Required}
}

// TestMigrationState enumerates the values for test migration state.
type TestMigrationState string

const (
	// TestMigrationStateNone ...
	TestMigrationStateNone TestMigrationState = "None"
	// TestMigrationStateTestMigrationCleanupInProgress ...
	TestMigrationStateTestMigrationCleanupInProgress TestMigrationState = "TestMigrationCleanupInProgress"
	// TestMigrationStateTestMigrationFailed ...
	TestMigrationStateTestMigrationFailed TestMigrationState = "TestMigrationFailed"
	// TestMigrationStateTestMigrationInProgress ...
	TestMigrationStateTestMigrationInProgress TestMigrationState = "TestMigrationInProgress"
	// TestMigrationStateTestMigrationSucceeded ...
	TestMigrationStateTestMigrationSucceeded TestMigrationState = "TestMigrationSucceeded"
)

// PossibleTestMigrationStateValues returns an array of possible values for the TestMigrationState const type.
func PossibleTestMigrationStateValues() []TestMigrationState {
	return []TestMigrationState{TestMigrationStateNone, TestMigrationStateTestMigrationCleanupInProgress, TestMigrationStateTestMigrationFailed, TestMigrationStateTestMigrationInProgress, TestMigrationStateTestMigrationSucceeded}
}

// VMEncryptionType enumerates the values for vm encryption type.
type VMEncryptionType string

const (
	// NotEncrypted ...
	NotEncrypted VMEncryptionType = "NotEncrypted"
	// OnePassEncrypted ...
	OnePassEncrypted VMEncryptionType = "OnePassEncrypted"
	// TwoPassEncrypted ...
	TwoPassEncrypted VMEncryptionType = "TwoPassEncrypted"
)

// PossibleVMEncryptionTypeValues returns an array of possible values for the VMEncryptionType const type.
func PossibleVMEncryptionTypeValues() []VMEncryptionType {
	return []VMEncryptionType{NotEncrypted, OnePassEncrypted, TwoPassEncrypted}
}
