aws_metadata 0.1.4 → 0.1.5
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 +4 -4
- data/Gemfile.lock +1 -1
- data/lib/aws_metadata/instance_metadata.rb +51 -23
- data/lib/aws_metadata/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0f47a7ac354bc5131d0a0541230d849359b4be02
|
4
|
+
data.tar.gz: 77b8a99b8ab04b3b6cba8de44ad416f5f9c74ec7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f326ea632fbac729bfbf1dac578524da9595bb2672f0e83e7b78536ed5b1137ef6afa33e6c4804ed30f2b4d6ca2b165ccb34baa28943749853c4238618b5ee62
|
7
|
+
data.tar.gz: 9c7685e8d65f6ddf500814623bb56ed441113d943731c52efd4ee8a1e1cc54b95c0b8794e9df317154e1aaf8cc84dd16485e31f72b739eb53ecb2553aae3a915
|
data/Gemfile.lock
CHANGED
@@ -61,11 +61,55 @@ module AWS
|
|
61
61
|
load_stubs
|
62
62
|
return
|
63
63
|
end
|
64
|
-
http
|
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
|
-
|
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
|
93
|
-
responses
|
94
|
-
@metadata
|
95
|
-
@user_data
|
96
|
-
@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
|
data/lib/aws_metadata/version.rb
CHANGED
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
|
+
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-
|
11
|
+
date: 2016-11-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|