facter 4.0.35 → 4.0.36
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/facter/custom_facts/util/directory_loader.rb +3 -1
- data/lib/facter/fact_groups.conf +140 -1
- data/lib/facter/facts/aix/disks.rb +17 -2
- data/lib/facter/facts/aix/networking/scope6.rb +3 -1
- data/lib/facter/facts/aix/scope6_interfaces.rb +0 -2
- data/lib/facter/facts/aix/serialnumber.rb +20 -0
- data/lib/facter/facts/aix/sshalgorithmkey.rb +17 -0
- data/lib/facter/facts/aix/sshfp_algorithm.rb +20 -0
- data/lib/facter/facts/debian/os/distro/release.rb +6 -1
- data/lib/facter/facts/freebsd/sshalgorithmkey.rb +17 -0
- data/lib/facter/facts/freebsd/sshfp_algorithm.rb +20 -0
- data/lib/facter/facts/linux/disks.rb +20 -1
- data/lib/facter/facts/linux/dmi/board/asset_tag.rb +19 -0
- data/lib/facter/facts/linux/ec2_metadata.rb +5 -3
- data/lib/facter/facts/linux/ec2_userdata.rb +5 -3
- data/lib/facter/facts/linux/gce.rb +16 -0
- data/lib/facter/facts/linux/is_virtual.rb +1 -3
- data/lib/facter/facts/linux/networking/scope6.rb +3 -1
- data/lib/facter/facts/linux/processors/speed.rb +17 -0
- data/lib/facter/facts/linux/scope6_interfaces.rb +1 -2
- data/lib/facter/facts/linux/sshfp_algorithm.rb +1 -1
- data/lib/facter/facts/linux/xen.rb +28 -0
- data/lib/facter/facts/macosx/networking/scope6.rb +3 -1
- data/lib/facter/facts/macosx/scope6_interfaces.rb +0 -2
- data/lib/facter/facts/macosx/sshfp_algorithm.rb +1 -1
- data/lib/facter/facts/solaris/disks.rb +21 -2
- data/lib/facter/facts/solaris/hypervisors/ldom.rb +24 -0
- data/lib/facter/facts/solaris/hypervisors/zone.rb +39 -0
- data/lib/facter/facts/solaris/is_virtual.rb +64 -0
- data/lib/facter/facts/solaris/kernelmajversion.rb +1 -1
- data/lib/facter/facts/solaris/ldom.rb +35 -0
- data/lib/facter/facts/solaris/sshalgorithmkey.rb +17 -0
- data/lib/facter/facts/solaris/sshfp_algorithm.rb +20 -0
- data/lib/facter/facts/solaris/virtual.rb +60 -0
- data/lib/facter/facts/solaris/zones.rb +1 -1
- data/lib/facter/facts/windows/ec2_metadata.rb +5 -3
- data/lib/facter/facts/windows/ec2_userdata.rb +5 -3
- data/lib/facter/facts/windows/gce.rb +16 -0
- data/lib/facter/facts/windows/networking/scope6.rb +3 -1
- data/lib/facter/facts/windows/sshalgorithmkey.rb +22 -0
- data/lib/facter/facts/windows/sshfp_algorithm.rb +25 -0
- data/lib/facter/facts_utils/facts_utils.rb +2 -0
- data/lib/facter/framework/core/fact/internal/core_fact.rb +2 -0
- data/lib/facter/framework/core/fact/internal/internal_fact_manager.rb +10 -25
- data/lib/facter/framework/core/fact_filter.rb +13 -0
- data/lib/facter/framework/core/fact_loaders/fact_loader.rb +24 -1
- data/lib/facter/framework/formatters/legacy_fact_formatter.rb +8 -1
- data/lib/facter/framework/formatters/yaml_fact_formatter.rb +1 -1
- data/lib/facter/resolvers/aix/serialnumber.rb +37 -0
- data/lib/facter/resolvers/dmi_resolver.rb +4 -3
- data/lib/facter/resolvers/ec2.rb +4 -18
- data/lib/facter/resolvers/gce.rb +54 -0
- data/lib/facter/resolvers/memory_resolver.rb +8 -1
- data/lib/facter/resolvers/processors_resolver.rb +24 -2
- data/lib/facter/resolvers/solaris/ldom.rb +70 -0
- data/lib/facter/resolvers/utils/http.rb +68 -0
- data/lib/facter/resolvers/xen.rb +28 -0
- data/lib/facter/version.rb +1 -1
- metadata +25 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ceb625b0a349be8f5f574055b24aebd9860672ccdfc27224377a75255681b571
|
4
|
+
data.tar.gz: 1081225dee1a50781041d65599bc74fccf1552fe1ce75a9195f0aecd8608afb8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0c31f37ed2064c1683e9f56a5d252bab225e1af0c0df025d1621ef89551fefa6a0816cc3862d4c98ab2480a6e158f62b18bcf0d5ae9f2d75f22799297660ffc9
|
7
|
+
data.tar.gz: d6f071e0bf9bcdf01c460ea7ac45d0cb50459c4a40e663761cf7c58de0068b6c9e444cebedd5304a692317a960a8d1327accea35f6815b90076e4acc4ce2ec3b
|
@@ -35,6 +35,7 @@ module LegacyFacter
|
|
35
35
|
def initialize(dir = LegacyFacter::Util::Config.external_facts_dirs, weight = EXTERNAL_FACT_WEIGHT)
|
36
36
|
@directories = [dir].flatten
|
37
37
|
@weight = weight
|
38
|
+
@log ||= Facter::Log.new(self)
|
38
39
|
end
|
39
40
|
|
40
41
|
# Load facts from files in fact directory using the relevant parser classes to
|
@@ -84,10 +85,11 @@ module LegacyFacter
|
|
84
85
|
next if parser.nil?
|
85
86
|
|
86
87
|
data = parser.results
|
88
|
+
|
87
89
|
if data == false
|
88
90
|
LegacyFacter.warn "Could not interpret fact file #{fact.file}"
|
89
91
|
elsif (data == {}) || data.nil?
|
90
|
-
|
92
|
+
@log.debug("Fact file #{fact.file} was parsed but no key=>value data was returned")
|
91
93
|
else
|
92
94
|
data.each do |p, v|
|
93
95
|
collection.add(p, value: v, fact_type: :external,
|
data/lib/facter/fact_groups.conf
CHANGED
@@ -165,5 +165,144 @@
|
|
165
165
|
"virtual",
|
166
166
|
"is_virtual",
|
167
167
|
"cloud"
|
168
|
+
],
|
169
|
+
"legacy": [
|
170
|
+
"architecture",
|
171
|
+
"augeasversion",
|
172
|
+
"bios_release_date",
|
173
|
+
"bios_vendor",
|
174
|
+
"bios_version",
|
175
|
+
"blockdevice_*_model",
|
176
|
+
"blockdevice_*_size",
|
177
|
+
"blockdevice_*_vendor",
|
178
|
+
"blockdevices",
|
179
|
+
"boardassettag",
|
180
|
+
"boardmanufacturer",
|
181
|
+
"boardproductname",
|
182
|
+
"boardserialnumber",
|
183
|
+
"chassisassettag",
|
184
|
+
"chassistype",
|
185
|
+
"dhcp_servers",
|
186
|
+
"domain",
|
187
|
+
"fqdn",
|
188
|
+
"gid",
|
189
|
+
"hardwareisa",
|
190
|
+
"hardwaremodel",
|
191
|
+
"hostname",
|
192
|
+
"id",
|
193
|
+
"interfaces",
|
194
|
+
"ipaddress",
|
195
|
+
"ipaddress_.*",
|
196
|
+
"ipaddress_*",
|
197
|
+
"ipaddress6",
|
198
|
+
"ipaddress6_.*",
|
199
|
+
"ipaddress6_*",
|
200
|
+
"ldom_*",
|
201
|
+
"lsbdistcodename",
|
202
|
+
"lsbdistdescription",
|
203
|
+
"lsbdistid",
|
204
|
+
"lsbdistrelease",
|
205
|
+
"lsbmajdistrelease",
|
206
|
+
"lsbminordistrelease",
|
207
|
+
"lsbrelease",
|
208
|
+
"macaddress",
|
209
|
+
"macaddress_.*",
|
210
|
+
"macaddress_*",
|
211
|
+
"macosx_buildversion",
|
212
|
+
"macosx_productname",
|
213
|
+
"macosx_productversion",
|
214
|
+
"macosx_productversion_major",
|
215
|
+
"macosx_productversion_minor",
|
216
|
+
"manufacturer",
|
217
|
+
"memoryfree",
|
218
|
+
"memoryfree_mb",
|
219
|
+
"memorysize",
|
220
|
+
"memorysize_mb",
|
221
|
+
"mtu_.*",
|
222
|
+
"mtu_*",
|
223
|
+
"netmask",
|
224
|
+
"netmask_.*",
|
225
|
+
"netmask_*",
|
226
|
+
"netmask6",
|
227
|
+
"netmask6_.*",
|
228
|
+
"netmask6_*",
|
229
|
+
"network",
|
230
|
+
"network_.*",
|
231
|
+
"network_*",
|
232
|
+
"network6",
|
233
|
+
"network6_.*",
|
234
|
+
"network6_*",
|
235
|
+
"operatingsystem",
|
236
|
+
"operatingsystemmajrelease",
|
237
|
+
"operatingsystemrelease",
|
238
|
+
"osfamily",
|
239
|
+
"physicalprocessorcount",
|
240
|
+
"processor.*",
|
241
|
+
"processor*",
|
242
|
+
"processorcount",
|
243
|
+
"productname",
|
244
|
+
"rubyplatform",
|
245
|
+
"rubysitedir",
|
246
|
+
"rubyversion",
|
247
|
+
"scope6",
|
248
|
+
"scope6_.*",
|
249
|
+
"selinux",
|
250
|
+
"selinux_config_mode",
|
251
|
+
"selinux_config_policy",
|
252
|
+
"selinux_current_mode",
|
253
|
+
"selinux_enforced",
|
254
|
+
"selinux_policyversion",
|
255
|
+
"serialnumber",
|
256
|
+
"sp_*",
|
257
|
+
"sp_boot_mode",
|
258
|
+
"sp_boot_rom_version",
|
259
|
+
"sp_boot_volume",
|
260
|
+
"sp_cpu_type",
|
261
|
+
"sp_current_processor_speed",
|
262
|
+
"sp_kernel_version",
|
263
|
+
"sp_l2_cache_core",
|
264
|
+
"sp_l3_cache",
|
265
|
+
"sp_local_host_name",
|
266
|
+
"sp_machine_model",
|
267
|
+
"sp_machine_name",
|
268
|
+
"sp_number_processors",
|
269
|
+
"sp_os_version",
|
270
|
+
"sp_packages",
|
271
|
+
"sp_physical_memory",
|
272
|
+
"sp_platform_uuid",
|
273
|
+
"sp_secure_vm",
|
274
|
+
"sp_serial_number",
|
275
|
+
"sp_smc_version_system",
|
276
|
+
"sp_uptime",
|
277
|
+
"sp_user_name",
|
278
|
+
"ssh.*key",
|
279
|
+
"ssh*key",
|
280
|
+
"sshfp_.*",
|
281
|
+
"sshfp_*",
|
282
|
+
"swapencrypted",
|
283
|
+
"swapfree",
|
284
|
+
"swapfree_mb",
|
285
|
+
"swapsize",
|
286
|
+
"swapsize_mb",
|
287
|
+
"system32",
|
288
|
+
"uptime",
|
289
|
+
"uptime_days",
|
290
|
+
"uptime_hours",
|
291
|
+
"uptime_seconds",
|
292
|
+
"uuid",
|
293
|
+
"windows_edition_id",
|
294
|
+
"windows_installation_type",
|
295
|
+
"windows_product_name",
|
296
|
+
"windows_release_id",
|
297
|
+
"xendomains",
|
298
|
+
"zone_*_brand",
|
299
|
+
"zone_*_id",
|
300
|
+
"zone_*_iptype",
|
301
|
+
"zone_*_name",
|
302
|
+
"zone_*_path",
|
303
|
+
"zone_*_status",
|
304
|
+
"zone_*_uuid",
|
305
|
+
"zonename",
|
306
|
+
"zones"
|
168
307
|
]
|
169
|
-
}
|
308
|
+
}
|
@@ -4,13 +4,28 @@ module Facts
|
|
4
4
|
module Aix
|
5
5
|
class Disks
|
6
6
|
FACT_NAME = 'disks'
|
7
|
+
ALIASES = %w[blockdevices blockdevice_.*_size'].freeze
|
7
8
|
|
8
9
|
def call_the_resolver
|
10
|
+
facts = []
|
9
11
|
disks = Facter::Resolvers::Aix::Disks.resolve(:disks)
|
10
12
|
|
11
|
-
|
13
|
+
return Facter::ResolvedFact.new(FACT_NAME, nil) if disks.nil? || disks.empty?
|
12
14
|
|
13
|
-
|
15
|
+
blockdevices = disks.keys.join(',')
|
16
|
+
facts.push(Facter::ResolvedFact.new(FACT_NAME, disks))
|
17
|
+
facts.push(Facter::ResolvedFact.new('blockdevices', blockdevices, :legacy))
|
18
|
+
add_legacy_facts(disks, facts)
|
19
|
+
|
20
|
+
facts
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
def add_legacy_facts(disks, facts)
|
26
|
+
disks.each do |disk_name, disk_info|
|
27
|
+
facts.push(Facter::ResolvedFact.new("blockdevice_#{disk_name}_size", disk_info[:size_bytes].to_s, :legacy))
|
28
|
+
end
|
14
29
|
end
|
15
30
|
end
|
16
31
|
end
|
@@ -5,11 +5,13 @@ module Facts
|
|
5
5
|
module Networking
|
6
6
|
class Scope6
|
7
7
|
FACT_NAME = 'networking.scope6'
|
8
|
+
ALIASES = 'scope6'
|
8
9
|
|
9
10
|
def call_the_resolver
|
10
11
|
fact_value = Facter::Resolvers::Aix::Networking.resolve(:scope6)
|
11
12
|
|
12
|
-
Facter::ResolvedFact.new(FACT_NAME, fact_value)
|
13
|
+
[Facter::ResolvedFact.new(FACT_NAME, fact_value),
|
14
|
+
Facter::ResolvedFact.new('scope6', fact_value, :legacy)]
|
13
15
|
end
|
14
16
|
end
|
15
17
|
end
|
@@ -9,7 +9,6 @@ module Facts
|
|
9
9
|
def call_the_resolver
|
10
10
|
resolved_facts = []
|
11
11
|
interfaces = Facter::Resolvers::Aix::Networking.resolve(:interfaces)
|
12
|
-
scope6 = Facter::Resolvers::Aix::Networking.resolve(:scope6)
|
13
12
|
|
14
13
|
interfaces&.each do |interface_name, info|
|
15
14
|
if info[:scope6]
|
@@ -17,7 +16,6 @@ module Facts
|
|
17
16
|
end
|
18
17
|
end
|
19
18
|
|
20
|
-
resolved_facts << Facter::ResolvedFact.new('scope6', scope6, :legacy) if scope6
|
21
19
|
resolved_facts
|
22
20
|
end
|
23
21
|
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Aix
|
5
|
+
class Serialnumber
|
6
|
+
FACT_NAME = 'serialnumber'
|
7
|
+
TYPE = :legacy
|
8
|
+
|
9
|
+
def call_the_resolver
|
10
|
+
Facter::ResolvedFact.new(FACT_NAME, fact_value, :legacy)
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def fact_value
|
16
|
+
Facter::Resolvers::Aix::Serialnumber.resolve(:serialnumber)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Aix
|
5
|
+
class Sshalgorithmkey
|
6
|
+
FACT_NAME = 'ssh.*key'
|
7
|
+
TYPE = :legacy
|
8
|
+
|
9
|
+
def call_the_resolver
|
10
|
+
facts = []
|
11
|
+
result = Facter::Resolvers::SshResolver.resolve(:ssh)
|
12
|
+
result.each { |ssh| facts << Facter::ResolvedFact.new("ssh#{ssh.name.to_sym}key", ssh.key, :legacy) }
|
13
|
+
facts
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Aix
|
5
|
+
class SshfpAlgorithm
|
6
|
+
FACT_NAME = 'sshfp_.*'
|
7
|
+
TYPE = :legacy
|
8
|
+
|
9
|
+
def call_the_resolver
|
10
|
+
facts = []
|
11
|
+
result = Facter::Resolvers::SshResolver.resolve(:ssh)
|
12
|
+
result.each do |ssh|
|
13
|
+
facts << Facter::ResolvedFact.new("sshfp_#{ssh.name.to_sym}",
|
14
|
+
"#{ssh.fingerprint.sha1}\n#{ssh.fingerprint.sha256}", :legacy)
|
15
|
+
end
|
16
|
+
facts
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -6,11 +6,16 @@ module Facts
|
|
6
6
|
module Distro
|
7
7
|
class Release
|
8
8
|
FACT_NAME = 'os.distro.release'
|
9
|
+
ALIASES = %w[lsbdistrelease lsbmajdistrelease lsbminordistrelease].freeze
|
9
10
|
|
10
11
|
def call_the_resolver
|
11
12
|
fact_value = determine_release_for_os
|
13
|
+
return Facter::ResolvedFact.new(FACT_NAME, nil) unless fact_value
|
12
14
|
|
13
|
-
Facter::ResolvedFact.new(FACT_NAME, fact_value)
|
15
|
+
[Facter::ResolvedFact.new(FACT_NAME, fact_value),
|
16
|
+
Facter::ResolvedFact.new(ALIASES[0], fact_value['full'], :legacy),
|
17
|
+
Facter::ResolvedFact.new(ALIASES[1], fact_value['major'], :legacy),
|
18
|
+
Facter::ResolvedFact.new(ALIASES[2], fact_value['minor'], :legacy)]
|
14
19
|
end
|
15
20
|
|
16
21
|
private
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Freebsd
|
5
|
+
class Sshalgorithmkey
|
6
|
+
FACT_NAME = 'ssh.*key'
|
7
|
+
TYPE = :legacy
|
8
|
+
|
9
|
+
def call_the_resolver
|
10
|
+
facts = []
|
11
|
+
result = Facter::Resolvers::SshResolver.resolve(:ssh)
|
12
|
+
result.each { |ssh| facts << Facter::ResolvedFact.new("ssh#{ssh.name.to_sym}key", ssh.key, :legacy) }
|
13
|
+
facts
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Freebsd
|
5
|
+
class SshfpAlgorithm
|
6
|
+
FACT_NAME = 'sshfp_.*'
|
7
|
+
TYPE = :legacy
|
8
|
+
|
9
|
+
def call_the_resolver
|
10
|
+
facts = []
|
11
|
+
result = Facter::Resolvers::SshResolver.resolve(:ssh)
|
12
|
+
result.each do |ssh|
|
13
|
+
facts << Facter::ResolvedFact.new("sshfp_#{ssh.name.to_sym}",
|
14
|
+
"#{ssh.fingerprint.sha1}\n#{ssh.fingerprint.sha256}", :legacy)
|
15
|
+
end
|
16
|
+
facts
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -4,11 +4,30 @@ module Facts
|
|
4
4
|
module Linux
|
5
5
|
class Disks
|
6
6
|
FACT_NAME = 'disks'
|
7
|
+
ALIASES = %w[blockdevices blockdevice_.*_model blockdevice_.*_size blockdevice_.*_vendor'].freeze
|
7
8
|
|
8
9
|
def call_the_resolver
|
10
|
+
facts = []
|
9
11
|
disks = Facter::Resolvers::Linux::Disk.resolve(:disks)
|
10
12
|
|
11
|
-
Facter::ResolvedFact.new(FACT_NAME, disks
|
13
|
+
return Facter::ResolvedFact.new(FACT_NAME, nil) if disks.nil? || disks.empty?
|
14
|
+
|
15
|
+
blockdevices = disks.keys.join(',')
|
16
|
+
facts.push(Facter::ResolvedFact.new(FACT_NAME, disks))
|
17
|
+
facts.push(Facter::ResolvedFact.new('blockdevices', blockdevices, :legacy))
|
18
|
+
add_legacy_facts(disks, facts)
|
19
|
+
|
20
|
+
facts
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
def add_legacy_facts(disks, facts)
|
26
|
+
disks.each do |disk_name, disk_info|
|
27
|
+
facts.push(Facter::ResolvedFact.new("blockdevice_#{disk_name}_model", disk_info[:model], :legacy))
|
28
|
+
facts.push(Facter::ResolvedFact.new("blockdevice_#{disk_name}_size", disk_info[:size_bytes].to_s, :legacy))
|
29
|
+
facts.push(Facter::ResolvedFact.new("blockdevice_#{disk_name}_vendor", disk_info[:vendor], :legacy))
|
30
|
+
end
|
12
31
|
end
|
13
32
|
end
|
14
33
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Linux
|
5
|
+
module Dmi
|
6
|
+
module Board
|
7
|
+
class AssetTag
|
8
|
+
FACT_NAME = 'dmi.board.asset_tag'
|
9
|
+
ALIASES = 'boardassettag'
|
10
|
+
|
11
|
+
def call_the_resolver
|
12
|
+
fact_value = Facter::Resolvers::Linux::DmiBios.resolve(:board_asset_tag)
|
13
|
+
[Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -6,14 +6,16 @@ module Facts
|
|
6
6
|
FACT_NAME = 'ec2_metadata'
|
7
7
|
|
8
8
|
def call_the_resolver
|
9
|
-
return Facter::ResolvedFact.new(FACT_NAME, nil) unless
|
9
|
+
return Facter::ResolvedFact.new(FACT_NAME, nil) unless aws_hypervisors?
|
10
10
|
|
11
11
|
fact_value = Facter::Resolvers::Ec2.resolve(:metadata)
|
12
12
|
|
13
|
-
Facter::ResolvedFact.new(FACT_NAME, fact_value
|
13
|
+
Facter::ResolvedFact.new(FACT_NAME, fact_value&.empty? ? nil : fact_value)
|
14
14
|
end
|
15
15
|
|
16
|
-
|
16
|
+
private
|
17
|
+
|
18
|
+
def aws_hypervisors?
|
17
19
|
virtual = check_virt_what || check_xen || check_product_name || check_bios_vendor || check_lspci
|
18
20
|
|
19
21
|
virtual == 'kvm' || virtual =~ /xen/
|
@@ -6,14 +6,16 @@ module Facts
|
|
6
6
|
FACT_NAME = 'ec2_userdata'
|
7
7
|
|
8
8
|
def call_the_resolver
|
9
|
-
return Facter::ResolvedFact.new(FACT_NAME, nil) unless
|
9
|
+
return Facter::ResolvedFact.new(FACT_NAME, nil) unless aws_hypervisors?
|
10
10
|
|
11
11
|
fact_value = Facter::Resolvers::Ec2.resolve(:userdata)
|
12
12
|
|
13
|
-
Facter::ResolvedFact.new(FACT_NAME, fact_value
|
13
|
+
Facter::ResolvedFact.new(FACT_NAME, fact_value&.empty? ? nil : fact_value)
|
14
14
|
end
|
15
15
|
|
16
|
-
|
16
|
+
private
|
17
|
+
|
18
|
+
def aws_hypervisors?
|
17
19
|
virtual = check_virt_what || check_xen || check_product_name || check_bios_vendor || check_lspci
|
18
20
|
|
19
21
|
virtual == 'kvm' || virtual =~ /xen/
|