def create_snapshot_of_volume_set(name, copy_of_name, optional = nil)
      begin
        @volume_set.create_snapshot_of_volume_set(name, copy_of_name, optional)
      rescue => ex
        Util.log_exception(ex, caller_locations(1, 1)[0].label)
        raise ex
      end
    end
def create_snapshot_of_volume_set(name, copy_of_name, optional = nil)
      begin
        @volume_set.create_snapshot_of_volume_set(name, copy_of_name, optional)
      rescue => ex
        Util.log_exception(ex, caller_locations(1, 1)[0].label)
        raise ex
      end
    end
Creates a snapshot of an existing VolumeSet

 ==== Attributes

 * name: Name of the Snapshot. The vvname pattern is described in "VV Name Patterns" in the HPE 3PAR Command Line Interface Reference, which is available at the following website: http://www.hp.com/go/storage/docs
      type name: String
 * copy_of_name: the name of the parent volume
      type copy_of_name: String
 * comment: the comment on the vv set
      type comment: String
 * optional: Hash of optional params
      type optional: Hash
      optional = {
       'id' => 12,                   # Specifies ID of the volume set
                                     # set, next by default
      'comment' => "some comment",
      'readOnly' => true,            # Read Only
      'expirationHours' => 36,       # time from now to expire
      'retentionHours' => 12         # time from now to expire
      }

 ==== Raises

 * Hpe3parSdk::HTTPBadRequest
        - INVALID_INPUT_VV_PATTERN - Invalid volume pattern specified
 * Hpe3parSdk::HTTPNotFound
        - NON_EXISTENT_SET - The set does not exists.
 * Hpe3parSdk::HTTPNotFound
        - EMPTY_SET - The set is empty
 * Hpe3parSdk::HTTPServiceUnavailable
        - VV_LIMIT_REACHED - Maximum number of volumes reached
 * Hpe3parSdk::HTTPNotFound
        - NON_EXISTENT_VOL - The storage volume does not exist
 * Hpe3parSdk::HTTPForbidden
        - VV_IS_BEING_REMOVED - The volume is being removed
 * Hpe3parSdk::HTTPForbidden
        - INV_OPERATION_VV_READONLY_TO_READONLY_SNAP - Creating a read-only copy from a read-only volume is not permitted
 * Hpe3parSdk::HTTPConflict
        - NO_SNAP_CPG - No snapshot CPG has been configured for the volume
 * Hpe3parSdk::HTTPBadRequest
        - INV_INPUT_DUP_NAME - Invalid input (duplicate name).
 * Hpe3parSdk::HTTPForbidden
        - INV_OPERATION_VV_SNAP_PARENT_SAME_BASE - Two parent snapshots share the same base volume
 * Hpe3parSdk::HTTPConflict
        - INV_OPERATION_VV_ONLINE_COPY_IN_PROGRESS - Invalid operation. Online copyis in progress
 * Hpe3parSdk::HTTPServiceUnavailable
        - VV_ID_LIMIT_REACHED - Max number of volumeIDs has been reached
 * Hpe3parSdk::HTTPNotFound
        - NON_EXISTENT_VOLUME - The volume does not exists
 * Hpe3parSdk::HTTPForbidden
        - VV_IN_STALE_STATE - The volume is in a stale state.
 * Hpe3parSdk::HTTPForbidden
        - VV_NOT_STARTED - Volume is not started
 * Hpe3parSdk::HTTPForbidden
        - VV_UNAVAILABLE - The volume is not accessible
 * Hpe3parSdk::HTTPServiceUnavailable
        - SNAPSHOT_LIMIT_REACHED - Max number of snapshots has been reached
 * Hpe3parSdk::HTTPServiceUnavailable
        - CPG_ALLOCATION_WARNING_REACHED - The CPG has reached the allocation warning
 * Hpe3parSdk::HTTPConflict
        - INV_OPERATION_VV_VOLUME_CONV_IN_PROGRESS - Invalid operation: VV conversion is in progress.
 * Hpe3parSdk::HTTPForbidden
        - INV_OPERATION_VV_CLEANUP_IN_PROGRESS - Internal volume cleanup is in progress.
 * Hpe3parSdk::HTTPForbidden
        - INV_OPERATION_VV_PEER_VOLUME - Cannot modify a peer volume.
 * Hpe3parSdk::HTTPConflict
        - INV_OPERATION_VV_VOLUME_CONV_IN_PROGRESS - INV_OPERATION_VV_ONLINE_COPY_IN_PROGRESS  - The volume is the target of an online copy.
 * Hpe3parSdk::HTTPForbidden
        - INV_OPERATION_VV_INTERNAL_VOLUME - Illegal op on internal vol
 * Hpe3parSdk::HTTPConflict
        - EXISTENT_ID - An ID exists
 * Hpe3parSdk::HTTPForbidden
        - INV_OPERATION_VV_NOT_IN_NORMAL_STATE - Volume state is not normal
 * Hpe3parSdk::HTTPForbidden
        - VV_IN_INCONSISTENT_STATE - Internal inconsistency error in vol
 * Hpe3parSdk::HTTPBadRequest
        - INVALID_INPUT_VV_PATTERN - - INV_INPUT_RETAIN_GT_EXPIRE - Retention time is greater than expiration time.
 * Hpe3parSdk::HTTPBadRequest
        - INV_INPUT_TIME - Invalid time specified.
 * Hpe3parSdk::HTTPForbidden
        - INV_OPERATION_SNAPSHOT_NOT_SAME_TYPE - Some snapshots in the volume set are read-only, some are read-write