# File lib/fog/google/models/compute/server.rb, line 18 def destroy requires :name service.delete_server(name) end
# File lib/fog/google/models/compute/server.rb, line 23 def image service.get_image(self.image_name.split('/')[-1]) end
# File lib/fog/google/models/compute/server.rb, line 27 def public_ip_address if self.network_interfaces.count self.network_interfaces[0]["networkIP"] else nil end end
# File lib/fog/google/models/compute/server.rb, line 35 def ready? data = service.get_server(self.name, self.zone_name).body data['zone_name'] = self.zone_name self.merge_attributes(data) self.state == RUNNING_STATE end
# File lib/fog/google/models/compute/server.rb, line 46 def save requires :name requires :image_name requires :machine_type requires :zone_name data = service.insert_server( name, image_name, zone_name, machine_type) data = service.get_server(self.name, self.zone_name).body service.servers.merge_attributes(data) end
# File lib/fog/google/models/compute/server.rb, line 62 def setup(credentials = {}) requires :public_ip_address, :public_key, :username service.set_metadata(self.instance, self.zone, {'sshKeys' => self.public_key }) rescue Errno::ECONNREFUSED sleep(1) retry end
# File lib/fog/google/models/compute/server.rb, line 70 def sshable?(options={}) service.set_metadata(self.instance, self.zone, {'sshKeys' => self.public_key }) ready? && !public_ip_address.nil? && public_key && metadata['sshKeys'] rescue SystemCallError, Net::SSH::AuthenticationFailed, Timeout::Error false end
Generated with the Darkfish Rdoc Generator 2.