lib/fog/compute/digitalocean/requests/get_server_details.rb
module Fog
module Compute
class DigitalOcean
class Real
def get_server_details(server_id)
request(
:expects => [200],
:method => 'GET',
:path => "/v2/droplets/#{server_id}"
)
end
end
# noinspection RubyStringKeysInHashInspection
class Mock
def get_server_details(_)
response = Excon::Response.new
response.status = 200
response.body = {
'droplet' => {
'id' => 3164494,
'name' => 'example.com',
'memory' => 512,
'vcpus' => 1,
'disk' => 20,
'locked' => false,
'status' => 'active',
'kernel' => {
'id' => 2233,
'name' => 'Ubuntu 14.04 x64 vmlinuz-3.13.0-37-generic',
'version' => '3.13.0-37-generic'
},
'created_at' => '2014-11-14T16:36:31Z',
'features' => %w(ipv6 virtio),
'backup_ids' => [],
'snapshot_ids' => [7938206],
'image' => {
'id' => 6918990,
'name' => '14.04 x64',
'distribution' => 'Ubuntu',
'slug' => 'ubuntu-14-04-x64',
'public' => true,
'regions' => %w(nyc1 ams1 sfo1 nyc2 ams2 sgp1 lon1 nyc3 ams3 nyc3),
'created_at' => '2014-10-17T20:24:33Z',
'type' => 'snapshot',
'min_disk_size' => 20
},
'size' => {},
'size_slug' => '512mb',
'networks' => {
'v4' => [
{
'ip_address' => '104.131.186.241',
'netmask' => '255.255.240.0',
'gateway' => '104.131.176.1',
'type' => 'public'
}
],
'v6' => [
{
'ip_address' => '2604:A880:0800:0010:0000:0000:031D:2001',
'netmask' => 64,
'gateway' => '2604:A880:0800:0010:0000:0000:0000:0001',
'type' => 'public'
}
]
},
'region' => {
'name' => 'New York 3',
'slug' => 'nyc3',
'sizes' => %w(32gb 16gb 2gb 1gb 4gb 8gb 512mb 64gb 48gb),
'features' => %w(virtio private_networking backups ipv6 metadata),
'available' => true
}
}
}
response
end
end
end
end
end