Method: Deltacloud::Drivers::Openstack::OpenstackDriver#create_blob

Defined in:
lib/deltacloud/drivers/openstack/openstack_driver.rb

#create_blob(credentials, bucket, blob, data, opts = {}) ⇒ Object



302
303
304
305
306
307
308
309
310
311
312
313
# File 'lib/deltacloud/drivers/openstack/openstack_driver.rb', line 302

def create_blob(credentials, bucket, blob, data, opts={})
  os = new_client(credentials, "object-store")
  safely do
    if(opts[:segment_manifest]) # finalize a segmented blob upload
      os_blob = os.container(bucket).create_object(blob, {:manifest=>"#{bucket}/#{opts[:segmented_blob_id]}"})
    else
      BlobHelper.(opts, "X-Object-Meta-")
      os_blob = os.container(bucket).create_object(blob, {:content_type=> data[:type], :metadata=>opts}, data[:tempfile])
    end
    convert_blob(os_blob, bucket)
  end
end