class Openstack::Client::Storage
It interacts with Containers/Objects OpenStack API.
:reek: IrresponsibleModule
:reek: IrresponsibleModule
:reek: IrresponsibleModule
:reek: IrresponsibleModule
:reek: IrresponsibleModule
:reek: IrresponsibleModule
:reek: IrresponsibleModule
:reek: IrresponsibleModule
:reek: IrresponsibleModule
Attributes
authenticator[R]
container[R]
region[R]
Public Class Methods
new(authenticator:, container:, region:)
click to toggle source
# File lib/openstack/client/storage.rb, line 21 def initialize(authenticator:, container:, region:) @authenticator = authenticator @container = container @region = region end
Public Instance Methods
bulk_delete_objects(key_collection)
click to toggle source
# File lib/openstack/client/storage.rb, line 101 def bulk_delete_objects(key_collection) https_client.request( prepare_request do BulkDeleteObjects.new(uri: uri, keys: key_collection).request end ) end
create_temporary_uri(key, http_method, **options)
click to toggle source
# File lib/openstack/client/storage.rb, line 89 def create_temporary_uri(key, http_method, **options) CreateTemporaryURI.new( uri: absolute_uri(key), http_method: http_method, options: options ).generate end
delete_object(key)
click to toggle source
# File lib/openstack/client/storage.rb, line 65 def delete_object(key) https_client.request( prepare_request do DeleteObject.new(uri: absolute_uri(key)).request end ) end
get_object(key, **options)
click to toggle source
# File lib/openstack/client/storage.rb, line 35 def get_object(key, **options) https_client.request( prepare_request do GetObject.new(uri: absolute_uri(key), options: options).request end ) end
get_object_by_range(key, range, **options)
click to toggle source
# File lib/openstack/client/storage.rb, line 43 def get_object_by_range(key, range, **options) https_client.request( prepare_request do GetObjectByRange.new( uri: absolute_uri(key), range: range, options: options ).request end ) end
list_objects(**options)
click to toggle source
# File lib/openstack/client/storage.rb, line 81 def list_objects(**options) https_client.request( prepare_request do ListObjects.new(uri: uri, options: options).request end ) end
put_object(key, io, checksum: nil)
click to toggle source
# File lib/openstack/client/storage.rb, line 53 def put_object(key, io, checksum: nil) https_client.request( prepare_request do PutObject.new( io: io, uri: absolute_uri(key), checksum: checksum ).request end ) end
show_object_metadata(key)
click to toggle source
# File lib/openstack/client/storage.rb, line 73 def show_object_metadata(key) https_client.request( prepare_request do ShowObjectMetadata.new(uri: absolute_uri(key)).request end ) end
temporary_url(key, http_method, **options)
click to toggle source
# File lib/openstack/client/storage.rb, line 97 def temporary_url(key, http_method, **options) create_temporary_uri(key, http_method, options).to_s end
uri()
click to toggle source
# File lib/openstack/client/storage.rb, line 27 def uri URI(ObjectStoreURL.new( authenticator: authenticator, container: container, region: region ).call) end
Private Instance Methods
prepare_request() { || ... }
click to toggle source
# File lib/openstack/client/storage.rb, line 111 def prepare_request return unless block_given? authenticate_request do yield.tap do |request| request.add_field('Accept', 'application/json') end end