facter 4.0.30 → 4.0.35

Sign up to get free protection for your applications and to get access to all the features.
Files changed (254) hide show
  1. checksums.yaml +4 -4
  2. data/lib/facter.rb +3 -4
  3. data/lib/facter/custom_facts/util/directory_loader.rb +10 -0
  4. data/lib/facter/custom_facts/util/parser.rb +3 -3
  5. data/lib/facter/facts/aix/disks.rb +17 -0
  6. data/lib/facter/facts/aix/memory/swap/available.rb +22 -0
  7. data/lib/facter/facts/aix/memory/swap/available_bytes.rb +22 -0
  8. data/lib/facter/facts/aix/memory/swap/capacity.rb +20 -0
  9. data/lib/facter/facts/aix/memory/swap/total.rb +22 -0
  10. data/lib/facter/facts/aix/memory/swap/total_bytes.rb +22 -0
  11. data/lib/facter/facts/aix/memory/swap/used.rb +21 -0
  12. data/lib/facter/facts/aix/memory/swap/used_bytes.rb +19 -0
  13. data/lib/facter/facts/aix/memory/system/available.rb +22 -0
  14. data/lib/facter/facts/aix/memory/system/available_bytes.rb +22 -0
  15. data/lib/facter/facts/aix/memory/system/capacity.rb +20 -0
  16. data/lib/facter/facts/aix/memory/system/total.rb +22 -0
  17. data/lib/facter/facts/aix/memory/system/total_bytes.rb +22 -0
  18. data/lib/facter/facts/aix/memory/system/used.rb +21 -0
  19. data/lib/facter/facts/aix/memory/system/used_bytes.rb +19 -0
  20. data/lib/facter/facts/aix/ssh.rb +3 -1
  21. data/lib/facter/facts/bsd/load_averages.rb +1 -1
  22. data/lib/facter/facts/freebsd/augeas/version.rb +19 -0
  23. data/lib/facter/facts/freebsd/dmi/bios/release_date.rb +19 -0
  24. data/lib/facter/facts/freebsd/dmi/bios/vendor.rb +19 -0
  25. data/lib/facter/facts/freebsd/dmi/bios/version.rb +19 -0
  26. data/lib/facter/facts/freebsd/dmi/manufacturer.rb +17 -0
  27. data/lib/facter/facts/freebsd/dmi/product/name.rb +19 -0
  28. data/lib/facter/facts/freebsd/dmi/product/serial_number.rb +19 -0
  29. data/lib/facter/facts/freebsd/dmi/product/uuid.rb +19 -0
  30. data/lib/facter/facts/freebsd/facterversion.rb +14 -0
  31. data/lib/facter/facts/freebsd/identity/gid.rb +16 -0
  32. data/lib/facter/facts/{solaris/solaris_zones/current.rb → freebsd/identity/group.rb} +6 -6
  33. data/lib/facter/facts/freebsd/identity/privileged.rb +16 -0
  34. data/lib/facter/facts/freebsd/identity/uid.rb +16 -0
  35. data/lib/facter/facts/freebsd/identity/user.rb +17 -0
  36. data/lib/facter/facts/freebsd/kernel.rb +14 -0
  37. data/lib/facter/facts/freebsd/kernelrelease.rb +14 -0
  38. data/lib/facter/facts/freebsd/memory/swap/available.rb +21 -0
  39. data/lib/facter/facts/freebsd/memory/swap/available_bytes.rb +20 -0
  40. data/lib/facter/facts/freebsd/memory/swap/capacity.rb +18 -0
  41. data/lib/facter/facts/freebsd/memory/swap/encrypted.rb +19 -0
  42. data/lib/facter/facts/freebsd/memory/swap/total.rb +21 -0
  43. data/lib/facter/facts/freebsd/memory/swap/total_bytes.rb +20 -0
  44. data/lib/facter/facts/freebsd/memory/swap/used.rb +20 -0
  45. data/lib/facter/facts/freebsd/memory/swap/used_bytes.rb +18 -0
  46. data/lib/facter/facts/freebsd/memory/system/available.rb +21 -0
  47. data/lib/facter/facts/freebsd/memory/system/available_bytes.rb +20 -0
  48. data/lib/facter/facts/freebsd/memory/system/capacity.rb +18 -0
  49. data/lib/facter/facts/freebsd/memory/system/total.rb +21 -0
  50. data/lib/facter/facts/freebsd/memory/system/total_bytes.rb +20 -0
  51. data/lib/facter/facts/freebsd/memory/system/used.rb +20 -0
  52. data/lib/facter/facts/freebsd/memory/system/used_bytes.rb +18 -0
  53. data/lib/facter/facts/freebsd/mountpoints.rb +21 -0
  54. data/lib/facter/facts/freebsd/netmask6_interfaces.rb +20 -0
  55. data/lib/facter/facts/freebsd/netmask_interfaces.rb +20 -0
  56. data/lib/facter/facts/freebsd/network6_interfaces.rb +20 -0
  57. data/lib/facter/facts/freebsd/network_interfaces.rb +20 -0
  58. data/lib/facter/facts/freebsd/networking/dhcp.rb +17 -0
  59. data/lib/facter/facts/freebsd/networking/domain.rb +18 -0
  60. data/lib/facter/facts/freebsd/networking/fqdn.rb +18 -0
  61. data/lib/facter/facts/freebsd/networking/hostname.rb +18 -0
  62. data/lib/facter/facts/freebsd/networking/interfaces.rb +17 -0
  63. data/lib/facter/facts/freebsd/networking/ip.rb +18 -0
  64. data/lib/facter/facts/freebsd/networking/ip6.rb +18 -0
  65. data/lib/facter/facts/freebsd/networking/mac.rb +18 -0
  66. data/lib/facter/facts/freebsd/networking/mtu.rb +17 -0
  67. data/lib/facter/facts/freebsd/networking/netmask.rb +18 -0
  68. data/lib/facter/facts/freebsd/networking/netmask6.rb +18 -0
  69. data/lib/facter/facts/freebsd/networking/network.rb +18 -0
  70. data/lib/facter/facts/freebsd/networking/network6.rb +18 -0
  71. data/lib/facter/facts/freebsd/networking/primary.rb +17 -0
  72. data/lib/facter/facts/freebsd/networking/scope6.rb +17 -0
  73. data/lib/facter/facts/freebsd/os/architecture.rb +18 -0
  74. data/lib/facter/facts/freebsd/os/hardware.rb +18 -0
  75. data/lib/facter/facts/freebsd/os/name.rb +18 -0
  76. data/lib/facter/facts/{bsd/bsd_example_fact.rb → freebsd/path.rb} +5 -4
  77. data/lib/facter/facts/freebsd/processors/isa.rb +17 -0
  78. data/lib/facter/facts/freebsd/puppet_version.rb +15 -0
  79. data/lib/facter/facts/freebsd/ruby/platform.rb +18 -0
  80. data/lib/facter/facts/freebsd/ruby/sitedir.rb +18 -0
  81. data/lib/facter/facts/freebsd/ruby/version.rb +18 -0
  82. data/lib/facter/facts/freebsd/ssh.rb +26 -0
  83. data/lib/facter/facts/freebsd/system_uptime/days.rb +18 -0
  84. data/lib/facter/facts/freebsd/system_uptime/hours.rb +18 -0
  85. data/lib/facter/facts/freebsd/system_uptime/seconds.rb +18 -0
  86. data/lib/facter/facts/freebsd/system_uptime/uptime.rb +18 -0
  87. data/lib/facter/facts/freebsd/timezone.rb +15 -0
  88. data/lib/facter/facts/freebsd/zfs_featurenumbers.rb +14 -0
  89. data/lib/facter/facts/freebsd/zfs_version.rb +14 -0
  90. data/lib/facter/facts/freebsd/zpool_featureflags.rb +14 -0
  91. data/lib/facter/facts/freebsd/zpool_featurenumbers.rb +14 -0
  92. data/lib/facter/facts/freebsd/zpool_version.rb +14 -0
  93. data/lib/facter/facts/linux/hypervisors/vmware.rb +2 -1
  94. data/lib/facter/facts/linux/mountpoints.rb +1 -1
  95. data/lib/facter/facts/linux/partitions.rb +1 -1
  96. data/lib/facter/facts/linux/ssh.rb +19 -9
  97. data/lib/facter/facts/linux/system_uptime/days.rb +7 -1
  98. data/lib/facter/facts/linux/system_uptime/hours.rb +7 -1
  99. data/lib/facter/facts/linux/system_uptime/seconds.rb +7 -1
  100. data/lib/facter/facts/linux/system_uptime/uptime.rb +7 -1
  101. data/lib/facter/facts/linux/virtual.rb +17 -0
  102. data/lib/facter/facts/macosx/dhcp_servers.rb +2 -2
  103. data/lib/facter/facts/macosx/interfaces.rb +1 -1
  104. data/lib/facter/facts/macosx/ipaddress6_interfaces.rb +1 -1
  105. data/lib/facter/facts/macosx/ipaddress_interfaces.rb +1 -1
  106. data/lib/facter/facts/macosx/macaddress_interfaces.rb +1 -1
  107. data/lib/facter/facts/macosx/mtu_interfaces.rb +1 -1
  108. data/lib/facter/facts/macosx/netmask6_interfaces.rb +1 -1
  109. data/lib/facter/facts/macosx/netmask_interfaces.rb +1 -1
  110. data/lib/facter/facts/macosx/network6_interfaces.rb +1 -1
  111. data/lib/facter/facts/macosx/network_interfaces.rb +1 -1
  112. data/lib/facter/facts/macosx/networking/dhcp.rb +1 -1
  113. data/lib/facter/facts/macosx/networking/interfaces.rb +1 -1
  114. data/lib/facter/facts/macosx/networking/ip.rb +1 -1
  115. data/lib/facter/facts/macosx/networking/ip6.rb +1 -1
  116. data/lib/facter/facts/macosx/networking/mac.rb +1 -1
  117. data/lib/facter/facts/macosx/networking/mtu.rb +1 -1
  118. data/lib/facter/facts/macosx/networking/netmask.rb +1 -1
  119. data/lib/facter/facts/macosx/networking/netmask6.rb +1 -1
  120. data/lib/facter/facts/macosx/networking/network.rb +1 -1
  121. data/lib/facter/facts/macosx/networking/network6.rb +1 -1
  122. data/lib/facter/facts/macosx/networking/primary.rb +1 -1
  123. data/lib/facter/facts/macosx/networking/scope6.rb +1 -1
  124. data/lib/facter/facts/macosx/scope6_interfaces.rb +2 -2
  125. data/lib/facter/facts/macosx/ssh.rb +19 -11
  126. data/lib/facter/facts/macosx/system_profiler/hardware_uuid.rb +1 -1
  127. data/lib/facter/facts/macosx/system_profiler/l2_cache_per_core.rb +1 -1
  128. data/lib/facter/facts/macosx/system_profiler/memory.rb +1 -1
  129. data/lib/facter/facts/macosx/system_profiler/processor_name.rb +1 -1
  130. data/lib/facter/facts/macosx/system_profiler/processors.rb +1 -1
  131. data/lib/facter/facts/macosx/virtual.rb +1 -1
  132. data/lib/facter/facts/solaris/current_zone.rb +16 -0
  133. data/lib/facter/facts/solaris/disks.rb +14 -0
  134. data/lib/facter/facts/solaris/dmi/bios/release_date.rb +24 -0
  135. data/lib/facter/facts/solaris/dmi/bios/vendor.rb +24 -0
  136. data/lib/facter/facts/solaris/dmi/bios/version.rb +24 -0
  137. data/lib/facter/facts/solaris/dmi/chassis/asset_tag.rb +24 -0
  138. data/lib/facter/facts/solaris/dmi/chassis/type.rb +24 -0
  139. data/lib/facter/facts/solaris/dmi/manufacturer.rb +25 -0
  140. data/lib/facter/facts/solaris/dmi/product/name.rb +27 -0
  141. data/lib/facter/facts/solaris/dmi/product/serial_number.rb +27 -0
  142. data/lib/facter/facts/solaris/dmi/product/uuid.rb +24 -0
  143. data/lib/facter/facts/solaris/load_averages.rb +14 -0
  144. data/lib/facter/facts/solaris/memory/swap/available.rb +22 -0
  145. data/lib/facter/facts/solaris/memory/swap/available_bytes.rb +22 -0
  146. data/lib/facter/facts/solaris/memory/swap/capacity.rb +20 -0
  147. data/lib/facter/facts/solaris/memory/swap/total.rb +22 -0
  148. data/lib/facter/facts/solaris/memory/swap/total_bytes.rb +22 -0
  149. data/lib/facter/facts/solaris/memory/swap/used.rb +21 -0
  150. data/lib/facter/facts/solaris/memory/swap/used_bytes.rb +19 -0
  151. data/lib/facter/facts/solaris/memory/system/available.rb +22 -0
  152. data/lib/facter/facts/solaris/memory/system/available_bytes.rb +22 -0
  153. data/lib/facter/facts/solaris/memory/system/capacity.rb +20 -0
  154. data/lib/facter/facts/solaris/memory/system/total.rb +22 -0
  155. data/lib/facter/facts/solaris/memory/system/total_bytes.rb +22 -0
  156. data/lib/facter/facts/solaris/memory/system/used.rb +21 -0
  157. data/lib/facter/facts/solaris/memory/system/used_bytes.rb +19 -0
  158. data/lib/facter/facts/solaris/mountpoints.rb +1 -1
  159. data/lib/facter/facts/solaris/os/release.rb +3 -3
  160. data/lib/facter/facts/solaris/ssh.rb +19 -9
  161. data/lib/facter/facts/solaris/zfs_featurenumbers.rb +1 -1
  162. data/lib/facter/facts/solaris/zfs_version.rb +1 -1
  163. data/lib/facter/facts/solaris/zones.rb +60 -0
  164. data/lib/facter/facts/solaris/zpool_featureflags.rb +1 -1
  165. data/lib/facter/facts/solaris/zpool_featurenumbers.rb +1 -1
  166. data/lib/facter/facts/solaris/zpool_version.rb +1 -1
  167. data/lib/facter/facts/windows/dhcp_servers.rb +2 -2
  168. data/lib/facter/facts/windows/interfaces.rb +1 -1
  169. data/lib/facter/facts/windows/ipaddress6_interfaces.rb +1 -1
  170. data/lib/facter/facts/windows/ipaddress_interfaces.rb +1 -1
  171. data/lib/facter/facts/windows/macaddress_interfaces.rb +1 -1
  172. data/lib/facter/facts/windows/mtu_interfaces.rb +1 -1
  173. data/lib/facter/facts/windows/netmask6_interfaces.rb +1 -1
  174. data/lib/facter/facts/windows/netmask_interfaces.rb +1 -1
  175. data/lib/facter/facts/windows/network6_interfaces.rb +1 -1
  176. data/lib/facter/facts/windows/network_interfaces.rb +1 -1
  177. data/lib/facter/facts/windows/networking/dhcp.rb +1 -1
  178. data/lib/facter/facts/windows/networking/domain.rb +1 -1
  179. data/lib/facter/facts/windows/networking/fqdn.rb +1 -1
  180. data/lib/facter/facts/windows/networking/interfaces.rb +1 -1
  181. data/lib/facter/facts/windows/networking/ip.rb +1 -1
  182. data/lib/facter/facts/windows/networking/ip6.rb +1 -1
  183. data/lib/facter/facts/windows/networking/mac.rb +1 -1
  184. data/lib/facter/facts/windows/networking/mtu.rb +1 -1
  185. data/lib/facter/facts/windows/networking/netmask.rb +1 -1
  186. data/lib/facter/facts/windows/networking/netmask6.rb +1 -1
  187. data/lib/facter/facts/windows/networking/network.rb +1 -1
  188. data/lib/facter/facts/windows/networking/network6.rb +1 -1
  189. data/lib/facter/facts/windows/networking/primary.rb +1 -1
  190. data/lib/facter/facts/windows/networking/scope6.rb +1 -1
  191. data/lib/facter/facts/windows/scope6_interfaces.rb +1 -1
  192. data/lib/facter/framework/cli/cli.rb +35 -6
  193. data/lib/facter/framework/config/fact_groups.rb +13 -0
  194. data/lib/facter/framework/core/fact/internal/internal_fact_manager.rb +1 -1
  195. data/lib/facter/framework/core/fact_loaders/fact_loader.rb +2 -0
  196. data/lib/facter/framework/core/options.rb +1 -0
  197. data/lib/facter/framework/core/options/option_store.rb +3 -6
  198. data/lib/facter/framework/detector/os_detector.rb +5 -1
  199. data/lib/facter/framework/logging/logger.rb +13 -5
  200. data/lib/facter/os_hierarchy.json +6 -7
  201. data/lib/facter/resolvers/aix/disks.rb +63 -0
  202. data/lib/facter/resolvers/aix/memory.rb +65 -0
  203. data/lib/facter/resolvers/aix/partitions.rb +9 -20
  204. data/lib/facter/resolvers/aix/utils/info_extractor.rb +20 -0
  205. data/lib/facter/resolvers/augeas_resolver.rb +19 -2
  206. data/lib/facter/resolvers/base_resolver.rb +1 -1
  207. data/lib/facter/resolvers/bsd/ffi/ffi_helper.rb +0 -10
  208. data/lib/facter/resolvers/ec2.rb +2 -2
  209. data/lib/facter/resolvers/filesystems_resolver.rb +1 -1
  210. data/lib/facter/resolvers/freebsd/dmi_resolver.rb +38 -0
  211. data/lib/facter/resolvers/freebsd/ffi/ffi_helper.rb +19 -0
  212. data/lib/facter/resolvers/freebsd/swap_memory_resolver.rb +39 -0
  213. data/lib/facter/resolvers/freebsd/system_memory_resolver.rb +41 -0
  214. data/lib/facter/resolvers/linux/docker_uptime.rb +45 -0
  215. data/lib/facter/resolvers/{load_averages_resolver.rb → linux/load_averages.rb} +0 -1
  216. data/lib/facter/resolvers/load_averages.rb +26 -0
  217. data/lib/facter/resolvers/lspci.rb +2 -0
  218. data/lib/facter/resolvers/mountpoints_resolver.rb +42 -44
  219. data/lib/facter/resolvers/networking_linux_resolver.rb +16 -1
  220. data/lib/facter/resolvers/networking_resolver.rb +106 -0
  221. data/lib/facter/resolvers/os_release_resolver.rb +1 -1
  222. data/lib/facter/resolvers/redhat_release_resolver.rb +4 -3
  223. data/lib/facter/resolvers/solaris/disks.rb +51 -0
  224. data/lib/facter/resolvers/solaris/dmi.rb +57 -0
  225. data/lib/facter/resolvers/solaris/dmi_sparc.rb +47 -0
  226. data/lib/facter/resolvers/solaris/ffi/ffi.rb +5 -0
  227. data/lib/facter/resolvers/solaris/{filesystems_resolver.rb → filesystems.rb} +0 -0
  228. data/lib/facter/resolvers/solaris/{ipaddress_resolver.rb → ipaddress.rb} +0 -0
  229. data/lib/facter/resolvers/solaris/memory.rb +93 -0
  230. data/lib/facter/resolvers/solaris/{networking_resolver.rb → networking.rb} +2 -6
  231. data/lib/facter/resolvers/solaris/os_release.rb +44 -0
  232. data/lib/facter/resolvers/solaris/zone.rb +51 -0
  233. data/lib/facter/resolvers/solaris/zone_name.rb +31 -0
  234. data/lib/facter/resolvers/uptime_resolver.rb +1 -27
  235. data/lib/facter/resolvers/utils/ffi/load_averages.rb +27 -0
  236. data/lib/facter/resolvers/utils/networking.rb +2 -0
  237. data/lib/facter/resolvers/utils/uptime_helper.rb +32 -0
  238. data/lib/facter/resolvers/windows/ffi/ffi.rb +1 -1
  239. data/lib/facter/resolvers/windows/networking_resolver.rb +100 -100
  240. data/lib/facter/resolvers/zfs.rb +32 -0
  241. data/lib/facter/resolvers/zpool.rb +34 -0
  242. data/lib/facter/templates/man.erb +122 -0
  243. data/lib/facter/version.rb +1 -1
  244. metadata +140 -18
  245. data/lib/facter/facts/freebsd/solaris_zones/current.rb +0 -15
  246. data/lib/facter/facts/freebsd/solaris_zones/zone.rb +0 -15
  247. data/lib/facter/facts/solaris/solaris_zones/zone.rb +0 -62
  248. data/lib/facter/resolvers/bsd/load_averages_resolver.rb +0 -26
  249. data/lib/facter/resolvers/macosx/networking_resolver.rb +0 -108
  250. data/lib/facter/resolvers/solaris/solaris_os_release_resolver.rb +0 -42
  251. data/lib/facter/resolvers/solaris/solaris_zone_name.rb +0 -28
  252. data/lib/facter/resolvers/solaris/zfs_resolver.rb +0 -34
  253. data/lib/facter/resolvers/solaris/zone_resolver.rb +0 -48
  254. data/lib/facter/resolvers/solaris/zpool_resolver.rb +0 -36
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facter
4
+ module Resolvers
5
+ class ZFS < BaseResolver
6
+ @semaphore = Mutex.new
7
+ @fact_list ||= {}
8
+ class << self
9
+ private
10
+
11
+ def post_resolve(fact_name)
12
+ @fact_list.fetch(fact_name) { zfs_fact(fact_name) }
13
+ end
14
+
15
+ def zfs_fact(fact_name)
16
+ build_zfs_facts
17
+ @fact_list[fact_name]
18
+ end
19
+
20
+ def build_zfs_facts
21
+ output = Facter::Core::Execution.execute('zfs upgrade -v', logger: log)
22
+ features_list = output.scan(/^\s+(\d+)/).flatten
23
+
24
+ return if features_list.empty?
25
+
26
+ @fact_list[:zfs_featurenumbers] = features_list.join(',')
27
+ @fact_list[:zfs_version] = features_list.last
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facter
4
+ module Resolvers
5
+ class Zpool < BaseResolver
6
+ @semaphore = Mutex.new
7
+ @fact_list ||= {}
8
+ class << self
9
+ private
10
+
11
+ def post_resolve(fact_name)
12
+ @fact_list.fetch(fact_name) { zpool_fact(fact_name) }
13
+ end
14
+
15
+ def zpool_fact(fact_name)
16
+ build_zpool_facts
17
+ @fact_list[fact_name]
18
+ end
19
+
20
+ def build_zpool_facts
21
+ output = Facter::Core::Execution.execute('zpool upgrade -v', logger: log)
22
+ features_list = output.scan(/^\s+(\d+)/).flatten
23
+ features_flags = output.scan(/^([a-z0-9_]+)[[:blank:]]*(\(read-only compatible\))?$/).map(&:first)
24
+
25
+ return if features_list.empty?
26
+
27
+ @fact_list[:zpool_featurenumbers] = features_list.join(',')
28
+ @fact_list[:zpool_featureflags] = features_flags.join(',')
29
+ @fact_list[:zpool_version] = features_flags.any? ? '5000' : features_list.last
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,122 @@
1
+ <%# encoding: UTF-8%>
2
+ SYNOPSIS
3
+ --------
4
+ facter [options] [query] [query] [...]
5
+
6
+ DESCRIPTION
7
+ -----------
8
+ Collect and display facts about the current system. The library behind Facter is easy to extend, making Facter an easy way to collect information about a system.
9
+
10
+ If no queries are given, then all facts will be returned.
11
+
12
+ Many of the command line options can also be set via the HOCON config file. This file can also be used to block or cache certain fact groups.
13
+
14
+ OPTIONS
15
+ -------
16
+ <% @Facter::Cli.class_options.each do |name, option| -%><% next if option.hide%>
17
+ * `<%= option.aliases[0] + '`, `' if option.aliases.any? %>--<%= 'no-' if negate_options.include?(name.to_s)%><%= name.to_s.gsub('_','-') %>`:
18
+
19
+ <%= option.description %>
20
+
21
+ <% end -%>
22
+
23
+ FILES
24
+ -----
25
+ <em>/etc/puppetlabs/facter/facter.conf</em>
26
+
27
+ A HOCON config file that can be used to specify directories for custom and external facts, set various command line options, and specify facts to block. See example below for details, or visit the GitHub README.
28
+
29
+ EXAMPLES
30
+ --------
31
+ Display all facts:
32
+
33
+ ```
34
+ $ facter
35
+ disks => {
36
+ sda => {
37
+ model => "Virtual disk",
38
+ size => "8.00 GiB",
39
+ size_bytes => 8589934592,
40
+ vendor => "ExampleVendor"
41
+ }
42
+ }
43
+ dmi => {
44
+ bios => {
45
+ release_date => "06/23/2013",
46
+ vendor => "Example Vendor",
47
+ version => "6.00"
48
+ }
49
+ }
50
+ [\.\.\.]
51
+ ```
52
+
53
+ Display a single structured fact:
54
+
55
+ ```
56
+ $ facter processors
57
+ {
58
+ count => 2,
59
+ isa => "x86_64",
60
+ models => [
61
+ "Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz",
62
+ "Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz"
63
+ ],
64
+ physicalcount => 2
65
+ }
66
+ ```
67
+
68
+ Display a single fact nested within a structured fact:
69
+
70
+ ```
71
+ $ facter processors.isa
72
+ x86_64
73
+ ```
74
+
75
+ Display a single legacy fact. Note that non-structured facts existing in previous versions of Facter are still available,
76
+ but are not displayed by default due to redundancy with newer structured facts:
77
+
78
+ ```
79
+ $ facter processorcount
80
+ 2
81
+ ```
82
+
83
+ Format facts as JSON:
84
+
85
+ ```
86
+ $ facter \-\-json os.name os.release.major processors.isa
87
+ {
88
+ "os.name": "Ubuntu",
89
+ "os.release.major": "14.04",
90
+ "processors.isa": "x86_64"
91
+ }
92
+ ```
93
+
94
+ An example config file.
95
+
96
+ ```
97
+ # always loaded (CLI and as Ruby module)
98
+ global : {
99
+ external-dir : "~/external/facts",
100
+ custom-dir : [
101
+ "~/custom/facts",
102
+ "~/custom/facts/more-facts"
103
+ ],
104
+ no-external-facts : false,
105
+ no-custom-facts : false,
106
+ no-ruby : false
107
+ }
108
+ # loaded when running from the command line
109
+ cli : {
110
+ debug : false,
111
+ trace : true,
112
+ verbose : false,
113
+ log-level : "info"
114
+ }
115
+ # always loaded, fact-sepcific configuration
116
+ facts : {
117
+ # for valid blocklist entries, use --list-block-groups
118
+ blocklist : [ "file system", "EC2" ],
119
+ # for valid time-to-live entries, use --list-cache-groups
120
+ ttls : [ { "timezone" : 30 days } ]
121
+ }
122
+ ```
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Facter
4
- VERSION = '4.0.30' unless defined?(VERSION)
4
+ VERSION = '4.0.35' unless defined?(VERSION)
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: facter
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.30
4
+ version: 4.0.35
5
5
  platform: ruby
6
6
  authors:
7
7
  - Puppet
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-16 00:00:00.000000000 Z
11
+ date: 2020-08-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -208,6 +208,7 @@ files:
208
208
  - lib/facter/fact_groups.conf
209
209
  - lib/facter/facts/aix/aio_agent_version.rb
210
210
  - lib/facter/facts/aix/augeas/version.rb
211
+ - lib/facter/facts/aix/disks.rb
211
212
  - lib/facter/facts/aix/facterversion.rb
212
213
  - lib/facter/facts/aix/filesystems.rb
213
214
  - lib/facter/facts/aix/hypervisors/lpar.rb
@@ -226,6 +227,20 @@ files:
226
227
  - lib/facter/facts/aix/kernelversion.rb
227
228
  - lib/facter/facts/aix/load_averages.rb
228
229
  - lib/facter/facts/aix/macaddress_interfaces.rb
230
+ - lib/facter/facts/aix/memory/swap/available.rb
231
+ - lib/facter/facts/aix/memory/swap/available_bytes.rb
232
+ - lib/facter/facts/aix/memory/swap/capacity.rb
233
+ - lib/facter/facts/aix/memory/swap/total.rb
234
+ - lib/facter/facts/aix/memory/swap/total_bytes.rb
235
+ - lib/facter/facts/aix/memory/swap/used.rb
236
+ - lib/facter/facts/aix/memory/swap/used_bytes.rb
237
+ - lib/facter/facts/aix/memory/system/available.rb
238
+ - lib/facter/facts/aix/memory/system/available_bytes.rb
239
+ - lib/facter/facts/aix/memory/system/capacity.rb
240
+ - lib/facter/facts/aix/memory/system/total.rb
241
+ - lib/facter/facts/aix/memory/system/total_bytes.rb
242
+ - lib/facter/facts/aix/memory/system/used.rb
243
+ - lib/facter/facts/aix/memory/system/used_bytes.rb
229
244
  - lib/facter/facts/aix/mountpoints.rb
230
245
  - lib/facter/facts/aix/mtu_interfaces.rb
231
246
  - lib/facter/facts/aix/netmask6_interfaces.rb
@@ -270,7 +285,6 @@ files:
270
285
  - lib/facter/facts/aix/system_uptime/seconds.rb
271
286
  - lib/facter/facts/aix/system_uptime/uptime.rb
272
287
  - lib/facter/facts/aix/timezone.rb
273
- - lib/facter/facts/bsd/bsd_example_fact.rb
274
288
  - lib/facter/facts/bsd/kernelmajversion.rb
275
289
  - lib/facter/facts/bsd/kernelversion.rb
276
290
  - lib/facter/facts/bsd/load_averages.rb
@@ -287,14 +301,83 @@ files:
287
301
  - lib/facter/facts/debian/os/distro/id.rb
288
302
  - lib/facter/facts/debian/os/distro/release.rb
289
303
  - lib/facter/facts/debian/os/release.rb
304
+ - lib/facter/facts/freebsd/augeas/version.rb
290
305
  - lib/facter/facts/freebsd/disks.rb
306
+ - lib/facter/facts/freebsd/dmi/bios/release_date.rb
307
+ - lib/facter/facts/freebsd/dmi/bios/vendor.rb
308
+ - lib/facter/facts/freebsd/dmi/bios/version.rb
309
+ - lib/facter/facts/freebsd/dmi/manufacturer.rb
310
+ - lib/facter/facts/freebsd/dmi/product/name.rb
311
+ - lib/facter/facts/freebsd/dmi/product/serial_number.rb
312
+ - lib/facter/facts/freebsd/dmi/product/uuid.rb
313
+ - lib/facter/facts/freebsd/facterversion.rb
314
+ - lib/facter/facts/freebsd/identity/gid.rb
315
+ - lib/facter/facts/freebsd/identity/group.rb
316
+ - lib/facter/facts/freebsd/identity/privileged.rb
317
+ - lib/facter/facts/freebsd/identity/uid.rb
318
+ - lib/facter/facts/freebsd/identity/user.rb
319
+ - lib/facter/facts/freebsd/kernel.rb
320
+ - lib/facter/facts/freebsd/kernelrelease.rb
321
+ - lib/facter/facts/freebsd/memory/swap/available.rb
322
+ - lib/facter/facts/freebsd/memory/swap/available_bytes.rb
323
+ - lib/facter/facts/freebsd/memory/swap/capacity.rb
324
+ - lib/facter/facts/freebsd/memory/swap/encrypted.rb
325
+ - lib/facter/facts/freebsd/memory/swap/total.rb
326
+ - lib/facter/facts/freebsd/memory/swap/total_bytes.rb
327
+ - lib/facter/facts/freebsd/memory/swap/used.rb
328
+ - lib/facter/facts/freebsd/memory/swap/used_bytes.rb
329
+ - lib/facter/facts/freebsd/memory/system/available.rb
330
+ - lib/facter/facts/freebsd/memory/system/available_bytes.rb
331
+ - lib/facter/facts/freebsd/memory/system/capacity.rb
332
+ - lib/facter/facts/freebsd/memory/system/total.rb
333
+ - lib/facter/facts/freebsd/memory/system/total_bytes.rb
334
+ - lib/facter/facts/freebsd/memory/system/used.rb
335
+ - lib/facter/facts/freebsd/memory/system/used_bytes.rb
336
+ - lib/facter/facts/freebsd/mountpoints.rb
337
+ - lib/facter/facts/freebsd/netmask6_interfaces.rb
338
+ - lib/facter/facts/freebsd/netmask_interfaces.rb
339
+ - lib/facter/facts/freebsd/network6_interfaces.rb
340
+ - lib/facter/facts/freebsd/network_interfaces.rb
341
+ - lib/facter/facts/freebsd/networking/dhcp.rb
342
+ - lib/facter/facts/freebsd/networking/domain.rb
343
+ - lib/facter/facts/freebsd/networking/fqdn.rb
344
+ - lib/facter/facts/freebsd/networking/hostname.rb
345
+ - lib/facter/facts/freebsd/networking/interfaces.rb
346
+ - lib/facter/facts/freebsd/networking/ip.rb
347
+ - lib/facter/facts/freebsd/networking/ip6.rb
348
+ - lib/facter/facts/freebsd/networking/mac.rb
349
+ - lib/facter/facts/freebsd/networking/mtu.rb
350
+ - lib/facter/facts/freebsd/networking/netmask.rb
351
+ - lib/facter/facts/freebsd/networking/netmask6.rb
352
+ - lib/facter/facts/freebsd/networking/network.rb
353
+ - lib/facter/facts/freebsd/networking/network6.rb
354
+ - lib/facter/facts/freebsd/networking/primary.rb
355
+ - lib/facter/facts/freebsd/networking/scope6.rb
356
+ - lib/facter/facts/freebsd/os/architecture.rb
357
+ - lib/facter/facts/freebsd/os/hardware.rb
358
+ - lib/facter/facts/freebsd/os/name.rb
291
359
  - lib/facter/facts/freebsd/os/release.rb
292
360
  - lib/facter/facts/freebsd/partitions.rb
361
+ - lib/facter/facts/freebsd/path.rb
293
362
  - lib/facter/facts/freebsd/processors/count.rb
363
+ - lib/facter/facts/freebsd/processors/isa.rb
294
364
  - lib/facter/facts/freebsd/processors/models.rb
295
365
  - lib/facter/facts/freebsd/processors/speed.rb
296
- - lib/facter/facts/freebsd/solaris_zones/current.rb
297
- - lib/facter/facts/freebsd/solaris_zones/zone.rb
366
+ - lib/facter/facts/freebsd/puppet_version.rb
367
+ - lib/facter/facts/freebsd/ruby/platform.rb
368
+ - lib/facter/facts/freebsd/ruby/sitedir.rb
369
+ - lib/facter/facts/freebsd/ruby/version.rb
370
+ - lib/facter/facts/freebsd/ssh.rb
371
+ - lib/facter/facts/freebsd/system_uptime/days.rb
372
+ - lib/facter/facts/freebsd/system_uptime/hours.rb
373
+ - lib/facter/facts/freebsd/system_uptime/seconds.rb
374
+ - lib/facter/facts/freebsd/system_uptime/uptime.rb
375
+ - lib/facter/facts/freebsd/timezone.rb
376
+ - lib/facter/facts/freebsd/zfs_featurenumbers.rb
377
+ - lib/facter/facts/freebsd/zfs_version.rb
378
+ - lib/facter/facts/freebsd/zpool_featureflags.rb
379
+ - lib/facter/facts/freebsd/zpool_featurenumbers.rb
380
+ - lib/facter/facts/freebsd/zpool_version.rb
298
381
  - lib/facter/facts/linux/aio_agent_version.rb
299
382
  - lib/facter/facts/linux/augeas/version.rb
300
383
  - lib/facter/facts/linux/dhcp_servers.rb
@@ -534,7 +617,18 @@ files:
534
617
  - lib/facter/facts/sles/os/release.rb
535
618
  - lib/facter/facts/solaris/aio_agent_version.rb
536
619
  - lib/facter/facts/solaris/augeas/version.rb
620
+ - lib/facter/facts/solaris/current_zone.rb
537
621
  - lib/facter/facts/solaris/dhcp_servers.rb
622
+ - lib/facter/facts/solaris/disks.rb
623
+ - lib/facter/facts/solaris/dmi/bios/release_date.rb
624
+ - lib/facter/facts/solaris/dmi/bios/vendor.rb
625
+ - lib/facter/facts/solaris/dmi/bios/version.rb
626
+ - lib/facter/facts/solaris/dmi/chassis/asset_tag.rb
627
+ - lib/facter/facts/solaris/dmi/chassis/type.rb
628
+ - lib/facter/facts/solaris/dmi/manufacturer.rb
629
+ - lib/facter/facts/solaris/dmi/product/name.rb
630
+ - lib/facter/facts/solaris/dmi/product/serial_number.rb
631
+ - lib/facter/facts/solaris/dmi/product/uuid.rb
538
632
  - lib/facter/facts/solaris/facterversion.rb
539
633
  - lib/facter/facts/solaris/filesystems.rb
540
634
  - lib/facter/facts/solaris/identity/gid.rb
@@ -549,7 +643,22 @@ files:
549
643
  - lib/facter/facts/solaris/kernelmajversion.rb
550
644
  - lib/facter/facts/solaris/kernelrelease.rb
551
645
  - lib/facter/facts/solaris/kernelversion.rb
646
+ - lib/facter/facts/solaris/load_averages.rb
552
647
  - lib/facter/facts/solaris/macaddress_interfaces.rb
648
+ - lib/facter/facts/solaris/memory/swap/available.rb
649
+ - lib/facter/facts/solaris/memory/swap/available_bytes.rb
650
+ - lib/facter/facts/solaris/memory/swap/capacity.rb
651
+ - lib/facter/facts/solaris/memory/swap/total.rb
652
+ - lib/facter/facts/solaris/memory/swap/total_bytes.rb
653
+ - lib/facter/facts/solaris/memory/swap/used.rb
654
+ - lib/facter/facts/solaris/memory/swap/used_bytes.rb
655
+ - lib/facter/facts/solaris/memory/system/available.rb
656
+ - lib/facter/facts/solaris/memory/system/available_bytes.rb
657
+ - lib/facter/facts/solaris/memory/system/capacity.rb
658
+ - lib/facter/facts/solaris/memory/system/total.rb
659
+ - lib/facter/facts/solaris/memory/system/total_bytes.rb
660
+ - lib/facter/facts/solaris/memory/system/used.rb
661
+ - lib/facter/facts/solaris/memory/system/used_bytes.rb
553
662
  - lib/facter/facts/solaris/mountpoints.rb
554
663
  - lib/facter/facts/solaris/mtu_interfaces.rb
555
664
  - lib/facter/facts/solaris/netmask6_interfaces.rb
@@ -585,8 +694,6 @@ files:
585
694
  - lib/facter/facts/solaris/ruby/platform.rb
586
695
  - lib/facter/facts/solaris/ruby/sitedir.rb
587
696
  - lib/facter/facts/solaris/ruby/version.rb
588
- - lib/facter/facts/solaris/solaris_zones/current.rb
589
- - lib/facter/facts/solaris/solaris_zones/zone.rb
590
697
  - lib/facter/facts/solaris/ssh.rb
591
698
  - lib/facter/facts/solaris/system_uptime/days.rb
592
699
  - lib/facter/facts/solaris/system_uptime/hours.rb
@@ -595,6 +702,7 @@ files:
595
702
  - lib/facter/facts/solaris/timezone.rb
596
703
  - lib/facter/facts/solaris/zfs_featurenumbers.rb
597
704
  - lib/facter/facts/solaris/zfs_version.rb
705
+ - lib/facter/facts/solaris/zones.rb
598
706
  - lib/facter/facts/solaris/zpool_featureflags.rb
599
707
  - lib/facter/facts/solaris/zpool_featurenumbers.rb
600
708
  - lib/facter/facts/solaris/zpool_version.rb
@@ -726,21 +834,23 @@ files:
726
834
  - lib/facter/os_hierarchy.json
727
835
  - lib/facter/resolvers/aio_agent_version.rb
728
836
  - lib/facter/resolvers/aix/architecture_resolver.rb
837
+ - lib/facter/resolvers/aix/disks.rb
729
838
  - lib/facter/resolvers/aix/ffi/ffi_helper.rb
730
839
  - lib/facter/resolvers/aix/filesystem_resolver.rb
731
840
  - lib/facter/resolvers/aix/hardware_resolver.rb
732
841
  - lib/facter/resolvers/aix/load_averages_resolver.rb
842
+ - lib/facter/resolvers/aix/memory.rb
733
843
  - lib/facter/resolvers/aix/mountpoints.rb
734
844
  - lib/facter/resolvers/aix/networking_resolver.rb
735
845
  - lib/facter/resolvers/aix/nim.rb
736
846
  - lib/facter/resolvers/aix/os_level_resolver.rb
737
847
  - lib/facter/resolvers/aix/partitions.rb
738
848
  - lib/facter/resolvers/aix/processors.rb
849
+ - lib/facter/resolvers/aix/utils/info_extractor.rb
739
850
  - lib/facter/resolvers/aix/utils/odm_query.rb
740
851
  - lib/facter/resolvers/augeas_resolver.rb
741
852
  - lib/facter/resolvers/base_resolver.rb
742
853
  - lib/facter/resolvers/bsd/ffi/ffi_helper.rb
743
- - lib/facter/resolvers/bsd/load_averages_resolver.rb
744
854
  - lib/facter/resolvers/bsd/processors.rb
745
855
  - lib/facter/resolvers/containers.rb
746
856
  - lib/facter/resolvers/debian_version.rb
@@ -752,13 +862,18 @@ files:
752
862
  - lib/facter/resolvers/facterversion_resolver.rb
753
863
  - lib/facter/resolvers/filesystems_resolver.rb
754
864
  - lib/facter/resolvers/fips_enabled_resolver.rb
865
+ - lib/facter/resolvers/freebsd/dmi_resolver.rb
755
866
  - lib/facter/resolvers/freebsd/ffi/ffi_helper.rb
756
867
  - lib/facter/resolvers/freebsd/freebsd_version_resolver.rb
757
868
  - lib/facter/resolvers/freebsd/geom_resolver.rb
758
869
  - lib/facter/resolvers/freebsd/processors.rb
870
+ - lib/facter/resolvers/freebsd/swap_memory_resolver.rb
871
+ - lib/facter/resolvers/freebsd/system_memory_resolver.rb
759
872
  - lib/facter/resolvers/hostname_resolver.rb
760
873
  - lib/facter/resolvers/identity_resolver.rb
761
- - lib/facter/resolvers/load_averages_resolver.rb
874
+ - lib/facter/resolvers/linux/docker_uptime.rb
875
+ - lib/facter/resolvers/linux/load_averages.rb
876
+ - lib/facter/resolvers/load_averages.rb
762
877
  - lib/facter/resolvers/lpar_resolver.rb
763
878
  - lib/facter/resolvers/lsb_release_resolver.rb
764
879
  - lib/facter/resolvers/lspci.rb
@@ -766,7 +881,6 @@ files:
766
881
  - lib/facter/resolvers/macosx/filesystems_resolver.rb
767
882
  - lib/facter/resolvers/macosx/load_averages_resolver.rb
768
883
  - lib/facter/resolvers/macosx/mountpoints_resolver.rb
769
- - lib/facter/resolvers/macosx/networking_resolver.rb
770
884
  - lib/facter/resolvers/macosx/processor_resolver.rb
771
885
  - lib/facter/resolvers/macosx/swap_memory_resolver.rb
772
886
  - lib/facter/resolvers/macosx/system_memory_resolver.rb
@@ -775,6 +889,7 @@ files:
775
889
  - lib/facter/resolvers/memory_resolver.rb
776
890
  - lib/facter/resolvers/mountpoints_resolver.rb
777
891
  - lib/facter/resolvers/networking_linux_resolver.rb
892
+ - lib/facter/resolvers/networking_resolver.rb
778
893
  - lib/facter/resolvers/open_vz.rb
779
894
  - lib/facter/resolvers/os_level_resolver.rb
780
895
  - lib/facter/resolvers/os_release_resolver.rb
@@ -785,29 +900,33 @@ files:
785
900
  - lib/facter/resolvers/redhat_release_resolver.rb
786
901
  - lib/facter/resolvers/ruby_resolver.rb
787
902
  - lib/facter/resolvers/selinux_resolver.rb
903
+ - lib/facter/resolvers/solaris/disks.rb
904
+ - lib/facter/resolvers/solaris/dmi.rb
905
+ - lib/facter/resolvers/solaris/dmi_sparc.rb
788
906
  - lib/facter/resolvers/solaris/ffi/ffi.rb
789
907
  - lib/facter/resolvers/solaris/ffi/functions.rb
790
908
  - lib/facter/resolvers/solaris/ffi/structs.rb
791
- - lib/facter/resolvers/solaris/filesystems_resolver.rb
792
- - lib/facter/resolvers/solaris/ipaddress_resolver.rb
793
- - lib/facter/resolvers/solaris/networking_resolver.rb
909
+ - lib/facter/resolvers/solaris/filesystems.rb
910
+ - lib/facter/resolvers/solaris/ipaddress.rb
911
+ - lib/facter/resolvers/solaris/memory.rb
912
+ - lib/facter/resolvers/solaris/networking.rb
913
+ - lib/facter/resolvers/solaris/os_release.rb
794
914
  - lib/facter/resolvers/solaris/processors.rb
795
- - lib/facter/resolvers/solaris/solaris_os_release_resolver.rb
796
- - lib/facter/resolvers/solaris/solaris_zone_name.rb
797
- - lib/facter/resolvers/solaris/zfs_resolver.rb
798
- - lib/facter/resolvers/solaris/zone_resolver.rb
799
- - lib/facter/resolvers/solaris/zpool_resolver.rb
915
+ - lib/facter/resolvers/solaris/zone.rb
916
+ - lib/facter/resolvers/solaris/zone_name.rb
800
917
  - lib/facter/resolvers/ssh_resolver.rb
801
918
  - lib/facter/resolvers/suse_release_resolver.rb
802
919
  - lib/facter/resolvers/sw_vers_resolver.rb
803
920
  - lib/facter/resolvers/timezone_resolver.rb
804
921
  - lib/facter/resolvers/uname_resolver.rb
805
922
  - lib/facter/resolvers/uptime_resolver.rb
923
+ - lib/facter/resolvers/utils/ffi/load_averages.rb
806
924
  - lib/facter/resolvers/utils/filesystem_helper.rb
807
925
  - lib/facter/resolvers/utils/fingerprint.rb
808
926
  - lib/facter/resolvers/utils/networking.rb
809
927
  - lib/facter/resolvers/utils/ssh.rb
810
928
  - lib/facter/resolvers/utils/ssh_helper.rb
929
+ - lib/facter/resolvers/utils/uptime_helper.rb
811
930
  - lib/facter/resolvers/virt_what.rb
812
931
  - lib/facter/resolvers/vmware.rb
813
932
  - lib/facter/resolvers/windows/aio_agent_version.rb
@@ -842,6 +961,9 @@ files:
842
961
  - lib/facter/resolvers/windows/win_os_description_resolver.rb
843
962
  - lib/facter/resolvers/wpar_resolver.rb
844
963
  - lib/facter/resolvers/xen.rb
964
+ - lib/facter/resolvers/zfs.rb
965
+ - lib/facter/resolvers/zpool.rb
966
+ - lib/facter/templates/man.erb
845
967
  - lib/facter/util/api_debugger.rb
846
968
  - lib/facter/util/file_helper.rb
847
969
  - lib/facter/version.rb