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/rackspace/models/orchestration/resources.rb
2014-12-12 14:22:07 -05:00

35 lines
1,005 B
Ruby

require 'fog/rackspace/models/orchestration/resource'
module Fog
module Rackspace
class Orchestration
class Resources < Fog::Collection
model Fog::Rackspace::Orchestration::Resource
def types
service.list_resource_types.body['resource_types'].sort
end
def all(stack, options={})
data = service.list_resources(stack, options).body['resources']
load(data)
end
def get(resource_name, stack=nil)
stack = self.first.stack if stack.nil?
data = service.show_resource_data(stack.stack_name, stack.id, resource_name).body['resource']
new(data)
rescue Fog::Rackspace::Orchestration::NotFound
nil
end
def metadata(stack_name, stack_id, resource_name)
service.show_resource_metadata(stack_name, stack_id, resource_name).body['resource']
rescue Fog::Rackspace::Orchestration::NotFound
nil
end
end
end
end
end