facter 2.5.7 → 3.9.6.cfacter.20180606

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1531) hide show
  1. checksums.yaml +5 -5
  2. data/ext/facter/Makefile.erb +31 -0
  3. data/ext/facter/cpp-hocon/CMakeLists.txt +67 -0
  4. data/ext/facter/cpp-hocon/CONTRIBUTING.md +9 -0
  5. data/ext/facter/cpp-hocon/LICENSE +17 -0
  6. data/ext/facter/cpp-hocon/MAINTAINERS +33 -0
  7. data/ext/facter/cpp-hocon/README.md +74 -0
  8. data/ext/facter/cpp-hocon/acceptance/Gemfile +18 -0
  9. data/ext/facter/cpp-hocon/acceptance/Rakefile +7 -0
  10. data/ext/{debian/lintian-overrides → facter/cpp-hocon/acceptance/tests/fake.rb} +0 -0
  11. data/ext/facter/cpp-hocon/appveyor.yml +41 -0
  12. data/ext/facter/cpp-hocon/lib/CMakeLists.txt +94 -0
  13. data/ext/facter/cpp-hocon/lib/Doxyfile.in +2312 -0
  14. data/ext/facter/cpp-hocon/lib/inc/hocon/config.hpp +734 -0
  15. data/ext/facter/cpp-hocon/lib/inc/hocon/config_exception.hpp +184 -0
  16. data/ext/facter/cpp-hocon/lib/inc/hocon/config_include_context.hpp +51 -0
  17. data/ext/facter/cpp-hocon/lib/inc/hocon/config_includer.hpp +53 -0
  18. data/ext/facter/cpp-hocon/lib/inc/hocon/config_includer_file.hpp +30 -0
  19. data/ext/facter/cpp-hocon/lib/inc/hocon/config_list.hpp +51 -0
  20. data/ext/facter/cpp-hocon/lib/inc/hocon/config_mergeable.hpp +72 -0
  21. data/ext/facter/cpp-hocon/lib/inc/hocon/config_object.hpp +81 -0
  22. data/ext/facter/cpp-hocon/lib/inc/hocon/config_origin.hpp +98 -0
  23. data/ext/facter/cpp-hocon/lib/inc/hocon/config_parse_options.hpp +139 -0
  24. data/ext/facter/cpp-hocon/lib/inc/hocon/config_parseable.hpp +47 -0
  25. data/ext/facter/cpp-hocon/lib/inc/hocon/config_render_options.hpp +128 -0
  26. data/ext/facter/cpp-hocon/lib/inc/hocon/config_resolve_options.hpp +83 -0
  27. data/ext/facter/cpp-hocon/lib/inc/hocon/config_syntax.hpp +24 -0
  28. data/ext/facter/cpp-hocon/lib/inc/hocon/config_value.hpp +267 -0
  29. data/ext/facter/cpp-hocon/lib/inc/hocon/config_value_factory.hpp +48 -0
  30. data/ext/facter/cpp-hocon/lib/inc/hocon/functional_list.hpp +318 -0
  31. data/ext/facter/cpp-hocon/lib/inc/hocon/parser/config_document.hpp +95 -0
  32. data/ext/facter/cpp-hocon/lib/inc/hocon/parser/config_document_factory.hpp +39 -0
  33. data/ext/facter/cpp-hocon/lib/inc/hocon/parser/config_node.hpp +32 -0
  34. data/ext/facter/cpp-hocon/lib/inc/hocon/path.hpp +60 -0
  35. data/ext/facter/cpp-hocon/lib/inc/hocon/program_options.hpp +84 -0
  36. data/ext/facter/cpp-hocon/lib/inc/hocon/types.hpp +57 -0
  37. data/ext/facter/cpp-hocon/lib/inc/internal/config_document_parser.hpp +83 -0
  38. data/ext/facter/cpp-hocon/lib/inc/internal/config_parser.hpp +55 -0
  39. data/ext/facter/cpp-hocon/lib/inc/internal/config_util.hpp +17 -0
  40. data/ext/facter/cpp-hocon/lib/inc/internal/container.hpp +28 -0
  41. data/ext/facter/cpp-hocon/lib/inc/internal/default_transformer.hpp +12 -0
  42. data/ext/facter/cpp-hocon/lib/inc/internal/full_includer.hpp +13 -0
  43. data/ext/facter/cpp-hocon/lib/inc/internal/nodes/abstract_config_node.hpp +16 -0
  44. data/ext/facter/cpp-hocon/lib/inc/internal/nodes/abstract_config_node_value.hpp +12 -0
  45. data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_array.hpp +17 -0
  46. data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_comment.hpp +14 -0
  47. data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_complex_value.hpp +25 -0
  48. data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_concatenation.hpp +16 -0
  49. data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_field.hpp +29 -0
  50. data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_include.hpp +26 -0
  51. data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_object.hpp +45 -0
  52. data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_path.hpp +25 -0
  53. data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_root.hpp +24 -0
  54. data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_simple_value.hpp +21 -0
  55. data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_single_token.hpp +20 -0
  56. data/ext/facter/cpp-hocon/lib/inc/internal/parseable.hpp +128 -0
  57. data/ext/facter/cpp-hocon/lib/inc/internal/path_builder.hpp +20 -0
  58. data/ext/facter/cpp-hocon/lib/inc/internal/path_parser.hpp +55 -0
  59. data/ext/facter/cpp-hocon/lib/inc/internal/replaceable_merge_stack.hpp +14 -0
  60. data/ext/facter/cpp-hocon/lib/inc/internal/resolve_context.hpp +53 -0
  61. data/ext/facter/cpp-hocon/lib/inc/internal/resolve_result.hpp +21 -0
  62. data/ext/facter/cpp-hocon/lib/inc/internal/resolve_source.hpp +55 -0
  63. data/ext/facter/cpp-hocon/lib/inc/internal/simple_config_document.hpp +28 -0
  64. data/ext/facter/cpp-hocon/lib/inc/internal/simple_config_origin.hpp +67 -0
  65. data/ext/facter/cpp-hocon/lib/inc/internal/simple_include_context.hpp +22 -0
  66. data/ext/facter/cpp-hocon/lib/inc/internal/simple_includer.hpp +79 -0
  67. data/ext/facter/cpp-hocon/lib/inc/internal/substitution_expression.hpp +28 -0
  68. data/ext/facter/cpp-hocon/lib/inc/internal/token.hpp +45 -0
  69. data/ext/facter/cpp-hocon/lib/inc/internal/tokenizer.hpp +143 -0
  70. data/ext/facter/cpp-hocon/lib/inc/internal/tokens.hpp +135 -0
  71. data/ext/facter/cpp-hocon/lib/inc/internal/unmergeable.hpp +20 -0
  72. data/ext/facter/cpp-hocon/lib/inc/internal/values/config_boolean.hpp +26 -0
  73. data/ext/facter/cpp-hocon/lib/inc/internal/values/config_concatenation.hpp +59 -0
  74. data/ext/facter/cpp-hocon/lib/inc/internal/values/config_delayed_merge.hpp +53 -0
  75. data/ext/facter/cpp-hocon/lib/inc/internal/values/config_delayed_merge_object.hpp +57 -0
  76. data/ext/facter/cpp-hocon/lib/inc/internal/values/config_double.hpp +28 -0
  77. data/ext/facter/cpp-hocon/lib/inc/internal/values/config_int.hpp +25 -0
  78. data/ext/facter/cpp-hocon/lib/inc/internal/values/config_long.hpp +28 -0
  79. data/ext/facter/cpp-hocon/lib/inc/internal/values/config_null.hpp +33 -0
  80. data/ext/facter/cpp-hocon/lib/inc/internal/values/config_number.hpp +38 -0
  81. data/ext/facter/cpp-hocon/lib/inc/internal/values/config_reference.hpp +38 -0
  82. data/ext/facter/cpp-hocon/lib/inc/internal/values/config_string.hpp +32 -0
  83. data/ext/facter/cpp-hocon/lib/inc/internal/values/simple_config_list.hpp +75 -0
  84. data/ext/facter/cpp-hocon/lib/inc/internal/values/simple_config_object.hpp +107 -0
  85. data/ext/facter/cpp-hocon/lib/namespaces.dox.in +6 -0
  86. data/ext/facter/cpp-hocon/lib/src/config.cc +573 -0
  87. data/ext/facter/cpp-hocon/lib/src/config_document_factory.cc +24 -0
  88. data/ext/facter/cpp-hocon/lib/src/config_document_parser.cc +620 -0
  89. data/ext/facter/cpp-hocon/lib/src/config_parse_options.cc +101 -0
  90. data/ext/facter/cpp-hocon/lib/src/config_parser.cc +399 -0
  91. data/ext/facter/cpp-hocon/lib/src/config_render_options.cc +44 -0
  92. data/ext/facter/cpp-hocon/lib/src/config_resolve_options.cc +24 -0
  93. data/ext/facter/cpp-hocon/lib/src/config_util.cc +95 -0
  94. data/ext/facter/cpp-hocon/lib/src/config_value_factory.cc +68 -0
  95. data/ext/facter/cpp-hocon/lib/src/default_transformer.cc +94 -0
  96. data/ext/facter/cpp-hocon/lib/src/nodes/abstract_config_node.cc +19 -0
  97. data/ext/facter/cpp-hocon/lib/src/nodes/config_node_array.cc +13 -0
  98. data/ext/facter/cpp-hocon/lib/src/nodes/config_node_comment.cc +15 -0
  99. data/ext/facter/cpp-hocon/lib/src/nodes/config_node_complex_value.cc +50 -0
  100. data/ext/facter/cpp-hocon/lib/src/nodes/config_node_concatenation.cc +14 -0
  101. data/ext/facter/cpp-hocon/lib/src/nodes/config_node_field.cc +80 -0
  102. data/ext/facter/cpp-hocon/lib/src/nodes/config_node_include.cc +38 -0
  103. data/ext/facter/cpp-hocon/lib/src/nodes/config_node_object.cc +318 -0
  104. data/ext/facter/cpp-hocon/lib/src/nodes/config_node_path.cc +47 -0
  105. data/ext/facter/cpp-hocon/lib/src/nodes/config_node_root.cc +70 -0
  106. data/ext/facter/cpp-hocon/lib/src/nodes/config_node_simple_value.cc +50 -0
  107. data/ext/facter/cpp-hocon/lib/src/nodes/config_node_single_token.cc +18 -0
  108. data/ext/facter/cpp-hocon/lib/src/parseable.cc +325 -0
  109. data/ext/facter/cpp-hocon/lib/src/path.cc +219 -0
  110. data/ext/facter/cpp-hocon/lib/src/path_builder.cc +38 -0
  111. data/ext/facter/cpp-hocon/lib/src/path_parser.cc +253 -0
  112. data/ext/facter/cpp-hocon/lib/src/resolve_context.cc +139 -0
  113. data/ext/facter/cpp-hocon/lib/src/resolve_source.cc +216 -0
  114. data/ext/facter/cpp-hocon/lib/src/simple_config_document.cc +69 -0
  115. data/ext/facter/cpp-hocon/lib/src/simple_config_origin.cc +246 -0
  116. data/ext/facter/cpp-hocon/lib/src/simple_include_context.cc +18 -0
  117. data/ext/facter/cpp-hocon/lib/src/simple_includer.cc +186 -0
  118. data/ext/facter/cpp-hocon/lib/src/substitution_expression.cc +35 -0
  119. data/ext/facter/cpp-hocon/lib/src/token.cc +52 -0
  120. data/ext/facter/cpp-hocon/lib/src/tokenizer.cc +568 -0
  121. data/ext/facter/cpp-hocon/lib/src/tokens.cc +257 -0
  122. data/ext/facter/cpp-hocon/lib/src/values/config_boolean.cc +34 -0
  123. data/ext/facter/cpp-hocon/lib/src/values/config_concatenation.cc +260 -0
  124. data/ext/facter/cpp-hocon/lib/src/values/config_delayed_merge.cc +223 -0
  125. data/ext/facter/cpp-hocon/lib/src/values/config_delayed_merge_object.cc +180 -0
  126. data/ext/facter/cpp-hocon/lib/src/values/config_double.cc +35 -0
  127. data/ext/facter/cpp-hocon/lib/src/values/config_int.cc +35 -0
  128. data/ext/facter/cpp-hocon/lib/src/values/config_long.cc +35 -0
  129. data/ext/facter/cpp-hocon/lib/src/values/config_null.cc +35 -0
  130. data/ext/facter/cpp-hocon/lib/src/values/config_number.cc +78 -0
  131. data/ext/facter/cpp-hocon/lib/src/values/config_object.cc +97 -0
  132. data/ext/facter/cpp-hocon/lib/src/values/config_reference.cc +85 -0
  133. data/ext/facter/cpp-hocon/lib/src/values/config_string.cc +47 -0
  134. data/ext/facter/cpp-hocon/lib/src/values/config_value.cc +289 -0
  135. data/ext/facter/cpp-hocon/lib/src/values/simple_config_list.cc +219 -0
  136. data/ext/facter/cpp-hocon/lib/src/values/simple_config_object.cc +515 -0
  137. data/ext/facter/cpp-hocon/lib/tests/CMakeLists.txt +42 -0
  138. data/ext/facter/cpp-hocon/lib/tests/concatenation_test.cc +401 -0
  139. data/ext/facter/cpp-hocon/lib/tests/conf_parser_test.cc +715 -0
  140. data/ext/facter/cpp-hocon/lib/tests/config_document_parser_test.cc +208 -0
  141. data/ext/facter/cpp-hocon/lib/tests/config_document_tests.cc +110 -0
  142. data/ext/facter/cpp-hocon/lib/tests/config_node_test.cc +338 -0
  143. data/ext/facter/cpp-hocon/lib/tests/config_substitution_test.cc +897 -0
  144. data/ext/facter/cpp-hocon/lib/tests/config_test.cc +151 -0
  145. data/ext/facter/cpp-hocon/lib/tests/config_value_factory_test.cc +60 -0
  146. data/ext/facter/cpp-hocon/lib/tests/config_value_test.cc +111 -0
  147. data/ext/facter/cpp-hocon/lib/tests/fixtures.hpp.in +3 -0
  148. data/ext/facter/cpp-hocon/lib/tests/fixtures/test01.conf +91 -0
  149. data/ext/facter/cpp-hocon/lib/tests/fixtures/test01.json +4 -0
  150. data/ext/facter/cpp-hocon/lib/tests/main.cc +8 -0
  151. data/ext/facter/cpp-hocon/lib/tests/path_test.cc +129 -0
  152. data/ext/facter/cpp-hocon/lib/tests/program_options.cc +63 -0
  153. data/ext/facter/cpp-hocon/lib/tests/test.conf +1 -0
  154. data/ext/facter/cpp-hocon/lib/tests/test_utils.cc +452 -0
  155. data/ext/facter/cpp-hocon/lib/tests/test_utils.hpp +139 -0
  156. data/ext/facter/cpp-hocon/lib/tests/token_test.cc +108 -0
  157. data/ext/facter/cpp-hocon/lib/tests/tokenizer_test.cc +694 -0
  158. data/ext/facter/cpp-hocon/lib/version.h.in +28 -0
  159. data/ext/facter/cpp-hocon/locales/CMakeLists.txt +4 -0
  160. data/ext/facter/cpp-hocon/locales/cpp-hocon.pot +767 -0
  161. data/ext/facter/extconf.rb +22 -0
  162. data/ext/facter/facter/CMakeLists.txt +183 -0
  163. data/ext/facter/facter/CONTRIBUTING.md +99 -0
  164. data/ext/facter/facter/Extensibility.md +133 -0
  165. data/ext/facter/facter/LICENSE +17 -0
  166. data/ext/facter/facter/MAINTAINERS +28 -0
  167. data/ext/facter/facter/README.md +295 -0
  168. data/ext/facter/facter/Rakefile +42 -0
  169. data/ext/facter/facter/acceptance/Gemfile +22 -0
  170. data/ext/facter/facter/acceptance/Rakefile +2 -0
  171. data/ext/facter/facter/acceptance/bin/ci-bootstrap-from-artifacts.sh +55 -0
  172. data/ext/facter/facter/acceptance/config/aio/options.rb +3 -0
  173. data/ext/facter/facter/acceptance/config/git/options.rb +3 -0
  174. data/ext/facter/facter/acceptance/config/nodes/aix-53-power.yaml +7 -0
  175. data/ext/facter/facter/acceptance/config/nodes/aix-61-power.yaml +7 -0
  176. data/ext/facter/facter/acceptance/config/nodes/aix-71-power.yaml +7 -0
  177. data/ext/facter/facter/acceptance/config/nodes/huaweios-6-powerpc.yaml +7 -0
  178. data/ext/facter/facter/acceptance/config/nodes/solaris-10-sparc.yaml +9 -0
  179. data/ext/facter/facter/acceptance/config/nodes/solaris-11-sparc.yaml +9 -0
  180. data/ext/facter/facter/acceptance/lib/facter/acceptance/base_fact_utils.rb +563 -0
  181. data/ext/facter/facter/acceptance/lib/facter/acceptance/user_fact_utils.rb +132 -0
  182. data/ext/facter/facter/acceptance/lib/helper.rb +1 -0
  183. data/ext/facter/facter/acceptance/lib/puppet/acceptance/common_utils.rb +10 -0
  184. data/ext/facter/facter/acceptance/lib/puppet/acceptance/git_utils.rb +19 -0
  185. data/ext/facter/facter/acceptance/lib/puppet/acceptance/install_utils.rb +58 -0
  186. data/ext/facter/facter/acceptance/tests/custom_facts/custom_fact_with_10001_weight_overrides_external_fact.rb +30 -0
  187. data/ext/facter/facter/acceptance/tests/custom_facts/having_multiple_facts_in_one_file.rb +40 -0
  188. data/ext/facter/facter/acceptance/tests/custom_facts/using_win32ole_should_not_hang.rb +33 -0
  189. data/ext/facter/facter/acceptance/tests/external_facts/env_var_overrides_external_fact.rb +46 -0
  190. data/ext/facter/facter/acceptance/tests/external_facts/external_dir_overrides_default_external_fact.rb +34 -0
  191. data/ext/facter/facter/acceptance/tests/external_facts/external_fact_overrides_custom_fact.rb +29 -0
  192. data/ext/facter/facter/acceptance/tests/external_facts/external_fact_overrides_custom_fact_with_10000_weight_or_less.rb +30 -0
  193. data/ext/facter/facter/acceptance/tests/external_facts/external_fact_overrides_custom_fact_with_confine.rb +35 -0
  194. data/ext/facter/facter/acceptance/tests/external_facts/external_fact_stderr_messages_output_to_stderr.rb +49 -0
  195. data/ext/facter/facter/acceptance/tests/external_facts/external_facts_only_run_once.rb +43 -0
  196. data/ext/facter/facter/acceptance/tests/external_facts/fact_directory_precedence.rb +109 -0
  197. data/ext/facter/facter/acceptance/tests/external_facts/non_root_users_default_external_fact_directory.rb +142 -0
  198. data/ext/facter/facter/acceptance/tests/external_facts/root_uses_default_external_fact_dir.rb +34 -0
  199. data/ext/facter/facter/acceptance/tests/external_facts/structured_executable_facts.rb +139 -0
  200. data/ext/facter/facter/acceptance/tests/facter_returns_success_on_non_existent_fact.rb +9 -0
  201. data/ext/facter/facter/acceptance/tests/facts/dmi.rb +51 -0
  202. data/ext/facter/facter/acceptance/tests/facts/facterversion.rb +11 -0
  203. data/ext/facter/facter/acceptance/tests/facts/identity.rb +52 -0
  204. data/ext/facter/facter/acceptance/tests/facts/networking_facts.rb +76 -0
  205. data/ext/facter/facter/acceptance/tests/facts/non_root_users_without_errors.rb +32 -0
  206. data/ext/facter/facter/acceptance/tests/facts/operatingsystem_detection_after_clear_on_ubuntu.rb +26 -0
  207. data/ext/facter/facter/acceptance/tests/facts/os_processors_and_kernel.rb +20 -0
  208. data/ext/facter/facter/acceptance/tests/facts/partitions.rb +37 -0
  209. data/ext/facter/facter/acceptance/tests/facts/productname.rb +15 -0
  210. data/ext/facter/facter/acceptance/tests/facts/ruby.rb +59 -0
  211. data/ext/facter/facter/acceptance/tests/facts/validate_file_system_size_bytes.rb +37 -0
  212. data/ext/facter/facter/acceptance/tests/facts/verify_tmpfs_file_system.rb +54 -0
  213. data/ext/facter/facter/acceptance/tests/load_libfacter.rb +66 -0
  214. data/ext/facter/facter/acceptance/tests/no_errors_on_stderr.rb +10 -0
  215. data/ext/facter/facter/acceptance/tests/options/color.rb +16 -0
  216. data/ext/facter/facter/acceptance/tests/options/config.rb +27 -0
  217. data/ext/facter/facter/acceptance/tests/options/config_file/blocklist.rb +35 -0
  218. data/ext/facter/facter/acceptance/tests/options/config_file/blocklist_from_puppet_facts.rb +40 -0
  219. data/ext/facter/facter/acceptance/tests/options/config_file/custom_dir_overridden_by_cli_custom_dir.rb +56 -0
  220. data/ext/facter/facter/acceptance/tests/options/config_file/custom_facts.rb +42 -0
  221. data/ext/facter/facter/acceptance/tests/options/config_file/custom_facts_list.rb +56 -0
  222. data/ext/facter/facter/acceptance/tests/options/config_file/debug.rb +34 -0
  223. data/ext/facter/facter/acceptance/tests/options/config_file/debug_override_config_file.rb +34 -0
  224. data/ext/facter/facter/acceptance/tests/options/config_file/default_file_location.rb +37 -0
  225. data/ext/facter/facter/acceptance/tests/options/config_file/external_dir_conflicts_with_cli_no_external_facts.rb +37 -0
  226. data/ext/facter/facter/acceptance/tests/options/config_file/external_dir_overridden_by_cli_external_dir.rb +40 -0
  227. data/ext/facter/facter/acceptance/tests/options/config_file/external_facts.rb +37 -0
  228. data/ext/facter/facter/acceptance/tests/options/config_file/external_facts_list.rb +43 -0
  229. data/ext/facter/facter/acceptance/tests/options/config_file/load_from_ruby.rb +73 -0
  230. data/ext/facter/facter/acceptance/tests/options/config_file/log_level.rb +35 -0
  231. data/ext/facter/facter/acceptance/tests/options/config_file/no_custom_facts_and_custom_dir.rb +43 -0
  232. data/ext/facter/facter/acceptance/tests/options/config_file/no_custom_facts_and_facterlib.rb +43 -0
  233. data/ext/facter/facter/acceptance/tests/options/config_file/no_custom_facts_and_load_path.rb +49 -0
  234. data/ext/facter/facter/acceptance/tests/options/config_file/no_external_facts.rb +38 -0
  235. data/ext/facter/facter/acceptance/tests/options/config_file/no_external_facts_and_external_dir.rb +34 -0
  236. data/ext/facter/facter/acceptance/tests/options/config_file/no_ruby_disables_custom_facts.rb +52 -0
  237. data/ext/facter/facter/acceptance/tests/options/config_file/no_ruby_disables_ruby_facts.rb +34 -0
  238. data/ext/facter/facter/acceptance/tests/options/config_file/trace.rb +48 -0
  239. data/ext/facter/facter/acceptance/tests/options/config_file/ttls_cached_facts_clear_by_empty_ttls_cache_list.rb +71 -0
  240. data/ext/facter/facter/acceptance/tests/options/config_file/ttls_cached_facts_creates_json_cache_file.rb +48 -0
  241. data/ext/facter/facter/acceptance/tests/options/config_file/ttls_cached_facts_expire_facts_do_not_read_the_old_cached_value.rb +58 -0
  242. data/ext/facter/facter/acceptance/tests/options/config_file/ttls_cached_facts_expire_facts_refresh_the_cached_value.rb +61 -0
  243. data/ext/facter/facter/acceptance/tests/options/config_file/ttls_cached_facts_read_from_the_cached_value.rb +57 -0
  244. data/ext/facter/facter/acceptance/tests/options/config_file/ttls_cached_facts_that_are_corrupt_are_refreshed.rb +53 -0
  245. data/ext/facter/facter/acceptance/tests/options/config_file/ttls_cached_facts_that_are_empty_return_an_empty_value.rb +53 -0
  246. data/ext/facter/facter/acceptance/tests/options/config_file/ttls_puppet_facts_creates_json_for_cached_facts.rb +45 -0
  247. data/ext/facter/facter/acceptance/tests/options/config_file/ttls_puppet_facts_honors_cached_facts.rb +54 -0
  248. data/ext/facter/facter/acceptance/tests/options/config_file/verbose.rb +34 -0
  249. data/ext/facter/facter/acceptance/tests/options/custom_facts.rb +34 -0
  250. data/ext/facter/facter/acceptance/tests/options/custom_facts_facterlib.rb +33 -0
  251. data/ext/facter/facter/acceptance/tests/options/custom_facts_list.rb +48 -0
  252. data/ext/facter/facter/acceptance/tests/options/custom_facts_load_path.rb +42 -0
  253. data/ext/facter/facter/acceptance/tests/options/debug.rb +12 -0
  254. data/ext/facter/facter/acceptance/tests/options/external_facts.rb +28 -0
  255. data/ext/facter/facter/acceptance/tests/options/external_facts_list.rb +35 -0
  256. data/ext/facter/facter/acceptance/tests/options/help.rb +13 -0
  257. data/ext/facter/facter/acceptance/tests/options/json.rb +43 -0
  258. data/ext/facter/facter/acceptance/tests/options/list_block_groups.rb +16 -0
  259. data/ext/facter/facter/acceptance/tests/options/list_cache_groups.rb +16 -0
  260. data/ext/facter/facter/acceptance/tests/options/log_level.rb +13 -0
  261. data/ext/facter/facter/acceptance/tests/options/no_block.rb +34 -0
  262. data/ext/facter/facter/acceptance/tests/options/no_cache_should_not_cache_facts.rb +43 -0
  263. data/ext/facter/facter/acceptance/tests/options/no_cache_should_not_load_cached_facts.rb +58 -0
  264. data/ext/facter/facter/acceptance/tests/options/no_cache_should_not_refresh_cached_facts.rb +63 -0
  265. data/ext/facter/facter/acceptance/tests/options/no_color.rb +16 -0
  266. data/ext/facter/facter/acceptance/tests/options/no_custom_facts.rb +34 -0
  267. data/ext/facter/facter/acceptance/tests/options/no_custom_facts_and_custom_dir.rb +19 -0
  268. data/ext/facter/facter/acceptance/tests/options/no_custom_facts_and_facterlib.rb +34 -0
  269. data/ext/facter/facter/acceptance/tests/options/no_custom_facts_and_load_path.rb +43 -0
  270. data/ext/facter/facter/acceptance/tests/options/no_external_facts.rb +28 -0
  271. data/ext/facter/facter/acceptance/tests/options/no_external_facts_and_external_dir.rb +19 -0
  272. data/ext/facter/facter/acceptance/tests/options/no_ruby.rb +44 -0
  273. data/ext/facter/facter/acceptance/tests/options/puppet_facts.rb +35 -0
  274. data/ext/facter/facter/acceptance/tests/options/show_legacy.rb +18 -0
  275. data/ext/facter/facter/acceptance/tests/options/strict.rb +11 -0
  276. data/ext/facter/facter/acceptance/tests/options/trace.rb +36 -0
  277. data/ext/facter/facter/acceptance/tests/options/verbose.rb +12 -0
  278. data/ext/facter/facter/acceptance/tests/options/version.rb +12 -0
  279. data/ext/facter/facter/acceptance/tests/options/yaml.rb +43 -0
  280. data/ext/facter/facter/acceptance/tests/ticket_1123_facter_with_invalid_locale.rb +22 -0
  281. data/ext/facter/facter/acceptance/tests/ticket_1238_hostname_fqdn.rb +37 -0
  282. data/ext/facter/facter/appveyor.yml +43 -0
  283. data/ext/facter/facter/cmake/FindBLKID.cmake +6 -0
  284. data/ext/facter/facter/cmake/FindCPPHOCON.cmake +6 -0
  285. data/ext/facter/facter/cmake/FindDependency.cmake +54 -0
  286. data/ext/facter/facter/cmake/FindOPENSSL.cmake +10 -0
  287. data/ext/facter/facter/cmake/FindRuby.cmake +286 -0
  288. data/ext/facter/facter/cmake/FindWHEREAMI.cmake +6 -0
  289. data/ext/facter/facter/cmake/FindYAMLCPP.cmake +17 -0
  290. data/ext/facter/facter/contrib/dockerfiles/travis-cpp-builder/Dockerfile +56 -0
  291. data/ext/facter/facter/contrib/dockerfiles/travis-facter-builder/Dockerfile +23 -0
  292. data/ext/facter/facter/contrib/dockerfiles/travis-facter-coverity/Dockerfile +40 -0
  293. data/ext/facter/facter/contrib/dockerfiles/travis-facter-coverity/_coverity-submit.erb +12 -0
  294. data/ext/facter/facter/contrib/dockerfiles/travis-facter-coverity/fix_curl_command.patch +32 -0
  295. data/ext/facter/facter/exe/CMakeLists.txt +39 -0
  296. data/ext/facter/facter/exe/facter.cc +377 -0
  297. data/ext/facter/facter/ext/build_defaults.yaml +16 -0
  298. data/ext/facter/facter/ext/debian/changelog.erb +11 -0
  299. data/ext/{debian → facter/facter/ext/debian}/compat +0 -0
  300. data/ext/facter/facter/ext/debian/control +14 -0
  301. data/ext/facter/facter/ext/debian/copyright +19 -0
  302. data/ext/facter/facter/ext/debian/docs +2 -0
  303. data/ext/facter/facter/ext/debian/facter.install +4 -0
  304. data/ext/facter/facter/ext/debian/lintian-overrides +0 -0
  305. data/ext/facter/facter/ext/debian/rules +39 -0
  306. data/ext/{debian → facter/facter/ext/debian}/source/format +0 -0
  307. data/ext/facter/facter/ext/project_data.yaml +30 -0
  308. data/ext/facter/facter/ext/redhat/facter.spec.erb +113 -0
  309. data/ext/facter/facter/ext/windows/facter.bat +8 -0
  310. data/ext/facter/facter/ext/windows/facter_interactive.bat +6 -0
  311. data/ext/facter/facter/ext/windows/run_facter_interactive.bat +9 -0
  312. data/ext/facter/facter/factergo/example/main.go +17 -0
  313. data/ext/facter/facter/factergo/facter.go +42 -0
  314. data/ext/facter/facter/factergo/facter_test.go +25 -0
  315. data/ext/facter/facter/lib/CMakeLists.txt +408 -0
  316. data/ext/facter/facter/lib/Doxyfile +2313 -0
  317. data/ext/facter/facter/lib/Facter.java.in +110 -0
  318. data/ext/facter/facter/lib/Gemfile +11 -0
  319. data/ext/facter/facter/lib/Rakefile +8 -0
  320. data/ext/facter/facter/lib/docs/generate.rb +25 -0
  321. data/ext/facter/facter/lib/docs/namespaces.dox +129 -0
  322. data/ext/facter/facter/lib/docs/template.erb +43 -0
  323. data/ext/facter/facter/lib/facter.rb.in +45 -0
  324. data/ext/facter/facter/lib/gemspec.in +21 -0
  325. data/ext/facter/facter/lib/inc/facter/cwrapper.hpp +18 -0
  326. data/ext/facter/facter/lib/inc/facter/facts/array_value.hpp +125 -0
  327. data/ext/facter/facter/lib/inc/facter/facts/collection.hpp +339 -0
  328. data/ext/facter/facter/lib/inc/facter/facts/external/resolver.hpp +49 -0
  329. data/ext/facter/facter/lib/inc/facter/facts/fact.hpp +664 -0
  330. data/ext/facter/facter/lib/inc/facter/facts/map_value.hpp +127 -0
  331. data/ext/facter/facter/lib/inc/facter/facts/os.hpp +202 -0
  332. data/ext/facter/facter/lib/inc/facter/facts/os_family.hpp +58 -0
  333. data/ext/facter/facter/lib/inc/facter/facts/resolver.hpp +126 -0
  334. data/ext/facter/facter/lib/inc/facter/facts/scalar_value.hpp +152 -0
  335. data/ext/facter/facter/lib/inc/facter/facts/value.hpp +164 -0
  336. data/ext/facter/facter/lib/inc/facter/facts/vm.hpp +157 -0
  337. data/ext/facter/facter/lib/inc/facter/logging/logging.hpp +192 -0
  338. data/ext/facter/facter/lib/inc/facter/ruby/ruby.hpp +62 -0
  339. data/ext/facter/facter/lib/inc/facter/util/config.hpp +84 -0
  340. data/ext/facter/facter/lib/inc/facter/util/string.hpp +72 -0
  341. data/ext/facter/facter/lib/inc/internal/facts/aix/disk_resolver.hpp +25 -0
  342. data/ext/facter/facter/lib/inc/internal/facts/aix/filesystem_resolver.hpp +41 -0
  343. data/ext/facter/facter/lib/inc/internal/facts/aix/kernel_resolver.hpp +25 -0
  344. data/ext/facter/facter/lib/inc/internal/facts/aix/memory_resolver.hpp +25 -0
  345. data/ext/facter/facter/lib/inc/internal/facts/aix/networking_resolver.hpp +56 -0
  346. data/ext/facter/facter/lib/inc/internal/facts/aix/operating_system_resolver.hpp +24 -0
  347. data/ext/facter/facter/lib/inc/internal/facts/aix/processor_resolver.hpp +25 -0
  348. data/ext/facter/facter/lib/inc/internal/facts/aix/serial_number_resolver.hpp +27 -0
  349. data/ext/facter/facter/lib/inc/internal/facts/bsd/filesystem_resolver.hpp +30 -0
  350. data/ext/facter/facter/lib/inc/internal/facts/bsd/networking_resolver.hpp +59 -0
  351. data/ext/facter/facter/lib/inc/internal/facts/bsd/uptime_resolver.hpp +24 -0
  352. data/ext/facter/facter/lib/inc/internal/facts/cache.hpp +71 -0
  353. data/ext/facter/facter/lib/inc/internal/facts/external/execution_resolver.hpp +31 -0
  354. data/ext/facter/facter/lib/inc/internal/facts/external/json_resolver.hpp +31 -0
  355. data/ext/facter/facter/lib/inc/internal/facts/external/text_resolver.hpp +31 -0
  356. data/ext/facter/facter/lib/inc/internal/facts/external/windows/powershell_resolver.hpp +34 -0
  357. data/ext/facter/facter/lib/inc/internal/facts/external/yaml_resolver.hpp +31 -0
  358. data/ext/facter/facter/lib/inc/internal/facts/freebsd/dmi_resolver.hpp +28 -0
  359. data/ext/facter/facter/lib/inc/internal/facts/freebsd/memory_resolver.hpp +25 -0
  360. data/ext/facter/facter/lib/inc/internal/facts/freebsd/networking_resolver.hpp +49 -0
  361. data/ext/facter/facter/lib/inc/internal/facts/freebsd/operating_system_resolver.hpp +24 -0
  362. data/ext/facter/facter/lib/inc/internal/facts/freebsd/processor_resolver.hpp +25 -0
  363. data/ext/facter/facter/lib/inc/internal/facts/freebsd/virtualization_resolver.hpp +27 -0
  364. data/ext/facter/facter/lib/inc/internal/facts/freebsd/zfs_resolver.hpp +24 -0
  365. data/ext/facter/facter/lib/inc/internal/facts/freebsd/zpool_resolver.hpp +24 -0
  366. data/ext/facter/facter/lib/inc/internal/facts/glib/load_average_resolver.hpp +24 -0
  367. data/ext/facter/facter/lib/inc/internal/facts/linux/disk_resolver.hpp +25 -0
  368. data/ext/facter/facter/lib/inc/internal/facts/linux/dmi_resolver.hpp +37 -0
  369. data/ext/facter/facter/lib/inc/internal/facts/linux/filesystem_resolver.hpp +40 -0
  370. data/ext/facter/facter/lib/inc/internal/facts/linux/kernel_resolver.hpp +25 -0
  371. data/ext/facter/facter/lib/inc/internal/facts/linux/memory_resolver.hpp +25 -0
  372. data/ext/facter/facter/lib/inc/internal/facts/linux/networking_resolver.hpp +85 -0
  373. data/ext/facter/facter/lib/inc/internal/facts/linux/operating_system_resolver.hpp +28 -0
  374. data/ext/facter/facter/lib/inc/internal/facts/linux/os_cisco.hpp +114 -0
  375. data/ext/facter/facter/lib/inc/internal/facts/linux/os_coreos.hpp +56 -0
  376. data/ext/facter/facter/lib/inc/internal/facts/linux/os_cumulus.hpp +56 -0
  377. data/ext/facter/facter/lib/inc/internal/facts/linux/os_linux.hpp +72 -0
  378. data/ext/facter/facter/lib/inc/internal/facts/linux/processor_resolver.hpp +60 -0
  379. data/ext/facter/facter/lib/inc/internal/facts/linux/release_file.hpp +124 -0
  380. data/ext/facter/facter/lib/inc/internal/facts/linux/uptime_resolver.hpp +24 -0
  381. data/ext/facter/facter/lib/inc/internal/facts/linux/virtualization_resolver.hpp +50 -0
  382. data/ext/facter/facter/lib/inc/internal/facts/openbsd/dmi_resolver.hpp +28 -0
  383. data/ext/facter/facter/lib/inc/internal/facts/openbsd/memory_resolver.hpp +25 -0
  384. data/ext/facter/facter/lib/inc/internal/facts/openbsd/networking_resolver.hpp +49 -0
  385. data/ext/facter/facter/lib/inc/internal/facts/openbsd/processor_resolver.hpp +25 -0
  386. data/ext/facter/facter/lib/inc/internal/facts/openbsd/virtualization_resolver.hpp +25 -0
  387. data/ext/facter/facter/lib/inc/internal/facts/osx/dmi_resolver.hpp +25 -0
  388. data/ext/facter/facter/lib/inc/internal/facts/osx/memory_resolver.hpp +25 -0
  389. data/ext/facter/facter/lib/inc/internal/facts/osx/networking_resolver.hpp +67 -0
  390. data/ext/facter/facter/lib/inc/internal/facts/osx/operating_system_resolver.hpp +25 -0
  391. data/ext/facter/facter/lib/inc/internal/facts/osx/processor_resolver.hpp +25 -0
  392. data/ext/facter/facter/lib/inc/internal/facts/osx/system_profiler_resolver.hpp +25 -0
  393. data/ext/facter/facter/lib/inc/internal/facts/osx/virtualization_resolver.hpp +25 -0
  394. data/ext/facter/facter/lib/inc/internal/facts/posix/identity_resolver.hpp +25 -0
  395. data/ext/facter/facter/lib/inc/internal/facts/posix/kernel_resolver.hpp +25 -0
  396. data/ext/facter/facter/lib/inc/internal/facts/posix/networking_resolver.hpp +55 -0
  397. data/ext/facter/facter/lib/inc/internal/facts/posix/operating_system_resolver.hpp +25 -0
  398. data/ext/facter/facter/lib/inc/internal/facts/posix/processor_resolver.hpp +25 -0
  399. data/ext/facter/facter/lib/inc/internal/facts/posix/ssh_resolver.hpp +28 -0
  400. data/ext/facter/facter/lib/inc/internal/facts/posix/timezone_resolver.hpp +24 -0
  401. data/ext/facter/facter/lib/inc/internal/facts/posix/uptime_resolver.hpp +32 -0
  402. data/ext/facter/facter/lib/inc/internal/facts/posix/xen_resolver.hpp +24 -0
  403. data/ext/facter/facter/lib/inc/internal/facts/resolvers/augeas_resolver.hpp +35 -0
  404. data/ext/facter/facter/lib/inc/internal/facts/resolvers/disk_resolver.hpp +81 -0
  405. data/ext/facter/facter/lib/inc/internal/facts/resolvers/dmi_resolver.hpp +115 -0
  406. data/ext/facter/facter/lib/inc/internal/facts/resolvers/ec2_resolver.hpp +30 -0
  407. data/ext/facter/facter/lib/inc/internal/facts/resolvers/filesystem_resolver.hpp +166 -0
  408. data/ext/facter/facter/lib/inc/internal/facts/resolvers/gce_resolver.hpp +28 -0
  409. data/ext/facter/facter/lib/inc/internal/facts/resolvers/hypervisors_resolver.hpp +69 -0
  410. data/ext/facter/facter/lib/inc/internal/facts/resolvers/identity_resolver.hpp +73 -0
  411. data/ext/facter/facter/lib/inc/internal/facts/resolvers/kernel_resolver.hpp +66 -0
  412. data/ext/facter/facter/lib/inc/internal/facts/resolvers/ldom_resolver.hpp +64 -0
  413. data/ext/facter/facter/lib/inc/internal/facts/resolvers/load_average_resolver.hpp +37 -0
  414. data/ext/facter/facter/lib/inc/internal/facts/resolvers/memory_resolver.hpp +99 -0
  415. data/ext/facter/facter/lib/inc/internal/facts/resolvers/networking_resolver.hpp +156 -0
  416. data/ext/facter/facter/lib/inc/internal/facts/resolvers/operating_system_resolver.hpp +235 -0
  417. data/ext/facter/facter/lib/inc/internal/facts/resolvers/path_resolver.hpp +28 -0
  418. data/ext/facter/facter/lib/inc/internal/facts/resolvers/processor_resolver.hpp +80 -0
  419. data/ext/facter/facter/lib/inc/internal/facts/resolvers/ruby_resolver.hpp +56 -0
  420. data/ext/facter/facter/lib/inc/internal/facts/resolvers/ssh_resolver.hpp +99 -0
  421. data/ext/facter/facter/lib/inc/internal/facts/resolvers/system_profiler_resolver.hpp +127 -0
  422. data/ext/facter/facter/lib/inc/internal/facts/resolvers/timezone_resolver.hpp +36 -0
  423. data/ext/facter/facter/lib/inc/internal/facts/resolvers/uptime_resolver.hpp +36 -0
  424. data/ext/facter/facter/lib/inc/internal/facts/resolvers/virtualization_resolver.hpp +95 -0
  425. data/ext/facter/facter/lib/inc/internal/facts/resolvers/xen_resolver.hpp +55 -0
  426. data/ext/facter/facter/lib/inc/internal/facts/resolvers/zfs_resolver.hpp +59 -0
  427. data/ext/facter/facter/lib/inc/internal/facts/resolvers/zone_resolver.hpp +95 -0
  428. data/ext/facter/facter/lib/inc/internal/facts/resolvers/zpool_resolver.hpp +63 -0
  429. data/ext/facter/facter/lib/inc/internal/facts/solaris/disk_resolver.hpp +25 -0
  430. data/ext/facter/facter/lib/inc/internal/facts/solaris/dmi_resolver.hpp +25 -0
  431. data/ext/facter/facter/lib/inc/internal/facts/solaris/filesystem_resolver.hpp +29 -0
  432. data/ext/facter/facter/lib/inc/internal/facts/solaris/kernel_resolver.hpp +25 -0
  433. data/ext/facter/facter/lib/inc/internal/facts/solaris/ldom_resolver.hpp +25 -0
  434. data/ext/facter/facter/lib/inc/internal/facts/solaris/memory_resolver.hpp +25 -0
  435. data/ext/facter/facter/lib/inc/internal/facts/solaris/networking_resolver.hpp +55 -0
  436. data/ext/facter/facter/lib/inc/internal/facts/solaris/operating_system_resolver.hpp +25 -0
  437. data/ext/facter/facter/lib/inc/internal/facts/solaris/processor_resolver.hpp +25 -0
  438. data/ext/facter/facter/lib/inc/internal/facts/solaris/virtualization_resolver.hpp +25 -0
  439. data/ext/facter/facter/lib/inc/internal/facts/solaris/zfs_resolver.hpp +24 -0
  440. data/ext/facter/facter/lib/inc/internal/facts/solaris/zone_resolver.hpp +25 -0
  441. data/ext/facter/facter/lib/inc/internal/facts/solaris/zpool_resolver.hpp +24 -0
  442. data/ext/facter/facter/lib/inc/internal/facts/windows/dmi_resolver.hpp +38 -0
  443. data/ext/facter/facter/lib/inc/internal/facts/windows/identity_resolver.hpp +25 -0
  444. data/ext/facter/facter/lib/inc/internal/facts/windows/kernel_resolver.hpp +25 -0
  445. data/ext/facter/facter/lib/inc/internal/facts/windows/memory_resolver.hpp +25 -0
  446. data/ext/facter/facter/lib/inc/internal/facts/windows/networking_resolver.hpp +74 -0
  447. data/ext/facter/facter/lib/inc/internal/facts/windows/operating_system_resolver.hpp +36 -0
  448. data/ext/facter/facter/lib/inc/internal/facts/windows/processor_resolver.hpp +36 -0
  449. data/ext/facter/facter/lib/inc/internal/facts/windows/timezone_resolver.hpp +24 -0
  450. data/ext/facter/facter/lib/inc/internal/facts/windows/uptime_resolver.hpp +32 -0
  451. data/ext/facter/facter/lib/inc/internal/facts/windows/virtualization_resolver.hpp +37 -0
  452. data/ext/facter/facter/lib/inc/internal/ruby/aggregate_resolution.hpp +77 -0
  453. data/ext/facter/facter/lib/inc/internal/ruby/chunk.hpp +83 -0
  454. data/ext/facter/facter/lib/inc/internal/ruby/confine.hpp +60 -0
  455. data/ext/facter/facter/lib/inc/internal/ruby/fact.hpp +108 -0
  456. data/ext/facter/facter/lib/inc/internal/ruby/module.hpp +165 -0
  457. data/ext/facter/facter/lib/inc/internal/ruby/resolution.hpp +126 -0
  458. data/ext/facter/facter/lib/inc/internal/ruby/ruby_value.hpp +119 -0
  459. data/ext/facter/facter/lib/inc/internal/ruby/simple_resolution.hpp +56 -0
  460. data/ext/facter/facter/lib/inc/internal/util/agent.hpp +29 -0
  461. data/ext/facter/facter/lib/inc/internal/util/aix/odm.hpp +373 -0
  462. data/ext/facter/facter/lib/inc/internal/util/aix/vmount.hpp +139 -0
  463. data/ext/facter/facter/lib/inc/internal/util/bsd/scoped_ifaddrs.hpp +33 -0
  464. data/ext/facter/facter/lib/inc/internal/util/posix/scoped_addrinfo.hpp +45 -0
  465. data/ext/facter/facter/lib/inc/internal/util/posix/scoped_bio.hpp +34 -0
  466. data/ext/facter/facter/lib/inc/internal/util/posix/scoped_descriptor.hpp +27 -0
  467. data/ext/facter/facter/lib/inc/internal/util/scoped_file.hpp +36 -0
  468. data/ext/facter/facter/lib/inc/internal/util/solaris/k_stat.hpp +176 -0
  469. data/ext/facter/facter/lib/inc/internal/util/solaris/scoped_kstat.hpp +45 -0
  470. data/ext/facter/facter/lib/inc/internal/util/versions.hpp +34 -0
  471. data/ext/facter/facter/lib/inc/internal/util/windows/wsa.hpp +92 -0
  472. data/ext/facter/facter/lib/inc/internal/util/yaml.hpp +25 -0
  473. data/ext/facter/facter/lib/schema/core_facts.pot +2017 -0
  474. data/ext/facter/facter/lib/schema/facter.yaml +1927 -0
  475. data/ext/facter/facter/lib/schema/translation_tooling.rb +67 -0
  476. data/ext/facter/facter/lib/spec/unit/facter_spec.rb +136 -0
  477. data/ext/facter/facter/lib/spec_helper.rb.in +27 -0
  478. data/ext/facter/facter/lib/src/cwrapper.cc +40 -0
  479. data/ext/facter/facter/lib/src/facts/aix/collection.cc +32 -0
  480. data/ext/facter/facter/lib/src/facts/aix/disk_resolver.cc +75 -0
  481. data/ext/facter/facter/lib/src/facts/aix/filesystem_resolver.cc +132 -0
  482. data/ext/facter/facter/lib/src/facts/aix/kernel_resolver.cc +27 -0
  483. data/ext/facter/facter/lib/src/facts/aix/memory_resolver.cc +48 -0
  484. data/ext/facter/facter/lib/src/facts/aix/networking_resolver.cc +250 -0
  485. data/ext/facter/facter/lib/src/facts/aix/operating_system_resolver.cc +61 -0
  486. data/ext/facter/facter/lib/src/facts/aix/processor_resolver.cc +106 -0
  487. data/ext/facter/facter/lib/src/facts/aix/serial_number_resolver.cc +43 -0
  488. data/ext/facter/facter/lib/src/facts/array_value.cc +111 -0
  489. data/ext/facter/facter/lib/src/facts/bsd/collection.cc +27 -0
  490. data/ext/facter/facter/lib/src/facts/bsd/filesystem_resolver.cc +92 -0
  491. data/ext/facter/facter/lib/src/facts/bsd/networking_resolver.cc +175 -0
  492. data/ext/facter/facter/lib/src/facts/bsd/uptime_resolver.cc +23 -0
  493. data/ext/facter/facter/lib/src/facts/cache.cc +117 -0
  494. data/ext/facter/facter/lib/src/facts/collection.cc +661 -0
  495. data/ext/facter/facter/lib/src/facts/external/execution_resolver.cc +89 -0
  496. data/ext/facter/facter/lib/src/facts/external/json_resolver.cc +219 -0
  497. data/ext/facter/facter/lib/src/facts/external/resolver.cc +12 -0
  498. data/ext/facter/facter/lib/src/facts/external/text_resolver.cc +45 -0
  499. data/ext/facter/facter/lib/src/facts/external/windows/powershell_resolver.cc +117 -0
  500. data/ext/facter/facter/lib/src/facts/external/yaml_resolver.cc +45 -0
  501. data/ext/facter/facter/lib/src/facts/freebsd/collection.cc +41 -0
  502. data/ext/facter/facter/lib/src/facts/freebsd/dmi_resolver.cc +39 -0
  503. data/ext/facter/facter/lib/src/facts/freebsd/memory_resolver.cc +76 -0
  504. data/ext/facter/facter/lib/src/facts/freebsd/networking_resolver.cc +64 -0
  505. data/ext/facter/facter/lib/src/facts/freebsd/operating_system_resolver.cc +17 -0
  506. data/ext/facter/facter/lib/src/facts/freebsd/processor_resolver.cc +63 -0
  507. data/ext/facter/facter/lib/src/facts/freebsd/virtualization_resolver.cc +44 -0
  508. data/ext/facter/facter/lib/src/facts/freebsd/zfs_resolver.cc +12 -0
  509. data/ext/facter/facter/lib/src/facts/freebsd/zpool_resolver.cc +12 -0
  510. data/ext/facter/facter/lib/src/facts/glib/load_average_resolver.cc +22 -0
  511. data/ext/facter/facter/lib/src/facts/linux/collection.cc +42 -0
  512. data/ext/facter/facter/lib/src/facts/linux/disk_resolver.cc +80 -0
  513. data/ext/facter/facter/lib/src/facts/linux/dmi_resolver.cc +208 -0
  514. data/ext/facter/facter/lib/src/facts/linux/filesystem_resolver.cc +282 -0
  515. data/ext/facter/facter/lib/src/facts/linux/kernel_resolver.cc +20 -0
  516. data/ext/facter/facter/lib/src/facts/linux/memory_resolver.cc +50 -0
  517. data/ext/facter/facter/lib/src/facts/linux/networking_resolver.cc +284 -0
  518. data/ext/facter/facter/lib/src/facts/linux/operating_system_resolver.cc +175 -0
  519. data/ext/facter/facter/lib/src/facts/linux/os_linux.cc +393 -0
  520. data/ext/facter/facter/lib/src/facts/linux/processor_resolver.cc +200 -0
  521. data/ext/facter/facter/lib/src/facts/linux/uptime_resolver.cc +15 -0
  522. data/ext/facter/facter/lib/src/facts/linux/virtualization_resolver.cc +282 -0
  523. data/ext/facter/facter/lib/src/facts/map_value.cc +119 -0
  524. data/ext/facter/facter/lib/src/facts/openbsd/collection.cc +37 -0
  525. data/ext/facter/facter/lib/src/facts/openbsd/dmi_resolver.cc +47 -0
  526. data/ext/facter/facter/lib/src/facts/openbsd/memory_resolver.cc +76 -0
  527. data/ext/facter/facter/lib/src/facts/openbsd/networking_resolver.cc +64 -0
  528. data/ext/facter/facter/lib/src/facts/openbsd/processor_resolver.cc +59 -0
  529. data/ext/facter/facter/lib/src/facts/openbsd/virtualization_resolver.cc +20 -0
  530. data/ext/facter/facter/lib/src/facts/osx/collection.cc +39 -0
  531. data/ext/facter/facter/lib/src/facts/osx/dmi_resolver.cc +32 -0
  532. data/ext/facter/facter/lib/src/facts/osx/memory_resolver.cc +60 -0
  533. data/ext/facter/facter/lib/src/facts/osx/networking_resolver.cc +80 -0
  534. data/ext/facter/facter/lib/src/facts/osx/operating_system_resolver.cc +49 -0
  535. data/ext/facter/facter/lib/src/facts/osx/processor_resolver.cc +55 -0
  536. data/ext/facter/facter/lib/src/facts/osx/system_profiler_resolver.cc +66 -0
  537. data/ext/facter/facter/lib/src/facts/osx/virtualization_resolver.cc +46 -0
  538. data/ext/facter/facter/lib/src/facts/posix/cache.cc +9 -0
  539. data/ext/facter/facter/lib/src/facts/posix/collection.cc +48 -0
  540. data/ext/facter/facter/lib/src/facts/posix/identity_resolver.cc +79 -0
  541. data/ext/facter/facter/lib/src/facts/posix/kernel_resolver.cc +25 -0
  542. data/ext/facter/facter/lib/src/facts/posix/networking_resolver.cc +137 -0
  543. data/ext/facter/facter/lib/src/facts/posix/operatingsystem_resolver.cc +29 -0
  544. data/ext/facter/facter/lib/src/facts/posix/processor_resolver.cc +22 -0
  545. data/ext/facter/facter/lib/src/facts/posix/ssh_resolver.cc +115 -0
  546. data/ext/facter/facter/lib/src/facts/posix/timezone_resolver.cc +26 -0
  547. data/ext/facter/facter/lib/src/facts/posix/uptime_resolver.cc +53 -0
  548. data/ext/facter/facter/lib/src/facts/posix/xen_resolver.cc +43 -0
  549. data/ext/facter/facter/lib/src/facts/resolver.cc +105 -0
  550. data/ext/facter/facter/lib/src/facts/resolvers/augeas_resolver.cc +56 -0
  551. data/ext/facter/facter/lib/src/facts/resolvers/disk_resolver.cc +69 -0
  552. data/ext/facter/facter/lib/src/facts/resolvers/dmi_resolver.cc +160 -0
  553. data/ext/facter/facter/lib/src/facts/resolvers/ec2_resolver.cc +174 -0
  554. data/ext/facter/facter/lib/src/facts/resolvers/filesystem_resolver.cc +118 -0
  555. data/ext/facter/facter/lib/src/facts/resolvers/gce_resolver.cc +276 -0
  556. data/ext/facter/facter/lib/src/facts/resolvers/hypervisors_resolver.cc +76 -0
  557. data/ext/facter/facter/lib/src/facts/resolvers/identity_resolver.cc +50 -0
  558. data/ext/facter/facter/lib/src/facts/resolvers/kernel_resolver.cc +62 -0
  559. data/ext/facter/facter/lib/src/facts/resolvers/ldom_resolver.cc +60 -0
  560. data/ext/facter/facter/lib/src/facts/resolvers/load_average_resolver.cc +36 -0
  561. data/ext/facter/facter/lib/src/facts/resolvers/memory_resolver.cc +88 -0
  562. data/ext/facter/facter/lib/src/facts/resolvers/networking_resolver.cc +296 -0
  563. data/ext/facter/facter/lib/src/facts/resolvers/operating_system_resolver.cc +276 -0
  564. data/ext/facter/facter/lib/src/facts/resolvers/path_resolver.cc +25 -0
  565. data/ext/facter/facter/lib/src/facts/resolvers/processor_resolver.cc +70 -0
  566. data/ext/facter/facter/lib/src/facts/resolvers/ruby_resolver.cc +109 -0
  567. data/ext/facter/facter/lib/src/facts/resolvers/ssh_resolver.cc +76 -0
  568. data/ext/facter/facter/lib/src/facts/resolvers/system_profiler_resolver.cc +137 -0
  569. data/ext/facter/facter/lib/src/facts/resolvers/timezone_resolver.cc +27 -0
  570. data/ext/facter/facter/lib/src/facts/resolvers/uptime_resolver.cc +63 -0
  571. data/ext/facter/facter/lib/src/facts/resolvers/virtualization_resolver.cc +119 -0
  572. data/ext/facter/facter/lib/src/facts/resolvers/xen_resolver.cc +80 -0
  573. data/ext/facter/facter/lib/src/facts/resolvers/zfs_resolver.cc +63 -0
  574. data/ext/facter/facter/lib/src/facts/resolvers/zone_resolver.cc +91 -0
  575. data/ext/facter/facter/lib/src/facts/resolvers/zpool_resolver.cc +93 -0
  576. data/ext/facter/facter/lib/src/facts/scalar_value.cc +73 -0
  577. data/ext/facter/facter/lib/src/facts/solaris/collection.cc +51 -0
  578. data/ext/facter/facter/lib/src/facts/solaris/disk_resolver.cc +35 -0
  579. data/ext/facter/facter/lib/src/facts/solaris/dmi_resolver.cc +86 -0
  580. data/ext/facter/facter/lib/src/facts/solaris/filesystem_resolver.cc +92 -0
  581. data/ext/facter/facter/lib/src/facts/solaris/kernel_resolver.cc +24 -0
  582. data/ext/facter/facter/lib/src/facts/solaris/ldom_resolver.cc +87 -0
  583. data/ext/facter/facter/lib/src/facts/solaris/memory_resolver.cc +91 -0
  584. data/ext/facter/facter/lib/src/facts/solaris/networking_resolver.cc +188 -0
  585. data/ext/facter/facter/lib/src/facts/solaris/operating_system_resolver.cc +83 -0
  586. data/ext/facter/facter/lib/src/facts/solaris/processor_resolver.cc +105 -0
  587. data/ext/facter/facter/lib/src/facts/solaris/virtualization_resolver.cc +38 -0
  588. data/ext/facter/facter/lib/src/facts/solaris/zfs_resolver.cc +12 -0
  589. data/ext/facter/facter/lib/src/facts/solaris/zone_resolver.cc +33 -0
  590. data/ext/facter/facter/lib/src/facts/solaris/zpool_resolver.cc +12 -0
  591. data/ext/facter/facter/lib/src/facts/windows/cache.cc +11 -0
  592. data/ext/facter/facter/lib/src/facts/windows/collection.cc +91 -0
  593. data/ext/facter/facter/lib/src/facts/windows/dmi_resolver.cc +38 -0
  594. data/ext/facter/facter/lib/src/facts/windows/identity_resolver.cc +46 -0
  595. data/ext/facter/facter/lib/src/facts/windows/kernel_resolver.cc +78 -0
  596. data/ext/facter/facter/lib/src/facts/windows/memory_resolver.cc +25 -0
  597. data/ext/facter/facter/lib/src/facts/windows/networking_resolver.cc +227 -0
  598. data/ext/facter/facter/lib/src/facts/windows/operating_system_resolver.cc +125 -0
  599. data/ext/facter/facter/lib/src/facts/windows/processor_resolver.cc +99 -0
  600. data/ext/facter/facter/lib/src/facts/windows/timezone_resolver.cc +28 -0
  601. data/ext/facter/facter/lib/src/facts/windows/uptime_resolver.cc +26 -0
  602. data/ext/facter/facter/lib/src/facts/windows/virtualization_resolver.cc +63 -0
  603. data/ext/facter/facter/lib/src/java/facter.cc +185 -0
  604. data/ext/facter/facter/lib/src/logging/logging.cc +151 -0
  605. data/ext/facter/facter/lib/src/ruby/aggregate_resolution.cc +249 -0
  606. data/ext/facter/facter/lib/src/ruby/chunk.cc +136 -0
  607. data/ext/facter/facter/lib/src/ruby/confine.cc +84 -0
  608. data/ext/facter/facter/lib/src/ruby/fact.cc +382 -0
  609. data/ext/facter/facter/lib/src/ruby/module.cc +1130 -0
  610. data/ext/facter/facter/lib/src/ruby/resolution.cc +230 -0
  611. data/ext/facter/facter/lib/src/ruby/ruby.cc +150 -0
  612. data/ext/facter/facter/lib/src/ruby/ruby_value.cc +288 -0
  613. data/ext/facter/facter/lib/src/ruby/simple_resolution.cc +156 -0
  614. data/ext/facter/facter/lib/src/util/bsd/scoped_ifaddrs.cc +29 -0
  615. data/ext/facter/facter/lib/src/util/config/config.cc +83 -0
  616. data/ext/facter/facter/lib/src/util/config/posix/config.cc +12 -0
  617. data/ext/facter/facter/lib/src/util/config/windows/config.cc +14 -0
  618. data/ext/facter/facter/lib/src/util/posix/scoped_addrinfo.cc +41 -0
  619. data/ext/facter/facter/lib/src/util/posix/scoped_bio.cc +29 -0
  620. data/ext/facter/facter/lib/src/util/posix/scoped_descriptor.cc +20 -0
  621. data/ext/facter/facter/lib/src/util/scoped_file.cc +26 -0
  622. data/ext/facter/facter/lib/src/util/solaris/k_stat.cc +165 -0
  623. data/ext/facter/facter/lib/src/util/solaris/scoped_kstat.cc +31 -0
  624. data/ext/facter/facter/lib/src/util/string.cc +170 -0
  625. data/ext/facter/facter/lib/src/util/windows/wsa.cc +69 -0
  626. data/ext/facter/facter/lib/src/util/yaml.cc +72 -0
  627. data/ext/facter/facter/lib/tasks/spec.rake +26 -0
  628. data/ext/facter/facter/lib/tests/CMakeLists.txt +172 -0
  629. data/ext/facter/facter/lib/tests/collection_fixture.cc +15 -0
  630. data/ext/facter/facter/lib/tests/collection_fixture.hpp +19 -0
  631. data/ext/facter/facter/lib/tests/cwrapper.cc +22 -0
  632. data/ext/facter/facter/lib/tests/facts/array_value.cc +140 -0
  633. data/ext/facter/facter/lib/tests/facts/boolean_value.cc +67 -0
  634. data/ext/facter/facter/lib/tests/facts/cache.cc +100 -0
  635. data/ext/facter/facter/lib/tests/facts/collection.cc +576 -0
  636. data/ext/facter/facter/lib/tests/facts/double_value.cc +40 -0
  637. data/ext/facter/facter/lib/tests/facts/external/json_resolver.cc +62 -0
  638. data/ext/facter/facter/lib/tests/facts/external/posix/execution_resolver.cc +69 -0
  639. data/ext/facter/facter/lib/tests/facts/external/text_resolver.cc +46 -0
  640. data/ext/facter/facter/lib/tests/facts/external/windows/execution_resolver.cc +69 -0
  641. data/ext/facter/facter/lib/tests/facts/external/windows/powershell_resolver.cc +122 -0
  642. data/ext/facter/facter/lib/tests/facts/external/yaml_resolver.cc +70 -0
  643. data/ext/facter/facter/lib/tests/facts/integer_value.cc +69 -0
  644. data/ext/facter/facter/lib/tests/facts/linux/dmi_resolver.cc +116 -0
  645. data/ext/facter/facter/lib/tests/facts/linux/filesystem_resolver.cc +13 -0
  646. data/ext/facter/facter/lib/tests/facts/linux/processor_fixture.cc +259 -0
  647. data/ext/facter/facter/lib/tests/facts/linux/processor_fixture.hpp +77 -0
  648. data/ext/facter/facter/lib/tests/facts/linux/processor_resolver.cc +312 -0
  649. data/ext/facter/facter/lib/tests/facts/linux/virtualization_resolver.cc +48 -0
  650. data/ext/facter/facter/lib/tests/facts/map_value.cc +116 -0
  651. data/ext/facter/facter/lib/tests/facts/posix/collection.cc +39 -0
  652. data/ext/facter/facter/lib/tests/facts/posix/uptime_resolver.cc +52 -0
  653. data/ext/facter/facter/lib/tests/facts/resolvers/augeas_resolver.cc +58 -0
  654. data/ext/facter/facter/lib/tests/facts/resolvers/disk_resolver.cc +114 -0
  655. data/ext/facter/facter/lib/tests/facts/resolvers/dmi_resolver.cc +152 -0
  656. data/ext/facter/facter/lib/tests/facts/resolvers/filesystem_resolver.cc +206 -0
  657. data/ext/facter/facter/lib/tests/facts/resolvers/identity_resolver.cc +83 -0
  658. data/ext/facter/facter/lib/tests/facts/resolvers/kernel_resolver.cc +61 -0
  659. data/ext/facter/facter/lib/tests/facts/resolvers/ldom_resolver.cc +86 -0
  660. data/ext/facter/facter/lib/tests/facts/resolvers/memory_resolver.cc +135 -0
  661. data/ext/facter/facter/lib/tests/facts/resolvers/networking_resolver.cc +507 -0
  662. data/ext/facter/facter/lib/tests/facts/resolvers/operating_system_resolver.cc +247 -0
  663. data/ext/facter/facter/lib/tests/facts/resolvers/processor_resolver.cc +157 -0
  664. data/ext/facter/facter/lib/tests/facts/resolvers/ruby_resolver.cc +74 -0
  665. data/ext/facter/facter/lib/tests/facts/resolvers/ssh_resolver.cc +96 -0
  666. data/ext/facter/facter/lib/tests/facts/resolvers/system_profiler_resolver.cc +135 -0
  667. data/ext/facter/facter/lib/tests/facts/resolvers/timezone_resolver.cc +49 -0
  668. data/ext/facter/facter/lib/tests/facts/resolvers/uptime_resolver.cc +151 -0
  669. data/ext/facter/facter/lib/tests/facts/resolvers/virtualization_resolver.cc +175 -0
  670. data/ext/facter/facter/lib/tests/facts/resolvers/xen_resolver.cc +100 -0
  671. data/ext/facter/facter/lib/tests/facts/resolvers/zfs_resolver.cc +65 -0
  672. data/ext/facter/facter/lib/tests/facts/resolvers/zone_resolver.cc +122 -0
  673. data/ext/facter/facter/lib/tests/facts/resolvers/zpool_resolver.cc +69 -0
  674. data/ext/facter/facter/lib/tests/facts/schema.cc +779 -0
  675. data/ext/facter/facter/lib/tests/facts/string_value.cc +270 -0
  676. data/ext/facter/facter/lib/tests/facts/windows/collection.cc +60 -0
  677. data/ext/facter/facter/lib/tests/facts/windows/networking_resolver.cc +217 -0
  678. data/ext/facter/facter/lib/tests/fixtures.cc +62 -0
  679. data/ext/facter/facter/lib/tests/fixtures.hpp.in +27 -0
  680. data/ext/facter/facter/lib/tests/fixtures/execution/with space/command_with_space.bat +2 -0
  681. data/ext/facter/facter/lib/tests/fixtures/facts/external/json/facts.json +12 -0
  682. data/ext/facter/facter/lib/tests/fixtures/facts/external/json/invalid.json +1 -0
  683. data/ext/facter/facter/lib/tests/fixtures/facts/external/ordering/bar/foo.yaml +1 -0
  684. data/ext/facter/facter/lib/tests/fixtures/facts/external/ordering/foo/foo.yaml +1 -0
  685. data/ext/facter/facter/lib/tests/fixtures/facts/external/posix/execution/error_message +4 -0
  686. data/ext/facter/facter/lib/tests/fixtures/facts/external/posix/execution/facts +5 -0
  687. data/ext/facter/facter/lib/tests/fixtures/facts/external/posix/execution/failed +3 -0
  688. data/ext/facter/facter/lib/tests/fixtures/facts/external/posix/execution/not_executable +1 -0
  689. data/ext/facter/facter/lib/tests/fixtures/facts/external/text/facts.txt +4 -0
  690. data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/execution/error_message.bat +4 -0
  691. data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/execution/facts.bat +4 -0
  692. data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/execution/failed.cmd +2 -0
  693. data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/execution/not_executable +1 -0
  694. data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/execution/ruby_script.rb +1 -0
  695. data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/powershell/error_message.ps1 +3 -0
  696. data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/powershell/facts.ps1 +4 -0
  697. data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/powershell/failed.ps1 +2 -0
  698. data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/powershell/json.ps1 +21 -0
  699. data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/powershell/not_executable +1 -0
  700. data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/powershell/yaml.ps1 +18 -0
  701. data/ext/facter/facter/lib/tests/fixtures/facts/external/yaml/facts.yaml +15 -0
  702. data/ext/facter/facter/lib/tests/fixtures/facts/external/yaml/invalid.yaml +1 -0
  703. data/ext/facter/facter/lib/tests/fixtures/facts/external/z/303/266/facts.rb +3 -0
  704. data/ext/facter/facter/lib/tests/fixtures/facts/external/z/303/266/facts.txt +1 -0
  705. data/ext/facter/facter/lib/tests/fixtures/facts/linux/cloud/azure +3 -0
  706. data/ext/facter/facter/lib/tests/fixtures/facts/linux/cloud/azure-unknown +3 -0
  707. data/ext/facter/facter/lib/tests/fixtures/facts/linux/cloud/not-azure +0 -0
  708. data/ext/facter/facter/lib/tests/fixtures/facts/linux/dmidecode/full.txt +83 -0
  709. data/ext/facter/facter/lib/tests/fixtures/facts/linux/dmidecode/full_alternative.txt +83 -0
  710. data/ext/facter/facter/lib/tests/fixtures/facts/linux/dmidecode/none.txt +2 -0
  711. data/ext/facter/facter/lib/tests/fixtures/ruby/100_resolutions.rb +7 -0
  712. data/ext/facter/facter/lib/tests/fixtures/ruby/101_resolutions.rb +7 -0
  713. data/ext/facter/facter/lib/tests/fixtures/ruby/aggregate.rb +9 -0
  714. data/ext/facter/facter/lib/tests/fixtures/ruby/aggregate_invalid_require.rb +9 -0
  715. data/ext/facter/facter/lib/tests/fixtures/ruby/aggregate_with_block.rb +30 -0
  716. data/ext/facter/facter/lib/tests/fixtures/ruby/aggregate_with_cycle.rb +9 -0
  717. data/ext/facter/facter/lib/tests/fixtures/ruby/aggregate_with_invalid_merge.rb +13 -0
  718. data/ext/facter/facter/lib/tests/fixtures/ruby/aggregate_with_merge.rb +23 -0
  719. data/ext/facter/facter/lib/tests/fixtures/ruby/aggregate_with_require.rb +16 -0
  720. data/ext/facter/facter/lib/tests/fixtures/ruby/array_confine.rb +6 -0
  721. data/ext/facter/facter/lib/tests/fixtures/ruby/array_fact.rb +5 -0
  722. data/ext/facter/facter/lib/tests/fixtures/ruby/bad_command.rb +19 -0
  723. data/ext/facter/facter/lib/tests/fixtures/ruby/bad_syntax.rb +2 -0
  724. data/ext/facter/facter/lib/tests/fixtures/ruby/bignum_fact_value.rb +5 -0
  725. data/ext/facter/facter/lib/tests/fixtures/ruby/block_confine.rb +9 -0
  726. data/ext/facter/facter/lib/tests/fixtures/ruby/block_false_confine.rb +9 -0
  727. data/ext/facter/facter/lib/tests/fixtures/ruby/block_nil_confine.rb +9 -0
  728. data/ext/facter/facter/lib/tests/fixtures/ruby/block_true_confine.rb +9 -0
  729. data/ext/facter/facter/lib/tests/fixtures/ruby/boolean_false_confine.rb +6 -0
  730. data/ext/facter/facter/lib/tests/fixtures/ruby/boolean_false_fact.rb +5 -0
  731. data/ext/facter/facter/lib/tests/fixtures/ruby/boolean_true_confine.rb +6 -0
  732. data/ext/facter/facter/lib/tests/fixtures/ruby/boolean_true_fact.rb +5 -0
  733. data/ext/facter/facter/lib/tests/fixtures/ruby/command_with_space.rb +5 -0
  734. data/ext/facter/facter/lib/tests/fixtures/ruby/confine_missing_fact.rb +22 -0
  735. data/ext/facter/facter/lib/tests/fixtures/ruby/confine_weight.rb +20 -0
  736. data/ext/facter/facter/lib/tests/fixtures/ruby/custom_dir/expect_network_init.rb +15 -0
  737. data/ext/facter/facter/lib/tests/fixtures/ruby/cycle.rb +7 -0
  738. data/ext/facter/facter/lib/tests/fixtures/ruby/debug.rb +7 -0
  739. data/ext/facter/facter/lib/tests/fixtures/ruby/debugging.rb +14 -0
  740. data/ext/facter/facter/lib/tests/fixtures/ruby/debugonce.rb +9 -0
  741. data/ext/facter/facter/lib/tests/fixtures/ruby/define_aggregate_fact.rb +13 -0
  742. data/ext/facter/facter/lib/tests/fixtures/ruby/define_fact.rb +9 -0
  743. data/ext/facter/facter/lib/tests/fixtures/ruby/double_fact.rb +5 -0
  744. data/ext/facter/facter/lib/tests/fixtures/ruby/empty_command.rb +3 -0
  745. data/ext/facter/facter/lib/tests/fixtures/ruby/empty_fact.rb +1 -0
  746. data/ext/facter/facter/lib/tests/fixtures/ruby/empty_fact_with_value.rb +1 -0
  747. data/ext/facter/facter/lib/tests/fixtures/ruby/empty_setcode_command.rb +3 -0
  748. data/ext/facter/facter/lib/tests/fixtures/ruby/exec.rb +7 -0
  749. data/ext/facter/facter/lib/tests/fixtures/ruby/execute_on_fail_raise.rb +17 -0
  750. data/ext/facter/facter/lib/tests/fixtures/ruby/execute_on_fail_value.rb +5 -0
  751. data/ext/facter/facter/lib/tests/fixtures/ruby/execute_timeout.rb +1 -0
  752. data/ext/facter/facter/lib/tests/fixtures/ruby/execution_failure.rb +5 -0
  753. data/ext/facter/facter/lib/tests/fixtures/ruby/existing_aggregate_resolution.rb +5 -0
  754. data/ext/facter/facter/lib/tests/fixtures/ruby/existing_simple_resolution.rb +5 -0
  755. data/ext/facter/facter/lib/tests/fixtures/ruby/fact.rb +7 -0
  756. data/ext/facter/facter/lib/tests/fixtures/ruby/facter.rb +7 -0
  757. data/ext/facter/facter/lib/tests/fixtures/ruby/facterversion.rb +17 -0
  758. data/ext/facter/facter/lib/tests/fixtures/ruby/hash_fact.rb +5 -0
  759. data/ext/facter/facter/lib/tests/fixtures/ruby/hash_with_non_string_key.rb +5 -0
  760. data/ext/facter/facter/lib/tests/fixtures/ruby/integer_fact.rb +5 -0
  761. data/ext/facter/facter/lib/tests/fixtures/ruby/log_exception.rb +21 -0
  762. data/ext/facter/facter/lib/tests/fixtures/ruby/lookup.rb +7 -0
  763. data/ext/facter/facter/lib/tests/fixtures/ruby/multi_confine.rb +6 -0
  764. data/ext/facter/facter/lib/tests/fixtures/ruby/named_resolution.rb +13 -0
  765. data/ext/facter/facter/lib/tests/fixtures/ruby/negative_number.rb +5 -0
  766. data/ext/facter/facter/lib/tests/fixtures/ruby/nil_fact.rb +5 -0
  767. data/ext/facter/facter/lib/tests/fixtures/ruby/nonexistent_command.rb +21 -0
  768. data/ext/facter/facter/lib/tests/fixtures/ruby/on_message.rb +16 -0
  769. data/ext/facter/facter/lib/tests/fixtures/ruby/range_confine.rb +6 -0
  770. data/ext/facter/facter/lib/tests/fixtures/ruby/regexp_confine.rb +6 -0
  771. data/ext/facter/facter/lib/tests/fixtures/ruby/ruby.rb +6 -0
  772. data/ext/facter/facter/lib/tests/fixtures/ruby/simple.rb +11 -0
  773. data/ext/facter/facter/lib/tests/fixtures/ruby/simple_command.rb +7 -0
  774. data/ext/facter/facter/lib/tests/fixtures/ruby/simple_confine.rb +6 -0
  775. data/ext/facter/facter/lib/tests/fixtures/ruby/simple_resolution.rb +5 -0
  776. data/ext/facter/facter/lib/tests/fixtures/ruby/single_allocation.rb +7 -0
  777. data/ext/facter/facter/lib/tests/fixtures/ruby/stderr_output.rb +9 -0
  778. data/ext/facter/facter/lib/tests/fixtures/ruby/string_fact.rb +5 -0
  779. data/ext/facter/facter/lib/tests/fixtures/ruby/timeout.rb +10 -0
  780. data/ext/facter/facter/lib/tests/fixtures/ruby/trace.rb +22 -0
  781. data/ext/facter/facter/lib/tests/fixtures/ruby/uni/341/220/201dir/customfacts/342/204/242.rb +6 -0
  782. data/ext/facter/facter/lib/tests/fixtures/ruby/uses_exit_code.rb +7 -0
  783. data/ext/facter/facter/lib/tests/fixtures/ruby/value.rb +6 -0
  784. data/ext/facter/facter/lib/tests/fixtures/ruby/version.rb +2 -0
  785. data/ext/facter/facter/lib/tests/fixtures/ruby/warn.rb +7 -0
  786. data/ext/facter/facter/lib/tests/fixtures/ruby/warnonce.rb +9 -0
  787. data/ext/facter/facter/lib/tests/fixtures/ruby/weight.rb +20 -0
  788. data/ext/facter/facter/lib/tests/fixtures/ruby/weight_option.rb +17 -0
  789. data/ext/facter/facter/lib/tests/fixtures/ruby/which.rb +9 -0
  790. data/ext/facter/facter/lib/tests/fixtures/ruby/windows/ole.rb +7 -0
  791. data/ext/facter/facter/lib/tests/java/facter.cc +69 -0
  792. data/ext/facter/facter/lib/tests/log_capture.cc +29 -0
  793. data/ext/facter/facter/lib/tests/log_capture.hpp +35 -0
  794. data/ext/facter/facter/lib/tests/logging/logging.cc +69 -0
  795. data/ext/facter/facter/lib/tests/main.cc +20 -0
  796. data/ext/facter/facter/lib/tests/mock_server.cc +44 -0
  797. data/ext/facter/facter/lib/tests/mock_server.hpp +25 -0
  798. data/ext/facter/facter/lib/tests/ruby/ruby.cc +634 -0
  799. data/ext/facter/facter/lib/tests/ruby/ruby_dirfacts.cc +35 -0
  800. data/ext/facter/facter/lib/tests/ruby/ruby_helper.cc +41 -0
  801. data/ext/facter/facter/lib/tests/ruby/ruby_helper.hpp +8 -0
  802. data/ext/facter/facter/lib/tests/ruby/windows/ruby.cc +53 -0
  803. data/ext/facter/facter/lib/tests/util/bsd/scoped_ifaddrs.cc +10 -0
  804. data/ext/facter/facter/lib/tests/util/posix/scoped_addrinfo.cc +11 -0
  805. data/ext/facter/facter/lib/tests/util/posix/scoped_bio.cc +12 -0
  806. data/ext/facter/facter/lib/tests/util/posix/scoped_descriptor.cc +22 -0
  807. data/ext/facter/facter/lib/tests/util/string.cc +291 -0
  808. data/ext/facter/facter/lib/version.h.in +28 -0
  809. data/ext/facter/facter/locales/CMakeLists.txt +7 -0
  810. data/ext/facter/facter/locales/FACTER.pot +1529 -0
  811. data/ext/facter/facter/man/man8/facter.8 +205 -0
  812. data/ext/facter/facter/scripts/cpplint.py +4754 -0
  813. data/ext/facter/facter/scripts/travis_target.sh +83 -0
  814. data/ext/facter/facter/tasks/ci.rake +22 -0
  815. data/ext/facter/leatherman/CHANGELOG.md +423 -0
  816. data/ext/facter/leatherman/CMakeLists.txt +143 -0
  817. data/ext/facter/leatherman/CONTRIBUTING.md +98 -0
  818. data/ext/facter/leatherman/LICENSE +17 -0
  819. data/ext/facter/leatherman/LeathermanConfig.cmake.in +57 -0
  820. data/ext/facter/leatherman/LeathermanConfigVersion.cmake.in +11 -0
  821. data/ext/facter/leatherman/MAINTAINERS +28 -0
  822. data/ext/facter/leatherman/README.md +416 -0
  823. data/ext/facter/leatherman/appveyor.yml +40 -0
  824. data/ext/facter/leatherman/catch/CMakeLists.txt +1 -0
  825. data/ext/facter/leatherman/cmake/FindICU.cmake +690 -0
  826. data/ext/facter/leatherman/cmake/GetGitRevisionDescription.cmake +130 -0
  827. data/ext/facter/leatherman/cmake/GetGitRevisionDescription.cmake.in +38 -0
  828. data/ext/facter/leatherman/cmake/cflags.cmake +110 -0
  829. data/ext/facter/leatherman/cmake/generate_translations.cmake +17 -0
  830. data/ext/facter/leatherman/cmake/internal.cmake +241 -0
  831. data/ext/facter/leatherman/cmake/leatherman.cmake.in +369 -0
  832. data/ext/facter/leatherman/cmake/leatherman_config.cmake +80 -0
  833. data/ext/facter/leatherman/cmake/normalize_pot.cmake +17 -0
  834. data/ext/facter/leatherman/cmake/options.cmake +21 -0
  835. data/ext/facter/leatherman/cmake/pod2man.cmake +36 -0
  836. data/ext/facter/leatherman/curl/CMakeLists.txt +42 -0
  837. data/ext/facter/leatherman/curl/inc/leatherman/curl/client.hpp +441 -0
  838. data/ext/facter/leatherman/curl/inc/leatherman/curl/request.hpp +130 -0
  839. data/ext/facter/leatherman/curl/inc/leatherman/curl/response.hpp +80 -0
  840. data/ext/facter/leatherman/curl/src/client.cc +575 -0
  841. data/ext/facter/leatherman/curl/src/request.cc +112 -0
  842. data/ext/facter/leatherman/curl/src/response.cc +62 -0
  843. data/ext/facter/leatherman/curl/tests/CMakeLists.txt +22 -0
  844. data/ext/facter/leatherman/curl/tests/client_test.cc +615 -0
  845. data/ext/facter/leatherman/curl/tests/fixtures.cc +27 -0
  846. data/ext/facter/leatherman/curl/tests/fixtures.hpp +31 -0
  847. data/ext/facter/leatherman/curl/tests/mock_curl.cc +421 -0
  848. data/ext/facter/leatherman/curl/tests/mock_curl.hpp +85 -0
  849. data/ext/facter/leatherman/curl/tests/request_test.cc +87 -0
  850. data/ext/facter/leatherman/curl/tests/response_test.cc +60 -0
  851. data/ext/facter/leatherman/dynamic_library/CMakeLists.txt +43 -0
  852. data/ext/facter/leatherman/dynamic_library/inc/leatherman/dynamic_library/dynamic_library.hpp +122 -0
  853. data/ext/facter/leatherman/dynamic_library/src/dynamic_library.cc +57 -0
  854. data/ext/facter/leatherman/dynamic_library/src/posix/dynamic_library.cc +91 -0
  855. data/ext/facter/leatherman/dynamic_library/src/windows/dynamic_library.cc +128 -0
  856. data/ext/facter/leatherman/dynamic_library/tests/dynamic_library_tests.cc +98 -0
  857. data/ext/facter/leatherman/dynamic_library/tests/fixtures.hpp.in +3 -0
  858. data/ext/facter/leatherman/dynamic_library/tests/test-lib/goodbye.cc +5 -0
  859. data/ext/facter/leatherman/dynamic_library/tests/test-lib/hello.cc +7 -0
  860. data/ext/facter/leatherman/execution/CMakeLists.txt +65 -0
  861. data/ext/facter/leatherman/execution/inc/leatherman/execution/execution.hpp +488 -0
  862. data/ext/facter/leatherman/execution/src/execution.cc +507 -0
  863. data/ext/facter/leatherman/execution/src/posix/execution.cc +575 -0
  864. data/ext/facter/leatherman/execution/src/posix/generic/platform.cc +30 -0
  865. data/ext/facter/leatherman/execution/src/posix/platform.hpp +15 -0
  866. data/ext/facter/leatherman/execution/src/posix/solaris/platform.cc +197 -0
  867. data/ext/facter/leatherman/execution/src/windows/execution.cc +696 -0
  868. data/ext/facter/leatherman/execution/tests/fixtures.hpp.in +2 -0
  869. data/ext/facter/leatherman/execution/tests/fixtures/echo_pid +2 -0
  870. data/ext/facter/leatherman/execution/tests/fixtures/error_message +5 -0
  871. data/ext/facter/leatherman/execution/tests/fixtures/execution/selfkill.sh +3 -0
  872. data/ext/facter/leatherman/execution/tests/fixtures/execution/sleep.sh +3 -0
  873. data/ext/facter/leatherman/execution/tests/fixtures/facts +5 -0
  874. data/ext/facter/leatherman/execution/tests/fixtures/failed +3 -0
  875. data/ext/facter/leatherman/execution/tests/fixtures/ls/crlf.txt +3 -0
  876. data/ext/facter/leatherman/execution/tests/fixtures/ls/file1.txt +1 -0
  877. data/ext/facter/leatherman/execution/tests/fixtures/ls/file2.txt +1 -0
  878. data/ext/facter/leatherman/execution/tests/fixtures/ls/file3.txt +1 -0
  879. data/ext/facter/leatherman/execution/tests/fixtures/ls/file4.txt +7 -0
  880. data/ext/facter/leatherman/execution/tests/fixtures/not_executable +1 -0
  881. data/ext/facter/leatherman/execution/tests/fixtures/windows/error_message.bat +6 -0
  882. data/ext/facter/leatherman/execution/tests/fixtures/windows/facts.bat +4 -0
  883. data/ext/facter/leatherman/execution/tests/fixtures/windows/failed.cmd +2 -0
  884. data/ext/facter/leatherman/execution/tests/fixtures/windows/not_executable +1 -0
  885. data/ext/facter/leatherman/execution/tests/fixtures/windows/ruby_script.rb +1 -0
  886. data/ext/facter/leatherman/execution/tests/log_capture.cc +29 -0
  887. data/ext/facter/leatherman/execution/tests/log_capture.hpp +35 -0
  888. data/ext/facter/leatherman/execution/tests/lth_cat.cc +38 -0
  889. data/ext/facter/leatherman/execution/tests/lth_cat.hpp +9 -0
  890. data/ext/facter/leatherman/execution/tests/posix/execution.cc +728 -0
  891. data/ext/facter/leatherman/execution/tests/posix/solaris/execution.cc +54 -0
  892. data/ext/facter/leatherman/execution/tests/windows/execution.cc +787 -0
  893. data/ext/facter/leatherman/file_util/CMakeLists.txt +18 -0
  894. data/ext/facter/leatherman/file_util/inc/leatherman/file_util/directory.hpp +28 -0
  895. data/ext/facter/leatherman/file_util/inc/leatherman/file_util/file.hpp +95 -0
  896. data/ext/facter/leatherman/file_util/src/directory.cc +51 -0
  897. data/ext/facter/leatherman/file_util/src/file.cc +131 -0
  898. data/ext/facter/leatherman/file_util/tests/directory_utils_test.cc +89 -0
  899. data/ext/facter/leatherman/file_util/tests/file_utils_test.cc +197 -0
  900. data/ext/facter/leatherman/file_util/tests/fixtures.cc +37 -0
  901. data/ext/facter/leatherman/file_util/tests/fixtures.hpp +39 -0
  902. data/ext/facter/leatherman/json_container/CMakeLists.txt +11 -0
  903. data/ext/facter/leatherman/json_container/README.md +108 -0
  904. data/ext/facter/leatherman/json_container/inc/leatherman/json_container/json_container.hpp +436 -0
  905. data/ext/facter/leatherman/json_container/src/json_container.cc +646 -0
  906. data/ext/facter/leatherman/json_container/tests/json_container_test.cc +985 -0
  907. data/ext/facter/leatherman/locale/CMakeLists.txt +46 -0
  908. data/ext/facter/leatherman/locale/disabled/locale.cc +38 -0
  909. data/ext/facter/leatherman/locale/inc/leatherman/locale/locale.hpp +263 -0
  910. data/ext/facter/leatherman/locale/locales/CMakeLists.txt +6 -0
  911. data/ext/facter/leatherman/locale/locales/fr.po +40 -0
  912. data/ext/facter/leatherman/locale/locales/leatherman_locale.pot +41 -0
  913. data/ext/facter/leatherman/locale/src/locale.cc +95 -0
  914. data/ext/facter/leatherman/locale/tests/format.cc +117 -0
  915. data/ext/facter/leatherman/locale/tests/locale.cc +190 -0
  916. data/ext/facter/leatherman/locales/CMakeLists.txt +7 -0
  917. data/ext/facter/leatherman/locales/leatherman.pot +722 -0
  918. data/ext/facter/leatherman/logging/CMakeLists.txt +43 -0
  919. data/ext/facter/leatherman/logging/inc/leatherman/logging/logging.hpp +264 -0
  920. data/ext/facter/leatherman/logging/locales/CMakeLists.txt +6 -0
  921. data/ext/facter/leatherman/logging/locales/fr.po +72 -0
  922. data/ext/facter/leatherman/logging/locales/leatherman_logging.pot +72 -0
  923. data/ext/facter/leatherman/logging/src/logging.cc +227 -0
  924. data/ext/facter/leatherman/logging/src/posix/logging.cc +39 -0
  925. data/ext/facter/leatherman/logging/src/windows/logging.cc +52 -0
  926. data/ext/facter/leatherman/logging/tests/logging.cc +118 -0
  927. data/ext/facter/leatherman/logging/tests/logging.hpp +88 -0
  928. data/ext/facter/leatherman/logging/tests/logging_i18n.cc +103 -0
  929. data/ext/facter/leatherman/logging/tests/logging_on_message.cc +61 -0
  930. data/ext/facter/leatherman/logging/tests/logging_stream.cc +159 -0
  931. data/ext/facter/leatherman/logging/tests/logging_stream_lines.cc +172 -0
  932. data/ext/facter/leatherman/logging/tests/posix/logging.cc +23 -0
  933. data/ext/facter/leatherman/logging/tests/windows/logging.cc +13 -0
  934. data/ext/facter/leatherman/nowide/CMakeLists.txt +7 -0
  935. data/ext/facter/leatherman/rapidjson/CMakeLists.txt +1 -0
  936. data/ext/facter/leatherman/ruby/CMakeLists.txt +26 -0
  937. data/ext/facter/leatherman/ruby/inc/leatherman/ruby/api.hpp +744 -0
  938. data/ext/facter/leatherman/ruby/src/api.cc +527 -0
  939. data/ext/facter/leatherman/ruby/src/posix/api.cc +14 -0
  940. data/ext/facter/leatherman/ruby/src/windows/api.cc +20 -0
  941. data/ext/facter/leatherman/ruby/tests/api-test.cc +206 -0
  942. data/ext/facter/leatherman/scripts/cpplint.py +6323 -0
  943. data/ext/facter/leatherman/scripts/travis_target.sh +79 -0
  944. data/ext/facter/leatherman/tests/CMakeLists.txt +22 -0
  945. data/ext/facter/leatherman/tests/main.cc +17 -0
  946. data/ext/facter/leatherman/util/CMakeLists.txt +36 -0
  947. data/ext/facter/leatherman/util/inc/leatherman/util/environment.hpp +69 -0
  948. data/ext/facter/leatherman/util/inc/leatherman/util/option_set.hpp +228 -0
  949. data/ext/facter/leatherman/util/inc/leatherman/util/posix/scoped_descriptor.hpp +32 -0
  950. data/ext/facter/leatherman/util/inc/leatherman/util/regex.hpp +80 -0
  951. data/ext/facter/leatherman/util/inc/leatherman/util/scope_exit.hpp +62 -0
  952. data/ext/facter/leatherman/util/inc/leatherman/util/scoped_env.hpp +35 -0
  953. data/ext/facter/leatherman/util/inc/leatherman/util/scoped_resource.hpp +130 -0
  954. data/ext/facter/leatherman/util/inc/leatherman/util/strings.hpp +54 -0
  955. data/ext/facter/leatherman/util/inc/leatherman/util/time.hpp +36 -0
  956. data/ext/facter/leatherman/util/inc/leatherman/util/timer.hpp +43 -0
  957. data/ext/facter/leatherman/util/inc/leatherman/util/uri.hpp +23 -0
  958. data/ext/facter/leatherman/util/inc/leatherman/util/windows/scoped_handle.hpp +32 -0
  959. data/ext/facter/leatherman/util/src/environment.cc +29 -0
  960. data/ext/facter/leatherman/util/src/posix/environment.cc +75 -0
  961. data/ext/facter/leatherman/util/src/posix/scoped_descriptor.cc +23 -0
  962. data/ext/facter/leatherman/util/src/posix/time.cc +9 -0
  963. data/ext/facter/leatherman/util/src/scope_exit.cc +43 -0
  964. data/ext/facter/leatherman/util/src/scoped_env.cc +37 -0
  965. data/ext/facter/leatherman/util/src/strings.cc +41 -0
  966. data/ext/facter/leatherman/util/src/time.cc +49 -0
  967. data/ext/facter/leatherman/util/src/uri.cc +75 -0
  968. data/ext/facter/leatherman/util/src/windows/environment.cc +75 -0
  969. data/ext/facter/leatherman/util/src/windows/scoped_handle.cc +24 -0
  970. data/ext/facter/leatherman/util/src/windows/time.cc +10 -0
  971. data/ext/facter/leatherman/util/tests/environment.cc +90 -0
  972. data/ext/facter/leatherman/util/tests/option_set.cc +234 -0
  973. data/ext/facter/leatherman/util/tests/posix/environment.cc +36 -0
  974. data/ext/facter/leatherman/util/tests/scoped_env.cc +52 -0
  975. data/ext/facter/leatherman/util/tests/strings_test.cc +71 -0
  976. data/ext/facter/leatherman/util/tests/timer.cc +41 -0
  977. data/ext/facter/leatherman/util/tests/uri.cc +104 -0
  978. data/ext/facter/leatherman/util/tests/windows/environment.cc +30 -0
  979. data/ext/facter/leatherman/vendor/catch-1.4.0.zip +0 -0
  980. data/ext/facter/leatherman/vendor/nowide/build/Jamfile.v2 +26 -0
  981. data/ext/facter/leatherman/vendor/nowide/doc/Doxyfile +1632 -0
  982. data/ext/facter/leatherman/vendor/nowide/doc/gendoc.sh +11 -0
  983. data/ext/facter/leatherman/vendor/nowide/doc/main.txt +346 -0
  984. data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/args.hpp +167 -0
  985. data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/cenv.hpp +126 -0
  986. data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/config.hpp +54 -0
  987. data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/convert.hpp +154 -0
  988. data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/cstdio.hpp +101 -0
  989. data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/cstdlib.hpp +16 -0
  990. data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/filebuf.hpp +415 -0
  991. data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/fstream.hpp +283 -0
  992. data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/integration/filesystem.hpp +28 -0
  993. data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/iostream.hpp +99 -0
  994. data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/stackstring.hpp +154 -0
  995. data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/system.hpp +46 -0
  996. data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/utf8_codecvt.hpp +499 -0
  997. data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/windows.hpp +39 -0
  998. data/ext/facter/leatherman/vendor/nowide/index.html +16 -0
  999. data/ext/facter/leatherman/vendor/nowide/src/iostream.cpp +261 -0
  1000. data/ext/facter/leatherman/vendor/nowide/standalone/CMakeLists.txt +104 -0
  1001. data/ext/facter/leatherman/vendor/nowide/standalone/MinGW.cmake +9 -0
  1002. data/ext/facter/leatherman/vendor/nowide/standalone/config.hpp +37 -0
  1003. data/ext/facter/leatherman/vendor/nowide/standalone/convert +34 -0
  1004. data/ext/facter/leatherman/vendor/nowide/standalone/encoding_errors.hpp +58 -0
  1005. data/ext/facter/leatherman/vendor/nowide/standalone/encoding_utf.hpp +84 -0
  1006. data/ext/facter/leatherman/vendor/nowide/standalone/run_convert_and_build.sh +19 -0
  1007. data/ext/facter/leatherman/vendor/nowide/standalone/scoped_ptr.hpp +93 -0
  1008. data/ext/facter/leatherman/vendor/nowide/standalone/utf.hpp +469 -0
  1009. data/ext/facter/leatherman/vendor/nowide/template.hpp +19 -0
  1010. data/ext/facter/leatherman/vendor/nowide/test/Jamfile.v2 +43 -0
  1011. data/ext/facter/leatherman/vendor/nowide/test/test.hpp +25 -0
  1012. data/ext/facter/leatherman/vendor/nowide/test/test_codecvt.cpp +254 -0
  1013. data/ext/facter/leatherman/vendor/nowide/test/test_convert.cpp +101 -0
  1014. data/ext/facter/leatherman/vendor/nowide/test/test_env.cpp +49 -0
  1015. data/ext/facter/leatherman/vendor/nowide/test/test_fs.cpp +48 -0
  1016. data/ext/facter/leatherman/vendor/nowide/test/test_fstream.cpp +184 -0
  1017. data/ext/facter/leatherman/vendor/nowide/test/test_iostream.cpp +52 -0
  1018. data/ext/facter/leatherman/vendor/nowide/test/test_stdio.cpp +60 -0
  1019. data/ext/facter/leatherman/vendor/nowide/test/test_system.cpp +91 -0
  1020. data/ext/facter/leatherman/vendor/rapidjson-1.0.2.zip +0 -0
  1021. data/ext/facter/leatherman/windows/CMakeLists.txt +27 -0
  1022. data/ext/facter/leatherman/windows/inc/leatherman/windows/file_util.hpp +23 -0
  1023. data/ext/facter/leatherman/windows/inc/leatherman/windows/process.hpp +22 -0
  1024. data/ext/facter/leatherman/windows/inc/leatherman/windows/registry.hpp +56 -0
  1025. data/ext/facter/leatherman/windows/inc/leatherman/windows/system_error.hpp +23 -0
  1026. data/ext/facter/leatherman/windows/inc/leatherman/windows/user.hpp +30 -0
  1027. data/ext/facter/leatherman/windows/inc/leatherman/windows/windows.hpp +10 -0
  1028. data/ext/facter/leatherman/windows/inc/leatherman/windows/wmi.hpp +188 -0
  1029. data/ext/facter/leatherman/windows/src/file_util.cc +28 -0
  1030. data/ext/facter/leatherman/windows/src/process.cc +42 -0
  1031. data/ext/facter/leatherman/windows/src/registry.cc +96 -0
  1032. data/ext/facter/leatherman/windows/src/system_error.cc +33 -0
  1033. data/ext/facter/leatherman/windows/src/user.cc +76 -0
  1034. data/ext/facter/leatherman/windows/src/wmi.cc +208 -0
  1035. data/ext/facter/leatherman/windows/tests/file_utils_test.cc +13 -0
  1036. metadata +1052 -841
  1037. data/COMMITTERS.md +0 -185
  1038. data/CONTRIBUTING.md +0 -91
  1039. data/Gemfile +0 -69
  1040. data/LICENSE +0 -15
  1041. data/README.md +0 -65
  1042. data/Rakefile +0 -46
  1043. data/bin/facter +0 -20
  1044. data/etc/facter.conf +0 -5
  1045. data/ext/build_defaults.yaml +0 -9
  1046. data/ext/debian/changelog.erb +0 -59
  1047. data/ext/debian/control +0 -15
  1048. data/ext/debian/copyright +0 -19
  1049. data/ext/debian/docs +0 -1
  1050. data/ext/debian/rules +0 -10
  1051. data/ext/facter-diff +0 -74
  1052. data/ext/ips/facter.p5m.erb +0 -10
  1053. data/ext/ips/rules +0 -7
  1054. data/ext/ips/transforms +0 -18
  1055. data/ext/osx/file_mapping.yaml +0 -32
  1056. data/ext/osx/preflight.erb +0 -33
  1057. data/ext/osx/prototype.plist.erb +0 -38
  1058. data/ext/project_data.yaml +0 -31
  1059. data/ext/redhat/facter.spec.erb +0 -223
  1060. data/ext/solaris/pkginfo +0 -7
  1061. data/install.rb +0 -380
  1062. data/lib/facter.rb +0 -261
  1063. data/lib/facter/Cfkey.rb +0 -42
  1064. data/lib/facter/application.rb +0 -206
  1065. data/lib/facter/architecture.rb +0 -50
  1066. data/lib/facter/augeasversion.rb +0 -28
  1067. data/lib/facter/blockdevices.rb +0 -105
  1068. data/lib/facter/core/aggregate.rb +0 -220
  1069. data/lib/facter/core/directed_graph.rb +0 -46
  1070. data/lib/facter/core/execution.rb +0 -123
  1071. data/lib/facter/core/execution/base.rb +0 -81
  1072. data/lib/facter/core/execution/posix.rb +0 -50
  1073. data/lib/facter/core/execution/windows.rb +0 -57
  1074. data/lib/facter/core/logging.rb +0 -197
  1075. data/lib/facter/core/resolvable.rb +0 -94
  1076. data/lib/facter/core/suitable.rb +0 -113
  1077. data/lib/facter/dhcp_servers.rb +0 -45
  1078. data/lib/facter/domain.rb +0 -99
  1079. data/lib/facter/ec2.rb +0 -68
  1080. data/lib/facter/ec2/rest.rb +0 -137
  1081. data/lib/facter/facterversion.rb +0 -15
  1082. data/lib/facter/filesystems.rb +0 -45
  1083. data/lib/facter/fqdn.rb +0 -24
  1084. data/lib/facter/gce.rb +0 -16
  1085. data/lib/facter/gce/metadata.rb +0 -87
  1086. data/lib/facter/gid.rb +0 -25
  1087. data/lib/facter/hardwareisa.rb +0 -20
  1088. data/lib/facter/hardwaremodel.rb +0 -67
  1089. data/lib/facter/hostname.rb +0 -31
  1090. data/lib/facter/id.rb +0 -21
  1091. data/lib/facter/interfaces.rb +0 -58
  1092. data/lib/facter/ipaddress.rb +0 -169
  1093. data/lib/facter/ipaddress6.rb +0 -82
  1094. data/lib/facter/iphostnumber.rb +0 -29
  1095. data/lib/facter/kernel.rb +0 -22
  1096. data/lib/facter/kernelmajversion.rb +0 -23
  1097. data/lib/facter/kernelrelease.rb +0 -45
  1098. data/lib/facter/kernelversion.rb +0 -22
  1099. data/lib/facter/ldom.rb +0 -51
  1100. data/lib/facter/lsbdistcodename.rb +0 -20
  1101. data/lib/facter/lsbdistdescription.rb +0 -21
  1102. data/lib/facter/lsbdistid.rb +0 -20
  1103. data/lib/facter/lsbdistrelease.rb +0 -20
  1104. data/lib/facter/lsbmajdistrelease.rb +0 -22
  1105. data/lib/facter/lsbminordistrelease.rb +0 -22
  1106. data/lib/facter/lsbrelease.rb +0 -20
  1107. data/lib/facter/macaddress.rb +0 -99
  1108. data/lib/facter/macosx.rb +0 -56
  1109. data/lib/facter/manufacturer.rb +0 -68
  1110. data/lib/facter/memory.rb +0 -168
  1111. data/lib/facter/netmask.rb +0 -43
  1112. data/lib/facter/network.rb +0 -20
  1113. data/lib/facter/operatingsystem.rb +0 -24
  1114. data/lib/facter/operatingsystem/base.rb +0 -61
  1115. data/lib/facter/operatingsystem/cumuluslinux.rb +0 -27
  1116. data/lib/facter/operatingsystem/implementation.rb +0 -33
  1117. data/lib/facter/operatingsystem/linux.rb +0 -511
  1118. data/lib/facter/operatingsystem/osreleaselinux.rb +0 -28
  1119. data/lib/facter/operatingsystem/sunos.rb +0 -54
  1120. data/lib/facter/operatingsystem/vmkernel.rb +0 -11
  1121. data/lib/facter/operatingsystem/windows.rb +0 -43
  1122. data/lib/facter/operatingsystemmajrelease.rb +0 -31
  1123. data/lib/facter/operatingsystemrelease.rb +0 -29
  1124. data/lib/facter/os.rb +0 -98
  1125. data/lib/facter/osfamily.rb +0 -18
  1126. data/lib/facter/partitions.rb +0 -39
  1127. data/lib/facter/path.rb +0 -14
  1128. data/lib/facter/physicalprocessorcount.rb +0 -27
  1129. data/lib/facter/processor.rb +0 -52
  1130. data/lib/facter/processors.rb +0 -66
  1131. data/lib/facter/processors/os.rb +0 -244
  1132. data/lib/facter/ps.rb +0 -31
  1133. data/lib/facter/puppetversion.rb +0 -20
  1134. data/lib/facter/rackspace.rb +0 -37
  1135. data/lib/facter/rubyplatform.rb +0 -12
  1136. data/lib/facter/rubysitedir.rb +0 -15
  1137. data/lib/facter/rubyversion.rb +0 -12
  1138. data/lib/facter/selinux.rb +0 -154
  1139. data/lib/facter/ssh.rb +0 -73
  1140. data/lib/facter/system32.rb +0 -21
  1141. data/lib/facter/system_uptime.rb +0 -44
  1142. data/lib/facter/timezone.rb +0 -14
  1143. data/lib/facter/uniqueid.rb +0 -4
  1144. data/lib/facter/uptime.rb +0 -16
  1145. data/lib/facter/uptime_days.rb +0 -13
  1146. data/lib/facter/uptime_hours.rb +0 -13
  1147. data/lib/facter/uptime_seconds.rb +0 -20
  1148. data/lib/facter/util/architecture.rb +0 -19
  1149. data/lib/facter/util/collection.rb +0 -161
  1150. data/lib/facter/util/composite_loader.rb +0 -12
  1151. data/lib/facter/util/config.rb +0 -88
  1152. data/lib/facter/util/confine.rb +0 -66
  1153. data/lib/facter/util/dhcp_servers.rb +0 -58
  1154. data/lib/facter/util/directory_loader.rb +0 -88
  1155. data/lib/facter/util/ec2.rb +0 -106
  1156. data/lib/facter/util/fact.rb +0 -204
  1157. data/lib/facter/util/file_read.rb +0 -37
  1158. data/lib/facter/util/formatter.rb +0 -39
  1159. data/lib/facter/util/ip.rb +0 -340
  1160. data/lib/facter/util/ip/windows.rb +0 -215
  1161. data/lib/facter/util/loader.rb +0 -155
  1162. data/lib/facter/util/macaddress.rb +0 -43
  1163. data/lib/facter/util/macosx.rb +0 -73
  1164. data/lib/facter/util/manufacturer.rb +0 -99
  1165. data/lib/facter/util/memory.rb +0 -228
  1166. data/lib/facter/util/netmask.rb +0 -40
  1167. data/lib/facter/util/normalization.rb +0 -94
  1168. data/lib/facter/util/nothing_loader.rb +0 -12
  1169. data/lib/facter/util/operatingsystem.rb +0 -21
  1170. data/lib/facter/util/parser.rb +0 -168
  1171. data/lib/facter/util/partitions.rb +0 -47
  1172. data/lib/facter/util/partitions/linux.rb +0 -71
  1173. data/lib/facter/util/partitions/openbsd.rb +0 -40
  1174. data/lib/facter/util/plist.rb +0 -24
  1175. data/lib/facter/util/plist/generator.rb +0 -228
  1176. data/lib/facter/util/plist/parser.rb +0 -226
  1177. data/lib/facter/util/posix.rb +0 -16
  1178. data/lib/facter/util/processor.rb +0 -289
  1179. data/lib/facter/util/registry.rb +0 -11
  1180. data/lib/facter/util/resolution.rb +0 -160
  1181. data/lib/facter/util/solaris_zones.rb +0 -158
  1182. data/lib/facter/util/unix_root.rb +0 -5
  1183. data/lib/facter/util/uptime.rb +0 -83
  1184. data/lib/facter/util/values.rb +0 -109
  1185. data/lib/facter/util/virtual.rb +0 -220
  1186. data/lib/facter/util/vlans.rb +0 -21
  1187. data/lib/facter/util/windows.rb +0 -10
  1188. data/lib/facter/util/windows/api_types.rb +0 -135
  1189. data/lib/facter/util/windows/dir.rb +0 -43
  1190. data/lib/facter/util/windows/error.rb +0 -87
  1191. data/lib/facter/util/windows/process.rb +0 -294
  1192. data/lib/facter/util/windows/user.rb +0 -186
  1193. data/lib/facter/util/windows_root.rb +0 -7
  1194. data/lib/facter/util/wmi.rb +0 -49
  1195. data/lib/facter/util/xendomains.rb +0 -28
  1196. data/lib/facter/version.rb +0 -86
  1197. data/lib/facter/virtual.rb +0 -339
  1198. data/lib/facter/vlans.rb +0 -17
  1199. data/lib/facter/xendomains.rb +0 -20
  1200. data/lib/facter/zfs_version.rb +0 -14
  1201. data/lib/facter/zonename.rb +0 -6
  1202. data/lib/facter/zones.rb +0 -18
  1203. data/lib/facter/zpool_version.rb +0 -10
  1204. data/spec/fixtures/cpuinfo/amd64dual +0 -57
  1205. data/spec/fixtures/cpuinfo/amd64dual-grep +0 -2
  1206. data/spec/fixtures/cpuinfo/amd64quad +0 -79
  1207. data/spec/fixtures/cpuinfo/amd64solo +0 -23
  1208. data/spec/fixtures/cpuinfo/amd64tri +0 -86
  1209. data/spec/fixtures/cpuinfo/amd64twentyfour +0 -600
  1210. data/spec/fixtures/cpuinfo/amd64twentyfour-grep +0 -24
  1211. data/spec/fixtures/cpuinfo/bbg3-armel +0 -12
  1212. data/spec/fixtures/cpuinfo/beaglexm-armel +0 -12
  1213. data/spec/fixtures/cpuinfo/panda-armel +0 -17
  1214. data/spec/fixtures/cpuinfo/ppc64 +0 -19
  1215. data/spec/fixtures/cpuinfo/ppc64le +0 -15
  1216. data/spec/fixtures/cpuinfo/sparc +0 -10
  1217. data/spec/fixtures/cpuinfo/two_multicore-grep +0 -4
  1218. data/spec/fixtures/cpuinfo/two_singlecore-grep +0 -2
  1219. data/spec/fixtures/hpux/machinfo/hppa-rp4440 +0 -26
  1220. data/spec/fixtures/hpux/machinfo/ia64-rx2620 +0 -49
  1221. data/spec/fixtures/hpux/machinfo/ia64-rx6600 +0 -26
  1222. data/spec/fixtures/hpux/machinfo/ia64-rx8640 +0 -53
  1223. data/spec/fixtures/hpux/machinfo/superdome-server-SD32B +0 -53
  1224. data/spec/fixtures/hpux/machinfo/superdome2-16s +0 -31
  1225. data/spec/fixtures/hpux/sched.models +0 -174
  1226. data/spec/fixtures/hpux/unistd.h +0 -1534
  1227. data/spec/fixtures/ifconfig/bsd_ifconfig_all_with_multiple_interfaces +0 -18
  1228. data/spec/fixtures/ifconfig/centos_5_5 +0 -17
  1229. data/spec/fixtures/ifconfig/centos_5_5_eth0 +0 -8
  1230. data/spec/fixtures/ifconfig/darwin_10_3_0 +0 -26
  1231. data/spec/fixtures/ifconfig/darwin_10_3_0_en0 +0 -6
  1232. data/spec/fixtures/ifconfig/darwin_10_6_4 +0 -28
  1233. data/spec/fixtures/ifconfig/darwin_10_6_4_en1 +0 -6
  1234. data/spec/fixtures/ifconfig/darwin_10_6_6_dualstack +0 -8
  1235. data/spec/fixtures/ifconfig/darwin_10_6_6_dualstack_en1 +0 -7
  1236. data/spec/fixtures/ifconfig/darwin_9_8_0 +0 -26
  1237. data/spec/fixtures/ifconfig/darwin_9_8_0_en0 +0 -6
  1238. data/spec/fixtures/ifconfig/darwin_ifconfig_all_with_multiple_interfaces +0 -23
  1239. data/spec/fixtures/ifconfig/fedora_10 +0 -36
  1240. data/spec/fixtures/ifconfig/fedora_10_eth0 +0 -9
  1241. data/spec/fixtures/ifconfig/fedora_13 +0 -18
  1242. data/spec/fixtures/ifconfig/fedora_13_eth0 +0 -9
  1243. data/spec/fixtures/ifconfig/fedora_8 +0 -38
  1244. data/spec/fixtures/ifconfig/fedora_8_eth0 +0 -9
  1245. data/spec/fixtures/ifconfig/freebsd_6_0 +0 -12
  1246. data/spec/fixtures/ifconfig/ifconfig_net_tools_1.60.txt +0 -19
  1247. data/spec/fixtures/ifconfig/ifconfig_ubuntu_1204.txt +0 -16
  1248. data/spec/fixtures/ifconfig/linux_ifconfig_all_with_multiple_interfaces +0 -19
  1249. data/spec/fixtures/ifconfig/linux_ifconfig_all_with_multiple_interfaces_and_fe80 +0 -19
  1250. data/spec/fixtures/ifconfig/linux_ifconfig_all_with_multiple_interfaces_and_no_public_ipv6 +0 -18
  1251. data/spec/fixtures/ifconfig/linux_ifconfig_no_addr +0 -19
  1252. data/spec/fixtures/ifconfig/linux_ifconfig_no_mac +0 -8
  1253. data/spec/fixtures/ifconfig/linux_ifconfig_venet +0 -24
  1254. data/spec/fixtures/ifconfig/open_solaris_10 +0 -12
  1255. data/spec/fixtures/ifconfig/open_solaris_b132 +0 -20
  1256. data/spec/fixtures/ifconfig/openbsd_bridge_rules +0 -11
  1257. data/spec/fixtures/ifconfig/sunos_ifconfig_all_with_multiple_interfaces +0 -10
  1258. data/spec/fixtures/ifconfig/ubuntu_7_04 +0 -38
  1259. data/spec/fixtures/ifconfig/ubuntu_7_04_eth0 +0 -9
  1260. data/spec/fixtures/ldom/ldom_v1 +0 -6
  1261. data/spec/fixtures/netstat/centos_5_5 +0 -5
  1262. data/spec/fixtures/netstat/darwin_10_3_0 +0 -35
  1263. data/spec/fixtures/netstat/darwin_10_6_4 +0 -29
  1264. data/spec/fixtures/netstat/darwin_10_6_6_dualstack +0 -34
  1265. data/spec/fixtures/netstat/darwin_9_8_0 +0 -28
  1266. data/spec/fixtures/netstat/fedora_10 +0 -7
  1267. data/spec/fixtures/netstat/open_solaris_10 +0 -16
  1268. data/spec/fixtures/netstat/open_solaris_b132 +0 -17
  1269. data/spec/fixtures/netstat/ubuntu_7_04 +0 -7
  1270. data/spec/fixtures/processorcount/solaris-psrinfo +0 -24
  1271. data/spec/fixtures/processorcount/solaris-sparc-kstat-cpu-info +0 -1216
  1272. data/spec/fixtures/processorcount/solaris-x86_64-kstat-cpu-info +0 -225
  1273. data/spec/fixtures/unit/dhcp_servers/nmcli_devices +0 -4
  1274. data/spec/fixtures/unit/dhcp_servers/nmcli_devices_disconnected +0 -4
  1275. data/spec/fixtures/unit/dhcp_servers/nmcli_eth0_dhcp +0 -36
  1276. data/spec/fixtures/unit/dhcp_servers/nmcli_eth0_static +0 -24
  1277. data/spec/fixtures/unit/dhcp_servers/nmcli_wlan0_dhcp +0 -49
  1278. data/spec/fixtures/unit/dhcp_servers/nmcli_wlan0_static +0 -37
  1279. data/spec/fixtures/unit/dhcp_servers/route +0 -3
  1280. data/spec/fixtures/unit/dhcp_servers/route_nogw +0 -1
  1281. data/spec/fixtures/unit/ec2/rest/meta-data/root +0 -20
  1282. data/spec/fixtures/unit/filesystems/linux +0 -28
  1283. data/spec/fixtures/unit/gce/metadata/metadata.json +0 -69
  1284. data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt +0 -19
  1285. data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt.em1 +0 -10
  1286. data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt.lo +0 -8
  1287. data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60_v6.txt +0 -9
  1288. data/spec/fixtures/unit/ipaddress/ifconfig_multiple_127_addresses.txt +0 -20
  1289. data/spec/fixtures/unit/ipaddress/ifconfig_net_tools_1.60.txt +0 -19
  1290. data/spec/fixtures/unit/ipaddress/ifconfig_non_english_locale.txt +0 -18
  1291. data/spec/fixtures/unit/ipaddress/ifconfig_ubuntu_1204.txt +0 -16
  1292. data/spec/fixtures/unit/kernelrelease/openbsd-5.3 +0 -2
  1293. data/spec/fixtures/unit/kernelrelease/openbsd-5.3-current +0 -3
  1294. data/spec/fixtures/unit/memory/aix-svmon +0 -9
  1295. data/spec/fixtures/unit/memory/aix-swap_l +0 -2
  1296. data/spec/fixtures/unit/memory/darwin-swapinfo-multiple +0 -3
  1297. data/spec/fixtures/unit/memory/darwin-swapinfo-single +0 -2
  1298. data/spec/fixtures/unit/memory/darwin-vm_stat +0 -13
  1299. data/spec/fixtures/unit/memory/dragonfly-vmstat +0 -3
  1300. data/spec/fixtures/unit/memory/freebsd-vmstat +0 -3
  1301. data/spec/fixtures/unit/memory/linux-proc_meminfo +0 -10
  1302. data/spec/fixtures/unit/memory/openbsd-vmstat +0 -3
  1303. data/spec/fixtures/unit/memory/smartos_zone_swap_l-single +0 -2
  1304. data/spec/fixtures/unit/memory/solaris-prtconf +0 -4
  1305. data/spec/fixtures/unit/memory/solaris-swap_l-multiple +0 -3
  1306. data/spec/fixtures/unit/memory/solaris-swap_l-single +0 -2
  1307. data/spec/fixtures/unit/memory/solaris-vmstat +0 -3
  1308. data/spec/fixtures/unit/netmask/darwin_10_8_5.txt +0 -30
  1309. data/spec/fixtures/unit/netmask/ifconfig_aix_7.txt +0 -3
  1310. data/spec/fixtures/unit/netmask/ifconfig_net_tools_1.60.txt +0 -19
  1311. data/spec/fixtures/unit/netmask/ifconfig_ubuntu_1204.txt +0 -16
  1312. data/spec/fixtures/unit/processors/os/darwin-system-profiler +0 -287
  1313. data/spec/fixtures/unit/selinux/selinux_sestatus +0 -6
  1314. data/spec/fixtures/unit/selinux/selinux_sestatus2 +0 -9
  1315. data/spec/fixtures/unit/util/dhcp_servers/route +0 -3
  1316. data/spec/fixtures/unit/util/dhcp_servers/route_nogw +0 -1
  1317. data/spec/fixtures/unit/util/ec2/centos-arp-ec2.out +0 -1
  1318. data/spec/fixtures/unit/util/ec2/linux-arp-ec2.out +0 -1
  1319. data/spec/fixtures/unit/util/ec2/linux-arp-not-ec2.out +0 -5
  1320. data/spec/fixtures/unit/util/ec2/solaris8_arp_a_not_ec2.out +0 -7
  1321. data/spec/fixtures/unit/util/ec2/windows-2008-arp-a-not-ec2.out +0 -6
  1322. data/spec/fixtures/unit/util/ec2/windows-2008-arp-a.out +0 -10
  1323. data/spec/fixtures/unit/util/ip/6.0-STABLE_FreeBSD_ifconfig +0 -12
  1324. data/spec/fixtures/unit/util/ip/Mac_OS_X_10.5.5_ifconfig +0 -26
  1325. data/spec/fixtures/unit/util/ip/darwin_ifconfig_all_with_multiple_interfaces +0 -10
  1326. data/spec/fixtures/unit/util/ip/darwin_ifconfig_single_interface +0 -6
  1327. data/spec/fixtures/unit/util/ip/debian_kfreebsd_ifconfig +0 -40
  1328. data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lan0 +0 -2
  1329. data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lan1 +0 -2
  1330. data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lo0 +0 -2
  1331. data/spec/fixtures/unit/util/ip/hpux_1111_lanscan +0 -5
  1332. data/spec/fixtures/unit/util/ip/hpux_1111_netstat_in +0 -4
  1333. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lan0 +0 -2
  1334. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lan1 +0 -2
  1335. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lo0 +0 -2
  1336. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_lanscan +0 -5
  1337. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_netstat_in +0 -4
  1338. data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lan0 +0 -2
  1339. data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lan1 +0 -2
  1340. data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lo0 +0 -2
  1341. data/spec/fixtures/unit/util/ip/hpux_1131_lanscan +0 -4
  1342. data/spec/fixtures/unit/util/ip/hpux_1131_netstat_in +0 -4
  1343. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan1 +0 -2
  1344. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan4 +0 -2
  1345. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan4_1 +0 -2
  1346. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lo0 +0 -2
  1347. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_lanscan +0 -9
  1348. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_netstat_in +0 -6
  1349. data/spec/fixtures/unit/util/ip/linux_2_6_35_proc_net_bonding_bond0 +0 -19
  1350. data/spec/fixtures/unit/util/ip/linux_get_single_interface_eth0 +0 -10
  1351. data/spec/fixtures/unit/util/ip/linux_get_single_interface_ib0 +0 -8
  1352. data/spec/fixtures/unit/util/ip/linux_get_single_interface_ib0_centos7 +0 -8
  1353. data/spec/fixtures/unit/util/ip/linux_get_single_interface_lo +0 -9
  1354. data/spec/fixtures/unit/util/ip/linux_ifconfig_all_with_single_interface +0 -18
  1355. data/spec/fixtures/unit/util/ip/linux_ifconfig_ib0 +0 -8
  1356. data/spec/fixtures/unit/util/ip/linux_ifconfig_ib0_centos7 +0 -8
  1357. data/spec/fixtures/unit/util/ip/solaris_ifconfig_all_with_multiple_interfaces +0 -8
  1358. data/spec/fixtures/unit/util/ip/solaris_ifconfig_single_interface +0 -3
  1359. data/spec/fixtures/unit/util/ip/windows_netsh_all_interfaces +0 -12
  1360. data/spec/fixtures/unit/util/ip/windows_netsh_single_interface +0 -7
  1361. data/spec/fixtures/unit/util/ip/windows_netsh_single_interface6 +0 -18
  1362. data/spec/fixtures/unit/util/manufacturer/freebsd_dmidecode +0 -42
  1363. data/spec/fixtures/unit/util/manufacturer/intel_linux_dmidecode +0 -549
  1364. data/spec/fixtures/unit/util/manufacturer/linux_dmidecode_with_spaces +0 -60
  1365. data/spec/fixtures/unit/util/manufacturer/opensolaris_smbios +0 -33
  1366. data/spec/fixtures/unit/util/manufacturer/smartos_smbios +0 -533
  1367. data/spec/fixtures/unit/util/manufacturer/solaris_sunfire_v120_prtdiag +0 -33
  1368. data/spec/fixtures/unit/util/manufacturer/solaris_t5220_prtdiag +0 -136
  1369. data/spec/fixtures/unit/util/operatingsystem/coreos.txt +0 -9
  1370. data/spec/fixtures/unit/util/operatingsystem/cumuluslinux.txt +0 -8
  1371. data/spec/fixtures/unit/util/operatingsystem/redhat-7.txt +0 -12
  1372. data/spec/fixtures/unit/util/operatingsystem/sabayon.txt +0 -7
  1373. data/spec/fixtures/unit/util/operatingsystem/wheezy.txt +0 -9
  1374. data/spec/fixtures/unit/util/partitions/partitions/mount +0 -9
  1375. data/spec/fixtures/unit/util/processor/solaris-i86pc +0 -28
  1376. data/spec/fixtures/unit/util/processor/solaris-sun4u +0 -151
  1377. data/spec/fixtures/unit/util/processor/x86-pentium2 +0 -41
  1378. data/spec/fixtures/unit/util/uptime/kstat_boot_time +0 -1
  1379. data/spec/fixtures/unit/util/uptime/sysctl_kern_boottime_darwin +0 -1
  1380. data/spec/fixtures/unit/util/uptime/sysctl_kern_boottime_openbsd +0 -1
  1381. data/spec/fixtures/unit/util/uptime/ubuntu_proc_uptime +0 -1
  1382. data/spec/fixtures/unit/util/virtual/invalid_unicode_dmi_entries +0 -0
  1383. data/spec/fixtures/unit/util/virtual/solaris10_proc_self_status1 +0 -0
  1384. data/spec/fixtures/unit/util/vlans/centos-5-no-vlans +0 -2
  1385. data/spec/fixtures/unit/util/vlans/linux_vlan_config +0 -6
  1386. data/spec/fixtures/unit/util/xendomains/xendomains +0 -4
  1387. data/spec/fixtures/unit/virtual/sysfs_dmi_entries_raw.txt +0 -0
  1388. data/spec/fixtures/unit/zfs_version/freebsd_8.2 +0 -14
  1389. data/spec/fixtures/unit/zfs_version/freebsd_9.0 +0 -13
  1390. data/spec/fixtures/unit/zfs_version/linux-fuse_0.6.9 +0 -14
  1391. data/spec/fixtures/unit/zfs_version/solaris_10 +0 -10
  1392. data/spec/fixtures/unit/zfs_version/solaris_11 +0 -12
  1393. data/spec/fixtures/unit/zfs_version/zfs_new +0 -61
  1394. data/spec/fixtures/unit/zfs_version/zfs_old +0 -43
  1395. data/spec/fixtures/unit/zfs_version/zfsonlinux_0.6.1 +0 -13
  1396. data/spec/fixtures/unit/zpool_version/freebsd_8.2 +0 -26
  1397. data/spec/fixtures/unit/zpool_version/freebsd_9.0 +0 -38
  1398. data/spec/fixtures/unit/zpool_version/linux-fuse_0.6.9 +0 -35
  1399. data/spec/fixtures/unit/zpool_version/solaris_10 +0 -31
  1400. data/spec/fixtures/unit/zpool_version/solaris_11 +0 -43
  1401. data/spec/fixtures/unit/zpool_version/zfsonlinux_0.6.1 +0 -48
  1402. data/spec/fixtures/virtual/proc_1_cgroup/in_a_container +0 -9
  1403. data/spec/fixtures/virtual/proc_1_cgroup/in_a_docker_container +0 -8
  1404. data/spec/fixtures/virtual/proc_1_cgroup/in_a_docker_container_with_systemd_slices +0 -10
  1405. data/spec/fixtures/virtual/proc_1_cgroup/not_in_a_container +0 -9
  1406. data/spec/fixtures/virtual/proc_self_status/vserver_2_1/guest +0 -37
  1407. data/spec/fixtures/virtual/proc_self_status/vserver_2_1/host +0 -36
  1408. data/spec/fixtures/virtual/proc_self_status/vserver_2_3/guest +0 -39
  1409. data/spec/fixtures/virtual/proc_self_status/vserver_2_3/host +0 -39
  1410. data/spec/integration/facter_spec.rb +0 -39
  1411. data/spec/integration/util/windows/user_spec.rb +0 -59
  1412. data/spec/lib/facter_spec/cpuinfo.rb +0 -15
  1413. data/spec/lib/facter_spec/windows_network.rb +0 -64
  1414. data/spec/puppetlabs_spec/files.rb +0 -57
  1415. data/spec/puppetlabs_spec/fixtures.rb +0 -49
  1416. data/spec/puppetlabs_spec/matchers.rb +0 -87
  1417. data/spec/puppetlabs_spec/verbose.rb +0 -9
  1418. data/spec/puppetlabs_spec_helper.rb +0 -26
  1419. data/spec/schema/validate_facter_schema.rb +0 -18
  1420. data/spec/shared_contexts/platform.rb +0 -55
  1421. data/spec/shared_formats/parses.rb +0 -3
  1422. data/spec/spec_helper.rb +0 -68
  1423. data/spec/unit/application_spec.rb +0 -110
  1424. data/spec/unit/architecture_spec.rb +0 -63
  1425. data/spec/unit/blockdevices_spec.rb +0 -109
  1426. data/spec/unit/core/aggregate_spec.rb +0 -125
  1427. data/spec/unit/core/directed_graph_spec.rb +0 -79
  1428. data/spec/unit/core/execution/base_spec.rb +0 -130
  1429. data/spec/unit/core/execution/posix_spec.rb +0 -96
  1430. data/spec/unit/core/execution/windows_spec.rb +0 -106
  1431. data/spec/unit/core/execution_spec.rb +0 -42
  1432. data/spec/unit/core/logging_spec.rb +0 -223
  1433. data/spec/unit/core/resolvable_spec.rb +0 -81
  1434. data/spec/unit/core/suitable_spec.rb +0 -106
  1435. data/spec/unit/dhcp_servers_spec.rb +0 -212
  1436. data/spec/unit/domain_spec.rb +0 -310
  1437. data/spec/unit/ec2/rest_spec.rb +0 -168
  1438. data/spec/unit/ec2_spec.rb +0 -139
  1439. data/spec/unit/facter_spec.rb +0 -108
  1440. data/spec/unit/filesystems_spec.rb +0 -50
  1441. data/spec/unit/fqdn_spec.rb +0 -16
  1442. data/spec/unit/gce/metadata_spec.rb +0 -49
  1443. data/spec/unit/gce_spec.rb +0 -34
  1444. data/spec/unit/gid_spec.rb +0 -51
  1445. data/spec/unit/hardwareisa_spec.rb +0 -41
  1446. data/spec/unit/hardwaremodel_spec.rb +0 -58
  1447. data/spec/unit/hostname_spec.rb +0 -40
  1448. data/spec/unit/id_spec.rb +0 -29
  1449. data/spec/unit/interfaces_spec.rb +0 -67
  1450. data/spec/unit/ipaddress6_spec.rb +0 -180
  1451. data/spec/unit/ipaddress_spec.rb +0 -114
  1452. data/spec/unit/kernel_spec.rb +0 -24
  1453. data/spec/unit/kernelmajversion_spec.rb +0 -22
  1454. data/spec/unit/kernelrelease_spec.rb +0 -66
  1455. data/spec/unit/kernelversion_spec.rb +0 -32
  1456. data/spec/unit/ldom_spec.rb +0 -84
  1457. data/spec/unit/lsbdistcodename_spec.rb +0 -30
  1458. data/spec/unit/lsbdistdescription_spec.rb +0 -30
  1459. data/spec/unit/lsbdistid_spec.rb +0 -30
  1460. data/spec/unit/lsbdistrelease_spec.rb +0 -30
  1461. data/spec/unit/lsbmajdistrelease_spec.rb +0 -30
  1462. data/spec/unit/lsbminordistrelease_spec.rb +0 -31
  1463. data/spec/unit/lsbrelease_spec.rb +0 -30
  1464. data/spec/unit/macaddress_spec.rb +0 -76
  1465. data/spec/unit/manufacturer_spec.rb +0 -115
  1466. data/spec/unit/memory_spec.rb +0 -470
  1467. data/spec/unit/netmask_spec.rb +0 -106
  1468. data/spec/unit/operatingsystem/base_spec.rb +0 -76
  1469. data/spec/unit/operatingsystem/cumuluslinux_spec.rb +0 -40
  1470. data/spec/unit/operatingsystem/implementation_spec.rb +0 -50
  1471. data/spec/unit/operatingsystem/linux_spec.rb +0 -559
  1472. data/spec/unit/operatingsystem/sunos_spec.rb +0 -143
  1473. data/spec/unit/operatingsystem/vmkernel_spec.rb +0 -13
  1474. data/spec/unit/operatingsystem/windows_spec.rb +0 -77
  1475. data/spec/unit/operatingsystem_spec.rb +0 -17
  1476. data/spec/unit/operatingsystemmajrelease_spec.rb +0 -21
  1477. data/spec/unit/operatingsystemrelease_spec.rb +0 -20
  1478. data/spec/unit/os_spec.rb +0 -131
  1479. data/spec/unit/osfamily_spec.rb +0 -17
  1480. data/spec/unit/partitions_spec.rb +0 -88
  1481. data/spec/unit/physicalprocessorcount_spec.rb +0 -13
  1482. data/spec/unit/processor_spec.rb +0 -38
  1483. data/spec/unit/processors/os_spec.rb +0 -469
  1484. data/spec/unit/processors_spec.rb +0 -203
  1485. data/spec/unit/ps_spec.rb +0 -42
  1486. data/spec/unit/rackspace_spec.rb +0 -40
  1487. data/spec/unit/rubyplatform_spec.rb +0 -7
  1488. data/spec/unit/selinux_spec.rb +0 -119
  1489. data/spec/unit/ssh_spec.rb +0 -77
  1490. data/spec/unit/system32_spec.rb +0 -28
  1491. data/spec/unit/system_uptime_spec.rb +0 -80
  1492. data/spec/unit/uniqueid_spec.rb +0 -27
  1493. data/spec/unit/uptime_spec.rb +0 -110
  1494. data/spec/unit/util/collection_spec.rb +0 -258
  1495. data/spec/unit/util/config_spec.rb +0 -120
  1496. data/spec/unit/util/confine_spec.rb +0 -148
  1497. data/spec/unit/util/dhcp_servers_spec.rb +0 -63
  1498. data/spec/unit/util/directory_loader_spec.rb +0 -102
  1499. data/spec/unit/util/ec2_spec.rb +0 -184
  1500. data/spec/unit/util/fact_spec.rb +0 -142
  1501. data/spec/unit/util/file_read_spec.rb +0 -29
  1502. data/spec/unit/util/formatter_spec.rb +0 -55
  1503. data/spec/unit/util/ip/windows_spec.rb +0 -80
  1504. data/spec/unit/util/ip_spec.rb +0 -487
  1505. data/spec/unit/util/loader_spec.rb +0 -286
  1506. data/spec/unit/util/macaddress_spec.rb +0 -143
  1507. data/spec/unit/util/macosx_spec.rb +0 -114
  1508. data/spec/unit/util/manufacturer_spec.rb +0 -223
  1509. data/spec/unit/util/normalization_spec.rb +0 -113
  1510. data/spec/unit/util/operatingsystem_spec.rb +0 -107
  1511. data/spec/unit/util/parser_spec.rb +0 -233
  1512. data/spec/unit/util/partitions/partitions_spec.rb +0 -67
  1513. data/spec/unit/util/partitions_spec.rb +0 -19
  1514. data/spec/unit/util/posix_spec.rb +0 -11
  1515. data/spec/unit/util/processor_spec.rb +0 -212
  1516. data/spec/unit/util/registry_spec.rb +0 -76
  1517. data/spec/unit/util/resolution_spec.rb +0 -129
  1518. data/spec/unit/util/solaris_zones_spec.rb +0 -127
  1519. data/spec/unit/util/uptime_spec.rb +0 -131
  1520. data/spec/unit/util/values_spec.rb +0 -171
  1521. data/spec/unit/util/virtual_spec.rb +0 -393
  1522. data/spec/unit/util/vlans_spec.rb +0 -42
  1523. data/spec/unit/util/wmi_spec.rb +0 -19
  1524. data/spec/unit/util/xendomains_spec.rb +0 -114
  1525. data/spec/unit/version_spec.rb +0 -42
  1526. data/spec/unit/virtual_spec.rb +0 -585
  1527. data/spec/unit/zfs_version_spec.rb +0 -87
  1528. data/spec/unit/zonename_spec.rb +0 -14
  1529. data/spec/unit/zones_spec.rb +0 -55
  1530. data/spec/unit/zpool_version_spec.rb +0 -80
  1531. data/spec/watchr.rb +0 -125
@@ -0,0 +1,1927 @@
1
+ # This file is used to validate the facter output schema and also document facts.
2
+ #
3
+ # Use the following attributes for each entry:
4
+ # - pattern (optional): the pattern to match against a fact name; if not specified, an exact match is performed.
5
+ # - type (required): the type of the fact. Must be one of the following:
6
+ # * integer
7
+ # * double
8
+ # * string
9
+ # * boolean
10
+ # * array
11
+ # * map
12
+ # * ip (IPv4 address string)
13
+ # * ip6 (IPv6 address string)
14
+ # * mac (MAC address string)
15
+ # - hidden (optional; default: false): true if the value is hidden from facter output by default, false if not.
16
+ # - description (required): describes the fact's purpose.
17
+ # - resolution (optional): describes how the fact is resolved.
18
+ # - caveats (optional): describes any caveats to the fact.
19
+ # - elements (required for map types): contains the element values of a map value; each element is another entry.
20
+ # - validate (optional; default: true): true if a map value's elements should be validated or false if not.
21
+ # - blockgroup (optional): the block group of this fact; if not specified, the fact cannot be blocked
22
+ #
23
+ # Please keep the facts in alphabetical order.
24
+
25
+ aio_agent_version:
26
+ type: string
27
+ description: Return the version of the puppet-agent package that installed facter.
28
+ resolution: |
29
+ All platforms: use the compile-time enabled version definition.
30
+
31
+ architecture:
32
+ type: string
33
+ hidden: true
34
+ description: Return the operating system's hardware architecture.
35
+ resolution: |
36
+ POSIX platforms: use the `uname` function to retrieve the OS hardware architecture.
37
+ Windows: use the `GetNativeSystemInfo` function to retrieve the OS hardware architecture.
38
+ caveats: |
39
+ Linux: Debian, Gentoo, kFreeBSD, and Ubuntu use "amd64" for "x86_64" and Gentoo uses "x86" for "i386".
40
+
41
+ augeas:
42
+ type: map
43
+ description: Return information about augeas.
44
+ resolution: |
45
+ All platforms: query augparse for augeas metadata.
46
+ elements:
47
+ version:
48
+ type: string
49
+ description: The version of augparse.
50
+
51
+ augeasversion:
52
+ type: string
53
+ hidden: true
54
+ description: Return the version of augeas.
55
+ resolution: |
56
+ All platforms: query augparse for the augeas version.
57
+
58
+ blockdevices:
59
+ type: string
60
+ hidden: true
61
+ description: Return a comma-separated list of block devices.
62
+ resolution: |
63
+ Linux: parse the contents of `/sys/block/<device>/`.
64
+ Solaris: use the `kstat` function to query disk information.
65
+ caveats: |
66
+ Linux: kernel 2.6+ is required due to the reliance on sysfs.
67
+
68
+ blockdevice_<devicename>_model:
69
+ pattern: '^blockdevice_[A-Za-z0-9]+_model$'
70
+ type: string
71
+ hidden: true
72
+ description: Return the model name of block devices attached to the system.
73
+ resolution: |
74
+ Linux: parse the contents of `/sys/block/<device>/device/model` to retrieve the model name/number for a device.
75
+ Solaris: use the `kstat` function to query disk information.
76
+ caveats: |
77
+ Linux: kernel 2.6+ is required due to the reliance on sysfs.
78
+
79
+ blockdevice_<devicename>_size:
80
+ pattern: ^blockdevice_[A-Za-z0-9]+_size$
81
+ type: integer
82
+ hidden: true
83
+ description: Return the size of a block device in bytes.
84
+ resolution: |
85
+ Linux: parse the contents of `/sys/block/<device>/size` to receive the size (multiplying by 512 to correct for blocks-to-bytes).
86
+ Solaris: use the `kstat` function to query disk information.
87
+ caveats: |
88
+ Linux: kernel 2.6+ is required due to the reliance on sysfs.
89
+
90
+ blockdevice_<devicename>_vendor:
91
+ pattern: ^blockdevice_[A-Za-z0-9]+_vendor$
92
+ type: string
93
+ hidden: true
94
+ description: Return the vendor name of block devices attached to the system.
95
+ resolution: |
96
+ Linux: parse the contents of `/sys/block/<device>/device/vendor` to retrieve the vendor for a device.
97
+ Solaris: use the `kstat` function to query disk information.
98
+ caveats: |
99
+ Linux: kernel 2.6+ is required due to the reliance on sysfs.
100
+
101
+ bios_release_date:
102
+ type: string
103
+ hidden: true
104
+ description: Return the release date of the system BIOS.
105
+ resolution: |
106
+ Linux: parse the contents of `/sys/class/dmi/id/bios_date` to retrieve the system BIOS release date.
107
+ Solaris: use the `smbios` utility to retrieve the system BIOS release date.
108
+ caveats: |
109
+ Linux: kernel 2.6+ is required due to the reliance on sysfs.
110
+
111
+ bios_vendor:
112
+ type: string
113
+ hidden: true
114
+ description: Return the vendor of the system BIOS.
115
+ resolution: |
116
+ Linux: parse the contents of `/sys/class/dmi/id/bios_vendor` to retrieve the system BIOS vendor.
117
+ Solaris: use the `smbios` utility to retrieve the system BIOS vendor.
118
+ caveats: |
119
+ Linux: kernel 2.6+ is required due to the reliance on sysfs.
120
+
121
+ bios_version:
122
+ type: string
123
+ hidden: true
124
+ description: Return the version of the system BIOS.
125
+ resolution: |
126
+ Linux: parse the contents of `/sys/class/dmi/id/bios_version` to retrieve the system BIOS version.
127
+ Solaris: use the `smbios` utility to retrieve the system BIOS version.
128
+ caveats: |
129
+ Linux: kernel 2.6+ is required due to the reliance on sysfs.
130
+
131
+ boardassettag:
132
+ type: string
133
+ hidden: true
134
+ description: Return the system board asset tag.
135
+ resolution: |
136
+ Linux: parse the contents of `/sys/class/dmi/id/board_asset_tag` to retrieve the system board asset tag.
137
+ caveats: |
138
+ Linux: kernel 2.6+ is required due to the reliance on sysfs.
139
+
140
+ boardmanufacturer:
141
+ type: string
142
+ hidden: true
143
+ description: Return the system board manufacturer.
144
+ resolution: |
145
+ Linux: parse the contents of `/sys/class/dmi/id/board_vendor` to retrieve the system board manufacturer.
146
+ caveats: |
147
+ Linux: kernel 2.6+ is required due to the reliance on sysfs.
148
+
149
+ boardproductname:
150
+ type: string
151
+ hidden: true
152
+ description: Return the system board product name.
153
+ resolution: |
154
+ Linux: parse the contents of `/sys/class/dmi/id/board_name` to retrieve the system board product name.
155
+ caveats: |
156
+ Linux: kernel 2.6+ is required due to the reliance on sysfs.
157
+
158
+ boardserialnumber:
159
+ type: string
160
+ hidden: true
161
+ description: Return the system board serial number.
162
+ resolution: |
163
+ Linux: parse the contents of `/sys/class/dmi/id/board_serial` to retrieve the system board serial number.
164
+ caveats: |
165
+ Linux: kernel 2.6+ is required due to the reliance on sysfs.
166
+
167
+ chassisassettag:
168
+ type: string
169
+ hidden: true
170
+ description: Return the system chassis asset tag.
171
+ resolution: |
172
+ Linux: parse the contents of `/sys/class/dmi/id/chassis_asset_tag` to retrieve the system chassis asset tag.
173
+ Solaris: use the `smbios` utility to retrieve the system chassis asset tag.
174
+ caveats: |
175
+ Linux: kernel 2.6+ is required due to the reliance on sysfs.
176
+
177
+ chassistype:
178
+ type: string
179
+ hidden: true
180
+ description: Return the system chassis type.
181
+ resolution: |
182
+ Linux: parse the contents of `/sys/class/dmi/id/chassis_type` to retrieve the system chassis type.
183
+ Solaris: use the `smbios` utility to retrieve the system chassis type.
184
+ caveats: |
185
+ Linux: kernel 2.6+ is required due to the reliance on sysfs.
186
+
187
+ cloud:
188
+ type: map
189
+ description: Information about the cloud instance of the node. This is currently only populated on Linux nodes running in Microsoft Azure.
190
+ elements:
191
+ provider:
192
+ type: string
193
+ description: The cloud provider for the node.
194
+
195
+ dhcp_servers:
196
+ type: map
197
+ hidden: true
198
+ description: Return the DHCP servers for the system.
199
+ resolution: |
200
+ Linux: parse `dhclient` lease files or use the `dhcpcd` utility to retrieve the DHCP servers.
201
+ Mac OSX: use the `ipconfig` utility to retrieve the DHCP servers.
202
+ Solaris: use the `dhcpinfo` utility to retrieve the DHCP servers.
203
+ Windows: use the `GetAdaptersAddresses` (Windows Server 2003: `GetAdaptersInfo`) function to retrieve the DHCP servers.
204
+ elements:
205
+ <interface>:
206
+ pattern: ^((?!system).+)*$
207
+ type: ip
208
+ description: The DHCP server for the interface.
209
+ system:
210
+ type: ip
211
+ description: The DHCP server for the default interface.
212
+
213
+ disks:
214
+ type: map
215
+ description: Return the disk (block) devices attached to the system.
216
+ resolution: |
217
+ AIX: query the ODM for all disk devices
218
+ Linux: parse the contents of `/sys/block/<device>/`.
219
+ Solaris: use the `kstat` function to query disk information.
220
+ caveats: |
221
+ Linux: kernel 2.6+ is required due to the reliance on sysfs.
222
+ elements:
223
+ <devicename>:
224
+ pattern: \w+
225
+ type: map
226
+ description: Represents a disk or block device.
227
+ elements:
228
+ model:
229
+ type: string
230
+ description: The model of the disk or block device.
231
+ product:
232
+ type: string
233
+ description: The product name of the disk or block device.
234
+ caveats: Only present on Solaris.
235
+ size:
236
+ type: string
237
+ description: The display size of the disk or block device (e.g. "1 GiB").
238
+ size_bytes:
239
+ type: integer
240
+ description: The size of the disk or block device, in bytes.
241
+ vendor:
242
+ type: string
243
+ description: The vendor of the disk or block device.
244
+
245
+ dmi:
246
+ type: map
247
+ description: Return the system management information.
248
+ resolution: |
249
+ Linux: parse the contents of `/sys/class/dmi/id/` to retrieve system management information.
250
+ Mac OSX: use the `sysctl` function to retrieve system management information.
251
+ Solaris: use the `smbios`, `prtconf`, and `uname` utilities to retrieve system management information.
252
+ Windows: use WMI to retrieve system management information.
253
+ caveats: |
254
+ Linux: kernel 2.6+ is required due to the reliance on sysfs.
255
+ elements:
256
+ bios:
257
+ type: map
258
+ description: The system BIOS information.
259
+ elements:
260
+ release_date:
261
+ type: string
262
+ description: The release date of the system BIOS.
263
+ vendor:
264
+ type: string
265
+ description: The vendor of the system BIOS.
266
+ version:
267
+ type: string
268
+ description: The version of the system BIOS.
269
+ board:
270
+ type: map
271
+ description: The system board information.
272
+ elements:
273
+ asset_tag:
274
+ type: string
275
+ description: The asset tag of the system board.
276
+ manufacturer:
277
+ type: string
278
+ description: The manufacturer of the system board.
279
+ product:
280
+ type: string
281
+ description: The product name of the system board.
282
+ serial_number:
283
+ type: string
284
+ description: The serial number of the system board.
285
+ chassis:
286
+ type: map
287
+ description: The system chassis information.
288
+ elements:
289
+ asset_tag:
290
+ type: string
291
+ description: The asset tag of the system chassis.
292
+ type:
293
+ type: string
294
+ description: The type of the system chassis.
295
+ manufacturer:
296
+ type: string
297
+ description: The system manufacturer.
298
+ product:
299
+ type: map
300
+ description: The system product information.
301
+ elements:
302
+ name:
303
+ type: string
304
+ description: The product name of the system.
305
+ serial_number:
306
+ type: string
307
+ description: The product serial number of the system.
308
+ uuid:
309
+ type: string
310
+ description: The product unique identifier of the system.
311
+
312
+ domain:
313
+ type: string
314
+ hidden: true
315
+ description: Return the network domain of the system.
316
+ resolution: |
317
+ POSIX platforms: use the `getaddrinfo` function to retrieve the network domain.
318
+ Windows: query the registry to retrieve the network domain; falls back to the primary interface's domain if not set in the registry.
319
+
320
+ ec2_metadata:
321
+ type: map
322
+ description: |
323
+ Return the Amazon Elastic Compute Cloud (EC2) instance metadata.
324
+ Please see the [EC2 instance metadata documentation](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) for the contents of this fact.
325
+ resolution: |
326
+ EC2: query the EC2 metadata endpoint and parse the response.
327
+ caveats: |
328
+ All platforms: `libfacter` must be built with `libcurl` support.
329
+ validate: false
330
+ blockgroup: EC2
331
+
332
+ ec2_userdata:
333
+ type: string
334
+ description: |
335
+ Return the Amazon Elastic Compute Cloud (EC2) instance user data.
336
+ Please see the [EC2 instance user data documentation](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) for the contents of this fact.
337
+ resolution: |
338
+ EC2: query the EC2 user data endpoint and parse the response.
339
+ caveats: |
340
+ All platforms: `libfacter` must be built with `libcurl` support.
341
+ blockgroup: EC2
342
+
343
+ env_windows_installdir:
344
+ type: string
345
+ description: Return the path of the directory in which Puppet was installed.
346
+ resolution: |
347
+ Windows: This fact is specific to the Windows MSI generated environment, and is
348
+ set using the `environment.bat` script that configures the runtime environment
349
+ for all Puppet executables. Please see [the original commit in the puppet_for_the_win repo](https://github.com/puppetlabs/puppet_for_the_win/commit/0cc32c1a09550c13d725b200d3c0cc17d93ec262) for more information.
350
+ caveats: |
351
+ This fact is specific to Windows, and will not resolve on any other platform.
352
+
353
+ facterversion:
354
+ type: string
355
+ description: Return the version of facter.
356
+ resolution: |
357
+ All platforms: use the built-in version of libfacter.
358
+
359
+ filesystems:
360
+ type: string
361
+ description: Return the usable file systems for block or disk devices.
362
+ resolution: |
363
+ AIX: parse the contents of `/etc/vfs` to retrieve the usable file systems.
364
+ Linux: parse the contents of `/proc/filesystems` to retrieve the usable file systems.
365
+ Mac OSX: use the `getfsstat` function to retrieve the usable file systems.
366
+ Solaris: use the `sysdef` utility to retrieve the usable file systems.
367
+ caveats: |
368
+ Linux: The proc file system must be mounted.
369
+ Mac OSX: The usable file systems is limited to the file system of mounted devices.
370
+ blockgroup: file system
371
+
372
+ fqdn:
373
+ type: string
374
+ hidden: true
375
+ description: Return the fully qualified domain name (FQDN) of the system.
376
+ resolution: |
377
+ POSIX platforms: use the `getaddrinfo` function to retrieve the FQDN or use host and domain names.
378
+ Windows: use the host and domain names to build the FQDN.
379
+
380
+ gce:
381
+ type: map
382
+ description: |
383
+ Return the Google Compute Engine (GCE) metadata.
384
+ Please see the [GCE metadata documentation](https://cloud.google.com/compute/docs/metadata) for the contents of this fact.
385
+ resolution: |
386
+ GCE: query the GCE metadata endpoint and parse the response.
387
+ caveats: |
388
+ All platforms: `libfacter` must be built with `libcurl` support.
389
+ validate: false
390
+
391
+ gid:
392
+ type: string
393
+ hidden: true
394
+ description: Return the group identifier (GID) of the user running facter.
395
+ resolution: |
396
+ POSIX platforms: use the `getegid` fuction to retrieve the group identifier.
397
+
398
+ hardwareisa:
399
+ type: string
400
+ hidden: true
401
+ description: Return the hardware instruction set architecture (ISA).
402
+ resolution: |
403
+ POSIX platforms: use `uname` to retrieve the hardware ISA.
404
+ Windows: use WMI to retrieve the hardware ISA.
405
+
406
+ hardwaremodel:
407
+ type: string
408
+ hidden: true
409
+ description: Return the operating system's hardware model.
410
+ resolution: |
411
+ POSIX platforms: use the `uname` function to retrieve the OS hardware model.
412
+ Windows: use the `GetNativeSystemInfo` function to retrieve the OS hardware model.
413
+
414
+ hostname:
415
+ type: string
416
+ hidden: true
417
+ description: Return the host name of the system.
418
+ resolution: |
419
+ POSIX platforms: use the `gethostname` function to retrieve the host name
420
+ Windows: use the `GetComputerNameExW` function to retrieve the host name.
421
+
422
+ hypervisors:
423
+ type: map
424
+ description: |
425
+ Experimental fact: Return the names of any detected hypervisors and any collected metadata about them.
426
+ resolution: |
427
+ All platforms: Use the external `whereami` library to gather hypervisor data, if available.
428
+ validate: false
429
+
430
+ id:
431
+ type: string
432
+ hidden: true
433
+ description: Return the user identifier (UID) of the user running facter.
434
+ resolution: |
435
+ POSIX platforms: use the `geteuid` fuction to retrieve the user identifier.
436
+
437
+ identity:
438
+ type: map
439
+ description: Return the identity information of the user running facter.
440
+ resolution: |
441
+ POSIX platforms: use the `getegid`, `getpwuid_r`, `geteuid`, and `getgrgid_r` functions to retrieve the identity information; use the result of the `geteuid() == 0` test as the value of the privileged element
442
+ Windows: use the `GetUserNameExW` function to retrieve the identity information; use the `GetTokenInformation` to get the current process token elevation status and use it as the value of the privileged element on versions of Windows supporting the token elevation, on older versions of Windows use the `CheckTokenMembership` to test whether the well known local Administrators group SID is enabled in the current thread impersonation token and use the test result as the value of the privileged element
443
+ elements:
444
+ gid:
445
+ type: integer
446
+ description: The group identifier of the user running facter.
447
+ group:
448
+ type: string
449
+ description: The group name of the user running facter.
450
+ uid:
451
+ type: integer
452
+ description: The user identifier of the user running facter.
453
+ user:
454
+ type: string
455
+ description: The user name of the user running facter.
456
+ privileged:
457
+ type: boolean
458
+ description: True if facter is running as a privileged process or false if not.
459
+
460
+ interfaces:
461
+ type: string
462
+ hidden: true
463
+ description: Return the comma-separated list of network interface names.
464
+ resolution: |
465
+ Linux: use the `getifaddrs` function to retrieve the network interface names.
466
+ Mac OSX: use the `getifaddrs` function to retrieve the network interface names.
467
+ Solaris: use the `ioctl` function to retrieve the network interface names.
468
+ Windows: use the `GetAdaptersAddresses` function to retrieve the network interface names.
469
+
470
+ ipaddress:
471
+ type: ip
472
+ hidden: true
473
+ description: Return the IPv4 address for the default network interface.
474
+ resolution: |
475
+ Linux: use the `getifaddrs` function to retrieve the network interface address.
476
+ Mac OSX: use the `getifaddrs` function to retrieve the network interface address.
477
+ Solaris: use the `ioctl` function to retrieve the network interface address.
478
+ Windows: use the `GetAdaptersAddresses` function to retrieve the network interface address.
479
+
480
+ ipaddress6:
481
+ type: ip6
482
+ hidden: true
483
+ description: Return the IPv6 address for the default network interface.
484
+ resolution: |
485
+ Linux: use the `getifaddrs` function to retrieve the network interface address.
486
+ Mac OSX: use the `getifaddrs` function to retrieve the network interface address.
487
+ Solaris: use the `ioctl` function to retrieve the network interface address.
488
+ Windows: use the `GetAdaptersAddresses` function to retrieve the network interface address.
489
+
490
+ ipaddress6_<interface>:
491
+ pattern: ^ipaddress6_.+$
492
+ type: ip6
493
+ hidden: true
494
+ description: Return the IPv6 address for a network interface.
495
+ resolution: |
496
+ Linux: use the `getifaddrs` function to retrieve the network interface address.
497
+ Mac OSX: use the `getifaddrs` function to retrieve the network interface address.
498
+ Solaris: use the `ioctl` function to retrieve the network interface address.
499
+ Windows: use the `GetAdaptersAddresses` function to retrieve the network interface address.
500
+
501
+ ipaddress_<interface>:
502
+ pattern: ^ipaddress_.+$
503
+ type: ip
504
+ hidden: true
505
+ description: Return the IPv4 address for a network interface.
506
+ resolution: |
507
+ Linux: use the `getifaddrs` function to retrieve the network interface address.
508
+ Mac OSX: use the `getifaddrs` function to retrieve the network interface address.
509
+ Solaris: use the `ioctl` function to retrieve the network interface address.
510
+ Windows: use the `GetAdaptersAddresses` function to retrieve the network interface address.
511
+
512
+ is_virtual:
513
+ type: boolean
514
+ description: Return whether or not the host is a virtual machine.
515
+ resolution: |
516
+ Linux: use procfs or utilities such as `vmware` and `virt-what` to retrieve virtual machine status.
517
+ Mac OSX: use the system profiler to retrieve virtual machine status.
518
+ Solaris: use the `zonename` utility to retrieve virtual machine status.
519
+ Windows: use WMI to retrieve virtual machine status.
520
+
521
+ kernel:
522
+ type: string
523
+ description: Return the kernel's name.
524
+ resolution: |
525
+ POSIX platforms: use the `uname` function to retrieve the kernel name.
526
+ Windows: use the value of `windows` for all Windows versions.
527
+
528
+ kernelmajversion:
529
+ type: string
530
+ description: Return the kernel's major version.
531
+ resolution: |
532
+ POSIX platforms: use the `uname` function to retrieve the kernel's major version.
533
+ Windows: use the file version of `kernel32.dll` to retrieve the kernel's major version.
534
+
535
+ kernelrelease:
536
+ type: string
537
+ description: Return the kernel's release.
538
+ resolution: |
539
+ POSIX platforms: use the `uname` function to retrieve the kernel's release.
540
+ Windows: use the file version of `kernel32.dll` to retrieve the kernel's release.
541
+
542
+ kernelversion:
543
+ type: string
544
+ description: Return the kernel's version.
545
+ resolution: |
546
+ POSIX platforms: use the `uname` function to retrieve the kernel's version.
547
+ Windows: use the file version of `kernel32.dll` to retrieve the kernel's version.
548
+
549
+ ldom:
550
+ type: map
551
+ description: Return Solaris LDom information from the `virtinfo` utility.
552
+ resolution: |
553
+ Solaris: use the `virtinfo` utility to retrieve LDom information.
554
+ validate: false
555
+
556
+ ldom_<name>:
557
+ pattern: ^ldom_.+$
558
+ hidden: true
559
+ type: string
560
+ description: Return Solaris LDom information.
561
+ resolution: |
562
+ Solaris: use the `virtinfo` utility to retrieve LDom information.
563
+
564
+ load_averages:
565
+ type: map
566
+ description: Return the load average over the last 1, 5 and 15 minutes.
567
+ resolution: |
568
+ POSIX platforms: use `getloadavg` function to retrieve the system load averages.
569
+ elements:
570
+ 1m:
571
+ type: double
572
+ description: The system load average over the last minute.
573
+ 5m:
574
+ type: double
575
+ description: The system load average over the last 5 minutes.
576
+ 15m:
577
+ type: double
578
+ description: The system load average over the last 15 minutes.
579
+
580
+ lsbdistcodename:
581
+ type: string
582
+ hidden: true
583
+ description: Return the Linux Standard Base (LSB) distribution code name.
584
+ resolution: |
585
+ Linux: use the `lsb_release` utility to retrieve the LSB distribution code name.
586
+ caveats: |
587
+ Linux: Requires that the `lsb_release` utility be installed.
588
+
589
+ lsbdistdescription:
590
+ type: string
591
+ hidden: true
592
+ description: Return the Linux Standard Base (LSB) distribution description.
593
+ resolution: |
594
+ Linux: use the `lsb_release` utility to retrieve the LSB distribution description.
595
+ caveats: |
596
+ Linux: Requires that the `lsb_release` utility be installed.
597
+
598
+ lsbdistid:
599
+ type: string
600
+ hidden: true
601
+ description: Return the Linux Standard Base (LSB) distribution identifier.
602
+ resolution: |
603
+ Linux: use the `lsb_release` utility to retrieve the LSB distribution identifier.
604
+ caveats: |
605
+ Linux: Requires that the `lsb_release` utility be installed.
606
+
607
+ lsbdistrelease:
608
+ type: string
609
+ hidden: true
610
+ description: Return the Linux Standard Base (LSB) distribution release.
611
+ resolution: |
612
+ Linux: use the `lsb_release` utility to retrieve the LSB distribution release.
613
+ caveats: |
614
+ Linux: Requires that the `lsb_release` utility be installed.
615
+
616
+ lsbmajdistrelease:
617
+ type: string
618
+ hidden: true
619
+ description: Return the Linux Standard Base (LSB) major distribution release.
620
+ resolution: |
621
+ Linux: use the `lsb_release` utility to retrieve the LSB major distribution release.
622
+ caveats: |
623
+ Linux: Requires that the `lsb_release` utility be installed.
624
+
625
+ lsbminordistrelease:
626
+ type: string
627
+ hidden: true
628
+ description: Return the Linux Standard Base (LSB) minor distribution release.
629
+ resolution: |
630
+ Linux: use the `lsb_release` utility to retrieve the LSB minor distribution release.
631
+ caveats: |
632
+ Linux: Requires that the `lsb_release` utility be installed.
633
+
634
+ lsbrelease:
635
+ type: string
636
+ hidden: true
637
+ description: Return the Linux Standard Base (LSB) release.
638
+ resolution: |
639
+ Linux: use the `lsb_release` utility to retrieve the LSB release.
640
+ caveats: |
641
+ Linux: Requires that the `lsb_release` utility be installed.
642
+
643
+ macaddress:
644
+ type: mac
645
+ hidden: true
646
+ description: Return the MAC address for the default network interface.
647
+ resolution: |
648
+ Linux: use the `getifaddrs` function to retrieve the network interface address.
649
+ Mac OSX: use the `getifaddrs` function to retrieve the network interface address.
650
+ Solaris: use the `ioctl` function to retrieve the network interface address.
651
+ Windows: use the `GetAdaptersAddresses` function to retrieve the network interface address.
652
+
653
+ macaddress_<interface>:
654
+ pattern: ^macaddress_.+$
655
+ type: mac
656
+ hidden: true
657
+ description: Return the MAC address for a network interface.
658
+ resolution: |
659
+ Linux: use the `getifaddrs` function to retrieve the network interface address.
660
+ Mac OSX: use the `getifaddrs` function to retrieve the network interface address.
661
+ Solaris: use the `ioctl` function to retrieve the network interface address.
662
+ Windows: use the `GetAdaptersAddresses` function to retrieve the network interface address.
663
+
664
+ macosx_buildversion:
665
+ type: string
666
+ hidden: true
667
+ description: Return the Mac OSX build version.
668
+ resolution: |
669
+ Mac OSX: use the `sw_vers` utility to retrieve the Mac OSX build version.
670
+
671
+ macosx_productname:
672
+ type: string
673
+ hidden: true
674
+ description: Return the Mac OSX product name.
675
+ resolution: |
676
+ Mac OSX: use the `sw_vers` utility to retrieve the Mac OSX product name.
677
+
678
+ macosx_productversion:
679
+ type: string
680
+ hidden: true
681
+ description: Return the Mac OSX product version.
682
+ resolution: |
683
+ Mac OSX: use the `sw_vers` utility to retrieve the Mac OSX product version.
684
+
685
+ macosx_productversion_major:
686
+ type: string
687
+ hidden: true
688
+ description: Return the Mac OSX product major version.
689
+ resolution: |
690
+ Mac OSX: use the `sw_vers` utility to retrieve the Mac OSX product major version.
691
+
692
+ macosx_productversion_minor:
693
+ type: string
694
+ hidden: true
695
+ description: Return the Mac OSX product minor version.
696
+ resolution: |
697
+ Mac OSX: use the `sw_vers` utility to retrieve the Mac OSX product minor version.
698
+
699
+ manufacturer:
700
+ type: string
701
+ hidden: true
702
+ description: Return the system manufacturer.
703
+ resolution: |
704
+ Linux: parse the contents of `/sys/class/dmi/id/sys_vendor` to retrieve the system manufacturer.
705
+ Solaris: use the `prtconf` utility to retrieve the system manufacturer.
706
+ Windows: use WMI to retrieve the system manufacturer.
707
+ caveats: |
708
+ Linux: kernel 2.6+ is required due to the reliance on sysfs.
709
+
710
+ memory:
711
+ type: map
712
+ description: Return the system memory information.
713
+ resolution: |
714
+ Linux: parse the contents of `/proc/meminfo` to retrieve the system memory information.
715
+ Mac OSX: use the `sysctl` function to retrieve the system memory information.
716
+ Solaris: use the `kstat` function to retrieve the system memory information.
717
+ Windows: use the `GetPerformanceInfo` function to retrieve the system memory information.
718
+ elements:
719
+ swap:
720
+ type: map
721
+ description: Represents information about swap memory.
722
+ elements:
723
+ available:
724
+ type: string
725
+ description: The display size of the available amount of swap memory (e.g. "1 GiB").
726
+ available_bytes:
727
+ type: integer
728
+ description: The size of the available amount of swap memory, in bytes.
729
+ capacity:
730
+ type: string
731
+ description: The capacity percentage (0% is empty, 100% is full).
732
+ encrypted:
733
+ type: boolean
734
+ description: True if the swap is encrypted or false if not.
735
+ total:
736
+ type: string
737
+ description: The display size of the total amount of swap memory (e.g. "1 GiB").
738
+ total_bytes:
739
+ type: integer
740
+ description: The size of the total amount of swap memory, in bytes.
741
+ used:
742
+ type: string
743
+ description: The display size of the used amount of swap memory (e.g. "1 GiB").
744
+ used_bytes:
745
+ type: integer
746
+ description: The size of the used amount of swap memory, in bytes.
747
+ system:
748
+ type: map
749
+ description: Represents information about system memory.
750
+ elements:
751
+ available:
752
+ type: string
753
+ description: The display size of the available amount of system memory (e.g. "1 GiB").
754
+ available_bytes:
755
+ type: integer
756
+ description: The size of the available amount of system memory, in bytes.
757
+ capacity:
758
+ type: string
759
+ description: The capacity percentage (0% is empty, 100% is full).
760
+ total:
761
+ type: string
762
+ description: The display size of the total amount of system memory (e.g. "1 GiB").
763
+ total_bytes:
764
+ type: integer
765
+ description: The size of the total amount of system memory, in bytes.
766
+ used:
767
+ type: string
768
+ description: The display size of the used amount of system memory (e.g. "1 GiB").
769
+ used_bytes:
770
+ type: integer
771
+ description: The size of the used amount of system memory, in bytes.
772
+
773
+ memoryfree:
774
+ type: string
775
+ hidden: true
776
+ description: Return the display size of the free system memory (e.g. "1 GiB").
777
+ resolution: |
778
+ Linux: parse the contents of `/proc/meminfo` to retrieve the free system memory.
779
+ Mac OSX: use the `sysctl` function to retrieve the free system memory.
780
+ Solaris: use the `kstat` function to retrieve the free system memory.
781
+ Windows: use the `GetPerformanceInfo` function to retrieve the free system memory.
782
+
783
+ memoryfree_mb:
784
+ type: double
785
+ hidden: true
786
+ description: Return the size of the free system memory, in mebibytes.
787
+ resolution: |
788
+ Linux: parse the contents of `/proc/meminfo` to retrieve the free system memory.
789
+ Mac OSX: use the `sysctl` function to retrieve the free system memory.
790
+ Solaris: use the `kstat` function to retrieve the free system memory.
791
+ Windows: use the `GetPerformanceInfo` function to retrieve the free system memory.
792
+
793
+ memorysize:
794
+ type: string
795
+ hidden: true
796
+ description: Return the display size of the total system memory (e.g. "1 GiB").
797
+ resolution: |
798
+ Linux: parse the contents of `/proc/meminfo` to retrieve the total system memory.
799
+ Mac OSX: use the `sysctl` function to retrieve the total system memory.
800
+ Solaris: use the `kstat` function to retrieve the total system memory.
801
+ Windows: use the `GetPerformanceInfo` function to retrieve the total system memory.
802
+
803
+ memorysize_mb:
804
+ type: double
805
+ hidden: true
806
+ description: Return the size of the total system memory, in mebibytes.
807
+ resolution: |
808
+ Linux: parse the contents of `/proc/meminfo` to retrieve the total system memory.
809
+ Mac OSX: use the `sysctl` function to retrieve the total system memory.
810
+ Solaris: use the `kstat` function to retrieve the total system memory.
811
+ Windows: use the `GetPerformanceInfo` function to retrieve the total system memory.
812
+
813
+ mountpoints:
814
+ type: map
815
+ description: Return the current mount points of the system.
816
+ resolution: |
817
+ AIX: use the `mntctl` function to retrieve the mount points.
818
+ Linux: use the `setmntent` function to retrieve the mount points.
819
+ Mac OSX: use the `getfsstat` function to retrieve the mount points.
820
+ Solaris: parse the contents of `/etc/mnttab` to retrieve the mount points.
821
+ blockgroup: file system
822
+ elements:
823
+ <mountpoint>:
824
+ pattern: .+
825
+ type: map
826
+ description: Represents a mount point.
827
+ elements:
828
+ available:
829
+ type: string
830
+ description: The display size of the available space (e.g. "1 GiB").
831
+ available_bytes:
832
+ type: integer
833
+ description: The size of the available space, in bytes.
834
+ capacity:
835
+ type: string
836
+ description: The capacity percentage (0% is empty, 100% is full).
837
+ device:
838
+ type: string
839
+ description: The name of the mounted device.
840
+ filesystem:
841
+ type: string
842
+ description: The file system of the mounted device.
843
+ options:
844
+ type: array
845
+ description: The mount options.
846
+ size:
847
+ type: string
848
+ description: The display size of the total space (e.g. "1 GiB").
849
+ size_bytes:
850
+ type: integer
851
+ description: The size of the total space, in bytes.
852
+ used:
853
+ type: string
854
+ description: The display size of the used space (e.g. "1 GiB").
855
+ used_bytes:
856
+ type: integer
857
+ description: The size of the used space, in bytes.
858
+
859
+ mtu_<interface>:
860
+ pattern: ^mtu_.+$
861
+ type: integer
862
+ hidden: true
863
+ description: Return the Maximum Transmission Unit (MTU) for a network interface.
864
+ resolution: |
865
+ Linux: use the `ioctl` function to retrieve the network interface MTU.
866
+ Mac OSX: use the `getifaddrs` function to retrieve the network interface MTU.
867
+ Solaris: use the `ioctl` function to retrieve the network interface MTU.
868
+ Windows: use the `GetAdaptersAddresses` function to retrieve the network interface MTU.
869
+
870
+ netmask:
871
+ type: ip
872
+ hidden: true
873
+ description: Return the IPv4 netmask for the default network interface.
874
+ resolution: |
875
+ Linux: use the `getifaddrs` function to retrieve the network interface netmask.
876
+ Mac OSX: use the `getifaddrs` function to retrieve the network interface netmask.
877
+ Solaris: use the `ioctl` function to retrieve the network interface netmask.
878
+ Windows: use the `GetAdaptersAddresses` (Windows Server 2003: `GetAdaptersInfo`) function to retrieve the network interface netmask.
879
+
880
+ netmask6:
881
+ type: ip6
882
+ hidden: true
883
+ description: Return the IPv6 netmask for the default network interface.
884
+ resolution: |
885
+ Linux: use the `getifaddrs` function to retrieve the network interface netmask.
886
+ Mac OSX: use the `getifaddrs` function to retrieve the network interface netmask.
887
+ Solaris: use the `ioctl` function to retrieve the network interface netmask.
888
+ Windows: use the `GetAdaptersAddresses` function to retrieve the network interface netmask.
889
+ caveats: |
890
+ Windows Server 2003: IPv6 netmasks are not supported.
891
+
892
+ netmask6_<interface>:
893
+ pattern: ^netmask6_.+$
894
+ type: ip6
895
+ hidden: true
896
+ description: Return the IPv6 netmask for a network interface.
897
+ resolution: |
898
+ Linux: use the `getifaddrs` function to retrieve the network interface netmask.
899
+ Mac OSX: use the `getifaddrs` function to retrieve the network interface netmask.
900
+ Solaris: use the `ioctl` function to retrieve the network interface netmask.
901
+ Windows: use the `GetAdaptersAddresses` function to retrieve the network interface netmask.
902
+ caveats: |
903
+ Windows Server 2003: IPv6 netmasks are not supported.
904
+
905
+ netmask_<interface>:
906
+ pattern: ^netmask_.+$
907
+ type: ip
908
+ hidden: true
909
+ description: Return the IPv4 netmask for a network interface.
910
+ resolution: |
911
+ Linux: use the `getifaddrs` function to retrieve the network interface netmask.
912
+ Mac OSX: use the `getifaddrs` function to retrieve the network interface netmask.
913
+ Solaris: use the `ioctl` function to retrieve the network interface netmask.
914
+ Windows: use the `GetAdaptersAddresses` (Windows Server 2003: `GetAdaptersInfo`) function to retrieve the network interface netmask.
915
+
916
+ network:
917
+ type: ip
918
+ hidden: true
919
+ description: Return the IPv4 network for the default network interface.
920
+ resolution: |
921
+ Linux: use the `getifaddrs` function to retrieve the network interface network.
922
+ Mac OSX: use the `getifaddrs` function to retrieve the network interface network.
923
+ Solaris: use the `ioctl` function to retrieve the network interface network.
924
+ Windows: use the `GetAdaptersAddresses` function to retrieve the network interface network.
925
+
926
+ network6:
927
+ type: ip6
928
+ hidden: true
929
+ description: Return the IPv6 network for the default network interface.
930
+ resolution: |
931
+ Linux: use the `getifaddrs` function to retrieve the network interface network.
932
+ Mac OSX: use the `getifaddrs` function to retrieve the network interface network.
933
+ Solaris: use the `ioctl` function to retrieve the network interface network.
934
+ Windows: use the `GetAdaptersAddresses` function to retrieve the network interface network.
935
+
936
+ network6_<interface>:
937
+ pattern: ^network6_.+$
938
+ type: ip6
939
+ hidden: true
940
+ description: Return the IPv6 network for a network interface.
941
+ resolution: |
942
+ Linux: use the `getifaddrs` function to retrieve the network interface network.
943
+ Mac OSX: use the `getifaddrs` function to retrieve the network interface network.
944
+ Solaris: use the `ioctl` function to retrieve the network interface network.
945
+ Windows: use the `GetAdaptersAddresses` function to retrieve the network interface network.
946
+
947
+ network_<interface>:
948
+ pattern: ^network_.+$
949
+ type: ip
950
+ hidden: true
951
+ description: Return the IPv4 network for a network interface.
952
+ resolution: |
953
+ Linux: use the `getifaddrs` function to retrieve the network interface network.
954
+ Mac OSX: use the `getifaddrs` function to retrieve the network interface network.
955
+ Solaris: use the `ioctl` function to retrieve the network interface network.
956
+ Windows: use the `GetAdaptersAddresses` function to retrieve the network interface network.
957
+
958
+ networking:
959
+ type: map
960
+ description: Return the networking information for the system.
961
+ resolution: |
962
+ Linux: use the `getifaddrs` function to retrieve the network interfaces.
963
+ Mac OSX: use the `getifaddrs` function to retrieve the network interfaces.
964
+ Solaris: use the `ioctl` function to retrieve the network interfaces.
965
+ Windows: use the `GetAdaptersAddresses` function to retrieve the network interfaces.
966
+ caveats: |
967
+ Windows Server 2003: the `GetAdaptersInfo` function is used for DHCP and netmask lookup. This function does not support IPv6 netmasks.
968
+ elements:
969
+ dhcp:
970
+ type: ip
971
+ description: The address of the DHCP server for the default interface.
972
+ domain:
973
+ type: string
974
+ description: The domain name of the system.
975
+ fqdn:
976
+ type: string
977
+ description: The fully-qualified domain name of the system.
978
+ hostname:
979
+ type: string
980
+ description: The host name of the system.
981
+ interfaces:
982
+ type: map
983
+ description: The network interfaces of the system.
984
+ elements:
985
+ <interface>:
986
+ pattern: .+
987
+ type: map
988
+ description: Represents a network interface.
989
+ elements:
990
+ bindings:
991
+ type: array
992
+ description: The array of IPv4 address bindings for the interface.
993
+ bindings6:
994
+ type: array
995
+ description: The array of IPv6 address bindings for the interface.
996
+ dhcp:
997
+ type: ip
998
+ description: The DHCP server for the network interface.
999
+ ip:
1000
+ type: ip
1001
+ description: The IPv4 address for the network interface.
1002
+ ip6:
1003
+ type: ip6
1004
+ description: The IPv6 address for the network interface.
1005
+ mac:
1006
+ type: mac
1007
+ description: The MAC address for the network interface.
1008
+ mtu:
1009
+ type: integer
1010
+ description: The Maximum Transmission Unit (MTU) for the network interface.
1011
+ netmask:
1012
+ type: ip
1013
+ description: The IPv4 netmask for the network interface.
1014
+ netmask6:
1015
+ type: ip6
1016
+ description: The IPv6 netmask for the network interface.
1017
+ network:
1018
+ type: ip
1019
+ description: The IPv4 network for the network interface.
1020
+ network6:
1021
+ type: ip6
1022
+ description: The IPv6 network for the network interface.
1023
+ ip:
1024
+ type: ip
1025
+ description: The IPv4 address of the default network interface.
1026
+ ip6:
1027
+ type: ip6
1028
+ description: The IPv6 address of the default network interface.
1029
+ mac:
1030
+ type: mac
1031
+ description: The MAC address of the default network interface.
1032
+ mtu:
1033
+ type: integer
1034
+ description: The Maximum Transmission Unit (MTU) of the default network interface.
1035
+ netmask:
1036
+ type: ip
1037
+ description: The IPv4 netmask of the default network interface.
1038
+ netmask6:
1039
+ type: ip6
1040
+ description: The IPv6 netmask of the default network interface.
1041
+ network:
1042
+ type: ip
1043
+ description: The IPv4 network of the default network interface.
1044
+ network6:
1045
+ type: ip6
1046
+ description: The IPv6 network of the default network interface.
1047
+ primary:
1048
+ type: string
1049
+ description: The name of the primary interface.
1050
+
1051
+ operatingsystem:
1052
+ type: string
1053
+ hidden: true
1054
+ description: Return the name of the operating system.
1055
+ resolution: |
1056
+ All platforms: default to the kernel name.
1057
+ Linux: use various release files in `/etc` to retrieve the OS name.
1058
+
1059
+ operatingsystemmajrelease:
1060
+ type: string
1061
+ hidden: true
1062
+ description: Return the major release of the operating system.
1063
+ resolution: |
1064
+ All platforms: default to the major version of the kernel release.
1065
+ Linux: parse the contents of release files in `/etc` to retrieve the OS major release.
1066
+ Solaris: parse the contents of `/etc/release` to retrieve the OS major release.
1067
+ Windows: use WMI to retrieve the OS major release.
1068
+ caveats: |
1069
+ Linux: for Ubuntu, the major release is X.Y (e.g. "10.4").
1070
+
1071
+ operatingsystemrelease:
1072
+ type: string
1073
+ hidden: true
1074
+ description: Return the release of the operating system.
1075
+ resolution: |
1076
+ All platforms: default to the kernel release.
1077
+ Linux: parse the contents of release files in `/etc` to retrieve the OS release.
1078
+ Solaris: parse the contents of `/etc/release` to retrieve the OS release.
1079
+ Windows: use WMI to retrieve the OS release.
1080
+
1081
+ os:
1082
+ type: map
1083
+ description: Return information about the host operating system.
1084
+ resolution: |
1085
+ Linux: use the `lsb_release` utility and parse the contents of release files in `/etc` to retrieve the OS information.
1086
+ OSX: use the `sw_vers` utility to retrieve the OS information.
1087
+ Solaris: parse the contents of `/etc/release` to retrieve the OS information.
1088
+ Windows: use WMI to retrieve the OS information.
1089
+ elements:
1090
+ architecture:
1091
+ type: string
1092
+ description: The operating system's hardware architecture.
1093
+ distro:
1094
+ type: map
1095
+ description: Represents information about a Linux distribution.
1096
+ caveats: |
1097
+ Linux: requires that the `lsb_release` is present.
1098
+ elements:
1099
+ codename:
1100
+ type: string
1101
+ description: The code name of the Linux distribution.
1102
+ description:
1103
+ type: string
1104
+ description: The description of the Linux distribution.
1105
+ id:
1106
+ type: string
1107
+ description: The identifier of the Linux distribution.
1108
+ release:
1109
+ type: map
1110
+ description: Represents information about a Linux distribution release.
1111
+ elements:
1112
+ full:
1113
+ type: string
1114
+ description: The full release of the Linux distribution.
1115
+ major:
1116
+ type: string
1117
+ description: The major release of the Linux distribution.
1118
+ minor:
1119
+ type: string
1120
+ description: The minor release of the Linux distribution.
1121
+ specification:
1122
+ type: string
1123
+ description: The Linux Standard Base (LSB) release specification.
1124
+ family:
1125
+ type: string
1126
+ description: The operating system family.
1127
+ hardware:
1128
+ type: string
1129
+ description: The operating system's hardware model.
1130
+ macosx:
1131
+ type: map
1132
+ description: Represents information about Mac OSX.
1133
+ elements:
1134
+ build:
1135
+ type: string
1136
+ description: The Mac OSX build version.
1137
+ product:
1138
+ type: string
1139
+ description: The Mac OSX product name.
1140
+ version:
1141
+ type: map
1142
+ description: Represents information about the Mac OSX version.
1143
+ elements:
1144
+ full:
1145
+ type: string
1146
+ description: The full Mac OSX version number.
1147
+ major:
1148
+ type: string
1149
+ description: The major Mac OSX version number.
1150
+ minor:
1151
+ type: string
1152
+ description: The minor Mac OSX version number.
1153
+ name:
1154
+ type: string
1155
+ description: The operating system's name.
1156
+ release:
1157
+ type: map
1158
+ description: Represents the operating system's release.
1159
+ elements:
1160
+ full:
1161
+ type: string
1162
+ description: The full operating system release.
1163
+ major:
1164
+ type: string
1165
+ description: The major release of the operating system.
1166
+ minor:
1167
+ type: string
1168
+ description: The minor release of the operating system.
1169
+ selinux:
1170
+ type: map
1171
+ description: Represents information about Security-Enhanced Linux (SELinux).
1172
+ resolution: |
1173
+ Linux: parse the contents of `/proc/self/mounts`, `/etc/selinux/config`, and `<selinux_mountpoint>/enforce` to retrieve SELinux information.
1174
+ elements:
1175
+ config_mode:
1176
+ type: string
1177
+ description: The configured SELinux mode.
1178
+ config_policy:
1179
+ type: string
1180
+ description: The configured SELinux policy.
1181
+ current_mode:
1182
+ type: string
1183
+ description: The current SELinux mode.
1184
+ enabled:
1185
+ type: boolean
1186
+ description: True if SELinux is enabled or false if not.
1187
+ enforced:
1188
+ type: boolean
1189
+ description: True if SELinux policy is enforced or false if not.
1190
+ policy_version:
1191
+ type: string
1192
+ description: The version of the SELinux policy.
1193
+ windows:
1194
+ type: map
1195
+ description: Represents information about Windows.
1196
+ elements:
1197
+ system32:
1198
+ type: string
1199
+ description: The path to the System32 directory.
1200
+
1201
+ osfamily:
1202
+ type: string
1203
+ hidden: true
1204
+ description: Return the family of the operating system.
1205
+ resolution: |
1206
+ All platforms: default to the kernel name.
1207
+ Linux: map various Linux distributions to their base distribution (e.g. Ubuntu is a "Debian" distro).
1208
+ Solaris: map various Solaris-based operating systems to the "Solaris" family.
1209
+ Windows: use "windows" as the family name.
1210
+
1211
+ partitions:
1212
+ type: map
1213
+ description: Return the disk partitions of the system.
1214
+ resolution: |
1215
+ AIX: use the ODM to retrieve list of logical volumes; use `lvm_querylv` function to get details
1216
+ Linux: use `libblkid` to retrieve the disk partitions.
1217
+ caveats: |
1218
+ Linux: `libfacter` must be built with `libblkid` support.
1219
+ blockgroup: file system
1220
+ elements:
1221
+ <partition>:
1222
+ pattern: \w+
1223
+ type: map
1224
+ description: Represents a disk partition.
1225
+ elements:
1226
+ filesystem:
1227
+ type: string
1228
+ description: The file system of the partition.
1229
+ label:
1230
+ type: string
1231
+ description: The label of the partition.
1232
+ mount:
1233
+ type: string
1234
+ description: The mount point of the partition (if mounted).
1235
+ partlabel:
1236
+ type: string
1237
+ description: The label of a GPT partition.
1238
+ partuuid:
1239
+ type: string
1240
+ description: The unique identifier of a GPT partition.
1241
+ size:
1242
+ type: string
1243
+ description: The display size of the partition (e.g. "1 GiB").
1244
+ size_bytes:
1245
+ type: integer
1246
+ description: The size of the partition, in bytes.
1247
+ uuid:
1248
+ type: string
1249
+ description: The unique identifier of a partition.
1250
+ backing_file:
1251
+ type: string
1252
+ description: The path to the file backing the partition.
1253
+
1254
+ path:
1255
+ type: string
1256
+ description: Return the PATH environment variable.
1257
+ resolution: |
1258
+ All platforms: retrieve the value of the PATH environment variable.
1259
+
1260
+ physicalprocessorcount:
1261
+ type: integer
1262
+ hidden: true
1263
+ description: Return the count of physical processors.
1264
+ resolution: |
1265
+ Linux: parse the contents `/sys/devices/system/cpu/` and `/proc/cpuinfo` to retrieve the count of physical processors.
1266
+ Mac OSX: use the `sysctl` function to retrieve the count of physical processors.
1267
+ Solaris: use the `kstat` function to retrieve the count of physical processors.
1268
+ Windows: use WMI to retrieve the count of physical processors.
1269
+ caveats: |
1270
+ Linux: kernel 2.6+ is required due to the reliance on sysfs.
1271
+
1272
+ processor<N>:
1273
+ pattern: ^processor\d+$
1274
+ type: string
1275
+ hidden: true
1276
+ description: Return the model string of processor N.
1277
+ resolution: |
1278
+ Linux: parse the contents of `/proc/cpuinfo` to retrieve the processor model string.
1279
+ Mac OSX: use the `sysctl` function to retrieve the processor model string.
1280
+ Solaris: use the `kstat` function to retrieve the processor model string.
1281
+ Windows: use WMI to retrieve the processor model string.
1282
+
1283
+ processorcount:
1284
+ type: integer
1285
+ hidden: true
1286
+ description: Return the count of logical processors.
1287
+ resolution: |
1288
+ Linux: parse the contents `/sys/devices/system/cpu/` and `/proc/cpuinfo` to retrieve the count of logical processors.
1289
+ Mac OSX: use the `sysctl` function to retrieve the count of logical processors.
1290
+ Solaris: use the `kstat` function to retrieve the count of logical processors.
1291
+ Windows: use WMI to retrieve the count of logical processors.
1292
+ caveats: |
1293
+ Linux: kernel 2.6+ is required due to the reliance on sysfs.
1294
+
1295
+ processors:
1296
+ type: map
1297
+ description: Return information about the system's processors.
1298
+ resolution: |
1299
+ Linux: parse the contents `/sys/devices/system/cpu/` and `/proc/cpuinfo` to retrieve the processor information.
1300
+ Mac OSX: use the `sysctl` function to retrieve the processor information.
1301
+ Solaris: use the `kstat` function to retrieve the processor information.
1302
+ Windows: use WMI to retrieve the processor information.
1303
+ elements:
1304
+ count:
1305
+ type: integer
1306
+ description: The count of logical processors.
1307
+ isa:
1308
+ type: string
1309
+ description: The processor instruction set architecture.
1310
+ models:
1311
+ type: array
1312
+ description: The processor model strings (one for each logical processor).
1313
+ physicalcount:
1314
+ type: integer
1315
+ description: The count of physical processors.
1316
+ speed:
1317
+ type: string
1318
+ description: The speed of the processors (e.g. "2.0 GHz").
1319
+
1320
+ productname:
1321
+ type: string
1322
+ hidden: true
1323
+ description: Return the system product name.
1324
+ resolution: |
1325
+ Linux: parse the contents of `/sys/class/dmi/id/product_name` to retrieve the system product name.
1326
+ Mac OSX: use the `sysctl` function to retrieve the system product name.
1327
+ Solaris: use the `smbios` utility to retrieve the system product name.
1328
+ Windows: use WMI to retrieve the system product name.
1329
+ caveats: |
1330
+ Linux: kernel 2.6+ is required due to the reliance on sysfs.
1331
+
1332
+ ruby:
1333
+ type: map
1334
+ description: Return information about the Ruby loaded by facter.
1335
+ resolution: |
1336
+ All platforms: Use `RbConfig`, `RUBY_PLATFORM`, and `RUBY_VERSION` to retrieve information about Ruby.
1337
+ caveats: |
1338
+ All platforms: facter must be able to locate `libruby`.
1339
+ elements:
1340
+ platform:
1341
+ type: string
1342
+ description: The platform Ruby was built for.
1343
+ sitedir:
1344
+ type: string
1345
+ description: The path to Ruby's site library directory.
1346
+ version:
1347
+ type: string
1348
+ description: The version of Ruby.
1349
+
1350
+ rubyplatform:
1351
+ type: string
1352
+ hidden: true
1353
+ description: Return the platform Ruby was built for.
1354
+ resolution: |
1355
+ All platforms: use `RUBY_PLATFORM` from the Ruby loaded by facter.
1356
+ caveats: |
1357
+ All platforms: facter must be able to locate `libruby`.
1358
+
1359
+ rubysitedir:
1360
+ type: string
1361
+ hidden: true
1362
+ description: Return the path to Ruby's site library directory.
1363
+ resolution: |
1364
+ All platforms: use `RbConfig` from the Ruby loaded by facter.
1365
+ caveats: |
1366
+ All platforms: facter must be able to locate `libruby`.
1367
+
1368
+ rubyversion:
1369
+ type: string
1370
+ hidden: true
1371
+ description: Return the version of Ruby.
1372
+ resolution: |
1373
+ All platforms: use `RUBY_VERSION` from the Ruby loaded by facter.
1374
+ caveats: |
1375
+ All platforms: facter must be able to locate `libruby`.
1376
+
1377
+ selinux:
1378
+ type: boolean
1379
+ hidden: true
1380
+ description: Return whether Security-Enhanced Linux (SELinux) is enabled.
1381
+ resolution: |
1382
+ Linux: parse the contents of `/proc/self/mounts` to determine if SELinux is enabled.
1383
+
1384
+ selinux_config_mode:
1385
+ type: string
1386
+ hidden: true
1387
+ description: Return the configured Security-Enhanced Linux (SELinux) mode.
1388
+ resolution: |
1389
+ Linux: parse the contents of `/etc/selinux/config` to retrieve the configured SELinux mode.
1390
+
1391
+ selinux_config_policy:
1392
+ type: string
1393
+ hidden: true
1394
+ description: Return the configured Security-Enhanced Linux (SELinux) policy.
1395
+ resolution: |
1396
+ Linux: parse the contents of `/etc/selinux/config` to retrieve the configured SELinux policy.
1397
+
1398
+ selinux_current_mode:
1399
+ type: string
1400
+ hidden: true
1401
+ description: Return the current Security-Enhanced Linux (SELinux) mode.
1402
+ resolution: |
1403
+ Linux: parse the contents of `<mountpoint>/enforce` to retrieve the current SELinux mode.
1404
+
1405
+ selinux_enforced:
1406
+ type: boolean
1407
+ hidden: true
1408
+ description: Return whether Security-Enhanced Linux (SELinux) is enforced.
1409
+ resolution: |
1410
+ Linux: parse the contents of `<mountpoint>/enforce` to retrieve the current SELinux mode.
1411
+
1412
+ selinux_policyversion:
1413
+ type: string
1414
+ hidden: true
1415
+ description: Return the Security-Enhanced Linux (SELinux) policy version.
1416
+ resolution: |
1417
+ Linux: parse the contents of `<mountpoint>/policyvers` to retrieve the SELinux policy version.
1418
+
1419
+ serialnumber:
1420
+ type: string
1421
+ hidden: true
1422
+ description: Return the system product serial number.
1423
+ resolution: |
1424
+ Linux: parse the contents of `/sys/class/dmi/id/product_name` to retrieve the system product serial number.
1425
+ Solaris: use the `smbios` utility to retrieve the system product serial number.
1426
+ Windows: use WMI to retrieve the system product serial number.
1427
+ caveats: |
1428
+ Linux: kernel 2.6+ is required due to the reliance on sysfs.
1429
+
1430
+ solaris_zones:
1431
+ type: map
1432
+ description: Return information about Solaris zones.
1433
+ resolution: |
1434
+ Solaris: use the `zoneadm` and `zonename` utilities to retrieve information about the Solaris zones.
1435
+ elements:
1436
+ current:
1437
+ type: string
1438
+ description: The name of the current Solaris zone.
1439
+ zones:
1440
+ type: map
1441
+ description: Represents the Solaris zones.
1442
+ elements:
1443
+ <zonename>:
1444
+ pattern: .*
1445
+ type: map
1446
+ description: Represents a Solaris zone.
1447
+ elements:
1448
+ brand:
1449
+ type: string
1450
+ description: The brand of the Solaris zone.
1451
+ id:
1452
+ type: string
1453
+ description: The id of the Solaris zone.
1454
+ ip_type:
1455
+ type: string
1456
+ description: The IP type of the Solaris zone.
1457
+ path:
1458
+ type: string
1459
+ description: The path of the Solaris zone.
1460
+ status:
1461
+ type: string
1462
+ description: The status of the Solaris zone.
1463
+ uuid:
1464
+ type: string
1465
+ description: The unique identifier of the Solaris zone.
1466
+
1467
+ sp_<name>:
1468
+ pattern: ^sp_\w+$
1469
+ hidden: true
1470
+ type: string
1471
+ description: Return Mac OSX system profiler information.
1472
+ resolution: |
1473
+ Mac OSX: use the `system_profiler` utility to retrieve system profiler information.
1474
+
1475
+ ssh:
1476
+ type: map
1477
+ description: Return SSH public keys and fingerprints.
1478
+ resolution: |
1479
+ POSIX platforms: parse SSH public key files and derive fingerprints.
1480
+ caveats: |
1481
+ POSIX platforms: facter must be built with OpenSSL support.
1482
+ elements:
1483
+ dsa:
1484
+ type: map
1485
+ description: Represents the public key and fingerprints for the DSA algorithm.
1486
+ elements:
1487
+ fingerprints:
1488
+ type: map
1489
+ description: Represents fingerprint information.
1490
+ elements:
1491
+ sha1:
1492
+ type: string
1493
+ description: The SHA1 fingerprint of the public key.
1494
+ sha256:
1495
+ type: string
1496
+ description: The SHA256 fingerprint of the public key.
1497
+ key:
1498
+ type: string
1499
+ description: The DSA public key.
1500
+ ecdsa:
1501
+ type: map
1502
+ description: Represents the public key and fingerprints for the ECDSA algorithm.
1503
+ elements:
1504
+ fingerprints:
1505
+ type: map
1506
+ description: Represents fingerprint information.
1507
+ elements:
1508
+ sha1:
1509
+ type: string
1510
+ description: The SHA1 fingerprint of the public key.
1511
+ sha256:
1512
+ type: string
1513
+ description: The SHA256 fingerprint of the public key.
1514
+ key:
1515
+ type: string
1516
+ description: The ECDSA public key.
1517
+ ed25519:
1518
+ type: map
1519
+ description: Represents the public key and fingerprints for the Ed25519 algorithm.
1520
+ elements:
1521
+ fingerprints:
1522
+ type: map
1523
+ description: Represents fingerprint information.
1524
+ elements:
1525
+ sha1:
1526
+ type: string
1527
+ description: The SHA1 fingerprint of the public key.
1528
+ sha256:
1529
+ type: string
1530
+ description: The SHA256 fingerprint of the public key.
1531
+ key:
1532
+ type: string
1533
+ description: The Ed25519 public key.
1534
+ rsa:
1535
+ type: map
1536
+ description: Represents the public key and fingerprints for the RSA algorithm.
1537
+ elements:
1538
+ fingerprints:
1539
+ type: map
1540
+ description: Represents fingerprint information.
1541
+ elements:
1542
+ sha1:
1543
+ type: string
1544
+ description: The SHA1 fingerprint of the public key.
1545
+ sha256:
1546
+ type: string
1547
+ description: The SHA256 fingerprint of the public key.
1548
+ key:
1549
+ type: string
1550
+ description: The RSA public key.
1551
+
1552
+ ssh<algorithm>key:
1553
+ pattern: ^ssh\w*key$
1554
+ hidden: true
1555
+ type: string
1556
+ description: Return the SSH public key for the algorithm.
1557
+ resolution: |
1558
+ POSIX platforms: parse SSH public key files.
1559
+ caveats: |
1560
+ POSIX platforms: facter must be built with OpenSSL support.
1561
+
1562
+ sshfp_<algorithm>:
1563
+ pattern: ^sshfp_\w*$
1564
+ hidden: true
1565
+ type: string
1566
+ description: Return the SSH fingerprints for the algorithm's public key.
1567
+ resolution: |
1568
+ POSIX platforms: derive the SHA1 and SHA256 fingerprints; delimit with a new line character.
1569
+ caveats: |
1570
+ POSIX platforms: facter must be built with OpenSSL support.
1571
+
1572
+ swapencrypted:
1573
+ type: boolean
1574
+ hidden: true
1575
+ description: Return whether or not the swap is encrypted.
1576
+ resolution: |
1577
+ Mac OSX: use the `sysctl` function to retrieve swap encryption status.
1578
+
1579
+ swapfree:
1580
+ type: string
1581
+ hidden: true
1582
+ description: Return the display size of the free swap memory (e.g. "1 GiB").
1583
+ resolution: |
1584
+ Linux: parse the contents of `/proc/meminfo` to retrieve the free swap memory.
1585
+ Mac OSX: use the `sysctl` function to retrieve the free swap memory.
1586
+ Solaris: use the `swapctl` function to retrieve the free swap memory.
1587
+
1588
+ swapfree_mb:
1589
+ type: double
1590
+ hidden: true
1591
+ description: Return the size of the free swap memory, in mebibytes.
1592
+ resolution: |
1593
+ Linux: parse the contents of `/proc/meminfo` to retrieve the free swap memory.
1594
+ Mac OSX: use the `sysctl` function to retrieve the free swap memory.
1595
+ Solaris: use the `swapctl` function to retrieve the free swap memory.
1596
+
1597
+ swapsize:
1598
+ type: string
1599
+ hidden: true
1600
+ description: Return the display size of the total swap memory (e.g. "1 GiB").
1601
+ resolution: |
1602
+ Linux: parse the contents of `/proc/meminfo` to retrieve the total swap memory.
1603
+ Mac OSX: use the `sysctl` function to retrieve the total swap memory.
1604
+ Solaris: use the `swapctl` function to retrieve the total swap memory.
1605
+
1606
+ swapsize_mb:
1607
+ type: double
1608
+ hidden: true
1609
+ description: Return the size of the total swap memory, in mebibytes.
1610
+ resolution: |
1611
+ Linux: parse the contents of `/proc/meminfo` to retrieve the total swap memory.
1612
+ Mac OSX: use the `sysctl` function to retrieve the total swap memory.
1613
+ Solaris: use the `swapctl` function to retrieve the total swap memory.
1614
+
1615
+ system32:
1616
+ type: string
1617
+ hidden: true
1618
+ description: Return the path to the System32 directory on Windows.
1619
+ resolution: |
1620
+ Windows: use the `SHGetFolderPath` function to retrieve the path to the System32 directory.
1621
+
1622
+ system_profiler:
1623
+ type: map
1624
+ description: Return information from the Mac OSX system profiler.
1625
+ resolution: |
1626
+ Mac OSX: use the `system_profiler` utility to retrieve system profiler information.
1627
+ elements:
1628
+ boot_mode:
1629
+ type: string
1630
+ description: The boot mode.
1631
+ boot_rom_version:
1632
+ type: string
1633
+ description: The boot ROM version.
1634
+ boot_volume:
1635
+ type: string
1636
+ description: The boot volume.
1637
+ computer_name:
1638
+ type: string
1639
+ description: The name of the computer.
1640
+ cores:
1641
+ type: string
1642
+ description: The total number of processor cores.
1643
+ hardware_uuid:
1644
+ type: string
1645
+ description: The hardware unique identifier.
1646
+ kernel_version:
1647
+ type: string
1648
+ description: The version of the kernel.
1649
+ l2_cache_per_core:
1650
+ type: string
1651
+ description: The size of the processor per-core L2 cache.
1652
+ l3_cache:
1653
+ type: string
1654
+ description: The size of the processor L3 cache.
1655
+ memory:
1656
+ type: string
1657
+ description: The size of the system memory.
1658
+ model_identifier:
1659
+ type: string
1660
+ description: The identifier of the computer model.
1661
+ model_name:
1662
+ type: string
1663
+ description: The name of the computer model.
1664
+ processor_name:
1665
+ type: string
1666
+ description: The model name of the processor.
1667
+ processor_speed:
1668
+ type: string
1669
+ description: The speed of the processor.
1670
+ processors:
1671
+ type: string
1672
+ description: The total number of processors.
1673
+ secure_virtual_memory:
1674
+ type: string
1675
+ description: Whether or not secure virtual memory is enabled.
1676
+ serial_number:
1677
+ type: string
1678
+ description: The serial number of the computer.
1679
+ smc_version:
1680
+ type: string
1681
+ description: The System Management Controller (SMC) version.
1682
+ system_version:
1683
+ type: string
1684
+ description: The operating system version.
1685
+ uptime:
1686
+ type: string
1687
+ description: The uptime of the system.
1688
+ username:
1689
+ type: string
1690
+ description: The name of the user running facter.
1691
+
1692
+ system_uptime:
1693
+ type: map
1694
+ description: Return the system uptime information.
1695
+ resolution: |
1696
+ Linux: use the `sysinfo` function to retrieve the system uptime.
1697
+ POSIX platforms: use the `uptime` utility to retrieve the system uptime.
1698
+ Solaris: use the `kstat` function to retrieve the system uptime.
1699
+ Windows: use WMI to retrieve the system uptime.
1700
+ elements:
1701
+ days:
1702
+ type: integer
1703
+ description: The number of complete days the system has been up.
1704
+ hours:
1705
+ type: integer
1706
+ description: The number of complete hours the system has been up.
1707
+ seconds:
1708
+ type: integer
1709
+ description: The number of total seconds the system has been up.
1710
+ uptime:
1711
+ type: string
1712
+ description: The full uptime string.
1713
+
1714
+ timezone:
1715
+ type: string
1716
+ description: Return the system timezone.
1717
+ resolution: |
1718
+ POSIX platforms: use the `localtime_r` function to retrieve the system timezone.
1719
+ Windows: use the `localtime_s` function to retrieve the system timezone.
1720
+
1721
+ uptime:
1722
+ type: string
1723
+ hidden: true
1724
+ description: Return the system uptime.
1725
+ resolution: |
1726
+ Linux: use the `sysinfo` function to retrieve the system uptime.
1727
+ POSIX platforms: use the `uptime` utility to retrieve the system uptime.
1728
+ Solaris: use the `kstat` function to retrieve the system uptime.
1729
+ Windows: use WMI to retrieve the system uptime.
1730
+
1731
+ uptime_days:
1732
+ type: integer
1733
+ hidden: true
1734
+ description: Return the system uptime days.
1735
+ resolution: |
1736
+ Linux: use the `sysinfo` function to retrieve the system uptime days.
1737
+ POSIX platforms: use the `uptime` utility to retrieve the system uptime days.
1738
+ Solaris: use the `kstat` function to retrieve the system uptime days.
1739
+ Windows: use WMI to retrieve the system uptime days.
1740
+
1741
+ uptime_hours:
1742
+ type: integer
1743
+ hidden: true
1744
+ description: Return the system uptime hours.
1745
+ resolution: |
1746
+ Linux: use the `sysinfo` function to retrieve the system uptime hours.
1747
+ POSIX platforms: use the `uptime` utility to retrieve the system uptime hours.
1748
+ Solaris: use the `kstat` function to retrieve the system uptime hours.
1749
+ Windows: use WMI to retrieve the system uptime hours.
1750
+
1751
+ uptime_seconds:
1752
+ type: integer
1753
+ hidden: true
1754
+ description: Return the system uptime seconds.
1755
+ resolution: |
1756
+ Linux: use the `sysinfo` function to retrieve the system uptime seconds.
1757
+ POSIX platforms: use the `uptime` utility to retrieve the system uptime seconds.
1758
+ Solaris: use the `kstat` function to retrieve the system uptime seconds.
1759
+ Windows: use WMI to retrieve the system uptime seconds.
1760
+
1761
+ uuid:
1762
+ type: string
1763
+ hidden: true
1764
+ description: Return the system product unique identifier.
1765
+ resolution: |
1766
+ Linux: parse the contents of `/sys/class/dmi/id/product_uuid` to retrieve the system product unique identifier.
1767
+ Solaris: use the `smbios` utility to retrieve the system product unique identifier.
1768
+ caveats: |
1769
+ Linux: kernel 2.6+ is required due to the reliance on sysfs.
1770
+
1771
+ virtual:
1772
+ type: string
1773
+ description: Return the hypervisor name for virtual machines or "physical" for physical machines.
1774
+ resolution: |
1775
+ Linux: use procfs or utilities such as `vmware` and `virt-what` to retrieve virtual machine name.
1776
+ Mac OSX: use the system profiler to retrieve virtual machine name.
1777
+ Solaris: use the `zonename` utility to retrieve virtual machine name.
1778
+ Windows: use WMI to retrieve virtual machine name.
1779
+
1780
+ xen:
1781
+ type: map
1782
+ description: Return metadata for the Xen hypervisor.
1783
+ resolution: |
1784
+ POSIX platforms: use `/usr/lib/xen-common/bin/xen-toolstack` to locate xen admin commands if available, otherwise fallback to `/usr/sbin/xl` or `/usr/sbin/xm`. Use the found command to execute the `list` query.
1785
+ caveats: |
1786
+ POSIX platforms: confined to Xen privileged virtual machines.
1787
+ elements:
1788
+ domains:
1789
+ type: array
1790
+ description: list of strings identifying active Xen domains.
1791
+
1792
+ xendomains:
1793
+ type: string
1794
+ hidden: true
1795
+ description: Return a list of comma-separated active Xen domain names.
1796
+ resolution: |
1797
+ POSIX platforms: see the `xen` structured fact.
1798
+ caveats: |
1799
+ POSIX platforms: confined to Xen privileged virtual machines.
1800
+
1801
+ zfs_featurenumbers:
1802
+ type: string
1803
+ description: Return the comma-delimited feature numbers for ZFS.
1804
+ resolution: |
1805
+ Solaris: use the `zfs` utility to retrieve the feature numbers for ZFS
1806
+ caveats: |
1807
+ Solaris: the `zfs` utility must be present.
1808
+
1809
+ zfs_version:
1810
+ type: string
1811
+ description: Return the version for ZFS.
1812
+ resolution: |
1813
+ Solaris: use the `zfs` utility to retrieve the version for ZFS
1814
+ caveats: |
1815
+ Solaris: the `zfs` utility must be present.
1816
+
1817
+ zone_<name>_brand:
1818
+ pattern: ^zone_[\w\-\.]+_brand$
1819
+ type: string
1820
+ hidden: true
1821
+ description: Return the brand for the Solaris zone.
1822
+ resolution: |
1823
+ Solaris: use the `zoneadm` utility to retrieve the brand for the Solaris zone.
1824
+ caveats: |
1825
+ Solaris: the `zoneadm` utility must be present.
1826
+
1827
+ zone_<name>_iptype:
1828
+ pattern: ^zone_[\w\-\.]+_iptype$
1829
+ type: string
1830
+ hidden: true
1831
+ description: Return the IP type for the Solaris zone.
1832
+ resolution: |
1833
+ Solaris: use the `zoneadm` utility to retrieve the IP type for the Solaris zone.
1834
+ caveats: |
1835
+ Solaris: the `zoneadm` utility must be present.
1836
+
1837
+ zone_<name>_name:
1838
+ pattern: ^zone_[\w\-\.]+_name$
1839
+ type: string
1840
+ hidden: true
1841
+ description: Return the name for the Solaris zone.
1842
+ resolution: |
1843
+ Solaris: use the `zoneadm` utility to retrieve the name for the Solaris zone.
1844
+ caveats: |
1845
+ Solaris: the `zoneadm` utility must be present.
1846
+
1847
+ zone_<name>_uuid:
1848
+ pattern: ^zone_[\w\-\.]+_uuid$
1849
+ type: string
1850
+ hidden: true
1851
+ description: Return the unique identifier for the Solaris zone.
1852
+ resolution: |
1853
+ Solaris: use the `zoneadm` utility to retrieve the unique identifier for the Solaris zone.
1854
+ caveats: |
1855
+ Solaris: the `zoneadm` utility must be present.
1856
+
1857
+ zone_<name>_id:
1858
+ pattern: ^zone_[\w\-\.]+_id$
1859
+ type: string
1860
+ hidden: true
1861
+ description: Return the zone identifier for the Solaris zone.
1862
+ resolution: |
1863
+ Solaris: use the `zoneadm` utility to retrieve the zone identifier for the Solaris zone.
1864
+ caveats: |
1865
+ Solaris: the `zoneadm` utility must be present.
1866
+
1867
+ zone_<name>_path:
1868
+ pattern: ^zone_[\w\-\.]+_path$
1869
+ type: string
1870
+ hidden: true
1871
+ description: Return the zone path for the Solaris zone.
1872
+ resolution: |
1873
+ Solaris: use the `zoneadm` utility to retrieve the zone path for the Solaris zone.
1874
+ caveats: |
1875
+ Solaris: the `zoneadm` utility must be present.
1876
+
1877
+ zone_<name>_status:
1878
+ pattern: ^zone_[\w\-\.]+_status$
1879
+ type: string
1880
+ hidden: true
1881
+ description: Return the zone state for the Solaris zone.
1882
+ resolution: |
1883
+ Solaris: use the `zoneadm` utility to retrieve the zone state for the Solaris zone.
1884
+ caveats: |
1885
+ Solaris: the `zoneadm` utility must be present.
1886
+
1887
+ zonename:
1888
+ type: string
1889
+ hidden: true
1890
+ description: Return the name of the current Solaris zone.
1891
+ resolution: |
1892
+ Solaris: use the `zonename` utility to retrieve the current zone name.
1893
+ caveats: |
1894
+ Solaris: the `zonename` utility must be present.
1895
+
1896
+ zones:
1897
+ type: integer
1898
+ hidden: true
1899
+ description: Return the count of Solaris zones.
1900
+ resolution: |
1901
+ Solaris: use the `zoneadm` utility to retrieve the count of Solaris zones.
1902
+ caveats: |
1903
+ Solaris: the `zoneadm` utility must be present.
1904
+
1905
+ zpool_featureflags:
1906
+ type: string
1907
+ description: Return the comma-delimited feature flags for ZFS storage pools.
1908
+ resolution: |
1909
+ Solaris: use the `zpool` utility to retrieve the feature numbers for ZFS storage pools
1910
+ caveats: |
1911
+ Solaris: the `zpool` utility must be present.
1912
+
1913
+ zpool_featurenumbers:
1914
+ type: string
1915
+ description: Return the comma-delimited feature numbers for ZFS storage pools.
1916
+ resolution: |
1917
+ Solaris: use the `zpool` utility to retrieve the feature numbers for ZFS storage pools
1918
+ caveats: |
1919
+ Solaris: the `zpool` utility must be present.
1920
+
1921
+ zpool_version:
1922
+ type: string
1923
+ description: Return the version for ZFS storage pools.
1924
+ resolution: |
1925
+ Solaris: use the `zpool` utility to retrieve the version for ZFS storage pools
1926
+ caveats: |
1927
+ Solaris: the `zpool` utility must be present.