module Fog::OpenStack::Volume::Real
no Mock
needed, test coverage in RSpec
no Mock
needed, test coverage in RSpec
no Mock
needed, test coverage in RSpec
Public Instance Methods
accept_transfer(transfer_id, auth_key)
click to toggle source
# File lib/fog/openstack/volume/requests/accept_transfer.rb, line 5 def accept_transfer(transfer_id, auth_key) data = { 'accept' => { 'auth_key' => auth_key } } request( :body => Fog::JSON.encode(data), :expects => [200, 202], :method => 'POST', :path => "os-volume-transfer/#{transfer_id}/accept" ) end
action(id, data)
click to toggle source
# File lib/fog/openstack/volume/requests/action.rb, line 5 def action(id, data) request( :body => Fog::JSON.encode(data), :expects => [200, 202], :method => 'POST', :path => "volumes/#{id}/action" ) end
create_backup(attributes)
click to toggle source
# File lib/fog/openstack/volume/requests/create_backup.rb, line 5 def create_backup(attributes) desired_options = [ :container, :name, :description, :volume_id, :incremental, :force, ] # Filter only allowed creation attributes data = { :backup => attributes.select { |key, _value| desired_options.include?(key.to_sym) } } request( :body => Fog::JSON.encode(data), :expects => [200, 202], :method => 'POST', :path => 'backups' ) end
create_transfer(volume_id, options = {})
click to toggle source
# File lib/fog/openstack/volume/requests/create_transfer.rb, line 5 def create_transfer(volume_id, options = {}) data = { 'transfer' => { 'volume_id' => volume_id } } if options[:name] data['transfer']['name'] = options[:name] end request( :body => Fog::JSON.encode(data), :expects => [200, 202], :method => 'POST', :path => 'os-volume-transfer' ) end
create_volume_type(options = {})
click to toggle source
# File lib/fog/openstack/volume/requests/create_volume_type.rb, line 5 def create_volume_type(options = {}) data = { 'volume_type' => {} } vanilla_options = [:name, :extra_specs] vanilla_options.select { |o| options[o] }.each do |key| data['volume_type'][key] = options[key] end request( :body => Fog::JSON.encode(data), :expects => [200, 202], :method => 'POST', :path => "types" ) end
delete_backup(backup_id)
click to toggle source
# File lib/fog/openstack/volume/requests/delete_backup.rb, line 5 def delete_backup(backup_id) request( :expects => 202, :method => 'DELETE', :path => "backups/#{backup_id}" ) end
delete_metadata(volume_id, key_name)
click to toggle source
# File lib/fog/openstack/volume/requests/delete_metadata.rb, line 5 def delete_metadata(volume_id, key_name) request( :expects => [200], :method => 'DELETE', :path => "volumes/#{volume_id}/metadata/#{key_name}" ) end
delete_snapshot(snapshot_id)
click to toggle source
# File lib/fog/openstack/volume/requests/delete_snapshot.rb, line 5 def delete_snapshot(snapshot_id) request( :expects => 202, :method => 'DELETE', :path => "snapshots/#{snapshot_id}" ) end
delete_snapshot_metadata(snapshot_id, key_name)
click to toggle source
# File lib/fog/openstack/volume/requests/delete_snapshot_metadata.rb, line 5 def delete_snapshot_metadata(snapshot_id, key_name) request( :expects => [200], :method => 'DELETE', :path => "snapshots/#{snapshot_id}/metadata/#{key_name}" ) end
delete_transfer(transfer_id)
click to toggle source
# File lib/fog/openstack/volume/requests/delete_transfer.rb, line 5 def delete_transfer(transfer_id) request( :expects => 202, :method => 'DELETE', :path => "os-volume-transfer/#{transfer_id}" ) end
delete_volume(volume_id)
click to toggle source
# File lib/fog/openstack/volume/requests/delete_volume.rb, line 5 def delete_volume(volume_id) request( :expects => 202, :method => 'DELETE', :path => "volumes/#{volume_id}" ) end
delete_volume_type(volume_type_id)
click to toggle source
# File lib/fog/openstack/volume/requests/delete_volume_type.rb, line 5 def delete_volume_type(volume_type_id) request( :expects => 202, :method => 'DELETE', :path => "types/#{volume_type_id}" ) end
extend_volume(volume_id, size)
click to toggle source
# File lib/fog/openstack/volume/requests/extend_volume.rb, line 5 def extend_volume(volume_id, size) body = {'os-extend' => {'new_size' => size}} request( :expects => 202, :method => 'POST', :path => "volumes/#{volume_id}/action", :body => Fog::JSON.encode(body) ) end
get_backup_details(backup_id)
click to toggle source
# File lib/fog/openstack/volume/requests/get_backup_details.rb, line 5 def get_backup_details(backup_id) request( :expects => 200, :method => 'GET', :path => "backups/#{backup_id}" ) end
get_quota(tenant_id)
click to toggle source
# File lib/fog/openstack/volume/requests/get_quota.rb, line 5 def get_quota(tenant_id) request( :expects => 200, :method => 'GET', :path => "/os-quota-sets/#{tenant_id}" ) end
get_quota_defaults(tenant_id)
click to toggle source
# File lib/fog/openstack/volume/requests/get_quota_defaults.rb, line 5 def get_quota_defaults(tenant_id) request( :expects => 200, :method => 'GET', :path => "/os-quota-sets/#{tenant_id}/defaults" ) end
get_quota_usage(tenant_id)
click to toggle source
# File lib/fog/openstack/volume/requests/get_quota_usage.rb, line 5 def get_quota_usage(tenant_id) request( :expects => 200, :method => 'GET', :path => "/os-quota-sets/#{tenant_id}?usage=True" ) end
get_snapshot_details(snapshot_id)
click to toggle source
# File lib/fog/openstack/volume/requests/get_snapshot_details.rb, line 5 def get_snapshot_details(snapshot_id) request( :expects => 200, :method => 'GET', :path => "snapshots/#{snapshot_id}" ) end
get_transfer_details(transfer_id)
click to toggle source
# File lib/fog/openstack/volume/requests/get_transfer_details.rb, line 7 def get_transfer_details(transfer_id) request( :expects => 200, :method => 'GET', :path => "os-volume-transfer/#{transfer_id}" ) end
get_volume_details(volume_id)
click to toggle source
# File lib/fog/openstack/volume/requests/get_volume_details.rb, line 5 def get_volume_details(volume_id) request( :expects => 200, :method => 'GET', :path => "volumes/#{volume_id}" ) end
get_volume_type_details(volume_type_id)
click to toggle source
# File lib/fog/openstack/volume/requests/get_volume_type_details.rb, line 5 def get_volume_type_details(volume_type_id) request( :expects => 200, :method => 'GET', :path => "types/#{volume_type_id}" ) end
list_backups(options = {})
click to toggle source
# File lib/fog/openstack/volume/requests/list_backups.rb, line 5 def list_backups(options = {}) request( :expects => 200, :method => 'GET', :path => 'backups', :query => options ) end
list_backups_detailed(options = {})
click to toggle source
# File lib/fog/openstack/volume/requests/list_backups_detailed.rb, line 5 def list_backups_detailed(options = {}) request( :expects => 200, :method => 'GET', :path => 'backups/detail', :query => options ) end
list_snapshots(options = true, options_deprecated = {})
click to toggle source
# File lib/fog/openstack/volume/requests/list_snapshots.rb, line 5 def list_snapshots(options = true, options_deprecated = {}) if options.kind_of?(Hash) path = 'snapshots' query = options else # Backwards compatibility layer, when 'detailed' boolean was sent as first param if options Fog::Logger.deprecation('Calling OpenStack[:volume].list_snapshots(true) is deprecated, use .list_snapshots_detailed instead') else Fog::Logger.deprecation('Calling OpenStack[:volume].list_snapshots(false) is deprecated, use .list_snapshots({}) instead') end path = options ? 'snapshots/detail' : 'snapshots' query = options_deprecated end request( :expects => 200, :method => 'GET', :path => path, :query => query ) end
list_snapshots_detailed(options = {})
click to toggle source
# File lib/fog/openstack/volume/requests/list_snapshots_detailed.rb, line 5 def list_snapshots_detailed(options = {}) request( :expects => 200, :method => 'GET', :path => 'snapshots/detail', :query => options ) end
list_transfers(options = {})
click to toggle source
# File lib/fog/openstack/volume/requests/list_transfers.rb, line 7 def list_transfers(options = {}) request( :expects => 200, :method => 'GET', :path => 'os-volume-transfer', :query => options ) end
list_transfers_detailed(options = {})
click to toggle source
# File lib/fog/openstack/volume/requests/list_transfers_detailed.rb, line 7 def list_transfers_detailed(options = {}) request( :expects => 200, :method => 'GET', :path => 'os-volume-transfer/detail', :query => options ) end
list_volume_types(options = {})
click to toggle source
# File lib/fog/openstack/volume/requests/list_volume_types.rb, line 5 def list_volume_types(options = {}) request( :expects => 200, :method => 'GET', :path => 'types', :query => options ) end
list_volumes(options = true, options_deprecated = {})
click to toggle source
# File lib/fog/openstack/volume/requests/list_volumes.rb, line 5 def list_volumes(options = true, options_deprecated = {}) if options.kind_of?(Hash) path = 'volumes' query = options else # Backwards compatibility layer, when 'detailed' boolean was sent as first param if options Fog::Logger.deprecation('Calling OpenStack[:volume].list_volumes(true) is deprecated, use .list_volumes_detailed instead') else Fog::Logger.deprecation('Calling OpenStack[:volume].list_volumes(false) is deprecated, use .list_volumes({}) instead') end path = options ? 'volumes/detail' : 'volumes' query = options_deprecated end request( :expects => 200, :method => 'GET', :path => path, :query => query ) end
list_volumes_detailed(options = {})
click to toggle source
# File lib/fog/openstack/volume/requests/list_volumes_detailed.rb, line 5 def list_volumes_detailed(options = {}) request( :expects => 200, :method => 'GET', :path => 'volumes/detail', :query => options ) end
list_zones(options = {})
click to toggle source
# File lib/fog/openstack/volume/requests/list_zones.rb, line 5 def list_zones(options = {}) request( :expects => 200, :method => 'GET', :path => 'os-availability-zone.json', :query => options ) end
replace_metadata(volume_id, metadata = {})
click to toggle source
# File lib/fog/openstack/volume/requests/replace_metadata.rb, line 5 def replace_metadata(volume_id, metadata = {}) data = { 'metadata' => metadata } request( :body => Fog::JSON.encode(data), :expects => [200], :method => 'PUT', :path => "volumes/#{volume_id}/metadata" ) end
restore_backup(backup_id, volume_id = nil, name = nil)
click to toggle source
# File lib/fog/openstack/volume/requests/restore_backup.rb, line 5 def restore_backup(backup_id, volume_id = nil, name = nil) data = {'restore' => {'volume_id' => volume_id, 'name' => name}} request( :expects => 202, :method => 'POST', :path => "backups/#{backup_id}/restore", :body => Fog::JSON.encode(data) ) end
set_tenant(tenant)
click to toggle source
# File lib/fog/openstack/volume/requests/set_tenant.rb, line 5 def set_tenant(tenant) @openstack_must_reauthenticate = true @openstack_tenant = tenant.to_s authenticate end
snapshot_action(id, data)
click to toggle source
# File lib/fog/openstack/volume/requests/snapshot_action.rb, line 5 def snapshot_action(id, data) request( :body => Fog::JSON.encode(data), :expects => [200, 202], :method => 'POST', :path => "snapshots/#{id}/action" ) end
update_metadata(volume_id, metadata = {})
click to toggle source
# File lib/fog/openstack/volume/requests/update_metadata.rb, line 5 def update_metadata(volume_id, metadata = {}) data = { 'metadata' => metadata } request( :body => Fog::JSON.encode(data), :expects => [200,202], :method => 'POST', :path => "volumes/#{volume_id}/metadata" ) end
update_quota(tenant_id, options = {})
click to toggle source
# File lib/fog/openstack/volume/requests/update_quota.rb, line 5 def update_quota(tenant_id, options = {}) request( :body => Fog::JSON.encode('quota_set' => options), :expects => 200, :method => 'PUT', :path => "/os-quota-sets/#{tenant_id}" ) end
update_snapshot(snapshot_id, data = {})
click to toggle source
# File lib/fog/openstack/volume/requests/update_snapshot.rb, line 5 def update_snapshot(snapshot_id, data = {}) request( :body => Fog::JSON.encode('snapshot' => data), :expects => 200, :method => 'PUT', :path => "snapshots/#{snapshot_id}" ) end
update_snapshot_metadata(snapshot_id, metadata = {})
click to toggle source
# File lib/fog/openstack/volume/requests/update_snapshot_metadata.rb, line 5 def update_snapshot_metadata(snapshot_id, metadata = {}) data = { 'metadata' => metadata } request( :body => Fog::JSON.encode(data), :expects => [200], :method => 'POST', :path => "snapshots/#{snapshot_id}/metadata" ) end
update_volume(volume_id, data = {})
click to toggle source
# File lib/fog/openstack/volume/v1/requests/update_volume.rb, line 8 def update_volume(volume_id, data = {}) request( :body => Fog::JSON.encode('volume' => data), :expects => 200, :method => 'PUT', :path => "volumes/#{volume_id}" ) end
update_volume_type(volume_type_id, options = {})
click to toggle source
# File lib/fog/openstack/volume/requests/update_volume_type.rb, line 5 def update_volume_type(volume_type_id, options = {}) data = { 'volume_type' => {} } vanilla_options = [:name, :extra_specs] vanilla_options.select { |o| options[o] }.each do |key| data['volume_type'][key] = options[key] end request( :body => Fog::JSON.encode(data), :expects => [200, 202], :method => 'PUT', :path => "types/#{volume_type_id}" ) end
Private Instance Methods
_create_snapshot(data)
click to toggle source
# File lib/fog/openstack/volume/requests/create_snapshot.rb, line 7 def _create_snapshot(data) request( :body => Fog::JSON.encode(data), :expects => [200, 202], :method => 'POST', :path => "snapshots" ) end
_create_volume(data, options = {})
click to toggle source
# File lib/fog/openstack/volume/requests/create_volume.rb, line 7 def _create_volume(data, options = {}) vanilla_options = [:snapshot_id, :imageRef, :volume_type, :source_volid, :availability_zone, :metadata, :multiattach] vanilla_options.select { |o| options[o] }.each do |key| data['volume'][key] = options[key] end request( :body => Fog::JSON.encode(data), :expects => [200, 202], :method => 'POST', :path => "volumes" ) end