MovableInkAWS 0.3.1 → 0.3.2

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: 2199f122581735f27d18ce4526a774d6ba4aa0098695bd78778dc878312fb56d
4
- data.tar.gz: 6a5c2f8d497bce2303652c76c2d9ef5bccc914566ee84bf90d18d5b89926592a
3
+ metadata.gz: be8b5cd511cee342df9b7f9855f352b7f07f66e6acf7fd13aac99316c4ce4316
4
+ data.tar.gz: b803df59e02733a86769a5f10627347708891fd20763e69e294617f0222ec1fa
5
5
  SHA512:
6
- metadata.gz: bdbe5cf3e182d77d9311cef5daa2cd27e70f2c28ead3f20c677fc8264ad61e17e36471b5f69c618e05565046a22b3aa42888ac0224dc011a768cc8ba028c01a8
7
- data.tar.gz: 426564c0bea55d42970857c60db226f37cebe62b01eae68ba5f3eda89db8e07b6a6e2a8b69ea541e770186f3807ac1050d40e8b4feb7a5a8d2df865a4761ccd6
6
+ metadata.gz: a52896926328ec012a46647f8f237d6eca2685fa082a16aa426f8129b3dcd88758a4333f8240cfe5208e4f4227e743649036920c385063ac1487fa7aa99acecd
7
+ data.tar.gz: cd4a365c76df0ee1089ac933e30c1676da4e5787057afed8d4f328c45a17bcb8635581c07834664d9134b77ecef57893cb31186e0a79489552c34cb351500b6e
@@ -86,6 +86,14 @@ module MovableInk
86
86
  end
87
87
  end
88
88
 
89
+ def private_ipv4
90
+ @ipv4 ||= begin
91
+ ipv4 = `ec2metadata --local-ipv4 2>/dev/null`.chomp
92
+ raise(MovableInk::AWS::Errors::EC2Required) if ipv4.empty?
93
+ ipv4
94
+ end
95
+ end
96
+
89
97
  def me
90
98
  @me ||= all_instances.select{|instance| instance.instance_id == instance_id}
91
99
  end
@@ -1,5 +1,5 @@
1
1
  module MovableInk
2
2
  class AWS
3
- VERSION = '0.3.1'
3
+ VERSION = '0.3.2'
4
4
  end
5
5
  end
data/spec/ec2_spec.rb CHANGED
@@ -9,6 +9,12 @@ describe MovableInk::AWS::EC2 do
9
9
  expect{ aws.mi_env }.to raise_error(MovableInk::AWS::Errors::EC2Required)
10
10
  end
11
11
 
12
+ it 'should raise an error if trying to load private_ipv4 outside of EC2' do
13
+ aws = MovableInk::AWS.new
14
+ allow(aws).to receive(:`).with('ec2metadata --local-ipv4 2>/dev/null').and_return('')
15
+ expect{ aws.private_ipv4 }.to raise_error(MovableInk::AWS::Errors::EC2Required)
16
+ end
17
+
12
18
  it "should use the provided environment" do
13
19
  aws = MovableInk::AWS.new(environment: 'test')
14
20
  expect(aws.mi_env).to eq('test')
@@ -35,6 +41,12 @@ describe MovableInk::AWS::EC2 do
35
41
  expect(aws.mi_env).to eq('test')
36
42
  end
37
43
 
44
+ it 'calls ec2metadata to get the private ipv4 address of the instance' do
45
+ aws = MovableInk::AWS.new
46
+ allow(aws).to receive(:`).with('ec2metadata --local-ipv4 2>/dev/null').and_return('10.0.0.1')
47
+ expect(aws.private_ipv4).to eq('10.0.0.1')
48
+ end
49
+
38
50
  context "thopter" do
39
51
  let(:thopter_data) { ec2.stub_data(:describe_instances, reservations: [
40
52
  instances: [
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: MovableInkAWS
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Chesler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-05-24 00:00:00.000000000 Z
11
+ date: 2019-05-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk