facter 4.0.40 → 4.0.46

Sign up to get free protection for your applications and to get access to all the features.
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