Managed Object - SrmProtectionGroup

Property of
SrmFaultDatastoreAlreadyProtected, SrmFaultVmAlreadyProtectedEx, SrmFaultVmNotAssociated, SrmProtectionGroupDetails, SrmProtectionGroupPeer, SrmProtectionGroupVmProtectionInfo, SrmRecoveryPlanInfo, SrmVvolFaultGroupProtectionOverlapped, SrmVvolFaultGroupStateMissmatch, SrmVvolFaultVmPiggybackError, SrmVvolUnprotectedVmInfo
Parameter to
AddProtectionGroup, CreateRecoveryPlan, RemoveProtectionGroup, RemoveProtectionGroupFromRecoveryPlan
Returned by
GetNewProtectionGroup, GetProtectionGroup, ListChildProtectionGroups, ListProtectionGroups
See also
SrmFolder, SrmProtectionGroupFolder, SrmProtectionGroupInfo, SrmProtectionGroupPeer, SrmProtectionGroupPlaceholderVmInfo, SrmProtectionGroupPlaceholderVmLocation, SrmProtectionGroupProtectedVm, SrmProtectionGroupProtectionState, SrmProtectionGroupRecoveryLocationSettings, SrmProtectionGroupVmProtectionInfo, SrmProtectionGroupVmProtectionSpec, SrmProtectionTask, SrmRecoveryPlan, SrmStorageProviderGroupDetails, SrmVvolGroupDetails
Since
SRM API 2.0


Managed Object Description

External Interface to Site Recovery Manager - Protection.

This interface works only on the locally connected site except where specified.

Properties

Name Type Description
None

Methods

Methods defined in this Managed Object
AddDatastores, AssociateVms, CheckConfigured, GetAbrGroupDetails, GetInfo, GetPeer, GetPlaceholderVmInfo, GetProtectionState, GetRecoveryLocationSettings, GetVvolGroupDetails, ListAssociatedVms, ListProtectedDatastores, ListProtectedVms, MoveProtectionGroup_Task, ProtectionGroupGetOperationalLocation, ProtectionGroupGetParentFolder, ProtectionGroupListRecoveryPlans, ProtectionGroupQueryVmProtection, ProtectVms, ReconfigureRecoveryLocationSettings_Task, ReconfigureVvolProtectionGroup, RecreatePlaceholder_Task, RemoveDatastores, UnassociateVms, UnprotectVms

AddDatastores

Adds datastores to the protection group. Virtual machines on those datastores can be additionally protected by the protection group. This can be done by calling protectVms method from this interface.
Required Privileges
VcDr.ProtectionProfile.com.vmware.vcDr.Edit
Since
SRM API 7.0

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SrmProtectionGroup used to make the method call.
datastores* Pvim.Datastore[]

The list of datastores that will be added to the protection group.

Since SRM API 7.0
*Need not be set P Required privilege: datastores

Return Value

Type Description
None

Faults

Type Description
vmodl.RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
vmodl.fault.NotSupportedThrown if this group is not array based.
vim.fault.ConcurrentAccess
SrmFaultInvalidArgumentThrown if the list of datastores is empty or null.
SrmFaultInvalidStateIn case of exception from the SRM. For example the datastore is already protected by another protection group.
SrmFaultReplicationProviderFaultGeneric fault describing if the {@code ReplicationProvider} rejected the operation.

Events

Type
None



AssociateVms

Associate the specified VMs with this group (VR only).

In order to protect a VirtualMachine, the VirtualMachine has to be associated with the group first.

Required Privileges
VcDr.ProtectionProfile.com.vmware.vcDr.Edit

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SrmProtectionGroup used to make the method call.
vms Pvim.VirtualMachine[]

The list of virtual machines to associate with.

Since SRM API 2.0
P Required privilege: vms

Return Value

Type Description
None

Faults

Type Description
vmodl.RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
vim.fault.ConcurrentAccess
SrmFaultInvalidArgumentThrown if the list of virtual machines is empty or null.
SrmFaultInvalidStateThrown if a specified VM is already associated with another group.

Events

Type
None



CheckConfigured

Checks if in this group: there are not configured VMs there are configuration issues detected since the group was created or modified there are protected VMs that needs configuration (if Placeholder VM needs repair or there are unresolved devices).
Required Privileges
System.View
Since
SRM API 5.0

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SrmProtectionGroup used to make the method call.

Return Value

Type Description
xsd:booleanReturns true if the group is configured and ready to use.

Faults

Type Description
vmodl.RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
vmodl.fault.NotSupportedThrown if this group is not a VR, SAN or a vVol group.
SrmFaultInvalidStateThrown if this group is not on the protected site and cannot get information about its remote object.

Events

Type
None



GetAbrGroupDetails

Get ABR specific details for this protection group.
Required Privileges
System.View
Since
SRM API 12.0

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SrmProtectionGroup used to make the method call.

Return Value

Type Description
SrmStorageProviderGroupDetails

Faults

Type Description
vmodl.RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
vmodl.fault.NotSupportedWhen the protection group is not a ABR group.

Events

Type
None



GetInfo

Retrieve basic information about this protection group.
Required Privileges
System.View

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SrmProtectionGroup used to make the method call.

Return Value

Type Description
SrmProtectionGroupInfoThe basic information about this group.

Faults

Type Description
vmodl.RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None



GetPeer

Retrieve the peer protection group.
Required Privileges
System.View

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SrmProtectionGroup used to make the method call.

Return Value

Type Description
SrmProtectionGroupPeerThe peer protection group from the remote site.

Faults

Type Description
vmodl.RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None



GetPlaceholderVmInfo

Return information for the placeholder VM for the specified protected VM.
Required Privileges
System.View
Since
SRM API 11.0

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SrmProtectionGroup used to make the method call.
protectedVm PSrmProtectionGroupProtectedVm

Since SRM API 11.0
P Required privilege: protectedVm

Return Value

Type Description
SrmProtectionGroupPlaceholderVmInfo

Faults

Type Description
vmodl.RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
SrmFaultInvalidArgument

Events

Type
None



GetProtectionState

Get the current state of the protection group.
Required Privileges
System.View

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SrmProtectionGroup used to make the method call.

Return Value

Type Description
SrmProtectionGroupProtectionStateThe state of the protection group.

Faults

Type Description
vmodl.RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None



GetRecoveryLocationSettings

Return the recovery location settings for the specified protected VM.
Required Privileges
System.View
Since
SRM API 11.0

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SrmProtectionGroup used to make the method call.
protectedVm PSrmProtectionGroupProtectedVm

Since SRM API 11.0
P Required privilege: protectedVm

Return Value

Type Description
SrmProtectionGroupRecoveryLocationSettings

Faults

Type Description
vmodl.RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
SrmFaultInvalidArgument

Events

Type
None



GetVvolGroupDetails

Get vVol specific details for this protection group.
Required Privileges
System.View
Since
SRM API 10.0

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SrmProtectionGroup used to make the method call.

Return Value

Type Description
SrmVvolGroupDetails

Faults

Type Description
vmodl.RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
vmodl.fault.NotSupportedWhen the protection group is not a vVol group.

Events

Type
None



ListAssociatedVms

Retrieve the list of VMs currently associated with this group (VR only).
Required Privileges
System.View

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SrmProtectionGroup used to make the method call.

Return Value

Type Description
vim.VirtualMachine[]The list of associated VMs.

Faults

Type Description
vmodl.RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None



ListProtectedDatastores

Retrieve a list of the Datastores protected by this protection group.
Required Privileges
System.View

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SrmProtectionGroup used to make the method call.

Return Value

Type Description
vim.Datastore[]An array of all datastores protected by this group.

Faults

Type Description
vmodl.RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None



ListProtectedVms

Retrieve the list of VMs currently protected in this group and information about their placeholder VM and protection state.
Required Privileges
System.View

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SrmProtectionGroup used to make the method call.

Return Value

Type Description
SrmProtectionGroupProtectedVm[]The list of protected VMs.

Faults

Type Description
vmodl.RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None



MoveProtectionGroup_Task

Moves this ProtectionGroup to a different folder.
Required Privileges
VcDr.ProtectionProfile.com.vmware.vcDr.Edit
Since
SRM API 11.0

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SrmProtectionGroup used to make the method call.
destination PManagedObjectReference
to a SrmFolder

the folder which will become the new parent folder of this group.

Since SRM API 11.0
P Required privilege: destination

Return Value

Type Description
ManagedObjectReference
to a SrmExtApiTask

Faults

Type Description
vmodl.RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None



ProtectionGroupGetOperationalLocation

Return the effective location of this protection group for the purposes of determining when various operations should be run.
Required Privileges
System.View
Since
SRM API 5.0

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SrmProtectionGroup used to make the method call.

Return Value

Type Description
xsd:string

Faults

Type Description
vmodl.RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None



ProtectionGroupGetParentFolder

Parent folder.
Required Privileges
System.View
Since
SRM API 3.0

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SrmProtectionGroup used to make the method call.

Return Value

Type Description
ManagedObjectReference
to a SrmProtectionGroupFolder

Faults

Type Description
vmodl.RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None



ProtectionGroupListRecoveryPlans

Retrieve a list of all the Recovery Plans this protection group is a member of.
Required Privileges
System.View

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SrmProtectionGroup used to make the method call.

Return Value

Type Description
ManagedObjectReference[]
to a SrmRecoveryPlan[]
All the Recovery Plans this Protection group is a member of.

Faults

Type Description
vmodl.RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None



ProtectionGroupQueryVmProtection

Determine whether the following VMs can be protected or are currently protected.

In order to protect a VirtualMachine, the VirtualMachine's folder, resource pool, and network must be mapped to the recovery site. A list of the currently configured mappings is available ListInventoryMappings

Required Privileges
System.View

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SrmProtectionGroup used to make the method call.
vms Pvim.VirtualMachine[]

The list of virtual machines to look into.

Since SRM API 2.0
P Required privilege: vms

Return Value

Type Description
SrmProtectionGroupVmProtectionInfo[]The protection status of the VMs.

Faults

Type Description
vmodl.RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
SrmFaultInvalidArgumentThrown if the list of virtual machines is empty or null.

Events

Type
None



ProtectVms

Protect the specified VMs.

In order to protect a VirtualMachine, the VirtualMachine's folder, resource pool, and network must be mapped to the recovery site. This can be done using the VmProtectionSpec#recoverySpec or use the global inventory mappings. A list of currently configured mappings is available ListInventoryMappings

Required Privileges
VcDr.ProtectionProfile.com.vmware.vcDr.Edit

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SrmProtectionGroup used to make the method call.
vms PSrmProtectionGroupVmProtectionSpec[]

The list of virtual machines to protect. If some of the virtual machines from the list or all of them are already protected, the operation will succeed.

Since SRM API 2.0
P Required privilege: vms

Return Value

Type Description
ManagedObjectReference
to a SrmProtectionTask
A task object to monitor for the status of the requested VMs.

Faults

Type Description
vmodl.RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
SrmFaultInvalidArgumentThrown if the list of virtual machines is empty or null.

If a task fails, its error field (ProtectionTask#getResult#error) may contain one of:

Events

Type
None



ReconfigureRecoveryLocationSettings_Task

Reconfigure recovery location settings for the specified protected VM. This method should be invoked on the protection site only.
Required Privileges
VcDr.ProtectionProfile.com.vmware.vcDr.Edit
Since
SRM API 11.0

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SrmProtectionGroup used to make the method call.
protectedVm PSrmProtectionGroupProtectedVm

The protected VM which settings will be updated.

Since SRM API 11.0
recoveryLocationSettings PSrmProtectionGroupRecoveryLocationSettings

The new settings to apply.

Since SRM API 11.0
PRequired privilege - see tooltip for details

Return Value

Type Description
ManagedObjectReference
to a SrmExtApiTask

Faults

Type Description
vmodl.RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
SrmFaultInvalidArgument

Events

Type
None



ReconfigureVvolProtectionGroup

Reconfigure settings for this group. For a vVol ProtectionGroup this method can reconfigure the name, description, and replication groups.

Required Privileges
VcDr.ProtectionProfile.com.vmware.vcDr.Edit
Since
SRM API 10.0

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SrmProtectionGroup used to make the method call.
name* Pxsd:string

The new name of this protection group.

Since SRM API 10.0
description* Pxsd:string

Sets a new description for this protection group.

Since SRM API 10.0
replicationGroups* Pvim.vm.replication.ReplicationGroupId[]

Replication groups that will be configured for this group.

Since SRM API 10.0
*Need not be set PRequired privilege - see tooltip for details

Return Value

Type Description
None

Faults

Type Description
vmodl.RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
vmodl.fault.NotSupportedWhen the protection group is not a vVol group.
vim.fault.ConcurrentAccess
SrmFaultDuplicateNameThrown if there are multiple protection groups that have the specified name.
SrmFaultInvalidArgumentThrown if the name parameter is empty string.
SrmFaultInvalidStateThrown if the operation is not allowed in the current state.
SrmFaultReplicationProviderFaultGeneric fault describing if the {@code ReplicationProvider} rejected the operation.
SrmFaultStringArgumentTooLongThrown if the size of either name or description of the Protection Group is too long.

Events

Type
None



RecreatePlaceholder_Task

Recreate a placeholder VM.

Called when the placeholder needs to be recreated due to one of these reasons:

  • Placeholder creation failed.
  • Placeholder was deleted.
  • Placeholder inventory was lost or needs to be reentered - one use case for this is when production vm was a template but then gets converted to a VM. This method can be called only on the recovery site. It does not need primary site to be up for succesful completion. This method requires Resource.com.vmware.vcDr.RecoveryUse on the host, resorce pool, datastore, and folder.
    Required Privileges
    VcDr.ProtectionProfile.com.vmware.vcDr.Edit
    Since
    SRM API 11.0

    Parameters

    NameTypeDescription
    _thisManagedObjectReference A reference to the SrmProtectionGroup used to make the method call.
    protectedVm PSrmProtectionGroupProtectedVm

    The protectedVm for which the placeholder VM will be recreated.

    Since SRM API 11.0
    placeholderVmLocation PSrmProtectionGroupPlaceholderVmLocation

    The new location for the placeholder VM.

    Since SRM API 11.0
    PRequired privilege - see tooltip for details

    Return Value

    Type Description
    ManagedObjectReference
    to a SrmExtApiTask

    Faults

    Type Description
    vmodl.RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
    SrmFaultInvalidArgument

    Events

    Type
    None



    RemoveDatastores

    Removes datastores from the protection group. Virtual machines on those datastore can no more be protected by the protection group.
    Required Privileges
    VcDr.ProtectionProfile.com.vmware.vcDr.Edit
    Since
    SRM API 7.0

    Parameters

    NameTypeDescription
    _thisManagedObjectReference A reference to the SrmProtectionGroup used to make the method call.
    datastores* Pvim.Datastore[]

    The list of datastores that will be added to the protection group.

    Since SRM API 7.0
    *Need not be set P Required privilege: datastores

    Return Value

    Type Description
    None

    Faults

    Type Description
    vmodl.RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
    vmodl.fault.NotSupportedThrown if this group is not array based.
    vim.fault.ConcurrentAccess
    SrmFaultInvalidArgumentThrown if the list of datastores is empty or null.
    SrmFaultInvalidStateThrown if the function tries to remove the last datastore from the protection group.
    SrmFaultReplicationProviderFaultGeneric fault describing if the {@code ReplicationProvider} rejected the operation.

    Events

    Type
    None



    UnassociateVms

    Unassociate the specified VMs with this group (VR only).
    Required Privileges
    VcDr.ProtectionProfile.com.vmware.vcDr.Edit

    Parameters

    NameTypeDescription
    _thisManagedObjectReference A reference to the SrmProtectionGroup used to make the method call.
    vms Pvim.VirtualMachine[]

    The list of virtual machines to unassociate with.

    Since SRM API 2.0
    P Required privilege: vms

    Return Value

    Type Description
    None

    Faults

    Type Description
    vmodl.RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
    vim.fault.ConcurrentAccess
    SrmFaultInvalidArgumentThrown if the list of virtual machines is empty or null.
    SrmFaultInvalidStateThrown if a specified VM is being protected or is not associated with this group.

    Events

    Type
    None



    UnprotectVms

    Unprotect the specified VMs.
    Required Privileges
    VcDr.ProtectionProfile.com.vmware.vcDr.Edit

    Parameters

    NameTypeDescription
    _thisManagedObjectReference A reference to the SrmProtectionGroup used to make the method call.
    vms Pvim.VirtualMachine[]

    The list of virtual machines to unprotect.

    Since SRM API 2.0
    P Required privilege: vms

    Return Value

    Type Description
    ManagedObjectReference
    to a SrmProtectionTask
    A task object to monitor for the status of the requested VMs.

    Faults

    Type Description
    vmodl.RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
    SrmFaultInvalidArgumentThrown if the list of virtual machines is empty or null.
    SrmFaultInvalidStateThrown if a specified VM is not being protected.

    Events

    Type
    None