awslanes 0.1.0 → 0.1.1
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/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
|