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 +4 -4
- data/lib/aws_pocketknife/route53.rb +25 -2
- data/lib/aws_pocketknife/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5a4c631cb94a1279f461aa8b7fc88c3092e30ca9
|
4
|
+
data.tar.gz: 5b170d817d57cfe74cb5ae3baa69d14c3a0bb2d1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
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
|
-
|
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
|
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.
|
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
|
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.
|
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
|