class Fog::Compute::DigitalOcean::Server

A DigitalOcean Droplet

Public Instance Methods

action(action_id) click to toggle source
# File lib/fog/compute/digitalocean/models/server.rb, line 89
def action(action_id)
  requires :id
  response = service.get_droplet_action(id, action_id)
  response.body
end
actions() click to toggle source
# File lib/fog/compute/digitalocean/models/server.rb, line 83
def actions
  requires :id
  response = service.list_droplet_actions id
  response.body
end
change_kernel(kernel) click to toggle source
# File lib/fog/compute/digitalocean/models/server.rb, line 139
def change_kernel(kernel)
  perform_action :change_kernel, kernel
end
delete() click to toggle source
# File lib/fog/compute/digitalocean/models/server.rb, line 69
def delete
  requires :id
  response = service.delete_server id
  response.body
end
disable_backups() click to toggle source
# File lib/fog/compute/digitalocean/models/server.rb, line 99
def disable_backups
  perform_action :disable_backups
end
enable_ipv6() click to toggle source
# File lib/fog/compute/digitalocean/models/server.rb, line 143
def enable_ipv6
  perform_action :enable_ipv6
end
enable_private_networking() click to toggle source
# File lib/fog/compute/digitalocean/models/server.rb, line 147
def enable_private_networking
  perform_action :enable_private_networking
end
ipv4_address() click to toggle source
# File lib/fog/compute/digitalocean/models/server.rb, line 42
def ipv4_address
  if (net = networks['v4'].find { |n| n['type'] == 'public' })
    net['ip_address']
  end
end
ipv6_address() click to toggle source
# File lib/fog/compute/digitalocean/models/server.rb, line 36
def ipv6_address
  if (net = networks['v6'].find { |n| n['type'] == 'public' })
    net['ip_address']
  end
end
locked?() click to toggle source
# File lib/fog/compute/digitalocean/models/server.rb, line 79
def locked?
  locked
end
password_reset() click to toggle source
# File lib/fog/compute/digitalocean/models/server.rb, line 123
def password_reset
  perform_action :password_reset
end
power_cycle() click to toggle source
# File lib/fog/compute/digitalocean/models/server.rb, line 103
def power_cycle
  perform_action :power_cycle
end
power_off() click to toggle source
# File lib/fog/compute/digitalocean/models/server.rb, line 111
def power_off
  perform_action :power_off
end
power_on() click to toggle source
# File lib/fog/compute/digitalocean/models/server.rb, line 115
def power_on
  perform_action :power_on
end
public_ip_address() click to toggle source
# File lib/fog/compute/digitalocean/models/server.rb, line 32
def public_ip_address
  ipv4_address
end
ready?() click to toggle source
# File lib/fog/compute/digitalocean/models/server.rb, line 75
def ready?
  status == 'active'
end
reboot() click to toggle source
# File lib/fog/compute/digitalocean/models/server.rb, line 95
def reboot
  perform_action :reboot_server
end
rebuild(image) click to toggle source
# File lib/fog/compute/digitalocean/models/server.rb, line 131
def rebuild(image)
  perform_action :rebuild, image
end
rename(name) click to toggle source
# File lib/fog/compute/digitalocean/models/server.rb, line 135
def rename(name)
  perform_action :rename, name
end
resize(resize_disk, size) click to toggle source
# File lib/fog/compute/digitalocean/models/server.rb, line 127
def resize(resize_disk, size)
  perform_action :resize, resize_disk, size
end
restore(image) click to toggle source
# File lib/fog/compute/digitalocean/models/server.rb, line 119
def restore(image)
  perform_action :restore, image
end
save() click to toggle source
# File lib/fog/compute/digitalocean/models/server.rb, line 48
def save
  raise Fog::Errors::Error.new('Re-saving an existing object may create a duplicate') if persisted?
  requires :name, :region, :size, :image

  options = {}
  if attributes[:ssh_keys]
    options[:ssh_keys] = attributes[:ssh_keys]
  elsif @ssh_keys
    options[:ssh_keys] = @ssh_keys.map(&:id)
  end

  options[:private_networking] = private_networking
  options[:backups]            = backups
  options[:ipv6]               = ipv6

  data = service.create_server(name, size, image, region, options)

  merge_attributes(data.body['droplet'])
  true
end
shutdown() click to toggle source
# File lib/fog/compute/digitalocean/models/server.rb, line 107
def shutdown
  perform_action :shutdown
end
snapshot(name) click to toggle source
# File lib/fog/compute/digitalocean/models/server.rb, line 151
def snapshot(name)
  perform_action :snapshot, name
end
upgrade() click to toggle source
# File lib/fog/compute/digitalocean/models/server.rb, line 155
def upgrade
  perform_action :upgrade
end

Private Instance Methods

perform_action(action, *args) click to toggle source

Performs a droplet action with the given set of arguments.

# File lib/fog/compute/digitalocean/models/server.rb, line 162
def perform_action(action, *args)
  requires :id
  response = service.send(action, id, *args)
  response.body
end