Class/Module Index [+]

Quicksearch

Fog::Compute::Clodo::Server

Public Class Methods

new(attributes={}) click to toggle source
# File lib/fog/clodo/models/compute/server.rb, line 43
def initialize(attributes={})
  self.image_id   ||= attributes[:vps_os] ? attributes[:vps_os] : 666
  super attributes
end

Public Instance Methods

add_ip_address() click to toggle source
# File lib/fog/clodo/models/compute/server.rb, line 68
def add_ip_address
  service.add_ip_address(id)
end
delete_ip_address(ip_address) click to toggle source
# File lib/fog/clodo/models/compute/server.rb, line 76
def delete_ip_address(ip_address)
  service.delete_ip_address(id, ip_address)
end
destroy() click to toggle source
# File lib/fog/clodo/models/compute/server.rb, line 48
def destroy
  requires :id
  service.delete_server(id)
  true
end
image() click to toggle source
# File lib/fog/clodo/models/compute/server.rb, line 54
def image
  requires :image_id
  image_id # API does not support image details request. :-(
end
move_ip_address(ip_address) click to toggle source
# File lib/fog/clodo/models/compute/server.rb, line 72
def move_ip_address(ip_address)
  service.move_ip_address(id, ip_address)
end
password() click to toggle source
# File lib/fog/clodo/models/compute/server.rb, line 115
def password
  vps_root_pass
end
private_ip_address() click to toggle source
# File lib/fog/clodo/models/compute/server.rb, line 59
def private_ip_address
  nil
end
public_ip_address() click to toggle source
# File lib/fog/clodo/models/compute/server.rb, line 63
def public_ip_address
  pubaddrs = addresses && addresses['public'] ? addresses['public'].select {|ip| ip['primary_ip']} : nil
  pubaddrs && !pubaddrs.empty? ? pubaddrs.first['ip'] : nil
end
ready?() click to toggle source
# File lib/fog/clodo/models/compute/server.rb, line 80
def ready?
  self.state == 'is_running'
end
reboot(type = 'SOFT') click to toggle source
# File lib/fog/clodo/models/compute/server.rb, line 84
def reboot(type = 'SOFT')
  requires :id
  service.reboot_server(id, type)
  true
end
save() click to toggle source
# File lib/fog/clodo/models/compute/server.rb, line 90
def save
  raise Fog::Errors::Error.new('Resaving an existing object may create a duplicate') if persisted?
  requires :image_id
  data = service.create_server(image_id, attributes)
  merge_attributes(data.body['server'])
  true
end
setup(credentials = {}) click to toggle source
# File lib/fog/clodo/models/compute/server.rb, line 98
def setup(credentials = {})
  requires :public_ip_address, :identity, :public_key, :username
  Fog::SSH.new(public_ip_address, username, credentials).run([
    %{mkdir .ssh},
    %{echo "#{public_key}" >> ~/.ssh/authorized_keys},
    %{passwd -l #{username}},
    %{echo "#{Fog::JSON.encode(attributes)}" >> ~/attributes.json},
  ])
rescue Errno::ECONNREFUSED
  sleep(1)
  retry
end
ssh(commands) click to toggle source
# File lib/fog/clodo/models/compute/server.rb, line 111
def ssh(commands)
  super(commands, password ? {:password => password} : {})
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.