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/terremark/models/shared/servers.rb
geemus b554eb0bb4 Revert "move vcloud models to its directory since the format is common to both"
Conflicts with work freeformz is doing, reverting in favor of those changes for now.

This reverts commit 9907d4ed59.
2010-05-17 20:57:13 -07:00

55 lines
1.2 KiB
Ruby

require 'fog/collection'
require 'fog/terremark/models/shared/server'
module Fog
module Terremark
module Shared
module Mock
def servers(options = {})
Fog::Terremark::Shared::Servers.new(options.merge(:connection => self))
end
end
module Real
def servers(options = {})
Fog::Terremark::Shared::Servers.new(options.merge(:connection => self))
end
end
class Servers < Fog::Collection
model Fog::Terremark::Shared::Server
def all
data = connection.get_vdc(vdc_id).body['ResourceEntities'].select do |entity|
entity['type'] == 'application/vnd.vmware.vcloud.vApp+xml'
end
load(data)
end
def get(server_id)
if server_id && server = connection.get_vapp(server_id).body
new(server)
elsif !server_id
nil
end
rescue Excon::Errors::Forbidden
nil
end
def vdc_id
@vdc_id ||= connection.default_vdc_id
end
private
def vdc_id=(new_vdc_id)
@vdc_id = new_vdc_id
end
end
end
end
end