ecl 3.0.1 → 3.0.3

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
  SHA256:
3
- metadata.gz: d418f427cd07120e2ce1d561201f39577631d88cf2c5f11a8a454f6cb1e5a88e
4
- data.tar.gz: 4ecd65b9f7ea0204918b0d2c54bb07dff681e631fd0b3705f269038dfb2d17bb
3
+ metadata.gz: e51e27cd75c89e9480d5831a4a930d4337ff34e3bef6431566aeeb3843307de2
4
+ data.tar.gz: e15a0d9fbcdf2e2f52d70297eb0089af8705c7802f5e7a1e9fd41266298f0f3f
5
5
  SHA512:
6
- metadata.gz: 5cf13d19cd882fc13eef4ece7c08360060aa509135c1d2796f4f93ffd94b756b83d38b9e73d50ff3518eec2b7ee55fa3d8f865715236b2c7b6d47a658d9e2807
7
- data.tar.gz: 21b952fc210aa49b9ded6cf5f58fb9d238f131205d4050aa0cca8f6b09d46e2bb8a0736bca54b9bbd7d70de24c33281cff756e8bd551334eae88cf4b848eb070
6
+ metadata.gz: e36b592f46ee0ee812d79981ebbbe863dccc1fdda4792a24b87047d6176844072adbf688371eb10d6542294610462ec9da4fe914701cc7898cf454dd3aac452b
7
+ data.tar.gz: 2c85448b65b5a92de8195f5d88b9adfdeec97c966b9109158f3b20ce10fdf9ad1b3f512096902336a6f55af5e12bba8b9eee95d9af014c8e30d75c5dd7d569ed
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ecl (3.0.1)
4
+ ecl (3.0.3)
5
5
  aws-sdk-ec2 (~> 1.18)
6
6
  curses (~> 1.0)
7
7
  json (~> 2.1)
@@ -13,26 +13,26 @@ GEM
13
13
  remote: https://rubygems.org/
14
14
  specs:
15
15
  aws-eventstream (1.0.3)
16
- aws-partitions (1.240.0)
17
- aws-sdk-core (3.78.0)
16
+ aws-partitions (1.294.0)
17
+ aws-sdk-core (3.92.0)
18
18
  aws-eventstream (~> 1.0, >= 1.0.2)
19
19
  aws-partitions (~> 1, >= 1.239.0)
20
20
  aws-sigv4 (~> 1.1)
21
21
  jmespath (~> 1.0)
22
- aws-sdk-ec2 (1.116.0)
22
+ aws-sdk-ec2 (1.151.0)
23
23
  aws-sdk-core (~> 3, >= 3.71.0)
24
24
  aws-sigv4 (~> 1.1)
25
- aws-sigv4 (1.1.0)
25
+ aws-sigv4 (1.1.1)
26
26
  aws-eventstream (~> 1.0, >= 1.0.2)
27
27
  coderay (1.1.2)
28
- curses (1.3.1)
28
+ curses (1.3.2)
29
29
  jmespath (1.4.0)
30
- json (2.2.0)
31
- method_source (0.9.2)
32
- oj (3.9.2)
33
- pry (0.12.2)
34
- coderay (~> 1.1.0)
35
- method_source (~> 0.9.0)
30
+ json (2.3.0)
31
+ method_source (1.0.0)
32
+ oj (3.10.6)
33
+ pry (0.13.0)
34
+ coderay (~> 1.1)
35
+ method_source (~> 1.0)
36
36
  rake (13.0.1)
37
37
  ruby-string-match-scorer (0.1.0)
38
38
 
@@ -45,4 +45,4 @@ DEPENDENCIES
45
45
  rake (~> 13.0)
46
46
 
47
47
  BUNDLED WITH
48
- 2.0.2
48
+ 2.1.4
data/README.md CHANGED
@@ -110,6 +110,19 @@ config.ssh_keys = {
110
110
  }
111
111
  ```
112
112
 
113
+ ### use_vpc_id_env (Experimental)
114
+ _This Feature is experimental and subject to change in future versions_
115
+
116
+ Boolean variable. If true use VPC_ID Environment variable for filtering EC2 instances.
117
+ ```ruby
118
+ config.use_vpc_id_env = true
119
+ ```
120
+
121
+ Example VPC_ID variable:
122
+ ```
123
+ VPC_ID=vpc-12345678901234567
124
+ ```
125
+
113
126
   
114
127
 
115
128
  Install from Source
@@ -124,7 +137,7 @@ sudo yum install libncursesw5-devel # CentOS, etc
124
137
  gem build eclair.gemspec
125
138
 
126
139
  # Install eclair into your system
127
- gem install ecl-3.0.1.gem
140
+ gem install ecl-3.0.3.gem
128
141
  ```
129
142
 
130
143
   
@@ -40,6 +40,7 @@ module Eclair
40
40
  @exec_format = "{ssh_command} {ssh_options} -p{port} {ssh_key} {username}@{host}"
41
41
  @provider = :ec2
42
42
  @get_pods_option = ""
43
+ @use_vpc_id_env = false
43
44
 
44
45
  instance_variables.each do |var|
45
46
  Config.class_eval do
@@ -172,7 +172,7 @@ module Eclair
172
172
  def append_search key
173
173
  return unless key
174
174
 
175
- if @search_buffer.length > 0 && key == 127 # backspace
175
+ if @search_buffer.length > 0 && (key == 127 || key == Curses::KEY_BACKSPACE || key == 8) #backspace
176
176
  @search_buffer = @search_buffer.chop
177
177
  elsif key.to_s.length == 1
178
178
  begin
@@ -1,6 +1,10 @@
1
1
  # frozen_string_literal: true
2
+ require "eclair/config"
3
+
2
4
  module Eclair
3
5
  module Provider
6
+ include ConfigHelper
7
+
4
8
  extend self
5
9
  attr_accessor :items
6
10
 
@@ -53,13 +53,6 @@ module Eclair
53
53
  "echo Attaching to #{Shellwords.escape(name)} \\[#{@instance.instance_id}\\] && #{joined_cmd}"
54
54
  end
55
55
 
56
- def header
57
- <<-EOS
58
- #{name} (#{instance_id}) [#{state[:name]}]
59
- launched at #{launch_time.to_time}
60
- EOS
61
- end
62
-
63
56
  def image
64
57
  @image ||= provider.find_image_by_id(@instance.image_id)
65
58
  end
@@ -70,7 +63,7 @@ module Eclair
70
63
 
71
64
  def header
72
65
  <<-EOS
73
- #{name} (#{@instance.instance_id}) [#{@instance.state[:name]}]
66
+ #{name} (#{@instance.instance_id}) [#{@instance.state[:name]}] #{@instance.private_ip_address}
74
67
  launched at #{@instance.launch_time.to_time}
75
68
  EOS
76
69
  end
@@ -93,6 +93,13 @@ module Eclair
93
93
 
94
94
  def fetch_instances keyword
95
95
  filter = if keyword.empty? then {} else { filters: [{name: "tag:Name", values: ["*#{keyword}*"]}] } end
96
+ if config.use_vpc_id_env then
97
+ if filter.empty? then
98
+ filter = { filters: [{name: "vpc-id", values: [ENV['VPC_ID']]}] }
99
+ else
100
+ filter[:filters].push({name: "vpc-id", values: [ENV['VPC_ID']]})
101
+ end
102
+ end
96
103
 
97
104
  ec2_client.describe_instances(filter).map{ |resp|
98
105
  resp.data.reservations.map do |rsv|
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Eclair
3
- VERSION = "3.0.1"
3
+ VERSION = "3.0.3"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ecl
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
4
+ version: 3.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Devsisters
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-11-19 00:00:00.000000000 Z
11
+ date: 2020-04-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -181,7 +181,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
181
181
  - !ruby/object:Gem::Version
182
182
  version: '0'
183
183
  requirements: []
184
- rubygems_version: 3.0.6
184
+ rubygems_version: 3.1.2
185
185
  signing_key:
186
186
  specification_version: 4
187
187
  summary: EC2 ssh helper