awssh 0.2.5 → 0.3.0

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: 5bc5aa5b09ca6745986bc0179e4838b5b9f472b9
4
- data.tar.gz: 42106ce073453191487fc13421dbb938720512fc
3
+ metadata.gz: b721718bef949156d98ecbc27718d89e54ed5062
4
+ data.tar.gz: b172e413246a458f6f39cb45ea3cae0d2c1d9276
5
5
  SHA512:
6
- metadata.gz: c73f7d73551c51ea64445c02139030091fcec46b2623370534f4fd3cc10f946db20df10e3772d644519dc83dfaec423c09619be6becd51db24205f8f374f33f5
7
- data.tar.gz: b9330ee423e263a465cf35e9760b732939c60949c2537b6ac22f3333f716df2721f27df474905bad8b6b1a333660ebb43c9379a34f3c3fb26325a052f48a1d99
6
+ metadata.gz: 3a4f48b1d3d5a741595263c810ad7afba86bb63528a264319c2e84fa719eb2f3973be0d2bad33c1adedd9ffb604653cdd32e34e355094317e3f5a62b614238c0
7
+ data.tar.gz: ca16f4960dd7b2fbfd2224633608b459f88ba23e0c1fc91b691f092326522b7533fdb628c4978fcfd1294fa440837fc3e5859ba70937a4a2ab4c5f09e9e0a272
data/awssh.gemspec CHANGED
@@ -18,7 +18,8 @@ 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_dependency 'fog', '~> 1.30.0'
21
+ # spec.add_dependency 'fog', '~> 1.30.0'
22
+ spec.add_dependency 'aws-sdk', '~> 2.1.31'
22
23
  spec.add_dependency 'dotenv', '~> 2.0.1'
23
24
  spec.add_dependency 'activesupport'
24
25
 
data/bin/awssh CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require 'fog'
3
+ require 'aws-sdk'
4
4
  require 'optparse'
5
5
  require 'active_support/all'
6
6
  require 'awssh'
data/lib/awssh/cloud.rb CHANGED
@@ -4,6 +4,7 @@ module Awssh
4
4
  def connect(key, secret, region)
5
5
  @instance = new(key, secret, region)
6
6
  end
7
+
7
8
  def instance
8
9
  raise "not connected?" unless @instance
9
10
  @instance
@@ -14,21 +15,28 @@ module Awssh
14
15
  @key = key
15
16
  @secret = secret
16
17
  @region = region
17
- @fog = Fog::Compute.new(provider: 'AWS', aws_access_key_id: @key, aws_secret_access_key: @secret, region: @region)
18
18
  end
19
19
 
20
20
  def servers
21
21
  puts "requesting servers..."
22
- list = @fog.servers.all({'instance-state-name' => 'running'})
23
- list.inject([]) do |a, e|
22
+ Aws.config.update({region: @region, credentials: Aws::Credentials.new(@key, @secret)})
23
+ aws = Aws::EC2::Resource.new
24
+ aws.instances(filters:[{name: 'instance-state-name', values: ['running']}]).inject([]) do |a, instance|
25
+ tags = tags(instance)
24
26
  a << {
25
- id: e.id,
26
- name: e.tags['Name']||e.id,
27
- tags: e.tags.inject({}) {|h, e| (k,v) = e; h[k.downcase] = (v ? v.downcase : ""); h},
28
- private: e.private_ip_address,
29
- public: e.public_ip_address,
27
+ id: instance.id,
28
+ name: tags['Name'] || instance.id,
29
+ tags: tags,
30
+ private: instance.private_ip_address,
31
+ public: instance.public_ip_address,
30
32
  }
31
33
  end
32
34
  end
35
+
36
+ private
37
+
38
+ def tags(instance)
39
+ instance.tags.inject({}) {|h, e| h[e.key.downcase]=e.value.downcase; h}
40
+ end
33
41
  end
34
42
  end
data/lib/awssh/config.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'ostruct'
2
+ require 'yaml'
2
3
 
3
4
  module Awssh
4
5
  class Config
data/lib/awssh/version.rb CHANGED
@@ -1,8 +1,8 @@
1
1
  module Awssh
2
2
  module Version
3
3
  MAJOR = 0
4
- MINOR = 2
5
- TINY = 5
4
+ MINOR = 3
5
+ TINY = 0
6
6
  TAG = nil
7
7
  LIST = [MAJOR, MINOR, TINY, TAG].compact
8
8
  STRING = LIST.join('.')
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: awssh
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shawn Catanzarite
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-22 00:00:00.000000000 Z
11
+ date: 2015-10-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: fog
14
+ name: aws-sdk
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.30.0
19
+ version: 2.1.31
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.30.0
26
+ version: 2.1.31
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: dotenv
29
29
  requirement: !ruby/object:Gem::Requirement