awsssh 2.2.2 → 3.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f24f7623723256eaf5f5f55f4ebd96b1b6081893
4
- data.tar.gz: 2de22c6cff24de85b7249978b393675587f7cfcb
3
+ metadata.gz: 0854a6413cf6ae7a3971665cc5e1424a648320b0
4
+ data.tar.gz: 109523c466e6e9331f3250b787138702fd949bc7
5
5
  SHA512:
6
- metadata.gz: 61b7a1ed75de58607bdc5b05be2a8ec203d98d3cf5d6eeb7513835f3f1d0983c6b6a81d4d06aecc934766798598a76e62a17ef41175854cbb677854500a4c77f
7
- data.tar.gz: ced442aab52f758bbf3765020bca0366606fffce8a7903e7eccb77cf633a0d43813b991c017aee3347f8e41865c028d8dfc9d974cee62ca09d4dbb7edf946450
6
+ metadata.gz: d1beffa40be5c1b8516c1ee15feaf95b39e32db9f9a75cebcfa07acf97aefe935680a2414abb8384befc90bd7e04d1ae5ce2d897afafc81bd8075ec64eed84f3
7
+ data.tar.gz: 599513c140e9c421e3ac2764070cb1d9dac9c72b7904bcdeae98082d71b949cd8ba3aaa1595b96ff3139e134c63a54b2a9e38b61cfd00cbf149c6a3bfec3d2bb
data/.gitignore CHANGED
@@ -1,6 +1,5 @@
1
1
  /.bundle/
2
2
  /.yardoc
3
- /Gemfile.lock
4
3
  /_yardoc/
5
4
  /coverage/
6
5
  /doc/
data/Gemfile.lock ADDED
@@ -0,0 +1,50 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ awsssh (3.0.0.rc1)
5
+ aws-sdk (~> 2.2.0, >= 2.2.0)
6
+ inifile (~> 3.0.0, >= 3.0.0)
7
+ thor (~> 0.19.1, >= 0.19.1)
8
+
9
+ GEM
10
+ remote: https://rubygems.org/
11
+ specs:
12
+ aws-sdk (2.2.14)
13
+ aws-sdk-resources (= 2.2.14)
14
+ aws-sdk-core (2.2.14)
15
+ jmespath (~> 1.0)
16
+ aws-sdk-resources (2.2.14)
17
+ aws-sdk-core (= 2.2.14)
18
+ coderay (1.1.0)
19
+ diff-lcs (1.2.5)
20
+ inifile (3.0.0)
21
+ jmespath (1.1.3)
22
+ method_source (0.8.2)
23
+ pry (0.10.3)
24
+ coderay (~> 1.1.0)
25
+ method_source (~> 0.8.1)
26
+ slop (~> 3.4)
27
+ rspec (3.4.0)
28
+ rspec-core (~> 3.4.0)
29
+ rspec-expectations (~> 3.4.0)
30
+ rspec-mocks (~> 3.4.0)
31
+ rspec-core (3.4.2)
32
+ rspec-support (~> 3.4.0)
33
+ rspec-expectations (3.4.0)
34
+ diff-lcs (>= 1.2.0, < 2.0)
35
+ rspec-support (~> 3.4.0)
36
+ rspec-mocks (3.4.1)
37
+ diff-lcs (>= 1.2.0, < 2.0)
38
+ rspec-support (~> 3.4.0)
39
+ rspec-support (3.4.1)
40
+ slop (3.6.0)
41
+ thor (0.19.1)
42
+
43
+ PLATFORMS
44
+ ruby
45
+
46
+ DEPENDENCIES
47
+ awsssh!
48
+ bundler (~> 1.8, >= 1.8.3)
49
+ pry (~> 0.10.3, >= 0.10.3)
50
+ rspec (~> 3.4.0, >= 3.4.0)
data/README.md CHANGED
@@ -14,26 +14,54 @@ Mitlerweile ist aus `awsssh` ein richtiges gem geworden.
14
14
  1. `gem install awsssh`
15
15
 
16
16
  ### Configurationen
17
- 1. Die Konfigurationsdateien müssen unter `/Users/<username>/.aws/` liegen. Wenn dem nicht so ist muss es eine Umgebungsvariable geben, die den Pfad zu den Configurationsdateien beinhaltet: `export ENV['AWSSSH_CONFIG_DIR']=/path/to/configs/`
18
- 3. Die Konfigurationsdateien müssen den Namen `aws_config_<kundenname>` haben. Wenn dem nicht so ist muss es eine Umgebungsvariable geben, die den Anfang der Configurationsdateien beinhaltet: `export ENV['AWSSSH_CONFIG_FILE']=awsconf_`
17
+ * Es muss die Variable `AWS_CREDENTIAL_FILE` auf das Credentialfile gesetzt sein.
18
+ * In der Datei müssen die Zugangsdaten in der folgenden Form enthalten sein:
19
+ ```
20
+ [PROFILE-1]
21
+ aws_access_key_id=VALUE
22
+ aws_secret_access_key=VALUE
23
+ [PROFILE-n]
24
+ aws_access_key_id=VALUE
25
+ aws_secret_access_key=VALUE
26
+ ```
19
27
 
20
28
  ## Aufruf
21
29
 
22
- `awsssh -s HOST`
30
+ ### Mit Server verbinden
31
+
32
+ Wenn der Profilname im Hostname enthalten ist:<br>
33
+ `awsssh HOSTNAME`
34
+
35
+ **Beispiel**<br>
36
+ `awsssh profile-live-1`
37
+
38
+ Wenn der Profilname nicht im Hostname enthalten ist:<br>
39
+ `awsssh HOSTNAME --profile PROFILE`
23
40
 
24
41
  **Beispiel**<br>
25
- `awsssh -s kunde-live-1`
42
+ `awsssh live-1 --profile KundeXY`
26
43
 
27
- ## Hilfe
44
+ ### Liste aller Profile
45
+ `awsssh list_profiles`
28
46
 
29
- `awsssh help`<br>
30
- Zeigt die Hilfe an
47
+ ### Liste aller Server für ein Profil
48
+ `awsssh list_server PROFIL`
49
+
50
+ ### Hilfe
51
+ `awsssh help`
52
+
53
+ ### Version
54
+ `awsssh version`
31
55
 
32
56
  ## Kontakt
33
57
 
34
58
  Sebastian Thiele Twitter: (@sebat)
35
59
 
36
60
  ## Changelog
61
+ **2016-02-04 - v 3.0.0.rc1**
62
+ * redesign
63
+ * new credential format
64
+
37
65
  **2015-11-25 - v 2.2.2**
38
66
  * [fix] List all Servers
39
67
 
data/awsssh.gemspec CHANGED
@@ -18,13 +18,11 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_development_dependency "bundler", "~> 1.8.3"
22
- spec.add_development_dependency "rake", "~> 10.4.2"
23
- spec.add_development_dependency "pry", "~> 0.10.1"
24
- spec.add_development_dependency "rspec", "~> 2.6"
21
+ spec.add_development_dependency "bundler", "~> 1.8", ">= 1.8.3"
22
+ spec.add_development_dependency "pry", "~> 0.10.3", ">= 0.10.3"
23
+ spec.add_development_dependency "rspec", "~> 3.4.0", ">= 3.4.0"
25
24
 
26
- spec.add_runtime_dependency "net-ssh", "2.7.0"
27
- spec.add_runtime_dependency "inifile", "2.0.2"
28
- spec.add_runtime_dependency "aws-sdk", "1.35.0"
29
- spec.add_runtime_dependency "thor", "0.18.1"
25
+ spec.add_runtime_dependency "inifile", "~> 3.0.0", ">= 3.0.0"
26
+ spec.add_runtime_dependency "aws-sdk", "~> 2.2.0", ">= 2.2.0"
27
+ spec.add_runtime_dependency "thor", "~> 0.19.1", ">= 0.19.1"
30
28
  end
@@ -1,3 +1,3 @@
1
1
  module Awsssh
2
- VERSION = "2.2.2"
2
+ VERSION = "3.0.0.rc1"
3
3
  end
data/lib/awsssh.rb CHANGED
@@ -1,211 +1,114 @@
1
1
  require "awsssh/version"
2
- require 'net/ssh'
3
- require 'json'
4
- require "aws-sdk"
5
- # Bundler.require(:default, :development)
6
- require "inifile"
7
2
  require "thor"
3
+ require "inifile"
4
+ require "aws-sdk"
5
+
8
6
 
9
7
  module Awsssh
10
8
  class Awsssh < Thor
11
- CONFIG_DIR = ENV['AWSSSH_CONFIG_DIR'] || "/Users/#{ENV['USER']}/.aws/"
12
- CONF_FILE = ENV['AWSSSH_CONFIG_FILE'] || "aws_config_"
13
-
14
- desc "-s SERVER [-a ACCOUNT]", "connect to a server"
15
- option :server, :aliases => '-s', :desc => "(required) The server name to connect with"
16
- option :account, :aliases => '-a', :desc => "Specify a account for a connection. Needet if the account don't came from the server name"
17
- option :list, :aliases => '-l', :desc => "List any items use with -s for Servers or -a ACCOUNT for accounts", :type => :boolean
18
- option :check, :aliases => '-c', :desc => "Alerts when -c STATE comes up for -s SERVER"
19
- option :version, :aliases => '-v', :desc => "Version"
20
- long_desc <<-LONGDESC
21
- # Connect to a Server:
22
-
23
-
24
- > $ awsssh -s SERVER
25
- \x5 This will connect you to a Server. This will work only if the first part of the server name is the same as the account name.
26
-
27
- > $ awsssh -s SERVER -a ACCOUNT
28
- \x5 With -a you can spezify a account to connect with. The server name don't play any role.
29
-
30
- # List all Account:
31
-
32
- > $ awsssh -l -a
33
- \x5 This will list all Accounts
34
9
 
35
- # List all Servers for a Account
36
-
37
- > $ awsssh -l -s ACCOUNT
38
- \x5 List all Servers vor Account ACCOUNT
39
-
40
- # Check Server Status
41
-
42
- LONGDESC
43
- def connect
44
- if options[:list] && options[:account]
45
- list_accounts
46
- elsif options[:list] && options[:server]
47
- list_servers(options[:server])
48
- elsif options[:server]
49
- connecting(options[:server], options[:account])
50
- elsif options[:version]
51
- puts VERSION
52
- else
53
- help "connect"
10
+ desc "list_profiles", "List all your avavible profiles"
11
+ def list_profiles()
12
+ credentials = open_credantial_file
13
+ puts "List of all known AWS Accounts"
14
+ puts
15
+ credentials.sections.each do |section|
16
+ puts " #{section}"
54
17
  end
55
18
  end
56
19
 
57
- def help(*args)
58
- super("connect")
59
- end
20
+ desc "list_server PROFILE", "List all Server for given profile"
21
+ def list_server(profile)
22
+ credentials = open_credantial_file
23
+ raise "Profile `#{profile}` not found. Please try `awsssh list_profiles`" if credentials[profile].empty?
24
+ aws_connection(profile, credentials)
60
25
 
61
- private
26
+ puts "Stacks and instances for profile `#{profile}`"
27
+ puts
62
28
 
63
- ##
64
- # List stacks for a account
65
- #
66
- # * *Args* :
67
- # - +account+ -> Account name
68
- #
69
- # * *Returns* :
70
- # - [Array] StackIDs
71
- def list_stacks(account)
72
- ow = awscfg(account)
73
- stacks = ow.client.describe_stacks[:stacks]
74
- stack_ids = []
75
- stacks.each do |stack|
76
- stack_ids << stack[:stack_id]
29
+ @client.describe_stacks.stacks.each do |stack|
30
+ puts "##### Stack: #{stack.name}"
31
+ @client.describe_instances({stack_id: stack.stack_id}).instances.each do |instance|
32
+ printf " %-20s status: %-11s %s\n" % [instance.hostname, instance.status, public_dns(instance)]
77
33
  end
78
- return stack_ids
79
- end
80
-
81
-
82
- ##
83
- # Read Stack
84
- #
85
- # * *Args* :
86
- # - +stackid+ -> Stack ID
87
- # - +account+ -> Account name
88
- #
89
- # * *Returns* :
90
- # - Stecks JSON
91
- #
92
- def read_stack(stackid, account)
93
- ow = awscfg(account)
94
- ow.client.describe_instances({:stack_id => stackid})
95
- # JSON.parse(`aws opsworks describe-instances --stack-id #{stackid}`)
34
+ puts ""
96
35
  end
36
+ end
97
37
 
98
- ##
99
- # Lists all AWS Accounts
100
- #
101
- # * *Returns* :
102
- # - [String]
103
- # This are the known AWS Accounts:
104
- # - account
105
- def list_accounts
106
- length = 30
107
- puts "This are the known AWS Accounts:"
108
- config_files = Dir.entries(CONFIG_DIR)
109
- config_files.each do |file|
110
- if file[0,CONF_FILE.length] == CONF_FILE
111
- file_part = file.split("_")
112
- unless file_part.last.nil?
113
- printf "\t- %-#{length}s\n", file_part[2]
114
- end
115
- end
116
- end
38
+ desc "connect SERVERNAME", "Connect to Hostname"
39
+ option :profile, :desc => "specify a profile - see `awsssh list_profiles`"
40
+ def connect (hostname)
41
+ hostname_parts = hostname.split("-")
42
+ profile = options[:profile] || hostname_parts[0]
43
+ credentials = open_credantial_file
44
+ puts "Profile `#{profile}` not found. Try `awsssh SERVERNAME --profile PROFILE`" if credentials[profile].empty?
45
+ exit -1 if credentials[profile].empty?
46
+
47
+ aws_connection(profile, credentials)
48
+ puts "looking for hostname `#{hostname}` in profile `#{profile}`. This may take a while..."
49
+ puts
50
+ public_dns = find_server(@client.describe_stacks.stacks, hostname)
51
+ if public_dns.nil?
52
+ puts "`#{hostname}` was not found or has no public ip."
53
+ puts "Try `awsssh list_server PROFILE`"
54
+ puts "checking your local ssh config..."
55
+ puts
56
+ exec "ssh #{hostname}"
57
+ exit -1
58
+ else
59
+ puts "start ssh connection to `#{hostname}`..."
60
+ puts
61
+ exec "ssh #{public_dns}"
62
+ exit 0
117
63
  end
64
+ end
118
65
 
119
- ##
120
- # Server Name
121
- #
122
- # * *Args* :
123
- # - +stack+ -> Stack as JSON
124
- #
125
- # * *Returns* :
126
- # - [String]
127
- # - <servername> (<status>)
128
- def server_name(stack)
129
- stack[:instances].each do |instance|
130
- host = build_hostname(instance)
131
- printf "\t- %-20s %s \t %-15s \t %s\n", instance[:hostname], instance[:status], host[:ip], host[:hostname]
132
- end
133
- end
66
+ desc "version", "Version"
67
+ def version
68
+ puts "version #{VERSION}"
69
+ end
134
70
 
135
- ##
136
- # List all Servers for a given AWS Account
137
- #
138
- # * *Args* :
139
- # - +account+ -> AWS Account name
140
- #
141
- def list_servers(account)
142
- stacks = list_stacks account
143
- stacks.each do |stack_id|
144
- stack = read_stack stack_id, account
145
- server_name stack
146
- end
147
- end
148
71
 
149
- ##
150
- # Establish the connection
151
- #
152
- # * *Args* :
153
- # - +server+ -> Server name
154
- #
155
- def connecting(server, account=nil)
156
- public_dns = nil
157
- host = server.split("-")
158
- ac = account || host[0]
159
- stack_ids = list_stacks ac
160
- stack_ids.each do |stack_id|
161
- stack = read_stack(stack_id, ac)
162
- stack.instances.each do |i|
163
- if i[:hostname] == server
164
- public_dns = build_hostname(i)[:hostname]
165
- break
166
- end
167
- end
168
- break unless public_dns.nil?
169
- end
72
+ private
170
73
 
171
- if public_dns.nil?
172
- puts "Server '#{server}' not found. Try ssh"
173
- exec "ssh #{server}"
174
- exit -1
175
- end
74
+ ##
75
+ # open and check credential file
76
+ #
77
+ def open_credantial_file()
78
+ raise "Enviroment variable `AWS_CREDENTIAL_FILE` not set" if ENV['AWS_CREDENTIAL_FILE'].nil?
79
+ raise "Credential File not found. Please check path `#{ENV['AWS_CREDENTIAL_FILE']}`" unless File.exist?(ENV['AWS_CREDENTIAL_FILE'])
80
+ IniFile.load(ENV['AWS_CREDENTIAL_FILE'])
81
+ end
176
82
 
177
- puts "Connecting to #{server} (#{public_dns})"
178
- exec "ssh #{public_dns}"
83
+ ##
84
+ #
85
+ def aws_connection(profile, credentials = nil)
86
+ credentials ||= open_credantial_file
87
+ @client = Aws::OpsWorks::Client.new({
88
+ region: credentials[profile]["region"],
89
+ credentials: Aws::Credentials.new(
90
+ credentials[profile]["aws_access_key_id"],
91
+ credentials[profile]["aws_secret_access_key"]
92
+ )
93
+ })
94
+ end
179
95
 
180
- end
96
+ def public_dns(instance)
97
+ public_ip = instance.public_ip || instance.elastic_ip
98
+ return nil if public_ip == nil
99
+ "ec2-#{public_ip.gsub(".", "-")}.#{instance.availability_zone.chop}.compute.amazonaws.com"
100
+ end
181
101
 
182
- def build_hostname(instance)
183
- host = {}
184
- if instance[:status] != 'online'
185
- host[:ip] = host[:hostname] = nil
186
- return host
102
+ def find_server(stacks, hostname)
103
+ stacks.each do |stack|
104
+ @client.describe_instances({stack_id: stack.stack_id}).instances.each do |instance|
105
+ return public_dns(instance) if instance.hostname == hostname
187
106
  end
188
- az = (instance[:availability_zone][-1].match(/[a-z]/)) ?
189
- instance[:availability_zone][0..-2] :
190
- instance[:availability_zone]
191
- host[:ip] = instance[:public_ip] || instance[:elastic_ip]
192
- host[:hostname] = "ec2-#{host[:ip].gsub("\.", "\-")}.#{az}.compute.amazonaws.com"
193
- host
194
107
  end
108
+ return nil
109
+ end
110
+
195
111
 
196
- def awscfg(account)
197
- if cnf = IniFile.load(CONFIG_DIR + CONF_FILE + account)
198
- cnf = cnf['default']
199
- return AWS::OpsWorks.new(
200
- access_key_id: cnf['aws_access_key_id'],
201
- secret_access_key: cnf['aws_secret_access_key'],
202
- region: cnf['region']
203
- )
204
- else
205
- puts "No config #{CONF_FILE}#{account} found. Maybe use -a to specify a account."
206
- exit -1
207
- end
208
- end
209
112
  default_task :connect
210
113
  end
211
114
  end
data/spec/awsssh_spec.rb CHANGED
@@ -8,10 +8,10 @@ describe Awsssh::Awsssh do
8
8
  capture(:stdout) { runner.send(*args, &block) }
9
9
  end
10
10
 
11
- describe "on list stacks" do
12
- it "lists all stacks" do
11
+ describe "on list server" do
12
+ it "lists all server" do
13
13
  base = Awsssh::Awsssh.new ["-s"]
14
- base.send(:list_stacks, 'trox').class.should eq [].class
14
+ expect(base.send(:list_server, 'trox').class).to eq [].class
15
15
  end
16
16
  end
17
- end
17
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: awsssh
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.2
4
+ version: 3.0.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sebastian Thiele
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-25 00:00:00.000000000 Z
11
+ date: 2016-02-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,112 +16,120 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.8.3
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
19
+ version: '1.8'
20
+ - - ">="
25
21
  - !ruby/object:Gem::Version
26
22
  version: 1.8.3
27
- - !ruby/object:Gem::Dependency
28
- name: rake
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: 10.4.2
34
23
  type: :development
35
24
  prerelease: false
36
25
  version_requirements: !ruby/object:Gem::Requirement
37
26
  requirements:
38
27
  - - "~>"
39
28
  - !ruby/object:Gem::Version
40
- version: 10.4.2
29
+ version: '1.8'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 1.8.3
41
33
  - !ruby/object:Gem::Dependency
42
34
  name: pry
43
35
  requirement: !ruby/object:Gem::Requirement
44
36
  requirements:
45
37
  - - "~>"
46
38
  - !ruby/object:Gem::Version
47
- version: 0.10.1
39
+ version: 0.10.3
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 0.10.3
48
43
  type: :development
49
44
  prerelease: false
50
45
  version_requirements: !ruby/object:Gem::Requirement
51
46
  requirements:
52
47
  - - "~>"
53
48
  - !ruby/object:Gem::Version
54
- version: 0.10.1
49
+ version: 0.10.3
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 0.10.3
55
53
  - !ruby/object:Gem::Dependency
56
54
  name: rspec
57
55
  requirement: !ruby/object:Gem::Requirement
58
56
  requirements:
59
57
  - - "~>"
60
58
  - !ruby/object:Gem::Version
61
- version: '2.6'
59
+ version: 3.4.0
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 3.4.0
62
63
  type: :development
63
64
  prerelease: false
64
65
  version_requirements: !ruby/object:Gem::Requirement
65
66
  requirements:
66
67
  - - "~>"
67
68
  - !ruby/object:Gem::Version
68
- version: '2.6'
69
- - !ruby/object:Gem::Dependency
70
- name: net-ssh
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - '='
74
- - !ruby/object:Gem::Version
75
- version: 2.7.0
76
- type: :runtime
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - '='
69
+ version: 3.4.0
70
+ - - ">="
81
71
  - !ruby/object:Gem::Version
82
- version: 2.7.0
72
+ version: 3.4.0
83
73
  - !ruby/object:Gem::Dependency
84
74
  name: inifile
85
75
  requirement: !ruby/object:Gem::Requirement
86
76
  requirements:
87
- - - '='
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: 3.0.0
80
+ - - ">="
88
81
  - !ruby/object:Gem::Version
89
- version: 2.0.2
82
+ version: 3.0.0
90
83
  type: :runtime
91
84
  prerelease: false
92
85
  version_requirements: !ruby/object:Gem::Requirement
93
86
  requirements:
94
- - - '='
87
+ - - "~>"
95
88
  - !ruby/object:Gem::Version
96
- version: 2.0.2
89
+ version: 3.0.0
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: 3.0.0
97
93
  - !ruby/object:Gem::Dependency
98
94
  name: aws-sdk
99
95
  requirement: !ruby/object:Gem::Requirement
100
96
  requirements:
101
- - - '='
97
+ - - "~>"
102
98
  - !ruby/object:Gem::Version
103
- version: 1.35.0
99
+ version: 2.2.0
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: 2.2.0
104
103
  type: :runtime
105
104
  prerelease: false
106
105
  version_requirements: !ruby/object:Gem::Requirement
107
106
  requirements:
108
- - - '='
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: 2.2.0
110
+ - - ">="
109
111
  - !ruby/object:Gem::Version
110
- version: 1.35.0
112
+ version: 2.2.0
111
113
  - !ruby/object:Gem::Dependency
112
114
  name: thor
113
115
  requirement: !ruby/object:Gem::Requirement
114
116
  requirements:
115
- - - '='
117
+ - - "~>"
118
+ - !ruby/object:Gem::Version
119
+ version: 0.19.1
120
+ - - ">="
116
121
  - !ruby/object:Gem::Version
117
- version: 0.18.1
122
+ version: 0.19.1
118
123
  type: :runtime
119
124
  prerelease: false
120
125
  version_requirements: !ruby/object:Gem::Requirement
121
126
  requirements:
122
- - - '='
127
+ - - "~>"
128
+ - !ruby/object:Gem::Version
129
+ version: 0.19.1
130
+ - - ">="
123
131
  - !ruby/object:Gem::Version
124
- version: 0.18.1
132
+ version: 0.19.1
125
133
  description: This will connects you with an EC2 instace
126
134
  email:
127
135
  - Sebastian.Thiele@infopark.de
@@ -132,6 +140,7 @@ extra_rdoc_files: []
132
140
  files:
133
141
  - ".gitignore"
134
142
  - Gemfile
143
+ - Gemfile.lock
135
144
  - LICENSE.txt
136
145
  - README.md
137
146
  - Rakefile
@@ -155,9 +164,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
155
164
  version: '0'
156
165
  required_rubygems_version: !ruby/object:Gem::Requirement
157
166
  requirements:
158
- - - ">="
167
+ - - ">"
159
168
  - !ruby/object:Gem::Version
160
- version: '0'
169
+ version: 1.3.1
161
170
  requirements: []
162
171
  rubyforge_project:
163
172
  rubygems_version: 2.2.2