facter 4.0.40 → 4.0.46
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.rb +72 -19
- data/lib/facter/config.rb +355 -0
- data/lib/facter/custom_facts/core/aggregate.rb +51 -17
- data/lib/facter/custom_facts/core/execution.rb +54 -38
- data/lib/facter/custom_facts/core/execution/base.rb +46 -40
- data/lib/facter/custom_facts/util/fact.rb +1 -1
- data/lib/facter/custom_facts/util/parser.rb +17 -3
- data/lib/facter/custom_facts/util/resolution.rb +40 -11
- data/lib/facter/facts/linux/ec2_metadata.rb +5 -30
- data/lib/facter/facts/linux/ec2_userdata.rb +5 -28
- data/lib/facter/facts/linux/is_virtual.rb +7 -46
- data/lib/facter/facts/linux/virtual.rb +3 -58
- data/lib/facter/facts/rhel/os/release.rb +1 -1
- data/lib/facter/facts/solaris/hypervisors/ldom.rb +3 -0
- data/lib/facter/facts/solaris/ldom.rb +4 -1
- data/lib/facter/facts/solaris/zones.rb +1 -1
- data/lib/facter/facts_utils/virtual_detector.rb +78 -0
- data/lib/facter/framework/benchmarking/timer.rb +4 -2
- data/lib/facter/framework/cli/cli.rb +19 -5
- data/lib/facter/framework/config/fact_groups.rb +10 -8
- data/lib/facter/framework/core/cache_manager.rb +78 -28
- data/lib/facter/framework/core/fact/internal/core_fact.rb +6 -1
- data/lib/facter/framework/core/fact/internal/internal_fact_manager.rb +38 -4
- data/lib/facter/framework/core/fact_augmenter.rb +1 -1
- data/lib/facter/framework/core/fact_loaders/fact_loader.rb +1 -1
- data/lib/facter/framework/core/fact_manager.rb +1 -1
- data/lib/facter/framework/core/options/config_file_options.rb +16 -5
- data/lib/facter/framework/core/options/option_store.rb +40 -20
- data/lib/facter/framework/detector/os_hierarchy.rb +5 -9
- data/lib/facter/resolvers/aio_agent_version.rb +1 -1
- data/lib/facter/resolvers/aix/architecture_resolver.rb +17 -2
- data/lib/facter/resolvers/aix/disks.rb +2 -1
- data/lib/facter/resolvers/aix/filesystem_resolver.rb +1 -1
- data/lib/facter/resolvers/aix/hardware_resolver.rb +2 -1
- data/lib/facter/resolvers/aix/load_averages_resolver.rb +2 -1
- data/lib/facter/resolvers/aix/memory.rb +2 -1
- data/lib/facter/resolvers/aix/mountpoints.rb +2 -1
- data/lib/facter/resolvers/aix/networking_resolver.rb +1 -1
- data/lib/facter/resolvers/aix/nim.rb +1 -1
- data/lib/facter/resolvers/aix/os_level.rb +2 -2
- data/lib/facter/resolvers/aix/partitions.rb +2 -1
- data/lib/facter/resolvers/aix/processors.rb +2 -1
- data/lib/facter/resolvers/aix/serialnumber.rb +1 -1
- data/lib/facter/resolvers/augeas_resolver.rb +8 -2
- data/lib/facter/resolvers/base_resolver.rb +11 -4
- data/lib/facter/resolvers/bsd/processors.rb +13 -8
- data/lib/facter/resolvers/cloud.rb +1 -1
- data/lib/facter/resolvers/containers.rb +2 -1
- data/lib/facter/resolvers/debian_version.rb +1 -1
- data/lib/facter/resolvers/disk_resolver.rb +15 -4
- data/lib/facter/resolvers/dmi_decode.rb +2 -1
- data/lib/facter/resolvers/dmi_resolver.rb +4 -3
- data/lib/facter/resolvers/ec2.rb +2 -1
- data/lib/facter/resolvers/eos_release_resolver.rb +1 -1
- data/lib/facter/resolvers/facterversion_resolver.rb +1 -1
- data/lib/facter/resolvers/filesystems_resolver.rb +4 -1
- data/lib/facter/resolvers/fips_enabled_resolver.rb +4 -1
- data/lib/facter/resolvers/freebsd/dmi_resolver.rb +1 -1
- data/lib/facter/resolvers/freebsd/freebsd_version_resolver.rb +9 -7
- data/lib/facter/resolvers/freebsd/geom_resolver.rb +14 -21
- data/lib/facter/resolvers/freebsd/processors.rb +13 -8
- data/lib/facter/resolvers/freebsd/swap_memory_resolver.rb +2 -1
- data/lib/facter/resolvers/freebsd/system_memory_resolver.rb +2 -1
- data/lib/facter/resolvers/gce.rb +2 -1
- data/lib/facter/resolvers/hostname_resolver.rb +2 -1
- data/lib/facter/resolvers/identity_resolver.rb +2 -1
- data/lib/facter/resolvers/linux/docker_uptime.rb +2 -1
- data/lib/facter/resolvers/linux/load_averages.rb +2 -1
- data/lib/facter/resolvers/load_averages.rb +2 -1
- data/lib/facter/resolvers/lpar_resolver.rb +1 -1
- data/lib/facter/resolvers/lsb_release_resolver.rb +1 -1
- data/lib/facter/resolvers/lspci.rb +1 -1
- data/lib/facter/resolvers/macosx/dmi_resolver.rb +1 -1
- data/lib/facter/resolvers/macosx/filesystems_resolver.rb +1 -1
- data/lib/facter/resolvers/macosx/load_averages_resolver.rb +2 -1
- data/lib/facter/resolvers/macosx/mountpoints_resolver.rb +2 -1
- data/lib/facter/resolvers/macosx/processor_resolver.rb +2 -1
- data/lib/facter/resolvers/macosx/swap_memory_resolver.rb +2 -1
- data/lib/facter/resolvers/macosx/system_memory_resolver.rb +2 -1
- data/lib/facter/resolvers/macosx/system_profiler_resolver.rb +1 -3
- data/lib/facter/resolvers/memory_resolver.rb +15 -15
- data/lib/facter/resolvers/mountpoints_resolver.rb +54 -23
- data/lib/facter/resolvers/networking_linux_resolver.rb +15 -9
- data/lib/facter/resolvers/networking_resolver.rb +1 -1
- data/lib/facter/resolvers/open_vz.rb +1 -1
- data/lib/facter/resolvers/os_release_resolver.rb +1 -1
- data/lib/facter/resolvers/partitions.rb +62 -58
- data/lib/facter/resolvers/path_resolver.rb +1 -1
- data/lib/facter/resolvers/processors_resolver.rb +9 -2
- data/lib/facter/resolvers/puppet_version_resolver.rb +1 -1
- data/lib/facter/resolvers/redhat_release_resolver.rb +1 -1
- data/lib/facter/resolvers/ruby_resolver.rb +1 -1
- data/lib/facter/resolvers/selinux_resolver.rb +1 -1
- data/lib/facter/resolvers/solaris/disks.rb +1 -1
- data/lib/facter/resolvers/solaris/dmi.rb +3 -1
- data/lib/facter/resolvers/solaris/dmi_sparc.rb +1 -1
- data/lib/facter/resolvers/solaris/filesystems.rb +1 -1
- data/lib/facter/resolvers/solaris/ipaddress.rb +2 -1
- data/lib/facter/resolvers/solaris/ldom.rb +1 -3
- data/lib/facter/resolvers/solaris/memory.rb +2 -1
- data/lib/facter/resolvers/solaris/mountpoints.rb +60 -0
- data/lib/facter/resolvers/solaris/networking.rb +2 -3
- data/lib/facter/resolvers/solaris/os_release.rb +6 -4
- data/lib/facter/resolvers/solaris/processors.rb +2 -1
- data/lib/facter/resolvers/solaris/zone.rb +1 -1
- data/lib/facter/resolvers/solaris/zone_name.rb +1 -1
- data/lib/facter/resolvers/ssh_resolver.rb +8 -5
- data/lib/facter/resolvers/suse_release_resolver.rb +1 -1
- data/lib/facter/resolvers/sw_vers_resolver.rb +2 -2
- data/lib/facter/resolvers/timezone_resolver.rb +1 -1
- data/lib/facter/resolvers/uname_resolver.rb +1 -1
- data/lib/facter/resolvers/uptime_resolver.rb +1 -1
- data/lib/facter/resolvers/utils/networking.rb +2 -0
- data/lib/facter/resolvers/virt_what.rb +1 -1
- data/lib/facter/resolvers/vmware.rb +1 -1
- data/lib/facter/resolvers/windows/aio_agent_version.rb +1 -1
- data/lib/facter/resolvers/windows/dmi_bios_resolver.rb +1 -1
- data/lib/facter/resolvers/windows/dmi_computersystem_resolver.rb +1 -1
- data/lib/facter/resolvers/windows/fips_resolver.rb +2 -1
- data/lib/facter/resolvers/windows/hardware_architecture_resolver.rb +2 -1
- data/lib/facter/resolvers/windows/identity_resolver.rb +2 -1
- data/lib/facter/resolvers/windows/kernel_resolver.rb +3 -1
- data/lib/facter/resolvers/windows/memory_resolver.rb +3 -1
- data/lib/facter/resolvers/windows/netkvm_resolver.rb +2 -1
- data/lib/facter/resolvers/windows/networking_resolver.rb +2 -1
- data/lib/facter/resolvers/windows/processors_resolver.rb +2 -1
- data/lib/facter/resolvers/windows/product_release_resolver.rb +2 -1
- data/lib/facter/resolvers/windows/ssh.rb +3 -1
- data/lib/facter/resolvers/windows/system32_resolver.rb +3 -1
- data/lib/facter/resolvers/windows/uptime_resolver.rb +2 -1
- data/lib/facter/resolvers/windows/virtualization_resolver.rb +2 -1
- data/lib/facter/resolvers/windows/win_os_description_resolver.rb +3 -1
- data/lib/facter/resolvers/wpar_resolver.rb +1 -1
- data/lib/facter/resolvers/xen.rb +1 -1
- data/lib/facter/resolvers/zfs.rb +2 -1
- data/lib/facter/resolvers/zpool.rb +2 -1
- data/lib/facter/version.rb +1 -1
- metadata +7 -5
- data/lib/facter/fact_groups.conf +0 -308
- data/lib/facter/os_hierarchy.json +0 -36
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 71eb4894f5e565033d547ffb64d562aee98c6b6a082bca7387259f9a779830d8
|
|
4
|
+
data.tar.gz: 95331a72cf0dc86fabbcad33447724a3a55b536c366bb8ba356428fddefd1587
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 24caa700190be726fa0a7dc0f7dbbac290e073fab078c32b2b67d8a79c336daeab4c3254389a58e7bb4538706c8b8114d609173b78c31e7d676ca50d21a3bcb7
|
|
7
|
+
data.tar.gz: 9edcd692bfe2b0de59a6a6bf6f1700387e25da56127148ffd656edb901fc7fa47db7fe61eae3e4bf17ac8ddaa17e655c65ed366ef3fcc79db2a28e20ab1e6a37
|
data/lib/facter.rb
CHANGED
|
@@ -17,6 +17,12 @@ module Facter
|
|
|
17
17
|
@warn_once = []
|
|
18
18
|
|
|
19
19
|
class << self
|
|
20
|
+
# Method used by puppet-agent to retrieve facts
|
|
21
|
+
# @param args_as_string [string] facter cli arguments
|
|
22
|
+
#
|
|
23
|
+
# @return query result
|
|
24
|
+
#
|
|
25
|
+
# @api private
|
|
20
26
|
def resolve(args_as_string)
|
|
21
27
|
require 'facter/framework/cli/cli_launcher'
|
|
22
28
|
|
|
@@ -38,10 +44,6 @@ module Facter
|
|
|
38
44
|
end
|
|
39
45
|
end
|
|
40
46
|
|
|
41
|
-
def clear_messages
|
|
42
|
-
logger.debug('clear_messages is not implemented')
|
|
43
|
-
end
|
|
44
|
-
|
|
45
47
|
# Alias method for Facter.fact()
|
|
46
48
|
# @param name [string] fact name
|
|
47
49
|
#
|
|
@@ -83,8 +85,16 @@ module Facter
|
|
|
83
85
|
Options[:custom_dir] = []
|
|
84
86
|
LegacyFacter.collection.invalidate_custom_facts
|
|
85
87
|
LegacyFacter.collection.reload_custom_facts
|
|
88
|
+
SessionCache.invalidate_all_caches
|
|
89
|
+
nil
|
|
86
90
|
end
|
|
87
91
|
|
|
92
|
+
# Gets the value for a core fact, external or custom facts are
|
|
93
|
+
# not returned with this call. Returns `nil` if no such fact exists.
|
|
94
|
+
#
|
|
95
|
+
# @return [FactCollection] hash with fact names and values
|
|
96
|
+
#
|
|
97
|
+
# @api private
|
|
88
98
|
def core_value(user_query)
|
|
89
99
|
user_query = user_query.to_s
|
|
90
100
|
resolved_facts = Facter::FactManager.instance.resolve_core([user_query])
|
|
@@ -136,8 +146,16 @@ module Facter
|
|
|
136
146
|
LegacyFacter.define_fact(name, options, &block)
|
|
137
147
|
end
|
|
138
148
|
|
|
149
|
+
# Stores a proc that will be used to output custom messages.
|
|
150
|
+
# The proc must receive one parameter that will be the message to log.
|
|
151
|
+
# @param block [Proc] a block defining messages handler
|
|
152
|
+
#
|
|
153
|
+
# @return [nil]
|
|
154
|
+
#
|
|
155
|
+
# @api public
|
|
139
156
|
def on_message(&block)
|
|
140
157
|
Facter::Log.on_message(&block)
|
|
158
|
+
nil
|
|
141
159
|
end
|
|
142
160
|
|
|
143
161
|
# Check whether debugging is enabled
|
|
@@ -159,6 +177,18 @@ module Facter
|
|
|
159
177
|
Facter::Options[:debug] = debug_bool
|
|
160
178
|
end
|
|
161
179
|
|
|
180
|
+
def enable_sequential
|
|
181
|
+
Facter::Options[:sequential] = true
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
def disable_sequential
|
|
185
|
+
Facter::Options[:sequential] = false
|
|
186
|
+
end
|
|
187
|
+
|
|
188
|
+
def sequential?
|
|
189
|
+
Facter::Options[:sequential]
|
|
190
|
+
end
|
|
191
|
+
|
|
162
192
|
# Iterates over fact names and values
|
|
163
193
|
#
|
|
164
194
|
# @yieldparam [String] name the fact name
|
|
@@ -170,7 +200,6 @@ module Facter
|
|
|
170
200
|
def each
|
|
171
201
|
log_blocked_facts
|
|
172
202
|
resolved_facts = Facter::FactManager.instance.resolve_facts
|
|
173
|
-
SessionCache.invalidate_all_caches
|
|
174
203
|
|
|
175
204
|
resolved_facts.each do |fact|
|
|
176
205
|
yield(fact.name, fact.value)
|
|
@@ -206,6 +235,19 @@ module Facter
|
|
|
206
235
|
LegacyFacter.reset
|
|
207
236
|
Options[:custom_dir] = []
|
|
208
237
|
Options[:external_dir] = []
|
|
238
|
+
SessionCache.invalidate_all_caches
|
|
239
|
+
nil
|
|
240
|
+
end
|
|
241
|
+
|
|
242
|
+
# Flushes cached values for all facts. This does not cause code to be
|
|
243
|
+
# reloaded; it only clears the cached results.
|
|
244
|
+
#
|
|
245
|
+
# @return [void]
|
|
246
|
+
#
|
|
247
|
+
# @api public
|
|
248
|
+
def flush
|
|
249
|
+
LegacyFacter.flush
|
|
250
|
+
SessionCache.invalidate_all_caches
|
|
209
251
|
nil
|
|
210
252
|
end
|
|
211
253
|
|
|
@@ -220,26 +262,26 @@ module Facter
|
|
|
220
262
|
end
|
|
221
263
|
|
|
222
264
|
# Register directories to be searched for custom facts. The registered directories
|
|
223
|
-
#
|
|
224
|
-
#
|
|
265
|
+
# must be absolute paths or they will be ignored.
|
|
225
266
|
# @param dirs [Array<String>] An array of searched directories
|
|
226
267
|
#
|
|
227
|
-
# @return [
|
|
268
|
+
# @return [nil]
|
|
228
269
|
#
|
|
229
270
|
# @api public
|
|
230
271
|
def search(*dirs)
|
|
231
272
|
Options[:custom_dir] += dirs
|
|
273
|
+
nil
|
|
232
274
|
end
|
|
233
275
|
|
|
234
276
|
# Registers directories to be searched for external facts.
|
|
235
|
-
#
|
|
236
277
|
# @param dirs [Array<String>] An array of searched directories
|
|
237
278
|
#
|
|
238
|
-
# @return [
|
|
279
|
+
# @return [nil]
|
|
239
280
|
#
|
|
240
281
|
# @api public
|
|
241
282
|
def search_external(dirs)
|
|
242
283
|
Options[:external_dir] += dirs
|
|
284
|
+
nil
|
|
243
285
|
end
|
|
244
286
|
|
|
245
287
|
# Returns the registered search directories.for external facts.
|
|
@@ -263,14 +305,13 @@ module Facter
|
|
|
263
305
|
# Gets a hash mapping fact names to their values
|
|
264
306
|
# The hash contains core facts, legacy facts, custom facts and external facts (all facts that can be resolved).
|
|
265
307
|
#
|
|
266
|
-
# @return [FactCollection]
|
|
308
|
+
# @return [FactCollection] hash with fact names and values
|
|
267
309
|
#
|
|
268
310
|
# @api public
|
|
269
311
|
def to_hash
|
|
270
312
|
log_blocked_facts
|
|
271
313
|
|
|
272
314
|
resolved_facts = Facter::FactManager.instance.resolve_facts
|
|
273
|
-
Facter::SessionCache.invalidate_all_caches
|
|
274
315
|
Facter::FactCollection.new.build_fact_collection!(resolved_facts)
|
|
275
316
|
end
|
|
276
317
|
|
|
@@ -286,7 +327,7 @@ module Facter
|
|
|
286
327
|
# Enable or disable trace
|
|
287
328
|
# @param bool [bool] Set trace on debug state
|
|
288
329
|
#
|
|
289
|
-
# @return [
|
|
330
|
+
# @return [bool] Value of trace debug state
|
|
290
331
|
#
|
|
291
332
|
# @api public
|
|
292
333
|
def trace(bool)
|
|
@@ -305,10 +346,21 @@ module Facter
|
|
|
305
346
|
@already_searched[user_query]&.value
|
|
306
347
|
end
|
|
307
348
|
|
|
349
|
+
# Gets the values for multiple facts.
|
|
350
|
+
#
|
|
351
|
+
# @param options [Hash] parameters for the fact - attributes
|
|
352
|
+
# of {Facter::Util::Fact} and {Facter::Util::Resolution} can be
|
|
353
|
+
# supplied here
|
|
354
|
+
# @param user_queries [Array] the fact names
|
|
355
|
+
#
|
|
356
|
+
# @return [FactCollection] hash with fact names and values
|
|
357
|
+
#
|
|
358
|
+
# @api public
|
|
308
359
|
def values(options, user_queries)
|
|
309
360
|
init_cli_options(options, user_queries)
|
|
361
|
+
Options[:show_legacy] = true
|
|
362
|
+
log_blocked_facts
|
|
310
363
|
resolved_facts = Facter::FactManager.instance.resolve_facts(user_queries)
|
|
311
|
-
Facter::SessionCache.invalidate_all_caches
|
|
312
364
|
|
|
313
365
|
if user_queries.count.zero?
|
|
314
366
|
Facter::FactCollection.new.build_fact_collection!(resolved_facts)
|
|
@@ -336,7 +388,6 @@ module Facter
|
|
|
336
388
|
logger.info("executed with command line: #{ARGV.drop(1).join(' ')}")
|
|
337
389
|
log_blocked_facts
|
|
338
390
|
resolved_facts = Facter::FactManager.instance.resolve_facts(args)
|
|
339
|
-
SessionCache.invalidate_all_caches
|
|
340
391
|
fact_formatter = Facter::FormatterFactory.build(Facter::Options.get)
|
|
341
392
|
|
|
342
393
|
status = error_check(resolved_facts)
|
|
@@ -344,6 +395,11 @@ module Facter
|
|
|
344
395
|
[fact_formatter.format(resolved_facts), status || 0]
|
|
345
396
|
end
|
|
346
397
|
|
|
398
|
+
# Logs an exception and an optional message
|
|
399
|
+
#
|
|
400
|
+
# @return [nil]
|
|
401
|
+
#
|
|
402
|
+
# @api public
|
|
347
403
|
def log_exception(exception, message = nil)
|
|
348
404
|
error_message = []
|
|
349
405
|
|
|
@@ -351,10 +407,10 @@ module Facter
|
|
|
351
407
|
|
|
352
408
|
parse_exception(exception, error_message)
|
|
353
409
|
logger.error(error_message.flatten.join("\n"))
|
|
410
|
+
nil
|
|
354
411
|
end
|
|
355
412
|
|
|
356
413
|
# Returns a list with the names of all solved facts
|
|
357
|
-
#
|
|
358
414
|
# @return [Array] the list with all the fact names
|
|
359
415
|
#
|
|
360
416
|
# @api public
|
|
@@ -363,7 +419,6 @@ module Facter
|
|
|
363
419
|
end
|
|
364
420
|
|
|
365
421
|
# Logs the message parameter as a warning.
|
|
366
|
-
#
|
|
367
422
|
# @param message [Object] the warning object to be displayed
|
|
368
423
|
#
|
|
369
424
|
# @return [nil]
|
|
@@ -375,7 +430,6 @@ module Facter
|
|
|
375
430
|
end
|
|
376
431
|
|
|
377
432
|
# Logs only once the same warning message.
|
|
378
|
-
#
|
|
379
433
|
# @param message [Object] the warning message object
|
|
380
434
|
#
|
|
381
435
|
# @return [nil]
|
|
@@ -426,7 +480,6 @@ module Facter
|
|
|
426
480
|
def resolve_fact(user_query)
|
|
427
481
|
user_query = user_query.to_s
|
|
428
482
|
resolved_facts = Facter::FactManager.instance.resolve_facts([user_query])
|
|
429
|
-
SessionCache.invalidate_all_caches
|
|
430
483
|
# we must make a distinction between custom facts that return nil and nil facts
|
|
431
484
|
# Nil facts should not be packaged as ResolvedFacts! (add_fact_to_searched_facts packages facts)
|
|
432
485
|
resolved_facts = resolved_facts.reject { |fact| fact.type == :nil }
|
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Facter
|
|
4
|
+
module Config
|
|
5
|
+
unless defined?(OS_HIERARCHY)
|
|
6
|
+
OS_HIERARCHY = [
|
|
7
|
+
{
|
|
8
|
+
'Linux' => [
|
|
9
|
+
{
|
|
10
|
+
'Debian' => %w[
|
|
11
|
+
Elementary
|
|
12
|
+
Ubuntu
|
|
13
|
+
Raspbian
|
|
14
|
+
]
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
'Rhel' => %w[
|
|
18
|
+
Fedora
|
|
19
|
+
Amzn
|
|
20
|
+
Centos
|
|
21
|
+
Ol
|
|
22
|
+
Scientific
|
|
23
|
+
]
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
'Sles' => [
|
|
27
|
+
'Opensuse'
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
'Bsd' => [
|
|
34
|
+
'Freebsd'
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
'Solaris',
|
|
38
|
+
'Macosx',
|
|
39
|
+
'Windows',
|
|
40
|
+
'Aix'
|
|
41
|
+
].freeze
|
|
42
|
+
end
|
|
43
|
+
unless defined? FACT_GROUPS
|
|
44
|
+
FACT_GROUPS = {
|
|
45
|
+
'EC2' => %w[
|
|
46
|
+
ec2_metadata
|
|
47
|
+
ec2_userdata
|
|
48
|
+
],
|
|
49
|
+
'GCE' => [
|
|
50
|
+
'gce'
|
|
51
|
+
],
|
|
52
|
+
'augeas' => %w[
|
|
53
|
+
augeas
|
|
54
|
+
augeasversion
|
|
55
|
+
],
|
|
56
|
+
'desktop management interface' => %w[
|
|
57
|
+
dmi
|
|
58
|
+
bios_vendor
|
|
59
|
+
bios_version
|
|
60
|
+
bios_release_date
|
|
61
|
+
boardassettag
|
|
62
|
+
boardmanufacturer
|
|
63
|
+
boardproductname
|
|
64
|
+
boardserialnumber
|
|
65
|
+
chassisassettag
|
|
66
|
+
manufacturer
|
|
67
|
+
productname
|
|
68
|
+
serialnumber
|
|
69
|
+
uuid
|
|
70
|
+
chassistype
|
|
71
|
+
],
|
|
72
|
+
'file system' => %w[
|
|
73
|
+
mountpoints
|
|
74
|
+
filesystems
|
|
75
|
+
partitions
|
|
76
|
+
],
|
|
77
|
+
'hypervisors' => [
|
|
78
|
+
'hypervisors'
|
|
79
|
+
],
|
|
80
|
+
'id' => %w[
|
|
81
|
+
id
|
|
82
|
+
gid
|
|
83
|
+
identity
|
|
84
|
+
],
|
|
85
|
+
'kernel' => %w[
|
|
86
|
+
kernel
|
|
87
|
+
kernelversion
|
|
88
|
+
kernelrelease
|
|
89
|
+
kernelmajversion
|
|
90
|
+
],
|
|
91
|
+
'load_average' => [
|
|
92
|
+
'load_averages'
|
|
93
|
+
],
|
|
94
|
+
'memory' => %w[
|
|
95
|
+
memory
|
|
96
|
+
memoryfree
|
|
97
|
+
memoryfree_mb
|
|
98
|
+
memorysize
|
|
99
|
+
memorysize_mb
|
|
100
|
+
swapfree
|
|
101
|
+
swapfree_mb
|
|
102
|
+
swapsize
|
|
103
|
+
swapsize_mb
|
|
104
|
+
swapencrypted
|
|
105
|
+
],
|
|
106
|
+
'networking' => %w[
|
|
107
|
+
networking
|
|
108
|
+
hostname
|
|
109
|
+
ipaddress
|
|
110
|
+
ipaddress6
|
|
111
|
+
netmask
|
|
112
|
+
netmask6
|
|
113
|
+
network
|
|
114
|
+
network6
|
|
115
|
+
macaddress
|
|
116
|
+
interfaces
|
|
117
|
+
domain
|
|
118
|
+
fqdn
|
|
119
|
+
dhcp_servers
|
|
120
|
+
scope6
|
|
121
|
+
],
|
|
122
|
+
'operating system' => %w[
|
|
123
|
+
os
|
|
124
|
+
operatingsystem
|
|
125
|
+
osfamily
|
|
126
|
+
operatingsystemrelease
|
|
127
|
+
operatingsystemmajrelease
|
|
128
|
+
hardwaremodel
|
|
129
|
+
architecture
|
|
130
|
+
lsbdistid
|
|
131
|
+
lsbdistrelease
|
|
132
|
+
lsbdistcodename
|
|
133
|
+
lsbdistdescription
|
|
134
|
+
lsbmajdistrelease
|
|
135
|
+
lsbminordistrelease
|
|
136
|
+
lsbrelease
|
|
137
|
+
macosx_buildversion
|
|
138
|
+
macosx_productname
|
|
139
|
+
macosx_productversion
|
|
140
|
+
macosx_productversion_major
|
|
141
|
+
macosx_productversion_minor
|
|
142
|
+
windows_edition_id
|
|
143
|
+
windows_installation_type
|
|
144
|
+
windows_product_name
|
|
145
|
+
windows_release_id
|
|
146
|
+
system32
|
|
147
|
+
selinux
|
|
148
|
+
selinux_enforced
|
|
149
|
+
selinux_policyversion
|
|
150
|
+
selinux_current_mode
|
|
151
|
+
selinux_config_mode
|
|
152
|
+
selinux_config_policy
|
|
153
|
+
],
|
|
154
|
+
'path' => [
|
|
155
|
+
'path'
|
|
156
|
+
],
|
|
157
|
+
'processor' => %w[
|
|
158
|
+
processors
|
|
159
|
+
processorcount
|
|
160
|
+
physicalprocessorcount
|
|
161
|
+
hardwareisa
|
|
162
|
+
],
|
|
163
|
+
'ssh' => %w[
|
|
164
|
+
ssh
|
|
165
|
+
sshdsakey
|
|
166
|
+
sshrsakey
|
|
167
|
+
sshecdsakey
|
|
168
|
+
sshed25519key
|
|
169
|
+
sshfp_dsa
|
|
170
|
+
sshfp_rsa
|
|
171
|
+
sshfp_ecdsa
|
|
172
|
+
sshfp_ed25519
|
|
173
|
+
],
|
|
174
|
+
'system profiler' => %w[
|
|
175
|
+
system_profiler
|
|
176
|
+
sp_boot_mode
|
|
177
|
+
sp_boot_rom_version
|
|
178
|
+
sp_boot_volume
|
|
179
|
+
sp_cpu_type
|
|
180
|
+
sp_current_processor_speed
|
|
181
|
+
sp_kernel_version
|
|
182
|
+
sp_l2_cache_core
|
|
183
|
+
sp_l3_cache
|
|
184
|
+
sp_local_host_name
|
|
185
|
+
sp_machine_model
|
|
186
|
+
sp_machine_name
|
|
187
|
+
sp_number_processors
|
|
188
|
+
sp_os_version
|
|
189
|
+
sp_packages
|
|
190
|
+
sp_physical_memory
|
|
191
|
+
sp_platform_uuid
|
|
192
|
+
sp_secure_vm
|
|
193
|
+
sp_serial_number
|
|
194
|
+
sp_smc_version_system
|
|
195
|
+
sp_uptime
|
|
196
|
+
sp_user_name
|
|
197
|
+
],
|
|
198
|
+
'timezone' => [
|
|
199
|
+
'timezone'
|
|
200
|
+
],
|
|
201
|
+
'uptime' => %w[
|
|
202
|
+
system_uptime
|
|
203
|
+
uptime
|
|
204
|
+
uptime_days
|
|
205
|
+
uptime_hours
|
|
206
|
+
uptime_seconds
|
|
207
|
+
],
|
|
208
|
+
'virtualization' => %w[
|
|
209
|
+
virtual
|
|
210
|
+
is_virtual
|
|
211
|
+
cloud
|
|
212
|
+
],
|
|
213
|
+
'legacy' => [
|
|
214
|
+
'architecture',
|
|
215
|
+
'augeasversion',
|
|
216
|
+
'bios_release_date',
|
|
217
|
+
'bios_vendor',
|
|
218
|
+
'bios_version',
|
|
219
|
+
'blockdevice_*_model',
|
|
220
|
+
'blockdevice_*_size',
|
|
221
|
+
'blockdevice_*_vendor',
|
|
222
|
+
'blockdevices',
|
|
223
|
+
'boardassettag',
|
|
224
|
+
'boardmanufacturer',
|
|
225
|
+
'boardproductname',
|
|
226
|
+
'boardserialnumber',
|
|
227
|
+
'chassisassettag',
|
|
228
|
+
'chassistype',
|
|
229
|
+
'dhcp_servers',
|
|
230
|
+
'domain',
|
|
231
|
+
'fqdn',
|
|
232
|
+
'gid',
|
|
233
|
+
'hardwareisa',
|
|
234
|
+
'hardwaremodel',
|
|
235
|
+
'hostname',
|
|
236
|
+
'id',
|
|
237
|
+
'interfaces',
|
|
238
|
+
'ipaddress',
|
|
239
|
+
'ipaddress_.*',
|
|
240
|
+
'ipaddress_*',
|
|
241
|
+
'ipaddress6',
|
|
242
|
+
'ipaddress6_.*',
|
|
243
|
+
'ipaddress6_*',
|
|
244
|
+
'ldom_*',
|
|
245
|
+
'lsbdistcodename',
|
|
246
|
+
'lsbdistdescription',
|
|
247
|
+
'lsbdistid',
|
|
248
|
+
'lsbdistrelease',
|
|
249
|
+
'lsbmajdistrelease',
|
|
250
|
+
'lsbminordistrelease',
|
|
251
|
+
'lsbrelease',
|
|
252
|
+
'macaddress',
|
|
253
|
+
'macaddress_.*',
|
|
254
|
+
'macaddress_*',
|
|
255
|
+
'macosx_buildversion',
|
|
256
|
+
'macosx_productname',
|
|
257
|
+
'macosx_productversion',
|
|
258
|
+
'macosx_productversion_major',
|
|
259
|
+
'macosx_productversion_minor',
|
|
260
|
+
'manufacturer',
|
|
261
|
+
'memoryfree',
|
|
262
|
+
'memoryfree_mb',
|
|
263
|
+
'memorysize',
|
|
264
|
+
'memorysize_mb',
|
|
265
|
+
'mtu_.*',
|
|
266
|
+
'mtu_*',
|
|
267
|
+
'netmask',
|
|
268
|
+
'netmask_.*',
|
|
269
|
+
'netmask_*',
|
|
270
|
+
'netmask6',
|
|
271
|
+
'netmask6_.*',
|
|
272
|
+
'netmask6_*',
|
|
273
|
+
'network',
|
|
274
|
+
'network_.*',
|
|
275
|
+
'network_*',
|
|
276
|
+
'network6',
|
|
277
|
+
'network6_.*',
|
|
278
|
+
'network6_*',
|
|
279
|
+
'operatingsystem',
|
|
280
|
+
'operatingsystemmajrelease',
|
|
281
|
+
'operatingsystemrelease',
|
|
282
|
+
'osfamily',
|
|
283
|
+
'physicalprocessorcount',
|
|
284
|
+
'processor.*',
|
|
285
|
+
'processor*',
|
|
286
|
+
'processorcount',
|
|
287
|
+
'productname',
|
|
288
|
+
'rubyplatform',
|
|
289
|
+
'rubysitedir',
|
|
290
|
+
'rubyversion',
|
|
291
|
+
'scope6',
|
|
292
|
+
'scope6_.*',
|
|
293
|
+
'selinux',
|
|
294
|
+
'selinux_config_mode',
|
|
295
|
+
'selinux_config_policy',
|
|
296
|
+
'selinux_current_mode',
|
|
297
|
+
'selinux_enforced',
|
|
298
|
+
'selinux_policyversion',
|
|
299
|
+
'serialnumber',
|
|
300
|
+
'sp_*',
|
|
301
|
+
'sp_boot_mode',
|
|
302
|
+
'sp_boot_rom_version',
|
|
303
|
+
'sp_boot_volume',
|
|
304
|
+
'sp_cpu_type',
|
|
305
|
+
'sp_current_processor_speed',
|
|
306
|
+
'sp_kernel_version',
|
|
307
|
+
'sp_l2_cache_core',
|
|
308
|
+
'sp_l3_cache',
|
|
309
|
+
'sp_local_host_name',
|
|
310
|
+
'sp_machine_model',
|
|
311
|
+
'sp_machine_name',
|
|
312
|
+
'sp_number_processors',
|
|
313
|
+
'sp_os_version',
|
|
314
|
+
'sp_packages',
|
|
315
|
+
'sp_physical_memory',
|
|
316
|
+
'sp_platform_uuid',
|
|
317
|
+
'sp_secure_vm',
|
|
318
|
+
'sp_serial_number',
|
|
319
|
+
'sp_smc_version_system',
|
|
320
|
+
'sp_uptime',
|
|
321
|
+
'sp_user_name',
|
|
322
|
+
'ssh.*key',
|
|
323
|
+
'ssh*key',
|
|
324
|
+
'sshfp_.*',
|
|
325
|
+
'sshfp_*',
|
|
326
|
+
'swapencrypted',
|
|
327
|
+
'swapfree',
|
|
328
|
+
'swapfree_mb',
|
|
329
|
+
'swapsize',
|
|
330
|
+
'swapsize_mb',
|
|
331
|
+
'system32',
|
|
332
|
+
'uptime',
|
|
333
|
+
'uptime_days',
|
|
334
|
+
'uptime_hours',
|
|
335
|
+
'uptime_seconds',
|
|
336
|
+
'uuid',
|
|
337
|
+
'windows_edition_id',
|
|
338
|
+
'windows_installation_type',
|
|
339
|
+
'windows_product_name',
|
|
340
|
+
'windows_release_id',
|
|
341
|
+
'xendomains',
|
|
342
|
+
'zone_*_brand',
|
|
343
|
+
'zone_*_id',
|
|
344
|
+
'zone_*_iptype',
|
|
345
|
+
'zone_*_name',
|
|
346
|
+
'zone_*_path',
|
|
347
|
+
'zone_*_status',
|
|
348
|
+
'zone_*_uuid',
|
|
349
|
+
'zonename',
|
|
350
|
+
'zones'
|
|
351
|
+
]
|
|
352
|
+
}.freeze
|
|
353
|
+
end
|
|
354
|
+
end
|
|
355
|
+
end
|