awful 0.0.46 → 0.0.47
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/lib/awful/auto_scaling.rb +24 -11
- data/lib/awful/cloudformation.rb +22 -2
- data/lib/awful/ec2.rb +13 -1
- data/lib/awful/elb.rb +12 -1
- data/lib/awful/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a9ba35ecdd70ca8fee5d800ba790c62c1f408155
|
4
|
+
data.tar.gz: 6b50ea11a998dadc5373a87178c26bde4304b789
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 876875b8a02dfc3fd79987da6bf1941911106fba7167b0a0b363222df69f4adbec0cb8e742b46a390af49437ea7711c549e2784a7b373ac912648b4987ae7d9c
|
7
|
+
data.tar.gz: 46ba584635090d505144bfd5d2791d2dcbe8e95f738919a31cd0b5fc8a0f521fc5dacc0d5ce8be2a42b11fb73883c015dcc9bf4a4ae1113c07fed8fc23d47435
|
data/lib/awful/auto_scaling.rb
CHANGED
@@ -2,6 +2,20 @@ module Awful
|
|
2
2
|
|
3
3
|
class AutoScaling < Cli
|
4
4
|
|
5
|
+
COLORS = {
|
6
|
+
Pending: :yellow,
|
7
|
+
InService: :green,
|
8
|
+
Terminating: :red,
|
9
|
+
HEALTHY: :green,
|
10
|
+
UNHEALTHY: :red,
|
11
|
+
}
|
12
|
+
|
13
|
+
no_commands do
|
14
|
+
def color(string)
|
15
|
+
set_color(string, COLORS.fetch(string.to_sym, :yellow))
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
5
19
|
desc 'ls [PATTERN]', 'list autoscaling groups with name matching PATTERN'
|
6
20
|
method_option :long, aliases: '-l', default: false, desc: 'Long listing'
|
7
21
|
def ls(name = /./)
|
@@ -38,20 +52,19 @@ module Awful
|
|
38
52
|
method_option :long, aliases: '-l', default: false, desc: 'Long listing'
|
39
53
|
method_option :launch_configuration, aliases: '-L', default: false, desc: 'Get instance launch_configs'
|
40
54
|
def instances(name)
|
41
|
-
fields = if options[:long]
|
42
|
-
%i[ instance_id auto_scaling_group_name availability_zone lifecycle_state health_status launch_configuration_name ]
|
43
|
-
elsif options[:launch_configuration]
|
44
|
-
%i[ instance_id launch_configuration_name ]
|
45
|
-
else
|
46
|
-
%i[ instance_id ]
|
47
|
-
end
|
48
|
-
|
49
55
|
autoscaling.describe_auto_scaling_instances.map(&:auto_scaling_instances).flatten.select do |instance|
|
50
56
|
instance.auto_scaling_group_name.match(name)
|
51
57
|
end.tap do |instances|
|
52
|
-
|
53
|
-
|
54
|
-
|
58
|
+
if options[:long]
|
59
|
+
print_table instances.map { |i|
|
60
|
+
[i.instance_id, i.auto_scaling_group_name, i.availability_zone, color(i.lifecycle_state),
|
61
|
+
color(i.health_status), i.launch_configuration_name]
|
62
|
+
}
|
63
|
+
elsif options[:launch_configuration]
|
64
|
+
print_table instances.map { |i| [i.instance_id, i.launch_configuration_name] }
|
65
|
+
else
|
66
|
+
puts instances.map(&:instance_id)
|
67
|
+
end
|
55
68
|
end
|
56
69
|
end
|
57
70
|
|
data/lib/awful/cloudformation.rb
CHANGED
@@ -2,10 +2,30 @@ module Awful
|
|
2
2
|
|
3
3
|
class CloudFormation < Cli
|
4
4
|
|
5
|
+
COLORS = {
|
6
|
+
create_in_progress: :yellow,
|
7
|
+
delete_in_progress: :yellow,
|
8
|
+
update_in_progress: :yellow,
|
9
|
+
update_complete_cleanup_in_progress: :yellow,
|
10
|
+
create_failed: :red,
|
11
|
+
delete_failed: :red,
|
12
|
+
update_failed: :red,
|
13
|
+
create_complete: :green,
|
14
|
+
delete_complete: :green,
|
15
|
+
update_complete: :green,
|
16
|
+
delete_skipped: :yellow,
|
17
|
+
rollback_in_progress: :red,
|
18
|
+
rollback_complete: :red,
|
19
|
+
}
|
20
|
+
|
5
21
|
no_commands do
|
6
22
|
def cf
|
7
23
|
@cf ||= Aws::CloudFormation::Client.new
|
8
24
|
end
|
25
|
+
|
26
|
+
def color(string)
|
27
|
+
set_color(string, COLORS.fetch(string.downcase.to_sym, :blue))
|
28
|
+
end
|
9
29
|
end
|
10
30
|
|
11
31
|
desc 'ls [PATTERN]', 'list cloudformation stacks matching PATTERN'
|
@@ -23,7 +43,7 @@ module Awful
|
|
23
43
|
|
24
44
|
stacks.tap do |stacks|
|
25
45
|
if options[:long]
|
26
|
-
print_table stacks.map { |s| [s.stack_name, s.creation_time, s.stack_status, s.template_description] }
|
46
|
+
print_table stacks.map { |s| [s.stack_name, s.creation_time, color(s.stack_status), s.template_description] }
|
27
47
|
else
|
28
48
|
puts stacks.map(&:stack_name)
|
29
49
|
end
|
@@ -85,7 +105,7 @@ module Awful
|
|
85
105
|
desc 'events NAME', 'show events for stack with name NAME'
|
86
106
|
def events(name)
|
87
107
|
cf.describe_stack_events(stack_name: name).stack_events.tap do |events|
|
88
|
-
print_table events.map { |e| [e.timestamp, e.resource_status, e.resource_type, e.logical_resource_id, e.resource_status_reason] }
|
108
|
+
print_table events.map { |e| [e.timestamp, color(e.resource_status), e.resource_type, e.logical_resource_id, e.resource_status_reason] }
|
89
109
|
end
|
90
110
|
end
|
91
111
|
|
data/lib/awful/ec2.rb
CHANGED
@@ -4,11 +4,23 @@ module Awful
|
|
4
4
|
|
5
5
|
class Ec2 < Cli
|
6
6
|
|
7
|
+
COLORS = {
|
8
|
+
running: :green,
|
9
|
+
stopped: :yellow,
|
10
|
+
terminated: :red,
|
11
|
+
}
|
12
|
+
|
13
|
+
no_commands do
|
14
|
+
def color(string)
|
15
|
+
set_color(string, COLORS.fetch(string.to_sym, :yellow))
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
7
19
|
desc 'ls [PATTERN]', 'list EC2 instances [with id or tags matching PATTERN]'
|
8
20
|
method_option :long, aliases: '-l', default: false, desc: 'Long listing'
|
9
21
|
def ls(name = /./)
|
10
22
|
fields = options[:long] ?
|
11
|
-
->(i) { [ (tag_name(i) || '-').slice(0..40), i.instance_id, i.instance_type, i.virtualization_type, i.placement.availability_zone, i.state.name,
|
23
|
+
->(i) { [ (tag_name(i) || '-').slice(0..40), i.instance_id, i.instance_type, i.virtualization_type, i.placement.availability_zone, color(i.state.name),
|
12
24
|
i.security_groups.map(&:group_name).join(',').slice(0..30), i.private_ip_address, i.public_ip_address ] } :
|
13
25
|
->(i) { [ tag_name(i) || i.instance_id ] }
|
14
26
|
|
data/lib/awful/elb.rb
CHANGED
@@ -2,6 +2,17 @@ module Awful
|
|
2
2
|
|
3
3
|
class Elb < Cli
|
4
4
|
|
5
|
+
COLORS = {
|
6
|
+
InService: :green,
|
7
|
+
OutOfService: :red,
|
8
|
+
}
|
9
|
+
|
10
|
+
no_commands do
|
11
|
+
def color(string)
|
12
|
+
set_color(string, COLORS.fetch(string.to_sym, :yellow))
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
5
16
|
desc 'ls [PATTERN]', 'list vpcs [with any tags matching PATTERN]'
|
6
17
|
method_option :long, aliases: '-l', default: false, desc: 'Long listing'
|
7
18
|
def ls(name = /./)
|
@@ -30,7 +41,7 @@ module Awful
|
|
30
41
|
ec2.describe_instances(instance_ids: instances_by_id.keys).map(&:reservations).flatten.map(&:instances).flatten.map do |instance|
|
31
42
|
health = instances_by_id[instance.instance_id]
|
32
43
|
instance_name = tag_name(instance) || '-'
|
33
|
-
[ instance.instance_id, instance_name, instance.public_ip_address, health.state, health.reason_code, health.description ]
|
44
|
+
[ instance.instance_id, instance_name, instance.public_ip_address, color(health.state), health.reason_code, health.description ]
|
34
45
|
end.tap { |list| print_table list }
|
35
46
|
else
|
36
47
|
instances_by_id.keys.tap { |list| puts list }
|
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.47
|
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-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|