code: def create_volume(self, availability_zone, size=None, snapshot_id=None):
          
          params = {"AvailabilityZone": availability_zone}
          if ((snapshot_id is None and size is None) or
              (snapshot_id is not None and size is not None)):
              raise ValueError("Please provide either size or snapshot_id")
          if size is not None:
              params["Size"] = str(size)
          if snapshot_id is not None:
              params["SnapshotId"] = snapshot_id
          query = self.query_factory(
              action="CreateVolume", creds=self.creds, endpoint=self.endpoint,
              other_params=params)
          d = query.submit()
          return d.addCallback(self.parser.create_volume)
docs: Create a new volume.