Class/Module Index [+]

Quicksearch

Fog::Compute::Google::Server

Public Instance Methods

destroy() click to toggle source
# File lib/fog/google/models/compute/server.rb, line 18
def destroy
  requires :name
  service.delete_server(name)
end
image() click to toggle source
# File lib/fog/google/models/compute/server.rb, line 23
def image
  service.get_image(self.image_name.split('/')[-1])
end
public_ip_address() click to toggle source
# 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
ready?() click to toggle source
# 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
save() click to toggle source
# 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
setup(credentials = {}) click to toggle source
# 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
sshable?(options={}) click to toggle source
# 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
zone() click to toggle source
# File lib/fog/google/models/compute/server.rb, line 42
def zone
  service.get_zone(self.zone_name.split('/')[-1])
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.