'Create a snapVx snapshot of a volume.
:param array: the array serial number
:param snap_name: the name of the snapshot
:param device_id: the source device id
:param extra_specs: the extra specifications'

def create_volume_snap(self, array, snap_name, device_id, extra_specs):

    payload = {'deviceNameListSource': [{'name': device_id}], 'bothSides': 'false', 'star': 'false', 'force': 'false'}
    resource_type = ('snapshot/%(snap)s' % {'snap': snap_name})
    (status_code, job) = self.create_resource(array, REPLICATION, resource_type, payload, private='/private')
    self.wait_for_job('Create    volume    snapVx', status_code, job, extra_specs)
