facter 4.0.30 → 4.0.35

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 (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,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Solaris
5
+ module Memory
6
+ module Swap
7
+ class Capacity
8
+ FACT_NAME = 'memory.swap.capacity'
9
+
10
+ def call_the_resolver
11
+ fact_value = Facter::Resolvers::Solaris::Memory.resolve(:swap)
12
+ fact_value = fact_value[:capacity] if fact_value
13
+
14
+ Facter::ResolvedFact.new(FACT_NAME, fact_value)
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Solaris
5
+ module Memory
6
+ module Swap
7
+ class Total
8
+ FACT_NAME = 'memory.swap.total'
9
+ ALIASES = 'swapsize'
10
+
11
+ def call_the_resolver
12
+ fact_value = Facter::Resolvers::Solaris::Memory.resolve(:swap)
13
+ if fact_value
14
+ fact_value = Facter::FactsUtils::UnitConverter.bytes_to_human_readable(fact_value[:total_bytes])
15
+ end
16
+ [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Solaris
5
+ module Memory
6
+ module Swap
7
+ class TotalBytes
8
+ FACT_NAME = 'memory.swap.total_bytes'
9
+ ALIASES = 'swapsize_mb'
10
+
11
+ def call_the_resolver
12
+ fact_value = Facter::Resolvers::Solaris::Memory.resolve(:swap)
13
+ fact_value = fact_value[:total_bytes] if fact_value
14
+
15
+ [Facter::ResolvedFact.new(FACT_NAME, fact_value),
16
+ Facter::ResolvedFact.new(ALIASES, Facter::FactsUtils::UnitConverter.bytes_to_mb(fact_value), :legacy)]
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Solaris
5
+ module Memory
6
+ module Swap
7
+ class Used
8
+ FACT_NAME = 'memory.swap.used'
9
+
10
+ def call_the_resolver
11
+ fact_value = Facter::Resolvers::Solaris::Memory.resolve(:swap)
12
+ if fact_value
13
+ fact_value = Facter::FactsUtils::UnitConverter.bytes_to_human_readable(fact_value[:used_bytes])
14
+ end
15
+ Facter::ResolvedFact.new(FACT_NAME, fact_value)
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Solaris
5
+ module Memory
6
+ module Swap
7
+ class UsedBytes
8
+ FACT_NAME = 'memory.swap.used_bytes'
9
+
10
+ def call_the_resolver
11
+ fact_value = Facter::Resolvers::Solaris::Memory.resolve(:swap)
12
+ fact_value = fact_value[:used_bytes] if fact_value
13
+ Facter::ResolvedFact.new(FACT_NAME, fact_value)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Solaris
5
+ module Memory
6
+ module System
7
+ class Available
8
+ FACT_NAME = 'memory.system.available'
9
+ ALIASES = 'memoryfree'
10
+
11
+ def call_the_resolver
12
+ fact_value = Facter::Resolvers::Solaris::Memory.resolve(:system)
13
+ if fact_value
14
+ fact_value = Facter::FactsUtils::UnitConverter.bytes_to_human_readable(fact_value[:available_bytes])
15
+ end
16
+ [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Solaris
5
+ module Memory
6
+ module System
7
+ class AvailableBytes
8
+ FACT_NAME = 'memory.system.available_bytes'
9
+ ALIASES = 'memoryfree_mb'
10
+
11
+ def call_the_resolver
12
+ fact_value = Facter::Resolvers::Solaris::Memory.resolve(:system)
13
+ fact_value = fact_value[:available_bytes] if fact_value
14
+
15
+ [Facter::ResolvedFact.new(FACT_NAME, fact_value),
16
+ Facter::ResolvedFact.new(ALIASES, Facter::FactsUtils::UnitConverter.bytes_to_mb(fact_value), :legacy)]
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Solaris
5
+ module Memory
6
+ module System
7
+ class Capacity
8
+ FACT_NAME = 'memory.system.capacity'
9
+
10
+ def call_the_resolver
11
+ fact_value = Facter::Resolvers::Solaris::Memory.resolve(:system)
12
+ fact_value = fact_value[:capacity] if fact_value
13
+
14
+ Facter::ResolvedFact.new(FACT_NAME, fact_value)
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Solaris
5
+ module Memory
6
+ module System
7
+ class Total
8
+ FACT_NAME = 'memory.system.total'
9
+ ALIASES = 'memorysize'
10
+
11
+ def call_the_resolver
12
+ fact_value = Facter::Resolvers::Solaris::Memory.resolve(:system)
13
+ if fact_value
14
+ fact_value = Facter::FactsUtils::UnitConverter.bytes_to_human_readable(fact_value[:total_bytes])
15
+ end
16
+ [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Solaris
5
+ module Memory
6
+ module System
7
+ class TotalBytes
8
+ FACT_NAME = 'memory.system.total_bytes'
9
+ ALIASES = 'memorysize_mb'
10
+
11
+ def call_the_resolver
12
+ fact_value = Facter::Resolvers::Solaris::Memory.resolve(:system)
13
+ fact_value = fact_value[:total_bytes] if fact_value
14
+
15
+ [Facter::ResolvedFact.new(FACT_NAME, fact_value),
16
+ Facter::ResolvedFact.new(ALIASES, Facter::FactsUtils::UnitConverter.bytes_to_mb(fact_value), :legacy)]
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Solaris
5
+ module Memory
6
+ module System
7
+ class Used
8
+ FACT_NAME = 'memory.system.used'
9
+
10
+ def call_the_resolver
11
+ fact_value = Facter::Resolvers::Solaris::Memory.resolve(:system)
12
+ if fact_value
13
+ fact_value = Facter::FactsUtils::UnitConverter.bytes_to_human_readable(fact_value[:used_bytes])
14
+ end
15
+ Facter::ResolvedFact.new(FACT_NAME, fact_value)
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Solaris
5
+ module Memory
6
+ module System
7
+ class UsedBytes
8
+ FACT_NAME = 'memory.system.used_bytes'
9
+
10
+ def call_the_resolver
11
+ fact_value = Facter::Resolvers::Solaris::Memory.resolve(:system)
12
+ fact_value = fact_value[:used_bytes] if fact_value
13
+ Facter::ResolvedFact.new(FACT_NAME, fact_value)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -6,7 +6,7 @@ module Facts
6
6
  FACT_NAME = 'mountpoints'
7
7
 
8
8
  def call_the_resolver
9
- mountpoints = Facter::Resolvers::Linux::Mountpoints.resolve(FACT_NAME.to_sym)
9
+ mountpoints = Facter::Resolvers::Mountpoints.resolve(FACT_NAME.to_sym)
10
10
  return Facter::ResolvedFact.new(FACT_NAME, nil) unless mountpoints
11
11
 
12
12
  fact = {}
@@ -8,9 +8,9 @@ module Facts
8
8
  ALIASES = %w[operatingsystemmajrelease operatingsystemrelease].freeze
9
9
 
10
10
  def call_the_resolver
11
- full_value = Facter::Resolvers::SolarisRelease.resolve(:full)
12
- major_value = Facter::Resolvers::SolarisRelease.resolve(:major)
13
- minor_value = Facter::Resolvers::SolarisRelease.resolve(:minor)
11
+ full_value = Facter::Resolvers::Solaris::OsRelease.resolve(:full)
12
+ major_value = Facter::Resolvers::Solaris::OsRelease.resolve(:major)
13
+ minor_value = Facter::Resolvers::Solaris::OsRelease.resolve(:minor)
14
14
 
15
15
  [Facter::ResolvedFact.new(FACT_NAME, full: full_value, major: major_value, minor: minor_value),
16
16
  Facter::ResolvedFact.new(ALIASES.first, major_value, :legacy),
@@ -6,20 +6,30 @@ module Facts
6
6
  FACT_NAME = 'ssh'
7
7
 
8
8
  def call_the_resolver
9
- result = Facter::Resolvers::SshResolver.resolve(:ssh)
10
- ssh_facts = {}
11
- result.each { |ssh| ssh_facts.merge!(create_ssh_fact(ssh)) }
12
- Facter::ResolvedFact.new(FACT_NAME, ssh_facts)
9
+ Facter::ResolvedFact.new(FACT_NAME, fact_value)
13
10
  end
14
11
 
15
12
  private
16
13
 
14
+ def fact_value
15
+ resolver_data.map { |el| create_ssh_fact(el) }.inject(:merge)
16
+ end
17
+
18
+ def resolver_data
19
+ Facter::Resolvers::SshResolver.resolve(:ssh)
20
+ end
21
+
17
22
  def create_ssh_fact(ssh)
18
- { ssh.name.to_sym =>
19
- { fingerprints: { sha1: ssh.fingerprint.sha1,
20
- sha256: ssh.fingerprint.sha256 },
21
- key: ssh.key,
22
- type: ssh.type } }
23
+ return {} unless ssh
24
+
25
+ { ssh.name.to_sym => {
26
+ fingerprints: {
27
+ sha1: ssh.fingerprint.sha1,
28
+ sha256: ssh.fingerprint.sha256
29
+ },
30
+ key: ssh.key,
31
+ type: ssh.type
32
+ } }
23
33
  end
24
34
  end
25
35
  end
@@ -6,7 +6,7 @@ module Facts
6
6
  FACT_NAME = 'zfs_featurenumbers'
7
7
 
8
8
  def call_the_resolver
9
- fact_value = Facter::Resolvers::Solaris::ZFS.resolve(:zfs_featurenumbers)
9
+ fact_value = Facter::Resolvers::ZFS.resolve(:zfs_featurenumbers)
10
10
  Facter::ResolvedFact.new(FACT_NAME, fact_value)
11
11
  end
12
12
  end
@@ -6,7 +6,7 @@ module Facts
6
6
  FACT_NAME = 'zfs_version'
7
7
 
8
8
  def call_the_resolver
9
- fact_value = Facter::Resolvers::Solaris::ZFS.resolve(:zfs_version)
9
+ fact_value = Facter::Resolvers::ZFS.resolve(:zfs_version)
10
10
  Facter::ResolvedFact.new(FACT_NAME, fact_value)
11
11
  end
12
12
  end
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Solaris
5
+ class Zones
6
+ FACT_NAME = 'solaris_zones.zones'
7
+ ALIASES = %w[
8
+ zone_.*_brand
9
+ zone_.*_iptype
10
+ zone_.*_name
11
+ zone_.*_uuid
12
+ zone_.*_id
13
+ zone_.*_path
14
+ zone_.*_status
15
+ zones
16
+ ].freeze
17
+
18
+ def call_the_resolver
19
+ resolved_facts = []
20
+ zones = {}
21
+
22
+ results = Facter::Resolvers::Solaris::Zone.resolve(:zone)
23
+ return Facter::ResolvedFact.new(FACT_NAME, nil) unless results
24
+
25
+ results&.each do |result|
26
+ zones.merge!(parse_result(result))
27
+ resolved_facts << create_legacy_zone_facts(result)
28
+ end
29
+
30
+ resolved_facts << Facter::ResolvedFact.new('solaris_zones.zones', zones)
31
+ resolved_facts << Facter::ResolvedFact.new('zones', results.count, :legacy)
32
+
33
+ resolved_facts.flatten
34
+ end
35
+
36
+ private
37
+
38
+ def parse_result(result)
39
+ {
40
+ result[:name].to_sym => {
41
+ brand: result[:brand],
42
+ id: result[:id],
43
+ ip_type: result[:iptype],
44
+ path: result[:path],
45
+ status: result[:status]
46
+ }
47
+ }
48
+ end
49
+
50
+ def create_legacy_zone_facts(zone)
51
+ legacy_facts = []
52
+ %w[brand iptype name uuid id path status].each do |key|
53
+ legacy_facts << Facter::ResolvedFact.new("zone_#{zone[:name]}_#{key}", zone[key.to_sym], :legacy)
54
+ end
55
+
56
+ legacy_facts
57
+ end
58
+ end
59
+ end
60
+ end
@@ -6,7 +6,7 @@ module Facts
6
6
  FACT_NAME = 'zpool_featureflags'
7
7
 
8
8
  def call_the_resolver
9
- fact_value = Facter::Resolvers::Solaris::ZPool.resolve(:zpool_featureflags)
9
+ fact_value = Facter::Resolvers::Zpool.resolve(:zpool_featureflags)
10
10
  Facter::ResolvedFact.new(FACT_NAME, fact_value)
11
11
  end
12
12
  end
@@ -6,7 +6,7 @@ module Facts
6
6
  FACT_NAME = 'zpool_featurenumbers'
7
7
 
8
8
  def call_the_resolver
9
- fact_value = Facter::Resolvers::Solaris::ZPool.resolve(:zpool_featurenumbers)
9
+ fact_value = Facter::Resolvers::Zpool.resolve(:zpool_featurenumbers)
10
10
  Facter::ResolvedFact.new(FACT_NAME, fact_value)
11
11
  end
12
12
  end
@@ -6,7 +6,7 @@ module Facts
6
6
  FACT_NAME = 'zpool_version'
7
7
 
8
8
  def call_the_resolver
9
- fact_value = Facter::Resolvers::Solaris::ZPool.resolve(:zpool_version)
9
+ fact_value = Facter::Resolvers::Zpool.resolve(:zpool_version)
10
10
  Facter::ResolvedFact.new(FACT_NAME, fact_value)
11
11
  end
12
12
  end