specinfra 2.18.3 → 2.19.0
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/lib/specinfra/ec2_metadata.rb +56 -3
- data/lib/specinfra/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: cf2c3102f5d8cebf837a434b9ad4ec255afc1653
|
4
|
+
data.tar.gz: 9dd624f93b008accde8ee1738f370ead1b6bac40
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ea5d647aed6b2c11f894d2ee878c908bf204072864be79c495c3659e526fba7deb3f769c8855d3b4952b53c2ad4e8e82f64e74f79b98a54d416b8a3231982bbb
|
7
|
+
data.tar.gz: 8778109a699f26e155a04acc09232b9ce6f1b9956a8505eee401e06ddac5ee82f95b3dc3817d30db29cc2e9ae35606079361f960c73f5fa3b9be870a9f994689
|
@@ -3,20 +3,73 @@ module Specinfra
|
|
3
3
|
class Ec2Metadata
|
4
4
|
def initialize
|
5
5
|
@base_uri = 'http://169.254.169.254/latest/meta-data/'
|
6
|
+
@metadata = {}
|
6
7
|
end
|
7
8
|
|
8
|
-
def get
|
9
|
+
def get
|
10
|
+
@metadata = get_metadata
|
11
|
+
self
|
12
|
+
end
|
13
|
+
|
14
|
+
def [](key)
|
15
|
+
if @metadata[key].nil?
|
16
|
+
begin
|
17
|
+
require "specinfra/ec2_metadata/#{key}"
|
18
|
+
inventory_class = Specinfra::Ec2Metadata.const_get(key.to_camel_case)
|
19
|
+
@metadata[key] = inventory_class.get
|
20
|
+
rescue LoadError
|
21
|
+
@metadata[key] = nil
|
22
|
+
rescue
|
23
|
+
@metadata[key] = nil
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
@metadata[key]
|
28
|
+
end
|
29
|
+
|
30
|
+
def empty?
|
31
|
+
@metadata.empty?
|
32
|
+
end
|
33
|
+
|
34
|
+
def each
|
35
|
+
keys.each do |k|
|
36
|
+
yield k, @metadata[k]
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def each_key
|
41
|
+
keys.each do |k|
|
42
|
+
yield k
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def each_value
|
47
|
+
keys.each do |k|
|
48
|
+
yield @metadata[k]
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
def keys
|
53
|
+
@metadata.keys
|
54
|
+
end
|
55
|
+
|
56
|
+
def inspect
|
57
|
+
@metadata
|
58
|
+
end
|
59
|
+
|
60
|
+
private
|
61
|
+
def get_metadata(path='')
|
9
62
|
metadata = {}
|
10
63
|
|
11
64
|
keys = Specinfra::Runner.run_command("curl #{@base_uri}#{path}").stdout.split("\n")
|
12
65
|
|
13
66
|
keys.each do |key|
|
14
67
|
if key =~ %r{/$}
|
15
|
-
metadata[key[0..-2]] =
|
68
|
+
metadata[key[0..-2]] = get_metadata(path + key)
|
16
69
|
else
|
17
70
|
if key =~ %r{=}
|
18
71
|
key = key.split('=')[0] + '/'
|
19
|
-
metadata[key[0..-2]] =
|
72
|
+
metadata[key[0..-2]] = get_metadata(path + key)
|
20
73
|
else
|
21
74
|
ret = get_endpoint(path)
|
22
75
|
metadata[key] = get_endpoint(path + key) if ret
|
data/lib/specinfra/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: specinfra
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.19.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gosuke Miyashita
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-03-
|
11
|
+
date: 2015-03-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: net-ssh
|