aws_metadata 0.1.4 → 0.1.5

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: 3b0460eb560e5d3f2550b6b9974d743e273450d5
4
- data.tar.gz: 6c4f85ce0e75b54a47e4fa06221910910a080cbd
3
+ metadata.gz: 0f47a7ac354bc5131d0a0541230d849359b4be02
4
+ data.tar.gz: 77b8a99b8ab04b3b6cba8de44ad416f5f9c74ec7
5
5
  SHA512:
6
- metadata.gz: d2475064140697e30b234182779b6944240fc7cd865f5d9cad27a9d25284672f338170a265a59f970297acc6d9aaa7323d4fa1356a19575353050c63c416716f
7
- data.tar.gz: d60031ec53de55a4ac4edddaabef1e0f963bad642790219403755533c726f77da869a4155a6acf533ec10873a630bb3a2eac2a6ef675b294aae6870ef4fc17c1
6
+ metadata.gz: f326ea632fbac729bfbf1dac578524da9595bb2672f0e83e7b78536ed5b1137ef6afa33e6c4804ed30f2b4d6ca2b165ccb34baa28943749853c4238618b5ee62
7
+ data.tar.gz: 9c7685e8d65f6ddf500814623bb56ed441113d943731c52efd4ee8a1e1cc54b95c0b8794e9df317154e1aaf8cc84dd16485e31f72b739eb53ecb2553aae3a915
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- aws_metadata (0.1.4)
4
+ aws_metadata (0.1.5)
5
5
  aws-sdk
6
6
 
7
7
  GEM
@@ -61,11 +61,55 @@ module AWS
61
61
  load_stubs
62
62
  return
63
63
  end
64
- http = Net::HTTP.new host, port
64
+ http = Net::HTTP.new host, port
65
+ load_metadata(http, version)
66
+ load_user_data(http, version)
67
+ load_dynamic(http, version)
68
+ end
69
+
70
+ # @private
71
+ def self.query http, path
72
+ rep = http.request Net::HTTP::Get.new path
73
+ unless Net::HTTPOK === rep
74
+ return nil
75
+ end
76
+ rep.body
77
+ end
78
+
79
+ # All the metadata from 169.254.169.254
80
+ #
81
+ # The hashes are Hashish objects that allows regular method like calls where all method names are the keys underscored.
82
+ def to_hash
83
+ { :metadata => @metadata, :user_data => @user_data, :dynamic => @dynamic }
84
+ end
85
+
86
+ private
87
+
88
+ # Load data from the meta-data URL
89
+ # @private
90
+ def load_metadata(http, version)
91
+ tries ||= 1
65
92
  @metadata = Treeish.new http, "/#{version}/meta-data/"
93
+ raise 'no metadata' if @metadata.nil?
94
+ rescue
95
+ raise if tries >= 10
96
+ sleep 1
97
+ tries += 1
98
+ retry
99
+ end
100
+
101
+ # Load data from the user-data URL
102
+ # @private
103
+ def load_user_data(http, version)
66
104
  @user_data = Instance.query http, "/#{version}/user-data"
67
- @dynamic = Hashish.new
105
+ rescue
106
+ @user_data = nil
107
+ end
68
108
 
109
+ # Load data from the dynamic URL
110
+ # @private
111
+ def load_dynamic(http, version)
112
+ @dynamic = Hashish.new
69
113
  begin
70
114
  dynamic_stuff = Instance.query(http, "/#{version}/dynamic/").lines
71
115
  rescue
@@ -77,31 +121,15 @@ module AWS
77
121
  end
78
122
  end
79
123
 
80
- # @private
81
- def self.query http, path
82
- rep = http.request Net::HTTP::Get.new path
83
- unless Net::HTTPOK === rep
84
- return nil
85
- end
86
- rep.body
87
- end
88
-
89
124
  # Helper method to provide "stubs" for non aws deployments
90
125
  # @private
91
126
  def load_stubs
92
- yaml = Pathname.new(File.join(AWS::Metadata.aws_identity_stubs_path, 'aws_identity_stubs.yml'))
93
- responses = YAML.load(ERB.new(yaml.read).result)
94
- @metadata = Hashish.new responses[:metadata]
95
- @user_data = responses[:user_data]
96
- @dynamic = Hashish.new responses[:dynamic]
127
+ yaml = Pathname.new(File.join(AWS::Metadata.aws_identity_stubs_path, 'aws_identity_stubs.yml'))
128
+ responses = YAML.load(ERB.new(yaml.read).result)
129
+ @metadata = Hashish.new responses[:metadata]
130
+ @user_data = responses[:user_data]
131
+ @dynamic = Hashish.new responses[:dynamic]
97
132
  @dynamic['instance-identity']['document'] = @dynamic['instance-identity']['document'].to_json
98
133
  end
99
-
100
- # All the metadata from 169.254.169.254
101
- #
102
- # The hashes are Hashish objects that allows regular method like calls where all method names are the keys underscored.
103
- def to_hash
104
- { :metadata => @metadata, :user_data => @user_data, :dynamic => @dynamic }
105
- end
106
134
  end
107
135
  end
@@ -1,5 +1,5 @@
1
1
  module AWS
2
2
  module Metadata
3
- VERSION = "0.1.4"
3
+ VERSION = "0.1.5"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws_metadata
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Evident.io
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-10-12 00:00:00.000000000 Z
11
+ date: 2016-11-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler