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.
Files changed (141) hide show
  1. checksums.yaml +4 -4
  2. data/lib/facter.rb +72 -19
  3. data/lib/facter/config.rb +355 -0
  4. data/lib/facter/custom_facts/core/aggregate.rb +51 -17
  5. data/lib/facter/custom_facts/core/execution.rb +54 -38
  6. data/lib/facter/custom_facts/core/execution/base.rb +46 -40
  7. data/lib/facter/custom_facts/util/fact.rb +1 -1
  8. data/lib/facter/custom_facts/util/parser.rb +17 -3
  9. data/lib/facter/custom_facts/util/resolution.rb +40 -11
  10. data/lib/facter/facts/linux/ec2_metadata.rb +5 -30
  11. data/lib/facter/facts/linux/ec2_userdata.rb +5 -28
  12. data/lib/facter/facts/linux/is_virtual.rb +7 -46
  13. data/lib/facter/facts/linux/virtual.rb +3 -58
  14. data/lib/facter/facts/rhel/os/release.rb +1 -1
  15. data/lib/facter/facts/solaris/hypervisors/ldom.rb +3 -0
  16. data/lib/facter/facts/solaris/ldom.rb +4 -1
  17. data/lib/facter/facts/solaris/zones.rb +1 -1
  18. data/lib/facter/facts_utils/virtual_detector.rb +78 -0
  19. data/lib/facter/framework/benchmarking/timer.rb +4 -2
  20. data/lib/facter/framework/cli/cli.rb +19 -5
  21. data/lib/facter/framework/config/fact_groups.rb +10 -8
  22. data/lib/facter/framework/core/cache_manager.rb +78 -28
  23. data/lib/facter/framework/core/fact/internal/core_fact.rb +6 -1
  24. data/lib/facter/framework/core/fact/internal/internal_fact_manager.rb +38 -4
  25. data/lib/facter/framework/core/fact_augmenter.rb +1 -1
  26. data/lib/facter/framework/core/fact_loaders/fact_loader.rb +1 -1
  27. data/lib/facter/framework/core/fact_manager.rb +1 -1
  28. data/lib/facter/framework/core/options/config_file_options.rb +16 -5
  29. data/lib/facter/framework/core/options/option_store.rb +40 -20
  30. data/lib/facter/framework/detector/os_hierarchy.rb +5 -9
  31. data/lib/facter/resolvers/aio_agent_version.rb +1 -1
  32. data/lib/facter/resolvers/aix/architecture_resolver.rb +17 -2
  33. data/lib/facter/resolvers/aix/disks.rb +2 -1
  34. data/lib/facter/resolvers/aix/filesystem_resolver.rb +1 -1
  35. data/lib/facter/resolvers/aix/hardware_resolver.rb +2 -1
  36. data/lib/facter/resolvers/aix/load_averages_resolver.rb +2 -1
  37. data/lib/facter/resolvers/aix/memory.rb +2 -1
  38. data/lib/facter/resolvers/aix/mountpoints.rb +2 -1
  39. data/lib/facter/resolvers/aix/networking_resolver.rb +1 -1
  40. data/lib/facter/resolvers/aix/nim.rb +1 -1
  41. data/lib/facter/resolvers/aix/os_level.rb +2 -2
  42. data/lib/facter/resolvers/aix/partitions.rb +2 -1
  43. data/lib/facter/resolvers/aix/processors.rb +2 -1
  44. data/lib/facter/resolvers/aix/serialnumber.rb +1 -1
  45. data/lib/facter/resolvers/augeas_resolver.rb +8 -2
  46. data/lib/facter/resolvers/base_resolver.rb +11 -4
  47. data/lib/facter/resolvers/bsd/processors.rb +13 -8
  48. data/lib/facter/resolvers/cloud.rb +1 -1
  49. data/lib/facter/resolvers/containers.rb +2 -1
  50. data/lib/facter/resolvers/debian_version.rb +1 -1
  51. data/lib/facter/resolvers/disk_resolver.rb +15 -4
  52. data/lib/facter/resolvers/dmi_decode.rb +2 -1
  53. data/lib/facter/resolvers/dmi_resolver.rb +4 -3
  54. data/lib/facter/resolvers/ec2.rb +2 -1
  55. data/lib/facter/resolvers/eos_release_resolver.rb +1 -1
  56. data/lib/facter/resolvers/facterversion_resolver.rb +1 -1
  57. data/lib/facter/resolvers/filesystems_resolver.rb +4 -1
  58. data/lib/facter/resolvers/fips_enabled_resolver.rb +4 -1
  59. data/lib/facter/resolvers/freebsd/dmi_resolver.rb +1 -1
  60. data/lib/facter/resolvers/freebsd/freebsd_version_resolver.rb +9 -7
  61. data/lib/facter/resolvers/freebsd/geom_resolver.rb +14 -21
  62. data/lib/facter/resolvers/freebsd/processors.rb +13 -8
  63. data/lib/facter/resolvers/freebsd/swap_memory_resolver.rb +2 -1
  64. data/lib/facter/resolvers/freebsd/system_memory_resolver.rb +2 -1
  65. data/lib/facter/resolvers/gce.rb +2 -1
  66. data/lib/facter/resolvers/hostname_resolver.rb +2 -1
  67. data/lib/facter/resolvers/identity_resolver.rb +2 -1
  68. data/lib/facter/resolvers/linux/docker_uptime.rb +2 -1
  69. data/lib/facter/resolvers/linux/load_averages.rb +2 -1
  70. data/lib/facter/resolvers/load_averages.rb +2 -1
  71. data/lib/facter/resolvers/lpar_resolver.rb +1 -1
  72. data/lib/facter/resolvers/lsb_release_resolver.rb +1 -1
  73. data/lib/facter/resolvers/lspci.rb +1 -1
  74. data/lib/facter/resolvers/macosx/dmi_resolver.rb +1 -1
  75. data/lib/facter/resolvers/macosx/filesystems_resolver.rb +1 -1
  76. data/lib/facter/resolvers/macosx/load_averages_resolver.rb +2 -1
  77. data/lib/facter/resolvers/macosx/mountpoints_resolver.rb +2 -1
  78. data/lib/facter/resolvers/macosx/processor_resolver.rb +2 -1
  79. data/lib/facter/resolvers/macosx/swap_memory_resolver.rb +2 -1
  80. data/lib/facter/resolvers/macosx/system_memory_resolver.rb +2 -1
  81. data/lib/facter/resolvers/macosx/system_profiler_resolver.rb +1 -3
  82. data/lib/facter/resolvers/memory_resolver.rb +15 -15
  83. data/lib/facter/resolvers/mountpoints_resolver.rb +54 -23
  84. data/lib/facter/resolvers/networking_linux_resolver.rb +15 -9
  85. data/lib/facter/resolvers/networking_resolver.rb +1 -1
  86. data/lib/facter/resolvers/open_vz.rb +1 -1
  87. data/lib/facter/resolvers/os_release_resolver.rb +1 -1
  88. data/lib/facter/resolvers/partitions.rb +62 -58
  89. data/lib/facter/resolvers/path_resolver.rb +1 -1
  90. data/lib/facter/resolvers/processors_resolver.rb +9 -2
  91. data/lib/facter/resolvers/puppet_version_resolver.rb +1 -1
  92. data/lib/facter/resolvers/redhat_release_resolver.rb +1 -1
  93. data/lib/facter/resolvers/ruby_resolver.rb +1 -1
  94. data/lib/facter/resolvers/selinux_resolver.rb +1 -1
  95. data/lib/facter/resolvers/solaris/disks.rb +1 -1
  96. data/lib/facter/resolvers/solaris/dmi.rb +3 -1
  97. data/lib/facter/resolvers/solaris/dmi_sparc.rb +1 -1
  98. data/lib/facter/resolvers/solaris/filesystems.rb +1 -1
  99. data/lib/facter/resolvers/solaris/ipaddress.rb +2 -1
  100. data/lib/facter/resolvers/solaris/ldom.rb +1 -3
  101. data/lib/facter/resolvers/solaris/memory.rb +2 -1
  102. data/lib/facter/resolvers/solaris/mountpoints.rb +60 -0
  103. data/lib/facter/resolvers/solaris/networking.rb +2 -3
  104. data/lib/facter/resolvers/solaris/os_release.rb +6 -4
  105. data/lib/facter/resolvers/solaris/processors.rb +2 -1
  106. data/lib/facter/resolvers/solaris/zone.rb +1 -1
  107. data/lib/facter/resolvers/solaris/zone_name.rb +1 -1
  108. data/lib/facter/resolvers/ssh_resolver.rb +8 -5
  109. data/lib/facter/resolvers/suse_release_resolver.rb +1 -1
  110. data/lib/facter/resolvers/sw_vers_resolver.rb +2 -2
  111. data/lib/facter/resolvers/timezone_resolver.rb +1 -1
  112. data/lib/facter/resolvers/uname_resolver.rb +1 -1
  113. data/lib/facter/resolvers/uptime_resolver.rb +1 -1
  114. data/lib/facter/resolvers/utils/networking.rb +2 -0
  115. data/lib/facter/resolvers/virt_what.rb +1 -1
  116. data/lib/facter/resolvers/vmware.rb +1 -1
  117. data/lib/facter/resolvers/windows/aio_agent_version.rb +1 -1
  118. data/lib/facter/resolvers/windows/dmi_bios_resolver.rb +1 -1
  119. data/lib/facter/resolvers/windows/dmi_computersystem_resolver.rb +1 -1
  120. data/lib/facter/resolvers/windows/fips_resolver.rb +2 -1
  121. data/lib/facter/resolvers/windows/hardware_architecture_resolver.rb +2 -1
  122. data/lib/facter/resolvers/windows/identity_resolver.rb +2 -1
  123. data/lib/facter/resolvers/windows/kernel_resolver.rb +3 -1
  124. data/lib/facter/resolvers/windows/memory_resolver.rb +3 -1
  125. data/lib/facter/resolvers/windows/netkvm_resolver.rb +2 -1
  126. data/lib/facter/resolvers/windows/networking_resolver.rb +2 -1
  127. data/lib/facter/resolvers/windows/processors_resolver.rb +2 -1
  128. data/lib/facter/resolvers/windows/product_release_resolver.rb +2 -1
  129. data/lib/facter/resolvers/windows/ssh.rb +3 -1
  130. data/lib/facter/resolvers/windows/system32_resolver.rb +3 -1
  131. data/lib/facter/resolvers/windows/uptime_resolver.rb +2 -1
  132. data/lib/facter/resolvers/windows/virtualization_resolver.rb +2 -1
  133. data/lib/facter/resolvers/windows/win_os_description_resolver.rb +3 -1
  134. data/lib/facter/resolvers/wpar_resolver.rb +1 -1
  135. data/lib/facter/resolvers/xen.rb +1 -1
  136. data/lib/facter/resolvers/zfs.rb +2 -1
  137. data/lib/facter/resolvers/zpool.rb +2 -1
  138. data/lib/facter/version.rb +1 -1
  139. metadata +7 -5
  140. data/lib/facter/fact_groups.conf +0 -308
  141. data/lib/facter/os_hierarchy.json +0 -36
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 64bb37710d33d522370161fab93516fed5961615ff3fc44609ee6700318efda4
4
- data.tar.gz: 47e222b78a6a4ce13ee4d0fc91cbcca942b4b3c9357e35debbc2ea61d401867c
3
+ metadata.gz: 71eb4894f5e565033d547ffb64d562aee98c6b6a082bca7387259f9a779830d8
4
+ data.tar.gz: 95331a72cf0dc86fabbcad33447724a3a55b536c366bb8ba356428fddefd1587
5
5
  SHA512:
6
- metadata.gz: 4bb85c358a104d83fde58ad5ce0733736f5e2295324d1041e79d24c5c08cf284f2eb32c30b9024a5f216713b8a12a92a01249aab0346aec016ebeecc1c77d82f
7
- data.tar.gz: 2f079a4fc5788d5e4c5698d0b5ad31cfc7affa352b19d636c077faa3125e342ba14e4d1c3d53a1684112cd9a76c27365fe9f2f9713502ea52b8d4ceffd56eee7
6
+ metadata.gz: 24caa700190be726fa0a7dc0f7dbbac290e073fab078c32b2b67d8a79c336daeab4c3254389a58e7bb4538706c8b8114d609173b78c31e7d676ca50d21a3bcb7
7
+ data.tar.gz: 9edcd692bfe2b0de59a6a6bf6f1700387e25da56127148ffd656edb901fc7fa47db7fe61eae3e4bf17ac8ddaa17e655c65ed366ef3fcc79db2a28e20ab1e6a37
@@ -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
- # must be absolute paths or they will be ignored.
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 [void]
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 [void]
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] the hash of fact names and values
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 [type] [description]
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