facter 4.0.34 → 4.0.39

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 (312) hide show
  1. checksums.yaml +4 -4
  2. data/lib/facter.rb +111 -11
  3. data/lib/facter/custom_facts/core/execution/base.rb +36 -6
  4. data/lib/facter/custom_facts/util/directory_loader.rb +12 -2
  5. data/lib/facter/custom_facts/util/fact.rb +4 -1
  6. data/lib/facter/fact_groups.conf +140 -1
  7. data/lib/facter/facts/aix/disks.rb +17 -2
  8. data/lib/facter/facts/aix/kernel.rb +1 -1
  9. data/lib/facter/facts/aix/kernelmajversion.rb +1 -1
  10. data/lib/facter/facts/aix/kernelrelease.rb +1 -1
  11. data/lib/facter/facts/aix/kernelversion.rb +1 -1
  12. data/lib/facter/facts/aix/networking/scope6.rb +3 -1
  13. data/lib/facter/facts/aix/os/release.rb +1 -1
  14. data/lib/facter/facts/aix/scope6_interfaces.rb +0 -2
  15. data/lib/facter/facts/aix/serialnumber.rb +20 -0
  16. data/lib/facter/facts/aix/ssh.rb +3 -1
  17. data/lib/facter/facts/aix/sshalgorithmkey.rb +17 -0
  18. data/lib/facter/facts/aix/sshfp_algorithm.rb +20 -0
  19. data/lib/facter/facts/debian/os/distro/release.rb +6 -1
  20. data/lib/facter/facts/freebsd/augeas/version.rb +19 -0
  21. data/lib/facter/facts/freebsd/facterversion.rb +14 -0
  22. data/lib/facter/facts/freebsd/identity/gid.rb +16 -0
  23. data/lib/facter/facts/{solaris/solaris_zones/current.rb → freebsd/identity/group.rb} +6 -6
  24. data/lib/facter/facts/freebsd/identity/privileged.rb +16 -0
  25. data/lib/facter/facts/freebsd/identity/uid.rb +16 -0
  26. data/lib/facter/facts/freebsd/identity/user.rb +17 -0
  27. data/lib/facter/facts/freebsd/kernel.rb +14 -0
  28. data/lib/facter/facts/freebsd/kernelrelease.rb +14 -0
  29. data/lib/facter/facts/freebsd/mountpoints.rb +21 -0
  30. data/lib/facter/facts/freebsd/netmask6_interfaces.rb +20 -0
  31. data/lib/facter/facts/freebsd/netmask_interfaces.rb +20 -0
  32. data/lib/facter/facts/freebsd/network6_interfaces.rb +20 -0
  33. data/lib/facter/facts/freebsd/network_interfaces.rb +20 -0
  34. data/lib/facter/facts/freebsd/networking/dhcp.rb +17 -0
  35. data/lib/facter/facts/freebsd/networking/domain.rb +18 -0
  36. data/lib/facter/facts/freebsd/networking/fqdn.rb +18 -0
  37. data/lib/facter/facts/freebsd/networking/hostname.rb +18 -0
  38. data/lib/facter/facts/freebsd/networking/interfaces.rb +17 -0
  39. data/lib/facter/facts/freebsd/networking/ip.rb +18 -0
  40. data/lib/facter/facts/freebsd/networking/ip6.rb +18 -0
  41. data/lib/facter/facts/freebsd/networking/mac.rb +18 -0
  42. data/lib/facter/facts/freebsd/networking/mtu.rb +17 -0
  43. data/lib/facter/facts/freebsd/networking/netmask.rb +18 -0
  44. data/lib/facter/facts/freebsd/networking/netmask6.rb +18 -0
  45. data/lib/facter/facts/freebsd/networking/network.rb +18 -0
  46. data/lib/facter/facts/freebsd/networking/network6.rb +18 -0
  47. data/lib/facter/facts/freebsd/networking/primary.rb +17 -0
  48. data/lib/facter/facts/freebsd/networking/scope6.rb +17 -0
  49. data/lib/facter/facts/freebsd/os/architecture.rb +18 -0
  50. data/lib/facter/facts/freebsd/os/hardware.rb +18 -0
  51. data/lib/facter/facts/freebsd/os/name.rb +18 -0
  52. data/lib/facter/facts/{bsd/bsd_example_fact.rb → freebsd/path.rb} +5 -4
  53. data/lib/facter/facts/freebsd/processors/isa.rb +17 -0
  54. data/lib/facter/facts/freebsd/puppet_version.rb +15 -0
  55. data/lib/facter/facts/freebsd/ruby/platform.rb +18 -0
  56. data/lib/facter/facts/freebsd/ruby/sitedir.rb +18 -0
  57. data/lib/facter/facts/freebsd/ruby/version.rb +18 -0
  58. data/lib/facter/facts/freebsd/ssh.rb +26 -0
  59. data/lib/facter/facts/freebsd/sshalgorithmkey.rb +17 -0
  60. data/lib/facter/facts/freebsd/sshfp_algorithm.rb +20 -0
  61. data/lib/facter/facts/freebsd/system_uptime/days.rb +18 -0
  62. data/lib/facter/facts/freebsd/system_uptime/hours.rb +18 -0
  63. data/lib/facter/facts/freebsd/system_uptime/seconds.rb +18 -0
  64. data/lib/facter/facts/freebsd/system_uptime/uptime.rb +18 -0
  65. data/lib/facter/facts/freebsd/timezone.rb +15 -0
  66. data/lib/facter/facts/freebsd/zfs_featurenumbers.rb +14 -0
  67. data/lib/facter/facts/freebsd/zfs_version.rb +14 -0
  68. data/lib/facter/facts/freebsd/zpool_featureflags.rb +14 -0
  69. data/lib/facter/facts/freebsd/zpool_featurenumbers.rb +14 -0
  70. data/lib/facter/facts/freebsd/zpool_version.rb +14 -0
  71. data/lib/facter/facts/linux/cloud.rb +15 -0
  72. data/lib/facter/facts/linux/disks.rb +20 -1
  73. data/lib/facter/facts/linux/dmi/board/asset_tag.rb +19 -0
  74. data/lib/facter/facts/linux/ec2_metadata.rb +9 -5
  75. data/lib/facter/facts/linux/ec2_userdata.rb +5 -3
  76. data/lib/facter/facts/linux/gce.rb +16 -0
  77. data/lib/facter/facts/linux/is_virtual.rb +1 -3
  78. data/lib/facter/facts/linux/mountpoints.rb +1 -1
  79. data/lib/facter/facts/linux/networking/scope6.rb +3 -1
  80. data/lib/facter/facts/linux/partitions.rb +2 -2
  81. data/lib/facter/facts/linux/processors/speed.rb +17 -0
  82. data/lib/facter/facts/linux/scope6_interfaces.rb +1 -2
  83. data/lib/facter/facts/linux/ssh.rb +19 -9
  84. data/lib/facter/facts/linux/sshfp_algorithm.rb +1 -1
  85. data/lib/facter/facts/linux/system_uptime/days.rb +7 -1
  86. data/lib/facter/facts/linux/system_uptime/hours.rb +7 -1
  87. data/lib/facter/facts/linux/system_uptime/seconds.rb +7 -1
  88. data/lib/facter/facts/linux/system_uptime/uptime.rb +7 -1
  89. data/lib/facter/facts/linux/xen.rb +28 -0
  90. data/lib/facter/facts/macosx/dhcp_servers.rb +2 -2
  91. data/lib/facter/facts/macosx/interfaces.rb +1 -1
  92. data/lib/facter/facts/macosx/ipaddress6_interfaces.rb +1 -1
  93. data/lib/facter/facts/macosx/ipaddress_interfaces.rb +1 -1
  94. data/lib/facter/facts/macosx/macaddress_interfaces.rb +1 -1
  95. data/lib/facter/facts/macosx/mtu_interfaces.rb +1 -1
  96. data/lib/facter/facts/macosx/netmask6_interfaces.rb +1 -1
  97. data/lib/facter/facts/macosx/netmask_interfaces.rb +1 -1
  98. data/lib/facter/facts/macosx/network6_interfaces.rb +1 -1
  99. data/lib/facter/facts/macosx/network_interfaces.rb +1 -1
  100. data/lib/facter/facts/macosx/networking/dhcp.rb +1 -1
  101. data/lib/facter/facts/macosx/networking/interfaces.rb +1 -1
  102. data/lib/facter/facts/macosx/networking/ip.rb +1 -1
  103. data/lib/facter/facts/macosx/networking/ip6.rb +1 -1
  104. data/lib/facter/facts/macosx/networking/mac.rb +1 -1
  105. data/lib/facter/facts/macosx/networking/mtu.rb +1 -1
  106. data/lib/facter/facts/macosx/networking/netmask.rb +1 -1
  107. data/lib/facter/facts/macosx/networking/netmask6.rb +1 -1
  108. data/lib/facter/facts/macosx/networking/network.rb +1 -1
  109. data/lib/facter/facts/macosx/networking/network6.rb +1 -1
  110. data/lib/facter/facts/macosx/networking/primary.rb +1 -1
  111. data/lib/facter/facts/macosx/networking/scope6.rb +4 -2
  112. data/lib/facter/facts/macosx/scope6_interfaces.rb +1 -3
  113. data/lib/facter/facts/macosx/ssh.rb +19 -11
  114. data/lib/facter/facts/macosx/sshfp_algorithm.rb +1 -1
  115. data/lib/facter/facts/rhel/os/release.rb +2 -2
  116. data/lib/facter/facts/solaris/current_zone.rb +16 -0
  117. data/lib/facter/facts/solaris/disks.rb +33 -0
  118. data/lib/facter/facts/solaris/dmi/bios/release_date.rb +24 -0
  119. data/lib/facter/facts/solaris/dmi/bios/vendor.rb +24 -0
  120. data/lib/facter/facts/solaris/dmi/bios/version.rb +24 -0
  121. data/lib/facter/facts/solaris/dmi/chassis/asset_tag.rb +24 -0
  122. data/lib/facter/facts/solaris/dmi/chassis/type.rb +24 -0
  123. data/lib/facter/facts/solaris/dmi/manufacturer.rb +25 -0
  124. data/lib/facter/facts/solaris/dmi/product/name.rb +27 -0
  125. data/lib/facter/facts/solaris/dmi/product/serial_number.rb +27 -0
  126. data/lib/facter/facts/solaris/dmi/product/uuid.rb +24 -0
  127. data/lib/facter/facts/solaris/hypervisors/ldom.rb +24 -0
  128. data/lib/facter/facts/solaris/hypervisors/zone.rb +39 -0
  129. data/lib/facter/facts/solaris/is_virtual.rb +64 -0
  130. data/lib/facter/facts/solaris/kernelmajversion.rb +1 -1
  131. data/lib/facter/facts/solaris/ldom.rb +35 -0
  132. data/lib/facter/facts/solaris/mountpoints.rb +1 -1
  133. data/lib/facter/facts/solaris/os/release.rb +3 -3
  134. data/lib/facter/facts/solaris/ssh.rb +19 -9
  135. data/lib/facter/facts/solaris/sshalgorithmkey.rb +17 -0
  136. data/lib/facter/facts/solaris/sshfp_algorithm.rb +20 -0
  137. data/lib/facter/facts/solaris/virtual.rb +60 -0
  138. data/lib/facter/facts/solaris/zfs_featurenumbers.rb +1 -1
  139. data/lib/facter/facts/solaris/zfs_version.rb +1 -1
  140. data/lib/facter/facts/solaris/zones.rb +60 -0
  141. data/lib/facter/facts/solaris/zpool_featureflags.rb +1 -1
  142. data/lib/facter/facts/solaris/zpool_featurenumbers.rb +1 -1
  143. data/lib/facter/facts/solaris/zpool_version.rb +1 -1
  144. data/lib/facter/facts/ubuntu/lsbdistrelease.rb +23 -0
  145. data/lib/facter/facts/windows/dhcp_servers.rb +2 -2
  146. data/lib/facter/facts/windows/ec2_metadata.rb +5 -3
  147. data/lib/facter/facts/windows/ec2_userdata.rb +5 -3
  148. data/lib/facter/facts/windows/gce.rb +16 -0
  149. data/lib/facter/facts/windows/interfaces.rb +1 -1
  150. data/lib/facter/facts/windows/ipaddress6_interfaces.rb +1 -1
  151. data/lib/facter/facts/windows/ipaddress_interfaces.rb +1 -1
  152. data/lib/facter/facts/windows/macaddress_interfaces.rb +1 -1
  153. data/lib/facter/facts/windows/mtu_interfaces.rb +1 -1
  154. data/lib/facter/facts/windows/netmask6_interfaces.rb +1 -1
  155. data/lib/facter/facts/windows/netmask_interfaces.rb +1 -1
  156. data/lib/facter/facts/windows/network6_interfaces.rb +1 -1
  157. data/lib/facter/facts/windows/network_interfaces.rb +1 -1
  158. data/lib/facter/facts/windows/networking/dhcp.rb +1 -1
  159. data/lib/facter/facts/windows/networking/domain.rb +1 -1
  160. data/lib/facter/facts/windows/networking/fqdn.rb +1 -1
  161. data/lib/facter/facts/windows/networking/interfaces.rb +1 -1
  162. data/lib/facter/facts/windows/networking/ip.rb +1 -1
  163. data/lib/facter/facts/windows/networking/ip6.rb +1 -1
  164. data/lib/facter/facts/windows/networking/mac.rb +1 -1
  165. data/lib/facter/facts/windows/networking/mtu.rb +1 -1
  166. data/lib/facter/facts/windows/networking/netmask.rb +1 -1
  167. data/lib/facter/facts/windows/networking/netmask6.rb +1 -1
  168. data/lib/facter/facts/windows/networking/network.rb +1 -1
  169. data/lib/facter/facts/windows/networking/network6.rb +1 -1
  170. data/lib/facter/facts/windows/networking/primary.rb +1 -1
  171. data/lib/facter/facts/windows/networking/scope6.rb +4 -2
  172. data/lib/facter/facts/windows/scope6_interfaces.rb +1 -1
  173. data/lib/facter/facts/windows/sshalgorithmkey.rb +22 -0
  174. data/lib/facter/facts/windows/sshfp_algorithm.rb +25 -0
  175. data/lib/facter/facts_utils/facts_utils.rb +2 -0
  176. data/lib/facter/framework/benchmarking/timer.rb +23 -0
  177. data/lib/facter/framework/cli/cli.rb +21 -4
  178. data/lib/facter/framework/config/fact_groups.rb +13 -0
  179. data/lib/facter/framework/core/fact/internal/core_fact.rb +2 -0
  180. data/lib/facter/framework/core/fact/internal/internal_fact_manager.rb +11 -25
  181. data/lib/facter/framework/core/fact_filter.rb +13 -0
  182. data/lib/facter/framework/core/fact_loaders/fact_loader.rb +24 -1
  183. data/lib/facter/framework/core/fact_loaders/internal_fact_loader.rb +7 -7
  184. data/lib/facter/framework/core/file_loader.rb +2 -0
  185. data/lib/facter/framework/core/options/option_store.rb +3 -1
  186. data/lib/facter/framework/core/session_cache.rb +1 -4
  187. data/lib/facter/framework/formatters/legacy_fact_formatter.rb +8 -1
  188. data/lib/facter/framework/formatters/yaml_fact_formatter.rb +1 -1
  189. data/lib/facter/framework/logging/logger.rb +2 -6
  190. data/lib/facter/os_hierarchy.json +3 -6
  191. data/lib/facter/patches/sysfilesystem/sys/statvfs.rb +92 -0
  192. data/lib/facter/resolvers/aio_agent_version.rb +0 -1
  193. data/lib/facter/resolvers/aix/architecture_resolver.rb +0 -1
  194. data/lib/facter/resolvers/aix/disks.rb +2 -3
  195. data/lib/facter/resolvers/aix/filesystem_resolver.rb +0 -1
  196. data/lib/facter/resolvers/aix/hardware_resolver.rb +0 -1
  197. data/lib/facter/resolvers/aix/load_averages_resolver.rb +0 -1
  198. data/lib/facter/resolvers/aix/memory.rb +2 -3
  199. data/lib/facter/resolvers/aix/mountpoints.rb +0 -1
  200. data/lib/facter/resolvers/aix/networking_resolver.rb +0 -1
  201. data/lib/facter/resolvers/aix/nim.rb +0 -1
  202. data/lib/facter/resolvers/aix/os_level.rb +27 -0
  203. data/lib/facter/resolvers/aix/partitions.rb +2 -3
  204. data/lib/facter/resolvers/aix/processors.rb +0 -1
  205. data/lib/facter/resolvers/aix/serialnumber.rb +36 -0
  206. data/lib/facter/resolvers/augeas_resolver.rb +0 -1
  207. data/lib/facter/resolvers/base_resolver.rb +10 -5
  208. data/lib/facter/resolvers/bsd/processors.rb +0 -1
  209. data/lib/facter/resolvers/cloud.rb +39 -0
  210. data/lib/facter/resolvers/containers.rb +0 -1
  211. data/lib/facter/resolvers/debian_version.rb +0 -1
  212. data/lib/facter/resolvers/disk_resolver.rb +0 -1
  213. data/lib/facter/resolvers/dmi_decode.rb +0 -1
  214. data/lib/facter/resolvers/dmi_resolver.rb +4 -4
  215. data/lib/facter/resolvers/ec2.rb +4 -19
  216. data/lib/facter/resolvers/eos_release_resolver.rb +0 -1
  217. data/lib/facter/resolvers/facterversion_resolver.rb +0 -1
  218. data/lib/facter/resolvers/filesystems_resolver.rb +1 -2
  219. data/lib/facter/resolvers/fips_enabled_resolver.rb +0 -1
  220. data/lib/facter/resolvers/freebsd/dmi_resolver.rb +0 -1
  221. data/lib/facter/resolvers/freebsd/freebsd_version_resolver.rb +0 -1
  222. data/lib/facter/resolvers/freebsd/geom_resolver.rb +0 -1
  223. data/lib/facter/resolvers/freebsd/processors.rb +0 -1
  224. data/lib/facter/resolvers/freebsd/swap_memory_resolver.rb +0 -1
  225. data/lib/facter/resolvers/freebsd/system_memory_resolver.rb +0 -1
  226. data/lib/facter/resolvers/gce.rb +53 -0
  227. data/lib/facter/resolvers/hostname_resolver.rb +0 -1
  228. data/lib/facter/resolvers/identity_resolver.rb +0 -1
  229. data/lib/facter/resolvers/linux/docker_uptime.rb +44 -0
  230. data/lib/facter/resolvers/linux/load_averages.rb +0 -2
  231. data/lib/facter/resolvers/load_averages.rb +2 -1
  232. data/lib/facter/resolvers/lpar_resolver.rb +0 -1
  233. data/lib/facter/resolvers/lsb_release_resolver.rb +0 -1
  234. data/lib/facter/resolvers/lspci.rb +0 -1
  235. data/lib/facter/resolvers/macosx/dmi_resolver.rb +0 -1
  236. data/lib/facter/resolvers/macosx/filesystems_resolver.rb +1 -6
  237. data/lib/facter/resolvers/macosx/load_averages_resolver.rb +0 -1
  238. data/lib/facter/resolvers/macosx/mountpoints_resolver.rb +3 -3
  239. data/lib/facter/resolvers/macosx/processor_resolver.rb +0 -1
  240. data/lib/facter/resolvers/macosx/swap_memory_resolver.rb +0 -1
  241. data/lib/facter/resolvers/macosx/system_memory_resolver.rb +0 -1
  242. data/lib/facter/resolvers/macosx/system_profiler_resolver.rb +0 -1
  243. data/lib/facter/resolvers/memory_resolver.rb +13 -2
  244. data/lib/facter/resolvers/mountpoints_resolver.rb +41 -44
  245. data/lib/facter/resolvers/networking_linux_resolver.rb +0 -1
  246. data/lib/facter/resolvers/networking_resolver.rb +105 -0
  247. data/lib/facter/resolvers/open_vz.rb +0 -1
  248. data/lib/facter/resolvers/os_release_resolver.rb +0 -1
  249. data/lib/facter/resolvers/partitions.rb +37 -2
  250. data/lib/facter/resolvers/path_resolver.rb +0 -1
  251. data/lib/facter/resolvers/processors_resolver.rb +24 -3
  252. data/lib/facter/resolvers/puppet_version_resolver.rb +0 -1
  253. data/lib/facter/resolvers/redhat_release_resolver.rb +0 -1
  254. data/lib/facter/resolvers/ruby_resolver.rb +0 -1
  255. data/lib/facter/resolvers/selinux_resolver.rb +0 -1
  256. data/lib/facter/resolvers/solaris/disks.rb +50 -0
  257. data/lib/facter/resolvers/solaris/dmi.rb +56 -0
  258. data/lib/facter/resolvers/solaris/dmi_sparc.rb +46 -0
  259. data/lib/facter/resolvers/solaris/{filesystems_resolver.rb → filesystems.rb} +0 -1
  260. data/lib/facter/resolvers/solaris/{ipaddress_resolver.rb → ipaddress.rb} +0 -1
  261. data/lib/facter/resolvers/solaris/ldom.rb +69 -0
  262. data/lib/facter/resolvers/solaris/memory.rb +0 -1
  263. data/lib/facter/resolvers/solaris/{networking_resolver.rb → networking.rb} +0 -1
  264. data/lib/facter/resolvers/solaris/os_release.rb +43 -0
  265. data/lib/facter/resolvers/solaris/processors.rb +0 -1
  266. data/lib/facter/resolvers/solaris/zone.rb +50 -0
  267. data/lib/facter/resolvers/solaris/zone_name.rb +30 -0
  268. data/lib/facter/resolvers/ssh_resolver.rb +0 -1
  269. data/lib/facter/resolvers/suse_release_resolver.rb +0 -1
  270. data/lib/facter/resolvers/sw_vers_resolver.rb +0 -1
  271. data/lib/facter/resolvers/timezone_resolver.rb +0 -1
  272. data/lib/facter/resolvers/uname_resolver.rb +0 -1
  273. data/lib/facter/resolvers/uptime_resolver.rb +1 -28
  274. data/lib/facter/resolvers/utils/filesystem_helper.rb +3 -1
  275. data/lib/facter/resolvers/utils/http.rb +68 -0
  276. data/lib/facter/resolvers/utils/uptime_helper.rb +32 -0
  277. data/lib/facter/resolvers/virt_what.rb +0 -1
  278. data/lib/facter/resolvers/vmware.rb +0 -1
  279. data/lib/facter/resolvers/windows/aio_agent_version.rb +0 -1
  280. data/lib/facter/resolvers/windows/dmi_bios_resolver.rb +0 -1
  281. data/lib/facter/resolvers/windows/dmi_computersystem_resolver.rb +0 -1
  282. data/lib/facter/resolvers/windows/fips_resolver.rb +0 -1
  283. data/lib/facter/resolvers/windows/hardware_architecture_resolver.rb +0 -1
  284. data/lib/facter/resolvers/windows/identity_resolver.rb +0 -1
  285. data/lib/facter/resolvers/windows/kernel_resolver.rb +0 -1
  286. data/lib/facter/resolvers/windows/memory_resolver.rb +0 -1
  287. data/lib/facter/resolvers/windows/netkvm_resolver.rb +0 -1
  288. data/lib/facter/resolvers/windows/networking_resolver.rb +99 -98
  289. data/lib/facter/resolvers/windows/processors_resolver.rb +0 -1
  290. data/lib/facter/resolvers/windows/product_release_resolver.rb +0 -1
  291. data/lib/facter/resolvers/windows/ssh.rb +0 -1
  292. data/lib/facter/resolvers/windows/system32_resolver.rb +0 -1
  293. data/lib/facter/resolvers/windows/uptime_resolver.rb +0 -1
  294. data/lib/facter/resolvers/windows/virtualization_resolver.rb +0 -1
  295. data/lib/facter/resolvers/windows/win_os_description_resolver.rb +0 -1
  296. data/lib/facter/resolvers/wpar_resolver.rb +0 -1
  297. data/lib/facter/resolvers/xen.rb +28 -1
  298. data/lib/facter/resolvers/zfs.rb +31 -0
  299. data/lib/facter/resolvers/zpool.rb +33 -0
  300. data/lib/facter/version.rb +1 -1
  301. metadata +106 -18
  302. data/lib/facter/facts/freebsd/solaris_zones/current.rb +0 -15
  303. data/lib/facter/facts/freebsd/solaris_zones/zone.rb +0 -15
  304. data/lib/facter/facts/solaris/solaris_zones/zone.rb +0 -62
  305. data/lib/facter/resolvers/aix/os_level_resolver.rb +0 -26
  306. data/lib/facter/resolvers/macosx/networking_resolver.rb +0 -108
  307. data/lib/facter/resolvers/os_level_resolver.rb +0 -29
  308. data/lib/facter/resolvers/solaris/solaris_os_release_resolver.rb +0 -42
  309. data/lib/facter/resolvers/solaris/solaris_zone_name.rb +0 -28
  310. data/lib/facter/resolvers/solaris/zfs_resolver.rb +0 -34
  311. data/lib/facter/resolvers/solaris/zone_resolver.rb +0 -48
  312. data/lib/facter/resolvers/solaris/zpool_resolver.rb +0 -36
@@ -4,13 +4,28 @@ module Facts
4
4
  module Aix
5
5
  class Disks
6
6
  FACT_NAME = 'disks'
7
+ ALIASES = %w[blockdevices blockdevice_.*_size'].freeze
7
8
 
8
9
  def call_the_resolver
10
+ facts = []
9
11
  disks = Facter::Resolvers::Aix::Disks.resolve(:disks)
10
12
 
11
- disks = disks&.empty? ? nil : disks
13
+ return Facter::ResolvedFact.new(FACT_NAME, nil) if disks.nil? || disks.empty?
12
14
 
13
- Facter::ResolvedFact.new(FACT_NAME, disks)
15
+ blockdevices = disks.keys.join(',')
16
+ facts.push(Facter::ResolvedFact.new(FACT_NAME, disks))
17
+ facts.push(Facter::ResolvedFact.new('blockdevices', blockdevices, :legacy))
18
+ add_legacy_facts(disks, facts)
19
+
20
+ facts
21
+ end
22
+
23
+ private
24
+
25
+ def add_legacy_facts(disks, facts)
26
+ disks.each do |disk_name, disk_info|
27
+ facts.push(Facter::ResolvedFact.new("blockdevice_#{disk_name}_size", disk_info[:size_bytes].to_s, :legacy))
28
+ end
14
29
  end
15
30
  end
16
31
  end
@@ -6,7 +6,7 @@ module Facts
6
6
  FACT_NAME = 'kernel'
7
7
 
8
8
  def call_the_resolver
9
- fact_value = Facter::Resolvers::OsLevel.resolve(:kernel)
9
+ fact_value = Facter::Resolvers::Aix::OsLevel.resolve(:kernel)
10
10
 
11
11
  Facter::ResolvedFact.new(FACT_NAME, fact_value)
12
12
  end
@@ -6,7 +6,7 @@ module Facts
6
6
  FACT_NAME = 'kernelmajversion'
7
7
 
8
8
  def call_the_resolver
9
- fact_value = Facter::Resolvers::OsLevel.resolve(:build)
9
+ fact_value = Facter::Resolvers::Aix::OsLevel.resolve(:build)
10
10
  kernelmajversion = fact_value.split('-')[0]
11
11
 
12
12
  Facter::ResolvedFact.new(FACT_NAME, kernelmajversion)
@@ -6,7 +6,7 @@ module Facts
6
6
  FACT_NAME = 'kernelrelease'
7
7
 
8
8
  def call_the_resolver
9
- fact_value = Facter::Resolvers::OsLevel.resolve(:build).strip
9
+ fact_value = Facter::Resolvers::Aix::OsLevel.resolve(:build).strip
10
10
 
11
11
  Facter::ResolvedFact.new(FACT_NAME, fact_value)
12
12
  end
@@ -6,7 +6,7 @@ module Facts
6
6
  FACT_NAME = 'kernelversion'
7
7
 
8
8
  def call_the_resolver
9
- fact_value = Facter::Resolvers::OsLevel.resolve(:build)
9
+ fact_value = Facter::Resolvers::Aix::OsLevel.resolve(:build)
10
10
  kernelversion = fact_value.split('-')[0]
11
11
 
12
12
  Facter::ResolvedFact.new(FACT_NAME, kernelversion)
@@ -5,11 +5,13 @@ module Facts
5
5
  module Networking
6
6
  class Scope6
7
7
  FACT_NAME = 'networking.scope6'
8
+ ALIASES = 'scope6'
8
9
 
9
10
  def call_the_resolver
10
11
  fact_value = Facter::Resolvers::Aix::Networking.resolve(:scope6)
11
12
 
12
- Facter::ResolvedFact.new(FACT_NAME, fact_value)
13
+ [Facter::ResolvedFact.new(FACT_NAME, fact_value),
14
+ Facter::ResolvedFact.new('scope6', fact_value, :legacy)]
13
15
  end
14
16
  end
15
17
  end
@@ -8,7 +8,7 @@ module Facts
8
8
  ALIASES = %w[operatingsystemmajrelease operatingsystemrelease].freeze
9
9
 
10
10
  def call_the_resolver
11
- fact_value = Facter::Resolvers::OsLevel.resolve(:build)
11
+ fact_value = Facter::Resolvers::Aix::OsLevel.resolve(:build)
12
12
  major = fact_value.split('-')[0]
13
13
 
14
14
  [Facter::ResolvedFact.new(FACT_NAME, full: fact_value.strip, major: major),
@@ -9,7 +9,6 @@ module Facts
9
9
  def call_the_resolver
10
10
  resolved_facts = []
11
11
  interfaces = Facter::Resolvers::Aix::Networking.resolve(:interfaces)
12
- scope6 = Facter::Resolvers::Aix::Networking.resolve(:scope6)
13
12
 
14
13
  interfaces&.each do |interface_name, info|
15
14
  if info[:scope6]
@@ -17,7 +16,6 @@ module Facts
17
16
  end
18
17
  end
19
18
 
20
- resolved_facts << Facter::ResolvedFact.new('scope6', scope6, :legacy) if scope6
21
19
  resolved_facts
22
20
  end
23
21
  end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Aix
5
+ class Serialnumber
6
+ FACT_NAME = 'serialnumber'
7
+ TYPE = :legacy
8
+
9
+ def call_the_resolver
10
+ Facter::ResolvedFact.new(FACT_NAME, fact_value, :legacy)
11
+ end
12
+
13
+ private
14
+
15
+ def fact_value
16
+ Facter::Resolvers::Aix::Serialnumber.resolve(:serialnumber)
17
+ end
18
+ end
19
+ end
20
+ end
@@ -12,7 +12,7 @@ module Facts
12
12
  private
13
13
 
14
14
  def fact_value
15
- resolver_data.map! { |el| create_ssh_fact(el) }.inject(:merge!)
15
+ resolver_data.map { |el| create_ssh_fact(el) }.inject(:merge)
16
16
  end
17
17
 
18
18
  def resolver_data
@@ -20,6 +20,8 @@ module Facts
20
20
  end
21
21
 
22
22
  def create_ssh_fact(ssh)
23
+ return {} unless ssh
24
+
23
25
  { ssh.name.to_sym => {
24
26
  fingerprints: {
25
27
  sha1: ssh.fingerprint.sha1,
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Aix
5
+ class Sshalgorithmkey
6
+ FACT_NAME = 'ssh.*key'
7
+ TYPE = :legacy
8
+
9
+ def call_the_resolver
10
+ facts = []
11
+ result = Facter::Resolvers::SshResolver.resolve(:ssh)
12
+ result.each { |ssh| facts << Facter::ResolvedFact.new("ssh#{ssh.name.to_sym}key", ssh.key, :legacy) }
13
+ facts
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Aix
5
+ class SshfpAlgorithm
6
+ FACT_NAME = 'sshfp_.*'
7
+ TYPE = :legacy
8
+
9
+ def call_the_resolver
10
+ facts = []
11
+ result = Facter::Resolvers::SshResolver.resolve(:ssh)
12
+ result.each do |ssh|
13
+ facts << Facter::ResolvedFact.new("sshfp_#{ssh.name.to_sym}",
14
+ "#{ssh.fingerprint.sha1}\n#{ssh.fingerprint.sha256}", :legacy)
15
+ end
16
+ facts
17
+ end
18
+ end
19
+ end
20
+ end
@@ -6,11 +6,16 @@ module Facts
6
6
  module Distro
7
7
  class Release
8
8
  FACT_NAME = 'os.distro.release'
9
+ ALIASES = %w[lsbdistrelease lsbmajdistrelease lsbminordistrelease].freeze
9
10
 
10
11
  def call_the_resolver
11
12
  fact_value = determine_release_for_os
13
+ return Facter::ResolvedFact.new(FACT_NAME, nil) unless fact_value
12
14
 
13
- Facter::ResolvedFact.new(FACT_NAME, fact_value)
15
+ [Facter::ResolvedFact.new(FACT_NAME, fact_value),
16
+ Facter::ResolvedFact.new(ALIASES[0], fact_value['full'], :legacy),
17
+ Facter::ResolvedFact.new(ALIASES[1], fact_value['major'], :legacy),
18
+ Facter::ResolvedFact.new(ALIASES[2], fact_value['minor'], :legacy)]
14
19
  end
15
20
 
16
21
  private
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Freebsd
5
+ module Augeas
6
+ class Version
7
+ FACT_NAME = 'augeas.version'
8
+ ALIASES = 'augeasversion'
9
+
10
+ def call_the_resolver
11
+ fact_value = Facter::Resolvers::Augeas.resolve(:augeas_version)
12
+
13
+ [Facter::ResolvedFact.new(FACT_NAME, fact_value),
14
+ Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Freebsd
5
+ class Facterversion
6
+ FACT_NAME = 'facterversion'
7
+
8
+ def call_the_resolver
9
+ fact_value = Facter::Resolvers::Facterversion.resolve(:facterversion)
10
+ Facter::ResolvedFact.new(FACT_NAME, fact_value)
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Freebsd
5
+ module Identity
6
+ class Gid
7
+ FACT_NAME = 'identity.gid'
8
+
9
+ def call_the_resolver
10
+ fact_value = Facter::Resolvers::PosxIdentity.resolve(:gid)
11
+ Facter::ResolvedFact.new(FACT_NAME, fact_value)
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -1,14 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Facts
4
- module Solaris
5
- module SolarisZones
6
- class Current
7
- FACT_NAME = 'solaris_zones.current'
8
- ALIASES = 'zonename'
4
+ module Freebsd
5
+ module Identity
6
+ class Group
7
+ FACT_NAME = 'identity.group'
8
+ ALIASES = 'gid'
9
9
 
10
10
  def call_the_resolver
11
- fact_value = Facter::Resolvers::SolarisZoneName.resolve(:current_zone_name)
11
+ fact_value = Facter::Resolvers::PosxIdentity.resolve(:group)
12
12
 
13
13
  [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
14
14
  end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Freebsd
5
+ module Identity
6
+ class Privileged
7
+ FACT_NAME = 'identity.privileged'
8
+
9
+ def call_the_resolver
10
+ fact_value = Facter::Resolvers::PosxIdentity.resolve(:privileged)
11
+ Facter::ResolvedFact.new(FACT_NAME, fact_value)
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Freebsd
5
+ module Identity
6
+ class Uid
7
+ FACT_NAME = 'identity.uid'
8
+
9
+ def call_the_resolver
10
+ fact_value = Facter::Resolvers::PosxIdentity.resolve(:uid)
11
+ Facter::ResolvedFact.new(FACT_NAME, fact_value)
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Freebsd
5
+ module Identity
6
+ class User
7
+ FACT_NAME = 'identity.user'
8
+ ALIASES = 'id'
9
+
10
+ def call_the_resolver
11
+ fact_value = Facter::Resolvers::PosxIdentity.resolve(:user)
12
+ [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Freebsd
5
+ class Kernel
6
+ FACT_NAME = 'kernel'
7
+
8
+ def call_the_resolver
9
+ fact_value = Facter::Resolvers::Uname.resolve(:kernelname)
10
+ Facter::ResolvedFact.new(FACT_NAME, fact_value)
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Freebsd
5
+ class Kernelrelease
6
+ FACT_NAME = 'kernelrelease'
7
+
8
+ def call_the_resolver
9
+ fact_value = Facter::Resolvers::Uname.resolve(:kernelrelease)
10
+ Facter::ResolvedFact.new(FACT_NAME, fact_value)
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Freebsd
5
+ class Mountpoints
6
+ FACT_NAME = 'mountpoints'
7
+
8
+ def call_the_resolver
9
+ mountpoints = Facter::Resolvers::Mountpoints.resolve(FACT_NAME.to_sym)
10
+ return Facter::ResolvedFact.new(FACT_NAME, nil) unless mountpoints
11
+
12
+ fact = {}
13
+ mountpoints.each do |mnt|
14
+ fact[mnt[:path].to_sym] = mnt.reject { |k| k == :path }
15
+ end
16
+
17
+ Facter::ResolvedFact.new(FACT_NAME, fact)
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Freebsd
5
+ class Netmask6Interfaces
6
+ FACT_NAME = 'netmask6_.*'
7
+ TYPE = :legacy
8
+
9
+ def call_the_resolver
10
+ arr = []
11
+ interfaces = Facter::Resolvers::Networking.resolve(:interfaces)
12
+ interfaces&.each do |interface_name, info|
13
+ arr << Facter::ResolvedFact.new("netmask6_#{interface_name}", info[:netmask6], :legacy) if info[:netmask6]
14
+ end
15
+
16
+ arr
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Freebsd
5
+ class NetmaskInterfaces
6
+ FACT_NAME = 'netmask_.*'
7
+ TYPE = :legacy
8
+
9
+ def call_the_resolver
10
+ arr = []
11
+ interfaces = Facter::Resolvers::Networking.resolve(:interfaces)
12
+ interfaces&.each do |interface_name, info|
13
+ arr << Facter::ResolvedFact.new("netmask_#{interface_name}", info[:netmask], :legacy) if info[:netmask]
14
+ end
15
+
16
+ arr
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Freebsd
5
+ class Network6Interfaces
6
+ FACT_NAME = 'network6_.*'
7
+ TYPE = :legacy
8
+
9
+ def call_the_resolver
10
+ arr = []
11
+ interfaces = Facter::Resolvers::Networking.resolve(:interfaces)
12
+ interfaces&.each do |interface_name, info|
13
+ arr << Facter::ResolvedFact.new("network6_#{interface_name}", info[:network6], :legacy) if info[:network6]
14
+ end
15
+
16
+ arr
17
+ end
18
+ end
19
+ end
20
+ end