# File lib/fog/openstack/compute.rb, line 281 def initialize(options={}) @openstack_auth_token = options[:openstack_auth_token] @auth_token = options[:openstack_auth_token] @openstack_identity_public_endpoint = options[:openstack_identity_endpoint] unless @auth_token missing_credentials = Array.new @openstack_api_key = options[:openstack_api_key] @openstack_username = options[:openstack_username] missing_credentials << :openstack_api_key unless @openstack_api_key missing_credentials << :openstack_username unless @openstack_username raise ArgumentError, "Missing required arguments: #{missing_credentials.join(', ')}" unless missing_credentials.empty? end @openstack_tenant = options[:openstack_tenant] @openstack_auth_uri = URI.parse(options[:openstack_auth_url]) @openstack_management_url = options[:openstack_management_url] @openstack_must_reauthenticate = false @openstack_service_type = options[:openstack_service_type] || ['nova', 'compute'] @openstack_service_name = options[:openstack_service_name] @openstack_identity_service_type = options[:openstack_identity_service_type] || 'identity' @openstack_endpoint_type = options[:openstack_endpoint_type] || 'publicURL' @openstack_region = options[:openstack_region] @connection_options = options[:connection_options] || {} @current_user = options[:current_user] @current_tenant = options[:current_tenant] authenticate @persistent = options[:persistent] || false @connection = Fog::Connection.new("#{@scheme}://#{@host}:#{@port}", @persistent, @connection_options) end
Add an IP address on a network.
server_id <~String> - The ID of the server in which to add an IP to.
network_id <~String> - The ID of the network the IP should be on.
success <~Boolean>
# File lib/fog/openstack/requests/compute/add_fixed_ip.rb, line 12 def add_fixed_ip(server_id, network_id) body = { 'addFixedIp' => { 'networkId' => network_id } } server_action(server_id, body).status == 202 end
# File lib/fog/openstack/requests/compute/allocate_address.rb, line 6 def allocate_address(pool = nil) request( :body => Fog::JSON.encode({'pool' => pool}), :expects => [200, 202], :method => 'POST', :path => 'os-floating-ips.json' ) end
# File lib/fog/openstack/requests/compute/associate_address.rb, line 6 def associate_address(server_id, ip_address) body = { "addFloatingIp" => {"address" => ip_address}} server_action(server_id, body) end
# File lib/fog/openstack/requests/compute/attach_volume.rb, line 6 def attach_volume(volume_id, server_id, device) data = { 'volumeAttachment' => { 'volumeId' => volume_id.to_s, 'device' => device } } request( :body => Fog::JSON.encode(data), :expects => [200, 202], :method => 'POST', :path => "servers/%s/os-volume_attachments" % [server_id] ) end
# File lib/fog/openstack/requests/compute/boot_from_snapshot.rb, line 5 def boot_from_snapshot(name, image_ref, flavor_ref, options={}) data = { 'server' => { 'flavorRef' => flavor_ref, 'imageRef' => image_ref, 'name' => name } } vanilla_options = ['metadata', 'accessIPv4', 'accessIPv6', 'availability_zone', 'user_data', 'block_device_mapping', 'key_name', 'security_groups'] vanilla_options.select{|o| options[o]}.each do |key| data['server'][key] = options[key] end if options['personality'] data['server']['personality'] = [] for file in options['personality'] data['server']['personality'] << { 'contents' => Base64.encode64(file['contents']), 'path' => file['path'] } end end request( :body => Fog::JSON.encode(data), :expects => [200, 202], :method => 'POST', :path => '/os-volumes_boot.json' ) end
# File lib/fog/openstack/requests/compute/change_server_password.rb, line 6 def change_server_password(server_id, admin_password) body = { 'changePassword' => { 'adminPass' => admin_password }} server_action(server_id, body) end
# File lib/fog/openstack/requests/compute/confirm_resize_server.rb, line 6 def confirm_resize_server(server_id) body = { 'confirmResize' => nil } server_action(server_id, body, 204) end
PARAMETERS # name = Name of flavor ram = Memory in MB vcpus = Number of VCPUs disk = Size of local disk in GB swap = Swap space in MB rxtx_factor = RX/TX factor
# File lib/fog/openstack/requests/compute/create_flavor.rb, line 12 def create_flavor(attributes) # Get last flavor id flavor_ids = Array.new flavors = list_flavors_detail.body['flavors'] flavors.each do |flavor| flavor_ids << flavor['id'].to_i end # Set flavor id attributes[:flavor_id] = attributes[:flavor_id] || flavor_ids.sort.last + 1 data = { 'flavor' => { 'name' => attributes[:name], 'ram' => attributes[:ram], 'vcpus' => attributes[:vcpus], 'disk' => attributes[:disk], 'id' => attributes[:flavor_id], 'swap' => attributes[:swap], 'OS-FLV-EXT-DATA:ephemeral' => attributes[:ephemeral], 'os-flavor-access:is_public' => attributes[:is_public], 'rxtx_factor' => attributes[:rxtx_factor] } } request( :body => Fog::JSON.encode(data), :expects => 200, :method => 'POST', :path => 'flavors' ) end
# File lib/fog/openstack/requests/compute/create_image.rb, line 6 def create_image(server_id, name, metadata={}) body = { 'createImage' => { 'name' => name, 'metadata' => metadata }} data = server_action(server_id, body) image_id = data.headers["Location"].scan(/.*\/(.*)/).flatten[0] get_image_details(image_id) end
# File lib/fog/openstack/requests/compute/create_key_pair.rb, line 6 def create_key_pair(key_name, public_key = nil) data = { 'keypair' => { 'name' => key_name } } data['keypair']['public_key'] = public_key unless public_key.nil? request( :body => Fog::JSON.encode(data), :expects => 200, :method => 'POST', :path => 'os-keypairs.json' ) end
# File lib/fog/openstack/requests/compute/create_security_group.rb, line 6 def create_security_group(name, description) data = { 'security_group' => { 'name' => name, 'description' => description } } request( :body => Fog::JSON.encode(data), :expects => 200, :method => 'POST', :path => 'os-security-groups.json' ) end
# File lib/fog/openstack/requests/compute/create_security_group_rule.rb, line 6 def create_security_group_rule(parent_group_id, ip_protocol, from_port, to_port, cidr, group_id=nil) data = { 'security_group_rule' => { 'parent_group_id' => parent_group_id, 'ip_protocol' => ip_protocol, 'from_port' => from_port, 'to_port' => to_port, 'cidr' => cidr, 'group_id' => group_id } } request( :expects => 200, :method => 'POST', :body => Fog::JSON.encode(data), :path => 'os-security-group-rules.json' ) end
# File lib/fog/openstack/requests/compute/create_server.rb, line 6 def create_server(name, image_ref, flavor_ref, options = {}) data = { 'server' => { 'flavorRef' => flavor_ref, 'imageRef' => image_ref, 'name' => name } } vanilla_options = ['metadata', 'accessIPv4', 'accessIPv6', 'availability_zone', 'user_data', 'key_name', 'adminPass'] vanilla_options.select{|o| options[o]}.each do |key| data['server'][key] = options[key] end if options['security_groups'] # security names requires a hash with a name prefix data['server']['security_groups'] = Array(options['security_groups']).map do |sg| name = if sg.is_a?(Fog::Compute::OpenStack::SecurityGroup) then sg.name else sg end { :name => name } end end if options['personality'] data['server']['personality'] = [] for file in options['personality'] data['server']['personality'] << { 'contents' => Base64.encode64(file['contents']), 'path' => file['path'] } end end if options['nics'] data['server']['networks'] = Array(options['nics']).map do |nic| { 'uuid' => nic['net_id'], 'fixed_ip' => nic['v4_fixed_ip'], 'port' => nic['port_id'] } end end if options['os:scheduler_hints'] data['os:scheduler_hints'] = options['os:scheduler_hints'] end request( :body => Fog::JSON.encode(data), :expects => [200, 202], :method => 'POST', :path => 'servers.json' ) end
# File lib/fog/openstack/requests/compute/create_volume.rb, line 6 def create_volume(name, description, size, options={}) data = { 'volume' => { 'display_name' => name, 'display_description' => description, 'size' => size } } vanilla_options = ['snapshot_id'] 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 => "os-volumes" ) end
# File lib/fog/openstack/requests/compute/create_volume_snapshot.rb, line 6 def create_volume_snapshot(volume_id, name, description, force=false) data = { 'snapshot' => { 'volume_id' => volume_id, 'display_name' => name, 'display_description' => description, 'force' => force } } request( :body => Fog::JSON.encode(data), :expects => [200, 202], :method => 'POST', :path => "os-snapshots" ) end
# File lib/fog/openstack/compute.rb, line 317 def credentials { :provider => 'openstack', :openstack_auth_url => @openstack_auth_uri.to_s, :openstack_auth_token => @auth_token, :openstack_management_url => @openstack_management_url, :openstack_identity_endpoint => @openstack_identity_public_endpoint, :openstack_region => @openstack_region, :current_user => @current_user, :current_tenant => @current_tenant } end
# File lib/fog/openstack/requests/compute/delete_flavor.rb, line 5 def delete_flavor(flavor_id) request( :expects => 202, :method => 'DELETE', :path => "flavors/#{flavor_id}" ) end
# File lib/fog/openstack/requests/compute/delete_image.rb, line 6 def delete_image(image_id) request( :expects => 204, :method => 'DELETE', :path => "images/#{image_id}" ) end
# File lib/fog/openstack/requests/compute/delete_key_pair.rb, line 6 def delete_key_pair(key_name) request( :expects => 202, :method => 'DELETE', :path => "os-keypairs/#{key_name}" ) end
# File lib/fog/openstack/requests/compute/delete_meta.rb, line 7 def delete_meta(collection_name, parent_id, key) request( :expects => 204, :method => 'DELETE', :path => "#{collection_name}/#{parent_id}/metadata/#{key}" ) end
# File lib/fog/openstack/requests/compute/delete_metadata.rb, line 6 def delete_metadata(collection_name, parent_id, key) request( :expects => 204, :method => 'DELETE', :path => "#{collection_name}/#{parent_id}/metadata/#{key}" ) end
# File lib/fog/openstack/requests/compute/delete_security_group.rb, line 6 def delete_security_group(security_group_id) request( :expects => 202, :method => 'DELETE', :path => "os-security-groups/#{security_group_id}" ) end
# File lib/fog/openstack/requests/compute/delete_security_group_rule.rb, line 6 def delete_security_group_rule(security_group_rule_id) request( :expects => 202, :method => 'DELETE', :path => "os-security-group-rules/#{security_group_rule_id}" ) end
# File lib/fog/openstack/requests/compute/delete_server.rb, line 6 def delete_server(server_id) request( :expects => 204, :method => 'DELETE', :path => "servers/#{server_id}" ) end
# File lib/fog/openstack/requests/compute/delete_snapshot.rb, line 6 def delete_snapshot(snapshot_id) request( :expects => 202, :method => 'DELETE', :path => "os-snapshots/#{snapshot_id}" ) end
# File lib/fog/openstack/requests/compute/delete_volume.rb, line 6 def delete_volume(volume_id) request( :expects => 202, :method => 'DELETE', :path => "os-volumes/#{volume_id}" ) end
# File lib/fog/openstack/requests/compute/detach_volume.rb, line 6 def detach_volume(server_id, attachment_id) request( :expects => 202, :method => 'DELETE', :path => "servers/%s/os-volume_attachments/%s" % [server_id, attachment_id] ) end
# File lib/fog/openstack/requests/compute/disassociate_address.rb, line 6 def disassociate_address(server_id, ip_address) body = { "removeFloatingIp" => {"address" => ip_address}} server_action(server_id, body) end
# File lib/fog/openstack/requests/compute/get_address.rb, line 6 def get_address(address_id) request( :expects => [200], :method => 'GET', :path => "os-floating-ips/#{address_id}" ) end
# File lib/fog/openstack/requests/compute/get_console_output.rb, line 6 def get_console_output(server_id, log_length) body = { 'os-getConsoleOutput' => { 'length' => log_length } } server_action(server_id, body) end
# File lib/fog/openstack/requests/compute/get_flavor_details.rb, line 6 def get_flavor_details(flavor_ref) request( :expects => [200, 203], :method => 'GET', :path => "flavors/#{flavor_ref}.json" ) end
# File lib/fog/openstack/requests/compute/get_host_details.rb, line 6 def get_host_details(host) request( :expects => [200, 203], :method => 'GET', :path => "os-hosts/#{host}.json" ) end
# File lib/fog/openstack/requests/compute/get_image_details.rb, line 6 def get_image_details(image_id) request( :expects => [200, 203], :method => 'GET', :path => "images/#{image_id}.json" ) end
# File lib/fog/openstack/requests/compute/get_limits.rb, line 8 def get_limits request( :expects => 200, :method => 'GET', :path => '/limits.json' ) end
# File lib/fog/openstack/requests/compute/get_metadata.rb, line 6 def get_metadata(collection_name, parent_id, key) request( :expects => [200, 203], :method => 'GET', :path => "#{collection_name}/#{parent_id}/metadata/#{key}" ) end
# File lib/fog/openstack/requests/compute/get_quota.rb, line 6 def get_quota(tenant_id) request( :expects => 200, :method => 'GET', :path => "/os-quota-sets/#{tenant_id}" ) end
# File lib/fog/openstack/requests/compute/get_quota_defaults.rb, line 6 def get_quota_defaults(tenant_id) request( :expects => 200, :method => 'GET', :path => "/os-quota-sets/#{tenant_id}/defaults" ) end
# File lib/fog/openstack/requests/compute/get_security_group.rb, line 6 def get_security_group(security_group_id) request( :expects => [200], :method => 'GET', :path => "os-security-groups/#{security_group_id}" ) end
# File lib/fog/openstack/requests/compute/get_server_details.rb, line 6 def get_server_details(server_id) request( :expects => [200, 203], :method => 'GET', :path => "servers/#{server_id}.json" ) end
# File lib/fog/openstack/requests/compute/get_server_volumes.rb, line 6 def get_server_volumes(server_id) request( :expects => 200, :method => 'GET', :path => "/servers/#{server_id}/os-volume_attachments" ) end
# File lib/fog/openstack/requests/compute/get_snapshot_details.rb, line 6 def get_snapshot_details(snapshot_id) request( :expects => 200, :method => 'GET', :path => "os-snapshots/#{snapshot_id}" ) end
# File lib/fog/openstack/requests/compute/get_usage.rb, line 6 def get_usage(tenant_id, date_start, date_end) params = Hash.new params[:start] = date_start.utc.iso8601.chop! params[:end] = date_end.utc.iso8601.chop! request( :expects => [200, 203], :method => 'GET', :path => "os-simple-tenant-usage/#{tenant_id}", :query => params ) end
Get a vnc console for an instance.
server_id <~String> - The ID of the server.
console_type <~String> - Type of vnc console to get ('novnc' or 'xvpvnc').
response <~Excon::Response>:
body <~Hash>:
url <~String>
type <~String>
# File lib/fog/openstack/requests/compute/get_vnc_console.rb, line 15 def get_vnc_console(server_id, console_type) body = { 'os-getVNCConsole' => { 'type' => console_type } } server_action(server_id, body) end
# File lib/fog/openstack/requests/compute/get_volume_details.rb, line 6 def get_volume_details(volume_id) request( :expects => 200, :method => 'GET', :path => "os-volumes/#{volume_id}" ) end
# File lib/fog/openstack/requests/compute/list_address_pools.rb, line 6 def list_address_pools request( :expects => [200, 203], :method => 'GET', :path => "os-floating-ip-pools" ) end
# File lib/fog/openstack/requests/compute/list_addresses.rb, line 6 def list_addresses(server_id) request( :expects => [200, 203], :method => 'GET', :path => "servers/#{server_id}/ips.json" ) end
# File lib/fog/openstack/requests/compute/list_all_addresses.rb, line 6 def list_all_addresses request( :expects => [200, 203], :method => 'GET', :path => "os-floating-ips.json" ) end
# File lib/fog/openstack/requests/compute/list_flavors.rb, line 6 def list_flavors request( :expects => [200, 203], :method => 'GET', :path => 'flavors.json' ) end
# File lib/fog/openstack/requests/compute/list_flavors_detail.rb, line 6 def list_flavors_detail request( :expects => [200, 203], :method => 'GET', :path => 'flavors/detail.json' ) end
# File lib/fog/openstack/requests/compute/list_hosts.rb, line 6 def list_hosts request( :expects => [200, 203], :method => 'GET', :path => 'os-hosts.json' ) end
# File lib/fog/openstack/requests/compute/list_images.rb, line 6 def list_images request( :expects => [200, 203], :method => 'GET', :path => 'images.json' ) end
# File lib/fog/openstack/requests/compute/list_images_detail.rb, line 6 def list_images_detail request( :expects => [200, 203], :method => 'GET', :path => 'images/detail.json' ) end
# File lib/fog/openstack/requests/compute/list_key_pairs.rb, line 6 def list_key_pairs request( :expects => [200, 203], :method => 'GET', :path => 'os-keypairs.json' ) end
# File lib/fog/openstack/requests/compute/list_metadata.rb, line 6 def list_metadata(collection_name, parent_id) request( :expects => [200, 203], :method => 'GET', :path => "/#{collection_name}/#{parent_id}/metadata.json" ) end
# File lib/fog/openstack/requests/compute/list_private_addresses.rb, line 6 def list_private_addresses(server_id) request( :expects => [200, 203], :method => 'GET', :path => "servers/#{server_id}/ips/private.json" ) end
# File lib/fog/openstack/requests/compute/list_public_addresses.rb, line 6 def list_public_addresses(server_id) request( :expects => [200, 203], :method => 'GET', :path => "servers/#{server_id}/ips/public.json" ) end
# File lib/fog/openstack/requests/compute/list_security_groups.rb, line 6 def list_security_groups(server_id = nil) path = "os-security-groups.json" if server_id path = "servers/#{server_id}/#{path}" end request( :expects => [200], :method => 'GET', :path => path ) end
# File lib/fog/openstack/requests/compute/list_servers.rb, line 6 def list_servers(options = {}) params = Hash.new params['all_tenants'] = 'True' if options[:all_tenants] request( :expects => [200, 203], :method => 'GET', :path => 'servers.json', :query => params ) end
Available filters: name, status, image, flavor, changes_since, reservation_id
# File lib/fog/openstack/requests/compute/list_servers_detail.rb, line 7 def list_servers_detail(filters = {}) params = Hash.new filters[:all_tenants] ? params['all_tenants'] = 'True' : params = filters request( :expects => [200, 203], :method => 'GET', :path => 'servers/detail.json', :query => params ) end
# File lib/fog/openstack/requests/compute/list_snapshots.rb, line 6 def list_snapshots(detailed=true) path = detailed ? 'os-snapshots/detail' : 'os-snapshots' request( :expects => 200, :method => 'GET', :path => path ) end
# File lib/fog/openstack/requests/compute/list_tenants.rb, line 5 def list_tenants response = @identity_connection.request({ :expects => [200, 204], :headers => {'Content-Type' => 'application/json', 'Accept' => 'application/json', 'X-Auth-Token' => @auth_token}, :method => 'GET', :path => '/v2.0/tenants' }) response.body = Fog::JSON.decode(response.body) response end
# File lib/fog/openstack/requests/compute/list_usages.rb, line 6 def list_usages(date_start = nil, date_end = nil, detailed=false) params = Hash.new params[:start] = date_start.iso8601.gsub(/\+.*/, '') if date_start params[:end] = date_end.iso8601.gsub(/\+.*/, '') if date_end params[:detailed] = (detailed ? '1' : '0') if detailed request( :expects => [200, 203], :method => 'GET', :path => 'os-simple-tenant-usage', :query => params ) end
# File lib/fog/openstack/requests/compute/list_volumes.rb, line 6 def list_volumes(detailed=true) path = detailed ? 'os-volumes/detail' : 'os-volumes' request( :expects => 200, :method => 'GET', :path => path ) end
# File lib/fog/openstack/requests/compute/live_migrate_server.rb, line 6 def live_migrate_server(server_id, host, block_migration, disk_over_commit) body = { 'os-migrateLive' => { 'host' => host, 'block_migration' => block_migration, 'disk_over_commit' => disk_over_commit, } } server_action(server_id, body) end
# File lib/fog/openstack/requests/compute/migrate_server.rb, line 6 def migrate_server(server_id) body = { 'migrate' => nil } server_action(server_id, body) end
Pause the server.
server_id <~String> - The ID of the server to pause.
success <~Boolean>
# File lib/fog/openstack/requests/compute/pause_server.rb, line 11 def pause_server(server_id) body = { 'pause' => nil } server_action(server_id, body).status == 202 end
# File lib/fog/openstack/requests/compute/reboot_server.rb, line 6 def reboot_server(server_id, type = 'SOFT') body = { 'reboot' => { 'type' => type }} server_action(server_id, body) end
# File lib/fog/openstack/requests/compute/rebuild_server.rb, line 6 def rebuild_server(server_id, image_ref, name, admin_pass=nil, metadata=nil, personality=nil) body = { 'rebuild' => { 'imageRef' => image_ref, 'name' => name }} body['rebuild']['adminPass'] = admin_pass if admin_pass body['rebuild']['metadata'] = metadata if metadata if personality body['rebuild']['personality'] = [] for file in personality body['rebuild']['personality'] << { 'contents' => Base64.encode64(file['contents']), 'path' => file['path'] } end end server_action(server_id, body, 202) end
# File lib/fog/openstack/requests/compute/release_address.rb, line 6 def release_address(address_id) request( :expects => [200, 202], :method => 'DELETE', :path => "os-floating-ips/#{address_id}" ) end
# File lib/fog/openstack/compute.rb, line 328 def reload @connection.reset end
Remove an IP address.
server_id <~String> - The ID of the server in which to remove an IP from.
address <~String> - The IP address to be removed.
success <~Boolean>
# File lib/fog/openstack/requests/compute/remove_fixed_ip.rb, line 12 def remove_fixed_ip(server_id, address) body = { 'removeFixedIp' => { 'address' => address } } server_action(server_id, body).status == 202 end
# File lib/fog/openstack/compute.rb, line 332 def request(params) begin response = @connection.request(params.merge({ :headers => { 'Content-Type' => 'application/json', 'Accept' => 'application/json', 'X-Auth-Token' => @auth_token }.merge!(params[:headers] || {}), :host => @host, :path => "#{@path}/#{@tenant_id}/#{params[:path]}", :query => params[:query] })) rescue Excon::Errors::Unauthorized => error if error.response.body != 'Bad username or password' # token expiration @openstack_must_reauthenticate = true authenticate retry else # Bad Credentials raise error end rescue Excon::Errors::HTTPStatusError => error raise case error when Excon::Errors::NotFound Fog::Compute::OpenStack::NotFound.slurp(error) else error end end unless response.body.empty? response.body = Fog::JSON.decode(response.body) end response end
Rescue the server.
server_id <~String> - The ID of the server to be rescued.
success <~Boolean>
# File lib/fog/openstack/requests/compute/rescue_server.rb, line 11 def rescue_server(server_id) body = { 'rescue' => nil } server_action(server_id, body) == 202 end
# File lib/fog/openstack/requests/compute/reset_server_state.rb, line 6 def reset_server_state(server_id, status) body = { 'os-resetState' => { 'state' => status } } server_action(server_id, body, 202) end
# File lib/fog/openstack/requests/compute/resize_server.rb, line 6 def resize_server(server_id, flavor_ref) body = { 'resize' => { 'flavorRef' => flavor_ref }} server_action(server_id, body) end
Resume the server.
server_id <~String> - The ID of the server to be resumed.
success <~Boolean>
# File lib/fog/openstack/requests/compute/resume_server.rb, line 11 def resume_server(server_id) body = { 'resume' => nil } server_action(server_id, body).status == 202 end
# File lib/fog/openstack/requests/compute/revert_resize_server.rb, line 6 def revert_resize_server(server_id) body = { 'revertResize' => nil } server_action(server_id, body) end
# File lib/fog/openstack/requests/compute/server_action.rb, line 6 def server_action(server_id, body, expects=[200,202]) request( :body => Fog::JSON.encode(body), :expects => expects, :method => 'POST', :path => "servers/#{server_id}/action.json" ) end
Retrieve server actions.
server_id <~String> - The ID of the server to query for available actions.
actions <~Array>
# File lib/fog/openstack/requests/compute/server_actions.rb, line 11 def server_actions(server_id) request( :expects => 200, :method => 'GET', :path => "servers/#{server_id}/actions" ).body['actions'] end
Retrieve server diagnostics.
server_id <~String> - The ID of the server to retrieve diagnostics.
actions <~Array>
# File lib/fog/openstack/requests/compute/server_diagnostics.rb, line 11 def server_diagnostics(server_id) request( :method => 'GET', :path => "servers/#{server_id}/diagnostics" ) end
# File lib/fog/openstack/requests/compute/set_metadata.rb, line 7 def set_metadata(collection_name, parent_id, metadata = {}) request( :body => Fog::JSON.encode({ 'metadata' => metadata }), :expects => 200, :method => 'PUT', :path => "#{collection_name}/#{parent_id}/metadata" ) end
# File lib/fog/openstack/requests/compute/set_tenant.rb, line 6 def set_tenant(tenant) @openstack_must_reauthenticate = true @openstack_tenant = tenant.to_s authenticate end
Suspend the server.
server_id <~String> - The ID of the server to suspend.
success <~Boolean>
# File lib/fog/openstack/requests/compute/suspend_server.rb, line 11 def suspend_server(server_id) body = { 'suspend' => nil } server_action(server_id, body).status == 202 end
Unpause the server.
server_id <~String> - The ID of the server to unpause.
success <~Boolean>
# File lib/fog/openstack/requests/compute/unpause_server.rb, line 11 def unpause_server(server_id) body = { 'unpause' => nil } server_action(server_id, body).status == 202 end
# File lib/fog/openstack/requests/compute/update_meta.rb, line 7 def update_meta(collection_name, parent_id, key, value) request( :body => Fog::JSON.encode({ 'meta' => {key => value}}), :expects => 200, :method => 'PUT', :path => "#{collection_name}/#{parent_id}/metadata/#{key}" ) end
# File lib/fog/openstack/requests/compute/update_metadata.rb, line 7 def update_metadata(collection_name, parent_id, metadata = {}) request( :body => Fog::JSON.encode({ 'metadata' => metadata }), :expects => 200, :method => 'POST', :path => "#{collection_name}/#{parent_id}/metadata.json" ) end
# File lib/fog/openstack/requests/compute/update_quota.rb, line 6 def update_quota(tenant_id, options = {}) options['tenant_id'] = tenant_id request( :body => Fog::JSON.encode({ 'quota_set' => options }), :expects => 200, :method => 'PUT', :path => "/os-quota-sets/#{tenant_id}" ) end
# File lib/fog/openstack/requests/compute/update_server.rb, line 6 def update_server(server_id, options = {}) request( :body => Fog::JSON.encode({ 'server' => options }), :expects => 200, :method => 'PUT', :path => "servers/#{server_id}.json" ) end
Generated with the Darkfish Rdoc Generator 2.