awslanes 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/awslanes.gemspec +1 -0
- data/cmd/build.sh +7 -0
- data/lib/lanes.rb +27 -14
- data/lib/lanes/version.rb +1 -1
- metadata +18 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 61d5264586ea12544f5ed60a050b9eaf9dfa705a
|
4
|
+
data.tar.gz: 189ad401623c0eef45500dc7f8814cac4dfc2f9b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5f5d102680808adae95e99e0d9d1b315d7a65427cbb44899677616a69dc6a8cdfc66c13998151943b1126d2d6eef5b6965028f2442ab146db428228afa9e3b1c
|
7
|
+
data.tar.gz: b9a03db047585f27df74ece747c68b2c264d2d327e3b1af8f742b6a1b65ce857b7f7b97b8416c48c33c4c8eba45e157ddf1e26a305b5ff119ddb351b06e0993b
|
data/awslanes.gemspec
CHANGED
data/cmd/build.sh
ADDED
data/lib/lanes.rb
CHANGED
@@ -7,9 +7,11 @@ require 'thor'
|
|
7
7
|
require 'yaml'
|
8
8
|
require 'awscli'
|
9
9
|
require 'rest_client'
|
10
|
+
require 'command_line_reporter'
|
10
11
|
|
11
12
|
module LanesCli
|
12
13
|
class Lanes < Thor
|
14
|
+
include CommandLineReporter
|
13
15
|
|
14
16
|
desc "switch [profile]", "Switches AWS profiles (e.g. ~/.lanes/lanes.yml entry)"
|
15
17
|
def switch(profile)
|
@@ -25,9 +27,8 @@ module LanesCli
|
|
25
27
|
def list(lane=nil)
|
26
28
|
servers = AWS.instance.fetchServers(lane)
|
27
29
|
servers.sort_by!{ |s| [s[:lane], s[:name]] }
|
28
|
-
servers
|
29
|
-
|
30
|
-
}
|
30
|
+
display_server_table(servers)
|
31
|
+
|
31
32
|
end
|
32
33
|
|
33
34
|
desc "ssh [LANE]", "Lists all servers name + ip + Instance ID, optionally filtered by lane, and prompts which one for ssh"
|
@@ -58,11 +59,7 @@ module LanesCli
|
|
58
59
|
servers = AWS.instance.fetchServers(lane)
|
59
60
|
servers.sort_by{ |s| s[:ip] }
|
60
61
|
|
61
|
-
|
62
|
-
servers.each_with_index {|server|
|
63
|
-
puts "\t%{name} (%{lane}) \t %{ip} \t %{id} " % server
|
64
|
-
}
|
65
|
-
|
62
|
+
display_server_table(servers, title: "Available Servers:")
|
66
63
|
|
67
64
|
mods = Props.instance.sshMod(lane)
|
68
65
|
identity = if mods['identity'] then mods['identity'] else '' end
|
@@ -147,16 +144,32 @@ module LanesCli
|
|
147
144
|
def chooseServer(lane=nil)
|
148
145
|
servers = AWS.instance.fetchServers(lane)
|
149
146
|
servers.sort_by!{ |s| [s[:lane], s[:name]] }
|
150
|
-
|
151
|
-
puts "Available Servers: "
|
152
|
-
servers.each_with_index {|server, index|
|
153
|
-
i = index + 1
|
154
|
-
puts "\t#{i}) %{name} (%{lane}) \t %{ip} \t %{id} " % server
|
155
|
-
}
|
147
|
+
display_server_table(servers, title: "Available Servers:", display_index: true)
|
156
148
|
|
157
149
|
choice = ask "Which server: "
|
158
150
|
chosen = servers[ choice.to_i - 1 ] if choice != ''
|
159
151
|
end
|
152
|
+
|
153
|
+
def display_server_table(servers,ops={})
|
154
|
+
header :title => ops[:title] || 'AWS Servers'
|
155
|
+
table border: true do
|
156
|
+
row header: true, color: 'white' do
|
157
|
+
column 'INDEX', width: 5, align: 'center' if ops[:display_index]
|
158
|
+
column 'SERVER', width: 30
|
159
|
+
column 'IP ADDRESS', width: 20
|
160
|
+
column 'ID', width: 15
|
161
|
+
end
|
162
|
+
|
163
|
+
servers.each_with_index do |server, index|
|
164
|
+
row :color => 'green', :bold => true do
|
165
|
+
column (index+1).to_s if ops[:display_index]
|
166
|
+
column "#{server[:name]} (#{server[:lane]})"
|
167
|
+
column server[:ip]
|
168
|
+
column server[:id]
|
169
|
+
end
|
170
|
+
end
|
171
|
+
end
|
172
|
+
end
|
160
173
|
}
|
161
174
|
end
|
162
175
|
|
data/lib/lanes/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: awslanes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dave Welch
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-04-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -94,6 +94,20 @@ dependencies:
|
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: command_line_reporter
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '3'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '3'
|
97
111
|
description: Manage "lanes" of AWS machines, according to [principle here]
|
98
112
|
email:
|
99
113
|
- david@davidwelch.co
|
@@ -110,6 +124,7 @@ files:
|
|
110
124
|
- awslanes.gemspec
|
111
125
|
- bin/lanes
|
112
126
|
- changelog.md
|
127
|
+
- cmd/build.sh
|
113
128
|
- lib/lanes.rb
|
114
129
|
- lib/lanes/aws.rb
|
115
130
|
- lib/lanes/file.rb
|
@@ -136,7 +151,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
136
151
|
version: '0'
|
137
152
|
requirements: []
|
138
153
|
rubyforge_project:
|
139
|
-
rubygems_version: 2.
|
154
|
+
rubygems_version: 2.4.5.1
|
140
155
|
signing_key:
|
141
156
|
specification_version: 4
|
142
157
|
summary: Manage "lanes" of AWS machines
|