class Fog::Compute::Softlayer::Servers
Public Instance Methods
all()
click to toggle source
# File lib/fog/softlayer/models/compute/servers.rb, line 18 def all data = service.list_servers load(data) end
bootstrap(options={})
click to toggle source
# File lib/fog/softlayer/models/compute/servers.rb, line 58 def bootstrap(options={}) server = service.create(options) server.wait_for { ready? } server end
get(identifier)
click to toggle source
Get a SoftLayer server.
# File lib/fog/softlayer/models/compute/servers.rb, line 26 def get(identifier) return nil if identifier.nil? || identifier == "" response = service.get_vm(identifier) bare_metal = false if response.status == 404 # we didn't find it as a VM, look for a BMC server response = service.get_bare_metal_server(identifier) bare_metal = true end data = response.body data['bare_metal'] = bare_metal new.merge_attributes(data) rescue Excon::Errors::NotFound nil end
get_available_preset_codes()
click to toggle source
# File lib/fog/softlayer/models/compute/servers.rb, line 82 def get_available_preset_codes service.get_available_preset_codes.body['fixedConfigurationPresets'].map { |item| { :desc => item['preset']['description'], :key => item['preset']['keyName'] } } end
get_bm_create_options()
click to toggle source
# File lib/fog/softlayer/models/compute/servers.rb, line 74 def get_bm_create_options service.get_bare_metal_create_options.body end
get_by_ip(ip)
click to toggle source
Get a SoftLayer server by ip.
# File lib/fog/softlayer/models/compute/servers.rb, line 43 def get_by_ip(ip) return nil if ip.blank? response = service.get_virtual_guest_by_ip(ip) bare_metal = false if response.status == 404 # we didn't find it as a VM, look for a BMC server response = service.get_bare_metal_server_by_ip(ip) bare_metal = true end data = response.body data['bare_metal'] = bare_metal new.merge_attributes(data) rescue Excon::Errors::NotFound nil end
get_vm_create_options()
click to toggle source
# File lib/fog/softlayer/models/compute/servers.rb, line 78 def get_vm_create_options service.get_virtual_guest_create_options.body end
tagged_with(tags)
click to toggle source
# File lib/fog/softlayer/models/compute/servers.rb, line 64 def tagged_with(tags) raise ArgumentError, "Tags argument for #{self.class.name}##{__method__} must be Array." unless tags.is_a?(Array) ids = service.get_references_by_tag_name(tags.join(',')).body.map do |tag| tag['references'].map do |ref| ref['resourceTableId'] end end.flatten.uniq ids.map { |id| get(id) } end