firespring_dev_commands 2.2.7 → 2.5.0.pre.alpha.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/firespring_dev_commands/audit/report.rb +2 -9
  4. data/lib/firespring_dev_commands/aws/account.rb +1 -1
  5. data/lib/firespring_dev_commands/aws/cloudformation.rb +3 -10
  6. data/lib/firespring_dev_commands/aws/login.rb +1 -1
  7. data/lib/firespring_dev_commands/common.rb +2 -22
  8. data/lib/firespring_dev_commands/docker/status.rb +0 -20
  9. data/lib/firespring_dev_commands/docker.rb +16 -86
  10. data/lib/firespring_dev_commands/eol/aws.rb +2 -10
  11. data/lib/firespring_dev_commands/eol.rb +2 -22
  12. data/lib/firespring_dev_commands/git.rb +24 -37
  13. data/lib/firespring_dev_commands/jira/issue.rb +1 -3
  14. data/lib/firespring_dev_commands/node.rb +1 -1
  15. data/lib/firespring_dev_commands/php/audit.rb +0 -4
  16. data/lib/firespring_dev_commands/php.rb +12 -28
  17. data/lib/firespring_dev_commands/platform.rb +31 -38
  18. data/lib/firespring_dev_commands/ruby.rb +3 -6
  19. data/lib/firespring_dev_commands/target_process/query.rb +4 -30
  20. data/lib/firespring_dev_commands/target_process/release.rb +1 -1
  21. data/lib/firespring_dev_commands/target_process/team_assignment.rb +1 -1
  22. data/lib/firespring_dev_commands/target_process/user.rb +1 -13
  23. data/lib/firespring_dev_commands/target_process/user_story.rb +1 -1
  24. data/lib/firespring_dev_commands/target_process/user_story_history.rb +1 -1
  25. data/lib/firespring_dev_commands/target_process.rb +7 -24
  26. data/lib/firespring_dev_commands/templates/aws.rb +6 -33
  27. data/lib/firespring_dev_commands/templates/base_interface.rb +2 -2
  28. data/lib/firespring_dev_commands/templates/ci.rb +11 -16
  29. data/lib/firespring_dev_commands/templates/docker/application.rb +2 -2
  30. data/lib/firespring_dev_commands/templates/docker/node/application.rb +5 -55
  31. data/lib/firespring_dev_commands/templates/docker/php/application.rb +16 -58
  32. data/lib/firespring_dev_commands/templates/docker/ruby/application.rb +5 -54
  33. data/lib/firespring_dev_commands/templates/eol.rb +2 -9
  34. data/lib/firespring_dev_commands/templates/git.rb +0 -165
  35. data/lib/firespring_dev_commands/version.rb +1 -1
  36. data/lib/firespring_dev_commands.rb +1 -1
  37. metadata +37 -113
  38. data/lib/firespring_dev_commands/aws/route53.rb +0 -139
  39. data/lib/firespring_dev_commands/bloom_growth/rock.rb +0 -34
  40. data/lib/firespring_dev_commands/bloom_growth/seat.rb +0 -16
  41. data/lib/firespring_dev_commands/bloom_growth/user.rb +0 -43
  42. data/lib/firespring_dev_commands/bloom_growth.rb +0 -132
  43. data/lib/firespring_dev_commands/certificate.rb +0 -59
  44. data/lib/firespring_dev_commands/coverage/base.rb +0 -16
  45. data/lib/firespring_dev_commands/coverage/cobertura.rb +0 -86
  46. data/lib/firespring_dev_commands/coverage/none.rb +0 -21
  47. data/lib/firespring_dev_commands/dns/resource.rb +0 -83
  48. data/lib/firespring_dev_commands/docker/desktop.rb +0 -61
  49. data/lib/firespring_dev_commands/eol/node.rb +0 -42
  50. data/lib/firespring_dev_commands/eol/php.rb +0 -50
  51. data/lib/firespring_dev_commands/eol/ruby.rb +0 -42
  52. data/lib/firespring_dev_commands/jira/parent.rb +0 -19
  53. data/lib/firespring_dev_commands/os.rb +0 -35
  54. data/lib/firespring_dev_commands/port.rb +0 -24
  55. data/lib/firespring_dev_commands/target_process/time.rb +0 -32
  56. data/lib/firespring_dev_commands/templates/aws/services/route53.rb +0 -111
  57. 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.2.7
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: 2024-07-24 00:00:00.000000000 Z
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.2
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.2
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.97.0
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.97.0
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.67.0
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.67.0
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.68.0
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.0
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.95.0
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.95.0
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.113.0
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.113.0
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.33.0
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.33.0
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.208.0
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.208.0
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.141.0
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.141.0
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.162.0
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.162.0
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.11.0
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.11.0
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,75 +249,61 @@ dependencies:
291
249
  - !ruby/object:Gem::Version
292
250
  version: 2.3.0
293
251
  - !ruby/object:Gem::Dependency
294
- name: octokit
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: 2.14.17
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: 2.14.17
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.4
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.4
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.1.0
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.1.0
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.2.0
299
+ version: 2.1.0
356
300
  type: :runtime
357
301
  prerelease: false
358
302
  version_requirements: !ruby/object:Gem::Requirement
359
303
  requirements:
360
304
  - - "~>"
361
305
  - !ruby/object:Gem::Version
362
- version: 2.2.0
306
+ version: 2.1.0
363
307
  description: Ruby library for creating/maintaining your development environment
364
308
  email: opensource@firespring.com
365
309
  executables: []
@@ -382,50 +326,33 @@ files:
382
326
  - lib/firespring_dev_commands/aws/login.rb
383
327
  - lib/firespring_dev_commands/aws/parameter.rb
384
328
  - lib/firespring_dev_commands/aws/profile.rb
385
- - lib/firespring_dev_commands/aws/route53.rb
386
329
  - lib/firespring_dev_commands/aws/s3.rb
387
- - lib/firespring_dev_commands/bloom_growth.rb
388
- - lib/firespring_dev_commands/bloom_growth/rock.rb
389
- - lib/firespring_dev_commands/bloom_growth/seat.rb
390
- - lib/firespring_dev_commands/bloom_growth/user.rb
391
330
  - lib/firespring_dev_commands/boolean.rb
392
- - lib/firespring_dev_commands/certificate.rb
393
331
  - lib/firespring_dev_commands/common.rb
394
- - lib/firespring_dev_commands/coverage/base.rb
395
- - lib/firespring_dev_commands/coverage/cobertura.rb
396
- - lib/firespring_dev_commands/coverage/none.rb
397
332
  - lib/firespring_dev_commands/daterange.rb
398
- - lib/firespring_dev_commands/dns/resource.rb
399
333
  - lib/firespring_dev_commands/docker.rb
400
334
  - lib/firespring_dev_commands/docker/compose.rb
401
- - lib/firespring_dev_commands/docker/desktop.rb
402
335
  - lib/firespring_dev_commands/docker/status.rb
403
336
  - lib/firespring_dev_commands/dotenv.rb
404
337
  - lib/firespring_dev_commands/env.rb
405
338
  - lib/firespring_dev_commands/eol.rb
406
339
  - lib/firespring_dev_commands/eol/aws.rb
407
- - lib/firespring_dev_commands/eol/node.rb
408
- - lib/firespring_dev_commands/eol/php.rb
409
340
  - lib/firespring_dev_commands/eol/product_version.rb
410
- - lib/firespring_dev_commands/eol/ruby.rb
411
341
  - lib/firespring_dev_commands/git.rb
412
342
  - lib/firespring_dev_commands/git/info.rb
413
343
  - lib/firespring_dev_commands/jira.rb
414
344
  - lib/firespring_dev_commands/jira/histories.rb
415
345
  - lib/firespring_dev_commands/jira/history.rb
416
346
  - lib/firespring_dev_commands/jira/issue.rb
417
- - lib/firespring_dev_commands/jira/parent.rb
418
347
  - lib/firespring_dev_commands/jira/project.rb
419
348
  - lib/firespring_dev_commands/jira/user.rb
420
349
  - lib/firespring_dev_commands/jira/user/type.rb
421
350
  - lib/firespring_dev_commands/logger.rb
422
351
  - lib/firespring_dev_commands/node.rb
423
352
  - lib/firespring_dev_commands/node/audit.rb
424
- - lib/firespring_dev_commands/os.rb
425
353
  - lib/firespring_dev_commands/php.rb
426
354
  - lib/firespring_dev_commands/php/audit.rb
427
355
  - lib/firespring_dev_commands/platform.rb
428
- - lib/firespring_dev_commands/port.rb
429
356
  - lib/firespring_dev_commands/rake.rb
430
357
  - lib/firespring_dev_commands/ruby.rb
431
358
  - lib/firespring_dev_commands/ruby/audit.rb
@@ -441,14 +368,11 @@ files:
441
368
  - lib/firespring_dev_commands/target_process/release.rb
442
369
  - lib/firespring_dev_commands/target_process/team.rb
443
370
  - lib/firespring_dev_commands/target_process/team_assignment.rb
444
- - lib/firespring_dev_commands/target_process/time.rb
445
371
  - lib/firespring_dev_commands/target_process/user.rb
446
372
  - lib/firespring_dev_commands/target_process/user_story.rb
447
373
  - lib/firespring_dev_commands/target_process/user_story_history.rb
448
374
  - lib/firespring_dev_commands/templates/aws.rb
449
- - lib/firespring_dev_commands/templates/aws/services/route53.rb
450
375
  - lib/firespring_dev_commands/templates/base_interface.rb
451
- - lib/firespring_dev_commands/templates/certificate.rb
452
376
  - lib/firespring_dev_commands/templates/ci.rb
453
377
  - lib/firespring_dev_commands/templates/config.rb
454
378
  - lib/firespring_dev_commands/templates/docker/application.rb
@@ -475,9 +399,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
475
399
  version: '3.1'
476
400
  required_rubygems_version: !ruby/object:Gem::Requirement
477
401
  requirements:
478
- - - ">="
402
+ - - ">"
479
403
  - !ruby/object:Gem::Version
480
- version: '0'
404
+ version: 1.3.1
481
405
  requirements: []
482
406
  rubygems_version: 3.4.10
483
407
  signing_key:
@@ -1,139 +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 list_zone_details
71
- zones do |zone|
72
- puts
73
- zone_details, delegation_set = details(zone.id)
74
- dns_resource = Dev::Dns::Resource.new(zone_details.name)
75
-
76
- puts "#{zone_details.name.chomp('.').light_white} (#{zone_details.id}):"
77
- puts format(' %-50s %s', 'Delegation Set:', delegation_set.id)
78
- puts format(' %-50s %s', 'Delegation Defined Nameservers:', delegation_set.name_servers.sort.join(', '))
79
- puts format(' %-50s %s', 'DNS Reported Nameservers:', dns_resource.recursive_nameserver_lookup.sort.join(', '))
80
- puts format(' %-50s %s', 'DNS Reported Nameserver IPs:', dns_resource.recursive_nameserver_lookup.sort.map { |it| dns_resource.recursive_a_lookup(it) }.join(', '))
81
- puts format(' %-50s %s', 'Domain Apex IP Resolution:', dns_resource.recursive_a_lookup.sort.join(', '))
82
- rescue ::Aws::Route53::Errors::Throttling
83
- sleep(1)
84
- retry
85
- end
86
- puts
87
- end
88
-
89
- def list_query_configs
90
- zones do |zone|
91
- target_config_id = target_config_id(zone.id)
92
- message = if target_config_id
93
- "Config\t=>\t#{target_config_id}".colorize(:green)
94
- else
95
- 'No query logging config assigned.'.colorize(:red)
96
- end
97
- puts format('%-50s => %s', zone.name, message)
98
- rescue ::Aws::Route53::Errors::Throttling
99
- sleep(1)
100
- retry
101
- end
102
- end
103
-
104
- def activate_query_logging(log_group)
105
- zones do |zone|
106
- response = client.create_query_logging_config(
107
- hosted_zone_id: zone.id,
108
- cloud_watch_logs_log_group_arn: log_group
109
- )
110
- puts format('%-50s => %s', zone.id, response.location)
111
- rescue ::Aws::Route53::Errors::Throttling
112
- sleep(1)
113
- retry
114
- rescue ::Aws::Route53::Errors::ServiceError => e
115
- raise "Error: #{e.message}" unless e.instance_of?(::Aws::Route53::Errors::QueryLoggingConfigAlreadyExists)
116
-
117
- puts format('%-50s => %s', zone.id, e.message)
118
- end
119
- end
120
-
121
- def deactivate_query_logging
122
- zones do |zone|
123
- target_config_id = target_config_id(zone.id)
124
- if target_config_id
125
- client.delete_query_logging_config(
126
- id: target_config_id
127
- )
128
- puts format('%-50s => %s', zone.id, 'Query logging config removed.'.colorize(:green))
129
- else
130
- puts format('%-50s => %s', zone.id, 'No query logging config assigned.'.colorize(:red))
131
- end
132
- rescue ::Aws::Route53::Errors::Throttling
133
- sleep(1)
134
- retry
135
- end
136
- end
137
- end
138
- end
139
- 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