code: def create_volume(self, size, zone, snapshot=None):
          
          if isinstance(zone, Zone):
              zone = zone.name
          params = {'AvailabilityZone' : zone}
          if size:
              params['Size'] = size
          if snapshot:
              if isinstance(snapshot, Snapshot):
                  snapshot = snapshot.id
              params['SnapshotId'] = snapshot
          return self.get_object('CreateVolume', params, Volume, verb='POST')
docs: Create a new EBS Volume.
  
          :type size: int
          :param size: The size of the new volume, in GiB
  
          :type zone: string or :class:`boto.ec2.zone.Zone`
          :param zone: The availability zone in which the Volume will be created.
  
          :type snapshot: string or :class:`boto.ec2.snapshot.Snapshot`
          :param snapshot: The snapshot from which the new Volume will be created.