awful 0.0.57 → 0.0.58
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 +4 -4
- data/bin/iam +7 -0
- data/lib/awful/auto_scaling.rb +14 -11
- data/lib/awful/elb.rb +4 -1
- data/lib/awful/iam.rb +35 -0
- data/lib/awful/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 82532df739883f1b25a7b7be0b92fd88c521028a
|
4
|
+
data.tar.gz: dfdb638efb7a51acb47aefdcb8f5e7bc6df13acb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f2bd86aa8d5c5345aec0cff44296722f1f878e523c528ac7f7390349a217a89b00aede555558614bc4ad8ce32f2578b529c952464cd176a3a4a07c904a4a5dfc
|
7
|
+
data.tar.gz: 78d510e6dc5a29c80f8e32e110f952d655eb5c04f658eef2520709a6076396e620e0ee9f8623a49435ae7afb3b27af80e61a166a03e38565910cea6e207e5ff8
|
data/bin/iam
ADDED
data/lib/awful/auto_scaling.rb
CHANGED
@@ -8,8 +8,8 @@ module Awful
|
|
8
8
|
InService: :green,
|
9
9
|
Terminating: :red,
|
10
10
|
## health statuses
|
11
|
-
|
12
|
-
|
11
|
+
Healthy: :green,
|
12
|
+
Unhealthy: :red,
|
13
13
|
## activity status
|
14
14
|
Successful: :green,
|
15
15
|
Failed: :red,
|
@@ -151,22 +151,25 @@ module Awful
|
|
151
151
|
def update(name, file = nil)
|
152
152
|
opt = load_cfg(options, file)
|
153
153
|
|
154
|
-
|
155
|
-
|
154
|
+
## allow matching by group name or name tag, but ensure we get only one
|
155
|
+
asgs = all_matching_asgs(name)
|
156
|
+
if asgs.length < 1
|
157
|
+
warn "no match for #{name}"
|
158
|
+
return
|
159
|
+
elsif asgs.length > 1
|
160
|
+
warn "ambiguous match for #{name}:", asgs.map(&:auto_scaling_group_name)
|
161
|
+
return
|
162
|
+
end
|
156
163
|
|
157
164
|
## cleanup the group options
|
158
|
-
opt[:auto_scaling_group_name] =
|
165
|
+
opt[:auto_scaling_group_name] = asgs.first.auto_scaling_group_name
|
159
166
|
opt = remove_empty_strings(opt)
|
160
167
|
|
161
168
|
## update the group
|
169
|
+
whitelist = %i[auto_scaling_group_name launch_configuration_name min_size max_size desired_capacity default_cooldown availability_zones
|
170
|
+
health_check_type health_check_grace_period placement_group vpc_zone_identifier termination_policies ]
|
162
171
|
autoscaling.update_auto_scaling_group(only_keys_matching(opt, whitelist))
|
163
172
|
|
164
|
-
# ## update load_balancers if given
|
165
|
-
# ## TODO: maybe delete instead if empty?
|
166
|
-
# if opt[:load_balancer_names]
|
167
|
-
# autoscaling.attach_load_balancers(auto_scaling_group_name: name, load_balancer_names: opt[:load_balancer_names])
|
168
|
-
# end
|
169
|
-
|
170
173
|
## update any tags
|
171
174
|
if opt[:tags]
|
172
175
|
tags = opt[:tags].map { |tag| tag.merge(resource_id: name, resource_type: 'auto-scaling-group') }
|
data/lib/awful/elb.rb
CHANGED
@@ -37,7 +37,10 @@ module Awful
|
|
37
37
|
desc 'instances NAME', 'list instances and states for elb NAME'
|
38
38
|
method_option :long, aliases: '-l', default: false, desc: 'Long listing'
|
39
39
|
def instances(name)
|
40
|
-
instances =
|
40
|
+
instances = all_matching_elbs(name).map do |e|
|
41
|
+
elb.describe_instance_health(load_balancer_name: e.load_balancer_name).map(&:instance_states)
|
42
|
+
end.flatten
|
43
|
+
|
41
44
|
if instances.empty?
|
42
45
|
instances.tap { puts 'no instances' }
|
43
46
|
else
|
data/lib/awful/iam.rb
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
module Awful
|
2
|
+
|
3
|
+
class IAM < Cli
|
4
|
+
|
5
|
+
no_commands do
|
6
|
+
def iam
|
7
|
+
@iam ||= Aws::IAM::Client.new
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
desc 'certificates [NAME]', 'list server certificates [matching NAME]'
|
12
|
+
method_option :long, aliases: '-l', default: false, desc: 'Long listing'
|
13
|
+
def certificates(name = /./)
|
14
|
+
iam.list_server_certificates.server_certificate_metadata_list.select do |cert|
|
15
|
+
cert.server_certificate_name.match(name)
|
16
|
+
end.tap do |certs|
|
17
|
+
if options[:long]
|
18
|
+
print_table certs.map { |c|
|
19
|
+
[
|
20
|
+
c.server_certificate_name,
|
21
|
+
c.server_certificate_id,
|
22
|
+
c.arn,
|
23
|
+
c.upload_date,
|
24
|
+
c.expiration,
|
25
|
+
]
|
26
|
+
}.sort
|
27
|
+
else
|
28
|
+
puts certs.map(&:server_certificate_name).sort
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
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.58
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ric Lister
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-10-
|
11
|
+
date: 2015-10-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -94,6 +94,7 @@ executables:
|
|
94
94
|
- ec2
|
95
95
|
- ecs
|
96
96
|
- elb
|
97
|
+
- iam
|
97
98
|
- lambda
|
98
99
|
- lc
|
99
100
|
- r53
|
@@ -123,6 +124,7 @@ files:
|
|
123
124
|
- bin/ec2
|
124
125
|
- bin/ecs
|
125
126
|
- bin/elb
|
127
|
+
- bin/iam
|
126
128
|
- bin/lambda
|
127
129
|
- bin/lc
|
128
130
|
- bin/r53
|
@@ -144,6 +146,7 @@ files:
|
|
144
146
|
- lib/awful/ec2.rb
|
145
147
|
- lib/awful/ecs.rb
|
146
148
|
- lib/awful/elb.rb
|
149
|
+
- lib/awful/iam.rb
|
147
150
|
- lib/awful/lambda.rb
|
148
151
|
- lib/awful/launch_config.rb
|
149
152
|
- lib/awful/rds.rb
|