# File lib/fog/cloudstack/models/compute/server.rb, line 42 def addresses nics.map{|nic| Address.new(nic)} end
# File lib/fog/cloudstack/models/compute/server.rb, line 46 def destroy requires :id data = connection.destroy_virtual_machine("id" => id) connection.jobs.new(data["destroyvirtualmachineresponse"]) end
# File lib/fog/cloudstack/models/compute/server.rb, line 52 def flavor connection.flavors.get(self.flavor_id) end
# File lib/fog/cloudstack/models/compute/server.rb, line 56 def ready? state == 'Running' end
# File lib/fog/cloudstack/models/compute/server.rb, line 60 def reboot requires :id data = connection.reboot_virtual_machine('id' => self.id) # FIXME: does this ever fail? connection.jobs.new(data["rebootvirtualmachineresponse"]) end
# File lib/fog/cloudstack/models/compute/server.rb, line 78 def save requires :image_id, :flavor_id, :zone_id options = { 'templateid' => image_id, 'serviceofferingid' => flavor_id, 'zoneid' => zone_id, 'networkids' => network_ids, 'diskofferingid' => disk_offering_id, 'displayname' => display_name, 'domainid' => domain_id, 'hostid' => host_id, 'ipaddress' => ip_address, 'iptonetworklist' => ip_to_network_list, 'projectid' => project_id, } options.merge!('networkids' => network_ids) if network_ids options.merge!('securitygroupids' => security_group_ids) if security_group_ids data = connection.deploy_virtual_machine(options) merge_attributes(data['deployvirtualmachineresponse']) end
# File lib/fog/cloudstack/models/compute/server.rb, line 70 def security_group_ids @security_group_ids || (self.security_group_list || []).map{|sg| sg["id"]} end
# File lib/fog/cloudstack/models/compute/server.rb, line 74 def security_groups security_group_ids.map{|id| self.connection.security_groups.get(id)} end
# File lib/fog/cloudstack/models/compute/server.rb, line 66 def security_groups=(security_groups) self.security_group_ids= Array(security_groups).map(&:id) end
# File lib/fog/cloudstack/models/compute/server.rb, line 102 def start requires :id data = connection.start_virtual_machine("id" => self.id) connection.jobs.new(data["startvirtualmachineresponse"]) end
# File lib/fog/cloudstack/models/compute/server.rb, line 108 def stop(force=false) requires :id data = connection.stop_virtual_machine("id" => self.id, "force" => force) connection.jobs.new(data["stopvirtualmachineresponse"]) end