This section lists the various faults thrown by the Site Recovery Manager APIs.

Table 1. Faults thrown by Site Recovery Manager functions
Fault Description
AgentVmNotSupported Thrown when an agent VM is used in an operation that does not support it.
AlreadyExists The name, key, or identifier of the element already exists in the collection.
AlreadyLoggedInFault The session is already logged in, and Login was called again.
AlreadyPairedFault Thrown if an attempt to pair already paired SRM was made.
ArrayManagerInUse Thrown when removing an array manager in use.
ArrayNotFound Thrown when storage array with the specified ID cannot be found.
ArrayPairInUse Thrown when removing an array pair in use.
ArrayPairNotFound Thrown when existing array pair is not found in discoverArrays response.
CannotMapDvsUplinkPortgroup Invalid DVPortgroup network specified for the mapping). Use this fault when site context is obvious from used mapping type(test mappings) or the operation itself.
CannotProtectDatastore Base fault for failure to add a datastore to protection group. To fix remove the datastore from the protection group.
CannotUnprotectDatastoreInUse Cannot remove a datastore from protection group because it is used by protected VM(s).
CannotProtectFTSecondaryVm Fault thrown when a user tries to protect a VM which is a fault tolerance secondary VM.
CannotProtectVm Cannot add virtual machine to the protection group.
CertificateCtlSignatureNotValid Thrown when a certificate trust list used to create this chain did not have a valid signature.
CommandFailed Failed to execute SRA command.
ConfigFileNotReplicated The VM's config file is located on a datastore which is either not replicated or not protected by the protection group in which the VM is being protected.
ConnectionDownFault Thrown if the VMOMI connection to the remote server is down.
ConnectionLimitReached Thrown when the configured connection limit has been reached.
DatastoreAlreadyProtected Datastore cannot be added to this group because it is already part of another protection group.
DatastoreMissingProtection Base fault for datastore missing from the protection group.
DatastoreNotReplicated Cannot protect datastore because underlying storage devices are not configured for replication.
DatastoreProtectionIssue Base fault for datastore-specific protection issues.
DependencyConflict UpdateVmSettings operation was attempted that might cause a dependency cycle.
DeviceBackingConflict If the caller specified a device locator, or explicitly excluded, a device which the provider would like to protect.
DeviceBackingConflict Fault thrown when a user attempts to protect or reconfigure protection for a VM, specifying one or more backing locators which conflict with those chosen by the provider.
DeviceGroupMatchingFault Reported when a device group cannot be matched to a peer device group.
DeviceMatchingFault Reported when a device cannot be matched to a peer device.
DevicesNotResolved Fault thrown when a user attempts to protect or reconfigure protection for a VM without resolving all of its devices
DirectionError The direction of the recovery plan cannot be determined.
DomainDatastoreNotFound  No existing datastore could be matched to a fault domain.
DomainNotFound No storage container could be matched to a fault domain. A storage container links the domain to its datastore.
DomainPeerNotFound  Domains does not have their peer domains reported by the paired SRM. One of the reasons may be no VASA provider is registered at the paired site.
DomainReplicationGroupNotFound Replication group is part of a protection group but could not be found in the configuration.
DomainScNotFound No storage container could be matched to a fault domain. The storage container links the domain to its datastore.
DuplicateArray There is already another array manager that discovered a given array.
DuplicateName Call is unable to determine which object to use due to name conflict.
GroupProtectionOverlapped Thrown when more than one protection group contain VMs replicated by the same vVol replication groups. If recovery is started in this situation, all colocated VMs might be broken. To resolve this make sure that all VMs located on a certain replication group are protected by the same protection group.
GroupStateMissmatch Sate of the protection group does not match the state of a replication group protected by it. This is possible when the replication group state is changed by an external tool. The error can be corrected by restoring the replication group to the expected state using the storage array instruments and tools.
GroupTargetsNotFound Target replication groups cannot be found. This occurs when the group is not in the correct state. Check storage policy assignment.
IllegalMove Thrown when a folder is moved to an invalid place in the folder hierarchy. This can be because the move would create a cycle or the destination is the wrong kind of container.
ImmutableFolder Thrown when an operation is attempted upon a Folder that cannot be changed. For example, moving or deleting the root folder.
InsufficientLicensesFault Thrown by a method that cannot acquire licenses for the object to create.
InternalError An internal error occurred that cannot be described by a more specific fault or if the hbr provider cannot be found(null reference).
InvalidAdapterConnectionSpec An AdapterConnectionSpec doesn't match the corresponding AdapterConnectionPrompt defined by the SRA.
InvalidArgument Base class for invalid argument exceptions. Thrown if the username format invalid, or user or user group does not exist, or if the user is a global vCenter administrator, or if the name of the protection group is empty or if the list of virtual machines is empty or null.
InvalidFolder Thrown when a node is moved to an invalid place in the hierarchy. This can be because it is a child of the current node, or a wrong kind of container.
InvalidLogin Cannot complete login due to an incorrect user name or password.
InvalidPrimaryFolder Thrown for an attempt to create a primary site folder that cannot contain VMs.
InvalidPrimaryNetwork Invalid primary network specified for mapping, such as uplink DVPortgroup
InvalidSecondaryFolder Thrown for an attempt to create a secondary site folder that cannot contain VMs.
InvalidSecondaryNetwork Invalid secondary network specified for mapping (such as uplink DVPortgroup)
InvalidState Base class for invalid state exceptions
InvalidTokenLifetime SSO token is either expired or not yet valid. This exception is generally thrown if there is a time skew between the local clock and the SSO server. This exception is not supported from methods with version prior to 8. However it is translated to Vim::Fault::InvalidLogin::Exception.
IpMappingFault A base class for all IpMapping related faults. Thrown if problems are found while validating IP subnet mapping rules.
ManagedObjectNotFound The destination folder does not exist.
MatchingFault Reported when a device/device group cannot be matched to a peer device/device group.
MissingFolderMapping Thrown when a user attempts to protect a VM, but the folder inventory mapping for the VM is not present in the InventoryMapper.
MissingFolderAndResourcePoolMapping Thrown when a user attempts to protect a VM, but both the folder and resourcepool inventory mapping for the VM is not present in the InventoryMapper.
MissingInventoryMapping Thrown when a user attempts to protect a VM, but the inventory mappings for the VM are not present in the InventoryMapper.
MissingNetworkMapping Thrown when user attempts to add an IP mapping, but a network mapping between protectedNetwork and recoveryNetwork is missing.
MissingNetworkMappingEx Thrown when a user attempts to protect a VM, but the network inventory mapping for the VM is not present in the InventoryMapper.
MissingResourcePoolMapping Thrown when a user attempts to protect a VM, but the resourcePool inventory mapping for the VM is not present in the InventoryMapper.
MultipleFault Multiple faults occur.
NetworkNotFound Thrown if the test network mapping does not exist in the recovery plan.
NoPermission Operation denied because of a privilege not held on a managed object.
NotEmpty Thrown when an operation cannot be performed because the object is not empty.
NotSuitablePlaceholderDatastoreCluster Thrown if the Placeholder Datastore Manager determines that a datastore should not be used as a placeholder datastore because it is not visible to all hosts in the cluster.
NotSuitablePlaceholderDatastore Thrown if the Placeholder Datastore Manager determines that a datastore should not be used as a placeholder datastore for a variety of reasons, for example, it becomes replicated or is not visible to all hosts in the cluster. This fault is a parent for several other faults, which determine the exact reason why this datastore should not be used as a placeholder datastore.
NotSupported ProtectionGroup is being moved into a folder whose childType() property is not set to the appropriate value. For example, a ProtectionGroup cannot be moved into a folder whose ChildType property value does not contain "ProtectionGroup".
NotAuthenticated Operation denied because the session has not successfully logged in.
PairOperationInProgress Thrown when another pair, repair or break pairing operation is in progress and the request is rejected.
PeerArrayNotFound Thrown when peer array with specified ID not found for a storage array.
PeerDeviceGroupNotMatched Reported when a local device group cannot be matched to a remote peer device group.
PeerDeviceGroupNotStretched Reported when a local stretched device group is matched to a remote peer device group but the local device group is not stretched.
PeerDeviceGroupWithoutStaticSitePreference Reported when a local stretched device group is matched to a remote stretched peer device group but the local device group has no static site preference.
PeerDeviceNotMatched Reported when a local device cannot be matched to a remote peer device.
PeerDeviceNotStretched Reported when a local stretched device is matched to a remote peer device but the local device is not stretched.
PeerDeviceWithoutStaticSitePreference Reported when a local stretched device is matched toa remote stretched peer device but the local device has no static site preference.
ProductionVmDeleted Production VM was deleted.
PromptNotFound Thrown when a RecoveryPrompt cannot be found.
ProtectionGroupNotEmpty Thrown after attempt to remove a protection group that contains protected VMs.
ProtectionGroupNotFound Thrown when an operation on protection group cannot find the protection group.
ProtectionIssue Base class for faults describing protection group configuration issues.
ProtectionStillActive Thrown when an attempt is made to remove a Primary/SecondarySite that is being replicated from/to.
ProviderFault Thrown if either ReplicationProvider rejected the operation. This can occur when the settings are incorrect.
RecoveredDatastoreNotAvailableForPdm Thrown if the Placeholder Datastore Manager determines that a datastore should not be used as a placeholder datastore because it was recovered.
RecoveryPlanLocked An attempt was made to change a RecoveryPlan that is locked.
RecoveryPlanNotFound Thrown when the requested recovery plan was not found
RecoveryResultNotFound Thrown when a RecoveryResult cannot be found.
RemotePeerDeviceGroupNotMatched Reported when a remote device group cannot be matched to a local peer device group.
RemotePeerDeviceGroupNotStretched Reported when a local stretched device group is matched to a remote peer device group but the remote device group is not stretched.
RemotePeerDeviceGroupWithoutStaticSitePreference Reported when a local stretched device group is matched to a remote stretched peer device group but the remote device group has no static site preference.
RemotePeerDeviceNotMatched Reported when a remote device cannot be matched to a local peer device.
RemotePeerDeviceNotStretched Reported when a local stretched device is matched toa remote peer device but the remote device is not stretched.
RemotePeerDeviceWithoutStaticSitePreference Reported when a local stretched device is matched to a remote stretched peer device but the remote device has no static site preference.
RemoteSiteNotAuthenticated Thrown if the remote site or the session is not authenticated.
RemoteSiteNotEnabled An attempt was made to use a remote site that is not enabled.
RemoteSiteNotInitialized An attempt is made to use a remote site that is not initialized.
ReplicatedArrayPairAlreadyExists Thrown when a replicated array pair already exists for a pair of arrays for a given SRA.
ReplicatedDatastoreNotAvailableForPdm Thrown if the Placeholder Datastore Manager determines that a datastore should not be used as a placeholder datastore because it is replicated.
ReplicationGroupFault ExtApi representation of dr.vvolProvider.fault.ReplicationGroupFault.
ReplicationProviderFault Thrown when an unspecified error was returned from the replication provider.
SelfPairFault Thrown when an attempt to pair with ourselves was made.
SitePairingFault Thrown when one of the site pairing operations failed.
SnapshotDirectoryNotReplicated The VM's snapshot directory is not replicated.
SourceDeviceGroupsWithStaticSitePreference Reported when a local stretched device group is matched to a remote stretched peer device group but both the local device group and the remote device group have static site preference.
SourceDevicesWithStaticSitePreference Reported when a local stretched device is matched to a remote stretched peer device but both the local device and the remote device have static site preference.
StorageAdapterNotFound Thrown when storage adapter is not found.
StorageProviderFault Corresponds to dr.vvolProvider.fault.StorageProviderFault.
StretchedDeviceGroupMatchingFault Reported when a stretched device group is matched to a peer device group but only one device group is stretched.
StretchedDeviceMatchingFault Reported when a stretched device is matched to a peer device but only one device is stretched.
StringArgumentTooLong Thrown when a string argument exceeds {maxSize} characters
SuOperationInProgress Thrown when another create, update or delete solution user operation is in progress and the request is rejected.
SuspendDirectoryNotReplicated The VM's suspend directory is not replicated.
SystemError Thrown in case of internal SRM error.
TaskInProgress Array cannot be found.
TestDatastoreNotAvailableForPdm Thrown if the Placeholder Datastore Manager determines that a datastore should not be used as a placeholder datastore because it is created for test recovery.
UnableToFindPlaceholderDatastore Thrown if the Placeholder Datastore Manager is unable to find a placeholder datastore for a host or a cluster.
UnknownPrimaryFolder Secondary site tried operation on a folder that is nonexistent on primary site (protected site)
UnknownPrimaryNetwork Thrown when the secondary site tries to perform an operation involving a network that does not exist on the primary site.
UnknownSecondaryNetwork Secondary site tried operation on a network that is nonexistent on secondary site (recovery site)
UnknownPrimaryResourcePool Secondary site tried operation on resource pool that is nonexistent on primary site.
UnknownSecondaryFolder Primary site tried operation on a folder that is nonexistent on secondary site.
UnknownSecondaryNetwork Primary site tried operation on a network that is nonexistent on secondary site.
UnknownSecondaryResourcePool Primary site tried operation on resource pool that is nonexistent on secondary site.
VersionConflict Attempt to reconfigure with a changeVersion that does not match the current value.
vim.fault.ConcurrentAccess Thrown if another operation has modified the object and the change version no longer matches.
VmAlreadyProtected Thrown when a user tries to protect a VM which is already protected by SRM.
VmAlreadyProtectedEx Thrown when a user tries to protect a VM which is already protected by SRM. Contains extra info about the PG currently holding the VM protection.
VmFileNotReplicated A virtual machine file is not replicated.
VmNotFoundInRecoveryPlan Attempt to retrieve settings for virtual machine that does not exist in RecoveryPlan.
VmNotReplicated No virtual machine files are replicated. Check and fix the storage policy assignment.
VmNotSupported Thrown when the type VM used in an operation is not supported by the operation.
VmPiggybackError A virtual machine is detected on a replication group that is already protected by one of the protection groups. Either protect the VM or reconfigure it out of the replication group.
VmReconfigureRequired The virtual machine configuration has changed and reconfiguration is required. Reconfigure is started automatically without user intervention.
VmReplicationGroupError Attempting to protect a virtual machine that belongs to one replication group into a protection group that is configured to use a different set of replication groups.
VmSplitReplicated In order to guarantee the consistency, SRM protects only virtual machines replicated by a single replication group. This situation occurs when the configuration file and the virtual disk files do not share the same storage policy assignments.
VmTemplateFault vVol provider does not support protection of template VMs. This fault is throw when attempt to protect template VM with vVol provider is made.
VvolDomainFault Base class for all fault domain related VvolProvider faults.
VvolProviderFault Base class for all VvolProvider faults.
VvolVmFault Base class for all virtual machine related VvolProvider faults.
WrongDrServerFault Thrown if an attempt to repair connection of a paired SRM with wrong remote SRM.