'Create a new drive.
:param name: Drive name.
:type name: ``str``
:param size: Drive size in bytes.
:type size: ``int``
:param media: Drive media type (cdrom, disk).
:type media: ``str``
:param ex_avoid: A list of other drive uuids to avoid when
creating this drive. If provided, drive will
attempt to be created on a different
physical infrastructure from other drives
specified using this argument. (optional)
:type ex_avoid: ``list``
:return: Created drive object.
:rtype: :class:`.CloudSigmaDrive`'

def ex_create_drive(self, name, size, media='disk', ex_avoid=None):

    params = {}
    data = {'name': name, 'size': size, 'media': media}
    if ex_avoid:
        params['avoid'] = ','.join(ex_avoid)
    action = '/drives/'
    response = self.connection.request(action=action, method='POST', params=params, data=data).object
    drive = self._to_drive(data=response['objects'][0])
    return drive
