2010-04-16 03:20:02 -04:00
|
|
|
module Fog
|
|
|
|
module Terremark
|
|
|
|
module Shared
|
|
|
|
module Real
|
|
|
|
|
|
|
|
# Get list of organizations
|
|
|
|
#
|
|
|
|
# ==== Returns
|
|
|
|
# * response<~Excon::Response>:
|
|
|
|
# * body<~Array>:
|
|
|
|
# * 'description'<~String> - Description of organization
|
|
|
|
# * 'links'<~Array> - An array of links to entities in the organization
|
|
|
|
# * 'name'<~String> - Name of organization
|
|
|
|
def get_organizations
|
|
|
|
request({
|
|
|
|
:expects => 200,
|
|
|
|
:headers => {
|
|
|
|
'Authorization' => "Basic #{Base64.encode64("#{@terremark_username}:#{@terremark_password}").chomp!}",
|
|
|
|
# Terremark said they're going to remove passing in the Content-Type to login in a future release
|
|
|
|
'Content-Type' => "application/vnd.vmware.vcloud.orgList+xml"
|
|
|
|
},
|
|
|
|
:method => 'POST',
|
|
|
|
:parser => Fog::Parsers::Terremark::Shared::GetOrganizations.new,
|
|
|
|
:path => 'login'
|
|
|
|
})
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
module Mock
|
|
|
|
|
|
|
|
def get_organizations
|
2010-04-27 23:50:23 -04:00
|
|
|
response = Excon::Response.new
|
2011-05-19 18:35:33 -04:00
|
|
|
org_list = self.data[:organizations].map do |organization|
|
2010-04-27 23:50:23 -04:00
|
|
|
{ "name" => organization[:info][:name],
|
2010-04-28 16:26:18 -04:00
|
|
|
"href" => "#{@base_url}/org/#{organization[:info][:id]}",
|
2010-04-27 23:50:23 -04:00
|
|
|
"type" => "application/vnd.vmware.vcloud.org+xml"
|
|
|
|
}
|
|
|
|
end
|
|
|
|
response.body = { "OrgList" => org_list }
|
2010-04-28 16:26:18 -04:00
|
|
|
response.status = 200
|
2010-04-27 23:50:23 -04:00
|
|
|
response.headers = Fog::Terremark::Shared::Mock.headers(response.body, "application/vnd.vmware.vcloud.orgList+xml")
|
|
|
|
response
|
2010-04-16 03:20:02 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|