Class: Vaws::Aws::Route53Describer

Inherits:
Describer
  • Object
show all
Defined in:
lib/vaws/aws/route53_describer.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeRoute53Describer

Returns a new instance of Route53Describer.



9
10
11
12
13
# File 'lib/vaws/aws/route53_describer.rb', line 9

def initialize
  @r53_client          = ::Aws::Route53::Client.new
  @r53_hosted_zone_ids = []
  @term_table          = ''
end

Instance Attribute Details

#term_tableObject (readonly)

Returns the value of attribute term_table.



7
8
9
# File 'lib/vaws/aws/route53_describer.rb', line 7

def term_table
  @term_table
end

Instance Method Details

#set_basic_infoObject



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/vaws/aws/route53_describer.rb', line 15

def set_basic_info
  rows = []
  get_hosted_zone

  @r53_hosted_zone_ids.each do |zone_id|
    record_values = ''
    records       = @r53_client.list_resource_record_sets({ hosted_zone_id: "#{zone_id}", max_items: 1000 })
    records.resource_record_sets.each do |record_sets|
      record_name = record_sets.name
      record_type = record_sets.type
      record_ttl  = record_sets.ttl
      if record_sets.alias_target.nil?
        record_sets.resource_records.each do |record|
          record_values << "#{record.value.to_s}\n"
        end
      else
        record_values = record_sets.alias_target.dns_name
      end
      rows << [record_name, record_type, record_values, record_ttl]
      record_values = ''
    end
  end
  @term_table = Terminal::Table.new :headings => ['Fqdn', 'Type', 'Value', 'Ttl'], :rows => rows.sort
end