facter 4.0.9.pre → 4.0.10.pre

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 (280) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rtc.yml +11 -0
  3. data/.rubocop_todo.yml +10 -190
  4. data/VERSION +1 -1
  5. data/facter.gemspec +1 -0
  6. data/lib/custom_facts/core/aggregate.rb +4 -6
  7. data/lib/custom_facts/core/execution.rb +1 -1
  8. data/lib/custom_facts/core/execution/base.rb +15 -24
  9. data/lib/custom_facts/core/execution/posix.rb +2 -2
  10. data/lib/custom_facts/core/resolvable.rb +1 -1
  11. data/lib/custom_facts/core/suitable.rb +2 -1
  12. data/lib/custom_facts/util/fact.rb +3 -3
  13. data/lib/custom_facts/util/loader.rb +2 -2
  14. data/lib/custom_facts/util/parser.rb +7 -7
  15. data/lib/custom_facts/util/resolution.rb +1 -3
  16. data/lib/custom_facts/version.rb +1 -1
  17. data/lib/facter.rb +217 -41
  18. data/lib/facts/aix/augeas/version.rb +4 -1
  19. data/lib/facts/aix/filesystems.rb +14 -0
  20. data/lib/facts/aix/identity/user.rb +17 -0
  21. data/lib/facts/aix/puppet_version.rb +15 -0
  22. data/lib/facts/aix/system_uptime/days.rb +16 -0
  23. data/lib/facts/aix/system_uptime/hours.rb +16 -0
  24. data/lib/facts/aix/system_uptime/seconds.rb +16 -0
  25. data/lib/facts/aix/system_uptime/uptime.rb +16 -0
  26. data/lib/facts/aix/timezone.rb +14 -0
  27. data/lib/facts/debian/augeas/version.rb +19 -0
  28. data/lib/facts/debian/dmi/bios/release_date.rb +2 -1
  29. data/lib/facts/debian/dmi/bios/vendor.rb +2 -1
  30. data/lib/facts/debian/dmi/bios/version.rb +2 -1
  31. data/lib/facts/debian/dmi/board/manufacturer.rb +2 -1
  32. data/lib/facts/debian/dmi/board/product.rb +2 -1
  33. data/lib/facts/debian/dmi/board/serial_number.rb +2 -1
  34. data/lib/facts/debian/dmi/chassis/asset_tag.rb +2 -1
  35. data/lib/facts/debian/dmi/chassis/type.rb +2 -1
  36. data/lib/facts/debian/dmi/manufacturer.rb +2 -1
  37. data/lib/facts/debian/dmi/product/name.rb +2 -1
  38. data/lib/facts/debian/identity/user.rb +17 -0
  39. data/lib/facts/debian/interfaces.rb +16 -0
  40. data/lib/facts/debian/memory/swap/available.rb +2 -1
  41. data/lib/facts/debian/memory/swap/available_bytes.rb +4 -1
  42. data/lib/facts/debian/memory/swap/total.rb +2 -1
  43. data/lib/facts/debian/memory/swap/total_bytes.rb +3 -1
  44. data/lib/facts/debian/memory/system/available.rb +3 -1
  45. data/lib/facts/debian/memory/system/available_bytes.rb +4 -1
  46. data/lib/facts/debian/memory/system/total.rb +2 -1
  47. data/lib/facts/debian/memory/system/total_bytes.rb +3 -1
  48. data/lib/facts/debian/networking/mac.rb +18 -0
  49. data/lib/facts/debian/os/distro/codename.rb +21 -0
  50. data/lib/facts/debian/os/distro/description.rb +21 -0
  51. data/lib/facts/debian/os/distro/id.rb +21 -0
  52. data/lib/facts/debian/os/distro/release.rb +31 -0
  53. data/lib/facts/debian/os/distro/specification.rb +21 -0
  54. data/lib/facts/debian/os/hardware.rb +2 -1
  55. data/lib/facts/debian/os/selinux/config_mode.rb +21 -0
  56. data/lib/facts/debian/os/selinux/config_policy.rb +21 -0
  57. data/lib/facts/debian/os/selinux/current_mode.rb +21 -0
  58. data/lib/facts/debian/os/selinux/enabled.rb +21 -0
  59. data/lib/facts/debian/os/selinux/enforced.rb +21 -0
  60. data/lib/facts/debian/os/selinux/policy_version.rb +21 -0
  61. data/lib/facts/debian/processors/count.rb +2 -1
  62. data/lib/facts/debian/processors/isa.rb +3 -2
  63. data/lib/facts/debian/processors/physicalcount.rb +2 -1
  64. data/lib/facts/debian/puppet_version.rb +15 -0
  65. data/lib/facts/debian/ruby/platform.rb +2 -1
  66. data/lib/facts/debian/ruby/sitedir.rb +2 -1
  67. data/lib/facts/debian/system_uptime/days.rb +2 -1
  68. data/lib/facts/debian/system_uptime/hours.rb +2 -1
  69. data/lib/facts/debian/system_uptime/seconds.rb +18 -0
  70. data/lib/facts/debian/system_uptime/uptime.rb +2 -1
  71. data/lib/facts/el/augeas/version.rb +19 -0
  72. data/lib/facts/el/dmi/bios/release_date.rb +2 -1
  73. data/lib/facts/el/dmi/bios/vendor.rb +2 -1
  74. data/lib/facts/el/dmi/bios/version.rb +2 -1
  75. data/lib/facts/el/dmi/board/manufacturer.rb +2 -1
  76. data/lib/facts/el/dmi/board/product.rb +2 -1
  77. data/lib/facts/el/dmi/board/serial_number.rb +2 -1
  78. data/lib/facts/el/dmi/chassis/asset_tag.rb +2 -1
  79. data/lib/facts/el/dmi/chassis/type.rb +2 -1
  80. data/lib/facts/el/dmi/manufacturer.rb +2 -1
  81. data/lib/facts/el/dmi/product/name.rb +2 -1
  82. data/lib/facts/el/dmi/product/serial_number.rb +2 -1
  83. data/lib/facts/el/dmi/product/uuid.rb +2 -1
  84. data/lib/facts/el/identity/user.rb +17 -0
  85. data/lib/facts/el/interfaces.rb +16 -0
  86. data/lib/facts/el/memory/swap/available.rb +2 -1
  87. data/lib/facts/el/memory/swap/available_bytes.rb +3 -1
  88. data/lib/facts/el/memory/swap/total.rb +2 -1
  89. data/lib/facts/el/memory/swap/total_bytes.rb +3 -1
  90. data/lib/facts/el/memory/system/available.rb +2 -1
  91. data/lib/facts/el/memory/system/available_bytes.rb +3 -1
  92. data/lib/facts/el/memory/system/total.rb +2 -1
  93. data/lib/facts/el/memory/system/total_bytes.rb +3 -1
  94. data/lib/facts/el/networking/mac.rb +18 -0
  95. data/lib/facts/el/os/distro/codename.rb +21 -0
  96. data/lib/facts/el/os/distro/description.rb +21 -0
  97. data/lib/facts/el/os/distro/id.rb +21 -0
  98. data/lib/facts/el/os/distro/release.rb +31 -0
  99. data/lib/facts/el/os/distro/specification.rb +21 -0
  100. data/lib/facts/el/os/hardware.rb +2 -1
  101. data/lib/facts/el/os/selinux/config_mode.rb +21 -0
  102. data/lib/facts/el/os/selinux/config_policy.rb +21 -0
  103. data/lib/facts/el/os/selinux/current_mode.rb +21 -0
  104. data/lib/facts/el/os/selinux/enabled.rb +21 -0
  105. data/lib/facts/el/os/selinux/enforced.rb +21 -0
  106. data/lib/facts/el/os/selinux/policy_version.rb +21 -0
  107. data/lib/facts/el/processor.rb +19 -0
  108. data/lib/facts/el/processors/count.rb +2 -1
  109. data/lib/facts/el/processors/isa.rb +3 -1
  110. data/lib/facts/el/processors/physicalcount.rb +3 -1
  111. data/lib/facts/el/puppet_version.rb +15 -0
  112. data/lib/facts/el/ruby/platform.rb +3 -1
  113. data/lib/facts/el/ruby/sitedir.rb +3 -1
  114. data/lib/facts/el/ruby/version.rb +1 -0
  115. data/lib/facts/el/sshalgorithmkey.rb +16 -0
  116. data/lib/facts/el/sshfp_algorithm.rb +19 -0
  117. data/lib/facts/el/system_uptime/days.rb +3 -1
  118. data/lib/facts/el/system_uptime/hours.rb +3 -1
  119. data/lib/facts/el/system_uptime/seconds.rb +3 -1
  120. data/lib/facts/el/system_uptime/uptime.rb +3 -1
  121. data/lib/facts/macosx/augeas/version.rb +19 -0
  122. data/lib/facts/macosx/dmi/product/name.rb +2 -1
  123. data/lib/facts/macosx/identity/group.rb +2 -0
  124. data/lib/facts/macosx/identity/user.rb +2 -1
  125. data/lib/facts/macosx/interfaces.rb +15 -0
  126. data/lib/facts/macosx/memory/swap/available.rb +2 -1
  127. data/lib/facts/macosx/memory/swap/available_bytes.rb +3 -1
  128. data/lib/facts/macosx/memory/swap/encrypted.rb +2 -1
  129. data/lib/facts/macosx/memory/swap/total.rb +2 -1
  130. data/lib/facts/macosx/memory/swap/total_bytes.rb +3 -1
  131. data/lib/facts/macosx/memory/system/available.rb +2 -1
  132. data/lib/facts/macosx/memory/system/available_bytes.rb +3 -1
  133. data/lib/facts/macosx/memory/system/total.rb +2 -1
  134. data/lib/facts/macosx/memory/system/total_bytes.rb +3 -1
  135. data/lib/facts/macosx/networking/mac.rb +18 -0
  136. data/lib/facts/macosx/os/hardware.rb +2 -1
  137. data/lib/facts/macosx/os/macosx/build.rb +2 -2
  138. data/lib/facts/macosx/os/macosx/product.rb +2 -2
  139. data/lib/facts/macosx/os/macosx/version.rb +5 -1
  140. data/lib/facts/macosx/os/release.rb +11 -5
  141. data/lib/facts/macosx/processors/count.rb +2 -1
  142. data/lib/facts/macosx/processors/isa.rb +2 -1
  143. data/lib/facts/macosx/processors/models.rb +6 -1
  144. data/lib/facts/macosx/processors/physicalcount.rb +2 -1
  145. data/lib/facts/macosx/{augeas.rb → puppet_version.rb} +4 -3
  146. data/lib/facts/macosx/ruby/platform.rb +2 -2
  147. data/lib/facts/macosx/ruby/sitedir.rb +2 -2
  148. data/lib/facts/macosx/ssh.rb +26 -0
  149. data/lib/facts/macosx/sshalgorithmkey.rb +16 -0
  150. data/lib/facts/macosx/sshfp_algorithm.rb +19 -0
  151. data/lib/facts/macosx/system_profiler/boot_mode.rb +2 -1
  152. data/lib/facts/macosx/system_profiler/boot_rom_version.rb +2 -1
  153. data/lib/facts/macosx/system_profiler/boot_volume.rb +2 -1
  154. data/lib/facts/macosx/system_profiler/computer_name.rb +2 -1
  155. data/lib/facts/macosx/system_profiler/cores.rb +2 -1
  156. data/lib/facts/macosx/system_profiler/hardware_uuid.rb +2 -1
  157. data/lib/facts/macosx/system_profiler/kernel_version.rb +2 -1
  158. data/lib/facts/macosx/system_profiler/l2_cache_per_core.rb +2 -1
  159. data/lib/facts/macosx/system_profiler/l3_cache.rb +2 -1
  160. data/lib/facts/macosx/system_profiler/memory.rb +2 -1
  161. data/lib/facts/macosx/system_profiler/model_identifier.rb +2 -1
  162. data/lib/facts/macosx/system_profiler/model_name.rb +2 -1
  163. data/lib/facts/macosx/system_profiler/processor_name.rb +2 -1
  164. data/lib/facts/macosx/system_profiler/processor_speed.rb +2 -1
  165. data/lib/facts/macosx/system_profiler/processors.rb +2 -1
  166. data/lib/facts/macosx/system_profiler/secure_virtual_memory.rb +2 -1
  167. data/lib/facts/macosx/system_profiler/serial_number.rb +2 -1
  168. data/lib/facts/macosx/system_profiler/smc_version.rb +2 -1
  169. data/lib/facts/macosx/system_profiler/system_version.rb +2 -1
  170. data/lib/facts/macosx/system_profiler/uptime.rb +2 -1
  171. data/lib/facts/macosx/system_profiler/username.rb +2 -1
  172. data/lib/facts/macosx/system_uptime/days.rb +2 -1
  173. data/lib/facts/macosx/system_uptime/hours.rb +2 -1
  174. data/lib/facts/macosx/system_uptime/seconds.rb +2 -1
  175. data/lib/facts/macosx/system_uptime/uptime.rb +2 -1
  176. data/lib/facts/sles/augeas/version.rb +19 -0
  177. data/lib/facts/sles/disks.rb +15 -0
  178. data/lib/facts/sles/dmi/bios/release_date.rb +19 -0
  179. data/lib/facts/sles/dmi/bios/vendor.rb +19 -0
  180. data/lib/facts/sles/dmi/bios/version.rb +19 -0
  181. data/lib/facts/sles/dmi/board/manufacturer.rb +19 -0
  182. data/lib/facts/sles/dmi/board/product.rb +19 -0
  183. data/lib/facts/sles/dmi/board/serial_number.rb +19 -0
  184. data/lib/facts/sles/dmi/chassis/asset_tag.rb +19 -0
  185. data/lib/facts/sles/dmi/chassis/type.rb +19 -0
  186. data/lib/facts/sles/dmi/manufacturer.rb +17 -0
  187. data/lib/facts/sles/dmi/product/name.rb +19 -0
  188. data/lib/facts/sles/dmi/product/serial_number.rb +19 -0
  189. data/lib/facts/sles/dmi/product/uuid.rb +19 -0
  190. data/lib/facts/sles/filesystems.rb +14 -0
  191. data/lib/facts/sles/fips_enabled.rb +14 -0
  192. data/lib/facts/sles/identity/user.rb +17 -0
  193. data/lib/facts/sles/interfaces.rb +16 -0
  194. data/lib/facts/sles/load_averages.rb +14 -0
  195. data/lib/facts/sles/memory/swap/available.rb +2 -1
  196. data/lib/facts/sles/memory/swap/available_bytes.rb +3 -1
  197. data/lib/facts/sles/memory/swap/total.rb +2 -1
  198. data/lib/facts/sles/memory/swap/total_bytes.rb +3 -1
  199. data/lib/facts/sles/memory/swap/used.rb +1 -1
  200. data/lib/facts/sles/memory/swap/used_bytes.rb +1 -1
  201. data/lib/facts/sles/memory/system/available.rb +2 -1
  202. data/lib/facts/sles/memory/system/available_bytes.rb +3 -1
  203. data/lib/facts/sles/memory/system/total.rb +2 -1
  204. data/lib/facts/sles/memory/system/total_bytes.rb +3 -1
  205. data/lib/facts/sles/mountpoints.rb +21 -0
  206. data/lib/facts/sles/networking/mac.rb +18 -0
  207. data/lib/facts/sles/os/distro/codename.rb +21 -0
  208. data/lib/facts/sles/os/distro/description.rb +21 -0
  209. data/lib/facts/sles/os/distro/id.rb +21 -0
  210. data/lib/facts/sles/os/distro/release.rb +31 -0
  211. data/lib/facts/sles/os/distro/specification.rb +21 -0
  212. data/lib/facts/sles/os/family.rb +1 -1
  213. data/lib/facts/sles/os/hardware.rb +2 -1
  214. data/lib/facts/sles/os/release.rb +3 -3
  215. data/lib/facts/sles/os/selinux/config_mode.rb +21 -0
  216. data/lib/facts/sles/os/selinux/config_policy.rb +21 -0
  217. data/lib/facts/sles/os/selinux/current_mode.rb +21 -0
  218. data/lib/facts/sles/os/selinux/enabled.rb +21 -0
  219. data/lib/facts/sles/os/selinux/enforced.rb +21 -0
  220. data/lib/facts/sles/os/selinux/policy_version.rb +21 -0
  221. data/lib/facts/sles/puppet_version.rb +15 -0
  222. data/lib/facts/sles/ruby/platform.rb +3 -1
  223. data/lib/facts/sles/ruby/sitedir.rb +3 -1
  224. data/lib/facts/sles/ruby/version.rb +1 -0
  225. data/lib/facts/sles/sshalgorithmkey.rb +16 -0
  226. data/lib/facts/sles/sshfp_algorithm.rb +19 -0
  227. data/lib/facts/sles/system_uptime/days.rb +18 -0
  228. data/lib/facts/sles/system_uptime/hours.rb +18 -0
  229. data/lib/facts/sles/system_uptime/seconds.rb +18 -0
  230. data/lib/facts/sles/system_uptime/uptime.rb +18 -0
  231. data/lib/facts/solaris/augeas/version.rb +19 -0
  232. data/lib/facts/solaris/filesystems.rb +14 -0
  233. data/lib/facts/solaris/identity/user.rb +17 -0
  234. data/lib/facts/solaris/os/hardware.rb +3 -1
  235. data/lib/facts/solaris/puppet_version.rb +15 -0
  236. data/lib/facts/solaris/ruby/platform.rb +3 -1
  237. data/lib/facts/solaris/ruby/sitedir.rb +2 -1
  238. data/lib/facts/solaris/solaris_zones/current.rb +3 -1
  239. data/lib/facts/solaris/solaris_zones/zone.rb +39 -6
  240. data/lib/facts/solaris/ssh.rb +26 -0
  241. data/lib/facts/solaris/system_uptime/days.rb +17 -0
  242. data/lib/facts/solaris/system_uptime/hours.rb +17 -0
  243. data/lib/facts/{debian/system_uptime/minutes.rb → solaris/system_uptime/seconds.rb} +4 -4
  244. data/lib/facts/solaris/system_uptime/uptime.rb +17 -0
  245. data/lib/facts/solaris/timezone.rb +14 -0
  246. data/lib/facts/windows/augeas/version.rb +19 -0
  247. data/lib/facts/windows/puppet_version.rb +15 -0
  248. data/lib/facts_utils/bytes_converter.rb +15 -0
  249. data/lib/framework/config/block_list.rb +1 -1
  250. data/lib/framework/config/config_reader.rb +1 -1
  251. data/lib/framework/core/fact/external/external_fact_manager.rb +1 -1
  252. data/lib/framework/core/fact_loaders/external_fact_loader.rb +1 -1
  253. data/lib/framework/core/fact_manager.rb +5 -0
  254. data/lib/framework/logging/logger.rb +10 -1
  255. data/lib/models/fact_collection.rb +15 -1
  256. data/lib/models/resolved_fact.rb +5 -1
  257. data/lib/resolvers/aix/filesystem_resolver.rb +33 -0
  258. data/lib/resolvers/disk_resolver.rb +11 -3
  259. data/lib/resolvers/dmi_resolver.rb +1 -1
  260. data/lib/resolvers/filesystems_resolver.rb +2 -0
  261. data/lib/resolvers/fips_enabled_resolver.rb +2 -1
  262. data/lib/resolvers/hostname_resolver.rb +1 -1
  263. data/lib/resolvers/load_averages_resolver.rb +2 -0
  264. data/lib/resolvers/lsb_release_resolver.rb +23 -5
  265. data/lib/resolvers/macosx/ipaddress_resolver.rb +14 -1
  266. data/lib/resolvers/memory_resolver.rb +2 -0
  267. data/lib/resolvers/mountpoints_resolver.rb +2 -0
  268. data/lib/resolvers/networking_linux_resolver.rb +7 -1
  269. data/lib/resolvers/os_release_resolver.rb +1 -1
  270. data/lib/resolvers/processors_resolver.rb +2 -0
  271. data/lib/resolvers/puppet_version_resolver.rb +27 -0
  272. data/lib/resolvers/selinux_resolver.rb +36 -4
  273. data/lib/resolvers/solaris/filesystems_resolver.rb +32 -0
  274. data/lib/resolvers/solaris/zone_resolver.rb +4 -4
  275. data/lib/resolvers/ssh_resolver.rb +1 -1
  276. metadata +123 -8
  277. data/lib/facts/debian/os/distro.rb +0 -31
  278. data/lib/facts/debian/os/selinux.rb +0 -23
  279. data/lib/facts/el/os/selinux.rb +0 -23
  280. data/lib/facts/sles/os/selinux.rb +0 -23
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Macosx
5
+ class Interfaces
6
+ FACT_NAME = 'interfaces'
7
+
8
+ def call_the_resolver
9
+ fact_value = Facter::Resolvers::Macosx::Ipaddress.resolve(:interfaces)
10
+
11
+ Facter::ResolvedFact.new(FACT_NAME, fact_value, :legacy)
12
+ end
13
+ end
14
+ end
15
+ end
@@ -6,12 +6,13 @@ module Facts
6
6
  module Swap
7
7
  class Available
8
8
  FACT_NAME = 'memory.swap.available'
9
+ ALIASES = 'swapfree'
9
10
 
10
11
  def call_the_resolver
11
12
  fact_value = Facter::Resolvers::Macosx::SwapMemory.resolve(:available_bytes)
12
13
  fact_value = Facter::BytesToHumanReadable.convert(fact_value)
13
14
 
14
- Facter::ResolvedFact.new(FACT_NAME, fact_value)
15
+ [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
15
16
  end
16
17
  end
17
18
  end
@@ -6,10 +6,12 @@ module Facts
6
6
  module Swap
7
7
  class AvailableBytes
8
8
  FACT_NAME = 'memory.swap.available_bytes'
9
+ ALIASES = 'swapfree_mb'
9
10
 
10
11
  def call_the_resolver
11
12
  fact_value = Facter::Resolvers::Macosx::SwapMemory.resolve(:available_bytes)
12
- Facter::ResolvedFact.new(FACT_NAME, fact_value)
13
+ [Facter::ResolvedFact.new(FACT_NAME, fact_value),
14
+ Facter::ResolvedFact.new(ALIASES, fact_value ? (fact_value / (1024.0 * 1024.0)).round(2) : nil, :legacy)]
13
15
  end
14
16
  end
15
17
  end
@@ -6,10 +6,11 @@ module Facts
6
6
  module Swap
7
7
  class Encrypted
8
8
  FACT_NAME = 'memory.swap.encrypted'
9
+ ALIASES = 'swapencrypted'
9
10
 
10
11
  def call_the_resolver
11
12
  fact_value = Facter::Resolvers::Macosx::SwapMemory.resolve(:encrypted)
12
- Facter::ResolvedFact.new(FACT_NAME, fact_value)
13
+ [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
13
14
  end
14
15
  end
15
16
  end
@@ -6,12 +6,13 @@ module Facts
6
6
  module Swap
7
7
  class Total
8
8
  FACT_NAME = 'memory.swap.total'
9
+ ALIASES = 'swapsize'
9
10
 
10
11
  def call_the_resolver
11
12
  fact_value = Facter::Resolvers::Macosx::SwapMemory.resolve(:total_bytes)
12
13
  fact_value = Facter::BytesToHumanReadable.convert(fact_value)
13
14
 
14
- Facter::ResolvedFact.new(FACT_NAME, fact_value)
15
+ [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
15
16
  end
16
17
  end
17
18
  end
@@ -6,10 +6,12 @@ module Facts
6
6
  module Swap
7
7
  class TotalBytes
8
8
  FACT_NAME = 'memory.swap.total_bytes'
9
+ ALIASES = 'swapsize_mb'
9
10
 
10
11
  def call_the_resolver
11
12
  fact_value = Facter::Resolvers::Macosx::SwapMemory.resolve(:total_bytes)
12
- Facter::ResolvedFact.new(FACT_NAME, fact_value)
13
+ [Facter::ResolvedFact.new(FACT_NAME, fact_value),
14
+ Facter::ResolvedFact.new(ALIASES, fact_value ? (fact_value / (1024.0 * 1024.0)).round(2) : nil, :legacy)]
13
15
  end
14
16
  end
15
17
  end
@@ -6,12 +6,13 @@ module Facts
6
6
  module System
7
7
  class Available
8
8
  FACT_NAME = 'memory.system.available'
9
+ ALIASES = 'memoryfree'
9
10
 
10
11
  def call_the_resolver
11
12
  fact_value = Facter::Resolvers::Macosx::SystemMemory.resolve(:available_bytes)
12
13
  fact_value = Facter::BytesToHumanReadable.convert(fact_value)
13
14
 
14
- Facter::ResolvedFact.new(FACT_NAME, fact_value)
15
+ [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
15
16
  end
16
17
  end
17
18
  end
@@ -6,10 +6,12 @@ module Facts
6
6
  module System
7
7
  class AvailableBytes
8
8
  FACT_NAME = 'memory.system.available_bytes'
9
+ ALIASES = 'memoryfree_mb'
9
10
 
10
11
  def call_the_resolver
11
12
  fact_value = Facter::Resolvers::Macosx::SystemMemory.resolve(:available_bytes)
12
- Facter::ResolvedFact.new(FACT_NAME, fact_value)
13
+ [Facter::ResolvedFact.new(FACT_NAME, fact_value),
14
+ Facter::ResolvedFact.new(ALIASES, fact_value ? (fact_value / (1024.0 * 1024.0)).round(2) : nil, :legacy)]
13
15
  end
14
16
  end
15
17
  end
@@ -6,12 +6,13 @@ module Facts
6
6
  module System
7
7
  class Total
8
8
  FACT_NAME = 'memory.system.total'
9
+ ALIASES = 'memorysize'
9
10
 
10
11
  def call_the_resolver
11
12
  fact_value = Facter::Resolvers::Macosx::SystemMemory.resolve(:total_bytes)
12
13
  fact_value = Facter::BytesToHumanReadable.convert(fact_value)
13
14
 
14
- Facter::ResolvedFact.new(FACT_NAME, fact_value)
15
+ [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
15
16
  end
16
17
  end
17
18
  end
@@ -6,10 +6,12 @@ module Facts
6
6
  module System
7
7
  class TotalBytes
8
8
  FACT_NAME = 'memory.system.total_bytes'
9
+ ALIASES = 'memorysize_mb'
9
10
 
10
11
  def call_the_resolver
11
12
  fact_value = Facter::Resolvers::Macosx::SystemMemory.resolve(:total_bytes)
12
- Facter::ResolvedFact.new(FACT_NAME, fact_value)
13
+ [Facter::ResolvedFact.new(FACT_NAME, fact_value),
14
+ Facter::ResolvedFact.new(ALIASES, fact_value ? (fact_value / (1024.0 * 1024.0)).round(2) : nil, :legacy)]
13
15
  end
14
16
  end
15
17
  end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Macosx
5
+ module Networking
6
+ class Mac
7
+ FACT_NAME = 'networking.mac'
8
+ ALIASES = 'macaddress'
9
+
10
+ def call_the_resolver
11
+ fact_value = Facter::Resolvers::Macosx::Ipaddress.resolve(:macaddress)
12
+
13
+ [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -5,10 +5,11 @@ module Facts
5
5
  module Os
6
6
  class Hardware
7
7
  FACT_NAME = 'os.hardware'
8
+ ALIASES = 'hardwaremodel'
8
9
 
9
10
  def call_the_resolver
10
11
  fact_value = Facter::Resolvers::Uname.resolve(:machine)
11
- Facter::ResolvedFact.new(FACT_NAME, fact_value)
12
+ [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
12
13
  end
13
14
  end
14
15
  end
@@ -6,11 +6,11 @@ module Facts
6
6
  module Macosx
7
7
  class Build
8
8
  FACT_NAME = 'os.macosx.build'
9
+ ALIASES = 'macosx_buildversion'
9
10
 
10
11
  def call_the_resolver
11
12
  fact_value = Facter::Resolvers::SwVers.resolve(:buildversion)
12
-
13
- Facter::ResolvedFact.new(FACT_NAME, fact_value)
13
+ [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
14
14
  end
15
15
  end
16
16
  end
@@ -6,11 +6,11 @@ module Facts
6
6
  module Macosx
7
7
  class Product
8
8
  FACT_NAME = 'os.macosx.product'
9
+ ALIASES = 'macosx_productname'
9
10
 
10
11
  def call_the_resolver
11
12
  fact_value = Facter::Resolvers::SwVers.resolve(:productname)
12
-
13
- Facter::ResolvedFact.new(FACT_NAME, fact_value)
13
+ [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
14
14
  end
15
15
  end
16
16
  end
@@ -6,13 +6,17 @@ module Facts
6
6
  module Macosx
7
7
  class Version
8
8
  FACT_NAME = 'os.macosx.version'
9
+ ALIASES = %w[macosx_productversion macosx_productversion_major macosx_productversion_minor].freeze
9
10
 
10
11
  def call_the_resolver
11
12
  fact_value = Facter::Resolvers::SwVers.resolve(:productversion)
12
13
  versions = fact_value.split('.')
13
14
  ver = { 'full' => fact_value, 'major' => "#{versions[0]}.#{versions[1]}", 'minor' => versions[-1] }
14
15
 
15
- Facter::ResolvedFact.new(FACT_NAME, ver)
16
+ [Facter::ResolvedFact.new(FACT_NAME, ver),
17
+ Facter::ResolvedFact.new(ALIASES[0], fact_value, :legacy),
18
+ Facter::ResolvedFact.new(ALIASES[1], ver['major'], :legacy),
19
+ Facter::ResolvedFact.new(ALIASES[2], ver['minor'], :legacy)]
16
20
  end
17
21
  end
18
22
  end
@@ -5,14 +5,20 @@ module Facts
5
5
  module Os
6
6
  class Release
7
7
  FACT_NAME = 'os.release'
8
+ ALIASES = %w[operatingsystemmajrelease operatingsystemrelease].freeze
8
9
 
9
10
  def call_the_resolver
10
11
  fact_value = Facter::Resolvers::Uname.resolve(:kernelrelease)
11
- release_strings = fact_value.split('.')
12
- Facter::ResolvedFact.new(FACT_NAME,
13
- full: fact_value,
14
- major: release_strings[0],
15
- minor: release_strings[1])
12
+ versions = fact_value.split('.')
13
+ release = {
14
+ 'full' => fact_value,
15
+ 'major' => versions[0],
16
+ 'minor' => versions[1]
17
+ }
18
+
19
+ [Facter::ResolvedFact.new(FACT_NAME, release),
20
+ Facter::ResolvedFact.new(ALIASES.first, versions[0], :legacy),
21
+ Facter::ResolvedFact.new(ALIASES.last, fact_value, :legacy)]
16
22
  end
17
23
  end
18
24
  end
@@ -5,10 +5,11 @@ module Facts
5
5
  module Processors
6
6
  class Count
7
7
  FACT_NAME = 'processors.count'
8
+ ALIASES = 'processorcount'
8
9
 
9
10
  def call_the_resolver
10
11
  fact_value = Facter::Resolvers::Macosx::Processors.resolve(:logicalcount)
11
- Facter::ResolvedFact.new(FACT_NAME, fact_value)
12
+ [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
12
13
  end
13
14
  end
14
15
  end
@@ -5,10 +5,11 @@ module Facts
5
5
  module Processors
6
6
  class Isa
7
7
  FACT_NAME = 'processors.isa'
8
+ ALIASES = 'hardwareisa'
8
9
 
9
10
  def call_the_resolver
10
11
  fact_value = Facter::Resolvers::Uname.resolve(:processor)
11
- Facter::ResolvedFact.new(FACT_NAME, fact_value)
12
+ [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
12
13
  end
13
14
  end
14
15
  end
@@ -5,10 +5,15 @@ module Facts
5
5
  module Processors
6
6
  class Models
7
7
  FACT_NAME = 'processors.models'
8
+ ALIASES = 'processor.*'
8
9
 
9
10
  def call_the_resolver
10
11
  fact_value = Facter::Resolvers::Macosx::Processors.resolve(:models)
11
- Facter::ResolvedFact.new(FACT_NAME, fact_value)
12
+ facts = [Facter::ResolvedFact.new(FACT_NAME, fact_value)]
13
+ fact_value.each_with_index do |value, index|
14
+ facts.push(Facter::ResolvedFact.new("processor#{index}", value, :legacy))
15
+ end
16
+ facts
12
17
  end
13
18
  end
14
19
  end
@@ -5,10 +5,11 @@ module Facts
5
5
  module Processors
6
6
  class Physicalcount
7
7
  FACT_NAME = 'processors.physicalcount'
8
+ ALIASES = 'physicalprocessorcount'
8
9
 
9
10
  def call_the_resolver
10
11
  fact_value = Facter::Resolvers::Macosx::Processors.resolve(:physicalcount)
11
- Facter::ResolvedFact.new(FACT_NAME, fact_value)
12
+ [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
12
13
  end
13
14
  end
14
15
  end
@@ -2,11 +2,12 @@
2
2
 
3
3
  module Facts
4
4
  module Macosx
5
- class Augeas
6
- FACT_NAME = 'augeas.version'
5
+ class PuppetVersion
6
+ FACT_NAME = 'puppetversion'
7
7
 
8
8
  def call_the_resolver
9
- fact_value = Facter::Resolvers::Augeas.resolve(:augeas_version)
9
+ fact_value = Facter::Resolvers::PuppetVersionResolver.resolve(:puppetversion)
10
+
10
11
  Facter::ResolvedFact.new(FACT_NAME, fact_value)
11
12
  end
12
13
  end
@@ -5,11 +5,11 @@ module Facts
5
5
  module Ruby
6
6
  class Platform
7
7
  FACT_NAME = 'ruby.platform'
8
+ ALIASES = 'rubyplatform'
8
9
 
9
10
  def call_the_resolver
10
11
  fact_value = Facter::Resolvers::Ruby.resolve(:platform)
11
-
12
- Facter::ResolvedFact.new(FACT_NAME, fact_value)
12
+ [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
13
13
  end
14
14
  end
15
15
  end
@@ -5,11 +5,11 @@ module Facts
5
5
  module Ruby
6
6
  class Sitedir
7
7
  FACT_NAME = 'ruby.sitedir'
8
+ ALIASES = 'rubysitedir'
8
9
 
9
10
  def call_the_resolver
10
11
  fact_value = Facter::Resolvers::Ruby.resolve(:sitedir)
11
-
12
- Facter::ResolvedFact.new(FACT_NAME, fact_value)
12
+ [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
13
13
  end
14
14
  end
15
15
  end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Macosx
5
+ class Ssh
6
+ FACT_NAME = 'ssh'
7
+
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)
13
+ end
14
+
15
+ private
16
+
17
+ 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
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Macosx
5
+ class Sshalgorithmkey
6
+ FACT_NAME = 'ssh.*key'
7
+
8
+ def call_the_resolver
9
+ facts = []
10
+ result = Facter::Resolvers::SshResolver.resolve(:ssh)
11
+ result.each { |ssh| facts << Facter::ResolvedFact.new("ssh#{ssh.name.to_sym}key", ssh.key, :legacy) }
12
+ facts
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Macosx
5
+ class SshfpAlgorithm
6
+ FACT_NAME = 'sshfp_.*'
7
+
8
+ def call_the_resolver
9
+ facts = []
10
+ result = Facter::Resolvers::SshResolver.resolve(:ssh)
11
+ result.each do |ssh|
12
+ facts << Facter::ResolvedFact.new("sshfp_#{ssh.name.to_sym}",
13
+ "#{ssh.fingerprint.sha1} \n #{ssh.fingerprint.sha256}", :legacy)
14
+ end
15
+ facts
16
+ end
17
+ end
18
+ end
19
+ end
@@ -5,10 +5,11 @@ module Facts
5
5
  module SystemProfiler
6
6
  class BootMode
7
7
  FACT_NAME = 'system_profiler.boot_mode'
8
+ ALIASES = 'sp_boot_mode'
8
9
 
9
10
  def call_the_resolver
10
11
  fact_value = Facter::Resolvers::SystemProfiler.resolve(:boot_mode)
11
- Facter::ResolvedFact.new(FACT_NAME, fact_value)
12
+ [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
12
13
  end
13
14
  end
14
15
  end