2010-12-29 16:11:46 -05:00
|
|
|
require 'fog/core/collection'
|
2011-08-24 21:00:45 -04:00
|
|
|
require 'fog/aws/models/dns/zone'
|
2010-12-29 16:11:46 -05:00
|
|
|
|
|
|
|
module Fog
|
2011-06-15 20:25:01 -04:00
|
|
|
module DNS
|
|
|
|
class AWS
|
2010-12-29 16:11:46 -05:00
|
|
|
|
|
|
|
class Zones < Fog::Collection
|
|
|
|
|
|
|
|
attribute :marker, :aliases => 'Marker'
|
|
|
|
attribute :max_items, :aliases => 'MaxItems'
|
|
|
|
|
2011-06-15 20:25:01 -04:00
|
|
|
model Fog::DNS::AWS::Zone
|
2010-12-29 16:11:46 -05:00
|
|
|
|
|
|
|
def all(options = {})
|
|
|
|
options['marker'] ||= marker
|
|
|
|
options['maxitems'] ||= max_items
|
2012-12-22 18:31:20 -05:00
|
|
|
data = service.list_hosted_zones(options).body['HostedZones']
|
2010-12-29 16:11:46 -05:00
|
|
|
load(data)
|
|
|
|
end
|
|
|
|
|
|
|
|
def get(zone_id)
|
2012-12-22 18:31:20 -05:00
|
|
|
data = service.get_hosted_zone(zone_id).body
|
2010-12-29 16:11:46 -05:00
|
|
|
new(data)
|
2012-03-28 16:50:56 -04:00
|
|
|
rescue Excon::Errors::NotFound
|
2010-12-29 16:11:46 -05:00
|
|
|
nil
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|