lib/fog/compute/ecloud/models/ssh_keys.rb
require File.expand_path("../ssh_key", __FILE__)
module Fog
module Compute
class Ecloud
class SshKeys < Fog::Ecloud::Collection
identity :href
model Fog::Compute::Ecloud::SshKey
def all
data = service.get_ssh_keys(href).body[:SshKey] || []
load(data)
end
def get(uri)
if data = service.get_ssh_key(uri).body
new(data)
end
rescue ServiceError => e
raise e unless e.status_code == 404
nil
end
def create(options = {})
# Make sure we only pass what we should
new_options = {}
new_options[:Name] = options[:Name] unless options[:Name].nil?
new_options[:Default] = options[:Default] || false
new_options[:uri] = href + "/action/createSshKey"
data = service.ssh_key_create(new_options)
object = service.ssh_keys.new(data)
object
end
def environment_id
href.scan(/\d+/)[0]
end
end
end
end
end