awful 0.0.183 → 0.1.0.alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/awful.gemspec +13 -3
- data/bin/firehose +7 -0
- data/bin/kinesis +7 -0
- data/bin/{param → secret} +2 -2
- data/lib/awful/alb.rb +3 -5
- data/lib/awful/ami.rb +1 -5
- data/lib/awful/auto_scaling.rb +3 -5
- data/lib/awful/changesets.rb +3 -5
- data/lib/awful/cloudformation.rb +54 -41
- data/lib/awful/cloudfront.rb +1 -5
- data/lib/awful/cloudwatch_events.rb +1 -5
- data/lib/awful/config.rb +1 -5
- data/lib/awful/dynamodb.rb +2 -5
- data/lib/awful/ec2.rb +0 -13
- data/lib/awful/ecr.rb +2 -1
- data/lib/awful/ecs.rb +1 -5
- data/lib/awful/elasticache.rb +1 -5
- data/lib/awful/elb.rb +1 -5
- data/lib/awful/emr.rb +1 -5
- data/lib/awful/firehose.rb +63 -0
- data/lib/awful/iam.rb +1 -5
- data/lib/awful/kinesis.rb +62 -0
- data/lib/awful/kms.rb +1 -5
- data/lib/awful/lambda_events.rb +1 -7
- data/lib/awful/rds.rb +2 -0
- data/lib/awful/s3.rb +28 -1
- data/lib/awful/secret.rb +56 -0
- data/lib/awful/ssm.rb +68 -11
- data/lib/awful/version.rb +2 -2
- data/lib/awful/vpc.rb +33 -8
- data/lib/awful/vpce.rb +1 -7
- data/lib/awful.rb +26 -2
- metadata +154 -23
- data/lib/awful/param.rb +0 -101
data/lib/awful/s3.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
require 'aws-sdk-s3'
|
|
2
|
+
|
|
1
3
|
module Awful
|
|
2
4
|
module Short
|
|
3
5
|
def s3(*args)
|
|
@@ -17,6 +19,18 @@ module Awful
|
|
|
17
19
|
rescue Aws::S3::Errors::NoSuchTagSet # sdk throws this if no tags
|
|
18
20
|
nil
|
|
19
21
|
end
|
|
22
|
+
|
|
23
|
+
def get_stack_tag(name)
|
|
24
|
+
(get_tags(name) || []).find do |tag|
|
|
25
|
+
tag.key == 'aws:cloudformation:stack-name'
|
|
26
|
+
end&.value
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def stack_exists?(name)
|
|
30
|
+
cf.describe_stacks(stack_name: name) && true
|
|
31
|
+
rescue ::Aws::CloudFormation::Errors::ValidationError
|
|
32
|
+
false
|
|
33
|
+
end
|
|
20
34
|
end
|
|
21
35
|
|
|
22
36
|
desc 'ls PATTERN', 'list buckets or objects'
|
|
@@ -197,5 +211,18 @@ module Awful
|
|
|
197
211
|
}
|
|
198
212
|
)
|
|
199
213
|
end
|
|
214
|
+
|
|
215
|
+
desc 'orphans', 'find empty buckets from a deleted CFN stack'
|
|
216
|
+
method_option :delete, type: :boolean, default: false, desc: 'delete orphaned buckets'
|
|
217
|
+
def orphans
|
|
218
|
+
s3.list_buckets.buckets.each do |bucket|
|
|
219
|
+
if (stack = get_stack_tag(bucket.name))
|
|
220
|
+
next if stack_exists?(stack)
|
|
221
|
+
puts bucket.name
|
|
222
|
+
s3.delete_bucket(bucket: bucket.name) if options[:delete]
|
|
223
|
+
end
|
|
224
|
+
end
|
|
225
|
+
end
|
|
226
|
+
|
|
200
227
|
end
|
|
201
|
-
end
|
|
228
|
+
end
|
data/lib/awful/secret.rb
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
require 'aws-sdk-secretsmanager'
|
|
2
|
+
|
|
3
|
+
module Awful
|
|
4
|
+
class Secret < Cli
|
|
5
|
+
COLORS = {
|
|
6
|
+
AWSCURRENT: :green
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
no_commands do
|
|
10
|
+
def client
|
|
11
|
+
@_client ||= Aws::SecretsManager::Client.new
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
desc 'ls', 'list secrets'
|
|
16
|
+
def ls(prefix = nil)
|
|
17
|
+
client.list_secrets.map(&:secret_list).flatten.tap do |secrets|
|
|
18
|
+
secrets.select! { |s| s.name.start_with?(prefix) } if prefix
|
|
19
|
+
end.map do |s|
|
|
20
|
+
[ s.name, s.created_date, s.primary_region ]
|
|
21
|
+
end.tap do |list|
|
|
22
|
+
print_table list.sort
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
desc 'get SECRET', 'get secret value'
|
|
27
|
+
method_option :show, aliases: '-s', type: :boolean, default: false, desc: 'show secret values'
|
|
28
|
+
method_option :previous, aliases: '-p', type: :boolean, default: false, desc: 'show previous value'
|
|
29
|
+
def get(id)
|
|
30
|
+
string = client.get_secret_value(secret_id: id).secret_string
|
|
31
|
+
begin
|
|
32
|
+
hash = JSON.parse(string)
|
|
33
|
+
hash.each { |k,v| hash[k] = "#{v.bytesize} bytes" } unless options[:show]
|
|
34
|
+
print_table hash.sort
|
|
35
|
+
rescue JSON::ParserError
|
|
36
|
+
puts string
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
desc 'history SECRET', 'get secret versions'
|
|
41
|
+
def history(id)
|
|
42
|
+
print_table client.list_secret_version_ids(secret_id: id).versions.map { |v|
|
|
43
|
+
[ v.version_id, color(v.version_stages.join(',')), v.created_date ]
|
|
44
|
+
}
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
desc 'delete SECRET', 'delete secret'
|
|
48
|
+
method_option :window, aliases: '-w', type: :numeric, default: 7, desc: 'recovery window in days'
|
|
49
|
+
def delete(id)
|
|
50
|
+
if yes?("Really delete secret #{id}?", :yellow)
|
|
51
|
+
puts client.delete_secret(secret_id: id, recovery_window_in_days: options[:window]).deletion_date
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
end
|
|
56
|
+
end
|
data/lib/awful/ssm.rb
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
module Short
|
|
3
|
-
def ssm(*args)
|
|
4
|
-
Awful::Ssm.new.invoke(*args)
|
|
5
|
-
end
|
|
6
|
-
end
|
|
1
|
+
require 'aws-sdk-ssm'
|
|
7
2
|
|
|
3
|
+
module Awful
|
|
8
4
|
class Ssm < Cli
|
|
9
5
|
COLORS = {
|
|
10
6
|
Success: :green,
|
|
@@ -17,15 +13,76 @@ module Awful
|
|
|
17
13
|
def ssm
|
|
18
14
|
@ssm ||= Aws::SSM::Client.new
|
|
19
15
|
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
desc 'ls [PREFIX]', 'list parameters'
|
|
19
|
+
def ls(prefix = '/')
|
|
20
|
+
filters = [ { key: :Name, option: :BeginsWith, values: [ prefix.sub(/^(\w)/, '/\1') ] } ]
|
|
21
|
+
ssm.describe_parameters(parameter_filters: filters).each do |response|
|
|
22
|
+
response.parameters.each { |p| puts p.name }
|
|
23
|
+
sleep 0.1 # this api will throttle easily
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
desc 'get NAME', 'get parameter value'
|
|
28
|
+
method_option :decrypt, aliases: '-d', type: :boolean, default: false, desc: 'decrypt SecureString'
|
|
29
|
+
def get(name)
|
|
30
|
+
puts ssm.get_parameter(name: name, with_decryption: options[:decrypt]).parameter.value
|
|
31
|
+
rescue Aws::SSM::Errors::ParameterNotFound => e
|
|
32
|
+
error(e.message)
|
|
33
|
+
end
|
|
20
34
|
|
|
21
|
-
|
|
22
|
-
|
|
35
|
+
desc 'path NAME', 'get parameters by path'
|
|
36
|
+
method_option :decrypt, aliases: '-d', type: :boolean, default: false, desc: 'decrypt SecureString'
|
|
37
|
+
method_option :recursive, aliases: '-r', type: :boolean, default: false, desc: 'recurse hierarchy'
|
|
38
|
+
method_option :show, aliases: '-s', type: :boolean, default: false, desc: 'show values'
|
|
39
|
+
def path(path)
|
|
40
|
+
cmd = options[:show] ? ->(p) { puts "#{p.name} #{p.value}" } : ->(p) { puts p.name }
|
|
41
|
+
ssm.get_parameters_by_path(path: path, with_decryption: options[:decrypt], recursive: options[:recursive]).each do |response|
|
|
42
|
+
response.parameters.each(&cmd.method(:call))
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
desc 'put NAME VALUE', 'put parameter'
|
|
47
|
+
method_option :description, aliases: '-d', type: :string, default: nil, desc: 'description for params'
|
|
48
|
+
method_option :key_id, aliases: '-k', type: :string, default: nil, desc: 'KMS key for SecureString params'
|
|
49
|
+
method_option :overwrite, aliases: '-o', type: :boolean, default: false, desc: 'overwrite existing params'
|
|
50
|
+
method_option :type, aliases: '-t', type: :string, default: :String, desc: 'String, StringList, SecureString'
|
|
51
|
+
def put(name, value)
|
|
52
|
+
ssm.put_parameter(
|
|
53
|
+
name: name,
|
|
54
|
+
value: value,
|
|
55
|
+
description: options[:description],
|
|
56
|
+
type: options[:type],
|
|
57
|
+
key_id: options[:key_id],
|
|
58
|
+
overwrite: options[:overwrite],
|
|
59
|
+
)
|
|
60
|
+
rescue Aws::SSM::Errors::ParameterAlreadyExists => e
|
|
61
|
+
error(e.message)
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
desc 'delete NAME', 'delete parameter'
|
|
65
|
+
def delete(name)
|
|
66
|
+
if yes?("Really delete parameter #{name}?", :yellow)
|
|
67
|
+
ssm.delete_parameter(name: name)
|
|
68
|
+
end
|
|
69
|
+
rescue Aws::SSM::Errors::ParameterNotFound => e
|
|
70
|
+
error(e.message)
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
desc 'history NAME', 'get parameter history'
|
|
74
|
+
method_option :decrypt, aliases: '-d', type: :boolean, default: false, desc: 'decrypt SecureString'
|
|
75
|
+
def history(name)
|
|
76
|
+
ssm.get_parameter_history(name: name, with_decryption: options[:decrypt]).each do |p|
|
|
77
|
+
print_table p.parameters.map { |h|
|
|
78
|
+
[ h.version, h.last_modified_date, h.value ]
|
|
79
|
+
}
|
|
23
80
|
end
|
|
24
81
|
end
|
|
25
82
|
|
|
26
|
-
desc '
|
|
83
|
+
desc 'commands', 'list commands'
|
|
27
84
|
method_option :long, aliases: '-l', type: :boolean, default: false, desc: 'Long listing'
|
|
28
|
-
def
|
|
85
|
+
def commands
|
|
29
86
|
ssm.list_commands.commands.output do |cmds|
|
|
30
87
|
if options[:long]
|
|
31
88
|
print_table cmds.map { |c|
|
|
@@ -91,4 +148,4 @@ module Awful
|
|
|
91
148
|
end
|
|
92
149
|
end
|
|
93
150
|
end
|
|
94
|
-
end
|
|
151
|
+
end
|
data/lib/awful/version.rb
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
module Awful
|
|
2
|
-
VERSION = '0.0.
|
|
3
|
-
end
|
|
2
|
+
VERSION = '0.1.0.alpha.2'
|
|
3
|
+
end
|
data/lib/awful/vpc.rb
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
module Awful
|
|
2
|
-
module Short
|
|
3
|
-
def vpc(*args)
|
|
4
|
-
Awful::Vpc.new.invoke(*args)
|
|
5
|
-
end
|
|
6
|
-
end
|
|
7
|
-
|
|
8
2
|
class Vpc < Cli
|
|
3
|
+
COLORS = {
|
|
4
|
+
active: :green,
|
|
5
|
+
available: :green,
|
|
6
|
+
deleted: :red,
|
|
7
|
+
expired: :red,
|
|
8
|
+
failed: :red,
|
|
9
|
+
rejected: :red,
|
|
10
|
+
}
|
|
9
11
|
|
|
10
12
|
desc 'ls [PATTERN]', 'list vpcs [with any tags matching PATTERN]'
|
|
11
13
|
method_option :long, aliases: '-l', type: :boolean, default: false, desc: 'Long listing'
|
|
12
14
|
def ls(name = /./)
|
|
13
15
|
fields = options[:long] ?
|
|
14
|
-
->(v) { [tag_name(v), v.vpc_id, v.state, v.cidr_block] } :
|
|
16
|
+
->(v) { [tag_name(v), v.vpc_id, color(v.state), v.cidr_block] } :
|
|
15
17
|
->(v) { [v.vpc_id] }
|
|
16
18
|
ec2.describe_vpcs.map(&:vpcs).flatten.select do |vpc|
|
|
17
19
|
vpc.tags.any? { |tag| tag.value.match(name) }
|
|
@@ -31,6 +33,29 @@ module Awful
|
|
|
31
33
|
end
|
|
32
34
|
end
|
|
33
35
|
|
|
34
|
-
|
|
36
|
+
desc 'delete VPC', 'delete vpc'
|
|
37
|
+
def delete(vpc_id)
|
|
38
|
+
if yes?("Really delete vpc #{vpc_id}?", :yellow)
|
|
39
|
+
p ec2.delete_vpc(vpc_id: vpc_id)
|
|
40
|
+
end
|
|
41
|
+
rescue Aws::EC2::Errors::DependencyViolation => e
|
|
42
|
+
error(e.message)
|
|
43
|
+
rescue Aws::EC2::Errors::InvalidVpcIDNotFound => e
|
|
44
|
+
error(e.message)
|
|
45
|
+
end
|
|
35
46
|
|
|
47
|
+
desc 'peers', 'list vpc peers'
|
|
48
|
+
def peers
|
|
49
|
+
ec2.describe_vpc_peering_connections.map(&:vpc_peering_connections).flatten.map do |p|
|
|
50
|
+
[
|
|
51
|
+
tag_name(p, '-'), p.vpc_peering_connection_id, color(p.status.code),
|
|
52
|
+
p.requester_vpc_info.vpc_id, p.accepter_vpc_info.vpc_id,
|
|
53
|
+
p.requester_vpc_info.cidr_block, p.accepter_vpc_info.cidr_block,
|
|
54
|
+
]
|
|
55
|
+
end.tap do |list|
|
|
56
|
+
print_table list.sort
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
end
|
|
36
61
|
end
|
data/lib/awful/vpce.rb
CHANGED
|
@@ -13,12 +13,6 @@ module Awful
|
|
|
13
13
|
deleted: :green,
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
no_commands do
|
|
17
|
-
def color(string)
|
|
18
|
-
set_color(string, COLORS.fetch(string.to_sym, :yellow))
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
|
|
22
16
|
desc 'ls [IDs]', 'list VPC endpoints'
|
|
23
17
|
method_option :long, aliases: '-l', type: :boolean, default: false, desc: 'long listing'
|
|
24
18
|
method_option :vpc, aliases: '-v', type: :array, default: [], desc: 'VPC IDs to filter'
|
|
@@ -54,4 +48,4 @@ module Awful
|
|
|
54
48
|
end
|
|
55
49
|
|
|
56
50
|
end
|
|
57
|
-
end
|
|
51
|
+
end
|
data/lib/awful.rb
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
require 'aws-sdk-s3'
|
|
2
|
+
require 'aws-sdk-ec2'
|
|
1
3
|
require 'awful/version'
|
|
2
4
|
|
|
3
5
|
require 'dotenv'
|
|
4
|
-
require 'aws-sdk'
|
|
5
6
|
require 'thor'
|
|
6
7
|
require 'yaml'
|
|
7
8
|
require 'erb'
|
|
@@ -33,6 +34,10 @@ module Awful
|
|
|
33
34
|
options[:yes] ? say("#{statement} yes", color) : super(statement, color)
|
|
34
35
|
end
|
|
35
36
|
|
|
37
|
+
def color(string)
|
|
38
|
+
set_color(string, self.class::COLORS.fetch(string.to_sym, :yellow))
|
|
39
|
+
end
|
|
40
|
+
|
|
36
41
|
def ec2
|
|
37
42
|
@ec2 ||= Aws::EC2::Client.new
|
|
38
43
|
end
|
|
@@ -76,6 +81,10 @@ module Awful
|
|
|
76
81
|
@s3 ||= Aws::S3::Client.new
|
|
77
82
|
end
|
|
78
83
|
|
|
84
|
+
def cf
|
|
85
|
+
@cf ||= Aws::CloudFormation::Client.new
|
|
86
|
+
end
|
|
87
|
+
|
|
79
88
|
def lambda
|
|
80
89
|
@lambda ||= Aws::Lambda::Client.new
|
|
81
90
|
end
|
|
@@ -84,6 +93,10 @@ module Awful
|
|
|
84
93
|
@support ||= Aws::Support::Client.new
|
|
85
94
|
end
|
|
86
95
|
|
|
96
|
+
def cf
|
|
97
|
+
@cf ||= Aws::CloudFormation::Client.new
|
|
98
|
+
end
|
|
99
|
+
|
|
87
100
|
def symbolize_keys(thing)
|
|
88
101
|
if thing.is_a?(Hash)
|
|
89
102
|
Hash[ thing.map { |k,v| [ k.to_sym, symbolize_keys(v) ] } ]
|
|
@@ -184,5 +197,16 @@ module Awful
|
|
|
184
197
|
things
|
|
185
198
|
end
|
|
186
199
|
end
|
|
200
|
+
|
|
201
|
+
desc 'version', 'print version'
|
|
202
|
+
def version
|
|
203
|
+
puts VERSION
|
|
204
|
+
exit
|
|
205
|
+
end
|
|
206
|
+
|
|
207
|
+
desc 'll', 'long list'
|
|
208
|
+
def ll(*args)
|
|
209
|
+
invoke :ls, args, options.merge(long: true)
|
|
210
|
+
end
|
|
187
211
|
end
|
|
188
|
-
end
|
|
212
|
+
end
|
metadata
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: awful
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.1.0.alpha.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ric Lister
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2022-02-14 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- - "
|
|
17
|
+
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
19
|
+
version: '0'
|
|
20
20
|
type: :development
|
|
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: '
|
|
26
|
+
version: '0'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: rake
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -39,21 +39,21 @@ dependencies:
|
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: '0'
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
|
-
name:
|
|
42
|
+
name: thor
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
|
-
- - "
|
|
45
|
+
- - ">="
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '
|
|
47
|
+
version: '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: '
|
|
54
|
+
version: '0'
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
|
-
name:
|
|
56
|
+
name: dotenv
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
59
|
- - ">="
|
|
@@ -67,7 +67,133 @@ dependencies:
|
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
68
|
version: '0'
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
|
-
name:
|
|
70
|
+
name: aws-sdk-autoscaling
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - ">="
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '0'
|
|
76
|
+
type: :runtime
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - ">="
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: '0'
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: aws-sdk-cloudformation
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - ">="
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '0'
|
|
90
|
+
type: :runtime
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - ">="
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: '0'
|
|
97
|
+
- !ruby/object:Gem::Dependency
|
|
98
|
+
name: aws-sdk-dynamodb
|
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
|
100
|
+
requirements:
|
|
101
|
+
- - ">="
|
|
102
|
+
- !ruby/object:Gem::Version
|
|
103
|
+
version: '0'
|
|
104
|
+
type: :runtime
|
|
105
|
+
prerelease: false
|
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
+
requirements:
|
|
108
|
+
- - ">="
|
|
109
|
+
- !ruby/object:Gem::Version
|
|
110
|
+
version: '0'
|
|
111
|
+
- !ruby/object:Gem::Dependency
|
|
112
|
+
name: aws-sdk-ec2
|
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
|
114
|
+
requirements:
|
|
115
|
+
- - ">="
|
|
116
|
+
- !ruby/object:Gem::Version
|
|
117
|
+
version: '0'
|
|
118
|
+
type: :runtime
|
|
119
|
+
prerelease: false
|
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
+
requirements:
|
|
122
|
+
- - ">="
|
|
123
|
+
- !ruby/object:Gem::Version
|
|
124
|
+
version: '0'
|
|
125
|
+
- !ruby/object:Gem::Dependency
|
|
126
|
+
name: aws-sdk-ecr
|
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
|
128
|
+
requirements:
|
|
129
|
+
- - ">="
|
|
130
|
+
- !ruby/object:Gem::Version
|
|
131
|
+
version: '0'
|
|
132
|
+
type: :runtime
|
|
133
|
+
prerelease: false
|
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
135
|
+
requirements:
|
|
136
|
+
- - ">="
|
|
137
|
+
- !ruby/object:Gem::Version
|
|
138
|
+
version: '0'
|
|
139
|
+
- !ruby/object:Gem::Dependency
|
|
140
|
+
name: aws-sdk-elasticloadbalancingv2
|
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
|
142
|
+
requirements:
|
|
143
|
+
- - ">="
|
|
144
|
+
- !ruby/object:Gem::Version
|
|
145
|
+
version: '0'
|
|
146
|
+
type: :runtime
|
|
147
|
+
prerelease: false
|
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
149
|
+
requirements:
|
|
150
|
+
- - ">="
|
|
151
|
+
- !ruby/object:Gem::Version
|
|
152
|
+
version: '0'
|
|
153
|
+
- !ruby/object:Gem::Dependency
|
|
154
|
+
name: aws-sdk-rds
|
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
|
156
|
+
requirements:
|
|
157
|
+
- - ">="
|
|
158
|
+
- !ruby/object:Gem::Version
|
|
159
|
+
version: '0'
|
|
160
|
+
type: :runtime
|
|
161
|
+
prerelease: false
|
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
163
|
+
requirements:
|
|
164
|
+
- - ">="
|
|
165
|
+
- !ruby/object:Gem::Version
|
|
166
|
+
version: '0'
|
|
167
|
+
- !ruby/object:Gem::Dependency
|
|
168
|
+
name: aws-sdk-s3
|
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
|
170
|
+
requirements:
|
|
171
|
+
- - ">="
|
|
172
|
+
- !ruby/object:Gem::Version
|
|
173
|
+
version: '0'
|
|
174
|
+
type: :runtime
|
|
175
|
+
prerelease: false
|
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
177
|
+
requirements:
|
|
178
|
+
- - ">="
|
|
179
|
+
- !ruby/object:Gem::Version
|
|
180
|
+
version: '0'
|
|
181
|
+
- !ruby/object:Gem::Dependency
|
|
182
|
+
name: aws-sdk-secretsmanager
|
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
|
184
|
+
requirements:
|
|
185
|
+
- - ">="
|
|
186
|
+
- !ruby/object:Gem::Version
|
|
187
|
+
version: '0'
|
|
188
|
+
type: :runtime
|
|
189
|
+
prerelease: false
|
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
191
|
+
requirements:
|
|
192
|
+
- - ">="
|
|
193
|
+
- !ruby/object:Gem::Version
|
|
194
|
+
version: '0'
|
|
195
|
+
- !ruby/object:Gem::Dependency
|
|
196
|
+
name: aws-sdk-ssm
|
|
71
197
|
requirement: !ruby/object:Gem::Requirement
|
|
72
198
|
requirements:
|
|
73
199
|
- - ">="
|
|
@@ -105,16 +231,18 @@ executables:
|
|
|
105
231
|
- elasticache
|
|
106
232
|
- elb
|
|
107
233
|
- emr
|
|
234
|
+
- firehose
|
|
108
235
|
- iam
|
|
109
236
|
- keypair
|
|
237
|
+
- kinesis
|
|
110
238
|
- kms
|
|
111
239
|
- lambda
|
|
112
240
|
- lc
|
|
113
|
-
- param
|
|
114
241
|
- r53
|
|
115
242
|
- rds
|
|
116
243
|
- route
|
|
117
244
|
- s3
|
|
245
|
+
- secret
|
|
118
246
|
- sg
|
|
119
247
|
- sqs
|
|
120
248
|
- ssm
|
|
@@ -154,16 +282,18 @@ files:
|
|
|
154
282
|
- bin/elasticache
|
|
155
283
|
- bin/elb
|
|
156
284
|
- bin/emr
|
|
285
|
+
- bin/firehose
|
|
157
286
|
- bin/iam
|
|
158
287
|
- bin/keypair
|
|
288
|
+
- bin/kinesis
|
|
159
289
|
- bin/kms
|
|
160
290
|
- bin/lambda
|
|
161
291
|
- bin/lc
|
|
162
|
-
- bin/param
|
|
163
292
|
- bin/r53
|
|
164
293
|
- bin/rds
|
|
165
294
|
- bin/route
|
|
166
295
|
- bin/s3
|
|
296
|
+
- bin/secret
|
|
167
297
|
- bin/sg
|
|
168
298
|
- bin/sqs
|
|
169
299
|
- bin/ssm
|
|
@@ -201,17 +331,19 @@ files:
|
|
|
201
331
|
- lib/awful/elasticache.rb
|
|
202
332
|
- lib/awful/elb.rb
|
|
203
333
|
- lib/awful/emr.rb
|
|
334
|
+
- lib/awful/firehose.rb
|
|
204
335
|
- lib/awful/iam.rb
|
|
205
336
|
- lib/awful/keypair.rb
|
|
337
|
+
- lib/awful/kinesis.rb
|
|
206
338
|
- lib/awful/kms.rb
|
|
207
339
|
- lib/awful/lambda.rb
|
|
208
340
|
- lib/awful/lambda_events.rb
|
|
209
341
|
- lib/awful/launch_config.rb
|
|
210
|
-
- lib/awful/param.rb
|
|
211
342
|
- lib/awful/rds.rb
|
|
212
343
|
- lib/awful/route53.rb
|
|
213
344
|
- lib/awful/route_table.rb
|
|
214
345
|
- lib/awful/s3.rb
|
|
346
|
+
- lib/awful/secret.rb
|
|
215
347
|
- lib/awful/security_group.rb
|
|
216
348
|
- lib/awful/sqs.rb
|
|
217
349
|
- lib/awful/ssm.rb
|
|
@@ -229,7 +361,7 @@ homepage: ''
|
|
|
229
361
|
licenses:
|
|
230
362
|
- MIT
|
|
231
363
|
metadata: {}
|
|
232
|
-
post_install_message:
|
|
364
|
+
post_install_message:
|
|
233
365
|
rdoc_options: []
|
|
234
366
|
require_paths:
|
|
235
367
|
- lib
|
|
@@ -240,13 +372,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
240
372
|
version: '0'
|
|
241
373
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
242
374
|
requirements:
|
|
243
|
-
- - "
|
|
375
|
+
- - ">"
|
|
244
376
|
- !ruby/object:Gem::Version
|
|
245
|
-
version:
|
|
377
|
+
version: 1.3.1
|
|
246
378
|
requirements: []
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
signing_key:
|
|
379
|
+
rubygems_version: 3.1.4
|
|
380
|
+
signing_key:
|
|
250
381
|
specification_version: 4
|
|
251
382
|
summary: Simple AWS command-line tool.
|
|
252
383
|
test_files: []
|