EMC ViPR REST API

Search (SHIFT+S)

API Reference


Create Snapshot Session

POST /block/volumes/{id}/protection/snapshot-sessions

Create an array snapshot of the volume with the passed Id. Creating a snapshot session simply creates and array snapshot point-in-time copy of the volume. It does not automatically create a single target volume and link it to the array snapshot as is done with the existing create snapshot API. It allows array snapshots to be created with out any linked target volumes, or multiple linked target volumes depending on the data passed in the request. This API is only supported on a limited number of platforms that support this capability.

idThe URI of a ViPR Volume.

Required Roles

  • TENANT_ADMIN

Prerequisites

These conditions must be met before calling this operation.

  • Virtual pool for the volume must specify non-zero value for max_snapshots

Request Payload

All parameters are required unless otherwise stated.

Field Description Type Notes
<snapshot_session_create>
<name> Get the snapshot session name. String
<new_linked_targets>    
<count> Get the number of new targets to create and link to the snapshot session. Integer
<target_name> Get the name to use for the targets. String
<copy_mode> Get the copy mode for the new target volumes to be linked to the block snapshot session. A volume that is linked to a snapshot session using "copy" copy_mode and achieves the "copied" state will contain a full, usable copy of the snapshot session source device upon being unlinked from the session. This is not true for volumes linked in "nocopy" copy-mode. Valid values: copy nocopy String
</new_linked_targets>      
<volumes>
<volume> URI 0-* Elements
</volumes>
</snapshot_session_create>

Response Body

TaskList

This is an asychronous operation that returns a task object. For information on working with tasks, see Asynchronous Operations.

Field Description Type Notes
<tasks>
<task>     0-* Elements
<op_id> The task operation id String
<resource>    
<name> The name of the resource String
<id> ViPR ID of the related object URI
<link> A hyperlink to the related object
</resource>      
<tenant>    
<id> ViPR ID of the related object URI
<link> A hyperlink to the related object
</tenant>      
<associated_resources> A list of links for associated resources
<associated_resource>     0-* Elements
<name> The name of the resource String
<id> ViPR ID of the related object URI
<link> A hyperlink to the related object
</associated_resource>      
</associated_resources>
<state> The state of the task Valid values: queued = task is queued pending = task is pending ready = task succeed error = task fails suspended_error = task is suspended due to an error suspended_no_error = task is suspended due to config/request String
<allowed_operations> The allowed operations of the task String
<message> The task detail message String
<description> The description of the task String
<service_error>    
<code> The numerical code associated with the error encountered when processing a service request Integer
<description> The description of the error String
<details> Detailed information concerning the error String
</service_error>      
<start_time> The date and time of when the task was started DateTime
<end_time> The date and time of when the task ended DateTime
<progress> Integer
<workflow>    
<id> ViPR ID of the related object URI
<link> A hyperlink to the related object
</workflow>      
<queuedStartTime> DateTime
<queueName> String
<name> The name assigned to this resource in ViPR. The resource name is set by a user and can be changed at any time. It is not a unique identifier. String
<id> An identifier that is generated by ViPR when the resource is created. The resource ID is guaranteed to be unique and immutable across all virtual data centers for all time. URI
<link> A hyperlink to the details for this resource
<creation_time> A timestamp that shows when this resource was created in ViPR DateTime
<tags> Keywords and labels that can be added by a user to a resource to make it easy to find when doing a search.
<tag> String 0-* Elements
</tags>
<inactive> Whether or not the resource is inactive. When a user removes a resource, the resource is put in this state before it is removed from the ViPR database. Boolean
<global> Boolean
<remote> Boolean
<vdc>    
<id> ViPR ID of the related object URI
<link> A hyperlink to the related object
</vdc>      
<internal> Whether or not the resource is an internal resource. Boolean
</task>      
</tasks>