facter 4.0.9.pre → 4.0.10.pre

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