EMC ViPR REST API

Search (SHIFT+S)

API Reference


Update Block Virtual Pool With Assigned Pools

PUT /block/vpools/{id}/assign-matched-pools

This method allows a user to update assigned matched pools.

id

Required Roles

Requires one of the following roles:

  • SYSTEM_ADMIN
  • RESTRICTED_SYSTEM_ADMIN

Request Payload

All parameters are required unless otherwise stated.

Field Description Type Notes
<vpool_pool_update>
<assigned_pool_changes>    
<add>    
<storage_pool> The list of storage pools to be added to or removed from the virtual pool String 0-* Elements
</add>      
<remove>    
<storage_pool> The list of storage pools to be added to or removed from the virtual pool String 0-* Elements
</remove>      
</assigned_pool_changes>      
</vpool_pool_update>

Response Body

VirtualPool details

Field Description Type Notes
<block_vpool>
<auto_tiering_policy_name> Name of the auto tier policy for the virtual pool. String
<drive_type> The supported disk drive type for the virtual pool. Valid values: NONE = No specific drive type SSD = Solid State Drive FC = Fibre Channel SAS = Serial Attached SCSI SATA = Serial Advanced Technology Attachment String
<expandable> Specifies whether or not volumes can be expanded. Boolean
<fast_expansion> Indicates that virtual pool volumes should use concatenated meta volumes, not striped. Boolean
<high_availability>    
<type> The high availability type. Valid values: vplex_local vplex_distributed String
<ha_varray_vpool>    
<varray> The virtual array. URI
<vpool> The virtual pool. URI
<activeProtectionAtHASite> Indicates whether or not to use the HA side of the VPlex as the RecoverPoint protected site in an RP+VPLEX setup. In a MetroPoint context, if true, this field indicates that the HA VPlex site will be the active site. Boolean
</ha_varray_vpool>      
<metroPoint> Flag to specify whether or not MetroPoint configuration will be used. Boolean
<autoCrossConnectExport> Flag to specify whether to automatically export both VPlex Clusters to cross-connected hosts. Boolean
</high_availability>      
<thin_volume_preallocation_percentage> The preallocation size for VMAX thin volumes. Integer
<multi_volume_consistency> Specifies whether or not multi-volume consistency is supported for the virtual pool. Boolean
<protection>    
<continuous_copies>    
<max_native_continuous_copies> The maximum number of continuous copies for a virtual pool. Integer
<protection_mirror_vpool> The virtual pool for protection mirrors. URI
<haMaxMirrors> Integer
<ha_protection_mirror_vpool> The virtual pool for protection mirrors on the High Availability side. URI
</continuous_copies>      
<recoverpoint>    
<copies>
<protection_varray_vpool>     0-* Elements
<varray> The virtual array. URI
<vpool> The virtual pool. URI
<policy>    
<journal_size> The journal size for a protection copy. String
<journal_varray> The journal virtual array for a protection copy. URI
<journal_vpool> The journal virtual pool for a protection copy. URI
</policy>      
</protection_varray_vpool>      
</copies>
<source_policy>    
<journal_size> The journal size for a protection source. String
<journal_varray> The journal virtual array for a protection source/active source. URI
<journal_vpool> The journal virtual pool for a protection source/active source. URI
<standby_journal_varray> The journal virtual array for stand-by source. URI
<standby_journal_vpool> The journal virtual pool for stand-by source. URI
<remote_copy_mode> The remote copy mode, sync or async Valid value: ASYNCHRONOUS = RecoverPoint CG will be in Asynchronous mode (default) SYNCHRONOUS = RecoverPoint CG will be in Synchronous mode String
<rpo_value> RPO value sent to RP Long
<rpo_type> Type of RPO unit Valid values: SECONDS MINUTES HOURS WRITES BYTES KB MB GB TB String
</source_policy>      
</recoverpoint>      
<remote_copies>    
<remote_copy_settings>
<remote_copy_setting>     0-* Elements
<varray> URI
<vpool> URI
<remote_copy_mode> String
</remote_copy_setting>      
</remote_copy_settings>
</remote_copies>      
<snapshots>    
<max_native_snapshots> The maximum snapshots. Integer
</snapshots>      
</protection>      
<raid_levels>
<raid_level> String 0-* Elements
</raid_levels>
<unique_auto_tier_policy_names> Specifies whether or not unique auto tier policy names are required. Boolean
<max_paths> Number of max paths supported by this virtual pool. Integer
<min_paths> Integer
<paths_per_initiator> Number of paths to be provisioned per initiator. Integer
<compression_enabled> Boolean
<host_io_limit_bandwidth> Integer
<host_io_limit_iops> Integer
<dedup_capable> Boolean
<placement_policy> Resource placement policy used by the virtual pool. Valid values: default_policy (storage system/pool selection based on metrics and capacity) array_affinity (storage system/pool selection based on host/cluster's array affinity first, then metrics and capacity) String
<type> Virtual pool storage resource type. Valid values: block = Volume file = File System object = Object Store String
<description> User defined description for this virtual pool. String
<provisioning_type> Storage type provisioned for this virtual pool. String
<protocols>
<protocol> String 0-* Elements
</protocols>
<system_type> The supported system type for the virtual pool. Valid values: NONE vnxblock (Block) vmax (Block) vnxfile (File) isilon (File) netapp (File) String
<num_paths> Integer
<num_resources> Number of resources provisioned to this ViPR using this virtual pool. Integer
<varrays>
<varray>     0-* Elements
<id> ViPR ID of the related object URI
<link> A hyperlink to the related object
</varray>      
</varrays>
<use_matched_pools> Determines if matched or valid assigned pools are returned from command to retrieve the list of storage pools. Boolean
<assigned_storage_pools>
<storage_pool>     0-* Elements
<id> ViPR ID of the related object URI
<link> A hyperlink to the related object
</storage_pool>      
</assigned_storage_pools>
<invalid_matched_pools>
<storage_pool>     0-* Elements
<id> ViPR ID of the related object URI
<link> A hyperlink to the related object
</storage_pool>      
</invalid_matched_pools>
<matched_storage_pools>
<storage_pool>     0-* Elements
<id> ViPR ID of the related object URI
<link> A hyperlink to the related object
</storage_pool>      
</matched_storage_pools>
<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
</block_vpool>

Examples

Request
PUT https://192.168.0.0:4443/block/vpools/urn:storageos:VirtualPool:435a1c41-bb29-4c47-aacf-a2e40218647f:/assign-matched-pools HTTP/1.1

Content-Type: application/xml
X-SDS-AUTH-TOKEN: <AUTH_TOKEN>

<?xml version="1.0" encoding="UTF-8"?>
<vpool_pool_update>
   <assigned_pool_changes>
      <add>
         <storage_pool>urn:storageos:StoragePool:45bdac6e-fc2c-4a04-80d0-cf3b9a3e0e56:</storage_pool>
         <storage_pool>urn:storageos:StoragePool:7839784a-812f-4a06-b2d1-0103ef98365b:</storage_pool>
         <storage_pool>urn:storageos:StoragePool:be888581-7801-49a2-a9fa-e147a770c5e2:</storage_pool>
      </add>
   </assigned_pool_changes>
</vpool_pool_update>
Response
HTTP/1.1 200 OK
Content-Type: application/xml

<?xml version="1.0" encoding="UTF-8"?>
<block_vpool>
   <assigned_storage_pools>
      <storage_pool>
         <id>urn:storageos:StoragePool:45bdac6e-fc2c-4a04-80d0-cf3b9a3e0e56:</id>
         <link href="/vdc/storage-systems/urn:storageos:StorageSystem:f4afd0a7-d59d-4349-8cd5-f5b201a5f145:/storage-pools/urn:storageos:StoragePool:45bdac6e-fc2c-4a04-80d0-cf3b9a3e0e56:"
            rel="self"/>
      </storage_pool>
      <storage_pool>
         <id>urn:storageos:StoragePool:7839784a-812f-4a06-b2d1-0103ef98365b:</id>
         <link href="/vdc/storage-systems/urn:storageos:StorageSystem:f4afd0a7-d59d-4349-8cd5-f5b201a5f145:/storage-pools/urn:storageos:StoragePool:7839784a-812f-4a06-b2d1-0103ef98365b:"
            rel="self"/>
      </storage_pool>
      <storage_pool>
         <id>urn:storageos:StoragePool:be888581-7801-49a2-a9fa-e147a770c5e2:</id>
         <link href="/vdc/storage-systems/urn:storageos:StorageSystem:f4afd0a7-d59d-4349-8cd5-f5b201a5f145:/storage-pools/urn:storageos:StoragePool:be888581-7801-49a2-a9fa-e147a770c5e2:"
            rel="self"/>
      </storage_pool>
   </assigned_storage_pools>
   <creation_time>1380721840553</creation_time>
   <description>Virtual pool for RP FC+ISCSI</description>
   <expandable>true</expandable>
   <id>urn:storageos:VirtualPool:435a1c41-bb29-4c47-aacf-a2e40218647f:</id>
   <inactive>false</inactive>
   <invalid_matched_pools/>
   <link href="/block/vpools/urn:storageos:VirtualPool:435a1c41-bb29-4c47-aacf-a2e40218647f:"
      rel="self"/>
   </link>
   <matched_storage_pools>
      <storage_pool>
         <id>urn:storageos:StoragePool:45bdac6e-fc2c-4a04-80d0-cf3b9a3e0e56:</id>
         <link href="/vdc/storage-systems/urn:storageos:StorageSystem:f4afd0a7-d59d-4349-8cd5-f5b201a5f145:/storage-pools/urn:storageos:StoragePool:45bdac6e-fc2c-4a04-80d0-cf3b9a3e0e56:"
            rel="self"/>
         </link>
      </storage_pool>
      <storage_pool>
         <id>urn:storageos:StoragePool:7839784a-812f-4a06-b2d1-0103ef98365b:</id>
         <link href="/vdc/storage-systems/urn:storageos:StorageSystem:f4afd0a7-d59d-4349-8cd5-f5b201a5f145:/storage-pools/urn:storageos:StoragePool:7839784a-812f-4a06-b2d1-0103ef98365b:"
            rel="self"/>
         </link>
      </storage_pool>
      <storage_pool>
         <id>urn:storageos:StoragePool:be888581-7801-49a2-a9fa-e147a770c5e2:</id>
         <link href="/vdc/storage-systems/urn:storageos:StorageSystem:f4afd0a7-d59d-4349-8cd5-f5b201a5f145:/storage-pools/urn:storageos:StoragePool:be888581-7801-49a2-a9fa-e147a770c5e2:"
            rel="self"/>
         </link>
      </storage_pool>
   </matched_storage_pools>
   <name>cos_rp</name>
   <num_paths>1</num_paths>
   <protection>
      <continuous_copies>
         <max_native_continuous_copies>0</max_native_continuous_copies>
      </continuous_copies>
      <snapshots>
         <max_native_snapshots>10</max_native_snapshots>
      </snapshots>
   </protection>
   <protocols>
      <protocol>FC</protocol>
   </protocols>
   <provisioning_type>Thin</provisioning_type>
   <raid_levels/>
   <tags/>
   <type>block</type>
   <unique_auto_tier_policy_names>false</unique_auto_tier_policy_names>
   <use_matched_pools>true</use_matched_pools>
   <varrays>
      <varray>
         <id>urn:storageos:VirtualArray:3746b1cc-1980-4fe0-b897-a018ac08f224:</id>
         <link href="/vdc/varrays/urn:storageos:VirtualArray:3746b1cc-1980-4fe0-b897-a018ac08f224:"
            rel="self"/>
      </varray>
   </varrays>
</block_vpool>