firespring_dev_commands 2.2.8.pre.alpha.1 → 2.5.0.pre.alpha.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/firespring_dev_commands/audit/report.rb +2 -9
- data/lib/firespring_dev_commands/aws/account.rb +1 -1
- data/lib/firespring_dev_commands/aws/cloudformation.rb +3 -10
- data/lib/firespring_dev_commands/aws/login.rb +1 -1
- data/lib/firespring_dev_commands/common.rb +2 -22
- data/lib/firespring_dev_commands/docker/status.rb +0 -20
- data/lib/firespring_dev_commands/docker.rb +16 -86
- data/lib/firespring_dev_commands/eol/aws.rb +2 -10
- data/lib/firespring_dev_commands/eol.rb +2 -22
- data/lib/firespring_dev_commands/git.rb +24 -37
- data/lib/firespring_dev_commands/jira/issue.rb +1 -3
- data/lib/firespring_dev_commands/node.rb +1 -1
- data/lib/firespring_dev_commands/php/audit.rb +0 -4
- data/lib/firespring_dev_commands/php.rb +12 -28
- data/lib/firespring_dev_commands/platform.rb +31 -38
- data/lib/firespring_dev_commands/ruby.rb +3 -6
- data/lib/firespring_dev_commands/target_process/query.rb +4 -30
- data/lib/firespring_dev_commands/target_process/release.rb +1 -1
- data/lib/firespring_dev_commands/target_process/team_assignment.rb +1 -1
- data/lib/firespring_dev_commands/target_process/user.rb +1 -13
- data/lib/firespring_dev_commands/target_process/user_story.rb +1 -1
- data/lib/firespring_dev_commands/target_process/user_story_history.rb +1 -1
- data/lib/firespring_dev_commands/target_process.rb +7 -24
- data/lib/firespring_dev_commands/templates/aws.rb +6 -33
- data/lib/firespring_dev_commands/templates/base_interface.rb +2 -2
- data/lib/firespring_dev_commands/templates/ci.rb +11 -16
- data/lib/firespring_dev_commands/templates/docker/application.rb +2 -2
- data/lib/firespring_dev_commands/templates/docker/node/application.rb +5 -55
- data/lib/firespring_dev_commands/templates/docker/php/application.rb +16 -58
- data/lib/firespring_dev_commands/templates/docker/ruby/application.rb +5 -54
- data/lib/firespring_dev_commands/templates/eol.rb +2 -9
- data/lib/firespring_dev_commands/templates/git.rb +0 -165
- data/lib/firespring_dev_commands/version.rb +1 -1
- data/lib/firespring_dev_commands.rb +1 -1
- metadata +35 -125
- data/lib/firespring_dev_commands/aws/route53.rb +0 -177
- data/lib/firespring_dev_commands/bloom_growth/rock.rb +0 -34
- data/lib/firespring_dev_commands/bloom_growth/seat.rb +0 -16
- data/lib/firespring_dev_commands/bloom_growth/user.rb +0 -43
- data/lib/firespring_dev_commands/bloom_growth.rb +0 -132
- data/lib/firespring_dev_commands/certificate.rb +0 -59
- data/lib/firespring_dev_commands/coverage/base.rb +0 -16
- data/lib/firespring_dev_commands/coverage/cobertura.rb +0 -86
- data/lib/firespring_dev_commands/coverage/none.rb +0 -21
- data/lib/firespring_dev_commands/dns/resource.rb +0 -93
- data/lib/firespring_dev_commands/docker/desktop.rb +0 -61
- data/lib/firespring_dev_commands/eol/node.rb +0 -42
- data/lib/firespring_dev_commands/eol/php.rb +0 -50
- data/lib/firespring_dev_commands/eol/ruby.rb +0 -42
- data/lib/firespring_dev_commands/jira/parent.rb +0 -19
- data/lib/firespring_dev_commands/os.rb +0 -35
- data/lib/firespring_dev_commands/port.rb +0 -24
- data/lib/firespring_dev_commands/target_process/time.rb +0 -32
- data/lib/firespring_dev_commands/templates/aws/services/route53.rb +0 -130
- data/lib/firespring_dev_commands/templates/certificate.rb +0 -41
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: firespring_dev_commands
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.5.0.pre.alpha.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Firespring
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-11-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -16,168 +16,154 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 7.1.
|
19
|
+
version: 7.1.1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 7.1.
|
26
|
+
version: 7.1.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: aws-sdk-cloudformation
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 1.
|
33
|
+
version: 1.83.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 1.
|
40
|
+
version: 1.83.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: aws-sdk-codepipeline
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 1.
|
47
|
+
version: 1.59.0
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 1.
|
54
|
+
version: 1.59.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: aws-sdk-ecr
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 1.
|
61
|
+
version: 1.61.0
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 1.
|
68
|
+
version: 1.61.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: aws-sdk-elasticache
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 1.
|
75
|
+
version: 1.88.0
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 1.
|
82
|
+
version: 1.88.0
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: aws-sdk-lambda
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 1.
|
89
|
+
version: 1.101.0
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 1.
|
96
|
+
version: 1.101.0
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: aws-sdk-opensearchservice
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: 1.
|
103
|
+
version: 1.24.0
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: 1.
|
110
|
+
version: 1.24.0
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: aws-sdk-rds
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: 1.
|
117
|
+
version: 1.183.0
|
118
118
|
type: :runtime
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
122
|
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: 1.
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: aws-sdk-route53
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - "~>"
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: 1.87.0
|
132
|
-
type: :runtime
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - "~>"
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: 1.87.0
|
124
|
+
version: 1.183.0
|
139
125
|
- !ruby/object:Gem::Dependency
|
140
126
|
name: aws-sdk-s3
|
141
127
|
requirement: !ruby/object:Gem::Requirement
|
142
128
|
requirements:
|
143
129
|
- - "~>"
|
144
130
|
- !ruby/object:Gem::Version
|
145
|
-
version: 1.
|
131
|
+
version: 1.127.0
|
146
132
|
type: :runtime
|
147
133
|
prerelease: false
|
148
134
|
version_requirements: !ruby/object:Gem::Requirement
|
149
135
|
requirements:
|
150
136
|
- - "~>"
|
151
137
|
- !ruby/object:Gem::Version
|
152
|
-
version: 1.
|
138
|
+
version: 1.127.0
|
153
139
|
- !ruby/object:Gem::Dependency
|
154
140
|
name: aws-sdk-ssm
|
155
141
|
requirement: !ruby/object:Gem::Requirement
|
156
142
|
requirements:
|
157
143
|
- - "~>"
|
158
144
|
- !ruby/object:Gem::Version
|
159
|
-
version: 1.
|
145
|
+
version: 1.154.0
|
160
146
|
type: :runtime
|
161
147
|
prerelease: false
|
162
148
|
version_requirements: !ruby/object:Gem::Requirement
|
163
149
|
requirements:
|
164
150
|
- - "~>"
|
165
151
|
- !ruby/object:Gem::Version
|
166
|
-
version: 1.
|
152
|
+
version: 1.154.0
|
167
153
|
- !ruby/object:Gem::Dependency
|
168
154
|
name: aws-sdk-sts
|
169
155
|
requirement: !ruby/object:Gem::Requirement
|
170
156
|
requirements:
|
171
157
|
- - "~>"
|
172
158
|
- !ruby/object:Gem::Version
|
173
|
-
version: 1.
|
159
|
+
version: 1.10.0
|
174
160
|
type: :runtime
|
175
161
|
prerelease: false
|
176
162
|
version_requirements: !ruby/object:Gem::Requirement
|
177
163
|
requirements:
|
178
164
|
- - "~>"
|
179
165
|
- !ruby/object:Gem::Version
|
180
|
-
version: 1.
|
166
|
+
version: 1.10.0
|
181
167
|
- !ruby/object:Gem::Dependency
|
182
168
|
name: colorize
|
183
169
|
requirement: !ruby/object:Gem::Requirement
|
@@ -220,34 +206,6 @@ dependencies:
|
|
220
206
|
- - "~>"
|
221
207
|
- !ruby/object:Gem::Version
|
222
208
|
version: 2.8.1
|
223
|
-
- !ruby/object:Gem::Dependency
|
224
|
-
name: excon
|
225
|
-
requirement: !ruby/object:Gem::Requirement
|
226
|
-
requirements:
|
227
|
-
- - '='
|
228
|
-
- !ruby/object:Gem::Version
|
229
|
-
version: 0.110.0
|
230
|
-
type: :runtime
|
231
|
-
prerelease: false
|
232
|
-
version_requirements: !ruby/object:Gem::Requirement
|
233
|
-
requirements:
|
234
|
-
- - '='
|
235
|
-
- !ruby/object:Gem::Version
|
236
|
-
version: 0.110.0
|
237
|
-
- !ruby/object:Gem::Dependency
|
238
|
-
name: faraday-retry
|
239
|
-
requirement: !ruby/object:Gem::Requirement
|
240
|
-
requirements:
|
241
|
-
- - "~>"
|
242
|
-
- !ruby/object:Gem::Version
|
243
|
-
version: '2.0'
|
244
|
-
type: :runtime
|
245
|
-
prerelease: false
|
246
|
-
version_requirements: !ruby/object:Gem::Requirement
|
247
|
-
requirements:
|
248
|
-
- - "~>"
|
249
|
-
- !ruby/object:Gem::Version
|
250
|
-
version: '2.0'
|
251
209
|
- !ruby/object:Gem::Dependency
|
252
210
|
name: git
|
253
211
|
requirement: !ruby/object:Gem::Requirement
|
@@ -291,89 +249,61 @@ dependencies:
|
|
291
249
|
- !ruby/object:Gem::Version
|
292
250
|
version: 2.3.0
|
293
251
|
- !ruby/object:Gem::Dependency
|
294
|
-
name:
|
252
|
+
name: libxml-ruby
|
295
253
|
requirement: !ruby/object:Gem::Requirement
|
296
254
|
requirements:
|
297
|
-
- -
|
298
|
-
- !ruby/object:Gem::Version
|
299
|
-
version: '8.1'
|
300
|
-
type: :runtime
|
301
|
-
prerelease: false
|
302
|
-
version_requirements: !ruby/object:Gem::Requirement
|
303
|
-
requirements:
|
304
|
-
- - "~>"
|
305
|
-
- !ruby/object:Gem::Version
|
306
|
-
version: '8.1'
|
307
|
-
- !ruby/object:Gem::Dependency
|
308
|
-
name: ox
|
309
|
-
requirement: !ruby/object:Gem::Requirement
|
310
|
-
requirements:
|
311
|
-
- - "~>"
|
255
|
+
- - '='
|
312
256
|
- !ruby/object:Gem::Version
|
313
|
-
version:
|
257
|
+
version: 4.1.1
|
314
258
|
type: :runtime
|
315
259
|
prerelease: false
|
316
260
|
version_requirements: !ruby/object:Gem::Requirement
|
317
261
|
requirements:
|
318
|
-
- -
|
262
|
+
- - '='
|
319
263
|
- !ruby/object:Gem::Version
|
320
|
-
version:
|
264
|
+
version: 4.1.1
|
321
265
|
- !ruby/object:Gem::Dependency
|
322
266
|
name: public_suffix
|
323
267
|
requirement: !ruby/object:Gem::Requirement
|
324
268
|
requirements:
|
325
269
|
- - '='
|
326
270
|
- !ruby/object:Gem::Version
|
327
|
-
version: 5.0.
|
271
|
+
version: 5.0.1
|
328
272
|
type: :runtime
|
329
273
|
prerelease: false
|
330
274
|
version_requirements: !ruby/object:Gem::Requirement
|
331
275
|
requirements:
|
332
276
|
- - '='
|
333
277
|
- !ruby/object:Gem::Version
|
334
|
-
version: 5.0.
|
278
|
+
version: 5.0.1
|
335
279
|
- !ruby/object:Gem::Dependency
|
336
280
|
name: rake
|
337
281
|
requirement: !ruby/object:Gem::Requirement
|
338
282
|
requirements:
|
339
283
|
- - "~>"
|
340
284
|
- !ruby/object:Gem::Version
|
341
|
-
version: 13.
|
285
|
+
version: 13.0.6
|
342
286
|
type: :runtime
|
343
287
|
prerelease: false
|
344
288
|
version_requirements: !ruby/object:Gem::Requirement
|
345
289
|
requirements:
|
346
290
|
- - "~>"
|
347
291
|
- !ruby/object:Gem::Version
|
348
|
-
version: 13.
|
292
|
+
version: 13.0.6
|
349
293
|
- !ruby/object:Gem::Dependency
|
350
294
|
name: slack-ruby-client
|
351
295
|
requirement: !ruby/object:Gem::Requirement
|
352
296
|
requirements:
|
353
297
|
- - "~>"
|
354
298
|
- !ruby/object:Gem::Version
|
355
|
-
version: 2.
|
356
|
-
type: :runtime
|
357
|
-
prerelease: false
|
358
|
-
version_requirements: !ruby/object:Gem::Requirement
|
359
|
-
requirements:
|
360
|
-
- - "~>"
|
361
|
-
- !ruby/object:Gem::Version
|
362
|
-
version: 2.2.0
|
363
|
-
- !ruby/object:Gem::Dependency
|
364
|
-
name: whois
|
365
|
-
requirement: !ruby/object:Gem::Requirement
|
366
|
-
requirements:
|
367
|
-
- - "~>"
|
368
|
-
- !ruby/object:Gem::Version
|
369
|
-
version: '6.0'
|
299
|
+
version: 2.1.0
|
370
300
|
type: :runtime
|
371
301
|
prerelease: false
|
372
302
|
version_requirements: !ruby/object:Gem::Requirement
|
373
303
|
requirements:
|
374
304
|
- - "~>"
|
375
305
|
- !ruby/object:Gem::Version
|
376
|
-
version:
|
306
|
+
version: 2.1.0
|
377
307
|
description: Ruby library for creating/maintaining your development environment
|
378
308
|
email: opensource@firespring.com
|
379
309
|
executables: []
|
@@ -396,50 +326,33 @@ files:
|
|
396
326
|
- lib/firespring_dev_commands/aws/login.rb
|
397
327
|
- lib/firespring_dev_commands/aws/parameter.rb
|
398
328
|
- lib/firespring_dev_commands/aws/profile.rb
|
399
|
-
- lib/firespring_dev_commands/aws/route53.rb
|
400
329
|
- lib/firespring_dev_commands/aws/s3.rb
|
401
|
-
- lib/firespring_dev_commands/bloom_growth.rb
|
402
|
-
- lib/firespring_dev_commands/bloom_growth/rock.rb
|
403
|
-
- lib/firespring_dev_commands/bloom_growth/seat.rb
|
404
|
-
- lib/firespring_dev_commands/bloom_growth/user.rb
|
405
330
|
- lib/firespring_dev_commands/boolean.rb
|
406
|
-
- lib/firespring_dev_commands/certificate.rb
|
407
331
|
- lib/firespring_dev_commands/common.rb
|
408
|
-
- lib/firespring_dev_commands/coverage/base.rb
|
409
|
-
- lib/firespring_dev_commands/coverage/cobertura.rb
|
410
|
-
- lib/firespring_dev_commands/coverage/none.rb
|
411
332
|
- lib/firespring_dev_commands/daterange.rb
|
412
|
-
- lib/firespring_dev_commands/dns/resource.rb
|
413
333
|
- lib/firespring_dev_commands/docker.rb
|
414
334
|
- lib/firespring_dev_commands/docker/compose.rb
|
415
|
-
- lib/firespring_dev_commands/docker/desktop.rb
|
416
335
|
- lib/firespring_dev_commands/docker/status.rb
|
417
336
|
- lib/firespring_dev_commands/dotenv.rb
|
418
337
|
- lib/firespring_dev_commands/env.rb
|
419
338
|
- lib/firespring_dev_commands/eol.rb
|
420
339
|
- lib/firespring_dev_commands/eol/aws.rb
|
421
|
-
- lib/firespring_dev_commands/eol/node.rb
|
422
|
-
- lib/firespring_dev_commands/eol/php.rb
|
423
340
|
- lib/firespring_dev_commands/eol/product_version.rb
|
424
|
-
- lib/firespring_dev_commands/eol/ruby.rb
|
425
341
|
- lib/firespring_dev_commands/git.rb
|
426
342
|
- lib/firespring_dev_commands/git/info.rb
|
427
343
|
- lib/firespring_dev_commands/jira.rb
|
428
344
|
- lib/firespring_dev_commands/jira/histories.rb
|
429
345
|
- lib/firespring_dev_commands/jira/history.rb
|
430
346
|
- lib/firespring_dev_commands/jira/issue.rb
|
431
|
-
- lib/firespring_dev_commands/jira/parent.rb
|
432
347
|
- lib/firespring_dev_commands/jira/project.rb
|
433
348
|
- lib/firespring_dev_commands/jira/user.rb
|
434
349
|
- lib/firespring_dev_commands/jira/user/type.rb
|
435
350
|
- lib/firespring_dev_commands/logger.rb
|
436
351
|
- lib/firespring_dev_commands/node.rb
|
437
352
|
- lib/firespring_dev_commands/node/audit.rb
|
438
|
-
- lib/firespring_dev_commands/os.rb
|
439
353
|
- lib/firespring_dev_commands/php.rb
|
440
354
|
- lib/firespring_dev_commands/php/audit.rb
|
441
355
|
- lib/firespring_dev_commands/platform.rb
|
442
|
-
- lib/firespring_dev_commands/port.rb
|
443
356
|
- lib/firespring_dev_commands/rake.rb
|
444
357
|
- lib/firespring_dev_commands/ruby.rb
|
445
358
|
- lib/firespring_dev_commands/ruby/audit.rb
|
@@ -455,14 +368,11 @@ files:
|
|
455
368
|
- lib/firespring_dev_commands/target_process/release.rb
|
456
369
|
- lib/firespring_dev_commands/target_process/team.rb
|
457
370
|
- lib/firespring_dev_commands/target_process/team_assignment.rb
|
458
|
-
- lib/firespring_dev_commands/target_process/time.rb
|
459
371
|
- lib/firespring_dev_commands/target_process/user.rb
|
460
372
|
- lib/firespring_dev_commands/target_process/user_story.rb
|
461
373
|
- lib/firespring_dev_commands/target_process/user_story_history.rb
|
462
374
|
- lib/firespring_dev_commands/templates/aws.rb
|
463
|
-
- lib/firespring_dev_commands/templates/aws/services/route53.rb
|
464
375
|
- lib/firespring_dev_commands/templates/base_interface.rb
|
465
|
-
- lib/firespring_dev_commands/templates/certificate.rb
|
466
376
|
- lib/firespring_dev_commands/templates/ci.rb
|
467
377
|
- lib/firespring_dev_commands/templates/config.rb
|
468
378
|
- lib/firespring_dev_commands/templates/docker/application.rb
|
@@ -1,177 +0,0 @@
|
|
1
|
-
require 'aws-sdk-route53'
|
2
|
-
|
3
|
-
module Dev
|
4
|
-
class Aws
|
5
|
-
# Class for performing Route53 functions
|
6
|
-
class Route53
|
7
|
-
attr_reader :client
|
8
|
-
|
9
|
-
def initialize(domains = nil)
|
10
|
-
@client = ::Aws::Route53::Client.new
|
11
|
-
@domains = Array(domains || [])
|
12
|
-
end
|
13
|
-
|
14
|
-
def zones(&)
|
15
|
-
if @domains.empty?
|
16
|
-
each_zone(&)
|
17
|
-
else
|
18
|
-
each_zone_by_domains(&)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
private def each_zone
|
23
|
-
Dev::Aws.each_page(client, :list_hosted_zones) do |response|
|
24
|
-
response.hosted_zones&.each do |hosted_zone|
|
25
|
-
next if hosted_zone.config.private_zone
|
26
|
-
|
27
|
-
yield hosted_zone
|
28
|
-
end
|
29
|
-
rescue ::Aws::Route53::Errors::Throttling
|
30
|
-
sleep(1)
|
31
|
-
retry
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
private def each_zone_by_domains(&)
|
36
|
-
@domains.each do |domain|
|
37
|
-
response = client.list_hosted_zones_by_name({dns_name: domain})
|
38
|
-
|
39
|
-
# The 'list_hosted_zones_by_name' returns fuzzy matches (so "foo.com" would return both "bar.foo.com" and "foo.com"
|
40
|
-
# So we are only selecting domains that match exactly since that's what we really want here
|
41
|
-
targets = response.hosted_zones.select { |it| it.name.chomp('.') == domain }
|
42
|
-
raise "The #{domain} hosted zone not found." if targets.empty?
|
43
|
-
|
44
|
-
targets.each(&)
|
45
|
-
rescue ::Aws::Route53::Errors::Throttling
|
46
|
-
sleep(1)
|
47
|
-
retry
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
private def ip_address(domain)
|
52
|
-
Addrinfo.ip(domain.to_s.strip)&.ip_address
|
53
|
-
rescue SocketError
|
54
|
-
"Unable to resolve domain: #{domain}"
|
55
|
-
end
|
56
|
-
|
57
|
-
private def target_config_id(zone_id)
|
58
|
-
client.list_query_logging_configs(
|
59
|
-
hosted_zone_id: zone_id,
|
60
|
-
max_results: '1'
|
61
|
-
).query_logging_configs&.first&.id
|
62
|
-
end
|
63
|
-
|
64
|
-
# Get the hosted zone details for the zone id
|
65
|
-
private def details(zone_id)
|
66
|
-
response = client.get_hosted_zone(id: zone_id)
|
67
|
-
[response.hosted_zone, response.delegation_set]
|
68
|
-
end
|
69
|
-
|
70
|
-
def json_details
|
71
|
-
zone_count = 0
|
72
|
-
zones do |zone|
|
73
|
-
zone_details, delegation_set = details(zone.id)
|
74
|
-
dns_resource = Dev::Dns::Resource.new(zone_details.name)
|
75
|
-
zone_count += 1
|
76
|
-
apex_record = dns_resource.recursive_a_lookup
|
77
|
-
nameserver_names = dns_resource.recursive_nameserver_lookup
|
78
|
-
nameserver_ips = nameserver_names.sort.map { |it| dns_resource.recursive_a_lookup(it) }
|
79
|
-
# Check if the site is dead, no a record or any AWS ips in the lists.
|
80
|
-
# if apex_record.empty? && (!zone_details.name.chomp('.').include? 'firespring') && (!nameserver_ips.join(', ').include? '205.251')
|
81
|
-
if !dns_resource.recursive_a_lookup.empty? && (dns_resource.recursive_nameserver_lookup.include? 'ns1.firespring.com')
|
82
|
-
out_data = {
|
83
|
-
'count' => zone_count,
|
84
|
-
'dns_name' => zone_details.name.chomp('.'),
|
85
|
-
'hosted_zone_id' => zone_details.id,
|
86
|
-
'delegation_set_id' => delegation_set.id,
|
87
|
-
# 'registrar_servers' => dns_resource.registrar_lookup.join(','), # This function is fickle, add with care.
|
88
|
-
'reported_nameservers' => nameserver_names.sort.join(', '),
|
89
|
-
'reported_ns_ips' => nameserver_ips.join(', '),
|
90
|
-
'a_record_ip' => apex_record.sort.join(', ')
|
91
|
-
}
|
92
|
-
# Display contents
|
93
|
-
puts JSON.pretty_generate(out_data)
|
94
|
-
end
|
95
|
-
rescue ::Aws::Route53::Errors::Throttling
|
96
|
-
sleep(1)
|
97
|
-
retry
|
98
|
-
end
|
99
|
-
puts
|
100
|
-
end
|
101
|
-
|
102
|
-
def command_line_details
|
103
|
-
zone_count = 0
|
104
|
-
zones do |zone|
|
105
|
-
zone_details, delegation_set = details(zone.id)
|
106
|
-
dns_resource = Dev::Dns::Resource.new(zone_details.name)
|
107
|
-
zone_count += 1
|
108
|
-
if !dns_resource.recursive_a_lookup.empty? && (dns_resource.recursive_nameserver_lookup.include? 'ns1.firespring.com')
|
109
|
-
puts
|
110
|
-
puts "#{zone_count} - #{zone_details.name.chomp('.')} (#{zone_details.id}):"
|
111
|
-
puts format(' %-50s %s', 'Delegation Set:', delegation_set.id)
|
112
|
-
puts format(' %-50s %s', 'Delegation Defined Nameservers:', delegation_set.name_servers.sort.join(', '))
|
113
|
-
puts format(' %-50s %s', 'WHOIS Reported server:', dns_resource.registrar_lookup.join(','))
|
114
|
-
puts format(' %-50s %s', 'DNS Reported Nameservers:', dns_resource.recursive_nameserver_lookup.sort.join(', '))
|
115
|
-
puts format(' %-50s %s', 'DNS Reported Nameserver IPs:', dns_resource.recursive_nameserver_lookup.sort.map do |it|
|
116
|
-
dns_resource.recursive_a_lookup(it)
|
117
|
-
end.join(', '))
|
118
|
-
puts format(' %-50s %s', 'Domain Apex IP Resolution:', dns_resource.recursive_a_lookup.sort.join(', '))
|
119
|
-
end
|
120
|
-
rescue ::Aws::Route53::Errors::Throttling
|
121
|
-
sleep(1)
|
122
|
-
retry
|
123
|
-
end
|
124
|
-
puts
|
125
|
-
end
|
126
|
-
|
127
|
-
def list_query_configs
|
128
|
-
zones do |zone|
|
129
|
-
target_config_id = target_config_id(zone.id)
|
130
|
-
message = if target_config_id
|
131
|
-
"Config\t=>\t#{target_config_id}".colorize(:green)
|
132
|
-
else
|
133
|
-
'No query logging config assigned.'.colorize(:red)
|
134
|
-
end
|
135
|
-
puts format('%-50s => %s', zone.name, message)
|
136
|
-
rescue ::Aws::Route53::Errors::Throttling
|
137
|
-
sleep(1)
|
138
|
-
retry
|
139
|
-
end
|
140
|
-
end
|
141
|
-
|
142
|
-
def activate_query_logging(log_group)
|
143
|
-
zones do |zone|
|
144
|
-
response = client.create_query_logging_config(
|
145
|
-
hosted_zone_id: zone.id,
|
146
|
-
cloud_watch_logs_log_group_arn: log_group
|
147
|
-
)
|
148
|
-
puts format('%-50s => %s', zone.id, response.location)
|
149
|
-
rescue ::Aws::Route53::Errors::Throttling
|
150
|
-
sleep(1)
|
151
|
-
retry
|
152
|
-
rescue ::Aws::Route53::Errors::ServiceError => e
|
153
|
-
raise "Error: #{e.message}" unless e.instance_of?(::Aws::Route53::Errors::QueryLoggingConfigAlreadyExists)
|
154
|
-
|
155
|
-
puts format('%-50s => %s', zone.id, e.message)
|
156
|
-
end
|
157
|
-
end
|
158
|
-
|
159
|
-
def deactivate_query_logging
|
160
|
-
zones do |zone|
|
161
|
-
target_config_id = target_config_id(zone.id)
|
162
|
-
if target_config_id
|
163
|
-
client.delete_query_logging_config(
|
164
|
-
id: target_config_id
|
165
|
-
)
|
166
|
-
puts format('%-50s => %s', zone.id, 'Query logging config removed.'.colorize(:green))
|
167
|
-
else
|
168
|
-
puts format('%-50s => %s', zone.id, 'No query logging config assigned.'.colorize(:red))
|
169
|
-
end
|
170
|
-
rescue ::Aws::Route53::Errors::Throttling
|
171
|
-
sleep(1)
|
172
|
-
retry
|
173
|
-
end
|
174
|
-
end
|
175
|
-
end
|
176
|
-
end
|
177
|
-
end
|
@@ -1,34 +0,0 @@
|
|
1
|
-
module Dev
|
2
|
-
class BloomGrowth
|
3
|
-
# Class containing rock information
|
4
|
-
class Rock
|
5
|
-
attr_accessor :data, :id, :type, :name, :owner, :complete, :completion_id, :created, :due
|
6
|
-
attr_reader :state
|
7
|
-
|
8
|
-
def initialize(data)
|
9
|
-
@data = data
|
10
|
-
@id = data['Id']
|
11
|
-
@type = data['Type']
|
12
|
-
@name = data['Name'].to_s.strip
|
13
|
-
@owner = User.new(data['Owner']) if data['Owner']
|
14
|
-
@complete = data['Complete']
|
15
|
-
@completion_id = data['Completion']
|
16
|
-
@created = Time.parse(data['CreateTime']) if data['CreateTime']
|
17
|
-
@due = Time.parse(data['DueDate']) if data['DueDate']
|
18
|
-
@archived = data['Archived']
|
19
|
-
end
|
20
|
-
|
21
|
-
# Convert the completion_id bloom growth gives us into a text version
|
22
|
-
def state
|
23
|
-
case completion_id
|
24
|
-
when 0
|
25
|
-
'Off Track'
|
26
|
-
when 1
|
27
|
-
'On Track'
|
28
|
-
when 2
|
29
|
-
'Complete'
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
module Dev
|
2
|
-
class BloomGrowth
|
3
|
-
# Class containing seat information
|
4
|
-
class Seat
|
5
|
-
attr_accessor :data, :id, :type, :name
|
6
|
-
|
7
|
-
def initialize(data)
|
8
|
-
@data = data
|
9
|
-
position = data.dig('Group', 'Position')
|
10
|
-
@id = position&.fetch('Id')
|
11
|
-
@type = position&.fetch('Type')
|
12
|
-
@name = position&.fetch('Name').to_s.strip
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
@@ -1,43 +0,0 @@
|
|
1
|
-
module Dev
|
2
|
-
class BloomGrowth
|
3
|
-
# Class containing user information
|
4
|
-
class User
|
5
|
-
attr_accessor :data, :id, :type, :name, :rocks, :direct_reports, :seats
|
6
|
-
|
7
|
-
def initialize(data)
|
8
|
-
@data = data
|
9
|
-
@id = data['Id']
|
10
|
-
@type = data['Type']
|
11
|
-
@name = data['Name'].to_s.strip
|
12
|
-
@rocks = nil
|
13
|
-
@direct_reports = nil
|
14
|
-
@seats = nil
|
15
|
-
end
|
16
|
-
|
17
|
-
def rocks
|
18
|
-
@rocks ||= [].tap do |ary|
|
19
|
-
Dev::BloomGrowth.new.get("/api/v1/rocks/user/#{id}") do |data|
|
20
|
-
ary << Rock.new(data)
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
def direct_reports
|
26
|
-
@direct_reports ||= [].tap do |ary|
|
27
|
-
Dev::BloomGrowth.new.get("/api/v1/users/#{id}/directreports") do |data|
|
28
|
-
ary << User.new(data)
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
def seats
|
34
|
-
@seats ||= [].tap do |ary|
|
35
|
-
Dev::BloomGrowth.new.get("/api/v1/users/#{id}/seats") do |data|
|
36
|
-
ary << Seat.new(data)
|
37
|
-
puts ary.last.inspect
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|