class Fog::Proxmox::Compute::Servers
Servers Collection
Public Instance Methods
all(options = {})
click to toggle source
# File lib/fog/compute/proxmox/models/servers.rb, line 66 def all(options = {}) body_params = options.merge(node: node_id, type: type) load service.list_servers(body_params) end
containers?()
click to toggle source
# File lib/fog/compute/proxmox/models/servers.rb, line 45 def containers? type == 'lxc' end
create(new_attributes = {})
click to toggle source
# File lib/fog/compute/proxmox/models/servers.rb, line 71 def create(new_attributes = {}) object = new(new_attributes.select { |key, _value| [:node_id, :vmid, :type].include? key.to_sym }) object.save(new_attributes.reject { |key, _value| [:node_id, :vmid, :type].include? key.to_sym }) object end
get(id)
click to toggle source
# File lib/fog/compute/proxmox/models/servers.rb, line 49 def get(id) path_params = { node: node_id, type: type, vmid: id } begin status_data = service.get_server_status path_params config_data = service.get_server_config path_params rescue => e if e.respond_to?('response') && e.response.respond_to?('data') && e.response.data.has_key?(:reason_phrase) && e.response.data[:reason_phrase].end_with?('does not exist') raise(Fog::Errors::NotFound) else raise(e) end else data = status_data.merge(config_data).merge(node: node_id, vmid: id) new(data) end end
id_valid?(vmid)
click to toggle source
# File lib/fog/compute/proxmox/models/servers.rb, line 38 def id_valid?(vmid) service.next_vmid(vmid: vmid) true rescue Excon::Errors::BadRequest false end
new(new_attributes = {})
click to toggle source
Calls superclass method
# File lib/fog/compute/proxmox/models/servers.rb, line 30 def new(new_attributes = {}) super({ node_id: node_id, type: type }.merge(new_attributes)) end
next_id()
click to toggle source
# File lib/fog/compute/proxmox/models/servers.rb, line 34 def next_id service.next_vmid end