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/zerigo/requests/compute/find_hosts.rb
Athir Nuaimi 5ff4551adc completed work on Zerigo provider. all methods supported and tested
updated all parameter and return values
tested all functions
update sample in examples directory to show how to use provider
note: no mocks or test cases
2010-12-13 08:51:04 -05:00

63 lines
1.8 KiB
Ruby

module Fog
module Zerigo
class Compute
class Real
require 'fog/zerigo/parsers/compute/find_hosts'
# Get list of all the host records that match the FQDN. If desired, can limit
# search to a specific zone
#
#
# ==== Parameters
# * fqdn<~String> - domain to look for
# * zone_id<~Integer> - if want to limit search to specific zone
# ==== Returns
# * response<~Excon::Response>:
# * body<~Hash>:
# * 'hosts'<~Hash>
# * 'created-at'<~String>
# * 'data'<~String>
# * 'fqdn'<~String>
# * 'host-type'<~String>
# * 'hostname'<~String>
# * 'id'<~Integer>
# * 'notes'<~String>
# * 'priority'<~Integer>
# * 'ttl'<~Integer>
# * 'updated-at'<~String>
# * 'zone-id'<~String>
# * 'status'<~Integer> - 200 indicated success
#
def find_hosts( fqdn, zone_id = nil)
if zone_id.nil?
#look for matching host across all zones
request(
:expects => 200,
:method => 'GET',
:parser => Fog::Parsers::Zerigo::Compute::FindHosts.new,
:path => "/api/1.1/hosts.xml?fqdn=#{fqdn}"
)
else
#look for hosts in a specific zone
request(
:expects => 200,
:method => 'GET',
:parser => Fog::Parsers::Zerigo::Compute::FindHosts.new,
:path => "/api/1.1/zones/#{zone_id}/hosts.xml?fqdn=#{fqdn}"
)
end
end
end
class Mock
def find_hosts( fqdn, zone_id = nil)
Fog::Mock.not_implemented
end
end
end
end
end