1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/ibm/models/compute/key.rb

36 lines
835 B
Ruby
Raw Normal View History

2012-01-10 17:20:56 -05:00
require 'fog/core/model'
module Fog
module Compute
class IBM
class Key < Fog::Model
identity :name, :aliases => 'keyName'
attribute :default
attribute :public_key, :aliases => 'keyMaterial'
attribute :instance_ids, :aliases => 'instanceIds'
attribute :modified_at, :aliases => 'lastModifiedTime'
2012-01-10 17:20:56 -05:00
def save
requires :name
2012-12-22 18:26:06 -05:00
data = service.create_key(name, public_key)
2012-01-10 17:20:56 -05:00
merge_attributes(data.body)
data.body['keyName'] == name
2012-01-10 17:20:56 -05:00
end
def destroy
2012-12-22 18:26:06 -05:00
data = service.delete_key(identity)
2012-01-10 17:20:56 -05:00
data.body['success']
end
def default?
default
end
def instances
instance_ids.map { Fog::Compute[:ibm].servers.get(instance_id) }
end
2012-01-10 17:20:56 -05:00
end
end
end
end