awful 0.0.157 → 0.0.158
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/awful.gemspec +2 -2
- data/bin/acm +7 -0
- data/lib/awful/acm.rb +74 -0
- data/lib/awful/dynamodb.rb +28 -0
- data/lib/awful/version.rb +1 -1
- metadata +11 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b64a33d63741aa2b4eced60d8e54255ca2b7fce1
|
4
|
+
data.tar.gz: 7c03f2f2db06f75724898fea0b80e8344bdbc08c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a05d120601d21ef058a76ef1eab81cef24c8170ebffe2004682b29398bd1736ef90fd5b63a4d32c88b4d7c092d7913e9d684bd66ad5c77b0bdd5ea8922e36777
|
7
|
+
data.tar.gz: 64d8328c03f27cabae26fca56f99b395344980f98f1e772e81d019d90c9d2ae1f193b3f58f06925484575210efff7784092467b3563afd40ca300ce30fdb707a
|
data/awful.gemspec
CHANGED
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.add_development_dependency "bundler", "~> 1.7"
|
22
22
|
spec.add_development_dependency "rake"
|
23
23
|
|
24
|
-
spec.add_dependency('aws-sdk', '>= 2.
|
25
|
-
spec.add_dependency('thor')
|
24
|
+
spec.add_dependency('aws-sdk', '>= 2.7.2')
|
25
|
+
spec.add_dependency('thor', '< 0.19.2')
|
26
26
|
spec.add_dependency('dotenv')
|
27
27
|
end
|
data/bin/acm
ADDED
data/lib/awful/acm.rb
ADDED
@@ -0,0 +1,74 @@
|
|
1
|
+
require 'yaml'
|
2
|
+
|
3
|
+
module Awful
|
4
|
+
module Short
|
5
|
+
def acm(*args)
|
6
|
+
Awful::Acm.new.invoke(*args)
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
class Acm < Cli
|
11
|
+
no_commands do
|
12
|
+
def acm
|
13
|
+
@_acm ||= Aws::ACM::Client.new
|
14
|
+
end
|
15
|
+
|
16
|
+
def find_cert(n)
|
17
|
+
paginate(:certificate_summary_list) do |next_token|
|
18
|
+
acm.list_certificates(next_token: next_token)
|
19
|
+
end.find do |cert|
|
20
|
+
(n == cert.domain_name) || (n == cert.certificate_arn)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
desc 'ls', 'stuff'
|
26
|
+
method_option :long, aliases: '-l', type: :boolean, default: false, desc: 'long listing'
|
27
|
+
method_option :arn, aliases: '-a', type: :boolean, default: false, desc: 'list ARNs for certs'
|
28
|
+
method_option :statuses, aliases: '-s', type: :array, default: [], desc: 'pending_validation,issued,inactive,expired,validation_timed_out,revoked,failed'
|
29
|
+
def ls
|
30
|
+
paginate(:certificate_summary_list) do |next_token|
|
31
|
+
acm.list_certificates(
|
32
|
+
certificate_statuses: options[:statuses].map(&:upcase),
|
33
|
+
next_token: next_token
|
34
|
+
)
|
35
|
+
end.output do |certs|
|
36
|
+
if options[:long]
|
37
|
+
print_table certs.map { |cert|
|
38
|
+
c = acm.describe_certificate(certificate_arn: cert.certificate_arn).certificate
|
39
|
+
[c.domain_name, c.subject_alternative_names.join(','), c.status, c.type, (c.in_use_by.empty? ? 'in use' : 'not in use')]
|
40
|
+
}
|
41
|
+
elsif options[:arn]
|
42
|
+
print_table certs.map { |c| [c.domain_name, c.certificate_arn] }
|
43
|
+
else
|
44
|
+
puts certs.map(&:domain_name)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
desc 'dump CERT', 'get cert details by ARN or domain name'
|
50
|
+
def dump(n)
|
51
|
+
acm.describe_certificate(certificate_arn: find_cert(n).certificate_arn).certificate.output do |cert|
|
52
|
+
puts YAML.dump(stringify_keys(cert.to_hash))
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
desc 'get CERT', 'get ACM cert and chain'
|
57
|
+
method_option :chain, type: :boolean, default: false, desc: 'print cert chain instead of cert'
|
58
|
+
def get(n)
|
59
|
+
acm.get_certificate(certificate_arn: find_cert(n).certificate_arn).output do |cert|
|
60
|
+
if options[:chain]
|
61
|
+
puts cert.certificate_chain
|
62
|
+
else
|
63
|
+
puts cert.certificate
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
desc 'delete CERT', 'delete certificate from ACM'
|
69
|
+
def delete(n)
|
70
|
+
acm.delete_certificate(certificate_arn: find_cert(n).certificate_arn)
|
71
|
+
end
|
72
|
+
|
73
|
+
end
|
74
|
+
end
|
data/lib/awful/dynamodb.rb
CHANGED
@@ -36,6 +36,14 @@ module Awful
|
|
36
36
|
end
|
37
37
|
tables
|
38
38
|
end
|
39
|
+
|
40
|
+
def get_arn(name)
|
41
|
+
if name.start_with?('arn:aws:dynamodb:') # already an arn
|
42
|
+
name
|
43
|
+
else
|
44
|
+
dynamodb.describe_table(table_name: name).table.table_arn
|
45
|
+
end
|
46
|
+
end
|
39
47
|
end
|
40
48
|
|
41
49
|
desc 'ls [PATTERN]', 'list dynamodb tables [matching PATTERN]'
|
@@ -338,6 +346,26 @@ module Awful
|
|
338
346
|
p r
|
339
347
|
end
|
340
348
|
|
349
|
+
desc 'tags TABLE', 'list tags for table'
|
350
|
+
def tags(name)
|
351
|
+
paginate(:tags) do |token|
|
352
|
+
dynamodb.list_tags_of_resource(resource_arn: get_arn(name), next_token: token)
|
353
|
+
end.output do |tags|
|
354
|
+
print_table tags.map { |t| [t.key, t.value] }
|
355
|
+
end
|
356
|
+
end
|
357
|
+
|
358
|
+
desc 'tag TABLE KEY', 'tag a table'
|
359
|
+
def tag(name, *tags)
|
360
|
+
dynamodb.tag_resource(
|
361
|
+
resource_arn: get_arn(name),
|
362
|
+
tags: tags.map { |t|
|
363
|
+
k, v = t.split(/[=:]/)
|
364
|
+
{key: k, value: v}
|
365
|
+
}
|
366
|
+
)
|
367
|
+
end
|
368
|
+
|
341
369
|
## see lambda_events.rb for subcommands
|
342
370
|
desc 'streams SUBCOMMANDS', 'subcommands for dynamodb streams'
|
343
371
|
subcommand 'streams', Streams
|
data/lib/awful/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: awful
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.158
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ric Lister
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-01-
|
11
|
+
date: 2017-01-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -44,28 +44,28 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 2.
|
47
|
+
version: 2.7.2
|
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: 2.
|
54
|
+
version: 2.7.2
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: thor
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - "<"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 0.19.2
|
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:
|
68
|
+
version: 0.19.2
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: dotenv
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -84,6 +84,7 @@ description: AWS cmdline and yaml loader.
|
|
84
84
|
email:
|
85
85
|
- rlister+gh@gmail.com
|
86
86
|
executables:
|
87
|
+
- acm
|
87
88
|
- alb
|
88
89
|
- ami
|
89
90
|
- apigw
|
@@ -127,6 +128,7 @@ files:
|
|
127
128
|
- README.md
|
128
129
|
- Rakefile
|
129
130
|
- awful.gemspec
|
131
|
+
- bin/acm
|
130
132
|
- bin/alb
|
131
133
|
- bin/ami
|
132
134
|
- bin/apigw
|
@@ -162,6 +164,7 @@ files:
|
|
162
164
|
- bin/vpc
|
163
165
|
- bin/waf
|
164
166
|
- lib/awful.rb
|
167
|
+
- lib/awful/acm.rb
|
165
168
|
- lib/awful/alb.rb
|
166
169
|
- lib/awful/ami.rb
|
167
170
|
- lib/awful/api_gateway.rb
|