class Knife::Clc::CloudExtensions::CloudAdapter

Attributes

connection[R]

Public Class Methods

new(params) click to toggle source
Calls superclass method
# File lib/knife-clc/cloud_extensions/cloud_adapter.rb, line 7
def initialize(params)
  @connection = params.fetch(:connection)
  super(@connection)
end

Public Instance Methods

ensure_server_powered_on(server) click to toggle source
# File lib/knife-clc/cloud_extensions/cloud_adapter.rb, line 17
def ensure_server_powered_on(server)
  return unless server['details']['powerState'] == 'stopped'
  links = connection.power_on_server(server['id'])
  connection.wait_for(links['operation']['id'])
end
get_private_ip(server) click to toggle source
# File lib/knife-clc/cloud_extensions/cloud_adapter.rb, line 23
def get_private_ip(server)
  private_ips = server['details']['ipAddresses'].map { |addr| addr['internal'] }.compact
  private_ips.first
end
get_public_ip(server) click to toggle source
# File lib/knife-clc/cloud_extensions/cloud_adapter.rb, line 28
def get_public_ip(server)
  public_ips = server['details']['ipAddresses'].map { |addr| addr['public'] }.compact
  public_ips.first
end
get_server_credentials(server) click to toggle source
# File lib/knife-clc/cloud_extensions/cloud_adapter.rb, line 12
def get_server_credentials(server)
  creds_link = server['links'].find { |link| link['rel'] == 'credentials' }
  connection.follow(creds_link) if creds_link
end