ecl 3.0.1 → 3.0.3

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 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