aws_pocketknife 0.1.17 → 0.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f8f43490b239504548b877428246e8085070b819
4
- data.tar.gz: 13e6837ec6e9c17bf4731d169c18c71c55acf779
3
+ metadata.gz: 5a4c631cb94a1279f461aa8b7fc88c3092e30ca9
4
+ data.tar.gz: 5b170d817d57cfe74cb5ae3baa69d14c3a0bb2d1
5
5
  SHA512:
6
- metadata.gz: b5af1f1c2c9b19f79b4df3022a1cb3ce91b8e38e223a65901fa889173f1482e100794d47b35e8030637672eee27dc851369af148b50a5c708a82a52e73d3f569
7
- data.tar.gz: f0c6c4b76d964b8f2bbba09141cc1ed19f7b7d034d4269de8e21dbf09c1370358b68cc35dead5fa857605d0c4fc1b127bfd2dbff9783a5f82dc38ee1b22c88c9
6
+ metadata.gz: 9e95ef7d8673448e0bf2bb59f04031dc9815de3b6d38a60a32fdcfc534fd0d0ab62a002c4af538d5b8700e88655a25813d00ba1f63f2ec617534e19ef32fb86c
7
+ data.tar.gz: 3b47a545cb7f56ff2d3c38619cebcf48fc117605588908791f9250b297181c671a1fe1b5a8b43456090c00aa6dec33cbd9084eea5ceceb40d0087b885f13ea61
@@ -90,24 +90,47 @@ module AwsPocketknife
90
90
  return record
91
91
  end
92
92
 
93
- def list_records_for_zone_name(hosted_zone_name: "", record_name: "", record_type: "")
93
+ def list_records(hosted_zone_id: "", record_name: "")
94
+ return route53_client.list_resource_record_sets({hosted_zone_id: hosted_zone_id,
95
+ start_record_name: record_name,
96
+ })
97
+ end
98
+
99
+ def list_records_for_zone_name(hosted_zone_name: "", record_name: "", record_type: "", max_items: 100)
94
100
  records = []
101
+ temp_records = []
95
102
  hosted_zone = describe_hosted_zone(hosted_zone: hosted_zone_name)
96
103
  return records if hosted_zone.nil?
97
104
 
98
105
  hosted_zone_id = get_hosted_zone_id(hosted_zone: hosted_zone.id)
99
106
 
100
107
  result = nil
108
+ is_truncated = false
101
109
  if record_name.length != 0 and record_type != 0
102
110
  result = route53_client.list_resource_record_sets({hosted_zone_id: hosted_zone_id,
103
111
  start_record_name: record_name,
104
112
  start_record_type: record_type, # accepts SOA, A, TXT, NS, CNAME, MX, PTR, SRV, SPF, AAAA
105
113
  max_items: 1,
106
114
  })
115
+ temp_records << result.resource_record_sets
116
+ is_truncated = result.is_truncated
107
117
  else
108
118
  result = route53_client.list_resource_record_sets({hosted_zone_id: hosted_zone_id})
119
+ temp_records << result.resource_record_sets
120
+ is_truncated = result.is_truncated
109
121
  end
110
- result.resource_record_sets.each do |record|
122
+
123
+ # loop through chunk of records
124
+ while is_truncated
125
+ next_record_name = result.next_record_name
126
+ result = list_records(hosted_zone_id: hosted_zone_id, record_name: next_record_name)
127
+ temp_records << result.resource_record_sets
128
+ is_truncated = result.is_truncated
129
+ end
130
+
131
+ temp_records.flatten!
132
+
133
+ temp_records.each do |record|
111
134
  if ["A", "CNAME", "AAAA"].include?record.type
112
135
  records << record
113
136
  end
@@ -1,3 +1,3 @@
1
1
  module AwsPocketknife
2
- VERSION = "0.1.17"
2
+ VERSION = "0.1.18"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws_pocketknife
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.17
4
+ version: 0.1.18
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gustavo Soares Souza
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-05-27 00:00:00.000000000 Z
11
+ date: 2017-07-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -287,7 +287,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
287
287
  version: '0'
288
288
  requirements: []
289
289
  rubyforge_project:
290
- rubygems_version: 2.6.10
290
+ rubygems_version: 2.4.5.1
291
291
  signing_key:
292
292
  specification_version: 4
293
293
  summary: Command line tools to make aws administration a little bit easier and faster