# File lib/fog/rackspace/requests/block_storage/create_volume.rb, line 27
        def create_volume(size, options = {})
          if size < 1 && !options[:snapshot_id]
            raise Fog::Rackspace::BlockStorage::BadRequest
          elsif size < 100 || size > 1024
            raise Fog::Rackspace::BlockStorage::BadRequest.new("'size' parameter must be between 100 and 1024")
          else
            volume_id         = Fog::Rackspace::MockData.uuid
            name              = options[:display_name] || "test volume"
            description       = options[:display_description] || "description goes here"
            volume_type       = options[:volume_type] || "SATA"

            volume = {
              "id"                  => volume_id,
              "display_name"        => name,
              "display_description" => description,
              "size"                => size,
              "status"              => "available",
              "volume_type"         => volume_type,
              "snapshot_id"         => nil,
              "attachments"         => [],
              "created_at"          => Fog::Rackspace::MockData.zulu_time,
              "availability_zone"   => "nova",
              "metadata"            => {},
            }
            if options[:snapshot_id]
              snapshot = self.data[:snapshots][snapshot_id]
              volume.merge!("size" => snapshot["size"])
            end

            self.data[:volumes][volume_id] = volume

            response(:body => {"volume" => volume})
          end
        end