cfacter 3.11.0.rc.20180314
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/ext/facter/Makefile.erb +31 -0
- data/ext/facter/cpp-hocon/CMakeLists.txt +67 -0
- data/ext/facter/cpp-hocon/CONTRIBUTING.md +9 -0
- data/ext/facter/cpp-hocon/LICENSE +17 -0
- data/ext/facter/cpp-hocon/MAINTAINERS +33 -0
- data/ext/facter/cpp-hocon/README.md +74 -0
- data/ext/facter/cpp-hocon/acceptance/Gemfile +18 -0
- data/ext/facter/cpp-hocon/acceptance/Rakefile +7 -0
- data/ext/facter/cpp-hocon/acceptance/tests/fake.rb +0 -0
- data/ext/facter/cpp-hocon/appveyor.yml +41 -0
- data/ext/facter/cpp-hocon/lib/CMakeLists.txt +94 -0
- data/ext/facter/cpp-hocon/lib/Doxyfile.in +2312 -0
- data/ext/facter/cpp-hocon/lib/inc/hocon/config.hpp +734 -0
- data/ext/facter/cpp-hocon/lib/inc/hocon/config_exception.hpp +184 -0
- data/ext/facter/cpp-hocon/lib/inc/hocon/config_include_context.hpp +51 -0
- data/ext/facter/cpp-hocon/lib/inc/hocon/config_includer.hpp +53 -0
- data/ext/facter/cpp-hocon/lib/inc/hocon/config_includer_file.hpp +30 -0
- data/ext/facter/cpp-hocon/lib/inc/hocon/config_list.hpp +51 -0
- data/ext/facter/cpp-hocon/lib/inc/hocon/config_mergeable.hpp +72 -0
- data/ext/facter/cpp-hocon/lib/inc/hocon/config_object.hpp +81 -0
- data/ext/facter/cpp-hocon/lib/inc/hocon/config_origin.hpp +98 -0
- data/ext/facter/cpp-hocon/lib/inc/hocon/config_parse_options.hpp +139 -0
- data/ext/facter/cpp-hocon/lib/inc/hocon/config_parseable.hpp +47 -0
- data/ext/facter/cpp-hocon/lib/inc/hocon/config_render_options.hpp +128 -0
- data/ext/facter/cpp-hocon/lib/inc/hocon/config_resolve_options.hpp +83 -0
- data/ext/facter/cpp-hocon/lib/inc/hocon/config_syntax.hpp +24 -0
- data/ext/facter/cpp-hocon/lib/inc/hocon/config_value.hpp +267 -0
- data/ext/facter/cpp-hocon/lib/inc/hocon/config_value_factory.hpp +48 -0
- data/ext/facter/cpp-hocon/lib/inc/hocon/functional_list.hpp +318 -0
- data/ext/facter/cpp-hocon/lib/inc/hocon/parser/config_document.hpp +95 -0
- data/ext/facter/cpp-hocon/lib/inc/hocon/parser/config_document_factory.hpp +39 -0
- data/ext/facter/cpp-hocon/lib/inc/hocon/parser/config_node.hpp +32 -0
- data/ext/facter/cpp-hocon/lib/inc/hocon/path.hpp +60 -0
- data/ext/facter/cpp-hocon/lib/inc/hocon/program_options.hpp +84 -0
- data/ext/facter/cpp-hocon/lib/inc/hocon/types.hpp +57 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/config_document_parser.hpp +83 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/config_parser.hpp +55 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/config_util.hpp +17 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/container.hpp +28 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/default_transformer.hpp +12 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/full_includer.hpp +13 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/nodes/abstract_config_node.hpp +16 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/nodes/abstract_config_node_value.hpp +12 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_array.hpp +17 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_comment.hpp +14 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_complex_value.hpp +25 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_concatenation.hpp +16 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_field.hpp +29 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_include.hpp +26 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_object.hpp +45 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_path.hpp +25 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_root.hpp +24 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_simple_value.hpp +21 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_single_token.hpp +20 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/parseable.hpp +128 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/path_builder.hpp +20 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/path_parser.hpp +55 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/replaceable_merge_stack.hpp +14 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/resolve_context.hpp +53 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/resolve_result.hpp +21 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/resolve_source.hpp +55 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/simple_config_document.hpp +28 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/simple_config_origin.hpp +67 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/simple_include_context.hpp +22 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/simple_includer.hpp +79 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/substitution_expression.hpp +28 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/token.hpp +45 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/tokenizer.hpp +143 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/tokens.hpp +135 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/unmergeable.hpp +20 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/values/config_boolean.hpp +26 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/values/config_concatenation.hpp +59 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/values/config_delayed_merge.hpp +53 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/values/config_delayed_merge_object.hpp +57 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/values/config_double.hpp +28 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/values/config_int.hpp +25 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/values/config_long.hpp +28 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/values/config_null.hpp +33 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/values/config_number.hpp +38 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/values/config_reference.hpp +38 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/values/config_string.hpp +32 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/values/simple_config_list.hpp +75 -0
- data/ext/facter/cpp-hocon/lib/inc/internal/values/simple_config_object.hpp +107 -0
- data/ext/facter/cpp-hocon/lib/namespaces.dox.in +6 -0
- data/ext/facter/cpp-hocon/lib/src/config.cc +573 -0
- data/ext/facter/cpp-hocon/lib/src/config_document_factory.cc +24 -0
- data/ext/facter/cpp-hocon/lib/src/config_document_parser.cc +620 -0
- data/ext/facter/cpp-hocon/lib/src/config_parse_options.cc +101 -0
- data/ext/facter/cpp-hocon/lib/src/config_parser.cc +399 -0
- data/ext/facter/cpp-hocon/lib/src/config_render_options.cc +44 -0
- data/ext/facter/cpp-hocon/lib/src/config_resolve_options.cc +24 -0
- data/ext/facter/cpp-hocon/lib/src/config_util.cc +95 -0
- data/ext/facter/cpp-hocon/lib/src/config_value_factory.cc +68 -0
- data/ext/facter/cpp-hocon/lib/src/default_transformer.cc +94 -0
- data/ext/facter/cpp-hocon/lib/src/nodes/abstract_config_node.cc +19 -0
- data/ext/facter/cpp-hocon/lib/src/nodes/config_node_array.cc +13 -0
- data/ext/facter/cpp-hocon/lib/src/nodes/config_node_comment.cc +15 -0
- data/ext/facter/cpp-hocon/lib/src/nodes/config_node_complex_value.cc +50 -0
- data/ext/facter/cpp-hocon/lib/src/nodes/config_node_concatenation.cc +14 -0
- data/ext/facter/cpp-hocon/lib/src/nodes/config_node_field.cc +80 -0
- data/ext/facter/cpp-hocon/lib/src/nodes/config_node_include.cc +38 -0
- data/ext/facter/cpp-hocon/lib/src/nodes/config_node_object.cc +318 -0
- data/ext/facter/cpp-hocon/lib/src/nodes/config_node_path.cc +47 -0
- data/ext/facter/cpp-hocon/lib/src/nodes/config_node_root.cc +70 -0
- data/ext/facter/cpp-hocon/lib/src/nodes/config_node_simple_value.cc +50 -0
- data/ext/facter/cpp-hocon/lib/src/nodes/config_node_single_token.cc +18 -0
- data/ext/facter/cpp-hocon/lib/src/parseable.cc +325 -0
- data/ext/facter/cpp-hocon/lib/src/path.cc +219 -0
- data/ext/facter/cpp-hocon/lib/src/path_builder.cc +38 -0
- data/ext/facter/cpp-hocon/lib/src/path_parser.cc +253 -0
- data/ext/facter/cpp-hocon/lib/src/resolve_context.cc +139 -0
- data/ext/facter/cpp-hocon/lib/src/resolve_source.cc +216 -0
- data/ext/facter/cpp-hocon/lib/src/simple_config_document.cc +69 -0
- data/ext/facter/cpp-hocon/lib/src/simple_config_origin.cc +246 -0
- data/ext/facter/cpp-hocon/lib/src/simple_include_context.cc +18 -0
- data/ext/facter/cpp-hocon/lib/src/simple_includer.cc +186 -0
- data/ext/facter/cpp-hocon/lib/src/substitution_expression.cc +35 -0
- data/ext/facter/cpp-hocon/lib/src/token.cc +52 -0
- data/ext/facter/cpp-hocon/lib/src/tokenizer.cc +568 -0
- data/ext/facter/cpp-hocon/lib/src/tokens.cc +257 -0
- data/ext/facter/cpp-hocon/lib/src/values/config_boolean.cc +34 -0
- data/ext/facter/cpp-hocon/lib/src/values/config_concatenation.cc +260 -0
- data/ext/facter/cpp-hocon/lib/src/values/config_delayed_merge.cc +223 -0
- data/ext/facter/cpp-hocon/lib/src/values/config_delayed_merge_object.cc +180 -0
- data/ext/facter/cpp-hocon/lib/src/values/config_double.cc +35 -0
- data/ext/facter/cpp-hocon/lib/src/values/config_int.cc +35 -0
- data/ext/facter/cpp-hocon/lib/src/values/config_long.cc +35 -0
- data/ext/facter/cpp-hocon/lib/src/values/config_null.cc +35 -0
- data/ext/facter/cpp-hocon/lib/src/values/config_number.cc +78 -0
- data/ext/facter/cpp-hocon/lib/src/values/config_object.cc +97 -0
- data/ext/facter/cpp-hocon/lib/src/values/config_reference.cc +85 -0
- data/ext/facter/cpp-hocon/lib/src/values/config_string.cc +47 -0
- data/ext/facter/cpp-hocon/lib/src/values/config_value.cc +289 -0
- data/ext/facter/cpp-hocon/lib/src/values/simple_config_list.cc +219 -0
- data/ext/facter/cpp-hocon/lib/src/values/simple_config_object.cc +515 -0
- data/ext/facter/cpp-hocon/lib/tests/CMakeLists.txt +42 -0
- data/ext/facter/cpp-hocon/lib/tests/concatenation_test.cc +401 -0
- data/ext/facter/cpp-hocon/lib/tests/conf_parser_test.cc +715 -0
- data/ext/facter/cpp-hocon/lib/tests/config_document_parser_test.cc +208 -0
- data/ext/facter/cpp-hocon/lib/tests/config_document_tests.cc +110 -0
- data/ext/facter/cpp-hocon/lib/tests/config_node_test.cc +338 -0
- data/ext/facter/cpp-hocon/lib/tests/config_substitution_test.cc +897 -0
- data/ext/facter/cpp-hocon/lib/tests/config_test.cc +151 -0
- data/ext/facter/cpp-hocon/lib/tests/config_value_factory_test.cc +60 -0
- data/ext/facter/cpp-hocon/lib/tests/config_value_test.cc +111 -0
- data/ext/facter/cpp-hocon/lib/tests/fixtures.hpp.in +3 -0
- data/ext/facter/cpp-hocon/lib/tests/fixtures/test01.conf +91 -0
- data/ext/facter/cpp-hocon/lib/tests/fixtures/test01.json +4 -0
- data/ext/facter/cpp-hocon/lib/tests/main.cc +8 -0
- data/ext/facter/cpp-hocon/lib/tests/path_test.cc +129 -0
- data/ext/facter/cpp-hocon/lib/tests/program_options.cc +63 -0
- data/ext/facter/cpp-hocon/lib/tests/test.conf +1 -0
- data/ext/facter/cpp-hocon/lib/tests/test_utils.cc +452 -0
- data/ext/facter/cpp-hocon/lib/tests/test_utils.hpp +139 -0
- data/ext/facter/cpp-hocon/lib/tests/token_test.cc +108 -0
- data/ext/facter/cpp-hocon/lib/tests/tokenizer_test.cc +694 -0
- data/ext/facter/cpp-hocon/lib/version.h.in +28 -0
- data/ext/facter/cpp-hocon/locales/CMakeLists.txt +4 -0
- data/ext/facter/cpp-hocon/locales/cpp-hocon.pot +767 -0
- data/ext/facter/extconf.rb +22 -0
- data/ext/facter/facter/CMakeLists.txt +183 -0
- data/ext/facter/facter/CONTRIBUTING.md +99 -0
- data/ext/facter/facter/Extensibility.md +133 -0
- data/ext/facter/facter/LICENSE +17 -0
- data/ext/facter/facter/MAINTAINERS +28 -0
- data/ext/facter/facter/README.md +295 -0
- data/ext/facter/facter/Rakefile +42 -0
- data/ext/facter/facter/acceptance/Gemfile +21 -0
- data/ext/facter/facter/acceptance/Rakefile +342 -0
- data/ext/facter/facter/acceptance/bin/ci-bootstrap-from-artifacts.sh +55 -0
- data/ext/facter/facter/acceptance/config/aio/options.rb +9 -0
- data/ext/facter/facter/acceptance/config/git/options.rb +7 -0
- data/ext/facter/facter/acceptance/config/nodes/aix-53-power.yaml +7 -0
- data/ext/facter/facter/acceptance/config/nodes/aix-61-power.yaml +7 -0
- data/ext/facter/facter/acceptance/config/nodes/aix-71-power.yaml +7 -0
- data/ext/facter/facter/acceptance/config/nodes/huaweios-6-powerpc.yaml +7 -0
- data/ext/facter/facter/acceptance/config/nodes/solaris-10-sparc.yaml +9 -0
- data/ext/facter/facter/acceptance/config/nodes/solaris-11-sparc.yaml +9 -0
- data/ext/facter/facter/acceptance/lib/facter/acceptance/base_fact_utils.rb +563 -0
- data/ext/facter/facter/acceptance/lib/facter/acceptance/user_fact_utils.rb +132 -0
- data/ext/facter/facter/acceptance/lib/helper.rb +1 -0
- data/ext/facter/facter/acceptance/lib/puppet/acceptance/common_utils.rb +10 -0
- data/ext/facter/facter/acceptance/lib/puppet/acceptance/git_utils.rb +19 -0
- data/ext/facter/facter/acceptance/lib/puppet/acceptance/install_utils.rb +58 -0
- data/ext/facter/facter/acceptance/setup/aio/pre-suite/010_Install.rb +22 -0
- data/ext/facter/facter/acceptance/setup/aio/pre-suite/021_InstallAristaModule.rb +12 -0
- data/ext/facter/facter/acceptance/setup/aio/pre-suite/022_Remove_LD_PRELOAD.rb +11 -0
- data/ext/facter/facter/acceptance/setup/common/00_EnvSetup.rb +64 -0
- data/ext/facter/facter/acceptance/setup/common/pre-suite/000-delete-puppet-when-none.rb +11 -0
- data/ext/facter/facter/acceptance/setup/git/pre-suite/01_TestSetup.rb +31 -0
- data/ext/facter/facter/acceptance/tests/custom_facts/custom_fact_with_10001_weight_overrides_external_fact.rb +30 -0
- data/ext/facter/facter/acceptance/tests/custom_facts/having_multiple_facts_in_one_file.rb +40 -0
- data/ext/facter/facter/acceptance/tests/custom_facts/using_win32ole_should_not_hang.rb +33 -0
- data/ext/facter/facter/acceptance/tests/external_facts/env_var_overrides_external_fact.rb +46 -0
- data/ext/facter/facter/acceptance/tests/external_facts/external_dir_overrides_default_external_fact.rb +34 -0
- data/ext/facter/facter/acceptance/tests/external_facts/external_fact_overrides_custom_fact.rb +29 -0
- data/ext/facter/facter/acceptance/tests/external_facts/external_fact_overrides_custom_fact_with_10000_weight_or_less.rb +30 -0
- data/ext/facter/facter/acceptance/tests/external_facts/external_fact_overrides_custom_fact_with_confine.rb +35 -0
- data/ext/facter/facter/acceptance/tests/external_facts/external_fact_stderr_messages_output_to_stderr.rb +49 -0
- data/ext/facter/facter/acceptance/tests/external_facts/external_facts_only_run_once.rb +43 -0
- data/ext/facter/facter/acceptance/tests/external_facts/fact_directory_precedence.rb +109 -0
- data/ext/facter/facter/acceptance/tests/external_facts/non_root_users_default_external_fact_directory.rb +142 -0
- data/ext/facter/facter/acceptance/tests/external_facts/root_uses_default_external_fact_dir.rb +34 -0
- data/ext/facter/facter/acceptance/tests/external_facts/structured_executable_facts.rb +139 -0
- data/ext/facter/facter/acceptance/tests/facter_returns_success_on_non_existent_fact.rb +9 -0
- data/ext/facter/facter/acceptance/tests/facts/dmi.rb +51 -0
- data/ext/facter/facter/acceptance/tests/facts/facterversion.rb +11 -0
- data/ext/facter/facter/acceptance/tests/facts/identity.rb +52 -0
- data/ext/facter/facter/acceptance/tests/facts/networking_facts.rb +76 -0
- data/ext/facter/facter/acceptance/tests/facts/non_root_users_without_errors.rb +32 -0
- data/ext/facter/facter/acceptance/tests/facts/operatingsystem_detection_after_clear_on_ubuntu.rb +26 -0
- data/ext/facter/facter/acceptance/tests/facts/os_processors_and_kernel.rb +20 -0
- data/ext/facter/facter/acceptance/tests/facts/partitions.rb +37 -0
- data/ext/facter/facter/acceptance/tests/facts/productname.rb +15 -0
- data/ext/facter/facter/acceptance/tests/facts/ruby.rb +59 -0
- data/ext/facter/facter/acceptance/tests/facts/validate_file_system_size_bytes.rb +37 -0
- data/ext/facter/facter/acceptance/tests/facts/verify_tmpfs_file_system.rb +54 -0
- data/ext/facter/facter/acceptance/tests/load_libfacter.rb +66 -0
- data/ext/facter/facter/acceptance/tests/no_errors_on_stderr.rb +10 -0
- data/ext/facter/facter/acceptance/tests/options/color.rb +16 -0
- data/ext/facter/facter/acceptance/tests/options/config.rb +27 -0
- data/ext/facter/facter/acceptance/tests/options/config_file/blocklist.rb +35 -0
- data/ext/facter/facter/acceptance/tests/options/config_file/blocklist_from_puppet_facts.rb +40 -0
- data/ext/facter/facter/acceptance/tests/options/config_file/custom_dir_overridden_by_cli_custom_dir.rb +56 -0
- data/ext/facter/facter/acceptance/tests/options/config_file/custom_facts.rb +42 -0
- data/ext/facter/facter/acceptance/tests/options/config_file/custom_facts_list.rb +56 -0
- data/ext/facter/facter/acceptance/tests/options/config_file/debug.rb +34 -0
- data/ext/facter/facter/acceptance/tests/options/config_file/debug_override_config_file.rb +34 -0
- data/ext/facter/facter/acceptance/tests/options/config_file/default_file_location.rb +37 -0
- data/ext/facter/facter/acceptance/tests/options/config_file/external_dir_conflicts_with_cli_no_external_facts.rb +37 -0
- data/ext/facter/facter/acceptance/tests/options/config_file/external_dir_overridden_by_cli_external_dir.rb +40 -0
- data/ext/facter/facter/acceptance/tests/options/config_file/external_facts.rb +37 -0
- data/ext/facter/facter/acceptance/tests/options/config_file/external_facts_list.rb +43 -0
- data/ext/facter/facter/acceptance/tests/options/config_file/load_from_ruby.rb +73 -0
- data/ext/facter/facter/acceptance/tests/options/config_file/log_level.rb +35 -0
- data/ext/facter/facter/acceptance/tests/options/config_file/no_custom_facts_and_custom_dir.rb +43 -0
- data/ext/facter/facter/acceptance/tests/options/config_file/no_custom_facts_and_facterlib.rb +43 -0
- data/ext/facter/facter/acceptance/tests/options/config_file/no_custom_facts_and_load_path.rb +49 -0
- data/ext/facter/facter/acceptance/tests/options/config_file/no_external_facts.rb +38 -0
- data/ext/facter/facter/acceptance/tests/options/config_file/no_external_facts_and_external_dir.rb +34 -0
- data/ext/facter/facter/acceptance/tests/options/config_file/no_ruby_disables_custom_facts.rb +52 -0
- data/ext/facter/facter/acceptance/tests/options/config_file/no_ruby_disables_ruby_facts.rb +34 -0
- data/ext/facter/facter/acceptance/tests/options/config_file/trace.rb +48 -0
- data/ext/facter/facter/acceptance/tests/options/config_file/ttls_cached_facts_clear_by_empty_ttls_cache_list.rb +71 -0
- data/ext/facter/facter/acceptance/tests/options/config_file/ttls_cached_facts_creates_json_cache_file.rb +48 -0
- data/ext/facter/facter/acceptance/tests/options/config_file/ttls_cached_facts_expire_facts_do_not_read_the_old_cached_value.rb +58 -0
- data/ext/facter/facter/acceptance/tests/options/config_file/ttls_cached_facts_expire_facts_refresh_the_cached_value.rb +61 -0
- data/ext/facter/facter/acceptance/tests/options/config_file/ttls_cached_facts_read_from_the_cached_value.rb +57 -0
- data/ext/facter/facter/acceptance/tests/options/config_file/ttls_cached_facts_that_are_corrupt_are_refreshed.rb +53 -0
- data/ext/facter/facter/acceptance/tests/options/config_file/ttls_cached_facts_that_are_empty_return_an_empty_value.rb +53 -0
- data/ext/facter/facter/acceptance/tests/options/config_file/ttls_puppet_facts_creates_json_for_cached_facts.rb +45 -0
- data/ext/facter/facter/acceptance/tests/options/config_file/ttls_puppet_facts_honors_cached_facts.rb +54 -0
- data/ext/facter/facter/acceptance/tests/options/config_file/verbose.rb +34 -0
- data/ext/facter/facter/acceptance/tests/options/custom_facts.rb +34 -0
- data/ext/facter/facter/acceptance/tests/options/custom_facts_facterlib.rb +33 -0
- data/ext/facter/facter/acceptance/tests/options/custom_facts_list.rb +48 -0
- data/ext/facter/facter/acceptance/tests/options/custom_facts_load_path.rb +42 -0
- data/ext/facter/facter/acceptance/tests/options/debug.rb +12 -0
- data/ext/facter/facter/acceptance/tests/options/external_facts.rb +28 -0
- data/ext/facter/facter/acceptance/tests/options/external_facts_list.rb +35 -0
- data/ext/facter/facter/acceptance/tests/options/help.rb +13 -0
- data/ext/facter/facter/acceptance/tests/options/json.rb +43 -0
- data/ext/facter/facter/acceptance/tests/options/list_block_groups.rb +16 -0
- data/ext/facter/facter/acceptance/tests/options/list_cache_groups.rb +16 -0
- data/ext/facter/facter/acceptance/tests/options/log_level.rb +13 -0
- data/ext/facter/facter/acceptance/tests/options/no_block.rb +34 -0
- data/ext/facter/facter/acceptance/tests/options/no_cache_should_not_cache_facts.rb +43 -0
- data/ext/facter/facter/acceptance/tests/options/no_cache_should_not_load_cached_facts.rb +58 -0
- data/ext/facter/facter/acceptance/tests/options/no_cache_should_not_refresh_cached_facts.rb +63 -0
- data/ext/facter/facter/acceptance/tests/options/no_color.rb +16 -0
- data/ext/facter/facter/acceptance/tests/options/no_custom_facts.rb +34 -0
- data/ext/facter/facter/acceptance/tests/options/no_custom_facts_and_custom_dir.rb +19 -0
- data/ext/facter/facter/acceptance/tests/options/no_custom_facts_and_facterlib.rb +34 -0
- data/ext/facter/facter/acceptance/tests/options/no_custom_facts_and_load_path.rb +43 -0
- data/ext/facter/facter/acceptance/tests/options/no_external_facts.rb +28 -0
- data/ext/facter/facter/acceptance/tests/options/no_external_facts_and_external_dir.rb +19 -0
- data/ext/facter/facter/acceptance/tests/options/no_ruby.rb +44 -0
- data/ext/facter/facter/acceptance/tests/options/puppet_facts.rb +35 -0
- data/ext/facter/facter/acceptance/tests/options/show_legacy.rb +18 -0
- data/ext/facter/facter/acceptance/tests/options/strict.rb +11 -0
- data/ext/facter/facter/acceptance/tests/options/trace.rb +36 -0
- data/ext/facter/facter/acceptance/tests/options/verbose.rb +12 -0
- data/ext/facter/facter/acceptance/tests/options/version.rb +12 -0
- data/ext/facter/facter/acceptance/tests/options/yaml.rb +43 -0
- data/ext/facter/facter/acceptance/tests/ticket_1123_facter_with_invalid_locale.rb +22 -0
- data/ext/facter/facter/acceptance/tests/ticket_1238_hostname_fqdn.rb +57 -0
- data/ext/facter/facter/appveyor.yml +43 -0
- data/ext/facter/facter/cmake/FindBLKID.cmake +6 -0
- data/ext/facter/facter/cmake/FindCPPHOCON.cmake +6 -0
- data/ext/facter/facter/cmake/FindDependency.cmake +54 -0
- data/ext/facter/facter/cmake/FindOPENSSL.cmake +10 -0
- data/ext/facter/facter/cmake/FindRuby.cmake +286 -0
- data/ext/facter/facter/cmake/FindWHEREAMI.cmake +6 -0
- data/ext/facter/facter/cmake/FindYAMLCPP.cmake +17 -0
- data/ext/facter/facter/contrib/dockerfiles/travis-cpp-builder/Dockerfile +56 -0
- data/ext/facter/facter/contrib/dockerfiles/travis-facter-builder/Dockerfile +23 -0
- data/ext/facter/facter/contrib/dockerfiles/travis-facter-coverity/Dockerfile +40 -0
- data/ext/facter/facter/contrib/dockerfiles/travis-facter-coverity/_coverity-submit.erb +12 -0
- data/ext/facter/facter/contrib/dockerfiles/travis-facter-coverity/fix_curl_command.patch +32 -0
- data/ext/facter/facter/exe/CMakeLists.txt +39 -0
- data/ext/facter/facter/exe/facter.cc +377 -0
- data/ext/facter/facter/ext/build_defaults.yaml +16 -0
- data/ext/facter/facter/ext/debian/changelog.erb +11 -0
- data/ext/facter/facter/ext/debian/compat +1 -0
- data/ext/facter/facter/ext/debian/control +14 -0
- data/ext/facter/facter/ext/debian/copyright +19 -0
- data/ext/facter/facter/ext/debian/docs +2 -0
- data/ext/facter/facter/ext/debian/facter.install +4 -0
- data/ext/facter/facter/ext/debian/lintian-overrides +0 -0
- data/ext/facter/facter/ext/debian/rules +39 -0
- data/ext/facter/facter/ext/debian/source/format +1 -0
- data/ext/facter/facter/ext/project_data.yaml +30 -0
- data/ext/facter/facter/ext/redhat/facter.spec.erb +113 -0
- data/ext/facter/facter/ext/windows/facter.bat +8 -0
- data/ext/facter/facter/ext/windows/facter_interactive.bat +6 -0
- data/ext/facter/facter/ext/windows/run_facter_interactive.bat +9 -0
- data/ext/facter/facter/factergo/example/main.go +17 -0
- data/ext/facter/facter/factergo/facter.go +42 -0
- data/ext/facter/facter/factergo/facter_test.go +25 -0
- data/ext/facter/facter/lib/CMakeLists.txt +409 -0
- data/ext/facter/facter/lib/Doxyfile +2313 -0
- data/ext/facter/facter/lib/Facter.java.in +110 -0
- data/ext/facter/facter/lib/Gemfile +11 -0
- data/ext/facter/facter/lib/Rakefile +8 -0
- data/ext/facter/facter/lib/docs/generate.rb +25 -0
- data/ext/facter/facter/lib/docs/namespaces.dox +129 -0
- data/ext/facter/facter/lib/docs/template.erb +43 -0
- data/ext/facter/facter/lib/facter.rb.in +45 -0
- data/ext/facter/facter/lib/gemspec.in +21 -0
- data/ext/facter/facter/lib/inc/facter/cwrapper.hpp +18 -0
- data/ext/facter/facter/lib/inc/facter/facts/array_value.hpp +125 -0
- data/ext/facter/facter/lib/inc/facter/facts/collection.hpp +339 -0
- data/ext/facter/facter/lib/inc/facter/facts/external/resolver.hpp +49 -0
- data/ext/facter/facter/lib/inc/facter/facts/fact.hpp +669 -0
- data/ext/facter/facter/lib/inc/facter/facts/map_value.hpp +127 -0
- data/ext/facter/facter/lib/inc/facter/facts/os.hpp +202 -0
- data/ext/facter/facter/lib/inc/facter/facts/os_family.hpp +58 -0
- data/ext/facter/facter/lib/inc/facter/facts/resolver.hpp +126 -0
- data/ext/facter/facter/lib/inc/facter/facts/scalar_value.hpp +152 -0
- data/ext/facter/facter/lib/inc/facter/facts/value.hpp +164 -0
- data/ext/facter/facter/lib/inc/facter/facts/vm.hpp +157 -0
- data/ext/facter/facter/lib/inc/facter/logging/logging.hpp +192 -0
- data/ext/facter/facter/lib/inc/facter/ruby/ruby.hpp +62 -0
- data/ext/facter/facter/lib/inc/facter/util/config.hpp +84 -0
- data/ext/facter/facter/lib/inc/facter/util/string.hpp +72 -0
- data/ext/facter/facter/lib/inc/internal/facts/aix/disk_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/aix/filesystem_resolver.hpp +41 -0
- data/ext/facter/facter/lib/inc/internal/facts/aix/kernel_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/aix/memory_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/aix/networking_resolver.hpp +49 -0
- data/ext/facter/facter/lib/inc/internal/facts/aix/operating_system_resolver.hpp +24 -0
- data/ext/facter/facter/lib/inc/internal/facts/aix/processor_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/aix/serial_number_resolver.hpp +27 -0
- data/ext/facter/facter/lib/inc/internal/facts/bsd/filesystem_resolver.hpp +30 -0
- data/ext/facter/facter/lib/inc/internal/facts/bsd/networking_resolver.hpp +59 -0
- data/ext/facter/facter/lib/inc/internal/facts/bsd/uptime_resolver.hpp +24 -0
- data/ext/facter/facter/lib/inc/internal/facts/cache.hpp +71 -0
- data/ext/facter/facter/lib/inc/internal/facts/external/execution_resolver.hpp +31 -0
- data/ext/facter/facter/lib/inc/internal/facts/external/json_resolver.hpp +31 -0
- data/ext/facter/facter/lib/inc/internal/facts/external/text_resolver.hpp +31 -0
- data/ext/facter/facter/lib/inc/internal/facts/external/windows/powershell_resolver.hpp +34 -0
- data/ext/facter/facter/lib/inc/internal/facts/external/yaml_resolver.hpp +31 -0
- data/ext/facter/facter/lib/inc/internal/facts/freebsd/dmi_resolver.hpp +28 -0
- data/ext/facter/facter/lib/inc/internal/facts/freebsd/memory_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/freebsd/networking_resolver.hpp +42 -0
- data/ext/facter/facter/lib/inc/internal/facts/freebsd/operating_system_resolver.hpp +24 -0
- data/ext/facter/facter/lib/inc/internal/facts/freebsd/processor_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/freebsd/virtualization_resolver.hpp +27 -0
- data/ext/facter/facter/lib/inc/internal/facts/freebsd/zfs_resolver.hpp +24 -0
- data/ext/facter/facter/lib/inc/internal/facts/freebsd/zpool_resolver.hpp +24 -0
- data/ext/facter/facter/lib/inc/internal/facts/glib/load_average_resolver.hpp +24 -0
- data/ext/facter/facter/lib/inc/internal/facts/linux/disk_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/linux/dmi_resolver.hpp +37 -0
- data/ext/facter/facter/lib/inc/internal/facts/linux/filesystem_resolver.hpp +40 -0
- data/ext/facter/facter/lib/inc/internal/facts/linux/fips_resolver.hpp +31 -0
- data/ext/facter/facter/lib/inc/internal/facts/linux/kernel_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/linux/memory_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/linux/networking_resolver.hpp +78 -0
- data/ext/facter/facter/lib/inc/internal/facts/linux/operating_system_resolver.hpp +28 -0
- data/ext/facter/facter/lib/inc/internal/facts/linux/os_cisco.hpp +114 -0
- data/ext/facter/facter/lib/inc/internal/facts/linux/os_coreos.hpp +56 -0
- data/ext/facter/facter/lib/inc/internal/facts/linux/os_cumulus.hpp +56 -0
- data/ext/facter/facter/lib/inc/internal/facts/linux/os_linux.hpp +72 -0
- data/ext/facter/facter/lib/inc/internal/facts/linux/processor_resolver.hpp +60 -0
- data/ext/facter/facter/lib/inc/internal/facts/linux/release_file.hpp +124 -0
- data/ext/facter/facter/lib/inc/internal/facts/linux/uptime_resolver.hpp +24 -0
- data/ext/facter/facter/lib/inc/internal/facts/linux/virtualization_resolver.hpp +50 -0
- data/ext/facter/facter/lib/inc/internal/facts/openbsd/dmi_resolver.hpp +28 -0
- data/ext/facter/facter/lib/inc/internal/facts/openbsd/memory_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/openbsd/networking_resolver.hpp +42 -0
- data/ext/facter/facter/lib/inc/internal/facts/openbsd/processor_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/openbsd/virtualization_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/osx/dmi_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/osx/memory_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/osx/networking_resolver.hpp +60 -0
- data/ext/facter/facter/lib/inc/internal/facts/osx/operating_system_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/osx/processor_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/osx/system_profiler_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/osx/virtualization_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/posix/identity_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/posix/kernel_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/posix/networking_resolver.hpp +48 -0
- data/ext/facter/facter/lib/inc/internal/facts/posix/operating_system_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/posix/processor_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/posix/ssh_resolver.hpp +28 -0
- data/ext/facter/facter/lib/inc/internal/facts/posix/timezone_resolver.hpp +24 -0
- data/ext/facter/facter/lib/inc/internal/facts/posix/uptime_resolver.hpp +32 -0
- data/ext/facter/facter/lib/inc/internal/facts/posix/xen_resolver.hpp +24 -0
- data/ext/facter/facter/lib/inc/internal/facts/resolvers/augeas_resolver.hpp +35 -0
- data/ext/facter/facter/lib/inc/internal/facts/resolvers/disk_resolver.hpp +81 -0
- data/ext/facter/facter/lib/inc/internal/facts/resolvers/dmi_resolver.hpp +115 -0
- data/ext/facter/facter/lib/inc/internal/facts/resolvers/ec2_resolver.hpp +30 -0
- data/ext/facter/facter/lib/inc/internal/facts/resolvers/filesystem_resolver.hpp +166 -0
- data/ext/facter/facter/lib/inc/internal/facts/resolvers/fips_resolver.hpp +46 -0
- data/ext/facter/facter/lib/inc/internal/facts/resolvers/gce_resolver.hpp +28 -0
- data/ext/facter/facter/lib/inc/internal/facts/resolvers/hypervisors_resolver.hpp +69 -0
- data/ext/facter/facter/lib/inc/internal/facts/resolvers/identity_resolver.hpp +73 -0
- data/ext/facter/facter/lib/inc/internal/facts/resolvers/kernel_resolver.hpp +66 -0
- data/ext/facter/facter/lib/inc/internal/facts/resolvers/ldom_resolver.hpp +64 -0
- data/ext/facter/facter/lib/inc/internal/facts/resolvers/load_average_resolver.hpp +37 -0
- data/ext/facter/facter/lib/inc/internal/facts/resolvers/memory_resolver.hpp +99 -0
- data/ext/facter/facter/lib/inc/internal/facts/resolvers/networking_resolver.hpp +155 -0
- data/ext/facter/facter/lib/inc/internal/facts/resolvers/operating_system_resolver.hpp +235 -0
- data/ext/facter/facter/lib/inc/internal/facts/resolvers/path_resolver.hpp +28 -0
- data/ext/facter/facter/lib/inc/internal/facts/resolvers/processor_resolver.hpp +80 -0
- data/ext/facter/facter/lib/inc/internal/facts/resolvers/ruby_resolver.hpp +56 -0
- data/ext/facter/facter/lib/inc/internal/facts/resolvers/ssh_resolver.hpp +105 -0
- data/ext/facter/facter/lib/inc/internal/facts/resolvers/system_profiler_resolver.hpp +127 -0
- data/ext/facter/facter/lib/inc/internal/facts/resolvers/timezone_resolver.hpp +36 -0
- data/ext/facter/facter/lib/inc/internal/facts/resolvers/uptime_resolver.hpp +36 -0
- data/ext/facter/facter/lib/inc/internal/facts/resolvers/virtualization_resolver.hpp +95 -0
- data/ext/facter/facter/lib/inc/internal/facts/resolvers/xen_resolver.hpp +55 -0
- data/ext/facter/facter/lib/inc/internal/facts/resolvers/zfs_resolver.hpp +59 -0
- data/ext/facter/facter/lib/inc/internal/facts/resolvers/zone_resolver.hpp +95 -0
- data/ext/facter/facter/lib/inc/internal/facts/resolvers/zpool_resolver.hpp +63 -0
- data/ext/facter/facter/lib/inc/internal/facts/solaris/disk_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/solaris/dmi_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/solaris/filesystem_resolver.hpp +29 -0
- data/ext/facter/facter/lib/inc/internal/facts/solaris/kernel_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/solaris/ldom_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/solaris/memory_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/solaris/networking_resolver.hpp +48 -0
- data/ext/facter/facter/lib/inc/internal/facts/solaris/operating_system_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/solaris/processor_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/solaris/virtualization_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/solaris/zfs_resolver.hpp +24 -0
- data/ext/facter/facter/lib/inc/internal/facts/solaris/zone_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/solaris/zpool_resolver.hpp +24 -0
- data/ext/facter/facter/lib/inc/internal/facts/windows/dmi_resolver.hpp +38 -0
- data/ext/facter/facter/lib/inc/internal/facts/windows/identity_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/windows/kernel_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/windows/memory_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/windows/networking_resolver.hpp +74 -0
- data/ext/facter/facter/lib/inc/internal/facts/windows/operating_system_resolver.hpp +36 -0
- data/ext/facter/facter/lib/inc/internal/facts/windows/processor_resolver.hpp +36 -0
- data/ext/facter/facter/lib/inc/internal/facts/windows/timezone_resolver.hpp +24 -0
- data/ext/facter/facter/lib/inc/internal/facts/windows/uptime_resolver.hpp +32 -0
- data/ext/facter/facter/lib/inc/internal/facts/windows/virtualization_resolver.hpp +37 -0
- data/ext/facter/facter/lib/inc/internal/ruby/aggregate_resolution.hpp +77 -0
- data/ext/facter/facter/lib/inc/internal/ruby/chunk.hpp +83 -0
- data/ext/facter/facter/lib/inc/internal/ruby/confine.hpp +60 -0
- data/ext/facter/facter/lib/inc/internal/ruby/fact.hpp +108 -0
- data/ext/facter/facter/lib/inc/internal/ruby/module.hpp +165 -0
- data/ext/facter/facter/lib/inc/internal/ruby/resolution.hpp +126 -0
- data/ext/facter/facter/lib/inc/internal/ruby/ruby_value.hpp +119 -0
- data/ext/facter/facter/lib/inc/internal/ruby/simple_resolution.hpp +56 -0
- data/ext/facter/facter/lib/inc/internal/util/agent.hpp +29 -0
- data/ext/facter/facter/lib/inc/internal/util/aix/odm.hpp +373 -0
- data/ext/facter/facter/lib/inc/internal/util/aix/vmount.hpp +139 -0
- data/ext/facter/facter/lib/inc/internal/util/bsd/scoped_ifaddrs.hpp +33 -0
- data/ext/facter/facter/lib/inc/internal/util/posix/scoped_addrinfo.hpp +45 -0
- data/ext/facter/facter/lib/inc/internal/util/posix/scoped_bio.hpp +34 -0
- data/ext/facter/facter/lib/inc/internal/util/posix/scoped_descriptor.hpp +27 -0
- data/ext/facter/facter/lib/inc/internal/util/scoped_file.hpp +36 -0
- data/ext/facter/facter/lib/inc/internal/util/solaris/k_stat.hpp +176 -0
- data/ext/facter/facter/lib/inc/internal/util/solaris/scoped_kstat.hpp +45 -0
- data/ext/facter/facter/lib/inc/internal/util/versions.hpp +34 -0
- data/ext/facter/facter/lib/inc/internal/util/windows/wsa.hpp +92 -0
- data/ext/facter/facter/lib/inc/internal/util/yaml.hpp +25 -0
- data/ext/facter/facter/lib/schema/core_facts.pot +2017 -0
- data/ext/facter/facter/lib/schema/facter.yaml +1947 -0
- data/ext/facter/facter/lib/schema/translation_tooling.rb +67 -0
- data/ext/facter/facter/lib/spec/unit/facter_spec.rb +136 -0
- data/ext/facter/facter/lib/spec_helper.rb.in +27 -0
- data/ext/facter/facter/lib/src/cwrapper.cc +45 -0
- data/ext/facter/facter/lib/src/facts/aix/collection.cc +32 -0
- data/ext/facter/facter/lib/src/facts/aix/disk_resolver.cc +66 -0
- data/ext/facter/facter/lib/src/facts/aix/filesystem_resolver.cc +132 -0
- data/ext/facter/facter/lib/src/facts/aix/kernel_resolver.cc +27 -0
- data/ext/facter/facter/lib/src/facts/aix/memory_resolver.cc +48 -0
- data/ext/facter/facter/lib/src/facts/aix/networking_resolver.cc +245 -0
- data/ext/facter/facter/lib/src/facts/aix/operating_system_resolver.cc +61 -0
- data/ext/facter/facter/lib/src/facts/aix/processor_resolver.cc +106 -0
- data/ext/facter/facter/lib/src/facts/aix/serial_number_resolver.cc +43 -0
- data/ext/facter/facter/lib/src/facts/array_value.cc +111 -0
- data/ext/facter/facter/lib/src/facts/bsd/collection.cc +27 -0
- data/ext/facter/facter/lib/src/facts/bsd/filesystem_resolver.cc +92 -0
- data/ext/facter/facter/lib/src/facts/bsd/networking_resolver.cc +175 -0
- data/ext/facter/facter/lib/src/facts/bsd/uptime_resolver.cc +23 -0
- data/ext/facter/facter/lib/src/facts/cache.cc +117 -0
- data/ext/facter/facter/lib/src/facts/collection.cc +661 -0
- data/ext/facter/facter/lib/src/facts/external/execution_resolver.cc +89 -0
- data/ext/facter/facter/lib/src/facts/external/json_resolver.cc +219 -0
- data/ext/facter/facter/lib/src/facts/external/resolver.cc +12 -0
- data/ext/facter/facter/lib/src/facts/external/text_resolver.cc +45 -0
- data/ext/facter/facter/lib/src/facts/external/windows/powershell_resolver.cc +117 -0
- data/ext/facter/facter/lib/src/facts/external/yaml_resolver.cc +45 -0
- data/ext/facter/facter/lib/src/facts/freebsd/collection.cc +41 -0
- data/ext/facter/facter/lib/src/facts/freebsd/dmi_resolver.cc +43 -0
- data/ext/facter/facter/lib/src/facts/freebsd/memory_resolver.cc +76 -0
- data/ext/facter/facter/lib/src/facts/freebsd/networking_resolver.cc +55 -0
- data/ext/facter/facter/lib/src/facts/freebsd/operating_system_resolver.cc +17 -0
- data/ext/facter/facter/lib/src/facts/freebsd/processor_resolver.cc +63 -0
- data/ext/facter/facter/lib/src/facts/freebsd/virtualization_resolver.cc +41 -0
- data/ext/facter/facter/lib/src/facts/freebsd/zfs_resolver.cc +12 -0
- data/ext/facter/facter/lib/src/facts/freebsd/zpool_resolver.cc +12 -0
- data/ext/facter/facter/lib/src/facts/glib/load_average_resolver.cc +22 -0
- data/ext/facter/facter/lib/src/facts/linux/collection.cc +44 -0
- data/ext/facter/facter/lib/src/facts/linux/disk_resolver.cc +80 -0
- data/ext/facter/facter/lib/src/facts/linux/dmi_resolver.cc +208 -0
- data/ext/facter/facter/lib/src/facts/linux/filesystem_resolver.cc +282 -0
- data/ext/facter/facter/lib/src/facts/linux/fips_resolver.cc +31 -0
- data/ext/facter/facter/lib/src/facts/linux/kernel_resolver.cc +20 -0
- data/ext/facter/facter/lib/src/facts/linux/memory_resolver.cc +50 -0
- data/ext/facter/facter/lib/src/facts/linux/networking_resolver.cc +275 -0
- data/ext/facter/facter/lib/src/facts/linux/operating_system_resolver.cc +175 -0
- data/ext/facter/facter/lib/src/facts/linux/os_linux.cc +393 -0
- data/ext/facter/facter/lib/src/facts/linux/processor_resolver.cc +200 -0
- data/ext/facter/facter/lib/src/facts/linux/uptime_resolver.cc +15 -0
- data/ext/facter/facter/lib/src/facts/linux/virtualization_resolver.cc +282 -0
- data/ext/facter/facter/lib/src/facts/map_value.cc +119 -0
- data/ext/facter/facter/lib/src/facts/openbsd/collection.cc +37 -0
- data/ext/facter/facter/lib/src/facts/openbsd/dmi_resolver.cc +47 -0
- data/ext/facter/facter/lib/src/facts/openbsd/memory_resolver.cc +76 -0
- data/ext/facter/facter/lib/src/facts/openbsd/networking_resolver.cc +55 -0
- data/ext/facter/facter/lib/src/facts/openbsd/processor_resolver.cc +59 -0
- data/ext/facter/facter/lib/src/facts/openbsd/virtualization_resolver.cc +20 -0
- data/ext/facter/facter/lib/src/facts/osx/collection.cc +39 -0
- data/ext/facter/facter/lib/src/facts/osx/dmi_resolver.cc +32 -0
- data/ext/facter/facter/lib/src/facts/osx/memory_resolver.cc +60 -0
- data/ext/facter/facter/lib/src/facts/osx/networking_resolver.cc +71 -0
- data/ext/facter/facter/lib/src/facts/osx/operating_system_resolver.cc +49 -0
- data/ext/facter/facter/lib/src/facts/osx/processor_resolver.cc +55 -0
- data/ext/facter/facter/lib/src/facts/osx/system_profiler_resolver.cc +66 -0
- data/ext/facter/facter/lib/src/facts/osx/virtualization_resolver.cc +46 -0
- data/ext/facter/facter/lib/src/facts/posix/cache.cc +9 -0
- data/ext/facter/facter/lib/src/facts/posix/collection.cc +48 -0
- data/ext/facter/facter/lib/src/facts/posix/identity_resolver.cc +79 -0
- data/ext/facter/facter/lib/src/facts/posix/kernel_resolver.cc +25 -0
- data/ext/facter/facter/lib/src/facts/posix/networking_resolver.cc +136 -0
- data/ext/facter/facter/lib/src/facts/posix/operatingsystem_resolver.cc +29 -0
- data/ext/facter/facter/lib/src/facts/posix/processor_resolver.cc +22 -0
- data/ext/facter/facter/lib/src/facts/posix/ssh_resolver.cc +116 -0
- data/ext/facter/facter/lib/src/facts/posix/timezone_resolver.cc +26 -0
- data/ext/facter/facter/lib/src/facts/posix/uptime_resolver.cc +53 -0
- data/ext/facter/facter/lib/src/facts/posix/xen_resolver.cc +43 -0
- data/ext/facter/facter/lib/src/facts/resolver.cc +105 -0
- data/ext/facter/facter/lib/src/facts/resolvers/augeas_resolver.cc +56 -0
- data/ext/facter/facter/lib/src/facts/resolvers/disk_resolver.cc +69 -0
- data/ext/facter/facter/lib/src/facts/resolvers/dmi_resolver.cc +160 -0
- data/ext/facter/facter/lib/src/facts/resolvers/ec2_resolver.cc +174 -0
- data/ext/facter/facter/lib/src/facts/resolvers/filesystem_resolver.cc +118 -0
- data/ext/facter/facter/lib/src/facts/resolvers/fips_resolver.cc +23 -0
- data/ext/facter/facter/lib/src/facts/resolvers/gce_resolver.cc +276 -0
- data/ext/facter/facter/lib/src/facts/resolvers/hypervisors_resolver.cc +76 -0
- data/ext/facter/facter/lib/src/facts/resolvers/identity_resolver.cc +50 -0
- data/ext/facter/facter/lib/src/facts/resolvers/kernel_resolver.cc +62 -0
- data/ext/facter/facter/lib/src/facts/resolvers/ldom_resolver.cc +60 -0
- data/ext/facter/facter/lib/src/facts/resolvers/load_average_resolver.cc +36 -0
- data/ext/facter/facter/lib/src/facts/resolvers/memory_resolver.cc +88 -0
- data/ext/facter/facter/lib/src/facts/resolvers/networking_resolver.cc +280 -0
- data/ext/facter/facter/lib/src/facts/resolvers/operating_system_resolver.cc +276 -0
- data/ext/facter/facter/lib/src/facts/resolvers/path_resolver.cc +25 -0
- data/ext/facter/facter/lib/src/facts/resolvers/processor_resolver.cc +70 -0
- data/ext/facter/facter/lib/src/facts/resolvers/ruby_resolver.cc +109 -0
- data/ext/facter/facter/lib/src/facts/resolvers/ssh_resolver.cc +77 -0
- data/ext/facter/facter/lib/src/facts/resolvers/system_profiler_resolver.cc +137 -0
- data/ext/facter/facter/lib/src/facts/resolvers/timezone_resolver.cc +27 -0
- data/ext/facter/facter/lib/src/facts/resolvers/uptime_resolver.cc +63 -0
- data/ext/facter/facter/lib/src/facts/resolvers/virtualization_resolver.cc +119 -0
- data/ext/facter/facter/lib/src/facts/resolvers/xen_resolver.cc +80 -0
- data/ext/facter/facter/lib/src/facts/resolvers/zfs_resolver.cc +63 -0
- data/ext/facter/facter/lib/src/facts/resolvers/zone_resolver.cc +91 -0
- data/ext/facter/facter/lib/src/facts/resolvers/zpool_resolver.cc +93 -0
- data/ext/facter/facter/lib/src/facts/scalar_value.cc +73 -0
- data/ext/facter/facter/lib/src/facts/solaris/collection.cc +51 -0
- data/ext/facter/facter/lib/src/facts/solaris/disk_resolver.cc +35 -0
- data/ext/facter/facter/lib/src/facts/solaris/dmi_resolver.cc +86 -0
- data/ext/facter/facter/lib/src/facts/solaris/filesystem_resolver.cc +92 -0
- data/ext/facter/facter/lib/src/facts/solaris/kernel_resolver.cc +24 -0
- data/ext/facter/facter/lib/src/facts/solaris/ldom_resolver.cc +87 -0
- data/ext/facter/facter/lib/src/facts/solaris/memory_resolver.cc +91 -0
- data/ext/facter/facter/lib/src/facts/solaris/networking_resolver.cc +183 -0
- data/ext/facter/facter/lib/src/facts/solaris/operating_system_resolver.cc +83 -0
- data/ext/facter/facter/lib/src/facts/solaris/processor_resolver.cc +105 -0
- data/ext/facter/facter/lib/src/facts/solaris/virtualization_resolver.cc +38 -0
- data/ext/facter/facter/lib/src/facts/solaris/zfs_resolver.cc +12 -0
- data/ext/facter/facter/lib/src/facts/solaris/zone_resolver.cc +33 -0
- data/ext/facter/facter/lib/src/facts/solaris/zpool_resolver.cc +12 -0
- data/ext/facter/facter/lib/src/facts/windows/cache.cc +11 -0
- data/ext/facter/facter/lib/src/facts/windows/collection.cc +91 -0
- data/ext/facter/facter/lib/src/facts/windows/dmi_resolver.cc +38 -0
- data/ext/facter/facter/lib/src/facts/windows/identity_resolver.cc +46 -0
- data/ext/facter/facter/lib/src/facts/windows/kernel_resolver.cc +78 -0
- data/ext/facter/facter/lib/src/facts/windows/memory_resolver.cc +25 -0
- data/ext/facter/facter/lib/src/facts/windows/networking_resolver.cc +227 -0
- data/ext/facter/facter/lib/src/facts/windows/operating_system_resolver.cc +125 -0
- data/ext/facter/facter/lib/src/facts/windows/processor_resolver.cc +99 -0
- data/ext/facter/facter/lib/src/facts/windows/timezone_resolver.cc +28 -0
- data/ext/facter/facter/lib/src/facts/windows/uptime_resolver.cc +26 -0
- data/ext/facter/facter/lib/src/facts/windows/virtualization_resolver.cc +63 -0
- data/ext/facter/facter/lib/src/java/facter.cc +185 -0
- data/ext/facter/facter/lib/src/logging/logging.cc +151 -0
- data/ext/facter/facter/lib/src/ruby/aggregate_resolution.cc +249 -0
- data/ext/facter/facter/lib/src/ruby/chunk.cc +136 -0
- data/ext/facter/facter/lib/src/ruby/confine.cc +84 -0
- data/ext/facter/facter/lib/src/ruby/fact.cc +382 -0
- data/ext/facter/facter/lib/src/ruby/module.cc +1130 -0
- data/ext/facter/facter/lib/src/ruby/resolution.cc +230 -0
- data/ext/facter/facter/lib/src/ruby/ruby.cc +150 -0
- data/ext/facter/facter/lib/src/ruby/ruby_value.cc +288 -0
- data/ext/facter/facter/lib/src/ruby/simple_resolution.cc +156 -0
- data/ext/facter/facter/lib/src/util/bsd/scoped_ifaddrs.cc +29 -0
- data/ext/facter/facter/lib/src/util/config/config.cc +83 -0
- data/ext/facter/facter/lib/src/util/config/posix/config.cc +12 -0
- data/ext/facter/facter/lib/src/util/config/windows/config.cc +14 -0
- data/ext/facter/facter/lib/src/util/posix/scoped_addrinfo.cc +41 -0
- data/ext/facter/facter/lib/src/util/posix/scoped_bio.cc +29 -0
- data/ext/facter/facter/lib/src/util/posix/scoped_descriptor.cc +20 -0
- data/ext/facter/facter/lib/src/util/scoped_file.cc +26 -0
- data/ext/facter/facter/lib/src/util/solaris/k_stat.cc +165 -0
- data/ext/facter/facter/lib/src/util/solaris/scoped_kstat.cc +31 -0
- data/ext/facter/facter/lib/src/util/string.cc +170 -0
- data/ext/facter/facter/lib/src/util/windows/wsa.cc +69 -0
- data/ext/facter/facter/lib/src/util/yaml.cc +72 -0
- data/ext/facter/facter/lib/tasks/spec.rake +26 -0
- data/ext/facter/facter/lib/tests/CMakeLists.txt +172 -0
- data/ext/facter/facter/lib/tests/collection_fixture.cc +15 -0
- data/ext/facter/facter/lib/tests/collection_fixture.hpp +19 -0
- data/ext/facter/facter/lib/tests/cwrapper.cc +22 -0
- data/ext/facter/facter/lib/tests/facts/array_value.cc +140 -0
- data/ext/facter/facter/lib/tests/facts/boolean_value.cc +67 -0
- data/ext/facter/facter/lib/tests/facts/cache.cc +100 -0
- data/ext/facter/facter/lib/tests/facts/collection.cc +576 -0
- data/ext/facter/facter/lib/tests/facts/double_value.cc +40 -0
- data/ext/facter/facter/lib/tests/facts/external/json_resolver.cc +62 -0
- data/ext/facter/facter/lib/tests/facts/external/posix/execution_resolver.cc +69 -0
- data/ext/facter/facter/lib/tests/facts/external/text_resolver.cc +46 -0
- data/ext/facter/facter/lib/tests/facts/external/windows/execution_resolver.cc +69 -0
- data/ext/facter/facter/lib/tests/facts/external/windows/powershell_resolver.cc +122 -0
- data/ext/facter/facter/lib/tests/facts/external/yaml_resolver.cc +70 -0
- data/ext/facter/facter/lib/tests/facts/integer_value.cc +69 -0
- data/ext/facter/facter/lib/tests/facts/linux/dmi_resolver.cc +116 -0
- data/ext/facter/facter/lib/tests/facts/linux/filesystem_resolver.cc +13 -0
- data/ext/facter/facter/lib/tests/facts/linux/processor_fixture.cc +259 -0
- data/ext/facter/facter/lib/tests/facts/linux/processor_fixture.hpp +77 -0
- data/ext/facter/facter/lib/tests/facts/linux/processor_resolver.cc +312 -0
- data/ext/facter/facter/lib/tests/facts/linux/virtualization_resolver.cc +48 -0
- data/ext/facter/facter/lib/tests/facts/map_value.cc +116 -0
- data/ext/facter/facter/lib/tests/facts/posix/collection.cc +39 -0
- data/ext/facter/facter/lib/tests/facts/posix/uptime_resolver.cc +52 -0
- data/ext/facter/facter/lib/tests/facts/resolvers/augeas_resolver.cc +58 -0
- data/ext/facter/facter/lib/tests/facts/resolvers/disk_resolver.cc +114 -0
- data/ext/facter/facter/lib/tests/facts/resolvers/dmi_resolver.cc +152 -0
- data/ext/facter/facter/lib/tests/facts/resolvers/filesystem_resolver.cc +206 -0
- data/ext/facter/facter/lib/tests/facts/resolvers/identity_resolver.cc +83 -0
- data/ext/facter/facter/lib/tests/facts/resolvers/kernel_resolver.cc +61 -0
- data/ext/facter/facter/lib/tests/facts/resolvers/ldom_resolver.cc +86 -0
- data/ext/facter/facter/lib/tests/facts/resolvers/memory_resolver.cc +135 -0
- data/ext/facter/facter/lib/tests/facts/resolvers/networking_resolver.cc +507 -0
- data/ext/facter/facter/lib/tests/facts/resolvers/operating_system_resolver.cc +247 -0
- data/ext/facter/facter/lib/tests/facts/resolvers/processor_resolver.cc +157 -0
- data/ext/facter/facter/lib/tests/facts/resolvers/ruby_resolver.cc +74 -0
- data/ext/facter/facter/lib/tests/facts/resolvers/ssh_resolver.cc +103 -0
- data/ext/facter/facter/lib/tests/facts/resolvers/system_profiler_resolver.cc +135 -0
- data/ext/facter/facter/lib/tests/facts/resolvers/timezone_resolver.cc +49 -0
- data/ext/facter/facter/lib/tests/facts/resolvers/uptime_resolver.cc +151 -0
- data/ext/facter/facter/lib/tests/facts/resolvers/virtualization_resolver.cc +175 -0
- data/ext/facter/facter/lib/tests/facts/resolvers/xen_resolver.cc +100 -0
- data/ext/facter/facter/lib/tests/facts/resolvers/zfs_resolver.cc +65 -0
- data/ext/facter/facter/lib/tests/facts/resolvers/zone_resolver.cc +122 -0
- data/ext/facter/facter/lib/tests/facts/resolvers/zpool_resolver.cc +69 -0
- data/ext/facter/facter/lib/tests/facts/schema.cc +796 -0
- data/ext/facter/facter/lib/tests/facts/string_value.cc +270 -0
- data/ext/facter/facter/lib/tests/facts/windows/collection.cc +60 -0
- data/ext/facter/facter/lib/tests/facts/windows/networking_resolver.cc +217 -0
- data/ext/facter/facter/lib/tests/fixtures.cc +62 -0
- data/ext/facter/facter/lib/tests/fixtures.hpp.in +27 -0
- data/ext/facter/facter/lib/tests/fixtures/execution/with space/command_with_space.bat +2 -0
- data/ext/facter/facter/lib/tests/fixtures/facts/external/json/facts.json +12 -0
- data/ext/facter/facter/lib/tests/fixtures/facts/external/json/invalid.json +1 -0
- data/ext/facter/facter/lib/tests/fixtures/facts/external/ordering/bar/foo.yaml +1 -0
- data/ext/facter/facter/lib/tests/fixtures/facts/external/ordering/foo/foo.yaml +1 -0
- data/ext/facter/facter/lib/tests/fixtures/facts/external/posix/execution/error_message +4 -0
- data/ext/facter/facter/lib/tests/fixtures/facts/external/posix/execution/facts +5 -0
- data/ext/facter/facter/lib/tests/fixtures/facts/external/posix/execution/failed +3 -0
- data/ext/facter/facter/lib/tests/fixtures/facts/external/posix/execution/not_executable +1 -0
- data/ext/facter/facter/lib/tests/fixtures/facts/external/text/facts.txt +4 -0
- data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/execution/error_message.bat +4 -0
- data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/execution/facts.bat +4 -0
- data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/execution/failed.cmd +2 -0
- data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/execution/not_executable +1 -0
- data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/execution/ruby_script.rb +1 -0
- data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/powershell/error_message.ps1 +3 -0
- data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/powershell/facts.ps1 +4 -0
- data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/powershell/failed.ps1 +2 -0
- data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/powershell/json.ps1 +21 -0
- data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/powershell/not_executable +1 -0
- data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/powershell/yaml.ps1 +18 -0
- data/ext/facter/facter/lib/tests/fixtures/facts/external/yaml/facts.yaml +15 -0
- data/ext/facter/facter/lib/tests/fixtures/facts/external/yaml/invalid.yaml +1 -0
- data/ext/facter/facter/lib/tests/fixtures/facts/external/z/303/266/facts.rb +3 -0
- data/ext/facter/facter/lib/tests/fixtures/facts/external/z/303/266/facts.txt +1 -0
- data/ext/facter/facter/lib/tests/fixtures/facts/linux/cloud/azure +3 -0
- data/ext/facter/facter/lib/tests/fixtures/facts/linux/cloud/azure-unknown +3 -0
- data/ext/facter/facter/lib/tests/fixtures/facts/linux/cloud/not-azure +0 -0
- data/ext/facter/facter/lib/tests/fixtures/facts/linux/dmidecode/full.txt +83 -0
- data/ext/facter/facter/lib/tests/fixtures/facts/linux/dmidecode/full_alternative.txt +83 -0
- data/ext/facter/facter/lib/tests/fixtures/facts/linux/dmidecode/none.txt +2 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/100_resolutions.rb +7 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/101_resolutions.rb +7 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/aggregate.rb +9 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/aggregate_invalid_require.rb +9 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/aggregate_with_block.rb +30 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/aggregate_with_cycle.rb +9 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/aggregate_with_invalid_merge.rb +13 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/aggregate_with_merge.rb +23 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/aggregate_with_require.rb +16 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/array_confine.rb +6 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/array_fact.rb +5 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/bad_command.rb +19 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/bad_syntax.rb +2 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/bignum_fact_value.rb +5 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/block_confine.rb +9 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/block_false_confine.rb +9 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/block_nil_confine.rb +9 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/block_true_confine.rb +9 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/boolean_false_confine.rb +6 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/boolean_false_fact.rb +5 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/boolean_true_confine.rb +6 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/boolean_true_fact.rb +5 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/command_with_space.rb +5 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/confine_missing_fact.rb +22 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/confine_weight.rb +20 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/custom_dir/expect_network_init.rb +15 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/cycle.rb +7 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/debug.rb +7 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/debugging.rb +14 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/debugonce.rb +9 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/define_aggregate_fact.rb +13 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/define_fact.rb +9 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/double_fact.rb +5 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/empty_command.rb +3 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/empty_fact.rb +1 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/empty_fact_with_value.rb +1 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/empty_setcode_command.rb +3 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/exec.rb +7 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/execute_on_fail_raise.rb +17 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/execute_on_fail_value.rb +5 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/execute_timeout.rb +1 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/execution_failure.rb +5 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/existing_aggregate_resolution.rb +5 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/existing_simple_resolution.rb +5 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/fact.rb +7 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/facter.rb +7 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/facterversion.rb +17 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/hash_fact.rb +5 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/hash_with_non_string_key.rb +5 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/integer_fact.rb +5 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/log_exception.rb +21 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/lookup.rb +7 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/multi_confine.rb +6 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/named_resolution.rb +13 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/negative_number.rb +5 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/nil_fact.rb +5 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/nonexistent_command.rb +21 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/on_message.rb +16 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/range_confine.rb +6 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/regexp_confine.rb +6 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/ruby.rb +6 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/simple.rb +11 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/simple_command.rb +7 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/simple_confine.rb +6 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/simple_resolution.rb +5 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/single_allocation.rb +7 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/stderr_output.rb +9 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/string_fact.rb +5 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/timeout.rb +10 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/trace.rb +22 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/uni/341/220/201dir/customfacts/342/204/242.rb +6 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/uses_exit_code.rb +7 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/value.rb +6 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/version.rb +2 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/warn.rb +7 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/warnonce.rb +9 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/weight.rb +20 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/weight_option.rb +17 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/which.rb +9 -0
- data/ext/facter/facter/lib/tests/fixtures/ruby/windows/ole.rb +7 -0
- data/ext/facter/facter/lib/tests/java/facter.cc +69 -0
- data/ext/facter/facter/lib/tests/log_capture.cc +29 -0
- data/ext/facter/facter/lib/tests/log_capture.hpp +35 -0
- data/ext/facter/facter/lib/tests/logging/logging.cc +69 -0
- data/ext/facter/facter/lib/tests/main.cc +20 -0
- data/ext/facter/facter/lib/tests/mock_server.cc +44 -0
- data/ext/facter/facter/lib/tests/mock_server.hpp +25 -0
- data/ext/facter/facter/lib/tests/ruby/ruby.cc +634 -0
- data/ext/facter/facter/lib/tests/ruby/ruby_dirfacts.cc +35 -0
- data/ext/facter/facter/lib/tests/ruby/ruby_helper.cc +41 -0
- data/ext/facter/facter/lib/tests/ruby/ruby_helper.hpp +8 -0
- data/ext/facter/facter/lib/tests/ruby/windows/ruby.cc +53 -0
- data/ext/facter/facter/lib/tests/util/bsd/scoped_ifaddrs.cc +10 -0
- data/ext/facter/facter/lib/tests/util/posix/scoped_addrinfo.cc +11 -0
- data/ext/facter/facter/lib/tests/util/posix/scoped_bio.cc +12 -0
- data/ext/facter/facter/lib/tests/util/posix/scoped_descriptor.cc +22 -0
- data/ext/facter/facter/lib/tests/util/string.cc +291 -0
- data/ext/facter/facter/lib/version.h.in +28 -0
- data/ext/facter/facter/locales/CMakeLists.txt +7 -0
- data/ext/facter/facter/locales/FACTER.pot +1508 -0
- data/ext/facter/facter/man/man8/facter.8 +205 -0
- data/ext/facter/facter/scripts/cpplint.py +4754 -0
- data/ext/facter/facter/scripts/travis_target.sh +83 -0
- data/ext/facter/facter/tasks/ci.rake +22 -0
- data/ext/facter/leatherman/CHANGELOG.md +430 -0
- data/ext/facter/leatherman/CMakeLists.txt +143 -0
- data/ext/facter/leatherman/CONTRIBUTING.md +98 -0
- data/ext/facter/leatherman/LICENSE +17 -0
- data/ext/facter/leatherman/LeathermanConfig.cmake.in +57 -0
- data/ext/facter/leatherman/LeathermanConfigVersion.cmake.in +11 -0
- data/ext/facter/leatherman/MAINTAINERS +28 -0
- data/ext/facter/leatherman/README.md +416 -0
- data/ext/facter/leatherman/appveyor.yml +47 -0
- data/ext/facter/leatherman/catch/CMakeLists.txt +1 -0
- data/ext/facter/leatherman/cmake/FindICU.cmake +690 -0
- data/ext/facter/leatherman/cmake/GetGitRevisionDescription.cmake +130 -0
- data/ext/facter/leatherman/cmake/GetGitRevisionDescription.cmake.in +38 -0
- data/ext/facter/leatherman/cmake/cflags.cmake +110 -0
- data/ext/facter/leatherman/cmake/generate_translations.cmake +17 -0
- data/ext/facter/leatherman/cmake/internal.cmake +241 -0
- data/ext/facter/leatherman/cmake/leatherman.cmake.in +369 -0
- data/ext/facter/leatherman/cmake/leatherman_config.cmake +80 -0
- data/ext/facter/leatherman/cmake/normalize_pot.cmake +17 -0
- data/ext/facter/leatherman/cmake/options.cmake +21 -0
- data/ext/facter/leatherman/cmake/pod2man.cmake +36 -0
- data/ext/facter/leatherman/curl/CMakeLists.txt +42 -0
- data/ext/facter/leatherman/curl/inc/leatherman/curl/client.hpp +441 -0
- data/ext/facter/leatherman/curl/inc/leatherman/curl/request.hpp +130 -0
- data/ext/facter/leatherman/curl/inc/leatherman/curl/response.hpp +80 -0
- data/ext/facter/leatherman/curl/src/client.cc +575 -0
- data/ext/facter/leatherman/curl/src/request.cc +112 -0
- data/ext/facter/leatherman/curl/src/response.cc +62 -0
- data/ext/facter/leatherman/curl/tests/CMakeLists.txt +22 -0
- data/ext/facter/leatherman/curl/tests/client_test.cc +613 -0
- data/ext/facter/leatherman/curl/tests/fixtures.cc +27 -0
- data/ext/facter/leatherman/curl/tests/fixtures.hpp +31 -0
- data/ext/facter/leatherman/curl/tests/mock_curl.cc +423 -0
- data/ext/facter/leatherman/curl/tests/mock_curl.hpp +85 -0
- data/ext/facter/leatherman/curl/tests/request_test.cc +85 -0
- data/ext/facter/leatherman/curl/tests/response_test.cc +58 -0
- data/ext/facter/leatherman/dynamic_library/CMakeLists.txt +43 -0
- data/ext/facter/leatherman/dynamic_library/inc/leatherman/dynamic_library/dynamic_library.hpp +122 -0
- data/ext/facter/leatherman/dynamic_library/src/dynamic_library.cc +57 -0
- data/ext/facter/leatherman/dynamic_library/src/posix/dynamic_library.cc +91 -0
- data/ext/facter/leatherman/dynamic_library/src/windows/dynamic_library.cc +128 -0
- data/ext/facter/leatherman/dynamic_library/tests/dynamic_library_tests.cc +94 -0
- data/ext/facter/leatherman/dynamic_library/tests/fixtures.hpp.in +3 -0
- data/ext/facter/leatherman/dynamic_library/tests/test-lib/goodbye.cc +5 -0
- data/ext/facter/leatherman/dynamic_library/tests/test-lib/hello.cc +7 -0
- data/ext/facter/leatherman/execution/CMakeLists.txt +65 -0
- data/ext/facter/leatherman/execution/inc/leatherman/execution/execution.hpp +488 -0
- data/ext/facter/leatherman/execution/src/execution.cc +510 -0
- data/ext/facter/leatherman/execution/src/posix/execution.cc +574 -0
- data/ext/facter/leatherman/execution/src/posix/generic/platform.cc +30 -0
- data/ext/facter/leatherman/execution/src/posix/platform.hpp +15 -0
- data/ext/facter/leatherman/execution/src/posix/solaris/platform.cc +197 -0
- data/ext/facter/leatherman/execution/src/windows/execution.cc +698 -0
- data/ext/facter/leatherman/execution/tests/fixtures.hpp.in +2 -0
- data/ext/facter/leatherman/execution/tests/fixtures/echo_pid +2 -0
- data/ext/facter/leatherman/execution/tests/fixtures/error_message +5 -0
- data/ext/facter/leatherman/execution/tests/fixtures/execution/selfkill.sh +3 -0
- data/ext/facter/leatherman/execution/tests/fixtures/execution/sleep.sh +3 -0
- data/ext/facter/leatherman/execution/tests/fixtures/facts +5 -0
- data/ext/facter/leatherman/execution/tests/fixtures/failed +3 -0
- data/ext/facter/leatherman/execution/tests/fixtures/ls/crlf.txt +3 -0
- data/ext/facter/leatherman/execution/tests/fixtures/ls/file1.txt +1 -0
- data/ext/facter/leatherman/execution/tests/fixtures/ls/file2.txt +1 -0
- data/ext/facter/leatherman/execution/tests/fixtures/ls/file3.txt +1 -0
- data/ext/facter/leatherman/execution/tests/fixtures/ls/file4.txt +7 -0
- data/ext/facter/leatherman/execution/tests/fixtures/not_executable +1 -0
- data/ext/facter/leatherman/execution/tests/fixtures/windows/error_message.bat +6 -0
- data/ext/facter/leatherman/execution/tests/fixtures/windows/facts.bat +4 -0
- data/ext/facter/leatherman/execution/tests/fixtures/windows/failed.cmd +2 -0
- data/ext/facter/leatherman/execution/tests/fixtures/windows/not_executable +1 -0
- data/ext/facter/leatherman/execution/tests/fixtures/windows/ruby_script.rb +1 -0
- data/ext/facter/leatherman/execution/tests/log_capture.cc +29 -0
- data/ext/facter/leatherman/execution/tests/log_capture.hpp +35 -0
- data/ext/facter/leatherman/execution/tests/lth_cat.cc +38 -0
- data/ext/facter/leatherman/execution/tests/lth_cat.hpp +9 -0
- data/ext/facter/leatherman/execution/tests/posix/execution.cc +728 -0
- data/ext/facter/leatherman/execution/tests/posix/solaris/execution.cc +54 -0
- data/ext/facter/leatherman/execution/tests/windows/execution.cc +789 -0
- data/ext/facter/leatherman/file_util/CMakeLists.txt +18 -0
- data/ext/facter/leatherman/file_util/inc/leatherman/file_util/directory.hpp +28 -0
- data/ext/facter/leatherman/file_util/inc/leatherman/file_util/file.hpp +95 -0
- data/ext/facter/leatherman/file_util/src/directory.cc +51 -0
- data/ext/facter/leatherman/file_util/src/file.cc +131 -0
- data/ext/facter/leatherman/file_util/tests/directory_utils_test.cc +87 -0
- data/ext/facter/leatherman/file_util/tests/file_utils_test.cc +195 -0
- data/ext/facter/leatherman/file_util/tests/fixtures.cc +37 -0
- data/ext/facter/leatherman/file_util/tests/fixtures.hpp +39 -0
- data/ext/facter/leatherman/json_container/CMakeLists.txt +11 -0
- data/ext/facter/leatherman/json_container/README.md +108 -0
- data/ext/facter/leatherman/json_container/inc/leatherman/json_container/json_container.hpp +443 -0
- data/ext/facter/leatherman/json_container/src/json_container.cc +655 -0
- data/ext/facter/leatherman/json_container/tests/json_container_test.cc +1129 -0
- data/ext/facter/leatherman/locale/CMakeLists.txt +46 -0
- data/ext/facter/leatherman/locale/disabled/locale.cc +38 -0
- data/ext/facter/leatherman/locale/inc/leatherman/locale/locale.hpp +263 -0
- data/ext/facter/leatherman/locale/locales/CMakeLists.txt +6 -0
- data/ext/facter/leatherman/locale/locales/fr.po +40 -0
- data/ext/facter/leatherman/locale/locales/leatherman_locale.pot +41 -0
- data/ext/facter/leatherman/locale/src/locale.cc +95 -0
- data/ext/facter/leatherman/locale/tests/format.cc +117 -0
- data/ext/facter/leatherman/locale/tests/locale.cc +190 -0
- data/ext/facter/leatherman/locales/CMakeLists.txt +7 -0
- data/ext/facter/leatherman/locales/leatherman.pot +717 -0
- data/ext/facter/leatherman/logging/CMakeLists.txt +43 -0
- data/ext/facter/leatherman/logging/inc/leatherman/logging/logging.hpp +264 -0
- data/ext/facter/leatherman/logging/locales/CMakeLists.txt +6 -0
- data/ext/facter/leatherman/logging/locales/fr.po +72 -0
- data/ext/facter/leatherman/logging/locales/leatherman_logging.pot +72 -0
- data/ext/facter/leatherman/logging/src/logging.cc +229 -0
- data/ext/facter/leatherman/logging/src/posix/logging.cc +39 -0
- data/ext/facter/leatherman/logging/src/windows/logging.cc +52 -0
- data/ext/facter/leatherman/logging/tests/logging.cc +118 -0
- data/ext/facter/leatherman/logging/tests/logging.hpp +88 -0
- data/ext/facter/leatherman/logging/tests/logging_i18n.cc +103 -0
- data/ext/facter/leatherman/logging/tests/logging_on_message.cc +61 -0
- data/ext/facter/leatherman/logging/tests/logging_stream.cc +159 -0
- data/ext/facter/leatherman/logging/tests/logging_stream_lines.cc +172 -0
- data/ext/facter/leatherman/logging/tests/posix/logging.cc +23 -0
- data/ext/facter/leatherman/logging/tests/windows/logging.cc +13 -0
- data/ext/facter/leatherman/nowide/CMakeLists.txt +7 -0
- data/ext/facter/leatherman/rapidjson/CMakeLists.txt +1 -0
- data/ext/facter/leatherman/ruby/CMakeLists.txt +26 -0
- data/ext/facter/leatherman/ruby/inc/leatherman/ruby/api.hpp +744 -0
- data/ext/facter/leatherman/ruby/src/api.cc +527 -0
- data/ext/facter/leatherman/ruby/src/posix/api.cc +14 -0
- data/ext/facter/leatherman/ruby/src/windows/api.cc +20 -0
- data/ext/facter/leatherman/ruby/tests/api-test.cc +206 -0
- data/ext/facter/leatherman/scripts/cpplint.py +6323 -0
- data/ext/facter/leatherman/tests/CMakeLists.txt +22 -0
- data/ext/facter/leatherman/tests/main.cc +17 -0
- data/ext/facter/leatherman/util/CMakeLists.txt +36 -0
- data/ext/facter/leatherman/util/inc/leatherman/util/environment.hpp +69 -0
- data/ext/facter/leatherman/util/inc/leatherman/util/option_set.hpp +228 -0
- data/ext/facter/leatherman/util/inc/leatherman/util/posix/scoped_descriptor.hpp +32 -0
- data/ext/facter/leatherman/util/inc/leatherman/util/regex.hpp +80 -0
- data/ext/facter/leatherman/util/inc/leatherman/util/scope_exit.hpp +62 -0
- data/ext/facter/leatherman/util/inc/leatherman/util/scoped_env.hpp +35 -0
- data/ext/facter/leatherman/util/inc/leatherman/util/scoped_resource.hpp +130 -0
- data/ext/facter/leatherman/util/inc/leatherman/util/strings.hpp +54 -0
- data/ext/facter/leatherman/util/inc/leatherman/util/time.hpp +36 -0
- data/ext/facter/leatherman/util/inc/leatherman/util/timer.hpp +43 -0
- data/ext/facter/leatherman/util/inc/leatherman/util/uri.hpp +23 -0
- data/ext/facter/leatherman/util/inc/leatherman/util/windows/scoped_handle.hpp +32 -0
- data/ext/facter/leatherman/util/src/environment.cc +29 -0
- data/ext/facter/leatherman/util/src/posix/environment.cc +75 -0
- data/ext/facter/leatherman/util/src/posix/scoped_descriptor.cc +23 -0
- data/ext/facter/leatherman/util/src/posix/time.cc +9 -0
- data/ext/facter/leatherman/util/src/scope_exit.cc +43 -0
- data/ext/facter/leatherman/util/src/scoped_env.cc +37 -0
- data/ext/facter/leatherman/util/src/strings.cc +41 -0
- data/ext/facter/leatherman/util/src/time.cc +49 -0
- data/ext/facter/leatherman/util/src/uri.cc +75 -0
- data/ext/facter/leatherman/util/src/windows/environment.cc +75 -0
- data/ext/facter/leatherman/util/src/windows/scoped_handle.cc +24 -0
- data/ext/facter/leatherman/util/src/windows/time.cc +10 -0
- data/ext/facter/leatherman/util/tests/environment.cc +90 -0
- data/ext/facter/leatherman/util/tests/option_set.cc +234 -0
- data/ext/facter/leatherman/util/tests/posix/environment.cc +36 -0
- data/ext/facter/leatherman/util/tests/scoped_env.cc +52 -0
- data/ext/facter/leatherman/util/tests/strings_test.cc +71 -0
- data/ext/facter/leatherman/util/tests/timer.cc +39 -0
- data/ext/facter/leatherman/util/tests/uri.cc +104 -0
- data/ext/facter/leatherman/util/tests/windows/environment.cc +30 -0
- data/ext/facter/leatherman/vendor/Catch-1.10.0.zip +0 -0
- data/ext/facter/leatherman/vendor/nowide/build/Jamfile.v2 +26 -0
- data/ext/facter/leatherman/vendor/nowide/doc/Doxyfile +1632 -0
- data/ext/facter/leatherman/vendor/nowide/doc/LICENSE_1_0.txt +23 -0
- data/ext/facter/leatherman/vendor/nowide/doc/gendoc.sh +11 -0
- data/ext/facter/leatherman/vendor/nowide/doc/main.txt +354 -0
- data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/args.hpp +167 -0
- data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/cenv.hpp +126 -0
- data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/config.hpp +54 -0
- data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/convert.hpp +154 -0
- data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/cstdio.hpp +101 -0
- data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/cstdlib.hpp +16 -0
- data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/filebuf.hpp +415 -0
- data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/fstream.hpp +283 -0
- data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/integration/filesystem.hpp +28 -0
- data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/iostream.hpp +99 -0
- data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/stackstring.hpp +154 -0
- data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/system.hpp +46 -0
- data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/utf8_codecvt.hpp +499 -0
- data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/windows.hpp +39 -0
- data/ext/facter/leatherman/vendor/nowide/index.html +16 -0
- data/ext/facter/leatherman/vendor/nowide/src/iostream.cpp +263 -0
- data/ext/facter/leatherman/vendor/nowide/standalone/CMakeLists.txt +104 -0
- data/ext/facter/leatherman/vendor/nowide/standalone/MinGW.cmake +9 -0
- data/ext/facter/leatherman/vendor/nowide/standalone/config.hpp +37 -0
- data/ext/facter/leatherman/vendor/nowide/standalone/convert +34 -0
- data/ext/facter/leatherman/vendor/nowide/standalone/encoding_errors.hpp +58 -0
- data/ext/facter/leatherman/vendor/nowide/standalone/encoding_utf.hpp +84 -0
- data/ext/facter/leatherman/vendor/nowide/standalone/run_convert_and_build.sh +17 -0
- data/ext/facter/leatherman/vendor/nowide/standalone/scoped_ptr.hpp +93 -0
- data/ext/facter/leatherman/vendor/nowide/standalone/utf.hpp +469 -0
- data/ext/facter/leatherman/vendor/nowide/template.hpp +19 -0
- data/ext/facter/leatherman/vendor/nowide/test/Jamfile.v2 +43 -0
- data/ext/facter/leatherman/vendor/nowide/test/test.hpp +25 -0
- data/ext/facter/leatherman/vendor/nowide/test/test_codecvt.cpp +254 -0
- data/ext/facter/leatherman/vendor/nowide/test/test_convert.cpp +101 -0
- data/ext/facter/leatherman/vendor/nowide/test/test_env.cpp +49 -0
- data/ext/facter/leatherman/vendor/nowide/test/test_fs.cpp +48 -0
- data/ext/facter/leatherman/vendor/nowide/test/test_fstream.cpp +184 -0
- data/ext/facter/leatherman/vendor/nowide/test/test_iostream.cpp +52 -0
- data/ext/facter/leatherman/vendor/nowide/test/test_stdio.cpp +60 -0
- data/ext/facter/leatherman/vendor/nowide/test/test_system.cpp +91 -0
- data/ext/facter/leatherman/vendor/rapidjson-1.0.2.zip +0 -0
- data/ext/facter/leatherman/windows/CMakeLists.txt +27 -0
- data/ext/facter/leatherman/windows/inc/leatherman/windows/file_util.hpp +23 -0
- data/ext/facter/leatherman/windows/inc/leatherman/windows/process.hpp +22 -0
- data/ext/facter/leatherman/windows/inc/leatherman/windows/registry.hpp +56 -0
- data/ext/facter/leatherman/windows/inc/leatherman/windows/system_error.hpp +23 -0
- data/ext/facter/leatherman/windows/inc/leatherman/windows/user.hpp +30 -0
- data/ext/facter/leatherman/windows/inc/leatherman/windows/windows.hpp +10 -0
- data/ext/facter/leatherman/windows/inc/leatherman/windows/wmi.hpp +188 -0
- data/ext/facter/leatherman/windows/src/file_util.cc +28 -0
- data/ext/facter/leatherman/windows/src/process.cc +42 -0
- data/ext/facter/leatherman/windows/src/registry.cc +96 -0
- data/ext/facter/leatherman/windows/src/system_error.cc +33 -0
- data/ext/facter/leatherman/windows/src/user.cc +76 -0
- data/ext/facter/leatherman/windows/src/wmi.cc +208 -0
- data/ext/facter/leatherman/windows/tests/file_utils_test.cc +13 -0
- metadata +1089 -0
@@ -0,0 +1,339 @@
|
|
1
|
+
/**
|
2
|
+
* @file
|
3
|
+
* Declares the fact collection.
|
4
|
+
*/
|
5
|
+
#pragma once
|
6
|
+
|
7
|
+
#include "resolver.hpp"
|
8
|
+
#include "value.hpp"
|
9
|
+
#include "external/resolver.hpp"
|
10
|
+
#include "../export.h"
|
11
|
+
#include <list>
|
12
|
+
#include <map>
|
13
|
+
#include <set>
|
14
|
+
#include <unordered_map>
|
15
|
+
#include <vector>
|
16
|
+
#include <string>
|
17
|
+
#include <memory>
|
18
|
+
#include <functional>
|
19
|
+
#include <stdexcept>
|
20
|
+
#include <iostream>
|
21
|
+
|
22
|
+
namespace facter { namespace facts {
|
23
|
+
|
24
|
+
/**
|
25
|
+
* The supported output format for the fact collection.
|
26
|
+
*/
|
27
|
+
enum class format
|
28
|
+
{
|
29
|
+
/**
|
30
|
+
* Use ruby "hash" as the format (default).
|
31
|
+
*/
|
32
|
+
hash,
|
33
|
+
/**
|
34
|
+
* Use JSON as the format.
|
35
|
+
*/
|
36
|
+
json,
|
37
|
+
/**
|
38
|
+
* Use YAML as the format.
|
39
|
+
*/
|
40
|
+
yaml
|
41
|
+
};
|
42
|
+
|
43
|
+
namespace {
|
44
|
+
/**
|
45
|
+
* Stream adapter for using with rapidjson
|
46
|
+
*/
|
47
|
+
struct stream_adapter
|
48
|
+
{
|
49
|
+
/**
|
50
|
+
* Constructs an adapter for use with rapidjson around the given stream.
|
51
|
+
* @param stream an output stream to which JSON will be written
|
52
|
+
*/
|
53
|
+
explicit stream_adapter(std::ostream& stream) : _stream(stream)
|
54
|
+
{
|
55
|
+
}
|
56
|
+
|
57
|
+
/**
|
58
|
+
* Adds a character to the stream.
|
59
|
+
* @param c the char to add
|
60
|
+
*/
|
61
|
+
void Put(char c)
|
62
|
+
{
|
63
|
+
_stream << c;
|
64
|
+
}
|
65
|
+
|
66
|
+
/**
|
67
|
+
* Flushes the stream.
|
68
|
+
*/
|
69
|
+
void Flush()
|
70
|
+
{
|
71
|
+
_stream.flush();
|
72
|
+
}
|
73
|
+
|
74
|
+
private:
|
75
|
+
std::ostream& _stream;
|
76
|
+
};
|
77
|
+
}
|
78
|
+
|
79
|
+
/**
|
80
|
+
* Represents the fact collection.
|
81
|
+
* The fact collection is responsible for resolving and storing facts.
|
82
|
+
*/
|
83
|
+
struct LIBFACTER_EXPORT collection
|
84
|
+
{
|
85
|
+
/**
|
86
|
+
* Inherent "has_weight" value for external facts.
|
87
|
+
*/
|
88
|
+
constexpr static size_t external_fact_weight = 10000;
|
89
|
+
|
90
|
+
/**
|
91
|
+
* Constructs a fact collection.
|
92
|
+
* @param blocklist the names of resolvers that should not be resolved
|
93
|
+
* @param ttls a map of resolver names to cache intervals (times-to-live)
|
94
|
+
* for the facts they resolve
|
95
|
+
* @param ignore_cache true if the cache should not be consulted when resolving facts
|
96
|
+
*/
|
97
|
+
collection(std::set<std::string> const& blocklist = std::set<std::string>(),
|
98
|
+
std::unordered_map<std::string, int64_t> const& ttls = std::unordered_map<std::string, int64_t>{},
|
99
|
+
bool ignore_cache = false);
|
100
|
+
|
101
|
+
/**
|
102
|
+
* Destructor for fact collection.
|
103
|
+
*/
|
104
|
+
~collection();
|
105
|
+
|
106
|
+
/**
|
107
|
+
* Prevents the fact collection from being copied.
|
108
|
+
*/
|
109
|
+
collection(collection const&) = delete;
|
110
|
+
|
111
|
+
/**
|
112
|
+
* Prevents the fact collection from being copied.
|
113
|
+
* @returns Returns this fact collection.
|
114
|
+
*/
|
115
|
+
collection& operator=(collection const&) = delete;
|
116
|
+
|
117
|
+
/**
|
118
|
+
* Moves the given fact collection into this fact collection.
|
119
|
+
* @param other The fact collection to move into this fact collection.
|
120
|
+
*/
|
121
|
+
// Visual Studio 12 still doesn't allow default for move constructor.
|
122
|
+
collection(collection&& other);
|
123
|
+
|
124
|
+
/**
|
125
|
+
* Moves the given fact collection into this fact collection.
|
126
|
+
* @param other The fact collection to move into this fact collection.
|
127
|
+
* @return Returns this fact collection.
|
128
|
+
*/
|
129
|
+
// Visual Studio 12 still doesn't allow default for move assignment.
|
130
|
+
collection& operator=(collection&& other);
|
131
|
+
|
132
|
+
/**
|
133
|
+
* Adds the default facts to the collection.
|
134
|
+
* @param include_ruby_facts Whether or not to include facts which require Ruby in the collection.
|
135
|
+
*/
|
136
|
+
void add_default_facts(bool include_ruby_facts);
|
137
|
+
|
138
|
+
/**
|
139
|
+
* Adds a resolver to the fact collection.
|
140
|
+
* The last resolver that was added for a particular name or pattern will "win" resolution.
|
141
|
+
* @param res The resolver to add to the fact collection.
|
142
|
+
*/
|
143
|
+
void add(std::shared_ptr<resolver> const& res);
|
144
|
+
|
145
|
+
/**
|
146
|
+
* Adds a fact to the fact collection.
|
147
|
+
* @param name The name of the fact.
|
148
|
+
* @param value The value of the fact.
|
149
|
+
*/
|
150
|
+
void add(std::string name, std::unique_ptr<value> value);
|
151
|
+
|
152
|
+
/**
|
153
|
+
* Adds a custom fact to the fact collection.
|
154
|
+
* @param name The name of the fact.
|
155
|
+
* @param value The value of the fact.
|
156
|
+
* @param weight The weight of the fact.
|
157
|
+
*/
|
158
|
+
void add_custom(std::string name, std::unique_ptr<value> value, size_t weight);
|
159
|
+
|
160
|
+
/**
|
161
|
+
* Adds an external fact to the fact collection.
|
162
|
+
* @param name The name of the fact.
|
163
|
+
* @param value The value of the fact.
|
164
|
+
*/
|
165
|
+
void add_external(std::string name, std::unique_ptr<value> value);
|
166
|
+
|
167
|
+
/**
|
168
|
+
* Adds external facts to the fact collection.
|
169
|
+
* @param directories The directories to search for external facts. If empty, the default search paths will be used.
|
170
|
+
*/
|
171
|
+
void add_external_facts(std::vector<std::string> const& directories = {});
|
172
|
+
|
173
|
+
/**
|
174
|
+
* Adds facts defined via "FACTER_xyz" environment variables.
|
175
|
+
* @param callback The callback that is called with the name of each fact added from the environment.
|
176
|
+
*/
|
177
|
+
void add_environment_facts(std::function<void(std::string const&)> callback = nullptr);
|
178
|
+
|
179
|
+
/**
|
180
|
+
* Removes a resolver from the fact collection.
|
181
|
+
* @param res The resolver to remove from the fact collection.
|
182
|
+
*/
|
183
|
+
void remove(std::shared_ptr<resolver> const& res);
|
184
|
+
|
185
|
+
/**
|
186
|
+
* Removes a fact by name.
|
187
|
+
* @param name The name of the fact to remove.
|
188
|
+
*/
|
189
|
+
void remove(std::string const& name);
|
190
|
+
|
191
|
+
/**
|
192
|
+
* Clears the entire fact collection.
|
193
|
+
* This will remove all built-in facts and resolvers from the fact collection.
|
194
|
+
*/
|
195
|
+
void clear();
|
196
|
+
|
197
|
+
/**
|
198
|
+
* Checks to see if the fact collection is empty.
|
199
|
+
* All facts will be resolved to determine if the collection is empty.
|
200
|
+
* @return Returns true if the fact collection is empty or false if it is not.
|
201
|
+
*/
|
202
|
+
bool empty();
|
203
|
+
|
204
|
+
/**
|
205
|
+
* Gets the count of facts in the fact collection.
|
206
|
+
* All facts will be resolved to determine the size of the collection.
|
207
|
+
* @return Returns the number of facts in the fact collection.
|
208
|
+
*/
|
209
|
+
size_t size();
|
210
|
+
|
211
|
+
/**
|
212
|
+
* Gets a fact value by name.
|
213
|
+
* @tparam T The expected type of the value.
|
214
|
+
* @param name The name of the fact to get the value of.
|
215
|
+
* @return Returns a pointer to the fact value or nullptr if the fact is not in the fact collection or the value is not the expected type.
|
216
|
+
*/
|
217
|
+
template <typename T = value>
|
218
|
+
T const* get(std::string const& name)
|
219
|
+
{
|
220
|
+
return dynamic_cast<T const*>(get_value(name));
|
221
|
+
}
|
222
|
+
|
223
|
+
/**
|
224
|
+
* Gets a fact value by name without resolving the fact.
|
225
|
+
* @tparam T The expected type of the value.
|
226
|
+
* @param name The name of the fact to get the value of.
|
227
|
+
* @return Returns a pointer to the fact value or nullptr if the fact is not resolved or the value is not the expected type.
|
228
|
+
*/
|
229
|
+
template <typename T = value>
|
230
|
+
T const* get_resolved(std::string const& name) const
|
231
|
+
{
|
232
|
+
// Lookup the fact without resolving
|
233
|
+
auto it = _facts.find(name);
|
234
|
+
return dynamic_cast<T const*>(it == _facts.end() ? nullptr : it->second.get());
|
235
|
+
}
|
236
|
+
|
237
|
+
/**
|
238
|
+
* Gets a fact value by name
|
239
|
+
* @param name The name of the fact to get the value of.
|
240
|
+
* @return Returns a pointer to the fact value or nullptr if the fact is not in the fact collection.
|
241
|
+
*/
|
242
|
+
value const* operator[](std::string const& name);
|
243
|
+
|
244
|
+
/**
|
245
|
+
* Query the collection.
|
246
|
+
* @tparam T The expected type of the value.
|
247
|
+
* @param query The query to run.
|
248
|
+
* @return Returns the result of the query or nullptr if the query returned no value.
|
249
|
+
*/
|
250
|
+
template <typename T = value>
|
251
|
+
T const* query(std::string const& query)
|
252
|
+
{
|
253
|
+
return dynamic_cast<T const*>(query_value(query, false));
|
254
|
+
}
|
255
|
+
|
256
|
+
/**
|
257
|
+
* Enumerates all facts in the collection.
|
258
|
+
* All facts will be resolved prior to enumeration.
|
259
|
+
* @param func The callback function called for each fact in the collection.
|
260
|
+
*/
|
261
|
+
void each(std::function<bool(std::string const&, value const*)> func);
|
262
|
+
|
263
|
+
/**
|
264
|
+
* Writes the contents of the fact collection to the given stream, hiding legacy facts.
|
265
|
+
* All facts will be resolved prior to writing.
|
266
|
+
* @param stream The stream to write the facts to.
|
267
|
+
* @param fmt The output format to use.
|
268
|
+
* @param queries The set of queries to filter the output to. If empty, all facts will be output.
|
269
|
+
* @return Returns the stream being written to.
|
270
|
+
*/
|
271
|
+
std::ostream& write(std::ostream& stream, format fmt = format::hash, std::set<std::string> const& queries = std::set<std::string>());
|
272
|
+
|
273
|
+
/**
|
274
|
+
* Writes the contents of the fact collection to the given stream.
|
275
|
+
* All facts will be resolved prior to writing.
|
276
|
+
* @param stream The stream to write the facts to.
|
277
|
+
* @param fmt The output format to use.
|
278
|
+
* @param queries The set of queries to filter the output to. If empty, all facts will be output.
|
279
|
+
* @param show_legacy Show legacy facts when querying all facts.
|
280
|
+
* @param strict_errors Report additional error cases
|
281
|
+
* @return Returns the stream being written to.
|
282
|
+
*/
|
283
|
+
std::ostream& write(std::ostream& stream, format fmt, std::set<std::string> const& queries, bool show_legacy, bool strict_errors);
|
284
|
+
|
285
|
+
/**
|
286
|
+
* Resolves all facts in the collection.
|
287
|
+
*/
|
288
|
+
void resolve_facts();
|
289
|
+
|
290
|
+
/**
|
291
|
+
* Returns the names of all the resolvers currently in the collection,
|
292
|
+
* along with their associated facts. The group names are used to allow
|
293
|
+
* caching of those facts.
|
294
|
+
* @return a map of group names to their associated fact names
|
295
|
+
*/
|
296
|
+
std::map<std::string, std::vector<std::string>> get_fact_groups();
|
297
|
+
|
298
|
+
/**
|
299
|
+
* Returns the names of all blockable resolvers currently in the collection,
|
300
|
+
* along with their associated facts. The group names are used to allow
|
301
|
+
* blocking of those facts.
|
302
|
+
* @return a map of blockable group names to their associated fact names
|
303
|
+
*/
|
304
|
+
std::map<std::string, std::vector<std::string>> get_blockable_fact_groups();
|
305
|
+
|
306
|
+
protected:
|
307
|
+
/**
|
308
|
+
* Gets external fact directories for the current platform.
|
309
|
+
* @return A list of file paths that will be searched for external facts.
|
310
|
+
*/
|
311
|
+
virtual std::vector<std::string> get_external_fact_directories() const;
|
312
|
+
|
313
|
+
private:
|
314
|
+
LIBFACTER_NO_EXPORT void resolve_fact(std::string const& name);
|
315
|
+
LIBFACTER_NO_EXPORT value const* get_value(std::string const& name);
|
316
|
+
LIBFACTER_NO_EXPORT value const* query_value(std::string const& query, bool strict_errors);
|
317
|
+
LIBFACTER_NO_EXPORT value const* lookup(value const* value, std::string const& name, bool strict_errors);
|
318
|
+
LIBFACTER_NO_EXPORT void write_hash(std::ostream& stream, std::set<std::string> const& queries, bool show_legacy, bool strict_errors);
|
319
|
+
LIBFACTER_NO_EXPORT void write_json(std::ostream& stream, std::set<std::string> const& queries, bool show_legacy, bool strict_errors);
|
320
|
+
LIBFACTER_NO_EXPORT void write_yaml(std::ostream& stream, std::set<std::string> const& queries, bool show_legacy, bool strict_errors);
|
321
|
+
LIBFACTER_NO_EXPORT void add_common_facts(bool include_ruby_facts);
|
322
|
+
LIBFACTER_NO_EXPORT bool add_external_facts_dir(std::vector<std::unique_ptr<external::resolver>> const& resolvers, std::string const& directory, bool warn);
|
323
|
+
LIBFACTER_NO_EXPORT bool try_block(std::shared_ptr<resolver> const& res);
|
324
|
+
LIBFACTER_NO_EXPORT void resolve(std::shared_ptr<resolver> const& res);
|
325
|
+
|
326
|
+
// Platform specific members
|
327
|
+
LIBFACTER_NO_EXPORT void add_platform_facts();
|
328
|
+
LIBFACTER_NO_EXPORT std::vector<std::unique_ptr<external::resolver>> get_external_resolvers();
|
329
|
+
|
330
|
+
std::map<std::string, std::unique_ptr<value>> _facts;
|
331
|
+
std::list<std::shared_ptr<resolver>> _resolvers;
|
332
|
+
std::multimap<std::string, std::shared_ptr<resolver>> _resolver_map;
|
333
|
+
std::list<std::shared_ptr<resolver>> _pattern_resolvers;
|
334
|
+
std::set<std::string> _blocklist;
|
335
|
+
std::unordered_map<std::string, int64_t> _ttls;
|
336
|
+
bool _ignore_cache;
|
337
|
+
};
|
338
|
+
|
339
|
+
}} // namespace facter::facts
|
@@ -0,0 +1,49 @@
|
|
1
|
+
/**
|
2
|
+
* @file
|
3
|
+
* Declares the base external fact resolver.
|
4
|
+
*/
|
5
|
+
#pragma once
|
6
|
+
|
7
|
+
#include <stdexcept>
|
8
|
+
#include <string>
|
9
|
+
#include "../../export.h"
|
10
|
+
|
11
|
+
namespace facter { namespace facts {
|
12
|
+
struct collection;
|
13
|
+
}} // namespace facter::facts
|
14
|
+
|
15
|
+
namespace facter { namespace facts { namespace external {
|
16
|
+
|
17
|
+
/**
|
18
|
+
* Thrown when there is an error processing an external fact.
|
19
|
+
*/
|
20
|
+
struct LIBFACTER_EXPORT external_fact_exception : std::runtime_error
|
21
|
+
{
|
22
|
+
/**
|
23
|
+
* Constructs a external_fact_exception.
|
24
|
+
* @param message The exception message.
|
25
|
+
*/
|
26
|
+
explicit external_fact_exception(std::string const& message);
|
27
|
+
};
|
28
|
+
|
29
|
+
/**
|
30
|
+
* Base class for external resolvers
|
31
|
+
*/
|
32
|
+
struct LIBFACTER_EXPORT resolver
|
33
|
+
{
|
34
|
+
/**
|
35
|
+
* Determines if the resolver can resolve the facts from the given file.
|
36
|
+
* @param path The path to the file to resolve facts from.
|
37
|
+
* @return Returns true if the resolver can resolve the facts in the given file or false if it cannot.
|
38
|
+
*/
|
39
|
+
virtual bool can_resolve(std::string const& path) const = 0;
|
40
|
+
|
41
|
+
/**
|
42
|
+
* Resolves facts from the given file.
|
43
|
+
* @param path The path to the file to resolve facts from.
|
44
|
+
* @param facts The fact collection to populate the external facts into.
|
45
|
+
*/
|
46
|
+
virtual void resolve(std::string const& path, collection& facts) const = 0;
|
47
|
+
};
|
48
|
+
|
49
|
+
}}} // namespace facter::facts::external
|
@@ -0,0 +1,669 @@
|
|
1
|
+
/**
|
2
|
+
* @file
|
3
|
+
* Declares the fact name constants.
|
4
|
+
*/
|
5
|
+
#pragma once
|
6
|
+
|
7
|
+
#include "../export.h"
|
8
|
+
|
9
|
+
namespace facter { namespace facts {
|
10
|
+
|
11
|
+
/**
|
12
|
+
* Stores the constant fact names.
|
13
|
+
*/
|
14
|
+
struct LIBFACTER_EXPORT fact
|
15
|
+
{
|
16
|
+
/**
|
17
|
+
* The fact for kernel name.
|
18
|
+
*/
|
19
|
+
constexpr static char const* kernel = "kernel";
|
20
|
+
/**
|
21
|
+
* The fact for kernel version.
|
22
|
+
*/
|
23
|
+
constexpr static char const* kernel_version = "kernelversion";
|
24
|
+
/**
|
25
|
+
* The fact for kernel release.
|
26
|
+
*/
|
27
|
+
constexpr static char const* kernel_release = "kernelrelease";
|
28
|
+
/**
|
29
|
+
* The fact for kernel major version.
|
30
|
+
*/
|
31
|
+
constexpr static char const* kernel_major_version = "kernelmajversion";
|
32
|
+
|
33
|
+
/**
|
34
|
+
* The structured operating system fact.
|
35
|
+
*/
|
36
|
+
constexpr static char const* os = "os";
|
37
|
+
/**
|
38
|
+
* The fact for operating system name.
|
39
|
+
*/
|
40
|
+
constexpr static char const* operating_system = "operatingsystem";
|
41
|
+
/**
|
42
|
+
* The fact for operating system family name.
|
43
|
+
*/
|
44
|
+
constexpr static char const* os_family = "osfamily";
|
45
|
+
/**
|
46
|
+
* The fact for operating system release.
|
47
|
+
*/
|
48
|
+
constexpr static char const* operating_system_release = "operatingsystemrelease";
|
49
|
+
/**
|
50
|
+
* The fact for operating system major release.
|
51
|
+
*/
|
52
|
+
constexpr static char const* operating_system_major_release = "operatingsystemmajrelease";
|
53
|
+
|
54
|
+
/**
|
55
|
+
* The fact for LSB distro id.
|
56
|
+
*/
|
57
|
+
constexpr static char const* lsb_dist_id = "lsbdistid";
|
58
|
+
/**
|
59
|
+
* The fact for LSB distro release.
|
60
|
+
*/
|
61
|
+
constexpr static char const* lsb_dist_release = "lsbdistrelease";
|
62
|
+
/**
|
63
|
+
* The fact for LSB distro codename.
|
64
|
+
*/
|
65
|
+
constexpr static char const* lsb_dist_codename = "lsbdistcodename";
|
66
|
+
/**
|
67
|
+
* The fact for LSB distro description.
|
68
|
+
*/
|
69
|
+
constexpr static char const* lsb_dist_description = "lsbdistdescription";
|
70
|
+
/**
|
71
|
+
* The fact for LSB distro major release.
|
72
|
+
*/
|
73
|
+
constexpr static char const* lsb_dist_major_release = "lsbmajdistrelease";
|
74
|
+
/**
|
75
|
+
* The fact for LSB distro minor release.
|
76
|
+
*/
|
77
|
+
constexpr static char const* lsb_dist_minor_release = "lsbminordistrelease";
|
78
|
+
/**
|
79
|
+
* The fact for LSB release.
|
80
|
+
*/
|
81
|
+
constexpr static char const* lsb_release = "lsbrelease";
|
82
|
+
|
83
|
+
/**
|
84
|
+
* The structured fact for networking.
|
85
|
+
*/
|
86
|
+
constexpr static char const* networking = "networking";
|
87
|
+
/**
|
88
|
+
* The fact for network hostname.
|
89
|
+
*/
|
90
|
+
constexpr static char const* hostname = "hostname";
|
91
|
+
/**
|
92
|
+
* The fact for IPv4 address.
|
93
|
+
*/
|
94
|
+
constexpr static char const* ipaddress = "ipaddress";
|
95
|
+
/**
|
96
|
+
* The fact for IPv6 address.
|
97
|
+
*/
|
98
|
+
constexpr static char const* ipaddress6 = "ipaddress6";
|
99
|
+
/**
|
100
|
+
* The fact for interface MTU.
|
101
|
+
*/
|
102
|
+
constexpr static char const* mtu = "mtu";
|
103
|
+
/**
|
104
|
+
* The fact for IPv4 netmask.
|
105
|
+
*/
|
106
|
+
constexpr static char const* netmask = "netmask";
|
107
|
+
/**
|
108
|
+
* The fact for IPv6 netmask.
|
109
|
+
*/
|
110
|
+
constexpr static char const* netmask6 = "netmask6";
|
111
|
+
/**
|
112
|
+
* The fact for IPv4 network.
|
113
|
+
*/
|
114
|
+
constexpr static char const* network = "network";
|
115
|
+
/**
|
116
|
+
* The fact for IPv6 network.
|
117
|
+
*/
|
118
|
+
constexpr static char const* network6 = "network6";
|
119
|
+
/**
|
120
|
+
* The fact for interface MAC address.
|
121
|
+
*/
|
122
|
+
constexpr static char const* macaddress = "macaddress";
|
123
|
+
/**
|
124
|
+
* The fact for interface names.
|
125
|
+
*/
|
126
|
+
constexpr static char const* interfaces = "interfaces";
|
127
|
+
/**
|
128
|
+
* The fact for domain name.
|
129
|
+
*/
|
130
|
+
constexpr static char const* domain = "domain";
|
131
|
+
/**
|
132
|
+
* The fact for fully-qualified domain name (FQDN).
|
133
|
+
*/
|
134
|
+
constexpr static char const* fqdn = "fqdn";
|
135
|
+
/**
|
136
|
+
* The fact for DHCP servers.
|
137
|
+
*/
|
138
|
+
constexpr static char const* dhcp_servers = "dhcp_servers";
|
139
|
+
|
140
|
+
/**
|
141
|
+
* The fact for block device.
|
142
|
+
*/
|
143
|
+
constexpr static char const* block_device = "blockdevice";
|
144
|
+
/**
|
145
|
+
* The fact for the list of block devices.
|
146
|
+
*/
|
147
|
+
constexpr static char const* block_devices = "blockdevices";
|
148
|
+
|
149
|
+
/**
|
150
|
+
* The structured processor fact
|
151
|
+
*/
|
152
|
+
constexpr static char const* processors = "processors";
|
153
|
+
/**
|
154
|
+
* The fact for processor descriptions.
|
155
|
+
*/
|
156
|
+
constexpr static char const* processor = "processor";
|
157
|
+
/**
|
158
|
+
* The fact for logical processor count.
|
159
|
+
*/
|
160
|
+
constexpr static char const* processor_count = "processorcount";
|
161
|
+
/**
|
162
|
+
* The fact for physical processor count.
|
163
|
+
*/
|
164
|
+
constexpr static char const* physical_processor_count = "physicalprocessorcount";
|
165
|
+
/**
|
166
|
+
* The fact for processor instruction set architecture.
|
167
|
+
*/
|
168
|
+
constexpr static char const* hardware_isa = "hardwareisa";
|
169
|
+
/**
|
170
|
+
* The fact for processor hardware model.
|
171
|
+
*/
|
172
|
+
constexpr static char const* hardware_model = "hardwaremodel";
|
173
|
+
|
174
|
+
/**
|
175
|
+
* The fact for hardware architecture.
|
176
|
+
*/
|
177
|
+
constexpr static char const* architecture = "architecture";
|
178
|
+
|
179
|
+
/**
|
180
|
+
* The structured fact for DMI data.
|
181
|
+
*/
|
182
|
+
constexpr static char const* dmi = "dmi";
|
183
|
+
/**
|
184
|
+
* The fact for BIOS vendor.
|
185
|
+
*/
|
186
|
+
constexpr static char const* bios_vendor = "bios_vendor";
|
187
|
+
/**
|
188
|
+
* The fact for BIOS version.
|
189
|
+
*/
|
190
|
+
constexpr static char const* bios_version = "bios_version";
|
191
|
+
/**
|
192
|
+
* The fact for BIOS release date.
|
193
|
+
*/
|
194
|
+
constexpr static char const* bios_release_date = "bios_release_date";
|
195
|
+
/**
|
196
|
+
* The fact for motherboard asset tag.
|
197
|
+
*/
|
198
|
+
constexpr static char const* board_asset_tag = "boardassettag";
|
199
|
+
/**
|
200
|
+
* The fact for motherboard manufacturer.
|
201
|
+
*/
|
202
|
+
constexpr static char const* board_manufacturer = "boardmanufacturer";
|
203
|
+
/**
|
204
|
+
* The fact for motherboard product name.
|
205
|
+
*/
|
206
|
+
constexpr static char const* board_product_name = "boardproductname";
|
207
|
+
/**
|
208
|
+
* The fact for motherboard serial number.
|
209
|
+
*/
|
210
|
+
constexpr static char const* board_serial_number = "boardserialnumber";
|
211
|
+
/**
|
212
|
+
* The fact for chassis asset tag.
|
213
|
+
*/
|
214
|
+
constexpr static char const* chassis_asset_tag = "chassisassettag";
|
215
|
+
/**
|
216
|
+
* The fact for hardware manufacturer.
|
217
|
+
*/
|
218
|
+
constexpr static char const* manufacturer = "manufacturer";
|
219
|
+
/**
|
220
|
+
* The fact for hardware product name.
|
221
|
+
*/
|
222
|
+
constexpr static char const* product_name = "productname";
|
223
|
+
/**
|
224
|
+
* The fact for hardware serial number.
|
225
|
+
*/
|
226
|
+
constexpr static char const* serial_number = "serialnumber";
|
227
|
+
/**
|
228
|
+
* The fact for hardware UUID.
|
229
|
+
*/
|
230
|
+
constexpr static char const* uuid = "uuid";
|
231
|
+
/**
|
232
|
+
* The fact for hardware chassis type.
|
233
|
+
*/
|
234
|
+
constexpr static char const* chassis_type = "chassistype";
|
235
|
+
|
236
|
+
/**
|
237
|
+
* The structured uptime fact
|
238
|
+
*/
|
239
|
+
constexpr static char const* system_uptime = "system_uptime";
|
240
|
+
/**
|
241
|
+
* The fact for system uptime.
|
242
|
+
*/
|
243
|
+
constexpr static char const* uptime = "uptime";
|
244
|
+
/**
|
245
|
+
* The fact for system uptime, in days.
|
246
|
+
*/
|
247
|
+
constexpr static char const* uptime_days = "uptime_days";
|
248
|
+
/**
|
249
|
+
* The fact for system uptime, in hours.
|
250
|
+
*/
|
251
|
+
constexpr static char const* uptime_hours = "uptime_hours";
|
252
|
+
/**
|
253
|
+
* The fact for system uptime, in seconds.
|
254
|
+
*/
|
255
|
+
constexpr static char const* uptime_seconds = "uptime_seconds";
|
256
|
+
|
257
|
+
/**
|
258
|
+
* The fact for selinux state.
|
259
|
+
*/
|
260
|
+
constexpr static char const* selinux = "selinux";
|
261
|
+
/**
|
262
|
+
* The fact for selinux enforcement state.
|
263
|
+
*/
|
264
|
+
constexpr static char const* selinux_enforced = "selinux_enforced";
|
265
|
+
/**
|
266
|
+
* The fact for selinux policy version.
|
267
|
+
*/
|
268
|
+
constexpr static char const* selinux_policyversion = "selinux_policyversion";
|
269
|
+
/**
|
270
|
+
* The fact for current selinux mode.
|
271
|
+
*/
|
272
|
+
constexpr static char const* selinux_current_mode = "selinux_current_mode";
|
273
|
+
/**
|
274
|
+
* The fact for selinux config mode.
|
275
|
+
*/
|
276
|
+
constexpr static char const* selinux_config_mode = "selinux_config_mode";
|
277
|
+
/**
|
278
|
+
* The fact for selinux config policy.
|
279
|
+
*/
|
280
|
+
constexpr static char const* selinux_config_policy = "selinux_config_policy";
|
281
|
+
|
282
|
+
/**
|
283
|
+
* The structured fact for SSH.
|
284
|
+
*/
|
285
|
+
constexpr static char const* ssh = "ssh";
|
286
|
+
/**
|
287
|
+
* The fact for SSH DSA public key.
|
288
|
+
*/
|
289
|
+
constexpr static char const* ssh_dsa_key = "sshdsakey";
|
290
|
+
/**
|
291
|
+
* The fact for SSH RSA public key.
|
292
|
+
*/
|
293
|
+
constexpr static char const* ssh_rsa_key = "sshrsakey";
|
294
|
+
/**
|
295
|
+
* The fact for SSH ECDSA public key.
|
296
|
+
*/
|
297
|
+
constexpr static char const* ssh_ecdsa_key = "sshecdsakey";
|
298
|
+
/**
|
299
|
+
* The fact for SSH ED25519 public key.
|
300
|
+
*/
|
301
|
+
constexpr static char const* ssh_ed25519_key = "sshed25519key";
|
302
|
+
/**
|
303
|
+
* The fact for SSH fingerprint of the DSA public key.
|
304
|
+
*/
|
305
|
+
constexpr static char const* sshfp_dsa = "sshfp_dsa";
|
306
|
+
/**
|
307
|
+
* The fact for SSH fingerprint of the RSA public key.
|
308
|
+
*/
|
309
|
+
constexpr static char const* sshfp_rsa = "sshfp_rsa";
|
310
|
+
/**
|
311
|
+
* The fact for SSH fingerprint of the ECDSA public key.
|
312
|
+
*/
|
313
|
+
constexpr static char const* sshfp_ecdsa = "sshfp_ecdsa";
|
314
|
+
/**
|
315
|
+
* The fact for SSH fingerprint of the ED25519 public key.
|
316
|
+
*/
|
317
|
+
constexpr static char const* sshfp_ed25519 = "sshfp_ed25519";
|
318
|
+
|
319
|
+
/**
|
320
|
+
* The structured fact for OSX system profiler facts.
|
321
|
+
*/
|
322
|
+
constexpr static char const* system_profiler = "system_profiler";
|
323
|
+
/**
|
324
|
+
* The fact for OSX system profiler boot mode.
|
325
|
+
*/
|
326
|
+
constexpr static char const* sp_boot_mode = "sp_boot_mode";
|
327
|
+
/**
|
328
|
+
* The fact for OSX system profiler boot ROM version.
|
329
|
+
*/
|
330
|
+
constexpr static char const* sp_boot_rom_version = "sp_boot_rom_version";
|
331
|
+
/**
|
332
|
+
* The fact for OSX system profiler boot volume.
|
333
|
+
*/
|
334
|
+
constexpr static char const* sp_boot_volume = "sp_boot_volume";
|
335
|
+
/**
|
336
|
+
* The fact for OSX system profiler CPU type (processor name).
|
337
|
+
*/
|
338
|
+
constexpr static char const* sp_cpu_type = "sp_cpu_type";
|
339
|
+
/**
|
340
|
+
* The fact for OSX system profiler current CPU speed.
|
341
|
+
*/
|
342
|
+
constexpr static char const* sp_current_processor_speed = "sp_current_processor_speed";
|
343
|
+
/**
|
344
|
+
* The fact for OSX system profiler kernel version.
|
345
|
+
*/
|
346
|
+
constexpr static char const* sp_kernel_version = "sp_kernel_version";
|
347
|
+
/**
|
348
|
+
* The fact for OSX system profiler L2 cache (per core).
|
349
|
+
*/
|
350
|
+
constexpr static char const* sp_l2_cache_core = "sp_l2_cache_core";
|
351
|
+
/**
|
352
|
+
* The fact for OSX system profiler L3 cache.
|
353
|
+
*/
|
354
|
+
constexpr static char const* sp_l3_cache = "sp_l3_cache";
|
355
|
+
/**
|
356
|
+
* The fact for OSX system profiler local host name (computer name).
|
357
|
+
*/
|
358
|
+
constexpr static char const* sp_local_host_name = "sp_local_host_name";
|
359
|
+
/**
|
360
|
+
* The fact for OSX system profiler machine model (model identifier).
|
361
|
+
*/
|
362
|
+
constexpr static char const* sp_machine_model = "sp_machine_model";
|
363
|
+
/**
|
364
|
+
* The fact for OSX system profiler machine name (model name).
|
365
|
+
*/
|
366
|
+
constexpr static char const* sp_machine_name = "sp_machine_name";
|
367
|
+
/**
|
368
|
+
* The fact for OSX system profiler number of processors (total number of cores).
|
369
|
+
*/
|
370
|
+
constexpr static char const* sp_number_processors = "sp_number_processors";
|
371
|
+
/**
|
372
|
+
* The fact for OSX system profiler OS version (system version).
|
373
|
+
*/
|
374
|
+
constexpr static char const* sp_os_version = "sp_os_version";
|
375
|
+
/**
|
376
|
+
* The fact for OSX system profiler number of CPU packages (number of physical processors).
|
377
|
+
*/
|
378
|
+
constexpr static char const* sp_packages = "sp_packages";
|
379
|
+
/**
|
380
|
+
* The fact for OSX system profiler physical memory.
|
381
|
+
*/
|
382
|
+
constexpr static char const* sp_physical_memory = "sp_physical_memory";
|
383
|
+
/**
|
384
|
+
* The fact for OSX system profiler platform UUID (hardware UUID).
|
385
|
+
*/
|
386
|
+
constexpr static char const* sp_platform_uuid = "sp_platform_uuid";
|
387
|
+
/**
|
388
|
+
* The fact for OSX system profiler secure virtual memory.
|
389
|
+
*/
|
390
|
+
constexpr static char const* sp_secure_vm = "sp_secure_vm";
|
391
|
+
/**
|
392
|
+
* The fact for OSX system profiler serial number (system).
|
393
|
+
*/
|
394
|
+
constexpr static char const* sp_serial_number = "sp_serial_number";
|
395
|
+
/**
|
396
|
+
* The fact for OSX system profiler SMC version (system).
|
397
|
+
*/
|
398
|
+
constexpr static char const* sp_smc_version_system = "sp_smc_version_system";
|
399
|
+
/**
|
400
|
+
* The fact for OSX system profiler uptime (since boot).
|
401
|
+
*/
|
402
|
+
constexpr static char const* sp_uptime = "sp_uptime";
|
403
|
+
/**
|
404
|
+
* The fact for OSX system profiler user name.
|
405
|
+
*/
|
406
|
+
constexpr static char const* sp_user_name = "sp_user_name";
|
407
|
+
|
408
|
+
/**
|
409
|
+
* The fact for OSX build version.
|
410
|
+
*/
|
411
|
+
constexpr static char const* macosx_buildversion = "macosx_buildversion";
|
412
|
+
/**
|
413
|
+
* The fact for OSX product name.
|
414
|
+
*/
|
415
|
+
constexpr static char const* macosx_productname = "macosx_productname";
|
416
|
+
/**
|
417
|
+
* The fact for OSX product version.
|
418
|
+
*/
|
419
|
+
constexpr static char const* macosx_productversion = "macosx_productversion";
|
420
|
+
/**
|
421
|
+
* The fact for OSX build major version.
|
422
|
+
*/
|
423
|
+
constexpr static char const* macosx_productversion_major = "macosx_productversion_major";
|
424
|
+
/**
|
425
|
+
* The fact for OSX build minor version.
|
426
|
+
*/
|
427
|
+
constexpr static char const* macosx_productversion_minor = "macosx_productversion_minor";
|
428
|
+
|
429
|
+
/**
|
430
|
+
* The fact for Windows native system32 directory.
|
431
|
+
*/
|
432
|
+
constexpr static char const* windows_system32 = "system32";
|
433
|
+
|
434
|
+
/**
|
435
|
+
* The fact for virtualization hypervisor.
|
436
|
+
*/
|
437
|
+
constexpr static char const* virtualization = "virtual";
|
438
|
+
/**
|
439
|
+
* The fact for whether or not the machine is virtual or physical.
|
440
|
+
*/
|
441
|
+
constexpr static char const* is_virtual = "is_virtual";
|
442
|
+
/**
|
443
|
+
* The fact for all detected hypervisors
|
444
|
+
*/
|
445
|
+
constexpr static char const* hypervisors = "hypervisors";
|
446
|
+
/**
|
447
|
+
* The fact for the cloud info, including provider, for a node.
|
448
|
+
*/
|
449
|
+
constexpr static char const* cloud = "cloud";
|
450
|
+
/**
|
451
|
+
* The structured fact for identity information.
|
452
|
+
*/
|
453
|
+
constexpr static char const* identity = "identity";
|
454
|
+
/**
|
455
|
+
* The fact for the running user ID
|
456
|
+
*/
|
457
|
+
constexpr static char const* id = "id";
|
458
|
+
/**
|
459
|
+
* The fact for the running group ID
|
460
|
+
*/
|
461
|
+
constexpr static char const* gid = "gid";
|
462
|
+
|
463
|
+
/**
|
464
|
+
* The fact for the system timezone
|
465
|
+
*/
|
466
|
+
constexpr static char const* timezone = "timezone";
|
467
|
+
|
468
|
+
/**
|
469
|
+
* The fact for mountpoints.
|
470
|
+
*/
|
471
|
+
constexpr static char const* mountpoints = "mountpoints";
|
472
|
+
/**
|
473
|
+
* The fact for filesystems.
|
474
|
+
*/
|
475
|
+
constexpr static char const* filesystems = "filesystems";
|
476
|
+
|
477
|
+
/**
|
478
|
+
* The fact for disks.
|
479
|
+
*/
|
480
|
+
constexpr static char const* disks = "disks";
|
481
|
+
|
482
|
+
/**
|
483
|
+
* The fact for partitions.
|
484
|
+
*/
|
485
|
+
constexpr static char const* partitions = "partitions";
|
486
|
+
|
487
|
+
/**
|
488
|
+
* The fact for system memory.
|
489
|
+
*/
|
490
|
+
constexpr static char const* memory = "memory";
|
491
|
+
/**
|
492
|
+
* The fact for free system memory.
|
493
|
+
*/
|
494
|
+
constexpr static char const* memoryfree = "memoryfree";
|
495
|
+
/**
|
496
|
+
* The fact for free system memory in megabytes.
|
497
|
+
*/
|
498
|
+
constexpr static char const* memoryfree_mb = "memoryfree_mb";
|
499
|
+
/**
|
500
|
+
* The fact for total system memory.
|
501
|
+
*/
|
502
|
+
constexpr static char const* memorysize = "memorysize";
|
503
|
+
/**
|
504
|
+
* The fact for total system memory in megabytes.
|
505
|
+
*/
|
506
|
+
constexpr static char const* memorysize_mb = "memorysize_mb";
|
507
|
+
/**
|
508
|
+
* The fact for free swap.
|
509
|
+
*/
|
510
|
+
constexpr static char const* swapfree = "swapfree";
|
511
|
+
/**
|
512
|
+
* The fact for free swap in megabytes.
|
513
|
+
*/
|
514
|
+
constexpr static char const* swapfree_mb = "swapfree_mb";
|
515
|
+
/**
|
516
|
+
* The fact for total swap.
|
517
|
+
*/
|
518
|
+
constexpr static char const* swapsize = "swapsize";
|
519
|
+
/**
|
520
|
+
* The fact for total swap in megabytes.
|
521
|
+
*/
|
522
|
+
constexpr static char const* swapsize_mb = "swapsize_mb";
|
523
|
+
/**
|
524
|
+
* The fact for the swap being encrypted or not.
|
525
|
+
*/
|
526
|
+
constexpr static char const* swapencrypted = "swapencrypted";
|
527
|
+
|
528
|
+
/**
|
529
|
+
* The ZFS version fact.
|
530
|
+
*/
|
531
|
+
constexpr static char const* zfs_version = "zfs_version";
|
532
|
+
|
533
|
+
/**
|
534
|
+
* The ZFS supported version numbers.
|
535
|
+
*/
|
536
|
+
constexpr static char const* zfs_versionnumbers = "zfs_featurenumbers";
|
537
|
+
|
538
|
+
/**
|
539
|
+
* The ZFS storage pool (zpool) version fact.
|
540
|
+
*/
|
541
|
+
constexpr static char const* zpool_version = "zpool_version";
|
542
|
+
|
543
|
+
/**
|
544
|
+
* The ZFS storage pool supported feature flags.
|
545
|
+
*/
|
546
|
+
constexpr static char const* zpool_featureflags = "zpool_featureflags";
|
547
|
+
|
548
|
+
/**
|
549
|
+
* The ZFS storage pool supported version numbers.
|
550
|
+
*/
|
551
|
+
constexpr static char const* zpool_versionnumbers = "zpool_featurenumbers";
|
552
|
+
|
553
|
+
/**
|
554
|
+
* The fact for number of Solaris zones.
|
555
|
+
*/
|
556
|
+
constexpr static char const* zones = "zones";
|
557
|
+
/**
|
558
|
+
* The fact for the current Solaris zone name.
|
559
|
+
*/
|
560
|
+
constexpr static char const* zonename = "zonename";
|
561
|
+
/**
|
562
|
+
* The fact for Solaris zone brand.
|
563
|
+
*/
|
564
|
+
constexpr static char const* zone_brand = "brand";
|
565
|
+
/**
|
566
|
+
* The fact for Solaris zone iptype.
|
567
|
+
*/
|
568
|
+
constexpr static char const* zone_iptype = "iptype";
|
569
|
+
/**
|
570
|
+
* The fact for Solaris zone uuid.
|
571
|
+
*/
|
572
|
+
constexpr static char const* zone_uuid = "uuid";
|
573
|
+
/**
|
574
|
+
* The fact for Solaris zone id.
|
575
|
+
*/
|
576
|
+
constexpr static char const* zone_id = "id";
|
577
|
+
/**
|
578
|
+
* The fact for Solaris zone path.
|
579
|
+
*/
|
580
|
+
constexpr static char const* zone_path = "path";
|
581
|
+
/**
|
582
|
+
* The fact for Solaris zone status.
|
583
|
+
*/
|
584
|
+
constexpr static char const* zone_status = "status";
|
585
|
+
/**
|
586
|
+
* The fact for Solaris zone name.
|
587
|
+
*/
|
588
|
+
constexpr static char const* zone_name = "name";
|
589
|
+
/**
|
590
|
+
* The fact for the structured Solaris zone data.
|
591
|
+
*/
|
592
|
+
constexpr static char const* solaris_zones = "solaris_zones";
|
593
|
+
|
594
|
+
/**
|
595
|
+
* The fact for EC2 metadata.
|
596
|
+
*/
|
597
|
+
constexpr static char const* ec2_metadata = "ec2_metadata";
|
598
|
+
/**
|
599
|
+
* The fact for EC2 user data.
|
600
|
+
*/
|
601
|
+
constexpr static char const* ec2_userdata = "ec2_userdata";
|
602
|
+
|
603
|
+
/**
|
604
|
+
* The fact for GCE instance metadata.
|
605
|
+
*/
|
606
|
+
constexpr static char const* gce = "gce";
|
607
|
+
|
608
|
+
/**
|
609
|
+
* The fact for Ruby metadata.
|
610
|
+
*/
|
611
|
+
constexpr static char const* ruby = "ruby";
|
612
|
+
|
613
|
+
/**
|
614
|
+
* The fact for ruby platform.
|
615
|
+
*/
|
616
|
+
constexpr static char const* rubyplatform = "rubyplatform";
|
617
|
+
|
618
|
+
/**
|
619
|
+
* The fact for ruby sitedir.
|
620
|
+
*/
|
621
|
+
constexpr static char const* rubysitedir = "rubysitedir";
|
622
|
+
|
623
|
+
/**
|
624
|
+
* The fact for ruby version.
|
625
|
+
*/
|
626
|
+
constexpr static char const* rubyversion = "rubyversion";
|
627
|
+
|
628
|
+
/**
|
629
|
+
* The fact for the PATH environment variable.
|
630
|
+
*/
|
631
|
+
constexpr static char const* path = "path";
|
632
|
+
|
633
|
+
/**
|
634
|
+
* The fact for cpu load average.
|
635
|
+
*/
|
636
|
+
constexpr static char const* load_averages = "load_averages";
|
637
|
+
|
638
|
+
/**
|
639
|
+
* The fact for augeas metadata.
|
640
|
+
*/
|
641
|
+
constexpr static char const* augeas = "augeas";
|
642
|
+
|
643
|
+
/**
|
644
|
+
* The fact for augeas version.
|
645
|
+
*/
|
646
|
+
constexpr static char const* augeasversion = "augeasversion";
|
647
|
+
|
648
|
+
/**
|
649
|
+
* The fact for Xen metadata.
|
650
|
+
*/
|
651
|
+
constexpr static char const* xen = "xen";
|
652
|
+
|
653
|
+
/**
|
654
|
+
* The fact for Xen domains.
|
655
|
+
*/
|
656
|
+
constexpr static char const* xendomains = "xendomains";
|
657
|
+
|
658
|
+
/**
|
659
|
+
* The structured fact for Solaris LDom facts.
|
660
|
+
*/
|
661
|
+
constexpr static char const* ldom = "ldom";
|
662
|
+
|
663
|
+
/**
|
664
|
+
* The fips mode fact for RHEL/Linux* facts.
|
665
|
+
*/
|
666
|
+
constexpr static char const* fips_enabled = "fips_enabled";
|
667
|
+
};
|
668
|
+
|
669
|
+
}} // namespace facter::facts
|