'Creates a volume.
We  use the metadata of the volume to create variety volume.
Create a thin provisioned volume :
.. code:: console
create --volume-type FSS-THIN
--metadata thinsize=<thin-volume-size> volume-size
Create a LUN that is a Timeview of another LUN at a specified CDP tag:
.. code:: console
create --volume-type FSS --metadata timeview=<vid>
cdptag=<tag> volume-size
Create a LUN that is a Timeview of another LUN at a specified Timemark:
.. code:: console
create --volume-type FSS --metadata timeview=<vid>
rawtimestamp=<rawtimestamp> volume-size
Create a mirrored volume :
.. code:: console
create --volume-type FSS --metadata mirrored=true'

def create_volume(self, volume):

    volume_metadata = self._get_volume_metadata(volume)
    if (not volume_metadata):
        (volume_name, fss_metadata) = self.proxy.create_vdev(volume)
    else:
        if self.configuration.san_thin_provision:
            (volume_name, fss_metadata) = self.proxy.create_thin_vdev(volume_metadata, volume)
        elif ((('timeview' in volume_metadata) and ('cdptag' in volume_metadata)) or ('rawtimestamp' in volume_metadata)):
            (volume_name, fss_metadata) = self.proxy.create_tv_from_cdp_tag(volume_metadata, volume)
        elif ('mirrored' in volume_metadata):
            (volume_name, fss_metadata) = self.proxy.create_vdev_with_mirror(volume_metadata, volume)
        else:
            (volume_name, fss_metadata) = self.proxy.create_vdev(volume)
        fss_metadata.update(volume_metadata)
    if (type(volume['metadata']) is dict):
        fss_metadata.update(volume['metadata'])
    if volume['consistencygroup_id']:
        self.proxy._add_volume_to_consistency_group(volume['consistencygroup_id'], volume_name)
    return {'metadata': fss_metadata}
