class Deputy53::Zone
A DNS Zone
Attributes
id[R]
Public Class Methods
new(id)
click to toggle source
# File lib/deputy53/zone.rb, line 10 def initialize(id) @id = id self end
Public Instance Methods
delegating?(name)
click to toggle source
# File lib/deputy53/zone.rb, line 41 def delegating?(name) records('NS').any? { |r| r.name == name } end
delegation(name)
click to toggle source
# File lib/deputy53/zone.rb, line 46 def delegation(name) records('NS') .select { |r| r.name == name } .flat_map(&:resource_records) .map(&:value) end
name_servers()
click to toggle source
# File lib/deputy53/zone.rb, line 26 def name_servers @name_servers ||= zone.delegation_set.name_servers end
records()
click to toggle source
# File lib/deputy53/zone.rb, line 31 def records @records ||= route53.api.list_resource_record_sets(hosted_zone_id: id).resource_record_sets end
route53()
click to toggle source
# File lib/deputy53/zone.rb, line 16 def route53 @route53 ||= Route53.new end
zone()
click to toggle source
# File lib/deputy53/zone.rb, line 21 def zone @zone ||= route53.api.get_hosted_zone(id: id).data end