Class: Inventory::Route53

Inherits:
Base
  • Object
show all
Defined in:
lib/inventory/route53.rb

Constant Summary collapse

@@resource_record_sets =
{}

Instance Method Summary collapse

Methods inherited from Base

eager_load!, inherited, #initialize, #report, #show, #sort, subclasses, #test_mode

Methods included from AwsServices

#acm, #cfn, #cw, #eb, #ec2, #ecs, #elbv1, #elbv2, #iam, #pricing, #rds, #route53

Methods included from Shared

#instances, #security_groups

Constructor Details

This class inherits a constructor from Inventory::Base

Instance Method Details

#dataObject



6
7
8
9
10
11
# File 'lib/inventory/route53.rb', line 6

def data
  zones.map do |zone|
    record_sets = resource_record_sets(zone)
    [zone.name, record_sets.count]
  end
end

#headerObject



2
3
4
# File 'lib/inventory/route53.rb', line 2

def header
  ["Domain", "Record Set Count"]
end

#recordsObject



13
14
15
16
17
# File 'lib/inventory/route53.rb', line 13

def records
  zones.inject([]) do |array, zone|
    array << resource_record_sets(zone)
  end
end

#resource_record_sets(zone) ⇒ Object



20
21
22
23
24
# File 'lib/inventory/route53.rb', line 20

def resource_record_sets(zone)
  @@resource_record_sets[zone.id] ||= route53
    .list_resource_record_sets(hosted_zone_id: zone.id)
    .resource_record_sets
end

#zonesObject



26
27
28
# File 'lib/inventory/route53.rb', line 26

def zones
  @zones ||= route53.list_hosted_zones.hosted_zones
end