aws_pocketknife 0.1.17 → 0.1.18

Sign up to get free protection for your applications and to get access to all the features.
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