├── .github ├── actions │ └── presuite.rb ├── dependabot.yml ├── release.yml └── workflows │ ├── acceptance_tests.yml │ ├── checks.yaml │ ├── coverage.yaml │ ├── integration_tests.yaml │ ├── jira.yml │ ├── mend.yaml │ └── unit_tests.yaml ├── .gitignore ├── .jrubyrc ├── .rspec ├── .rubocop.yml ├── .rubocop_todo.yml ├── .rubycritic.yml ├── CHANGELOG.md ├── CODEOWNERS ├── CONTRIBUTING.md ├── Extensibility.md ├── Gemfile ├── LICENSE ├── README.md ├── Rakefile ├── acceptance ├── .beaker.yml ├── .gitignore ├── Gemfile ├── Rakefile ├── bin │ └── ci-bootstrap-from-artifacts.sh ├── config │ ├── aio │ │ └── options.rb │ ├── git │ │ └── options.rb │ └── nodes │ │ ├── aix-53-power.yaml │ │ ├── aix-61-power.yaml │ │ ├── aix-71-power.yaml │ │ ├── huaweios-6-powerpc.yaml │ │ ├── solaris-10-sparc.yaml │ │ └── solaris-11-sparc.yaml ├── lib │ ├── facter │ │ └── acceptance │ │ │ ├── api_utils.rb │ │ │ ├── base_fact_utils.rb │ │ │ └── user_fact_utils.rb │ ├── helper.rb │ └── puppet │ │ └── acceptance │ │ ├── common_utils.rb │ │ ├── git_utils.rb │ │ └── install_utils.rb ├── teardown │ └── common │ │ └── 099_Archive_Logs.rb └── tests │ ├── api │ └── value │ │ ├── core_and_custom.rb │ │ ├── core_and_custom_overwrite.rb │ │ ├── core_fact.rb │ │ ├── custom_fact_in_different_file.rb │ │ ├── custom_fact_in_same_file_as_fact_name.rb │ │ ├── env_fact.rb │ │ ├── external_fact.rb │ │ └── non_existent_fact.rb │ ├── custom_facts │ ├── block_custom_fact.rb │ ├── cached_custom_fact.rb │ ├── cached_dependant_custom_facts.rb │ ├── conflicts_with_builtin_fact.rb │ ├── custom_fact_with_10001_weight_overrides_external_fact.rb │ ├── custom_fact_with_legacy_fact.rb │ ├── custom_facts_aggregate_resolutions.rb │ ├── error_in_custom_file_does_not_affect_api.rb │ ├── error_in_custom_file_does_not_affect_cli.rb │ ├── execution_execute_sets_status_env_variable.rb │ ├── expand_command.rb │ ├── having_multiple_facts_in_one_file.rb │ ├── load_custom_fact_from_lib_facter.rb │ ├── long_stderr_with_time_limit.rb │ ├── not_expand_command.rb │ ├── resolution_timeout_option.rb │ ├── structured │ │ ├── block_structured_custom_fact.rb │ │ ├── cached_structured_custom_fact.rb │ │ ├── define_structured_custom_fact.rb │ │ ├── extend_structured_core_fact.rb │ │ ├── override_structured_core_fact.rb │ │ └── partial_cached_structured_custom_fact.rb │ ├── time_limit_for_execute_command.rb │ ├── using_win32ole_should_not_hang.rb │ ├── weighted_cached_custom_facts.rb │ └── windows_not_expand_command.rb │ ├── env_fact.rb │ ├── external_facts │ ├── block_external_facts.rb │ ├── env_var_overrides_external_fact.rb │ ├── external_dir_overrides_default_external_fact.rb │ ├── external_fact_overrides_custom_fact.rb │ ├── external_fact_overrides_custom_fact_with_10000_weight_or_less.rb │ ├── external_fact_overrides_custom_fact_with_confine.rb │ ├── external_fact_stderr_messages_output_to_stderr.rb │ ├── external_facts_only_run_once.rb │ ├── fact_directory_precedence.rb │ ├── files_containing_external_facts_are_loaded_in_lexicographical_order.rb │ ├── handle_same_filename_in_different_dirs.rb │ ├── non_root_users_default_external_fact_directory.rb │ ├── root_uses_default_external_fact_dir.rb │ ├── structured │ │ ├── block_structured_external_fact.rb │ │ ├── cached_structured_external_facts.rb │ │ ├── define_structured_external_fact.rb │ │ ├── partial_cached_structured_external_facts.rb │ │ └── structured_external_fact_override_part_structured_custom_fact.rb │ └── structured_executable_facts.rb │ ├── facter_flush.rb │ ├── facter_load_external.rb │ ├── facter_returns_success_on_non_existent_fact.rb │ ├── facts │ ├── dmi.rb │ ├── facterversion.rb │ ├── identity.rb │ ├── mountpoints_fact.rb │ ├── networking_facts.rb │ ├── networking_facts_with_secondary_ips.rb │ ├── networking_facts_with_vlans.rb │ ├── nim_type.rb │ ├── non_root_users_without_errors.rb │ ├── operatingsystem_detection_after_clear_on_ubuntu.rb │ ├── os_processors_and_kernel.rb │ ├── osx_numeric_hostname.rb │ ├── partitions.rb │ ├── productname.rb │ ├── ruby.rb │ ├── schema.rb │ ├── ssh_key.rb │ ├── validate_file_system_size_bytes.rb │ ├── verify_tmpfs_file_system.rb │ └── windows_os.rb │ ├── load_libfacter.rb │ ├── no_errors_on_stderr.rb │ ├── options │ ├── blocklist_no_regex.rb │ ├── blocklist_with_regex.rb │ ├── color.rb │ ├── config.rb │ ├── config_file │ │ ├── blocklist.rb │ │ ├── blocklist_from_puppet_facts.rb │ │ ├── cache_migrate_from_facter_3.rb │ │ ├── custom_dir_overridden_by_cli_custom_dir.rb │ │ ├── custom_facts.rb │ │ ├── custom_facts_list.rb │ │ ├── debug.rb │ │ ├── debug_override_config_file.rb │ │ ├── default_file_location.rb │ │ ├── external_dir_conflicts_with_cli_no_external_facts.rb │ │ ├── external_dir_overridden_by_cli_external_dir.rb │ │ ├── external_facts.rb │ │ ├── external_facts_list.rb │ │ ├── load_from_ruby.rb │ │ ├── log_level.rb │ │ ├── no_custom_facts_and_custom_dir.rb │ │ ├── no_custom_facts_and_facterlib.rb │ │ ├── no_custom_facts_and_load_path.rb │ │ ├── no_external_facts.rb │ │ ├── no_external_facts_and_external_dir.rb │ │ ├── no_ruby_disables_custom_facts.rb │ │ ├── no_ruby_disables_ruby_facts.rb │ │ ├── trace.rb │ │ ├── ttls │ │ │ ├── cached_all_types_of_facts.rb │ │ │ ├── cached_custom_group_core_custom_facts.rb │ │ │ ├── cached_nested_custom_facts.rb │ │ │ ├── cached_nested_external_facts.rb │ │ │ └── empty_ttls_does_not_delete_cache.rb │ │ ├── ttls_cache_missing_facts.rb │ │ ├── ttls_cache_system_uptime.rb │ │ ├── ttls_cached_custom_and_core_fact.rb │ │ ├── ttls_cached_external_execution_resolver_with_json_output.rb │ │ ├── ttls_cached_external_execution_resolver_with_text_output.rb │ │ ├── ttls_cached_external_execution_resolver_with_yaml_output.rb │ │ ├── ttls_cached_external_json_resolver.rb │ │ ├── ttls_cached_external_text_resolver.rb │ │ ├── ttls_cached_external_yaml_resolver.rb │ │ ├── ttls_cached_fact_in_multiple_groups.rb │ │ ├── ttls_cached_facts_creates_json_cache_file.rb │ │ ├── ttls_cached_facts_expire_facts_do_not_read_the_old_cached_value.rb │ │ ├── ttls_cached_facts_expire_facts_refresh_the_cached_value.rb │ │ ├── ttls_cached_facts_read_from_the_cached_value.rb │ │ ├── ttls_cached_facts_resolved_by_empty_ttls_cache_list.rb │ │ ├── ttls_cached_facts_that_are_corrupt_are_refreshed.rb │ │ ├── ttls_cached_facts_that_are_empty_return_an_empty_value.rb │ │ ├── ttls_cached_individual_fact_name.rb │ │ ├── ttls_external_facts_in_custom_groups.rb │ │ ├── ttls_puppet_facts_creates_json_for_cached_facts.rb │ │ ├── ttls_puppet_facts_honors_cached_facts.rb │ │ ├── use_facter_4_as_non_root_with_root_facter_3_cache.rb │ │ └── verbose.rb │ ├── custom_facts.rb │ ├── custom_facts_facterlib.rb │ ├── custom_facts_list.rb │ ├── custom_facts_load_path.rb │ ├── debug.rb │ ├── empty_string_in_blocklist.rb │ ├── external_facts.rb │ ├── external_facts_list.rb │ ├── help.rb │ ├── hocon.rb │ ├── json.rb │ ├── list_block_groups.rb │ ├── list_cache_groups.rb │ ├── log_level.rb │ ├── no_block.rb │ ├── no_cache_should_not_cache_facts.rb │ ├── no_cache_should_not_load_cached_facts.rb │ ├── no_cache_should_not_refresh_cached_facts.rb │ ├── no_color.rb │ ├── no_custom_facts.rb │ ├── no_custom_facts_and_custom_dir.rb │ ├── no_custom_facts_and_facterlib.rb │ ├── no_custom_facts_and_load_path.rb │ ├── no_external_facts.rb │ ├── no_external_facts_and_external_dir.rb │ ├── no_ruby.rb │ ├── puppet_facts.rb │ ├── sequential.rb │ ├── show_legacy.rb │ ├── strict.rb │ ├── trace.rb │ ├── verbose.rb │ ├── version.rb │ └── yaml.rb │ ├── session_cached_is_not_refershed_in_session.rb │ └── ticket_1238_hostname_fqdn.rb ├── bin └── facter ├── custom_facts ├── my_custom_fact.rb └── my_custom_os_fact.rb ├── docs └── data-flow.md ├── ext ├── build_defaults.yaml └── project_data.yaml ├── external_facts └── my_external_fact.txt ├── facter.conf ├── facter.gemspec ├── install.rb ├── lib ├── docs │ ├── generate.rb │ ├── generate_cli.rb │ ├── namespaces.dox │ └── template.erb ├── facter.rb ├── facter │ ├── config.rb │ ├── custom_facts │ │ ├── core │ │ │ ├── aggregate.rb │ │ │ ├── directed_graph.rb │ │ │ ├── execution.rb │ │ │ ├── execution │ │ │ │ ├── base.rb │ │ │ │ ├── popen3.rb │ │ │ │ ├── posix.rb │ │ │ │ └── windows.rb │ │ │ ├── file_loader.rb │ │ │ ├── legacy_facter.rb │ │ │ ├── resolvable.rb │ │ │ └── suitable.rb │ │ └── util │ │ │ ├── collection.rb │ │ │ ├── composite_loader.rb │ │ │ ├── config.rb │ │ │ ├── confine.rb │ │ │ ├── directory_loader.rb │ │ │ ├── fact.rb │ │ │ ├── loader.rb │ │ │ ├── normalization.rb │ │ │ ├── nothing_loader.rb │ │ │ ├── parser.rb │ │ │ ├── resolution.rb │ │ │ ├── unix_root.rb │ │ │ ├── values.rb │ │ │ └── windows_root.rb │ ├── facts │ │ ├── aix │ │ │ ├── aio_agent_version.rb │ │ │ ├── augeas │ │ │ │ └── version.rb │ │ │ ├── disks.rb │ │ │ ├── facterversion.rb │ │ │ ├── filesystems.rb │ │ │ ├── hypervisors │ │ │ │ ├── lpar.rb │ │ │ │ └── wpar.rb │ │ │ ├── identity │ │ │ │ ├── gid.rb │ │ │ │ ├── group.rb │ │ │ │ ├── privileged.rb │ │ │ │ ├── uid.rb │ │ │ │ └── user.rb │ │ │ ├── interfaces.rb │ │ │ ├── ipaddress6_interfaces.rb │ │ │ ├── ipaddress_interfaces.rb │ │ │ ├── kernel.rb │ │ │ ├── kernelmajversion.rb │ │ │ ├── kernelrelease.rb │ │ │ ├── kernelversion.rb │ │ │ ├── load_averages.rb │ │ │ ├── macaddress_interfaces.rb │ │ │ ├── memory │ │ │ │ ├── swap │ │ │ │ │ ├── available.rb │ │ │ │ │ ├── available_bytes.rb │ │ │ │ │ ├── capacity.rb │ │ │ │ │ ├── total.rb │ │ │ │ │ ├── total_bytes.rb │ │ │ │ │ ├── used.rb │ │ │ │ │ └── used_bytes.rb │ │ │ │ └── system │ │ │ │ │ ├── available.rb │ │ │ │ │ ├── available_bytes.rb │ │ │ │ │ ├── capacity.rb │ │ │ │ │ ├── total.rb │ │ │ │ │ ├── total_bytes.rb │ │ │ │ │ ├── used.rb │ │ │ │ │ └── used_bytes.rb │ │ │ ├── mountpoints.rb │ │ │ ├── mtu_interfaces.rb │ │ │ ├── netmask6_interfaces.rb │ │ │ ├── netmask_interfaces.rb │ │ │ ├── network6_interfaces.rb │ │ │ ├── network_interfaces.rb │ │ │ ├── networking │ │ │ │ ├── domain.rb │ │ │ │ ├── fqdn.rb │ │ │ │ ├── hostname.rb │ │ │ │ ├── interfaces.rb │ │ │ │ ├── ip.rb │ │ │ │ ├── ip6.rb │ │ │ │ ├── mac.rb │ │ │ │ ├── mtu.rb │ │ │ │ ├── netmask.rb │ │ │ │ ├── netmask6.rb │ │ │ │ ├── network.rb │ │ │ │ ├── network6.rb │ │ │ │ ├── primary.rb │ │ │ │ └── scope6.rb │ │ │ ├── nim_type.rb │ │ │ ├── os │ │ │ │ ├── architecture.rb │ │ │ │ ├── family.rb │ │ │ │ ├── hardware.rb │ │ │ │ ├── name.rb │ │ │ │ └── release.rb │ │ │ ├── partitions.rb │ │ │ ├── path.rb │ │ │ ├── processor.rb │ │ │ ├── processors │ │ │ │ ├── cores.rb │ │ │ │ ├── count.rb │ │ │ │ ├── isa.rb │ │ │ │ ├── models.rb │ │ │ │ ├── speed.rb │ │ │ │ └── threads.rb │ │ │ ├── ruby │ │ │ │ ├── platform.rb │ │ │ │ ├── sitedir.rb │ │ │ │ └── version.rb │ │ │ ├── scope6_interfaces.rb │ │ │ ├── serialnumber.rb │ │ │ ├── ssh.rb │ │ │ ├── sshalgorithmkey.rb │ │ │ ├── sshfp_algorithm.rb │ │ │ ├── system_uptime │ │ │ │ ├── days.rb │ │ │ │ ├── hours.rb │ │ │ │ ├── seconds.rb │ │ │ │ └── uptime.rb │ │ │ └── timezone.rb │ │ ├── alpine │ │ │ └── os │ │ │ │ └── release.rb │ │ ├── amzn │ │ │ ├── lsbdistcodename.rb │ │ │ ├── lsbdistdescription.rb │ │ │ ├── lsbdistid.rb │ │ │ └── os │ │ │ │ ├── distro │ │ │ │ ├── codename.rb │ │ │ │ ├── description.rb │ │ │ │ ├── id.rb │ │ │ │ └── release.rb │ │ │ │ └── release.rb │ │ ├── archlinux │ │ │ └── os │ │ │ │ └── release.rb │ │ ├── azurelinux │ │ │ └── os │ │ │ │ └── release.rb │ │ ├── bsd │ │ │ ├── kernelmajversion.rb │ │ │ ├── kernelversion.rb │ │ │ ├── load_averages.rb │ │ │ ├── os │ │ │ │ └── family.rb │ │ │ └── processors │ │ │ │ ├── count.rb │ │ │ │ ├── models.rb │ │ │ │ └── speed.rb │ │ ├── debian │ │ │ ├── architecture.rb │ │ │ ├── lsbdistcodename.rb │ │ │ ├── lsbdistdescription.rb │ │ │ ├── lsbdistid.rb │ │ │ └── os │ │ │ │ ├── distro │ │ │ │ ├── codename.rb │ │ │ │ ├── description.rb │ │ │ │ ├── id.rb │ │ │ │ └── release.rb │ │ │ │ └── release.rb │ │ ├── devuan │ │ │ └── os │ │ │ │ ├── distro │ │ │ │ └── release.rb │ │ │ │ └── release.rb │ │ ├── freebsd │ │ │ ├── augeas │ │ │ │ └── version.rb │ │ │ ├── disks.rb │ │ │ ├── dmi │ │ │ │ ├── bios │ │ │ │ │ ├── release_date.rb │ │ │ │ │ ├── vendor.rb │ │ │ │ │ └── version.rb │ │ │ │ ├── manufacturer.rb │ │ │ │ └── product │ │ │ │ │ ├── name.rb │ │ │ │ │ ├── serial_number.rb │ │ │ │ │ └── uuid.rb │ │ │ ├── ec2_metadata.rb │ │ │ ├── ec2_userdata.rb │ │ │ ├── facterversion.rb │ │ │ ├── identity │ │ │ │ ├── gid.rb │ │ │ │ ├── group.rb │ │ │ │ ├── privileged.rb │ │ │ │ ├── uid.rb │ │ │ │ └── user.rb │ │ │ ├── ipaddress6_interfaces.rb │ │ │ ├── ipaddress_interfaces.rb │ │ │ ├── is_virtual.rb │ │ │ ├── kernel.rb │ │ │ ├── kernelrelease.rb │ │ │ ├── memory │ │ │ │ ├── swap │ │ │ │ │ ├── available.rb │ │ │ │ │ ├── available_bytes.rb │ │ │ │ │ ├── capacity.rb │ │ │ │ │ ├── encrypted.rb │ │ │ │ │ ├── total.rb │ │ │ │ │ ├── total_bytes.rb │ │ │ │ │ ├── used.rb │ │ │ │ │ └── used_bytes.rb │ │ │ │ └── system │ │ │ │ │ ├── available.rb │ │ │ │ │ ├── available_bytes.rb │ │ │ │ │ ├── capacity.rb │ │ │ │ │ ├── total.rb │ │ │ │ │ ├── total_bytes.rb │ │ │ │ │ ├── used.rb │ │ │ │ │ └── used_bytes.rb │ │ │ ├── mountpoints.rb │ │ │ ├── netmask6_interfaces.rb │ │ │ ├── netmask_interfaces.rb │ │ │ ├── network6_interfaces.rb │ │ │ ├── network_interfaces.rb │ │ │ ├── networking │ │ │ │ ├── dhcp.rb │ │ │ │ ├── domain.rb │ │ │ │ ├── fqdn.rb │ │ │ │ ├── hostname.rb │ │ │ │ ├── interfaces.rb │ │ │ │ ├── ip.rb │ │ │ │ ├── ip6.rb │ │ │ │ ├── mac.rb │ │ │ │ ├── mtu.rb │ │ │ │ ├── netmask.rb │ │ │ │ ├── netmask6.rb │ │ │ │ ├── network.rb │ │ │ │ ├── network6.rb │ │ │ │ ├── primary.rb │ │ │ │ └── scope6.rb │ │ │ ├── os │ │ │ │ ├── architecture.rb │ │ │ │ ├── hardware.rb │ │ │ │ ├── name.rb │ │ │ │ └── release.rb │ │ │ ├── partitions.rb │ │ │ ├── path.rb │ │ │ ├── processors │ │ │ │ ├── count.rb │ │ │ │ ├── isa.rb │ │ │ │ ├── models.rb │ │ │ │ └── speed.rb │ │ │ ├── ruby │ │ │ │ ├── platform.rb │ │ │ │ ├── sitedir.rb │ │ │ │ └── version.rb │ │ │ ├── ssh.rb │ │ │ ├── sshalgorithmkey.rb │ │ │ ├── sshfp_algorithm.rb │ │ │ ├── system_uptime │ │ │ │ ├── days.rb │ │ │ │ ├── hours.rb │ │ │ │ ├── seconds.rb │ │ │ │ └── uptime.rb │ │ │ ├── timezone.rb │ │ │ ├── virtual.rb │ │ │ ├── zfs_featurenumbers.rb │ │ │ ├── zfs_version.rb │ │ │ ├── zpool_featureflags.rb │ │ │ ├── zpool_featurenumbers.rb │ │ │ └── zpool_version.rb │ │ ├── gentoo │ │ │ └── os │ │ │ │ └── release.rb │ │ ├── linux │ │ │ ├── aio_agent_version.rb │ │ │ ├── augeas │ │ │ │ └── version.rb │ │ │ ├── az_metadata.rb │ │ │ ├── cloud │ │ │ │ └── provider.rb │ │ │ ├── dhcp_servers.rb │ │ │ ├── disks.rb │ │ │ ├── dmi │ │ │ │ ├── bios │ │ │ │ │ ├── release_date.rb │ │ │ │ │ ├── vendor.rb │ │ │ │ │ └── version.rb │ │ │ │ ├── board │ │ │ │ │ ├── asset_tag.rb │ │ │ │ │ ├── manufacturer.rb │ │ │ │ │ ├── product.rb │ │ │ │ │ └── serial_number.rb │ │ │ │ ├── chassis │ │ │ │ │ ├── asset_tag.rb │ │ │ │ │ └── type.rb │ │ │ │ ├── manufacturer.rb │ │ │ │ └── product │ │ │ │ │ ├── name.rb │ │ │ │ │ ├── serial_number.rb │ │ │ │ │ ├── uuid.rb │ │ │ │ │ └── version.rb │ │ │ ├── ec2_metadata.rb │ │ │ ├── ec2_userdata.rb │ │ │ ├── facterversion.rb │ │ │ ├── filesystems.rb │ │ │ ├── fips_enabled.rb │ │ │ ├── gce.rb │ │ │ ├── hypervisors │ │ │ │ ├── docker.rb │ │ │ │ ├── hyper_v.rb │ │ │ │ ├── kvm.rb │ │ │ │ ├── lxc.rb │ │ │ │ ├── openvz.rb │ │ │ │ ├── systemd_nspawn.rb │ │ │ │ ├── virtualbox.rb │ │ │ │ ├── vmware.rb │ │ │ │ └── xen.rb │ │ │ ├── identity │ │ │ │ ├── gid.rb │ │ │ │ ├── group.rb │ │ │ │ ├── privileged.rb │ │ │ │ ├── uid.rb │ │ │ │ └── user.rb │ │ │ ├── interfaces.rb │ │ │ ├── ipaddress6_interfaces.rb │ │ │ ├── ipaddress_interfaces.rb │ │ │ ├── is_virtual.rb │ │ │ ├── kernel.rb │ │ │ ├── kernelmajversion.rb │ │ │ ├── kernelrelease.rb │ │ │ ├── kernelversion.rb │ │ │ ├── load_averages.rb │ │ │ ├── lsbdistrelease.rb │ │ │ ├── macaddress_interfaces.rb │ │ │ ├── memory │ │ │ │ ├── swap │ │ │ │ │ ├── available.rb │ │ │ │ │ ├── available_bytes.rb │ │ │ │ │ ├── capacity.rb │ │ │ │ │ ├── total.rb │ │ │ │ │ ├── total_bytes.rb │ │ │ │ │ ├── used.rb │ │ │ │ │ └── used_bytes.rb │ │ │ │ └── system │ │ │ │ │ ├── available.rb │ │ │ │ │ ├── available_bytes.rb │ │ │ │ │ ├── capacity.rb │ │ │ │ │ ├── total.rb │ │ │ │ │ ├── total_bytes.rb │ │ │ │ │ ├── used.rb │ │ │ │ │ └── used_bytes.rb │ │ │ ├── mountpoints.rb │ │ │ ├── mtu_interfaces.rb │ │ │ ├── netmask6_interfaces.rb │ │ │ ├── netmask_interfaces.rb │ │ │ ├── network6_interfaces.rb │ │ │ ├── network_interfaces.rb │ │ │ ├── networking │ │ │ │ ├── dhcp.rb │ │ │ │ ├── domain.rb │ │ │ │ ├── fqdn.rb │ │ │ │ ├── hostname.rb │ │ │ │ ├── interfaces.rb │ │ │ │ ├── ip.rb │ │ │ │ ├── ip6.rb │ │ │ │ ├── mac.rb │ │ │ │ ├── mtu.rb │ │ │ │ ├── netmask.rb │ │ │ │ ├── netmask6.rb │ │ │ │ ├── network.rb │ │ │ │ ├── network6.rb │ │ │ │ ├── primary.rb │ │ │ │ └── scope6.rb │ │ │ ├── os │ │ │ │ ├── architecture.rb │ │ │ │ ├── distro │ │ │ │ │ ├── codename.rb │ │ │ │ │ ├── description.rb │ │ │ │ │ ├── id.rb │ │ │ │ │ ├── release.rb │ │ │ │ │ └── specification.rb │ │ │ │ ├── family.rb │ │ │ │ ├── hardware.rb │ │ │ │ ├── name.rb │ │ │ │ ├── release.rb │ │ │ │ └── selinux │ │ │ │ │ ├── config_mode.rb │ │ │ │ │ ├── config_policy.rb │ │ │ │ │ ├── current_mode.rb │ │ │ │ │ ├── enabled.rb │ │ │ │ │ ├── enforced.rb │ │ │ │ │ └── policy_version.rb │ │ │ ├── partitions.rb │ │ │ ├── path.rb │ │ │ ├── processor.rb │ │ │ ├── processors │ │ │ │ ├── cores.rb │ │ │ │ ├── count.rb │ │ │ │ ├── extensions.rb │ │ │ │ ├── isa.rb │ │ │ │ ├── models.rb │ │ │ │ ├── physicalcount.rb │ │ │ │ ├── speed.rb │ │ │ │ └── threads.rb │ │ │ ├── ruby │ │ │ │ ├── platform.rb │ │ │ │ ├── sitedir.rb │ │ │ │ └── version.rb │ │ │ ├── scope6_interfaces.rb │ │ │ ├── ssh.rb │ │ │ ├── sshalgorithmkey.rb │ │ │ ├── sshfp_algorithm.rb │ │ │ ├── system_uptime │ │ │ │ ├── days.rb │ │ │ │ ├── hours.rb │ │ │ │ ├── seconds.rb │ │ │ │ └── uptime.rb │ │ │ ├── timezone.rb │ │ │ ├── virtual.rb │ │ │ └── xen.rb │ │ ├── linuxmint │ │ │ └── os │ │ │ │ ├── name.rb │ │ │ │ └── release.rb │ │ ├── macosx │ │ │ ├── aio_agent_version.rb │ │ │ ├── augeas │ │ │ │ └── version.rb │ │ │ ├── dhcp_servers.rb │ │ │ ├── dmi │ │ │ │ └── product │ │ │ │ │ └── name.rb │ │ │ ├── facterversion.rb │ │ │ ├── filesystems.rb │ │ │ ├── identity │ │ │ │ ├── gid.rb │ │ │ │ ├── group.rb │ │ │ │ ├── privileged.rb │ │ │ │ ├── uid.rb │ │ │ │ └── user.rb │ │ │ ├── interfaces.rb │ │ │ ├── ipaddress6_interfaces.rb │ │ │ ├── ipaddress_interfaces.rb │ │ │ ├── is_virtual.rb │ │ │ ├── kernel.rb │ │ │ ├── kernelmajversion.rb │ │ │ ├── kernelrelease.rb │ │ │ ├── kernelversion.rb │ │ │ ├── load_averages.rb │ │ │ ├── macaddress_interfaces.rb │ │ │ ├── memory │ │ │ │ ├── swap │ │ │ │ │ ├── available.rb │ │ │ │ │ ├── available_bytes.rb │ │ │ │ │ ├── capacity.rb │ │ │ │ │ ├── encrypted.rb │ │ │ │ │ ├── total.rb │ │ │ │ │ ├── total_bytes.rb │ │ │ │ │ ├── used.rb │ │ │ │ │ └── used_bytes.rb │ │ │ │ └── system │ │ │ │ │ ├── available.rb │ │ │ │ │ ├── available_bytes.rb │ │ │ │ │ ├── capacity.rb │ │ │ │ │ ├── total.rb │ │ │ │ │ ├── total_bytes.rb │ │ │ │ │ ├── used.rb │ │ │ │ │ └── used_bytes.rb │ │ │ ├── mountpoints.rb │ │ │ ├── mtu_interfaces.rb │ │ │ ├── netmask6_interfaces.rb │ │ │ ├── netmask_interfaces.rb │ │ │ ├── network6_interfaces.rb │ │ │ ├── network_interfaces.rb │ │ │ ├── networking │ │ │ │ ├── dhcp.rb │ │ │ │ ├── domain.rb │ │ │ │ ├── fqdn.rb │ │ │ │ ├── hostname.rb │ │ │ │ ├── interfaces.rb │ │ │ │ ├── ip.rb │ │ │ │ ├── ip6.rb │ │ │ │ ├── mac.rb │ │ │ │ ├── mtu.rb │ │ │ │ ├── netmask.rb │ │ │ │ ├── netmask6.rb │ │ │ │ ├── network.rb │ │ │ │ ├── network6.rb │ │ │ │ ├── primary.rb │ │ │ │ └── scope6.rb │ │ │ ├── os │ │ │ │ ├── architecture.rb │ │ │ │ ├── family.rb │ │ │ │ ├── hardware.rb │ │ │ │ ├── macosx │ │ │ │ │ ├── build.rb │ │ │ │ │ ├── product.rb │ │ │ │ │ └── version.rb │ │ │ │ ├── name.rb │ │ │ │ └── release.rb │ │ │ ├── path.rb │ │ │ ├── processors │ │ │ │ ├── cores.rb │ │ │ │ ├── count.rb │ │ │ │ ├── isa.rb │ │ │ │ ├── models.rb │ │ │ │ ├── physicalcount.rb │ │ │ │ ├── speed.rb │ │ │ │ └── threads.rb │ │ │ ├── ruby │ │ │ │ ├── platform.rb │ │ │ │ ├── sitedir.rb │ │ │ │ └── version.rb │ │ │ ├── scope6_interfaces.rb │ │ │ ├── ssh.rb │ │ │ ├── sshalgorithmkey.rb │ │ │ ├── sshfp_algorithm.rb │ │ │ ├── system_profiler │ │ │ │ ├── boot_mode.rb │ │ │ │ ├── boot_rom_version.rb │ │ │ │ ├── boot_volume.rb │ │ │ │ ├── computer_name.rb │ │ │ │ ├── cores.rb │ │ │ │ ├── hardware_uuid.rb │ │ │ │ ├── kernel_version.rb │ │ │ │ ├── l2_cache_per_core.rb │ │ │ │ ├── l3_cache.rb │ │ │ │ ├── memory.rb │ │ │ │ ├── model_identifier.rb │ │ │ │ ├── model_name.rb │ │ │ │ ├── processor_name.rb │ │ │ │ ├── processor_speed.rb │ │ │ │ ├── processors.rb │ │ │ │ ├── secure_virtual_memory.rb │ │ │ │ ├── serial_number.rb │ │ │ │ ├── smc_version.rb │ │ │ │ ├── system_version.rb │ │ │ │ ├── uptime.rb │ │ │ │ └── username.rb │ │ │ ├── system_uptime │ │ │ │ ├── days.rb │ │ │ │ ├── hours.rb │ │ │ │ ├── seconds.rb │ │ │ │ └── uptime.rb │ │ │ ├── timezone.rb │ │ │ └── virtual.rb │ │ ├── mageia │ │ │ └── os │ │ │ │ └── release.rb │ │ ├── mariner │ │ │ └── os │ │ │ │ └── release.rb │ │ ├── meego │ │ │ └── os │ │ │ │ └── release.rb │ │ ├── oel │ │ │ └── os │ │ │ │ └── release.rb │ │ ├── ol │ │ │ ├── lsbdistdescription.rb │ │ │ ├── lsbdistid.rb │ │ │ └── os │ │ │ │ ├── distro │ │ │ │ ├── description.rb │ │ │ │ └── id.rb │ │ │ │ └── release.rb │ │ ├── openbsd │ │ │ ├── augeas │ │ │ │ └── version.rb │ │ │ ├── dmi │ │ │ │ ├── bios │ │ │ │ │ ├── vendor.rb │ │ │ │ │ └── version.rb │ │ │ │ ├── manufacturer.rb │ │ │ │ └── product │ │ │ │ │ ├── name.rb │ │ │ │ │ ├── serial_number.rb │ │ │ │ │ └── uuid.rb │ │ │ ├── ec2_metadata.rb │ │ │ ├── ec2_userdata.rb │ │ │ ├── facterversion.rb │ │ │ ├── identity │ │ │ │ ├── gid.rb │ │ │ │ ├── group.rb │ │ │ │ ├── privileged.rb │ │ │ │ ├── uid.rb │ │ │ │ └── user.rb │ │ │ ├── ipaddress6_interfaces.rb │ │ │ ├── ipaddress_interfaces.rb │ │ │ ├── is_virtual.rb │ │ │ ├── kernel.rb │ │ │ ├── kernelrelease.rb │ │ │ ├── mountpoints.rb │ │ │ ├── netmask6_interfaces.rb │ │ │ ├── netmask_interfaces.rb │ │ │ ├── network6_interfaces.rb │ │ │ ├── network_interfaces.rb │ │ │ ├── networking │ │ │ │ ├── dhcp.rb │ │ │ │ ├── domain.rb │ │ │ │ ├── fqdn.rb │ │ │ │ ├── hostname.rb │ │ │ │ ├── interfaces.rb │ │ │ │ ├── ip.rb │ │ │ │ ├── ip6.rb │ │ │ │ ├── mac.rb │ │ │ │ ├── mtu.rb │ │ │ │ ├── netmask.rb │ │ │ │ ├── netmask6.rb │ │ │ │ ├── network.rb │ │ │ │ ├── network6.rb │ │ │ │ ├── primary.rb │ │ │ │ └── scope6.rb │ │ │ ├── os │ │ │ │ ├── architecture.rb │ │ │ │ ├── hardware.rb │ │ │ │ ├── name.rb │ │ │ │ └── release.rb │ │ │ ├── path.rb │ │ │ ├── processors │ │ │ │ └── isa.rb │ │ │ ├── ruby │ │ │ │ ├── platform.rb │ │ │ │ ├── sitedir.rb │ │ │ │ └── version.rb │ │ │ ├── ssh.rb │ │ │ ├── sshalgorithmkey.rb │ │ │ ├── sshfp_algorithm.rb │ │ │ ├── system_uptime │ │ │ │ ├── days.rb │ │ │ │ ├── hours.rb │ │ │ │ ├── seconds.rb │ │ │ │ └── uptime.rb │ │ │ ├── timezone.rb │ │ │ └── virtual.rb │ │ ├── openwrt │ │ │ └── os │ │ │ │ └── release.rb │ │ ├── ovs │ │ │ └── os │ │ │ │ └── release.rb │ │ ├── photon │ │ │ └── os │ │ │ │ └── release.rb │ │ ├── rhel │ │ │ ├── lsbdistcodename.rb │ │ │ ├── lsbdistdescription.rb │ │ │ ├── lsbdistid.rb │ │ │ └── os │ │ │ │ ├── distro │ │ │ │ ├── codename.rb │ │ │ │ ├── description.rb │ │ │ │ ├── id.rb │ │ │ │ └── release.rb │ │ │ │ ├── family.rb │ │ │ │ ├── name.rb │ │ │ │ └── release.rb │ │ ├── slackware │ │ │ └── os │ │ │ │ └── release.rb │ │ ├── sles │ │ │ ├── lsbdistcodename.rb │ │ │ ├── lsbdistdescription.rb │ │ │ ├── lsbdistid.rb │ │ │ └── os │ │ │ │ ├── distro │ │ │ │ ├── codename.rb │ │ │ │ ├── description.rb │ │ │ │ ├── id.rb │ │ │ │ └── release.rb │ │ │ │ ├── family.rb │ │ │ │ └── release.rb │ │ ├── solaris │ │ │ ├── aio_agent_version.rb │ │ │ ├── augeas │ │ │ │ └── version.rb │ │ │ ├── current_zone.rb │ │ │ ├── dhcp_servers.rb │ │ │ ├── disks.rb │ │ │ ├── dmi │ │ │ │ ├── bios │ │ │ │ │ ├── release_date.rb │ │ │ │ │ ├── vendor.rb │ │ │ │ │ └── version.rb │ │ │ │ ├── chassis │ │ │ │ │ ├── asset_tag.rb │ │ │ │ │ └── type.rb │ │ │ │ ├── manufacturer.rb │ │ │ │ └── product │ │ │ │ │ ├── name.rb │ │ │ │ │ ├── serial_number.rb │ │ │ │ │ └── uuid.rb │ │ │ ├── facterversion.rb │ │ │ ├── filesystems.rb │ │ │ ├── hypervisors │ │ │ │ ├── ldom.rb │ │ │ │ └── zone.rb │ │ │ ├── identity │ │ │ │ ├── gid.rb │ │ │ │ ├── group.rb │ │ │ │ ├── privileged.rb │ │ │ │ ├── uid.rb │ │ │ │ └── user.rb │ │ │ ├── interfaces.rb │ │ │ ├── ipaddress6_interfaces.rb │ │ │ ├── ipaddress_interfaces.rb │ │ │ ├── is_virtual.rb │ │ │ ├── kernel.rb │ │ │ ├── kernelmajversion.rb │ │ │ ├── kernelrelease.rb │ │ │ ├── kernelversion.rb │ │ │ ├── ldom.rb │ │ │ ├── load_averages.rb │ │ │ ├── macaddress_interfaces.rb │ │ │ ├── memory │ │ │ │ ├── swap │ │ │ │ │ ├── available.rb │ │ │ │ │ ├── available_bytes.rb │ │ │ │ │ ├── capacity.rb │ │ │ │ │ ├── total.rb │ │ │ │ │ ├── total_bytes.rb │ │ │ │ │ ├── used.rb │ │ │ │ │ └── used_bytes.rb │ │ │ │ └── system │ │ │ │ │ ├── available.rb │ │ │ │ │ ├── available_bytes.rb │ │ │ │ │ ├── capacity.rb │ │ │ │ │ ├── total.rb │ │ │ │ │ ├── total_bytes.rb │ │ │ │ │ ├── used.rb │ │ │ │ │ └── used_bytes.rb │ │ │ ├── mountpoints.rb │ │ │ ├── mtu_interfaces.rb │ │ │ ├── netmask6_interfaces.rb │ │ │ ├── netmask_interfaces.rb │ │ │ ├── network6_interfaces.rb │ │ │ ├── network_interfaces.rb │ │ │ ├── networking │ │ │ │ ├── dhcp.rb │ │ │ │ ├── domain.rb │ │ │ │ ├── fqdn.rb │ │ │ │ ├── hostname.rb │ │ │ │ ├── interfaces.rb │ │ │ │ ├── ip.rb │ │ │ │ ├── ip6.rb │ │ │ │ ├── mac.rb │ │ │ │ ├── mtu.rb │ │ │ │ ├── netmask.rb │ │ │ │ ├── netmask6.rb │ │ │ │ ├── network.rb │ │ │ │ ├── network6.rb │ │ │ │ └── primary.rb │ │ │ ├── os │ │ │ │ ├── architecture.rb │ │ │ │ ├── family.rb │ │ │ │ ├── hardware.rb │ │ │ │ ├── name.rb │ │ │ │ └── release.rb │ │ │ ├── path.rb │ │ │ ├── processors │ │ │ │ ├── cores.rb │ │ │ │ ├── count.rb │ │ │ │ ├── isa.rb │ │ │ │ ├── models.rb │ │ │ │ ├── physicalcount.rb │ │ │ │ ├── speed.rb │ │ │ │ └── threads.rb │ │ │ ├── ruby │ │ │ │ ├── platform.rb │ │ │ │ ├── sitedir.rb │ │ │ │ └── version.rb │ │ │ ├── ssh.rb │ │ │ ├── sshalgorithmkey.rb │ │ │ ├── sshfp_algorithm.rb │ │ │ ├── system_uptime │ │ │ │ ├── days.rb │ │ │ │ ├── hours.rb │ │ │ │ ├── seconds.rb │ │ │ │ └── uptime.rb │ │ │ ├── timezone.rb │ │ │ ├── virtual.rb │ │ │ ├── zfs_featurenumbers.rb │ │ │ ├── zfs_version.rb │ │ │ ├── zones.rb │ │ │ ├── zpool_featureflags.rb │ │ │ ├── zpool_featurenumbers.rb │ │ │ └── zpool_version.rb │ │ ├── ubuntu │ │ │ ├── lsbdistrelease.rb │ │ │ └── os │ │ │ │ ├── distro │ │ │ │ └── release.rb │ │ │ │ └── release.rb │ │ └── windows │ │ │ ├── aio_agent_version.rb │ │ │ ├── az_metadata.rb │ │ │ ├── cloud │ │ │ └── provider.rb │ │ │ ├── dhcp_servers.rb │ │ │ ├── dmi │ │ │ ├── manufacturer.rb │ │ │ └── product │ │ │ │ ├── name.rb │ │ │ │ ├── serial_number.rb │ │ │ │ └── uuid.rb │ │ │ ├── ec2_metadata.rb │ │ │ ├── ec2_userdata.rb │ │ │ ├── facterversion.rb │ │ │ ├── fips_enabled.rb │ │ │ ├── gce.rb │ │ │ ├── hypervisors │ │ │ ├── hyperv.rb │ │ │ ├── kvm.rb │ │ │ ├── virtualbox.rb │ │ │ ├── vmware.rb │ │ │ └── xen.rb │ │ │ ├── identity │ │ │ ├── privileged.rb │ │ │ └── user.rb │ │ │ ├── interfaces.rb │ │ │ ├── ipaddress6_interfaces.rb │ │ │ ├── ipaddress_interfaces.rb │ │ │ ├── is_virtual.rb │ │ │ ├── kernel.rb │ │ │ ├── kernelmajversion.rb │ │ │ ├── kernelrelease.rb │ │ │ ├── kernelversion.rb │ │ │ ├── macaddress_interfaces.rb │ │ │ ├── memory │ │ │ └── system │ │ │ │ ├── available.rb │ │ │ │ ├── available_bytes.rb │ │ │ │ ├── capacity.rb │ │ │ │ ├── total.rb │ │ │ │ ├── total_bytes.rb │ │ │ │ ├── used.rb │ │ │ │ └── used_bytes.rb │ │ │ ├── mtu_interfaces.rb │ │ │ ├── netmask6_interfaces.rb │ │ │ ├── netmask_interfaces.rb │ │ │ ├── network6_interfaces.rb │ │ │ ├── network_interfaces.rb │ │ │ ├── networking │ │ │ ├── dhcp.rb │ │ │ ├── domain.rb │ │ │ ├── fqdn.rb │ │ │ ├── hostname.rb │ │ │ ├── interfaces.rb │ │ │ ├── ip.rb │ │ │ ├── ip6.rb │ │ │ ├── mac.rb │ │ │ ├── mtu.rb │ │ │ ├── netmask.rb │ │ │ ├── netmask6.rb │ │ │ ├── network.rb │ │ │ ├── network6.rb │ │ │ ├── primary.rb │ │ │ └── scope6.rb │ │ │ ├── os │ │ │ ├── architecture.rb │ │ │ ├── family.rb │ │ │ ├── hardware.rb │ │ │ ├── name.rb │ │ │ ├── release.rb │ │ │ └── windows │ │ │ │ ├── display_version.rb │ │ │ │ ├── edition_id.rb │ │ │ │ ├── installation_type.rb │ │ │ │ ├── product_name.rb │ │ │ │ ├── release_id.rb │ │ │ │ └── system32.rb │ │ │ ├── path.rb │ │ │ ├── processor.rb │ │ │ ├── processors │ │ │ ├── cores.rb │ │ │ ├── count.rb │ │ │ ├── isa.rb │ │ │ ├── models.rb │ │ │ ├── physicalcount.rb │ │ │ └── threads.rb │ │ │ ├── ruby │ │ │ ├── platform.rb │ │ │ ├── sitedir.rb │ │ │ └── version.rb │ │ │ ├── scope6_interfaces.rb │ │ │ ├── ssh.rb │ │ │ ├── sshalgorithmkey.rb │ │ │ ├── sshfp_algorithm.rb │ │ │ ├── system_uptime │ │ │ ├── days.rb │ │ │ ├── hours.rb │ │ │ ├── seconds.rb │ │ │ └── uptime.rb │ │ │ ├── timezone.rb │ │ │ └── virtual.rb │ ├── fixtures │ │ └── facter_help_header │ ├── framework │ │ ├── benchmarking │ │ │ └── timer.rb │ │ ├── cli │ │ │ ├── cli.rb │ │ │ └── cli_launcher.rb │ │ ├── config │ │ │ ├── config_reader.rb │ │ │ └── fact_groups.rb │ │ ├── core │ │ │ ├── cache_manager.rb │ │ │ ├── fact │ │ │ │ ├── external │ │ │ │ │ └── external_fact_manager.rb │ │ │ │ └── internal │ │ │ │ │ ├── core_fact.rb │ │ │ │ │ └── internal_fact_manager.rb │ │ │ ├── fact_filter.rb │ │ │ ├── fact_loaders │ │ │ │ ├── class_discoverer.rb │ │ │ │ ├── external_fact_loader.rb │ │ │ │ ├── fact_loader.rb │ │ │ │ └── internal_fact_loader.rb │ │ │ ├── fact_manager.rb │ │ │ ├── file_loader.rb │ │ │ ├── options.rb │ │ │ ├── options │ │ │ │ ├── config_file_options.rb │ │ │ │ ├── option_store.rb │ │ │ │ └── options_validator.rb │ │ │ └── session_cache.rb │ │ ├── detector │ │ │ ├── os_detector.rb │ │ │ └── os_hierarchy.rb │ │ ├── formatters │ │ │ ├── formatter_factory.rb │ │ │ ├── formatter_helper.rb │ │ │ ├── hocon_fact_formatter.rb │ │ │ ├── json_fact_formatter.rb │ │ │ ├── legacy_fact_formatter.rb │ │ │ └── yaml_fact_formatter.rb │ │ ├── logging │ │ │ ├── logger.rb │ │ │ └── logger_helper.rb │ │ └── parsers │ │ │ └── query_parser.rb │ ├── models │ │ ├── fact_collection.rb │ │ ├── loaded_fact.rb │ │ ├── resolved_fact.rb │ │ └── searched_fact.rb │ ├── resolvers │ │ ├── aio_agent_version.rb │ │ ├── aix │ │ │ ├── architecture.rb │ │ │ ├── disks.rb │ │ │ ├── ffi │ │ │ │ ├── ffi.rb │ │ │ │ ├── ffi_helper.rb │ │ │ │ └── structs.rb │ │ │ ├── filesystem.rb │ │ │ ├── hardware.rb │ │ │ ├── load_averages.rb │ │ │ ├── memory.rb │ │ │ ├── mountpoints.rb │ │ │ ├── networking.rb │ │ │ ├── nim.rb │ │ │ ├── os_level.rb │ │ │ ├── partitions.rb │ │ │ ├── processors.rb │ │ │ └── serialnumber.rb │ │ ├── amzn │ │ │ └── os_release_rpm.rb │ │ ├── augeas.rb │ │ ├── az.rb │ │ ├── base_resolver.rb │ │ ├── bsd │ │ │ ├── ffi │ │ │ │ └── ffi_helper.rb │ │ │ └── processors.rb │ │ ├── containers.rb │ │ ├── debian_version.rb │ │ ├── disks.rb │ │ ├── dmi.rb │ │ ├── dmi_decode.rb │ │ ├── ec2.rb │ │ ├── eos_release.rb │ │ ├── facterversion.rb │ │ ├── filesystems.rb │ │ ├── fips_enabled.rb │ │ ├── freebsd │ │ │ ├── dmi.rb │ │ │ ├── ffi │ │ │ │ └── ffi_helper.rb │ │ │ ├── freebsd_version.rb │ │ │ ├── geom.rb │ │ │ ├── processors.rb │ │ │ ├── swap_memory.rb │ │ │ ├── system_memory.rb │ │ │ └── virtual.rb │ │ ├── gce.rb │ │ ├── hostname.rb │ │ ├── identity.rb │ │ ├── linux │ │ │ ├── docker_uptime.rb │ │ │ ├── hostname.rb │ │ │ ├── load_averages.rb │ │ │ └── networking.rb │ │ ├── load_averages.rb │ │ ├── lpar.rb │ │ ├── lsb_release.rb │ │ ├── lspci.rb │ │ ├── macosx │ │ │ ├── dmi.rb │ │ │ ├── filesystems.rb │ │ │ ├── load_averages.rb │ │ │ ├── mountpoints.rb │ │ │ ├── processors.rb │ │ │ ├── swap_memory.rb │ │ │ ├── system_memory.rb │ │ │ └── system_profiler.rb │ │ ├── memory.rb │ │ ├── mountpoints.rb │ │ ├── networking.rb │ │ ├── open_vz.rb │ │ ├── openbsd │ │ │ ├── dhcp.rb │ │ │ ├── dmi.rb │ │ │ ├── mountpoints.rb │ │ │ └── virtual.rb │ │ ├── os_release.rb │ │ ├── partitions.rb │ │ ├── path.rb │ │ ├── processors.rb │ │ ├── processors_lscpu.rb │ │ ├── redhat_release.rb │ │ ├── release_from_first_line.rb │ │ ├── ruby.rb │ │ ├── selinux.rb │ │ ├── solaris │ │ │ ├── disks.rb │ │ │ ├── dmi.rb │ │ │ ├── dmi_sparc.rb │ │ │ ├── ffi │ │ │ │ ├── ffi.rb │ │ │ │ ├── functions.rb │ │ │ │ └── structs.rb │ │ │ ├── filesystems.rb │ │ │ ├── ipaddress.rb │ │ │ ├── ldom.rb │ │ │ ├── memory.rb │ │ │ ├── mountpoints.rb │ │ │ ├── networking.rb │ │ │ ├── os_release.rb │ │ │ ├── processors.rb │ │ │ ├── zone.rb │ │ │ └── zone_name.rb │ │ ├── specific_release_file.rb │ │ ├── ssh.rb │ │ ├── suse_release.rb │ │ ├── sw_vers.rb │ │ ├── timezone.rb │ │ ├── uname.rb │ │ ├── uptime.rb │ │ ├── virt_what.rb │ │ ├── vmware.rb │ │ ├── windows │ │ │ ├── aio_agent_version.rb │ │ │ ├── dmi_bios.rb │ │ │ ├── dmi_computersystem.rb │ │ │ ├── ffi │ │ │ │ ├── ffi.rb │ │ │ │ ├── hardware_ffi.rb │ │ │ │ ├── identity_ffi.rb │ │ │ │ ├── ip_adapter_addresses_lh.rb │ │ │ │ ├── kernel_ffi.rb │ │ │ │ ├── memory_ffi.rb │ │ │ │ ├── network_utils.rb │ │ │ │ ├── networking_ffi.rb │ │ │ │ ├── os_version_info_ex.rb │ │ │ │ ├── performance_information.rb │ │ │ │ ├── system32_ffi.rb │ │ │ │ ├── system_info.rb │ │ │ │ └── winnls_ffi.rb │ │ │ ├── fips.rb │ │ │ ├── hardware_architecture.rb │ │ │ ├── identity.rb │ │ │ ├── kernel.rb │ │ │ ├── memory.rb │ │ │ ├── netkvm.rb │ │ │ ├── networking.rb │ │ │ ├── processors.rb │ │ │ ├── product_release.rb │ │ │ ├── ssh.rb │ │ │ ├── system32.rb │ │ │ ├── timezone.rb │ │ │ ├── uptime.rb │ │ │ ├── virtualization.rb │ │ │ └── win_os_description.rb │ │ ├── wpar.rb │ │ ├── xen.rb │ │ ├── zfs.rb │ │ └── zpool.rb │ ├── templates │ │ └── man.erb │ ├── util │ │ ├── aix │ │ │ ├── info_extractor.rb │ │ │ └── odm_query.rb │ │ ├── api_debugger.rb │ │ ├── facts │ │ │ ├── facts_utils.rb │ │ │ ├── posix │ │ │ │ └── virtual_detector.rb │ │ │ ├── unit_converter.rb │ │ │ ├── uptime_parser.rb │ │ │ └── windows_release_finder.rb │ │ ├── file_helper.rb │ │ ├── linux │ │ │ ├── dhcp.rb │ │ │ ├── if_inet6.rb │ │ │ ├── proc.rb │ │ │ ├── routing_table.rb │ │ │ └── socket_parser.rb │ │ ├── macosx │ │ │ └── system_profile_executor.rb │ │ ├── resolvers │ │ │ ├── aws_token.rb │ │ │ ├── ffi │ │ │ │ ├── hostname.rb │ │ │ │ └── load_averages.rb │ │ │ ├── filesystem_helper.rb │ │ │ ├── fingerprint.rb │ │ │ ├── http.rb │ │ │ ├── networking │ │ │ │ ├── dhcp.rb │ │ │ │ ├── networking.rb │ │ │ │ └── primary_interface.rb │ │ │ ├── ssh.rb │ │ │ ├── ssh_helper.rb │ │ │ └── uptime_helper.rb │ │ ├── utils.rb │ │ └── windows │ │ │ └── win32ole.rb │ └── version.rb └── schema │ └── facter.yaml ├── man └── man8 │ └── facter.8 ├── scripts └── generate_changelog.rb ├── spec ├── custom_facts │ ├── core │ │ ├── aggregate_spec.rb │ │ ├── directed_graph_spec.rb │ │ ├── execution │ │ │ ├── fact_manager_spec.rb │ │ │ ├── posix_spec.rb │ │ │ └── windows_spec.rb │ │ ├── execution_spec.rb │ │ ├── resolvable_spec.rb │ │ └── suitable_spec.rb │ ├── puppetlabs_spec │ │ ├── files.rb │ │ └── verbose.rb │ └── util │ │ ├── collection_spec.rb │ │ ├── config_spec.rb │ │ ├── confine_spec.rb │ │ ├── directory_loader_spec.rb │ │ ├── fact_spec.rb │ │ ├── loader_spec.rb │ │ ├── normalization_spec.rb │ │ ├── parser_spec.rb │ │ └── resolution_spec.rb ├── facter │ ├── cache_manager_spec.rb │ ├── fact_filter_spec.rb │ ├── facter_spec.rb │ ├── facts │ │ ├── aix │ │ │ ├── aio_agent_version_spec.rb │ │ │ ├── augeas │ │ │ │ └── version_spec.rb │ │ │ ├── disks_spec.rb │ │ │ ├── facterversion_spec.rb │ │ │ ├── filesystems_spec.rb │ │ │ ├── hypervisors │ │ │ │ ├── lpar_spec.rb │ │ │ │ └── wpar_spec.rb │ │ │ ├── identity │ │ │ │ ├── gid_spec.rb │ │ │ │ ├── group_spec.rb │ │ │ │ ├── privileged_spec.rb │ │ │ │ ├── uid_spec.rb │ │ │ │ └── user_spec.rb │ │ │ ├── interfaces_spec.rb │ │ │ ├── ipaddress6_interfaces_spec.rb │ │ │ ├── ipaddress_interfaces_spec.rb │ │ │ ├── kernel_spec.rb │ │ │ ├── kernelmajversion_spec.rb │ │ │ ├── kernelrelease_spec.rb │ │ │ ├── kernelversion_spec.rb │ │ │ ├── load_averages_spec.rb │ │ │ ├── macaddress_interfaces_spec.rb │ │ │ ├── memory │ │ │ │ ├── swap │ │ │ │ │ ├── available_bytes_spec.rb │ │ │ │ │ ├── available_spec.rb │ │ │ │ │ ├── capacity_spec.rb │ │ │ │ │ ├── total_bytes_spec.rb │ │ │ │ │ ├── total_spec.rb │ │ │ │ │ ├── used_bytes_spec.rb │ │ │ │ │ └── used_spec.rb │ │ │ │ └── system │ │ │ │ │ ├── available_bytes_spec.rb │ │ │ │ │ ├── available_spec.rb │ │ │ │ │ ├── capacity_spec.rb │ │ │ │ │ ├── total_bytes_spec.rb │ │ │ │ │ ├── total_spec.rb │ │ │ │ │ ├── used_bytes_spec.rb │ │ │ │ │ └── used_spec.rb │ │ │ ├── mountpoints_spec.rb │ │ │ ├── mtu_interfaces_spec.rb │ │ │ ├── netmask6_interfaces_spec.rb │ │ │ ├── netmask_interfaces_spec.rb │ │ │ ├── network6_interfaces_spec.rb │ │ │ ├── network_interfaces_spec.rb │ │ │ ├── networking │ │ │ │ ├── domain_spec.rb │ │ │ │ ├── fqdn_spec.rb │ │ │ │ ├── hostname_spec.rb │ │ │ │ ├── interfaces_spec.rb │ │ │ │ ├── ip6_spec.rb │ │ │ │ ├── ip_spec.rb │ │ │ │ ├── mac_spec.rb │ │ │ │ ├── mtu_spec.rb │ │ │ │ ├── netmask6_spec.rb │ │ │ │ ├── netmask_spec.rb │ │ │ │ ├── network6_spec.rb │ │ │ │ ├── network_spec.rb │ │ │ │ ├── primary_spec.rb │ │ │ │ └── scope6_spec.rb │ │ │ ├── nim_type_spec.rb │ │ │ ├── os │ │ │ │ ├── architecture_spec.rb │ │ │ │ ├── family_spec.rb │ │ │ │ ├── hardware_spec.rb │ │ │ │ ├── name_spec.rb │ │ │ │ └── release_spec.rb │ │ │ ├── partitions_spec.rb │ │ │ ├── path_spec.rb │ │ │ ├── processor_spec.rb │ │ │ ├── processors │ │ │ │ ├── cores_spec.rb │ │ │ │ ├── count_spec.rb │ │ │ │ ├── isa_spec.rb │ │ │ │ ├── models_spec.rb │ │ │ │ ├── speed_spec.rb │ │ │ │ └── threads_spec.rb │ │ │ ├── ruby │ │ │ │ ├── platform_spec.rb │ │ │ │ ├── sitedir_spec.rb │ │ │ │ └── version_spec.rb │ │ │ ├── scope6_interfaces_spec.rb │ │ │ ├── serialnumber_spec.rb │ │ │ ├── ssh_spec.rb │ │ │ ├── sshalgorithmkey_spec.rb │ │ │ ├── sshfp_algorithm_spec.rb │ │ │ ├── system_uptime │ │ │ │ ├── days_spec.rb │ │ │ │ ├── hours_spec.rb │ │ │ │ ├── seconds_spec.rb │ │ │ │ └── uptime_spec.rb │ │ │ └── timezone_spec.rb │ │ ├── alpine │ │ │ └── os │ │ │ │ └── release_spec.rb │ │ ├── amzn │ │ │ ├── lsbdistcodename_spec.rb │ │ │ ├── lsbdistdescription_spec.rb │ │ │ ├── lsbdistid_spec.rb │ │ │ └── os │ │ │ │ ├── distro │ │ │ │ ├── codename_spec.rb │ │ │ │ ├── description_spec.rb │ │ │ │ ├── id_spec.rb │ │ │ │ └── release_spec.rb │ │ │ │ └── release_spec.rb │ │ ├── azurelinux │ │ │ └── os │ │ │ │ └── release_spec.rb │ │ ├── bsd │ │ │ ├── kernelmajversion_spec.rb │ │ │ ├── kernelversion_spec.rb │ │ │ ├── load_averages_spec.rb │ │ │ ├── os │ │ │ │ └── family_spec.rb │ │ │ └── processors │ │ │ │ ├── count_spec.rb │ │ │ │ ├── models_spec.rb │ │ │ │ └── speed_spec.rb │ │ ├── debian │ │ │ ├── lsbdistcodename_spec.rb │ │ │ ├── lsbdistdescription_spec.rb │ │ │ ├── lsbdistid_spec.rb │ │ │ └── os │ │ │ │ ├── architecture_spec.rb │ │ │ │ ├── distro │ │ │ │ ├── codename_spec.rb │ │ │ │ ├── description_spec.rb │ │ │ │ ├── id_spec.rb │ │ │ │ └── release_spec.rb │ │ │ │ └── release_spec.rb │ │ ├── devuan │ │ │ └── os │ │ │ │ ├── distro │ │ │ │ └── release_spec.rb │ │ │ │ └── release_spec.rb │ │ ├── freebsd │ │ │ ├── augeas │ │ │ │ └── version_spec.rb │ │ │ ├── disks_spec.rb │ │ │ ├── dmi │ │ │ │ ├── bios │ │ │ │ │ ├── release_date_spec.rb │ │ │ │ │ ├── vendor_spec.rb │ │ │ │ │ └── version_spec.rb │ │ │ │ ├── manufacturer_spec.rb │ │ │ │ └── product │ │ │ │ │ ├── name_spec.rb │ │ │ │ │ ├── serial_number_spec.rb │ │ │ │ │ └── uuid_spec.rb │ │ │ ├── ec2_metadata_spec.rb │ │ │ ├── ec2_userdata_spec.rb │ │ │ ├── facterversion_spec.rb │ │ │ ├── identity │ │ │ │ ├── gid_spec.rb │ │ │ │ ├── group_spec.rb │ │ │ │ ├── privileged_spec.rb │ │ │ │ ├── uid_spec.rb │ │ │ │ └── user_spec.rb │ │ │ ├── ipaddress6_interfaces_spec.rb │ │ │ ├── ipaddress_interfaces_spec.rb │ │ │ ├── is_virtual_spec.rb │ │ │ ├── kernel_spec.rb │ │ │ ├── kernelrelease_spec.rb │ │ │ ├── memory │ │ │ │ ├── swap │ │ │ │ │ ├── available_bytes_spec.rb │ │ │ │ │ ├── available_spec.rb │ │ │ │ │ ├── capacity_spec.rb │ │ │ │ │ ├── encrypted_spec.rb │ │ │ │ │ ├── total_bytes_spec.rb │ │ │ │ │ ├── total_spec.rb │ │ │ │ │ ├── used_bytes_spec.rb │ │ │ │ │ └── used_spec.rb │ │ │ │ └── system │ │ │ │ │ ├── available_bytes_spec.rb │ │ │ │ │ ├── available_spec.rb │ │ │ │ │ ├── capacity_spec.rb │ │ │ │ │ ├── total_bytes_spec.rb │ │ │ │ │ ├── total_spec.rb │ │ │ │ │ ├── used_bytes_spec.rb │ │ │ │ │ └── used_spec.rb │ │ │ ├── mountpoints_spec.rb │ │ │ ├── netmask6_interfaces_spec.rb │ │ │ ├── netmask_interfaces_spec.rb │ │ │ ├── network6_interfaces_spec.rb │ │ │ ├── network_interfaces_spec.rb │ │ │ ├── networking │ │ │ │ ├── dhcp_spec.rb │ │ │ │ ├── domain_spec.rb │ │ │ │ ├── fqdn_spec.rb │ │ │ │ ├── hostname_spec.rb │ │ │ │ ├── interfaces_spec.rb │ │ │ │ ├── ip6_spec.rb │ │ │ │ ├── ip_spec.rb │ │ │ │ ├── mac_spec.rb │ │ │ │ ├── mtu_spec.rb │ │ │ │ ├── netmask6_spec.rb │ │ │ │ ├── netmask_spec.rb │ │ │ │ ├── network6_spec.rb │ │ │ │ ├── network_spec.rb │ │ │ │ ├── primary_spec.rb │ │ │ │ └── scope6_spec.rb │ │ │ ├── os │ │ │ │ ├── architecture_spec.rb │ │ │ │ ├── hardware_spec.rb │ │ │ │ ├── name_spec.rb │ │ │ │ └── release_spec.rb │ │ │ ├── partitions_spec.rb │ │ │ ├── path_spec.rb │ │ │ ├── processors │ │ │ │ ├── count_spec.rb │ │ │ │ ├── isa_spec.rb │ │ │ │ ├── models_spec.rb │ │ │ │ └── speed_spec.rb │ │ │ ├── ruby │ │ │ │ ├── platform_spec.rb │ │ │ │ ├── sitedir_spec.rb │ │ │ │ └── version_spec.rb │ │ │ ├── ssh_spec.rb │ │ │ ├── sshalgorithmkey_spec.rb │ │ │ ├── sshfp_algorithm_spec.rb │ │ │ ├── system_uptime │ │ │ │ ├── days_spec.rb │ │ │ │ ├── hours_spec.rb │ │ │ │ ├── seconds_spec.rb │ │ │ │ └── uptime_spec.rb │ │ │ ├── timezone_spec.rb │ │ │ ├── virtual_spec.rb │ │ │ ├── zfs_featurenumbers_spec.rb │ │ │ ├── zfs_version_spec.rb │ │ │ ├── zpool_featureflags_spec.rb │ │ │ ├── zpool_featurenumbers_spec.rb │ │ │ └── zpool_version_spec.rb │ │ ├── gentoo │ │ │ └── os │ │ │ │ └── release_spec.rb │ │ ├── linux │ │ │ ├── aio_agent_version_spec.rb │ │ │ ├── augeas │ │ │ │ └── version_spec.rb │ │ │ ├── az_metadata_spec.rb │ │ │ ├── cloud │ │ │ │ └── provider_spec.rb │ │ │ ├── dhcp_servers_spec.rb │ │ │ ├── disks_spec.rb │ │ │ ├── dmi │ │ │ │ ├── bios │ │ │ │ │ ├── release_date_spec.rb │ │ │ │ │ ├── vendor_spec.rb │ │ │ │ │ └── version_spec.rb │ │ │ │ ├── board │ │ │ │ │ ├── asset_tag_spec.rb │ │ │ │ │ ├── manufacturer_spec.rb │ │ │ │ │ ├── product_spec.rb │ │ │ │ │ └── serial_number_spec.rb │ │ │ │ ├── chassis │ │ │ │ │ ├── asset_tag_spec.rb │ │ │ │ │ └── type_spec.rb │ │ │ │ ├── manufacturer_spec.rb │ │ │ │ └── product │ │ │ │ │ ├── name_spec.rb │ │ │ │ │ ├── serial_number_spec.rb │ │ │ │ │ └── uuid_spec.rb │ │ │ ├── ec2_metadata_spec.rb │ │ │ ├── ec2_userdata_spec.rb │ │ │ ├── facterversion_spec.rb │ │ │ ├── filesystems_spec.rb │ │ │ ├── fips_enabled_spec.rb │ │ │ ├── gce_spec.rb │ │ │ ├── hypervisors │ │ │ │ ├── docker_spec.rb │ │ │ │ ├── hyper_v_spec.rb │ │ │ │ ├── kvm_spec.rb │ │ │ │ ├── lxc_spec.rb │ │ │ │ ├── openvz_spec.rb │ │ │ │ ├── systemd_nspawn_spec.rb │ │ │ │ ├── virtual_box_spec.rb │ │ │ │ ├── vmware_spec.rb │ │ │ │ └── xen_spec.rb │ │ │ ├── identity │ │ │ │ ├── gid_spec.rb │ │ │ │ ├── group_spec.rb │ │ │ │ ├── privileged_spec.rb │ │ │ │ ├── uid_spec.rb │ │ │ │ └── user_spec.rb │ │ │ ├── interfaces_spec.rb │ │ │ ├── ipaddress6_interfaces_spec.rb │ │ │ ├── ipaddress_interfaces_spec.rb │ │ │ ├── is_virtual_spec.rb │ │ │ ├── kernel_spec.rb │ │ │ ├── kernelmajversion_spec.rb │ │ │ ├── kernelrelease_spec.rb │ │ │ ├── kernelversion_spec.rb │ │ │ ├── load_averages_spec.rb │ │ │ ├── lsbdistrelease_spec.rb │ │ │ ├── macaddress_interfaces_spec.rb │ │ │ ├── memory │ │ │ │ ├── swap │ │ │ │ │ ├── available_bytes_spec.rb │ │ │ │ │ ├── available_spec.rb │ │ │ │ │ ├── capacity_spec.rb │ │ │ │ │ ├── total_bytes_spec.rb │ │ │ │ │ ├── total_spec.rb │ │ │ │ │ ├── used_bytes_spec.rb │ │ │ │ │ └── used_spec.rb │ │ │ │ └── system │ │ │ │ │ ├── available_bytes_spec.rb │ │ │ │ │ ├── available_spec.rb │ │ │ │ │ ├── capacity_spec.rb │ │ │ │ │ ├── total_bytes_spec.rb │ │ │ │ │ ├── total_spec.rb │ │ │ │ │ ├── used_bytes_spec.rb │ │ │ │ │ └── used_spec.rb │ │ │ ├── mountpoints_spec.rb │ │ │ ├── mtu_interfaces_spec.rb │ │ │ ├── netmask6_interfaces_spec.rb │ │ │ ├── netmask_interfaces_spec.rb │ │ │ ├── network6_interfaces_spec.rb │ │ │ ├── network_interfaces_spec.rb │ │ │ ├── networking │ │ │ │ ├── dhcp_spec.rb │ │ │ │ ├── domain_spec.rb │ │ │ │ ├── fqdn_spec.rb │ │ │ │ ├── hostname_spec.rb │ │ │ │ ├── interfaces_spec.rb │ │ │ │ ├── ip6_spec.rb │ │ │ │ ├── ip_spec.rb │ │ │ │ ├── mac_spec.rb │ │ │ │ ├── mtu_spec.rb │ │ │ │ ├── netmask6_spec.rb │ │ │ │ ├── netmask_spec.rb │ │ │ │ ├── network6_spec.rb │ │ │ │ ├── network_spec.rb │ │ │ │ ├── primary_spec.rb │ │ │ │ └── scope6_spec.rb │ │ │ ├── os │ │ │ │ ├── architecture_spec.rb │ │ │ │ ├── distro │ │ │ │ │ ├── codename_spec.rb │ │ │ │ │ ├── description_spec.rb │ │ │ │ │ ├── id_spec.rb │ │ │ │ │ ├── release_spec.rb │ │ │ │ │ └── specification_spec.rb │ │ │ │ ├── family_spec.rb │ │ │ │ ├── hardware_spec.rb │ │ │ │ ├── name_spec.rb │ │ │ │ ├── release_spec.rb │ │ │ │ └── selinux │ │ │ │ │ ├── config_mode_spec.rb │ │ │ │ │ ├── config_policy_spec.rb │ │ │ │ │ ├── current_mode_spec.rb │ │ │ │ │ ├── enabled_spec.rb │ │ │ │ │ ├── enforced_spec.rb │ │ │ │ │ └── policy_version_spec.rb │ │ │ ├── partitions_spec.rb │ │ │ ├── path_spec.rb │ │ │ ├── processor_spec.rb │ │ │ ├── processors │ │ │ │ ├── cores_spec.rb │ │ │ │ ├── count_spec.rb │ │ │ │ ├── isa_spec.rb │ │ │ │ ├── models_spec.rb │ │ │ │ ├── physicalcount_spec.rb │ │ │ │ ├── speed_spec.rb │ │ │ │ └── threads_spec.rb │ │ │ ├── ruby │ │ │ │ ├── platform_spec.rb │ │ │ │ ├── sitedir_spec.rb │ │ │ │ └── version_spec.rb │ │ │ ├── scope6_interfaces_spec.rb │ │ │ ├── ssh_spec.rb │ │ │ ├── sshalgorithmkey_spec.rb │ │ │ ├── sshfp_algorithm_spec.rb │ │ │ ├── system_uptime │ │ │ │ ├── days_spec.rb │ │ │ │ ├── hours_spec.rb │ │ │ │ ├── seconds_spec.rb │ │ │ │ └── uptime_spec.rb │ │ │ ├── timezone_spec.rb │ │ │ ├── virtual_spec.rb │ │ │ └── xen_spec.rb │ │ ├── linuxmint │ │ │ └── os │ │ │ │ ├── name_spec.rb │ │ │ │ └── release_spec.rb │ │ ├── macosx │ │ │ ├── aio_agent_version_spec.rb │ │ │ ├── augeas │ │ │ │ └── version_spec.rb │ │ │ ├── dhcp_servers_spec.rb │ │ │ ├── dmi │ │ │ │ └── product │ │ │ │ │ └── name_spec.rb │ │ │ ├── facterversion_spec.rb │ │ │ ├── filesystems_spec.rb │ │ │ ├── identity │ │ │ │ ├── gid_spec.rb │ │ │ │ ├── group_spec.rb │ │ │ │ ├── privileged_spec.rb │ │ │ │ ├── uid_spec.rb │ │ │ │ └── user_spec.rb │ │ │ ├── interfaces_spec.rb │ │ │ ├── ipaddress6_interfaces_spec.rb │ │ │ ├── ipaddress_interfaces_spec.rb │ │ │ ├── is_virtual_spec.rb │ │ │ ├── kernel_spec.rb │ │ │ ├── kernelmajversion_spec.rb │ │ │ ├── kernelrelease_spec.rb │ │ │ ├── kernelversion_spec.rb │ │ │ ├── load_averages_spec.rb │ │ │ ├── macaddress_interfaces_spec.rb │ │ │ ├── memory │ │ │ │ ├── swap │ │ │ │ │ ├── available_bytes_spec.rb │ │ │ │ │ ├── available_spec.rb │ │ │ │ │ ├── capacity_spec.rb │ │ │ │ │ ├── encrypted_spec.rb │ │ │ │ │ ├── total_bytes_spec.rb │ │ │ │ │ ├── total_spec.rb │ │ │ │ │ ├── used_bytes_spec.rb │ │ │ │ │ └── used_spec.rb │ │ │ │ └── system │ │ │ │ │ ├── available_bytes_spec.rb │ │ │ │ │ ├── available_spec.rb │ │ │ │ │ ├── capacity_spec.rb │ │ │ │ │ ├── total_bytes_spec.rb │ │ │ │ │ ├── total_spec.rb │ │ │ │ │ ├── used_bytes_spec.rb │ │ │ │ │ └── used_spec.rb │ │ │ ├── mountpoints_spec.rb │ │ │ ├── mtu_interfaces_spec.rb │ │ │ ├── netmask6_interfaces_spec.rb │ │ │ ├── netmask_interfaces_spec.rb │ │ │ ├── network6_interfaces_spec.rb │ │ │ ├── network_interfaces_spec.rb │ │ │ ├── networking │ │ │ │ ├── dhcp_spec.rb │ │ │ │ ├── domain_spec.rb │ │ │ │ ├── fqdn_spec.rb │ │ │ │ ├── hostname_spec.rb │ │ │ │ ├── interfaces_spec.rb │ │ │ │ ├── ip6_spec.rb │ │ │ │ ├── ip_spec.rb │ │ │ │ ├── mac_spec.rb │ │ │ │ ├── mtu_spec.rb │ │ │ │ ├── netmask6_spec.rb │ │ │ │ ├── netmask_spec.rb │ │ │ │ ├── network6_spec.rb │ │ │ │ ├── network_spec.rb │ │ │ │ ├── primary_spec.rb │ │ │ │ └── scope6_spec.rb │ │ │ ├── os │ │ │ │ ├── architecture_spec.rb │ │ │ │ ├── family_spec.rb │ │ │ │ ├── hardware_spec.rb │ │ │ │ ├── macosx │ │ │ │ │ ├── build_spec.rb │ │ │ │ │ ├── product_spec.rb │ │ │ │ │ └── version_spec.rb │ │ │ │ ├── name_spec.rb │ │ │ │ └── release_spec.rb │ │ │ ├── path_spec.rb │ │ │ ├── processors │ │ │ │ ├── cores_spec.rb │ │ │ │ ├── count_spec.rb │ │ │ │ ├── isa_spec.rb │ │ │ │ ├── models_spec.rb │ │ │ │ ├── physicalcount_spec.rb │ │ │ │ ├── speed_spec.rb │ │ │ │ └── threads_spec.rb │ │ │ ├── ruby │ │ │ │ ├── platform_spec.rb │ │ │ │ ├── sitedir_spec.rb │ │ │ │ └── version_spec.rb │ │ │ ├── scope6_interfaces_spec.rb │ │ │ ├── ssh_spec.rb │ │ │ ├── sshalgorithmkey_spec.rb │ │ │ ├── sshfp_algorithm_spec.rb │ │ │ ├── system_profiler │ │ │ │ ├── boot_mode_spec.rb │ │ │ │ ├── boot_rom_version_spec.rb │ │ │ │ ├── boot_volume_spec.rb │ │ │ │ ├── computer_name_spec.rb │ │ │ │ ├── cores_spec.rb │ │ │ │ ├── hardware_uuid_spec.rb │ │ │ │ ├── kernel_version_spec.rb │ │ │ │ ├── l2_cache_per_core_spec.rb │ │ │ │ ├── l3_cache_spec.rb │ │ │ │ ├── memory_spec.rb │ │ │ │ ├── model_identifier_spec.rb │ │ │ │ ├── model_name_spec.rb │ │ │ │ ├── processor_name_spec.rb │ │ │ │ ├── processor_speed_spec.rb │ │ │ │ ├── processors_spec.rb │ │ │ │ ├── secure_virtual_memory_spec.rb │ │ │ │ ├── serial_number_spec.rb │ │ │ │ ├── smc_version_spec.rb │ │ │ │ ├── system_version_spec.rb │ │ │ │ ├── uptime_spec.rb │ │ │ │ └── username_spec.rb │ │ │ ├── system_uptime │ │ │ │ ├── days_spec.rb │ │ │ │ ├── hours_spec.rb │ │ │ │ ├── seconds_spec.rb │ │ │ │ └── uptime_spec.rb │ │ │ ├── timezone_spec.rb │ │ │ └── virtual_spec.rb │ │ ├── mageia │ │ │ └── os │ │ │ │ └── release_spec.rb │ │ ├── mariner │ │ │ └── os │ │ │ │ └── release_spec.rb │ │ ├── meego │ │ │ └── os │ │ │ │ └── release_spec.rb │ │ ├── oel │ │ │ └── os │ │ │ │ └── release_spec.rb │ │ ├── ol │ │ │ └── os │ │ │ │ └── release_spec.rb │ │ ├── openbsd │ │ │ ├── augeas │ │ │ │ └── version_spec.rb │ │ │ ├── dmi │ │ │ │ ├── bios │ │ │ │ │ ├── vendor_spec.rb │ │ │ │ │ └── version_spec.rb │ │ │ │ ├── manufacturer_spec.rb │ │ │ │ └── product │ │ │ │ │ ├── name_spec.rb │ │ │ │ │ ├── serial_number_spec.rb │ │ │ │ │ └── uuid_spec.rb │ │ │ ├── ec2_metadata_spec.rb │ │ │ ├── ec2_userdata_spec.rb │ │ │ ├── facterversion_spec.rb │ │ │ ├── identity │ │ │ │ ├── gid_spec.rb │ │ │ │ ├── group_spec.rb │ │ │ │ ├── privileged_spec.rb │ │ │ │ ├── uid_spec.rb │ │ │ │ └── user_spec.rb │ │ │ ├── ipaddress6_interfaces_spec.rb │ │ │ ├── ipaddress_interfaces_spec.rb │ │ │ ├── is_virtual_spec.rb │ │ │ ├── kernel_spec.rb │ │ │ ├── kernelrelease_spec.rb │ │ │ ├── mountpoints_spec.rb │ │ │ ├── netmask6_interfaces_spec.rb │ │ │ ├── netmask_interfaces_spec.rb │ │ │ ├── network6_interfaces_spec.rb │ │ │ ├── network_interfaces_spec.rb │ │ │ ├── networking │ │ │ │ ├── dhcp_spec.rb │ │ │ │ ├── domain_spec.rb │ │ │ │ ├── fqdn_spec.rb │ │ │ │ ├── hostname_spec.rb │ │ │ │ ├── interfaces_spec.rb │ │ │ │ ├── ip6_spec.rb │ │ │ │ ├── ip_spec.rb │ │ │ │ ├── mac_spec.rb │ │ │ │ ├── mtu_spec.rb │ │ │ │ ├── netmask6_spec.rb │ │ │ │ ├── netmask_spec.rb │ │ │ │ ├── network6_spec.rb │ │ │ │ ├── network_spec.rb │ │ │ │ ├── primary_spec.rb │ │ │ │ └── scope6_spec.rb │ │ │ ├── os │ │ │ │ ├── architecture_spec.rb │ │ │ │ ├── hardware_spec.rb │ │ │ │ ├── name_spec.rb │ │ │ │ └── release_spec.rb │ │ │ ├── path_spec.rb │ │ │ ├── processors │ │ │ │ └── isa_spec.rb │ │ │ ├── ruby │ │ │ │ ├── platform_spec.rb │ │ │ │ ├── sitedir_spec.rb │ │ │ │ └── version_spec.rb │ │ │ ├── ssh_spec.rb │ │ │ ├── sshalgorithmkey_spec.rb │ │ │ ├── sshfp_algorithm_spec.rb │ │ │ ├── system_uptime │ │ │ │ ├── days_spec.rb │ │ │ │ ├── hours_spec.rb │ │ │ │ ├── seconds_spec.rb │ │ │ │ └── uptime_spec.rb │ │ │ ├── timezone_spec.rb │ │ │ ├── virtual_spec.rb │ │ │ └── virtual_spec.rb.save │ │ ├── openwrt │ │ │ └── os │ │ │ │ └── release_spec.rb │ │ ├── ovs │ │ │ └── os │ │ │ │ └── release_spec.rb │ │ ├── photon │ │ │ └── os │ │ │ │ └── release_spec.rb │ │ ├── rhel │ │ │ ├── lsbdistcodename_spec.rb │ │ │ ├── lsbdistdescription_spec.rb │ │ │ ├── lsbdistid_spec.rb │ │ │ └── os │ │ │ │ ├── distro │ │ │ │ ├── codename_spec.rb │ │ │ │ ├── description_spec.rb │ │ │ │ ├── id_spec.rb │ │ │ │ └── release_spec.rb │ │ │ │ ├── family_spec.rb │ │ │ │ ├── name_spec.rb │ │ │ │ └── release_spec.rb │ │ ├── slackware │ │ │ └── os │ │ │ │ └── release_spec.rb │ │ ├── sles │ │ │ ├── lsbdistcodename_spec.rb │ │ │ ├── lsbdistdescription_spec.rb │ │ │ ├── lsbdistid_spec.rb │ │ │ └── os │ │ │ │ ├── distro │ │ │ │ ├── codename_spec.rb │ │ │ │ ├── description_spec.rb │ │ │ │ ├── id_spec.rb │ │ │ │ └── release_spec.rb │ │ │ │ ├── family_spec.rb │ │ │ │ └── release_spec.rb │ │ ├── solaris │ │ │ ├── aio_agent_version_spec.rb │ │ │ ├── augeas │ │ │ │ └── version_spec.rb │ │ │ ├── current_zone_spec.rb │ │ │ ├── dhcp_servers_spec.rb │ │ │ ├── disks_spec.rb │ │ │ ├── dmi │ │ │ │ ├── bios │ │ │ │ │ ├── release_date_spec.rb │ │ │ │ │ ├── vendor_spec.rb │ │ │ │ │ └── version_spec.rb │ │ │ │ ├── chassis │ │ │ │ │ ├── asset_tag_spec.rb │ │ │ │ │ └── type_spec.rb │ │ │ │ ├── manufacturer_spec.rb │ │ │ │ └── product │ │ │ │ │ ├── name_spec.rb │ │ │ │ │ ├── serial_number_spec.rb │ │ │ │ │ └── uuid_spec.rb │ │ │ ├── facterversion_spec.rb │ │ │ ├── filesystems_spec.rb │ │ │ ├── hypervisors │ │ │ │ ├── ldom_spec.rb │ │ │ │ └── zone_spec.rb │ │ │ ├── identity │ │ │ │ ├── gid_spec.rb │ │ │ │ ├── group_spec.rb │ │ │ │ ├── privileged_spec.rb │ │ │ │ ├── uid_spec.rb │ │ │ │ └── user_spec.rb │ │ │ ├── interfaces_spec.rb │ │ │ ├── ipaddress6_interfaces_spec.rb │ │ │ ├── ipaddress_interfaces_spec.rb │ │ │ ├── is_virtual_spec.rb │ │ │ ├── kernel_spec.rb │ │ │ ├── kernelmajversion_spec.rb │ │ │ ├── kernelrelease_spec.rb │ │ │ ├── kernelversion_spec.rb │ │ │ ├── ldom_spec.rb │ │ │ ├── load_averages_spec.rb │ │ │ ├── macaddress_interfaces_spec.rb │ │ │ ├── memory │ │ │ │ ├── swap │ │ │ │ │ ├── available_bytes_spec.rb │ │ │ │ │ ├── available_spec.rb │ │ │ │ │ ├── capacity_spec.rb │ │ │ │ │ ├── total_bytes_spec.rb │ │ │ │ │ ├── total_spec.rb │ │ │ │ │ ├── used_bytes_spec.rb │ │ │ │ │ └── used_spec.rb │ │ │ │ └── system │ │ │ │ │ ├── available_bytes_spec.rb │ │ │ │ │ ├── available_spec.rb │ │ │ │ │ ├── capacity_spec.rb │ │ │ │ │ ├── total_bytes_spec.rb │ │ │ │ │ ├── total_spec.rb │ │ │ │ │ ├── used_bytes_spec.rb │ │ │ │ │ └── used_spec.rb │ │ │ ├── mountpoints_spec.rb │ │ │ ├── mtu_interfaces_spec.rb │ │ │ ├── netmask6_interfaces_spec.rb │ │ │ ├── netmask_interfaces_spec.rb │ │ │ ├── network6_interfaces_spec.rb │ │ │ ├── network_interfaces_spec.rb │ │ │ ├── networking │ │ │ │ ├── dhcp_spec.rb │ │ │ │ ├── domain_spec.rb │ │ │ │ ├── fqdn_spec.rb │ │ │ │ ├── hostname_spec.rb │ │ │ │ ├── interfaces_spec.rb │ │ │ │ ├── ip6_spec.rb │ │ │ │ ├── ip_spec.rb │ │ │ │ ├── mac_spec.rb │ │ │ │ ├── mtu_spec.rb │ │ │ │ ├── netmask6_spec.rb │ │ │ │ ├── netmask_spec.rb │ │ │ │ ├── network6_spec.rb │ │ │ │ ├── network_spec.rb │ │ │ │ └── primary_spec.rb │ │ │ ├── os │ │ │ │ ├── architecture_spec.rb │ │ │ │ ├── family_spec.rb │ │ │ │ ├── hardware_spec.rb │ │ │ │ ├── name_spec.rb │ │ │ │ └── release_spec.rb │ │ │ ├── path_spec.rb │ │ │ ├── processors │ │ │ │ ├── cores_spec.rb │ │ │ │ ├── count_spec.rb │ │ │ │ ├── isa_spec.rb │ │ │ │ ├── models_spec.rb │ │ │ │ ├── physicalcount_spec.rb │ │ │ │ ├── speed_spec.rb │ │ │ │ └── threads_spec.rb │ │ │ ├── ruby │ │ │ │ ├── platform_spec.rb │ │ │ │ ├── sitedir_spec.rb │ │ │ │ └── version_spec.rb │ │ │ ├── ssh_spec.rb │ │ │ ├── sshalgorithmkey_spec.rb │ │ │ ├── sshfp_algorithm_spec.rb │ │ │ ├── system_uptime │ │ │ │ ├── days_spec.rb │ │ │ │ ├── hours_spec.rb │ │ │ │ ├── seconds_spec.rb │ │ │ │ └── uptime_spec.rb │ │ │ ├── timezone_spec.rb │ │ │ ├── virtual_spec.rb │ │ │ ├── zfs_featurenumbers_spec.rb │ │ │ ├── zfs_version_spec.rb │ │ │ ├── zones_spec.rb │ │ │ ├── zpool_featureflags_spec.rb │ │ │ ├── zpool_featurenumbers_spec.rb │ │ │ └── zpool_version_spec.rb │ │ ├── ubuntu │ │ │ ├── lsbdistrelease_spec.rb │ │ │ └── os │ │ │ │ ├── distro │ │ │ │ └── release_spec.rb │ │ │ │ └── release_spec.rb │ │ └── windows │ │ │ ├── az_metadata_spec.rb │ │ │ ├── cloud │ │ │ └── provider_spec.rb │ │ │ ├── dhcp_servers_spec.rb │ │ │ ├── dmi │ │ │ ├── manufacturer_spec.rb │ │ │ └── product │ │ │ │ ├── name_spec.rb │ │ │ │ ├── serial_number_spec.rb │ │ │ │ └── uuid_spec.rb │ │ │ ├── ec2_metadata_spec.rb │ │ │ ├── ec2_userdata_spec.rb │ │ │ ├── facterversion_spec.rb │ │ │ ├── fips_enabled_spec.rb │ │ │ ├── hypervisors │ │ │ ├── hyperv_spec.rb │ │ │ ├── kvm_spec.rb │ │ │ ├── virtualbox_spec.rb │ │ │ ├── vmware_spec.rb │ │ │ └── xen_spec.rb │ │ │ ├── identity │ │ │ ├── privileged_spec.rb │ │ │ └── user_spec.rb │ │ │ ├── interfaces_spec.rb │ │ │ ├── ipaddress6_interfaces_spec.rb │ │ │ ├── ipaddress_interfaces_spec.rb │ │ │ ├── is_virtual_spec.rb │ │ │ ├── kernel_spec.rb │ │ │ ├── kernelmajversion_spec.rb │ │ │ ├── kernelrelease_spec.rb │ │ │ ├── kernelversion_spec.rb │ │ │ ├── macaddress_interfaces_spec.rb │ │ │ ├── memory │ │ │ └── system │ │ │ │ ├── available_bytes_spec.rb │ │ │ │ ├── available_spec.rb │ │ │ │ ├── capacity_spec.rb │ │ │ │ ├── total_bytes_spec.rb │ │ │ │ ├── total_spec.rb │ │ │ │ ├── used_bytes_spec.rb │ │ │ │ └── used_spec.rb │ │ │ ├── mtu_interfaces_spec.rb │ │ │ ├── netmask6_interfaces_spec.rb │ │ │ ├── netmask_interfaces_spec.rb │ │ │ ├── network6_interfaces_spec.rb │ │ │ ├── network_interfaces_spec.rb │ │ │ ├── networking │ │ │ ├── dhcp_spec.rb │ │ │ ├── domain_spec.rb │ │ │ ├── fqdn_spec.rb │ │ │ ├── hostname_spec.rb │ │ │ ├── interfaces_spec.rb │ │ │ ├── ip6_spec.rb │ │ │ ├── ip_spec.rb │ │ │ ├── mac_spec.rb │ │ │ ├── mtu_spec.rb │ │ │ ├── netmask6_spec.rb │ │ │ ├── netmask_spec.rb │ │ │ ├── network6_spec.rb │ │ │ ├── network_spec.rb │ │ │ ├── primary_spec.rb │ │ │ └── scope6_spec.rb │ │ │ ├── os │ │ │ ├── architecture_spec.rb │ │ │ ├── family_spec.rb │ │ │ ├── hardware_spec.rb │ │ │ ├── name_spec.rb │ │ │ ├── release_spec.rb │ │ │ └── windows │ │ │ │ ├── display_version_spec.rb │ │ │ │ ├── edition_id_spec.rb │ │ │ │ ├── installation_type_spec.rb │ │ │ │ ├── product_name_spec.rb │ │ │ │ ├── release_id_spec.rb │ │ │ │ └── system32_spec.rb │ │ │ ├── path_spec.rb │ │ │ ├── processor_spec.rb │ │ │ ├── processors │ │ │ ├── cores_spec.rb │ │ │ ├── count_spec.rb │ │ │ ├── isa_spec.rb │ │ │ ├── models_spec.rb │ │ │ ├── physicalcount_spec.rb │ │ │ └── threads_spec.rb │ │ │ ├── ruby │ │ │ ├── platform_spec.rb │ │ │ ├── sitedir_spec.rb │ │ │ └── version_spec.rb │ │ │ ├── scope6_interfaces_spec.rb │ │ │ ├── ssh_spec.rb │ │ │ ├── sshalgorithmkey_spec.rb │ │ │ ├── sshfp_algorithm_spec.rb │ │ │ ├── system_uptime │ │ │ ├── days_spec.rb │ │ │ ├── hours_spec.rb │ │ │ ├── seconds_spec.rb │ │ │ └── uptime_spec.rb │ │ │ ├── timezone_spec.rb │ │ │ └── virtual_spec.rb │ ├── framework │ │ └── benchmarking │ │ │ └── timer_spec.rb │ ├── model │ │ ├── fact_collection_spec.rb │ │ └── resolved_fact_spec.rb │ ├── query_parser_spec.rb │ ├── resolvers │ │ ├── aio_agent_version_spec.rb │ │ ├── aix │ │ │ ├── architecture_spec.rb │ │ │ ├── disks_spec.rb │ │ │ ├── ffi_helper_spec.rb │ │ │ ├── filesystem_spec.rb │ │ │ ├── hardware_spec.rb │ │ │ ├── load_averages_spec.rb │ │ │ ├── memory_spec.rb │ │ │ ├── mountpoints_spec.rb │ │ │ ├── networking_spec.rb │ │ │ ├── nim_spec.rb │ │ │ ├── os_level_spec.rb │ │ │ ├── partitions_spec.rb │ │ │ ├── processors_spec.rb │ │ │ └── serialnumber_spec.rb │ │ ├── amzn │ │ │ └── os_release_rpm_spec.rb │ │ ├── augeas_spec.rb │ │ ├── az_spec.rb │ │ ├── base_resolver_spec.rb │ │ ├── bsd │ │ │ ├── ffi_helper_spec.rb │ │ │ └── processors_spec.rb │ │ ├── containers_spec.rb │ │ ├── debian_version_spec.rb │ │ ├── disks_spec.rb │ │ ├── dmi_decode_spec.rb │ │ ├── dmi_spec.rb │ │ ├── ec2_spec.rb │ │ ├── eos_release_spec.rb │ │ ├── facterversion_spec.rb │ │ ├── filesystems_spec.rb │ │ ├── fips_enabled_spec.rb │ │ ├── freebsd │ │ │ ├── dmi_bios_spec.rb │ │ │ ├── ffi_helper_spec.rb │ │ │ ├── freebsd_version_spec.rb │ │ │ ├── geom_spec.rb │ │ │ ├── processors_spec.rb │ │ │ ├── swap_memory_spec.rb │ │ │ ├── system_memory_spec.rb │ │ │ └── virtual_spec.rb │ │ ├── gce_spec.rb │ │ ├── hostname_spec.rb │ │ ├── identity_spec.rb │ │ ├── linux │ │ │ ├── docker_uptime_spec.rb │ │ │ ├── hostname_spec.rb │ │ │ ├── load_averages_spec.rb │ │ │ ├── lscpu_spec.rb │ │ │ └── networking_spec.rb │ │ ├── load_averages_spec.rb │ │ ├── lpar_spec.rb │ │ ├── lsb_release_spec.rb │ │ ├── lspci_spec.rb │ │ ├── macosx │ │ │ ├── dmi_spec.rb │ │ │ ├── filesystems_spec.rb │ │ │ ├── load_averages_spec.rb │ │ │ ├── mountpoints_spec.rb │ │ │ ├── processors_spec.rb │ │ │ ├── swap_memory_spec.rb │ │ │ └── system_memory_spec.rb │ │ ├── memory_spec.rb │ │ ├── mountpoints_spec.rb │ │ ├── networking_spec.rb │ │ ├── open_vz_spec.rb │ │ ├── openbsd │ │ │ ├── dmi_bios_spec.rb │ │ │ └── mountpoints_spec.rb │ │ ├── os_release_spec.rb │ │ ├── partitions_spec.rb │ │ ├── path_spec.rb │ │ ├── processors_spec.rb │ │ ├── redhat_release_spec.rb │ │ ├── release_from_first_line_spec.rb │ │ ├── ruby_spec.rb │ │ ├── selinux_spec.rb │ │ ├── solaris │ │ │ ├── disks_spec.rb │ │ │ ├── dmi_sparc_spec.rb │ │ │ ├── dmi_spec.rb │ │ │ ├── filesystem_spec.rb │ │ │ ├── ipaddress_spec.rb │ │ │ ├── ldom_spec.rb │ │ │ ├── memory_spec.rb │ │ │ ├── mountpoints_spec.rb │ │ │ ├── processors_spec.rb │ │ │ ├── solaris_release_spec.rb │ │ │ ├── zone_name_spec.rb │ │ │ └── zone_spec.rb │ │ ├── specific_release_file_spec.rb │ │ ├── ssh_spec.rb │ │ ├── suse_release_spec.rb │ │ ├── sw_vers_spec.rb │ │ ├── system_profile_spec.rb │ │ ├── timezone_spec.rb │ │ ├── uname_spec.rb │ │ ├── uptime_spec.rb │ │ ├── virt_what_spec.rb │ │ ├── vmware_spec.rb │ │ ├── windows │ │ │ ├── aio_agent_version_spec.rb │ │ │ ├── dmi_bios_spec.rb │ │ │ ├── dmi_computersystem_spec.rb │ │ │ ├── fips_spec.rb │ │ │ ├── hardware_architecture_spec.rb │ │ │ ├── identity_spec.rb │ │ │ ├── kernel_spec.rb │ │ │ ├── memory_spec.rb │ │ │ ├── netkvm_spec.rb │ │ │ ├── networking_spec.rb │ │ │ ├── processors_spec.rb │ │ │ ├── product_release_spec.rb │ │ │ ├── ssh_spec.rb │ │ │ ├── system32_spec.rb │ │ │ ├── timezone_spec.rb │ │ │ ├── uptime_spec.rb │ │ │ ├── virtualization_spec.rb │ │ │ └── win_os_description_spec.rb │ │ ├── wpar_spec.rb │ │ ├── xen_spec.rb │ │ ├── zfs_spec.rb │ │ └── zpool_spec.rb │ ├── util │ │ ├── aix │ │ │ └── odm_query_spec.rb │ │ ├── facts │ │ │ ├── facts_utils_spec.rb │ │ │ ├── posix │ │ │ │ └── virtual_detector_spec.rb │ │ │ ├── unit_converter_spec.rb │ │ │ ├── uptime_parser_spec.rb │ │ │ └── windows_release_finder_spec.rb │ │ ├── file_helper_spec.rb │ │ ├── linux │ │ │ ├── dhcp_spec.rb │ │ │ ├── if_inet6_spec.rb │ │ │ ├── proc_spec.rb │ │ │ ├── routing_table_spec.rb │ │ │ └── socket_parser_spec.rb │ │ ├── macosx │ │ │ └── system_profile_executor_spec.rb │ │ ├── resolvers │ │ │ ├── aws_token_spec.rb │ │ │ ├── ffi │ │ │ │ └── load_averages_spec.rb │ │ │ ├── filesystem_helper_spec.rb │ │ │ ├── http_spec.rb │ │ │ ├── networking │ │ │ │ ├── networking_spec.rb │ │ │ │ └── primary_interface_spec.rb │ │ │ ├── ssh_helper_spec.rb │ │ │ └── uptime_helper_spec.rb │ │ └── windows │ │ │ ├── network_utils_spec.rb │ │ │ └── win32ole_spec.rb │ └── version_spec.rb ├── fixtures │ ├── aix_filesystems │ ├── blkid_output │ ├── blkid_output_root_has_partuuid │ ├── bond_interface_data │ ├── broken_os_hierarchy │ ├── centos_lsb_release │ ├── cgroup_file │ ├── cmdline_root_device │ ├── cmdline_root_device_partuuid │ ├── cpuinfo │ ├── cpuinfo_arm64 │ ├── cpuinfo_powerpc │ ├── cpuinfo_wo_physical_id │ ├── df │ ├── dhclient_lease │ ├── dhclient_rhel_lease_8 │ ├── dhcp_internal_lease │ ├── dhcp_lease │ ├── dhcpcd │ ├── dmi_decode_virtualbox │ ├── dmi_decode_vmware │ ├── docker_cgroup │ ├── ecdsa │ ├── ecdsa384 │ ├── ecdsa384_key │ ├── ecdsa521 │ ├── ecdsa521_key │ ├── ecdsa_key │ ├── ed25519 │ ├── ed25519_key │ ├── external_fact_yaml │ ├── external_fact_yaml_anchor │ ├── external_fact_yaml_date │ ├── external_fact_yaml_no_zone │ ├── filesystems │ ├── freebsd_swapinfo │ ├── gce │ ├── ifconfig_mac │ ├── invalid_option_pairs.conf │ ├── ip_-6_route_show │ ├── ip_link_show │ ├── ip_link_show_all │ ├── ip_route_show │ ├── ip_route_show_default │ ├── kern.geom.confxml │ ├── kstat_cpu │ ├── kstat_sderr │ ├── kstat_sys_pages │ ├── loadavg │ ├── lparstat_i │ ├── lparstat_w │ ├── lsblk_output_new │ ├── lsblk_output_old │ ├── lslv_output │ ├── lspci_aws │ ├── lspci_vmware │ ├── lspv_disk_output │ ├── lspv_output │ ├── lxc_cgroup │ ├── macosx_filesystems │ ├── meminfo │ ├── meminfo2 │ ├── meminfo_missing_available │ ├── mount │ ├── netstat_in │ ├── netstat_rn │ ├── netstat_rn_two │ ├── niminfo_nim_configuration │ ├── niminfo_w_wrong_nim_configuration │ ├── niminfo_wo_nim_configuration │ ├── openbsd_df │ ├── openbsd_filesystems │ ├── os_hierarchy │ ├── os_release │ ├── os_release_archlinux │ ├── os_release_debian │ ├── os_release_devuan │ ├── os_release_manjarolinux │ ├── os_release_mint │ ├── os_release_opensuse-leap │ ├── os_release_oracle_linux │ ├── os_release_redhat_linux_with_comment │ ├── os_release_sles │ ├── os_release_sles_sap │ ├── os_release_solaris │ ├── os_release_virtuozzolinux │ ├── osx_route │ ├── partitions_cudv_query │ ├── proc_environ_no_value │ ├── proc_environ_podman │ ├── proc_net_if_inet6 │ ├── proc_net_if_inet6_complex │ ├── proc_net_route │ ├── proc_net_route_blackhole │ ├── proc_net_route_empty │ ├── proc_self_mounts │ ├── proc_self_mounts_selinux │ ├── proc_self_status │ ├── proc_self_status_host │ ├── processors_cuat │ ├── processors_cudv │ ├── processors_pddv │ ├── prtdiag │ ├── rhel5_memory │ ├── route_n_get_default │ ├── rsa │ ├── rsa_key │ ├── selinux_config │ ├── smbios_bios │ ├── smbios_chassis │ ├── smbios_system │ ├── solaris_filesystems │ ├── solaris_ifconfig │ ├── svmon_content │ ├── swap_l │ ├── system_profile_sp_ethernet_data_type │ ├── system_profile_sp_hardware_data_type │ ├── system_profile_sp_software_data_type │ ├── system_profiler │ ├── virt-what-content │ ├── virtinfo │ ├── vm_stat │ ├── xen_domains │ ├── zfs │ ├── zpool │ └── zpool-with-featureflags ├── framework │ ├── cli │ │ └── cli_launcher_spec.rb │ ├── config │ │ ├── config_reader_spec.rb │ │ └── fact_groups_spec.rb │ ├── core │ │ ├── fact │ │ │ ├── external │ │ │ │ └── external_fact_manager_spec.rb │ │ │ └── internal │ │ │ │ └── internal_fact_manager_spec.rb │ │ ├── fact_loaders │ │ │ ├── class_discoverer_spec.rb │ │ │ ├── external_fact_loader_spec.rb │ │ │ ├── fact_loader_spec.rb │ │ │ └── internal_fact_loader_spec.rb │ │ ├── fact_manager_spec.rb │ │ ├── options │ │ │ ├── option_store_spec.rb │ │ │ └── options_validator_spec.rb │ │ ├── options_spec.rb │ │ └── session_cache_spec.rb │ ├── detector │ │ ├── os_detector_spec.rb │ │ └── os_hierarchy_spec.rb │ ├── formatters │ │ ├── fact_formatter_spec.rb │ │ ├── hocon_fact_formatter_spec.rb │ │ ├── json_fact_formatter_spec.rb │ │ ├── legacy_fact_formatter_spec.rb │ │ └── yaml_fact_formatter_spec.rb │ ├── logging │ │ └── logger_spec.rb │ └── utils │ │ └── utils_spec.rb ├── mocks │ ├── augeas.rb │ ├── ffi.rb │ ├── flush_fake_error.rb │ ├── kernel.rb │ ├── socket.rb │ ├── sys_filesystem.rb │ ├── util.rb │ ├── win32.rb │ ├── win32_registry_error.rb │ └── win32ole.rb └── spec_helper.rb ├── spec_integration ├── facter_block_legacy_spec.rb ├── facter_resolve_spec.rb ├── facter_spec.rb ├── facter_to_hash_spec.rb ├── integration_helper.rb └── spec_helper.rb └── tasks ├── check.rake ├── fact_list_generator.rake ├── manpages.rake ├── rubocop.rake └── spec.rake /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | # raise PRs for gem updates 4 | - package-ecosystem: bundler 5 | directory: "/" 6 | schedule: 7 | interval: daily 8 | time: "13:00" 9 | open-pull-requests-limit: 10 10 | 11 | # Maintain dependencies for GitHub Actions 12 | - package-ecosystem: github-actions 13 | directory: "/" 14 | schedule: 15 | interval: daily 16 | time: "13:00" 17 | open-pull-requests-limit: 10 18 | -------------------------------------------------------------------------------- /.github/release.yml: -------------------------------------------------------------------------------- 1 | changelog: 2 | categories: 3 | - title: Features & Enhancements 4 | labels: 5 | - enhancement 6 | - title: Bug Fixes 7 | labels: 8 | - bug 9 | -------------------------------------------------------------------------------- /.github/workflows/jira.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: Export issue to Jira 3 | 4 | on: 5 | issues: 6 | types: [labeled] 7 | 8 | permissions: 9 | issues: write 10 | 11 | jobs: 12 | export: 13 | uses: "puppetlabs/phoenix-github-actions/.github/workflows/jira.yml@main" 14 | with: 15 | jira-project: FACT 16 | jira-base-url: ${{ vars.jira_base_url }} 17 | jira-user-email: ${{ vars.jira_user_email }} 18 | secrets: 19 | jira-api-token: ${{ secrets.JIRA_ISSUES_ACTION }} 20 | -------------------------------------------------------------------------------- /.jrubyrc: -------------------------------------------------------------------------------- 1 | cli.debug=true 2 | debug.fullTrace=true -------------------------------------------------------------------------------- /.rspec: -------------------------------------------------------------------------------- 1 | --color 2 | --require spec_helper 3 | -------------------------------------------------------------------------------- /.rubycritic.yml: -------------------------------------------------------------------------------- 1 | paths: # Files to analyse. 2 | - 'lib' 3 | - 'bin' 4 | - 'config' -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- 1 | # Default to Ghost team 2 | * @puppetlabs/phoenix 3 | -------------------------------------------------------------------------------- /acceptance/.beaker.yml: -------------------------------------------------------------------------------- 1 | --- 2 | ssh: 3 | keys: 4 | - id_rsa_acceptance 5 | - ~/.ssh/id_rsa-acceptance 6 | xml: true 7 | timesync: false 8 | repo_proxy: true 9 | add_el_extras: false 10 | 'master-start-curl-retries': 30 11 | log_level: debug 12 | preserve_hosts: onfail 13 | helper: ./lib/helper.rb 14 | options_file: ./config/aio/options.rb 15 | -------------------------------------------------------------------------------- /acceptance/.gitignore: -------------------------------------------------------------------------------- 1 | .vagrant 2 | local_options.rb 3 | repos.tar 4 | repo-configs 5 | log 6 | id_rsa-acceptance 7 | id_rsa-acceptance.pub 8 | preserved_config.yaml 9 | merged_options.rb 10 | junit 11 | tmp 12 | .bundle 13 | -------------------------------------------------------------------------------- /acceptance/Rakefile: -------------------------------------------------------------------------------- 1 | require 'beaker-puppet' 2 | Beaker::DSL::Helpers::RakeHelpers.load_tasks 3 | -------------------------------------------------------------------------------- /acceptance/config/aio/options.rb: -------------------------------------------------------------------------------- 1 | { 2 | :type => 'aio', 3 | :post_suite => [ 4 | 'teardown/common/099_Archive_Logs.rb', 5 | ], 6 | } 7 | -------------------------------------------------------------------------------- /acceptance/config/git/options.rb: -------------------------------------------------------------------------------- 1 | { 2 | :type => :git, 3 | } 4 | -------------------------------------------------------------------------------- /acceptance/config/nodes/aix-53-power.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | HOSTS: 3 | pe-aix-53-acceptance: 4 | roles: 5 | - agent 6 | platform: aix-5.3-power 7 | hypervisor: none 8 | -------------------------------------------------------------------------------- /acceptance/config/nodes/aix-61-power.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | HOSTS: 3 | pe-aix-61-acceptance: 4 | roles: 5 | - agent 6 | platform: aix-6.1-power 7 | hypervisor: none 8 | -------------------------------------------------------------------------------- /acceptance/config/nodes/aix-71-power.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | HOSTS: 3 | pe-aix-71-acceptance: 4 | roles: 5 | - agent 6 | platform: aix-7.1-power 7 | hypervisor: none 8 | -------------------------------------------------------------------------------- /acceptance/config/nodes/huaweios-6-powerpc.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | HOSTS: 3 | huawei-ce6850-2-debian-vm-eth0.ops.puppetlabs.net: 4 | roles: 5 | - agent 6 | platform: huaweios-6-powerpc 7 | hypervisor: none 8 | -------------------------------------------------------------------------------- /acceptance/config/nodes/solaris-10-sparc.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | HOSTS: 3 | solaris-10-sparc: 4 | roles: 5 | - agent 6 | platform: solaris-10-sparc 7 | hypervisor: none 8 | ip: 10.32.121.124 9 | vmhostname: sol10-1.delivery.puppetlabs.net 10 | -------------------------------------------------------------------------------- /acceptance/config/nodes/solaris-11-sparc.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | HOSTS: 3 | solaris-11-sparc: 4 | roles: 5 | - agent 6 | platform: solaris-11-sparc 7 | hypervisor: none 8 | ip: 10.32.114.245 9 | vmhostname: sol11-1.delivery.puppetlabs.net 10 | -------------------------------------------------------------------------------- /acceptance/lib/helper.rb: -------------------------------------------------------------------------------- 1 | $LOAD_PATH << File.expand_path(File.dirname(__FILE__)) 2 | 3 | require 'beaker-puppet' 4 | -------------------------------------------------------------------------------- /acceptance/lib/puppet/acceptance/common_utils.rb: -------------------------------------------------------------------------------- 1 | module Puppet 2 | module Acceptance 3 | module CommandUtils 4 | def ruby_command(host) 5 | if host['platform'] =~ /windows/ && !host.is_cygwin? 6 | "cmd /V /C \"set PATH=#{host['privatebindir']};!PATH! && ruby\"" 7 | else 8 | "env PATH=\"#{host['privatebindir']}:${PATH}\" ruby" 9 | end 10 | end 11 | module_function :ruby_command 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /acceptance/tests/facter_returns_success_on_non_existent_fact.rb: -------------------------------------------------------------------------------- 1 | test_name 'C100160: facter exits with success when asked for a non-existent fact' do 2 | tag 'risk:high' 3 | 4 | agents.each do |agent| 5 | step 'facter should return exit code 0 for querying non-existing-fact without --strict flag' do 6 | on(agent, facter('non-existing-fact'), :acceptable_exit_codes => 0) 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /acceptance/tests/facts/facterversion.rb: -------------------------------------------------------------------------------- 1 | test_name "C15286: verify facterversion fact" do 2 | tag 'risk:high' 3 | 4 | agents.each do |agent| 5 | step("verify that fact facterversion is a version string") do 6 | on(agent, facter("facterversion")) do |facter_result| 7 | assert_match(/\d+\.\d+\.\d+/, facter_result.stdout.chomp, "Expected 'facterversion' fact to be a version string") 8 | end 9 | end 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /acceptance/tests/facts/mountpoints_fact.rb: -------------------------------------------------------------------------------- 1 | test_name '(FACT-1964) Facter mountpoints does not show rootfs as type for root directory' do 2 | 3 | confine :to, :platform => /el/ 4 | 5 | agents.each do |agent| 6 | step 'Ensure that mountpoints does not contain rootfs as type for root directory' do 7 | on(agent, facter("mountpoints")) do |facter_result| 8 | refute_match(/rootfs/, facter_result.stdout.chomp, "Expected mountpoint with rootfs type to not be present") 9 | end 10 | end 11 | end 12 | end 13 | -------------------------------------------------------------------------------- /acceptance/tests/facts/nim_type.rb: -------------------------------------------------------------------------------- 1 | test_name "Test nim_type fact" do 2 | 3 | confine :to, :platform => /aix/ 4 | 5 | agents.each do |agent| 6 | step("verify that nim_type is retrieved correctly") do 7 | on(agent, facter("nim_type")) do |facter_result| 8 | assert_equal("standalone", facter_result.stdout.chomp) 9 | end 10 | end 11 | end 12 | end 13 | -------------------------------------------------------------------------------- /acceptance/tests/no_errors_on_stderr.rb: -------------------------------------------------------------------------------- 1 | test_name 'C14514: Running facter should not output anything to stderr' do 2 | tag 'risk:high' 3 | 4 | agents.each do |agent| 5 | on(agent, facter) do |facter_output| 6 | assert_match(/hostname\s*=>\s*\S*/, facter_output.stdout, 'Hostname fact is missing') 7 | assert_empty(facter_output.stderr, 'Facter should not have written to stderr') 8 | end 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /acceptance/tests/options/sequential.rb: -------------------------------------------------------------------------------- 1 | test_name "--sequential argument does not generate any errors" do 2 | tag 'risk:high' 3 | 4 | agents.each do |agent| 5 | step "--sequential should generate no errors" do 6 | on(agent, facter("--sequential --debug"), :acceptable_exit_codes => 0) do |facter_output| 7 | assert_match(/Resolving facts sequentially/, facter_output.stderr, "Resolving facts sequentially") 8 | end 9 | end 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /bin/facter: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | # frozen_string_literal: true 3 | 4 | require 'pathname' 5 | require 'facter/framework/cli/cli_launcher' 6 | 7 | Facter::OptionsValidator.validate(ARGV) 8 | processed_arguments = CliLauncher.prepare_arguments(ARGV) 9 | 10 | CliLauncher.start(processed_arguments) 11 | -------------------------------------------------------------------------------- /custom_facts/my_custom_fact.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | Facter.add(:my_custom_fact) do 4 | has_weight(10_000) 5 | setcode do 6 | Facter.value('os') 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /custom_facts/my_custom_os_fact.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | Facter.add(:oss) do 4 | has_weight(10_000) 5 | setcode do 6 | 'my_custom_os' 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /ext/build_defaults.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | build_gem: TRUE 3 | project: facter 4 | nonfinal_gem_path: '/opt/repository-nightlies/downloads/gems/facter-nightly' 5 | -------------------------------------------------------------------------------- /external_facts/my_external_fact.txt: -------------------------------------------------------------------------------- 1 | my_external_fact=123 -------------------------------------------------------------------------------- /facter.conf: -------------------------------------------------------------------------------- 1 | facts : { 2 | blocklist : [ ], 3 | ttls : [ 4 | { "uptime": 30 days } 5 | ] 6 | } 7 | 8 | fact-groups : { 9 | cached-custom-facts : ["os.name", "os.family"], 10 | } 11 | -------------------------------------------------------------------------------- /lib/docs/generate_cli.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require_relative '../facter/framework/cli/cli_launcher' 4 | 5 | cli = Facter::Cli.new([]) 6 | 7 | puts cli.man 8 | -------------------------------------------------------------------------------- /lib/facter/custom_facts/util/composite_loader.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | # A composite loader that allows for more than one 4 | # default directory loader 5 | 6 | module LegacyFacter 7 | module Util 8 | class CompositeLoader 9 | def initialize(loaders) 10 | @loaders = loaders 11 | end 12 | 13 | def load(collection) 14 | @loaders.each { |loader| loader.load(collection) } 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/custom_facts/util/nothing_loader.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module LegacyFacter 4 | module Util 5 | # An external fact loader that doesn't load anything 6 | # This makes it possible to disable loading 7 | # of external facts 8 | class NothingLoader 9 | def load(collection); end 10 | end 11 | end 12 | end 13 | -------------------------------------------------------------------------------- /lib/facter/custom_facts/util/unix_root.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module LegacyFacter 4 | module Util 5 | module Root 6 | def self.root? 7 | Process.uid.zero? 8 | end 9 | end 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /lib/facter/custom_facts/util/windows_root.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module LegacyFacter 4 | module Util 5 | module Root 6 | def self.root? 7 | require_relative '../../../facter/resolvers/windows/ffi/identity_ffi' 8 | IdentityFFI.privileged? 9 | rescue LoadError => e 10 | log = Facter::Log.new(self) 11 | log.debug("The ffi gem has not been installed: #{e}") 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/aio_agent_version.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | class AioAgentVersion 6 | FACT_NAME = 'aio_agent_version' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::AioAgentVersion.resolve(:aio_agent_version) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/facterversion.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | class Facterversion 6 | FACT_NAME = 'facterversion' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Facterversion.resolve(:facterversion) 10 | 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/filesystems.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | class Filesystems 6 | FACT_NAME = 'filesystems' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Aix::Filesystem.resolve(:file_systems) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/identity/gid.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | module Identity 6 | class Gid 7 | FACT_NAME = 'identity.gid' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::PosxIdentity.resolve(:gid) 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/identity/group.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | module Identity 6 | class Group 7 | FACT_NAME = 'identity.group' 8 | ALIASES = 'gid' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::PosxIdentity.resolve(:group) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/identity/privileged.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | module Identity 6 | class Privileged 7 | FACT_NAME = 'identity.privileged' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::PosxIdentity.resolve(:privileged) 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/identity/uid.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | module Identity 6 | class Uid 7 | FACT_NAME = 'identity.uid' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::PosxIdentity.resolve(:uid) 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/identity/user.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | module Identity 6 | class User 7 | FACT_NAME = 'identity.user' 8 | ALIASES = 'id' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::PosxIdentity.resolve(:user) 12 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/interfaces.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | class Interfaces 6 | FACT_NAME = 'interfaces' 7 | TYPE = :legacy 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Aix::Networking.resolve(:interfaces) 11 | fact_value = fact_value&.any? ? fact_value.keys.sort.join(',') : nil 12 | 13 | Facter::ResolvedFact.new(FACT_NAME, fact_value, :legacy) 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/kernel.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | class Kernel 6 | FACT_NAME = 'kernel' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Aix::OsLevel.resolve(:kernel) 10 | 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/kernelmajversion.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | class Kernelmajversion 6 | FACT_NAME = 'kernelmajversion' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Aix::OsLevel.resolve(:build) 10 | kernelmajversion = fact_value.split('-')[0] 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, kernelmajversion) 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/kernelrelease.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | class Kernelrelease 6 | FACT_NAME = 'kernelrelease' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Aix::OsLevel.resolve(:build).strip 10 | 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/kernelversion.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | class Kernelversion 6 | FACT_NAME = 'kernelversion' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Aix::OsLevel.resolve(:build) 10 | kernelversion = fact_value.split('-')[0] 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, kernelversion) 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/load_averages.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | class LoadAverages 6 | FACT_NAME = 'load_averages' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Aix::LoadAverages.resolve(:load_averages) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/mountpoints.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | class Mountpoints 6 | FACT_NAME = 'mountpoints' 7 | 8 | def call_the_resolver 9 | mountpoints = Facter::Resolvers::Aix::Mountpoints.resolve(:mountpoints) 10 | 11 | Facter::ResolvedFact.new(FACT_NAME, mountpoints) 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/networking/domain.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | module Networking 6 | class Domain 7 | FACT_NAME = 'networking.domain' 8 | ALIASES = 'domain' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Hostname.resolve(:domain) 12 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/networking/fqdn.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | module Networking 6 | class Fqdn 7 | FACT_NAME = 'networking.fqdn' 8 | ALIASES = 'fqdn' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Hostname.resolve(:fqdn) 12 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/networking/interfaces.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | module Networking 6 | class Interfaces 7 | FACT_NAME = 'networking.interfaces' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Aix::Networking.resolve(:interfaces) 11 | fact_value = fact_value&.any? ? fact_value : nil 12 | 13 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/networking/ip.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | module Networking 6 | class Ip 7 | FACT_NAME = 'networking.ip' 8 | ALIASES = 'ipaddress' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Aix::Networking.resolve(:ip) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/networking/ip6.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | module Networking 6 | class Ip6 7 | FACT_NAME = 'networking.ip6' 8 | ALIASES = 'ipaddress6' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Aix::Networking.resolve(:ip6) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/networking/mac.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | module Networking 6 | class Mac 7 | FACT_NAME = 'networking.mac' 8 | ALIASES = 'macaddress' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Aix::Networking.resolve(:mac) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/networking/mtu.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | module Networking 6 | class Mtu 7 | FACT_NAME = 'networking.mtu' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Aix::Networking.resolve(:mtu) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/networking/primary.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | module Networking 6 | class Primary 7 | FACT_NAME = 'networking.primary' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Aix::Networking.resolve(:primary_interface) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/nim_type.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | class NimType 6 | FACT_NAME = 'nim_type' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Aix::Nim.resolve(:type) 10 | 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/os/family.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | module Os 6 | class Family 7 | FACT_NAME = 'os.family' 8 | ALIASES = 'osfamily' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Uname.resolve(:kernelname) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/os/hardware.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | module Os 6 | class Hardware 7 | FACT_NAME = 'os.hardware' 8 | ALIASES = 'hardwaremodel' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Hardware.resolve(:hardware) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/os/name.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | module Os 6 | class Name 7 | FACT_NAME = 'os.name' 8 | ALIASES = 'operatingsystem' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Uname.resolve(:kernelname) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/partitions.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | class Partitions 6 | FACT_NAME = 'partitions' 7 | 8 | def call_the_resolver 9 | partitions = Facter::Resolvers::Aix::Partitions.resolve(:partitions) 10 | 11 | Facter::ResolvedFact.new(FACT_NAME, partitions.empty? ? nil : partitions) 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/path.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | class Path 6 | FACT_NAME = 'path' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Path.resolve(:path) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/processors/cores.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | module Processors 6 | class Cores 7 | FACT_NAME = 'processors.cores' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Aix::Processors.resolve(:cores_per_socket) 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/processors/isa.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | module Processors 6 | class Isa 7 | FACT_NAME = 'processors.isa' 8 | ALIASES = 'hardwareisa' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Uname.resolve(:processor) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/processors/models.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | module Processors 6 | class Models 7 | FACT_NAME = 'processors.models' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Aix::Processors.resolve(:models) 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/processors/speed.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | module Processors 6 | class Speed 7 | FACT_NAME = 'processors.speed' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Aix::Processors.resolve(:speed) 11 | speed = Facter::Util::Facts::UnitConverter.hertz_to_human_readable(fact_value) 12 | Facter::ResolvedFact.new(FACT_NAME, speed) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/processors/threads.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | module Processors 6 | class Threads 7 | FACT_NAME = 'processors.threads' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Aix::Processors.resolve(:threads_per_core) 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/ruby/platform.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | module Ruby 6 | class Platform 7 | FACT_NAME = 'ruby.platform' 8 | ALIASES = 'rubyplatform' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Ruby.resolve(:platform) 12 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/ruby/sitedir.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | module Ruby 6 | class Sitedir 7 | FACT_NAME = 'ruby.sitedir' 8 | ALIASES = 'rubysitedir' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Ruby.resolve(:sitedir) 12 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/ruby/version.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | module Ruby 6 | class Version 7 | FACT_NAME = 'ruby.version' 8 | ALIASES = 'rubyversion' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Ruby.resolve(:version) 12 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/serialnumber.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | class Serialnumber 6 | FACT_NAME = 'serialnumber' 7 | TYPE = :legacy 8 | 9 | def call_the_resolver 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value, :legacy) 11 | end 12 | 13 | private 14 | 15 | def fact_value 16 | Facter::Resolvers::Aix::Serialnumber.resolve(:serialnumber) 17 | end 18 | end 19 | end 20 | end 21 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/sshalgorithmkey.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | class Sshalgorithmkey 6 | FACT_NAME = 'ssh.*key' 7 | TYPE = :legacy 8 | 9 | def call_the_resolver 10 | facts = [] 11 | result = Facter::Resolvers::Ssh.resolve(:ssh) 12 | result.each { |ssh| facts << Facter::ResolvedFact.new("ssh#{ssh.name.to_sym}key", ssh.key, :legacy) } 13 | facts 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/system_uptime/days.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | module SystemUptime 6 | class Days 7 | FACT_NAME = 'system_uptime.days' 8 | ALIASES = 'uptime_days' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Uptime.resolve(:days) 12 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/system_uptime/uptime.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | module SystemUptime 6 | class Uptime 7 | FACT_NAME = 'system_uptime.uptime' 8 | ALIASES = 'uptime' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Uptime.resolve(:uptime) 12 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/aix/timezone.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Aix 5 | class Timezone 6 | FACT_NAME = 'timezone' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Timezone.resolve(:timezone) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/amzn/lsbdistcodename.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Amzn 5 | class Lsbdistcodename 6 | FACT_NAME = 'lsbdistcodename' 7 | TYPE = :legacy 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::LsbRelease.resolve(:codename) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value, :legacy) 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/amzn/lsbdistdescription.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Amzn 5 | class Lsbdistdescription 6 | FACT_NAME = 'lsbdistdescription' 7 | TYPE = :legacy 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::LsbRelease.resolve(:description) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value, :legacy) 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/amzn/lsbdistid.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Amzn 5 | class Lsbdistid 6 | FACT_NAME = 'lsbdistid' 7 | TYPE = :legacy 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::LsbRelease.resolve(:distributor_id) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value, :legacy) 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/bsd/kernelmajversion.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Bsd 5 | class Kernelmajversion 6 | FACT_NAME = 'kernelmajversion' 7 | 8 | def call_the_resolver 9 | full_version = Facter::Resolvers::Uname.resolve(:kernelrelease) 10 | versions_split = full_version.split('.') 11 | major_version = versions_split[0] 12 | Facter::ResolvedFact.new(FACT_NAME, major_version) 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/bsd/kernelversion.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Bsd 5 | class Kernelversion 6 | FACT_NAME = 'kernelversion' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Uname.resolve(:kernelrelease).sub(/\A(\d+(\.\d+)*).*/, '\1') 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/bsd/load_averages.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Bsd 5 | class LoadAverages 6 | FACT_NAME = 'load_averages' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::LoadAverages.resolve(:load_averages) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/bsd/os/family.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Bsd 5 | module Os 6 | class Family 7 | FACT_NAME = 'os.family' 8 | ALIASES = 'osfamily' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Uname.resolve(:kernelname) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/bsd/processors/speed.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Bsd 5 | module Processors 6 | class Speed 7 | FACT_NAME = 'processors.speed' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Bsd::Processors.resolve(:speed) 11 | speed = Facter::Util::Facts::UnitConverter.hertz_to_human_readable(fact_value) 12 | Facter::ResolvedFact.new(FACT_NAME, speed) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/debian/lsbdistcodename.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Debian 5 | class Lsbdistcodename 6 | FACT_NAME = 'lsbdistcodename' 7 | TYPE = :legacy 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::LsbRelease.resolve(:codename) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value, :legacy) 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/debian/lsbdistdescription.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Debian 5 | class Lsbdistdescription 6 | FACT_NAME = 'lsbdistdescription' 7 | TYPE = :legacy 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::LsbRelease.resolve(:description) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value, :legacy) 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/debian/lsbdistid.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Debian 5 | class Lsbdistid 6 | FACT_NAME = 'lsbdistid' 7 | TYPE = :legacy 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::LsbRelease.resolve(:distributor_id) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value, :legacy) 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/debian/os/distro/description.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Debian 5 | module Os 6 | module Distro 7 | class Description 8 | FACT_NAME = 'os.distro.description' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::OsRelease.resolve(:pretty_name) 12 | 13 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 14 | end 15 | end 16 | end 17 | end 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /lib/facter/facts/debian/os/distro/id.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Debian 5 | module Os 6 | module Distro 7 | class Id 8 | FACT_NAME = 'os.distro.id' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::OsRelease.resolve(:id).capitalize 12 | 13 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 14 | end 15 | end 16 | end 17 | end 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/disks.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | class Disks 6 | FACT_NAME = 'disks' 7 | 8 | def call_the_resolver 9 | disks = Facter::Resolvers::Freebsd::Geom.resolve(:disks) 10 | 11 | Facter::ResolvedFact.new(FACT_NAME, disks) 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/facterversion.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | class Facterversion 6 | FACT_NAME = 'facterversion' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Facterversion.resolve(:facterversion) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/identity/gid.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | module Identity 6 | class Gid 7 | FACT_NAME = 'identity.gid' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::PosxIdentity.resolve(:gid) 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/identity/group.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | module Identity 6 | class Group 7 | FACT_NAME = 'identity.group' 8 | ALIASES = 'gid' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::PosxIdentity.resolve(:group) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/identity/privileged.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | module Identity 6 | class Privileged 7 | FACT_NAME = 'identity.privileged' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::PosxIdentity.resolve(:privileged) 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/identity/uid.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | module Identity 6 | class Uid 7 | FACT_NAME = 'identity.uid' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::PosxIdentity.resolve(:uid) 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/identity/user.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | module Identity 6 | class User 7 | FACT_NAME = 'identity.user' 8 | ALIASES = 'id' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::PosxIdentity.resolve(:user) 12 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/kernel.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | class Kernel 6 | FACT_NAME = 'kernel' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Uname.resolve(:kernelname) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/kernelrelease.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | class Kernelrelease 6 | FACT_NAME = 'kernelrelease' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Uname.resolve(:kernelrelease) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/memory/swap/capacity.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | module Memory 6 | module Swap 7 | class Capacity 8 | FACT_NAME = 'memory.swap.capacity' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Freebsd::SwapMemory.resolve(:capacity) 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/memory/swap/used_bytes.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | module Memory 6 | module Swap 7 | class UsedBytes 8 | FACT_NAME = 'memory.swap.used_bytes' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Freebsd::SwapMemory.resolve(:used_bytes) 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/memory/system/capacity.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | module Memory 6 | module System 7 | class Capacity 8 | FACT_NAME = 'memory.system.capacity' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Freebsd::SystemMemory.resolve(:capacity) 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/memory/system/used_bytes.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | module Memory 6 | module System 7 | class UsedBytes 8 | FACT_NAME = 'memory.system.used_bytes' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Freebsd::SystemMemory.resolve(:used_bytes) 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/networking/dhcp.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | module Networking 6 | class Dhcp 7 | FACT_NAME = 'networking.dhcp' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Networking.resolve(:dhcp) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/networking/fqdn.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | module Networking 6 | class Fqdn 7 | FACT_NAME = 'networking.fqdn' 8 | ALIASES = 'fqdn' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Hostname.resolve(:fqdn) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/networking/interfaces.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | module Networking 6 | class Interfaces 7 | FACT_NAME = 'networking.interfaces' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Networking.resolve(:interfaces) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/networking/ip.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | module Networking 6 | class Ip 7 | FACT_NAME = 'networking.ip' 8 | ALIASES = 'ipaddress' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Networking.resolve(:ip) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/networking/mtu.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | module Networking 6 | class Mtu 7 | FACT_NAME = 'networking.mtu' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Networking.resolve(:mtu) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/networking/primary.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | module Networking 6 | class Primary 7 | FACT_NAME = 'networking.primary' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Networking.resolve(:primary_interface) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/networking/scope6.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | module Networking 6 | class Scope6 7 | FACT_NAME = 'networking.scope6' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Networking.resolve(:scope6) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/os/hardware.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | module Os 6 | class Hardware 7 | FACT_NAME = 'os.hardware' 8 | ALIASES = 'hardwaremodel' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Uname.resolve(:machine) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/os/name.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | module Os 6 | class Name 7 | FACT_NAME = 'os.name' 8 | ALIASES = 'operatingsystem' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Uname.resolve(:kernelname) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/partitions.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | class Partitions 6 | FACT_NAME = 'partitions' 7 | 8 | def call_the_resolver 9 | partitions = Facter::Resolvers::Freebsd::Geom.resolve(:partitions) 10 | 11 | Facter::ResolvedFact.new(FACT_NAME, partitions) 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/path.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | class Path 6 | FACT_NAME = 'path' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Path.resolve(:path) 10 | 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/processors/isa.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | module Processors 6 | class Isa 7 | FACT_NAME = 'processors.isa' 8 | ALIASES = 'hardwareisa' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Uname.resolve(:processor) 12 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/ruby/platform.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | module Ruby 6 | class Platform 7 | FACT_NAME = 'ruby.platform' 8 | ALIASES = 'rubyplatform' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Ruby.resolve(:platform) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/ruby/sitedir.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | module Ruby 6 | class Sitedir 7 | FACT_NAME = 'ruby.sitedir' 8 | ALIASES = 'rubysitedir' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Ruby.resolve(:sitedir) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/ruby/version.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | module Ruby 6 | class Version 7 | FACT_NAME = 'ruby.version' 8 | ALIASES = 'rubyversion' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Ruby.resolve(:version) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/sshalgorithmkey.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | class Sshalgorithmkey 6 | FACT_NAME = 'ssh.*key' 7 | TYPE = :legacy 8 | 9 | def call_the_resolver 10 | facts = [] 11 | result = Facter::Resolvers::Ssh.resolve(:ssh) 12 | result.each { |ssh| facts << Facter::ResolvedFact.new("ssh#{ssh.name.to_sym}key", ssh.key, :legacy) } 13 | facts 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/timezone.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | class Timezone 6 | FACT_NAME = 'timezone' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Timezone.resolve(:timezone) 10 | 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/zfs_featurenumbers.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | class ZfsFeaturenumbers 6 | FACT_NAME = 'zfs_featurenumbers' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::ZFS.resolve(:zfs_featurenumbers) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/zfs_version.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | class ZfsVersion 6 | FACT_NAME = 'zfs_version' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::ZFS.resolve(:zfs_version) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/zpool_featureflags.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | class ZpoolFeatureflags 6 | FACT_NAME = 'zpool_featureflags' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Zpool.resolve(:zpool_featureflags) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/zpool_featurenumbers.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | class ZpoolFeaturenumbers 6 | FACT_NAME = 'zpool_featurenumbers' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Zpool.resolve(:zpool_featurenumbers) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/freebsd/zpool_version.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Freebsd 5 | class ZpoolVersion 6 | FACT_NAME = 'zpool_version' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Zpool.resolve(:zpool_version) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/aio_agent_version.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | class AioAgentVersion 6 | FACT_NAME = 'aio_agent_version' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::AioAgentVersion.resolve(:aio_agent_version) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/facterversion.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | class Facterversion 6 | FACT_NAME = 'facterversion' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Facterversion.resolve(:facterversion) 10 | 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/filesystems.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | class Filesystems 6 | FACT_NAME = 'filesystems' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Linux::Filesystems.resolve(:systems) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/fips_enabled.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | class FipsEnabled 6 | FACT_NAME = 'fips_enabled' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Linux::FipsEnabled.resolve(:fips_enabled) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/gce.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | class Gce 6 | FACT_NAME = 'gce' 7 | 8 | def call_the_resolver 9 | bios_vendor = Facter::Resolvers::Linux::DmiBios.resolve(:bios_vendor) 10 | 11 | fact_value = bios_vendor&.include?('Google') ? Facter::Resolvers::Gce.resolve(:metadata) : nil 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/identity/gid.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | module Identity 6 | class Gid 7 | FACT_NAME = 'identity.gid' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::PosxIdentity.resolve(:gid) 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/identity/group.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | module Identity 6 | class Group 7 | FACT_NAME = 'identity.group' 8 | ALIASES = 'gid' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::PosxIdentity.resolve(:group) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/identity/privileged.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | module Identity 6 | class Privileged 7 | FACT_NAME = 'identity.privileged' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::PosxIdentity.resolve(:privileged) 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/identity/uid.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | module Identity 6 | class Uid 7 | FACT_NAME = 'identity.uid' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::PosxIdentity.resolve(:uid) 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/identity/user.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | module Identity 6 | class User 7 | FACT_NAME = 'identity.user' 8 | ALIASES = 'id' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::PosxIdentity.resolve(:user) 12 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/interfaces.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | class Interfaces 6 | FACT_NAME = 'interfaces' 7 | TYPE = :legacy 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Linux::Networking.resolve(:interfaces) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value && !fact_value.empty? ? fact_value.keys.sort.join(',') : nil, 13 | :legacy) 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/kernel.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | class Kernel 6 | FACT_NAME = 'kernel' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Uname.resolve(:kernelname) 10 | 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/kernelrelease.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | class Kernelrelease 6 | FACT_NAME = 'kernelrelease' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Uname.resolve(:kernelrelease) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/kernelversion.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | class Kernelversion 6 | FACT_NAME = 'kernelversion' 7 | 8 | def call_the_resolver 9 | version_numbers = Facter::Resolvers::Uname.resolve(:kernelrelease).scan(/\d+/) 10 | fact_value = version_numbers[0..2].join('.') 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/load_averages.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | class LoadAverages 6 | FACT_NAME = 'load_averages' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Linux::LoadAverages.resolve(:load_averages) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/memory/swap/capacity.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | module Memory 6 | module Swap 7 | class Capacity 8 | FACT_NAME = 'memory.swap.capacity' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Linux::Memory.resolve(:swap_capacity) 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/memory/swap/used_bytes.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | module Memory 6 | module Swap 7 | class UsedBytes 8 | FACT_NAME = 'memory.swap.used_bytes' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Linux::Memory.resolve(:swap_used_bytes) 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/memory/system/capacity.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | module Memory 6 | module System 7 | class Capacity 8 | FACT_NAME = 'memory.system.capacity' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Linux::Memory.resolve(:capacity) 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/memory/system/used_bytes.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | module Memory 6 | module System 7 | class UsedBytes 8 | FACT_NAME = 'memory.system.used_bytes' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Linux::Memory.resolve(:used_bytes) 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/networking/dhcp.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | module Networking 6 | class Dhcp 7 | FACT_NAME = 'networking.dhcp' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Linux::Networking.resolve(:dhcp) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/networking/interfaces.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | module Networking 6 | class Interfaces 7 | FACT_NAME = 'networking.interfaces' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Linux::Networking.resolve(:interfaces) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/networking/ip.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | module Networking 6 | class Ip 7 | FACT_NAME = 'networking.ip' 8 | ALIASES = 'ipaddress' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Linux::Networking.resolve(:ip) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/networking/mtu.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | module Networking 6 | class Mtu 7 | FACT_NAME = 'networking.mtu' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Linux::Networking.resolve(:mtu) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/networking/primary.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | module Networking 6 | class Primary 7 | FACT_NAME = 'networking.primary' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Linux::Networking.resolve(:primary_interface) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/os/hardware.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | module Os 6 | class Hardware 7 | FACT_NAME = 'os.hardware' 8 | ALIASES = 'hardwaremodel' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Uname.resolve(:machine) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/os/name.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | module Os 6 | class Name 7 | FACT_NAME = 'os.name' 8 | ALIASES = 'operatingsystem' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::OsRelease.resolve(:name) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/path.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | class Path 6 | FACT_NAME = 'path' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Path.resolve(:path) 10 | 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/processors/cores.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | module Processors 6 | class Cores 7 | FACT_NAME = 'processors.cores' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Linux::Lscpu.resolve(:cores_per_socket) 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/processors/extensions.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | module Processors 6 | class Extensions 7 | FACT_NAME = 'processors.extensions' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Linux::Processors.resolve(:extensions) 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/processors/isa.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | module Processors 6 | class Isa 7 | FACT_NAME = 'processors.isa' 8 | ALIASES = 'hardwareisa' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Uname.resolve(:processor) 12 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/processors/models.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | module Processors 6 | class Models 7 | FACT_NAME = 'processors.models' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Linux::Processors.resolve(:models) 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/processors/threads.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | module Processors 6 | class Threads 7 | FACT_NAME = 'processors.threads' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Linux::Lscpu.resolve(:threads_per_core) 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/ruby/platform.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | module Ruby 6 | class Platform 7 | FACT_NAME = 'ruby.platform' 8 | ALIASES = 'rubyplatform' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Ruby.resolve(:platform) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/ruby/sitedir.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | module Ruby 6 | class Sitedir 7 | FACT_NAME = 'ruby.sitedir' 8 | ALIASES = 'rubysitedir' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Ruby.resolve(:sitedir) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/ruby/version.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | module Ruby 6 | class Version 7 | FACT_NAME = 'ruby.version' 8 | ALIASES = 'rubyversion' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Ruby.resolve(:version) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/sshalgorithmkey.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | class Sshalgorithmkey 6 | FACT_NAME = 'ssh.*key' 7 | TYPE = :legacy 8 | 9 | def call_the_resolver 10 | facts = [] 11 | result = Facter::Resolvers::Ssh.resolve(:ssh) 12 | result.each { |ssh| facts << Facter::ResolvedFact.new("ssh#{ssh.name.to_sym}key", ssh.key, :legacy) } 13 | facts 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/linux/timezone.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linux 5 | class Timezone 6 | FACT_NAME = 'timezone' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Timezone.resolve(:timezone) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/linuxmint/os/name.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Linuxmint 5 | module Os 6 | class Name 7 | FACT_NAME = 'os.name' 8 | ALIASES = 'operatingsystem' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::OsRelease.resolve(:id)&.capitalize 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/aio_agent_version.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | class AioAgentVersion 6 | FACT_NAME = 'aio_agent_version' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::AioAgentVersion.resolve(:aio_agent_version) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/facterversion.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | class Facterversion 6 | FACT_NAME = 'facterversion' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Facterversion.resolve(:facterversion) 10 | 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/filesystems.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | class Filesystems 6 | FACT_NAME = 'filesystems' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Macosx::Filesystems.resolve(:macosx_filesystems) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/identity/gid.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | module Identity 6 | class Gid 7 | FACT_NAME = 'identity.gid' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::PosxIdentity.resolve(:gid) 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/identity/group.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | module Identity 6 | class Group 7 | FACT_NAME = 'identity.group' 8 | ALIASES = 'gid' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::PosxIdentity.resolve(:group) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/identity/privileged.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | module Identity 6 | class Privileged 7 | FACT_NAME = 'identity.privileged' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::PosxIdentity.resolve(:privileged) 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/identity/uid.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | module Identity 6 | class Uid 7 | FACT_NAME = 'identity.uid' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::PosxIdentity.resolve(:uid) 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/identity/user.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | module Identity 6 | class User 7 | FACT_NAME = 'identity.user' 8 | ALIASES = 'id' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::PosxIdentity.resolve(:user) 12 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/interfaces.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | class Interfaces 6 | FACT_NAME = 'interfaces' 7 | TYPE = :legacy 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Networking.resolve(:interfaces) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value ? fact_value.keys.sort.join(',') : nil, :legacy) 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/kernel.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | class Kernel 6 | FACT_NAME = 'kernel' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Uname.resolve(:kernelname) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/kernelmajversion.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | class Kernelmajversion 6 | FACT_NAME = 'kernelmajversion' 7 | 8 | def call_the_resolver 9 | kernel_major_version = Facter::Resolvers::Uname.resolve(:kernelrelease).match(/[0-9]+\.[0-9]+/).to_s 10 | 11 | Facter::ResolvedFact.new(FACT_NAME, kernel_major_version) 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/kernelrelease.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | class Kernelrelease 6 | FACT_NAME = 'kernelrelease' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Uname.resolve(:kernelrelease) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/kernelversion.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | class Kernelversion 6 | FACT_NAME = 'kernelversion' 7 | 8 | def call_the_resolver 9 | kernel_version = Facter::Resolvers::Uname.resolve(:kernelrelease) 10 | Facter::ResolvedFact.new(FACT_NAME, kernel_version) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/load_averages.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | class LoadAverages 6 | FACT_NAME = 'load_averages' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Macosx::LoadAverages.resolve(:load_averages) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/memory/swap/capacity.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | module Memory 6 | module Swap 7 | class Capacity 8 | FACT_NAME = 'memory.swap.capacity' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Macosx::SwapMemory.resolve(:capacity) 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/memory/swap/used_bytes.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | module Memory 6 | module Swap 7 | class UsedBytes 8 | FACT_NAME = 'memory.swap.used_bytes' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Macosx::SwapMemory.resolve(:used_bytes) 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/memory/system/capacity.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | module Memory 6 | module System 7 | class Capacity 8 | FACT_NAME = 'memory.system.capacity' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Macosx::SystemMemory.resolve(:capacity) 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/memory/system/used_bytes.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | module Memory 6 | module System 7 | class UsedBytes 8 | FACT_NAME = 'memory.system.used_bytes' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Macosx::SystemMemory.resolve(:used_bytes) 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/mountpoints.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | class Mountpoints 6 | FACT_NAME = 'mountpoints' 7 | 8 | def call_the_resolver 9 | mountpoints = Facter::Resolvers::Macosx::Mountpoints.resolve(FACT_NAME.to_sym) 10 | return Facter::ResolvedFact.new(FACT_NAME, nil) unless mountpoints 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, mountpoints) 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/networking/dhcp.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | module Networking 6 | class Dhcp 7 | FACT_NAME = 'networking.dhcp' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Networking.resolve(:dhcp) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/networking/fqdn.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | module Networking 6 | class Fqdn 7 | FACT_NAME = 'networking.fqdn' 8 | ALIASES = 'fqdn' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Hostname.resolve(:fqdn) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/networking/interfaces.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | module Networking 6 | class Interfaces 7 | FACT_NAME = 'networking.interfaces' 8 | 9 | def call_the_resolver 10 | interfaces = Facter::Resolvers::Networking.resolve(:interfaces) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, interfaces) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/networking/ip.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | module Networking 6 | class Ip 7 | FACT_NAME = 'networking.ip' 8 | ALIASES = 'ipaddress' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Networking.resolve(:ip) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/networking/ip6.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | module Networking 6 | class Ip6 7 | FACT_NAME = 'networking.ip6' 8 | ALIASES = 'ipaddress6' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Networking.resolve(:ip6) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/networking/mac.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | module Networking 6 | class Mac 7 | FACT_NAME = 'networking.mac' 8 | ALIASES = 'macaddress' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Networking.resolve(:mac) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/networking/mtu.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | module Networking 6 | class Mtu 7 | FACT_NAME = 'networking.mtu' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Networking.resolve(:mtu) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/networking/primary.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | module Networking 6 | class Primary 7 | FACT_NAME = 'networking.primary' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Networking.resolve(:primary_interface) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/os/architecture.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | module Os 6 | class Architecture 7 | FACT_NAME = 'os.architecture' 8 | ALIASES = 'architecture' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Uname.resolve(:machine) 12 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/os/family.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | module Os 6 | class Family 7 | FACT_NAME = 'os.family' 8 | ALIASES = 'osfamily' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Uname.resolve(:kernelname) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/os/hardware.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | module Os 6 | class Hardware 7 | FACT_NAME = 'os.hardware' 8 | ALIASES = 'hardwaremodel' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Uname.resolve(:machine) 12 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/os/name.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | module Os 6 | class Name 7 | FACT_NAME = 'os.name' 8 | ALIASES = 'operatingsystem' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Uname.resolve(:kernelname) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/path.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | class Path 6 | FACT_NAME = 'path' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Path.resolve(:path) 10 | 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/processors/cores.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | module Processors 6 | class Cores 7 | FACT_NAME = 'processors.cores' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Macosx::Processors.resolve(:cores_per_socket) 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/processors/isa.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | module Processors 6 | class Isa 7 | FACT_NAME = 'processors.isa' 8 | ALIASES = 'hardwareisa' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Uname.resolve(:processor) 12 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/processors/threads.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | module Processors 6 | class Threads 7 | FACT_NAME = 'processors.threads' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Macosx::Processors.resolve(:threads_per_core) 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/ruby/platform.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | module Ruby 6 | class Platform 7 | FACT_NAME = 'ruby.platform' 8 | ALIASES = 'rubyplatform' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Ruby.resolve(:platform) 12 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/ruby/sitedir.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | module Ruby 6 | class Sitedir 7 | FACT_NAME = 'ruby.sitedir' 8 | ALIASES = 'rubysitedir' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Ruby.resolve(:sitedir) 12 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/ruby/version.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | module Ruby 6 | class Version 7 | FACT_NAME = 'ruby.version' 8 | ALIASES = 'rubyversion' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Ruby.resolve(:version) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/sshalgorithmkey.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | class Sshalgorithmkey 6 | FACT_NAME = 'ssh.*key' 7 | TYPE = :legacy 8 | 9 | def call_the_resolver 10 | facts = [] 11 | result = Facter::Resolvers::Ssh.resolve(:ssh) 12 | result.each { |ssh| facts << Facter::ResolvedFact.new("ssh#{ssh.name.to_sym}key", ssh.key, :legacy) } 13 | facts 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/macosx/timezone.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Macosx 5 | class Timezone 6 | FACT_NAME = 'timezone' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Timezone.resolve(:timezone) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/ol/lsbdistdescription.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Ol 5 | class Lsbdistdescription 6 | FACT_NAME = 'lsbdistdescription' 7 | TYPE = :legacy 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::LsbRelease.resolve(:description) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value, :legacy) 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/ol/lsbdistid.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Ol 5 | class Lsbdistid 6 | FACT_NAME = 'lsbdistid' 7 | TYPE = :legacy 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::LsbRelease.resolve(:distributor_id) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value, :legacy) 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/ol/os/distro/description.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Ol 5 | module Os 6 | module Distro 7 | class Description 8 | FACT_NAME = 'os.distro.description' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::OsRelease.resolve(:pretty_name) 12 | 13 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 14 | end 15 | end 16 | end 17 | end 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /lib/facter/facts/ol/os/distro/id.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Ol 5 | module Os 6 | module Distro 7 | class Id 8 | FACT_NAME = 'os.distro.id' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::OsRelease.resolve(:id).capitalize 12 | 13 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 14 | end 15 | end 16 | end 17 | end 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /lib/facter/facts/openbsd/facterversion.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Openbsd 5 | class Facterversion 6 | FACT_NAME = 'facterversion' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Facterversion.resolve(:facterversion) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/openbsd/identity/gid.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Openbsd 5 | module Identity 6 | class Gid 7 | FACT_NAME = 'identity.gid' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::PosxIdentity.resolve(:gid) 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/openbsd/identity/group.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Openbsd 5 | module Identity 6 | class Group 7 | FACT_NAME = 'identity.group' 8 | ALIASES = 'gid' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::PosxIdentity.resolve(:group) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/openbsd/identity/privileged.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Openbsd 5 | module Identity 6 | class Privileged 7 | FACT_NAME = 'identity.privileged' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::PosxIdentity.resolve(:privileged) 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/openbsd/identity/uid.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Openbsd 5 | module Identity 6 | class Uid 7 | FACT_NAME = 'identity.uid' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::PosxIdentity.resolve(:uid) 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/openbsd/identity/user.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Openbsd 5 | module Identity 6 | class User 7 | FACT_NAME = 'identity.user' 8 | ALIASES = 'id' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::PosxIdentity.resolve(:user) 12 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/openbsd/kernel.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Openbsd 5 | class Kernel 6 | FACT_NAME = 'kernel' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Uname.resolve(:kernelname) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/openbsd/kernelrelease.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Openbsd 5 | class Kernelrelease 6 | FACT_NAME = 'kernelrelease' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Uname.resolve(:kernelrelease) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/openbsd/networking/dhcp.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Openbsd 5 | module Networking 6 | class Dhcp 7 | FACT_NAME = 'networking.dhcp' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Openbsd::Dhcp.resolve(:dhcp) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/openbsd/networking/fqdn.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Openbsd 5 | module Networking 6 | class Fqdn 7 | FACT_NAME = 'networking.fqdn' 8 | ALIASES = 'fqdn' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Hostname.resolve(:fqdn) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/openbsd/networking/interfaces.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Openbsd 5 | module Networking 6 | class Interfaces 7 | FACT_NAME = 'networking.interfaces' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Networking.resolve(:interfaces) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/openbsd/networking/ip.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Openbsd 5 | module Networking 6 | class Ip 7 | FACT_NAME = 'networking.ip' 8 | ALIASES = 'ipaddress' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Networking.resolve(:ip) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/openbsd/networking/mtu.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Openbsd 5 | module Networking 6 | class Mtu 7 | FACT_NAME = 'networking.mtu' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Networking.resolve(:mtu) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/openbsd/networking/primary.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Openbsd 5 | module Networking 6 | class Primary 7 | FACT_NAME = 'networking.primary' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Networking.resolve(:primary_interface) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/openbsd/networking/scope6.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Openbsd 5 | module Networking 6 | class Scope6 7 | FACT_NAME = 'networking.scope6' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Networking.resolve(:scope6) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/openbsd/os/hardware.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Openbsd 5 | module Os 6 | class Hardware 7 | FACT_NAME = 'os.hardware' 8 | ALIASES = 'hardwaremodel' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Uname.resolve(:machine) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/openbsd/os/name.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Openbsd 5 | module Os 6 | class Name 7 | FACT_NAME = 'os.name' 8 | ALIASES = 'operatingsystem' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Uname.resolve(:kernelname) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/openbsd/path.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Openbsd 5 | class Path 6 | FACT_NAME = 'path' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Path.resolve(:path) 10 | 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/facter/facts/openbsd/processors/isa.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Openbsd 5 | module Processors 6 | class Isa 7 | FACT_NAME = 'processors.isa' 8 | ALIASES = 'hardwareisa' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Uname.resolve(:processor) 12 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/openbsd/ruby/platform.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Openbsd 5 | module Ruby 6 | class Platform 7 | FACT_NAME = 'ruby.platform' 8 | ALIASES = 'rubyplatform' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Ruby.resolve(:platform) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/openbsd/ruby/sitedir.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Openbsd 5 | module Ruby 6 | class Sitedir 7 | FACT_NAME = 'ruby.sitedir' 8 | ALIASES = 'rubysitedir' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Ruby.resolve(:sitedir) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/openbsd/ruby/version.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Openbsd 5 | module Ruby 6 | class Version 7 | FACT_NAME = 'ruby.version' 8 | ALIASES = 'rubyversion' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Ruby.resolve(:version) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/openbsd/sshalgorithmkey.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Openbsd 5 | class Sshalgorithmkey 6 | FACT_NAME = 'ssh.*key' 7 | TYPE = :legacy 8 | 9 | def call_the_resolver 10 | facts = [] 11 | result = Facter::Resolvers::Ssh.resolve(:ssh) 12 | result.each { |ssh| facts << Facter::ResolvedFact.new("ssh#{ssh.name.to_sym}key", ssh.key, :legacy) } 13 | facts 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/openbsd/timezone.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Openbsd 5 | class Timezone 6 | FACT_NAME = 'timezone' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Timezone.resolve(:timezone) 10 | 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/facter/facts/openbsd/virtual.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Openbsd 5 | class Virtual 6 | FACT_NAME = 'virtual' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Util::Facts::Posix::VirtualDetector.platform 10 | 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/facter/facts/rhel/lsbdistcodename.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Rhel 5 | class Lsbdistcodename 6 | FACT_NAME = 'lsbdistcodename' 7 | TYPE = :legacy 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::LsbRelease.resolve(:codename) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value, :legacy) 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/rhel/lsbdistdescription.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Rhel 5 | class Lsbdistdescription 6 | FACT_NAME = 'lsbdistdescription' 7 | TYPE = :legacy 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::LsbRelease.resolve(:description) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value, :legacy) 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/rhel/lsbdistid.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Rhel 5 | class Lsbdistid 6 | FACT_NAME = 'lsbdistid' 7 | TYPE = :legacy 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::LsbRelease.resolve(:distributor_id) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value, :legacy) 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/rhel/os/distro/codename.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Rhel 5 | module Os 6 | module Distro 7 | class Codename 8 | FACT_NAME = 'os.distro.codename' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::RedHatRelease.resolve(:codename) 12 | 13 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 14 | end 15 | end 16 | end 17 | end 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /lib/facter/facts/rhel/os/distro/description.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Rhel 5 | module Os 6 | module Distro 7 | class Description 8 | FACT_NAME = 'os.distro.description' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::RedHatRelease.resolve(:description) 12 | 13 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 14 | end 15 | end 16 | end 17 | end 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /lib/facter/facts/rhel/os/distro/id.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Rhel 5 | module Os 6 | module Distro 7 | class Id 8 | FACT_NAME = 'os.distro.id' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::RedHatRelease.resolve(:distributor_id) 12 | 13 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 14 | end 15 | end 16 | end 17 | end 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /lib/facter/facts/rhel/os/family.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Rhel 5 | module Os 6 | class Family 7 | FACT_NAME = 'os.family' 8 | ALIASES = 'osfamily' 9 | 10 | def call_the_resolver 11 | [Facter::ResolvedFact.new(FACT_NAME, 'RedHat'), Facter::ResolvedFact.new(ALIASES, 'RedHat', :legacy)] 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/sles/lsbdistcodename.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Sles 5 | class Lsbdistcodename 6 | FACT_NAME = 'lsbdistcodename' 7 | TYPE = :legacy 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::LsbRelease.resolve(:codename) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value, :legacy) 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/sles/lsbdistdescription.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Sles 5 | class Lsbdistdescription 6 | FACT_NAME = 'lsbdistdescription' 7 | TYPE = :legacy 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::LsbRelease.resolve(:description) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value, :legacy) 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/sles/lsbdistid.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Sles 5 | class Lsbdistid 6 | FACT_NAME = 'lsbdistid' 7 | TYPE = :legacy 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::LsbRelease.resolve(:distributor_id) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value, :legacy) 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/sles/os/distro/description.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Sles 5 | module Os 6 | module Distro 7 | class Description 8 | FACT_NAME = 'os.distro.description' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::OsRelease.resolve(:pretty_name) 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/sles/os/family.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Sles 5 | module Os 6 | class Family 7 | FACT_NAME = 'os.family' 8 | ALIASES = 'osfamily' 9 | 10 | def call_the_resolver 11 | [Facter::ResolvedFact.new(FACT_NAME, 'Suse'), Facter::ResolvedFact.new(ALIASES, 'Suse', :legacy)] 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/aio_agent_version.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | class AioAgentVersion 6 | FACT_NAME = 'aio_agent_version' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::AioAgentVersion.resolve(:aio_agent_version) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/current_zone.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | class CurrentZone 6 | FACT_NAME = 'solaris_zones.current' 7 | ALIASES = 'zonename' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Solaris::ZoneName.resolve(:current_zone_name) 11 | 12 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/facterversion.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | class Facterversion 6 | FACT_NAME = 'facterversion' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Facterversion.resolve(:facterversion) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/filesystems.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | class Filesystems 6 | FACT_NAME = 'filesystems' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Solaris::Filesystem.resolve(:file_systems) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/identity/gid.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | module Identity 6 | class Gid 7 | FACT_NAME = 'identity.gid' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::PosxIdentity.resolve(:gid) 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/identity/group.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | module Identity 6 | class Group 7 | FACT_NAME = 'identity.group' 8 | ALIASES = 'gid' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::PosxIdentity.resolve(:group) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/identity/privileged.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | module Identity 6 | class Privileged 7 | FACT_NAME = 'identity.privileged' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::PosxIdentity.resolve(:privileged) 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/identity/uid.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | module Identity 6 | class Uid 7 | FACT_NAME = 'identity.uid' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::PosxIdentity.resolve(:uid) 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/identity/user.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | module Identity 6 | class User 7 | FACT_NAME = 'identity.user' 8 | ALIASES = 'id' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::PosxIdentity.resolve(:user) 12 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/kernel.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | class Kernel 6 | FACT_NAME = 'kernel' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Uname.resolve(:kernelname) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/kernelrelease.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | class Kernelrelease 6 | FACT_NAME = 'kernelrelease' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Uname.resolve(:kernelrelease) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/kernelversion.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | class Kernelversion 6 | FACT_NAME = 'kernelversion' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Uname.resolve(:kernelversion) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/load_averages.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | class LoadAverages 6 | FACT_NAME = 'load_averages' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::LoadAverages.resolve(:load_averages) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/networking/dhcp.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | module Networking 6 | class Dhcp 7 | FACT_NAME = 'networking.dhcp' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Solaris::Networking.resolve(:dhcp) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/networking/fqdn.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | module Networking 6 | class Fqdn 7 | FACT_NAME = 'networking.fqdn' 8 | ALIASES = 'fqdn' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Hostname.resolve(:fqdn) 12 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/networking/interfaces.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | module Networking 6 | class Interfaces 7 | FACT_NAME = 'networking.interfaces' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Solaris::Networking.resolve(:interfaces) 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/networking/mtu.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | module Networking 6 | class Mtu 7 | FACT_NAME = 'networking.mtu' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Solaris::Networking.resolve(:mtu) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/networking/primary.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | module Networking 6 | class Primary 7 | FACT_NAME = 'networking.primary' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Solaris::Networking.resolve(:primary_interface) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/os/family.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | module Os 6 | class Family 7 | FACT_NAME = 'os.family' 8 | ALIASES = 'osfamily' 9 | 10 | def call_the_resolver 11 | [Facter::ResolvedFact.new(FACT_NAME, 'Solaris'), Facter::ResolvedFact.new(ALIASES, 'Solaris', :legacy)] 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/os/hardware.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | module Os 6 | class Hardware 7 | FACT_NAME = 'os.hardware' 8 | ALIASES = 'hardwaremodel' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Uname.resolve(:machine) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/path.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | class Path 6 | FACT_NAME = 'path' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Path.resolve(:path) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/processors/cores.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | module Processors 6 | class Cores 7 | FACT_NAME = 'processors.cores' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Solaris::Processors.resolve(:cores_per_socket) 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/processors/isa.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | module Processors 6 | class Isa 7 | FACT_NAME = 'processors.isa' 8 | ALIASES = 'hardwareisa' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Uname.resolve(:processor) 12 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/processors/threads.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | module Processors 6 | class Threads 7 | FACT_NAME = 'processors.threads' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Solaris::Processors.resolve(:threads_per_core) 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/ruby/platform.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | module Ruby 6 | class Platform 7 | FACT_NAME = 'ruby.platform' 8 | ALIASES = 'rubyplatform' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Ruby.resolve(:platform) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/ruby/sitedir.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | module Ruby 6 | class Sitedir 7 | FACT_NAME = 'ruby.sitedir' 8 | ALIASES = 'rubysitedir' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Ruby.resolve(:sitedir) 12 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/ruby/version.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | module Ruby 6 | class Version 7 | FACT_NAME = 'ruby.version' 8 | ALIASES = 'rubyversion' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Ruby.resolve(:version) 12 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/sshalgorithmkey.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | class Sshalgorithmkey 6 | FACT_NAME = 'ssh.*key' 7 | TYPE = :legacy 8 | 9 | def call_the_resolver 10 | facts = [] 11 | result = Facter::Resolvers::Ssh.resolve(:ssh) 12 | result.each { |ssh| facts << Facter::ResolvedFact.new("ssh#{ssh.name.to_sym}key", ssh.key, :legacy) } 13 | facts 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/timezone.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | class Timezone 6 | FACT_NAME = 'timezone' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Timezone.resolve(:timezone) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/zfs_featurenumbers.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | class ZfsFeaturenumbers 6 | FACT_NAME = 'zfs_featurenumbers' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::ZFS.resolve(:zfs_featurenumbers) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/zfs_version.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | class ZfsVersion 6 | FACT_NAME = 'zfs_version' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::ZFS.resolve(:zfs_version) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/zpool_featureflags.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | class ZpoolFeatureflags 6 | FACT_NAME = 'zpool_featureflags' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Zpool.resolve(:zpool_featureflags) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/zpool_featurenumbers.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | class ZpoolFeaturenumbers 6 | FACT_NAME = 'zpool_featurenumbers' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Zpool.resolve(:zpool_featurenumbers) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/solaris/zpool_version.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Solaris 5 | class ZpoolVersion 6 | FACT_NAME = 'zpool_version' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Zpool.resolve(:zpool_version) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/windows/aio_agent_version.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Windows 5 | class AioAgentVersion 6 | FACT_NAME = 'aio_agent_version' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Windows::AioAgentVersion.resolve(:aio_agent_version) 10 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/facts/windows/facterversion.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Windows 5 | class Facterversion 6 | FACT_NAME = 'facterversion' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Facterversion.resolve(:facterversion) 10 | 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/facter/facts/windows/fips_enabled.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Windows 5 | class FipsEnabled 6 | FACT_NAME = 'fips_enabled' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Windows::Fips.resolve(:fips_enabled) 10 | 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/facter/facts/windows/gce.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Windows 5 | class Gce 6 | FACT_NAME = 'gce' 7 | 8 | def call_the_resolver 9 | virtualization = Facter::Resolvers::Windows::Virtualization.resolve(:virtual) 10 | 11 | fact_value = virtualization&.include?('gce') ? Facter::Resolvers::Gce.resolve(:metadata) : nil 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/windows/identity/privileged.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Windows 5 | module Identity 6 | class Privileged 7 | FACT_NAME = 'identity.privileged' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Identity.resolve(:privileged) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/windows/identity/user.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Windows 5 | module Identity 6 | class User 7 | FACT_NAME = 'identity.user' 8 | ALIASES = 'id' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Identity.resolve(:user) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/windows/interfaces.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Windows 5 | class Interfaces 6 | FACT_NAME = 'interfaces' 7 | TYPE = :legacy 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Windows::Networking.resolve(:interfaces) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value&.keys&.join(','), :legacy) 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/facts/windows/is_virtual.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Windows 5 | class IsVirtual 6 | FACT_NAME = 'is_virtual' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Windows::Virtualization.resolve(:is_virtual) 10 | 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/facter/facts/windows/kernel.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Windows 5 | class Kernel 6 | FACT_NAME = 'kernel' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Kernel.resolve(:kernel) 10 | 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/facter/facts/windows/kernelmajversion.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Windows 5 | class Kernelmajversion 6 | FACT_NAME = 'kernelmajversion' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Kernel.resolve(:kernelmajorversion) 10 | 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/facter/facts/windows/kernelrelease.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Windows 5 | class Kernelrelease 6 | FACT_NAME = 'kernelrelease' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Kernel.resolve(:kernelversion) 10 | 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/facter/facts/windows/kernelversion.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Windows 5 | class Kernelversion 6 | FACT_NAME = 'kernelversion' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Kernel.resolve(:kernelversion) 10 | 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/facter/facts/windows/memory/system/capacity.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Windows 5 | module Memory 6 | module System 7 | class Capacity 8 | FACT_NAME = 'memory.system.capacity' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Memory.resolve(:capacity) 12 | 13 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 14 | end 15 | end 16 | end 17 | end 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /lib/facter/facts/windows/memory/system/used_bytes.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Windows 5 | module Memory 6 | module System 7 | class UsedBytes 8 | FACT_NAME = 'memory.system.used_bytes' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Memory.resolve(:used_bytes) 12 | 13 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 14 | end 15 | end 16 | end 17 | end 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /lib/facter/facts/windows/networking/dhcp.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Windows 5 | module Networking 6 | class Dhcp 7 | FACT_NAME = 'networking.dhcp' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Windows::Networking.resolve(:dhcp) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/windows/networking/interfaces.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Windows 5 | module Networking 6 | class Interfaces 7 | FACT_NAME = 'networking.interfaces' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Windows::Networking.resolve(:interfaces) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/windows/networking/mtu.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Windows 5 | module Networking 6 | class Mtu 7 | FACT_NAME = 'networking.mtu' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Windows::Networking.resolve(:mtu) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/windows/networking/primary.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Windows 5 | module Networking 6 | class Primary 7 | FACT_NAME = 'networking.primary' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Windows::Networking.resolve(:primary_interface) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/windows/os/family.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Windows 5 | module Os 6 | class Family 7 | FACT_NAME = 'os.family' 8 | ALIASES = 'osfamily' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Kernel.resolve(:kernel) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/windows/os/name.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Windows 5 | module Os 6 | class Name 7 | FACT_NAME = 'os.name' 8 | ALIASES = 'operatingsystem' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Kernel.resolve(:kernel) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/windows/path.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Windows 5 | class Path 6 | FACT_NAME = 'path' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Path.resolve(:path) 10 | 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/facter/facts/windows/processors/cores.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Windows 5 | module Processors 6 | class Cores 7 | FACT_NAME = 'processors.cores' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Processors.resolve(:cores_per_socket) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/windows/processors/models.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Windows 5 | module Processors 6 | class Models 7 | FACT_NAME = 'processors.models' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Processors.resolve(:models) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/windows/processors/threads.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Windows 5 | module Processors 6 | class Threads 7 | FACT_NAME = 'processors.threads' 8 | 9 | def call_the_resolver 10 | fact_value = Facter::Resolvers::Processors.resolve(:threads_per_core) 11 | 12 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/facter/facts/windows/ruby/platform.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Windows 5 | module Ruby 6 | class Platform 7 | FACT_NAME = 'ruby.platform' 8 | ALIASES = 'rubyplatform' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Ruby.resolve(:platform) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/windows/ruby/sitedir.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Windows 5 | module Ruby 6 | class Sitedir 7 | FACT_NAME = 'ruby.sitedir' 8 | ALIASES = 'rubysitedir' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Ruby.resolve(:sitedir) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/windows/ruby/version.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Windows 5 | module Ruby 6 | class Version 7 | FACT_NAME = 'ruby.version' 8 | ALIASES = 'rubyversion' 9 | 10 | def call_the_resolver 11 | fact_value = Facter::Resolvers::Ruby.resolve(:version) 12 | 13 | [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/facts/windows/timezone.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Windows 5 | class Timezone 6 | FACT_NAME = 'timezone' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Windows::Timezone.resolve(:timezone) 10 | 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/facter/facts/windows/virtual.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facts 4 | module Windows 5 | class Virtual 6 | FACT_NAME = 'virtual' 7 | 8 | def call_the_resolver 9 | fact_value = Facter::Resolvers::Windows::Virtualization.resolve(:virtual) 10 | 11 | Facter::ResolvedFact.new(FACT_NAME, fact_value) 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/facter/fixtures/facter_help_header: -------------------------------------------------------------------------------- 1 | Usage 2 | ===== 3 | 4 | facter [options] [query] [query] [...] 5 | 6 | Options 7 | ======= 8 | -------------------------------------------------------------------------------- /lib/facter/framework/core/session_cache.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facter 4 | class SessionCache 5 | @resolvers = [] 6 | 7 | def self.subscribe(resolver) 8 | @resolvers << resolver 9 | end 10 | 11 | def self.invalidate_all_caches 12 | @resolvers.uniq.each(&:invalidate_cache) 13 | @resolvers = [] 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/framework/formatters/formatter_factory.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facter 4 | class FormatterFactory 5 | def self.build(options) 6 | return JsonFactFormatter.new if options[:json] 7 | return YamlFactFormatter.new if options[:yaml] 8 | return HoconFactFormatter.new if options[:hocon] 9 | 10 | LegacyFactFormatter.new 11 | end 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /lib/facter/framework/logging/logger_helper.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | class LoggerHelper 4 | class << self 5 | def determine_callers_name(sender_self) 6 | case sender_self 7 | when String 8 | sender_self 9 | when Class 10 | sender_self.name 11 | when Module 12 | sender_self.name 13 | else # when class is singleton 14 | sender_self.class.name 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/models/loaded_fact.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facter 4 | class LoadedFact 5 | attr_reader :name, :klass, :type 6 | attr_accessor :file, :is_env 7 | 8 | def initialize(name, klass, type = nil, file = nil) 9 | @name = name 10 | @klass = klass 11 | @type = type.nil? ? :core : type 12 | @file = file 13 | @is_env = false 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/facter/models/searched_fact.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facter 4 | class SearchedFact 5 | attr_reader :name, :fact_class, :user_query, :type 6 | attr_accessor :file 7 | 8 | def initialize(fact_name, fact_class, user_query, type) 9 | @name = fact_name 10 | @fact_class = fact_class 11 | @user_query = user_query 12 | @type = type 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /lib/facter/resolvers/facterversion.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facter 4 | module Resolvers 5 | class Facterversion < BaseResolver 6 | init_resolver 7 | 8 | class << self 9 | private 10 | 11 | def post_resolve(fact_name, _options) 12 | @fact_list.fetch(fact_name) { read_version_file } 13 | end 14 | 15 | def read_version_file 16 | @fact_list[:facterversion] = Facter::VERSION 17 | end 18 | end 19 | end 20 | end 21 | end 22 | -------------------------------------------------------------------------------- /lib/facter/resolvers/path.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facter 4 | module Resolvers 5 | class Path < BaseResolver 6 | init_resolver 7 | 8 | class << self 9 | private 10 | 11 | def post_resolve(fact_name, _options) 12 | @fact_list.fetch(fact_name) { read_path_from_env } 13 | end 14 | 15 | def read_path_from_env 16 | @fact_list[:path] = ENV['PATH'] 17 | end 18 | end 19 | end 20 | end 21 | end 22 | -------------------------------------------------------------------------------- /lib/facter/resolvers/windows/ffi/kernel_ffi.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require_relative '../../../../facter/resolvers/windows/ffi/ffi' 4 | require_relative '../../../../facter/resolvers/windows/ffi/os_version_info_ex' 5 | 6 | module KernelFFI 7 | extend FFI::Library 8 | 9 | ffi_convention :stdcall 10 | ffi_lib :ntdll 11 | attach_function :RtlGetVersion, [:pointer], :int32 12 | 13 | STATUS_SUCCESS = 0 14 | end 15 | -------------------------------------------------------------------------------- /lib/facter/resolvers/windows/ffi/memory_ffi.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require_relative '../../../../facter/resolvers/windows/ffi/ffi' 4 | require_relative '../../../../facter/resolvers/windows/ffi/performance_information' 5 | 6 | module MemoryFFI 7 | extend FFI::Library 8 | 9 | ffi_convention :stdcall 10 | ffi_lib :psapi 11 | attach_function :GetPerformanceInfo, %i[pointer dword], :win32_bool 12 | end 13 | -------------------------------------------------------------------------------- /lib/facter/resolvers/windows/ffi/system32_ffi.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require_relative '../../../../facter/resolvers/windows/ffi/ffi' 4 | 5 | module System32FFI 6 | extend FFI::Library 7 | 8 | ffi_convention :stdcall 9 | ffi_lib :kernel32 10 | attach_function :IsWow64Process, %i[handle pointer], :win32_bool 11 | 12 | ffi_convention :stdcall 13 | ffi_lib :kernel32 14 | attach_function :GetCurrentProcess, [], :handle 15 | 16 | CSIDL_WINDOWS = 0x0024 17 | H_OK = 0 18 | end 19 | -------------------------------------------------------------------------------- /lib/facter/resolvers/windows/ffi/winnls_ffi.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require_relative '../../../../facter/resolvers/windows/ffi/ffi' 4 | 5 | module WinnlsFFI 6 | extend FFI::Library 7 | 8 | ffi_convention :stdcall 9 | ffi_lib :kernel32 10 | attach_function :GetACP, [], :uint 11 | end 12 | -------------------------------------------------------------------------------- /lib/facter/util/resolvers/fingerprint.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facter 4 | module Util 5 | module Resolvers 6 | FingerPrint = Struct.new(:sha1, :sha256) 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /lib/facter/util/resolvers/ssh.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facter 4 | module Util 5 | module Resolvers 6 | Ssh = Struct.new(:fingerprint, :type, :key, :name) 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /lib/facter/version.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Facter 4 | VERSION = '4.11.0' unless defined?(VERSION) 5 | end 6 | -------------------------------------------------------------------------------- /spec/custom_facts/puppetlabs_spec/verbose.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | # Support code for running stuff with warnings disabled. 4 | module Kernel 5 | def with_verbose_disabled 6 | verbose = $VERBOSE 7 | $VERBOSE = nil 8 | result = yield 9 | $VERBOSE = verbose 10 | result 11 | end 12 | end 13 | -------------------------------------------------------------------------------- /spec/facter/resolvers/path_spec.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | describe Facter::Resolvers::Path do 4 | describe '#resolve path' do 5 | it 'detects path' do 6 | expect(Facter::Resolvers::Path.resolve(:path)).to eql(ENV['PATH']) 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /spec/facter/resolvers/timezone_spec.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | describe Facter::Resolvers::Timezone do 4 | describe '#resolve timezone' do 5 | it 'detects timezone' do 6 | expect(Facter::Resolvers::Timezone.resolve(:timezone)).to eql(Time.now.localtime.strftime('%Z')) 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /spec/facter/version_spec.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | describe Facter do 4 | describe '#reported and gemspec files version' do 5 | it 'checks that reported and facter.gemspec versions are the same' do 6 | gemspec_file_path = File.join(File.dirname(__FILE__), '..', '..', 'facter.gemspec') 7 | gemspec_facter_version = Gem::Specification.load(gemspec_file_path).version.to_s 8 | 9 | expect(gemspec_facter_version).to eq(Facter::VERSION) 10 | end 11 | end 12 | end 13 | -------------------------------------------------------------------------------- /spec/fixtures/aix_filesystems: -------------------------------------------------------------------------------- 1 | # Comment line 2 | # Another comment line 3 | # 4 | # This is a test 5 | %defaultvfs jfs2 nfs 6 | # 7 | cdrfs 5 none none 8 | procfs 6 none none 9 | sfs 16 none none 10 | namefs 1 none none 11 | ahafs 39 none none 12 | -------------------------------------------------------------------------------- /spec/fixtures/blkid_output: -------------------------------------------------------------------------------- 1 | /dev/mapper/VolGroup00-LogVol01: TYPE="swap" 2 | /dev/mapper/VolGroup00-LogVol00: UUID="1bd8643b-483a-4fdc-adcd-c586384919a8" TYPE="ext3" 3 | /dev/sda1: LABEL="/boot" UUID="88077904-4fd4-476f-9af2-0f7a806ca25e" TYPE="ext3" SEC_TYPE="ext2" PARTUUID="00061fe0-01 " 4 | /dev/hdc: LABEL="VMware Tools" TYPE="iso9660" 5 | /dev/VolGroup00/LogVol00: UUID="1bd8643b-483a-4fdc-adcd-c586384919a8" TYPE="ext3" 6 | /dev/VolGroup00/LogVol01: TYPE="swap" 7 | /dev/cdrom: LABEL="VMware Tools" TYPE="iso9660" -------------------------------------------------------------------------------- /spec/fixtures/blkid_output_root_has_partuuid: -------------------------------------------------------------------------------- 1 | /dev/xvda1: LABEL="cloudimg-rootfs" UUID="f387d281-b162-4d60-84b5-e7e94687e6b8" TYPE="ext4" PARTUUID="a2f52878-01" 2 | /dev/loop0: TYPE="squashfs" 3 | /dev/loop1: TYPE="squashfs" 4 | /dev/loop2: TYPE="squashfs" 5 | /dev/loop3: TYPE="squashfs" 6 | /dev/loop4: TYPE="squashfs" -------------------------------------------------------------------------------- /spec/fixtures/centos_lsb_release: -------------------------------------------------------------------------------- 1 | LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64 2 | Distributor ID: CentOS 3 | Description: CentOS Linux release 7.2.1511 (Core) 4 | Release: 7.2.1511 5 | Codename: Core -------------------------------------------------------------------------------- /spec/fixtures/cgroup_file: -------------------------------------------------------------------------------- 1 | 12:pids:/init.scope 2 | 11:cpu,cpuacct:/init.scope 3 | 10:rdma:/ -------------------------------------------------------------------------------- /spec/fixtures/cmdline_root_device: -------------------------------------------------------------------------------- 1 | mem=512M console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait -------------------------------------------------------------------------------- /spec/fixtures/cmdline_root_device_partuuid: -------------------------------------------------------------------------------- 1 | BOOT_IMAGE=/boot/vmlinuz-5.4.0-1024-aws root=PARTUUID=a2f52878-01 ro console=tty1 console=ttyS0 nvme_core.io_timeout=4294967295 panic=-1 -------------------------------------------------------------------------------- /spec/fixtures/cpuinfo_arm64: -------------------------------------------------------------------------------- 1 | processor : 0 2 | BogoMIPS : 200.00 3 | Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics cpuid 4 | CPU implementer : 0x43 5 | CPU architecture: 8 6 | CPU variant : 0x1 7 | CPU part : 0x0a1 8 | CPU revision : 1 9 | 10 | processor : 1 11 | BogoMIPS : 200.00 12 | Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics cpuid 13 | CPU implementer : 0x43 14 | CPU architecture: 8 15 | CPU variant : 0x1 16 | CPU part : 0x0a1 17 | CPU revision : 1 -------------------------------------------------------------------------------- /spec/fixtures/df: -------------------------------------------------------------------------------- 1 | Filesystem 512-blocks Used Available Capacity Mounted on 2 | /dev/hd4 4194304 780504 3413800 19% / 3 | /dev/hd2 10485760 4530640 5955120 44% /usr 4 | /dev/hd3 423201 3233 419968 1% /var 5 | /proc - - - - /proc 6 | joe:/var/share 143650816 10343368 133307448 8% /tmp/salam 7 | -------------------------------------------------------------------------------- /spec/fixtures/dhclient_lease: -------------------------------------------------------------------------------- 1 | lease { 2 | interface "lo"; 3 | option routers 10.32.112.1; 4 | option dhcp-message-type 5; 5 | option dhcp-server-identifier 10.32.22.9; 6 | option domain-name-servers 10.240.0.10,10.240.1.10; 7 | } -------------------------------------------------------------------------------- /spec/fixtures/dhcp_internal_lease: -------------------------------------------------------------------------------- 1 | # This is private data. Do not parse. 2 | ADDRESS=11.22.36.241 3 | NETMASK=255.255.240.0 4 | ROUTER=99.26.666.1 5 | SERVER_ADDRESS=35.32.82.9 6 | NEXT_SERVER=05.3.3.100 7 | T1=150 8 | T2=262 9 | LIFETIME=300 10 | DNS=78.250.0.0 90.230.1.10 11 | NTP=55.2.25.65 12.0.21.19 88.2.45.18 96.45.22.39 12 | DOMAINNAME=bakery.puppetlabs.net 13 | CLIENTID=61952356faeffac 14 | -------------------------------------------------------------------------------- /spec/fixtures/dhcp_lease: -------------------------------------------------------------------------------- 1 | # This is private data. Do not parse. 2 | ADDRESS=10.16.122.112 3 | NETMASK=255.255.240.0 4 | ROUTER=10.16.112.1 5 | SERVER_ADDRESS=10.32.22.10 6 | NEXT_SERVER=10.32.23.146 7 | T1=450 8 | T2=787 9 | LIFETIME=900 10 | DNS=10.240.0.10 10.240.1.10 11 | NTP=10.32.22.9 10.0.22.10 10.0.22.11 12 | DOMAINNAME=delivery.puppetlabs.net 13 | CLIENTID=ff9f6e852400020000ab113d3dd2dee03bb312 -------------------------------------------------------------------------------- /spec/fixtures/dhcpcd: -------------------------------------------------------------------------------- 1 | broadcast_address='10.16.127.255' 2 | dhcp_lease_time='300' 3 | dhcp_message_type='5' 4 | dhcp_server_identifier='10.32.22.9' 5 | domain_name='delivery.puppetlabs.net' 6 | domain_name_servers='10.240.0.10 10.240.1.10' 7 | filename='pxelinux.0' 8 | ip_address='10.16.116.66' 9 | network_number='10.16.112.0' 10 | ntp_servers='10.32.22.9 10.0.22.10 10.32.22.10 10.0.22.11' 11 | routers='10.16.112.1' 12 | subnet_cidr='20' 13 | subnet_mask='255.255.240.0' 14 | ens192: dhcp6_dump: No such file or directory -------------------------------------------------------------------------------- /spec/fixtures/docker_cgroup: -------------------------------------------------------------------------------- 1 | 13:name=systemd:/docker/ee6e3c05422f1273c9b41a26f2b4ec64bdb4480d63a1ad9741e05cafc1651b90 2 | 12:pids:/docker/ee6e3c05422f1273c9b41a26f2b4ec64bdb4480d63a1ad9741e05cafc1651b90 3 | 11:hugetlb:/docker/ee6e3c05422f1273c9b41a26f2b4ec64bdb4480d63a1ad9741e05cafc1651b90 -------------------------------------------------------------------------------- /spec/fixtures/ecdsa: -------------------------------------------------------------------------------- 1 | ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNG0AgjrPXt5/osLsmECV/qISOwaRmDW1yNSHZiAJvZ6p6ZUilg5vqtSskaUsT5XN8J2amVktN6wOHDwtWiEbpM= 2 | -------------------------------------------------------------------------------- /spec/fixtures/ecdsa384: -------------------------------------------------------------------------------- 1 | ecdsa-sha2-nistp384 AAAAE2VjZHNhLXNoYTItbmlzdHAzODQAAAAIbmlzdHAzODQAAABhBI+YmNHUdvMtZSEdCDJLruZjtUGsi59cf/TNkmRKFcVGgaWO54NUXT/PlTwjm7g9uS1FKbZY4+MKP0Q4KsgfGJAwn9MLsdSeUGY2UIrhQ0UM6KUUZCDot0G7Xm2pAdy/Qw== 2 | -------------------------------------------------------------------------------- /spec/fixtures/ecdsa384_key: -------------------------------------------------------------------------------- 1 | AAAAE2VjZHNhLXNoYTItbmlzdHAzODQAAAAIbmlzdHAzODQAAABhBI+YmNHUdvMtZSEdCDJLruZjtUGsi59cf/TNkmRKFcVGgaWO54NUXT/PlTwjm7g9uS1FKbZY4+MKP0Q4KsgfGJAwn9MLsdSeUGY2UIrhQ0UM6KUUZCDot0G7Xm2pAdy/Qw== 2 | -------------------------------------------------------------------------------- /spec/fixtures/ecdsa521: -------------------------------------------------------------------------------- 1 | ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBAHKr7fO2HGs84ihV9+Z4Dkk4rX+FqhtKV4vGEIwnwR3r0GUIER1aIk+shXzOhCEPNqTiik5CRdE9sDhXkYDJa35+QFIBvo1i2qCNEQ1EowBbYZYBAhk3CPAhIUIYe+Achz+PCqBhqkPC+vHhqHpECAzOI0qjFuoT17rbEb4stl3n8yHfQ== 2 | -------------------------------------------------------------------------------- /spec/fixtures/ecdsa521_key: -------------------------------------------------------------------------------- 1 | AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBAHKr7fO2HGs84ihV9+Z4Dkk4rX+FqhtKV4vGEIwnwR3r0GUIER1aIk+shXzOhCEPNqTiik5CRdE9sDhXkYDJa35+QFIBvo1i2qCNEQ1EowBbYZYBAhk3CPAhIUIYe+Achz+PCqBhqkPC+vHhqHpECAzOI0qjFuoT17rbEb4stl3n8yHfQ== 2 | -------------------------------------------------------------------------------- /spec/fixtures/ecdsa_key: -------------------------------------------------------------------------------- 1 | AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNG0AgjrPXt5/osLsmECV/qISOwaRmDW1yNSHZiAJvZ6p6ZUilg5vqtSskaUsT5XN8J2amVktN6wOHDwtWiEbpM= 2 | -------------------------------------------------------------------------------- /spec/fixtures/ed25519: -------------------------------------------------------------------------------- 1 | ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC0rUF3Qt67/maEmCEn3VEp86x/xvmP09b79/7yi8liN 2 | -------------------------------------------------------------------------------- /spec/fixtures/ed25519_key: -------------------------------------------------------------------------------- 1 | AAAAC3NzaC1lZDI1NTE5AAAAIC0rUF3Qt67/maEmCEn3VEp86x/xvmP09b79/7yi8liN 2 | -------------------------------------------------------------------------------- /spec/fixtures/external_fact_yaml: -------------------------------------------------------------------------------- 1 | --- 2 | testsfact: 3 | time: 2020-04-28 01:44:08.148119000 +01:01 -------------------------------------------------------------------------------- /spec/fixtures/external_fact_yaml_anchor: -------------------------------------------------------------------------------- 1 | --- 2 | one: 3 | test: 4 | a: &a1 5 | - foo 6 | two: 7 | TEST: 8 | A: *a1 -------------------------------------------------------------------------------- /spec/fixtures/external_fact_yaml_date: -------------------------------------------------------------------------------- 1 | --- 2 | testsfact: 3 | date: 2020-04-28 -------------------------------------------------------------------------------- /spec/fixtures/external_fact_yaml_no_zone: -------------------------------------------------------------------------------- 1 | --- 2 | testsfact: 3 | time: 2020-04-28 01:44:08.148119000 -------------------------------------------------------------------------------- /spec/fixtures/filesystems: -------------------------------------------------------------------------------- 1 | nodev sysfs 2 | nodev rootfs 3 | nodev ramfs 4 | nodev bdev 5 | nodev proc 6 | nodev cpuset 7 | nodev cgroup 8 | nodev cgroup2 9 | nodev tmpfs 10 | nodev devtmpfs 11 | nodev configfs 12 | nodev debugfs 13 | nodev tracefs 14 | nodev securityfs 15 | nodev sockfs 16 | nodev dax 17 | nodev bpf 18 | nodev pipefs 19 | nodev hugetlbfs 20 | nodev devpts 21 | ext3 22 | ext2 23 | fuseblk 24 | ext4 25 | nodev autofs 26 | nodev mqueue 27 | nodev pstore 28 | xfs 29 | nodev rpc_pipefs -------------------------------------------------------------------------------- /spec/fixtures/freebsd_swapinfo: -------------------------------------------------------------------------------- 1 | Device 1K-blocks Used Avail Capacity 2 | /dev/ada0p2.eli 2097152 0 2097152 0% 3 | /dev/ada1p2.eli 2097152 0 2097152 0% 4 | -------------------------------------------------------------------------------- /spec/fixtures/invalid_option_pairs.conf: -------------------------------------------------------------------------------- 1 | global : { 2 | external-dir : "" 3 | no-external-facts : true, 4 | } -------------------------------------------------------------------------------- /spec/fixtures/ip_-6_route_show: -------------------------------------------------------------------------------- 1 | fe80::/64 dev ens160 proto kernel metric 256 pref medium -------------------------------------------------------------------------------- /spec/fixtures/ip_link_show: -------------------------------------------------------------------------------- 1 | 1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 2 | link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 3 | 2: ens160: mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000 4 | link/ether 00:50:56:9a:cb:a4 brd ff:ff:ff:ff:ff:ff -------------------------------------------------------------------------------- /spec/fixtures/ip_route_show: -------------------------------------------------------------------------------- 1 | default via 10.16.112.1 dev ens192 proto dhcp src 10.16.125.217 metric 100 2 | 10.16.112.0/20 dev ens192 proto kernel scope link src 10.16.125.217 3 | 10.16.112.1 dev ens192 proto dhcp scope link src 10.16.125.217 metric 100 -------------------------------------------------------------------------------- /spec/fixtures/ip_route_show_default: -------------------------------------------------------------------------------- 1 | 10.16.112.0/20 dev ens160 proto kernel scope link src 10.16.124.1 2 | default via 10.16.112.1 dev ens160 3 | -------------------------------------------------------------------------------- /spec/fixtures/loadavg: -------------------------------------------------------------------------------- 1 | 0.00 0.03 0.03 1/165 21302 -------------------------------------------------------------------------------- /spec/fixtures/lparstat_i: -------------------------------------------------------------------------------- 1 | Partition Name : aix61-6 2 | Partition Number : 15 3 | Sub Processor Mode : - 4 | -------------------------------------------------------------------------------- /spec/fixtures/lparstat_w: -------------------------------------------------------------------------------- 1 | WPAR Key : 13 2 | WPAR Configured ID : 14 3 | -------------------------------------------------------------------------------- /spec/fixtures/lsblk_output_new: -------------------------------------------------------------------------------- 1 | NAME="/dev/sda" FSTYPE="" UUID="" LABEL="" PARTUUID="" PARTLABEL="" PARTTYPE="" 2 | NAME="/dev/sda1" FSTYPE="ext3" UUID="88077904-4fd4-476f-9af2-0f7a806ca25e" LABEL="/boot" PARTUUID="00061fe0-01" PARTLABEL="" PARTTYPE="21686148-6449-6E6F-744E-656564454649" 3 | NAME="/dev/sda2" FSTYPE="LVM2_member" UUID="edi7s0-2WVa-ZBan" LABEL="" PARTUUID="" PARTLABEL="" PARTTYPE="0fc63daf-8483-4772-8e79-3d69d8477de4" -------------------------------------------------------------------------------- /spec/fixtures/lsblk_output_old: -------------------------------------------------------------------------------- 1 | NAME="/dev/sda" FSTYPE="" UUID="" LABEL="" PARTUUID="" PARTLABEL="" PARTTYPE="" 2 | NAME="/dev/sda1" FSTYPE="ext3" UUID="88077904-4fd4-476f-9af2-0f7a806ca25e" LABEL="/boot" PARTUUID="00061fe0-01" PARTLABEL="" 3 | NAME="/dev/sda2" FSTYPE="LVM2_member" UUID="edi7s0-2WVa-ZBan" LABEL="" PARTUUID="" PARTLABEL="" -------------------------------------------------------------------------------- /spec/fixtures/lspci_aws: -------------------------------------------------------------------------------- 1 | 00:00.0 Host bridge: Intel Corporation FX PMC [Natoma] (rev 02) 2 | 00:02.0 VGA compatible controller: Cirrus Logic GD 5446 3 | 00:03.0 Unassigned class [ff80]: XenSource, Inc. Xen Platform Device (rev 01) -------------------------------------------------------------------------------- /spec/fixtures/lspci_vmware: -------------------------------------------------------------------------------- 1 | 00:10.0 SCSI storage controller: LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (rev 01) 2 | 00:11.0 PCI bridge: VMware PCI bridge (rev 02) 3 | 00:18.5 PCI bridge: VMware PCI Express Root Port (rev 01) 4 | 00:18.6 PCI bridge: VMware PCI Express Root Port (rev 01) 5 | 00:18.7 PCI bridge: VMware PCI Express Root Port (rev 01) 6 | 03:00.0 Ethernet controller: VMware VMXNET3 Ethernet Controller (rev 01) -------------------------------------------------------------------------------- /spec/fixtures/lspv_output: -------------------------------------------------------------------------------- 1 | hdisk0 testid0998 rootvg active -------------------------------------------------------------------------------- /spec/fixtures/lxc_cgroup: -------------------------------------------------------------------------------- 1 | 12:pids:/init.scope 2 | 11:cpu,cpuacct:/init.scope 3 | 10:rdma:/ 4 | /lxc/lxc_container/ -------------------------------------------------------------------------------- /spec/fixtures/macosx_filesystems: -------------------------------------------------------------------------------- 1 | /dev/disk1s5 on / (apfs, local, read-only, journaled) 2 | devfs on /dev (devfs, local, nobrowse) 3 | /dev/disk1s1 on /System/Volumes/Data (apfs, local, journaled, nobrowse) 4 | /dev/disk1s4 on /private/var/vm (apfs, local, journaled, nobrowse) 5 | map auto_home on /System/Volumes/Data/home (autofs, automounted, nobrowse) 6 | .host:/VMware Shared Folders on /Volumes/VMware Shared Folders (vmhgfs) -------------------------------------------------------------------------------- /spec/fixtures/netstat_in: -------------------------------------------------------------------------------- 1 | Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll 2 | en0 1500 link#2 a.c6.24.39.41.3 162325 0 60252 0 0 3 | en0 1500 10.32.77 10.32.77.30 162325 0 60252 0 0 4 | lo0 16896 link#1 36891 0 36891 0 0 5 | lo0 16896 127 127.0.0.1 36891 0 36891 0 0 6 | lo0 16896 ::1%1 36891 0 36891 0 0 -------------------------------------------------------------------------------- /spec/fixtures/netstat_rn_two: -------------------------------------------------------------------------------- 1 | Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll 2 | en0 1500 link#2 e2.69.92.64.40.2 54611 0 11532 0 0 3 | en0 1500 10.16.78 10.16.78.58 54611 0 11532 0 0 4 | lo0* 16896 link#1 2237 0 2237 0 0 5 | lo0* 16896 127 127.0.0.1 2237 0 2237 0 0 6 | lo0* 16896 ::1%1 2237 0 2237 0 0 -------------------------------------------------------------------------------- /spec/fixtures/niminfo_nim_configuration: -------------------------------------------------------------------------------- 1 | export NIM_NAME=aix7 2 | export NIM_MASTER_HOSTNAME=test 3 | export NIM_MASTER_PORT=1000 4 | export NIM_REGISTRATION_PORT=1000 5 | export NIM_SHELL="nimsh" 6 | export NIM_MASTERID=00000000 7 | export NIM_CONFIGURATION=master -------------------------------------------------------------------------------- /spec/fixtures/niminfo_w_wrong_nim_configuration: -------------------------------------------------------------------------------- 1 | export NIM_NAME=aix7 2 | export NIM_MASTER_HOSTNAME=test 3 | export NIM_MASTER_PORT=1000 4 | export NIM_REGISTRATION_PORT=1000 5 | export NIM_SHELL="nimsh" 6 | export NIM_MASTERID=00000000 7 | export NIM_CONFIGURATION=testtest -------------------------------------------------------------------------------- /spec/fixtures/niminfo_wo_nim_configuration: -------------------------------------------------------------------------------- 1 | export NIM_NAME=aix7 2 | export NIM_MASTER_HOSTNAME=test 3 | export NIM_MASTER_PORT=1000 4 | export NIM_REGISTRATION_PORT=1000 5 | export NIM_SHELL="nimsh" 6 | export NIM_MASTERID=00000000 -------------------------------------------------------------------------------- /spec/fixtures/openbsd_df: -------------------------------------------------------------------------------- 1 | Filesystem 512-blocks Used Available Capacity Mounted on 2 | /dev/sd0a 2018844 404488 1513416 21% / 3 | /dev/sd0d 2018844 1595216 322688 83% /usr 4 | /dev/sd0e 6082908 3477752 2301012 60% /usr/local 5 | -------------------------------------------------------------------------------- /spec/fixtures/openbsd_filesystems: -------------------------------------------------------------------------------- 1 | /dev/sd0a on / type ffs (local) 2 | /dev/sd0d on /usr type ffs (local, nodev) 3 | /dev/sd0e on /usr/local type ffs (local, nodev, wxallowed) 4 | -------------------------------------------------------------------------------- /spec/fixtures/os_release: -------------------------------------------------------------------------------- 1 | NAME="Ubuntu Linux" 2 | VERSION="18.04.1 LTS (Bionic Beaver)" 3 | ID= 4 | ID_LIKE=debian 5 | PRETTY_NAME="Ubuntu 18.04.1 LTS" 6 | VERSION_ID="18.04" 7 | HOME_URL="https://www.ubuntu.com/" 8 | SUPPORT_URL="https://help.ubuntu.com/" 9 | BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" 10 | PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" 11 | VERSION_CODENAME=bionic 12 | UBUNTU_CODENAME=bionic 13 | -------------------------------------------------------------------------------- /spec/fixtures/os_release_archlinux: -------------------------------------------------------------------------------- 1 | NAME="Arch Linux" 2 | PRETTY_NAME="Arch Linux" 3 | ID=arch 4 | BUILD_ID=rolling 5 | ANSI_COLOR="38;2;23;147;209" 6 | HOME_URL="https://archlinux.org/" 7 | DOCUMENTATION_URL="https://wiki.archlinux.org/" 8 | SUPPORT_URL="https://bbs.archlinux.org/" 9 | BUG_REPORT_URL="https://bugs.archlinux.org/" 10 | LOGO=archlinux 11 | -------------------------------------------------------------------------------- /spec/fixtures/os_release_debian: -------------------------------------------------------------------------------- 1 | PRETTY_NAME="Debian GNU/Linux 10 (buster)" 2 | NAME="Debian GNU/Linux" 3 | VERSION_ID="10" 4 | VERSION="10 (buster)" 5 | VERSION_CODENAME=buster 6 | ID=debian 7 | HOME_URL="https://www.debian.org/" 8 | SUPPORT_URL="https://www.debian.org/support" 9 | BUG_REPORT_URL="https://bugs.debian.org/" -------------------------------------------------------------------------------- /spec/fixtures/os_release_devuan: -------------------------------------------------------------------------------- 1 | beowulf 2 | -------------------------------------------------------------------------------- /spec/fixtures/os_release_manjarolinux: -------------------------------------------------------------------------------- 1 | NAME="Manjaro Linux" 2 | ID=manjaro 3 | ID_LIKE=arch 4 | BUILD_ID=rolling 5 | PRETTY_NAME="Manjaro Linux" 6 | ANSI_COLOR="32;1;24;144;200" 7 | HOME_URL="https://manjaro.org/" 8 | DOCUMENTATION_URL="https://wiki.manjaro.org/" 9 | SUPPORT_URL="https://manjaro.org/" 10 | BUG_REPORT_URL="https://bugs.manjaro.org/" 11 | LOGO=manjarolinux 12 | -------------------------------------------------------------------------------- /spec/fixtures/os_release_mint: -------------------------------------------------------------------------------- 1 | DISTR_NAME="Linuxmint" 2 | RELEASE=19.3 3 | -------------------------------------------------------------------------------- /spec/fixtures/os_release_opensuse-leap: -------------------------------------------------------------------------------- 1 | NAME="openSUSE Leap" 2 | VERSION="15.1" 3 | ID="opensuse-leap" 4 | ID_LIKE="suse opensuse" 5 | VERSION_ID="15.1" 6 | PRETTY_NAME="openSUSE Leap 15.1" 7 | ANSI_COLOR="0;32" 8 | CPE_NAME="cpe:/o:opensuse:leap:15.1" 9 | BUG_REPORT_URL="https://bugs.opensuse.org" 10 | HOME_URL="https://www.opensuse.org/" -------------------------------------------------------------------------------- /spec/fixtures/os_release_oracle_linux: -------------------------------------------------------------------------------- 1 | NAME="Oracle Linux Server" 2 | VERSION="7.2" 3 | ID="ol" 4 | VERSION_ID="7.2" 5 | PRETTY_NAME="Oracle Linux Server 7.2" 6 | ANSI_COLOR="0;31" 7 | CPE_NAME="cpe:/o:oracle:linux:7:2:server" 8 | HOME_URL="https://linux.oracle.com/" 9 | BUG_REPORT_URL="https://bugzilla.oracle.com/" 10 | 11 | ORACLE_BUGZILLA_PRODUCT="Oracle Linux 7" 12 | ORACLE_BUGZILLA_PRODUCT_VERSION=7.2 13 | ORACLE_SUPPORT_PRODUCT="Oracle Linux" 14 | ORACLE_SUPPORT_PRODUCT_VERSION=7.2 -------------------------------------------------------------------------------- /spec/fixtures/os_release_sles: -------------------------------------------------------------------------------- 1 | NAME="SLES" 2 | VERSION="15" 3 | VERSION_ID="15" 4 | PRETTY_NAME="SUSE Linux Enterprise Server 15" 5 | ID="sles" 6 | ID_LIKE="suse" 7 | ANSI_COLOR="0;32" 8 | CPE_NAME="cpe:/o:suse:sles:15" -------------------------------------------------------------------------------- /spec/fixtures/os_release_sles_sap: -------------------------------------------------------------------------------- 1 | NAME="SLES_SAP" 2 | VERSION="12-SP2" 3 | VERSION_ID="12.2" 4 | PRETTY_NAME="SUSE Linux Enterprise Server for SAP Applications 12 SP2" 5 | ID="sles_sap" 6 | ANSI_COLOR="0;32" 7 | CPE_NAME="cpe:/o:suse:sles_sap:12:sp2" -------------------------------------------------------------------------------- /spec/fixtures/os_release_solaris: -------------------------------------------------------------------------------- 1 | Oracle Solaris 10 1/13 s10x_u11wos_24a X86 2 | Copyright (c) 1983, 2013, Oracle and/or its affiliates. All rights reserved. 3 | Assembled 17 January 2013 -------------------------------------------------------------------------------- /spec/fixtures/os_release_virtuozzolinux: -------------------------------------------------------------------------------- 1 | NAME="Virtuozzo" 2 | VERSION="7.5.1" 3 | ID="virtuozzo" 4 | ID_LIKE="rhel fedora" 5 | VERSION_ID="7" 6 | PRETTY_NAME="Virtuozzo release 7.5.1" 7 | ANSI_COLOR="0;31" 8 | CPE_NAME="cpe:/o:virtuozzoproject:vz:7" 9 | HOME_URL="http://www.virtuozzo.com" 10 | BUG_REPORT_URL="https://bugs.openvz.org/" 11 | -------------------------------------------------------------------------------- /spec/fixtures/osx_route: -------------------------------------------------------------------------------- 1 | route to: default 2 | destination: default 3 | mask: default 4 | gateway: 10.160.24.1 5 | interface: en0 6 | flags: 7 | recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire 8 | 0 0 0 0 0 0 1500 0 -------------------------------------------------------------------------------- /spec/fixtures/proc_environ_no_value: -------------------------------------------------------------------------------- 1 | bubbles=TERM_PROGRAM=tmux 2 | -------------------------------------------------------------------------------- /spec/fixtures/proc_environ_podman: -------------------------------------------------------------------------------- 1 | TERM=xtermcontainer=podmanPATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binHOME=/rootHOSTNAME=6461eb81ea31 -------------------------------------------------------------------------------- /spec/fixtures/proc_net_if_inet6: -------------------------------------------------------------------------------- 1 | 00000000000000000000000000000001 01 80 10 80 lo 2 | fe80000000000000025056fffe9a8481 02 40 20 80 ens160 3 | -------------------------------------------------------------------------------- /spec/fixtures/proc_net_route: -------------------------------------------------------------------------------- 1 | Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT 2 | ens160 00000000 0170100A 0003 0 0 0 00000000 0 0 0 3 | ens160 0070100A 00000000 0001 0 0 0 00F0FFFF 0 0 0 4 | -------------------------------------------------------------------------------- /spec/fixtures/proc_net_route_blackhole: -------------------------------------------------------------------------------- 1 | Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT 2 | * 00000000 00000000 0001 0 0 0 00000000 0 0 0 -------------------------------------------------------------------------------- /spec/fixtures/proc_net_route_empty: -------------------------------------------------------------------------------- 1 | Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT 2 | -------------------------------------------------------------------------------- /spec/fixtures/proc_self_mounts: -------------------------------------------------------------------------------- 1 | 'sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0 2 | proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0 3 | udev /dev devtmpfs rw,nosuid,relatime,size=3023708k,nr_inodes=755927,mode=755 0 0 4 | devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0 5 | tmpfs /run tmpfs rw,nosuid,noexec,relatime,size=610440k,mode=755 0 0 6 | /dev/mapper/localhost--vg-root / ext4 rw,relatime,errors=remount-ro,data=ordered 0 0' 7 | -------------------------------------------------------------------------------- /spec/fixtures/proc_self_mounts_selinux: -------------------------------------------------------------------------------- 1 | sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0 2 | proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0 3 | udev /dev devtmpfs rw,nosuid,relatime,size=3023708k,nr_inodes=755927,mode=755 0 0 4 | devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0 5 | selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0 6 | /dev/mapper/localhost--vg-root / ext4 rw,relatime,errors=remount-ro,data=ordered 0 0 7 | -------------------------------------------------------------------------------- /spec/fixtures/proc_self_status: -------------------------------------------------------------------------------- 1 | Name: cat 2 | Umask: 0002 3 | State: R (running) 4 | Tgid: 14437 5 | Ngid: 0 6 | Pid: 14437 7 | PPid: 14122 8 | TracerPid: 0 9 | Uid: 1000 1000 1000 1000 10 | Gid: 1000 1000 1000 1000 11 | FDSize: 256 12 | Groups: 4 20 24 25 27 29 30 44 46 108 114 1000 13 | NStgid: 14437 14 | NSpid: 14437 15 | NSpgid: 14437 16 | envID: 101 17 | NSsid: 14122 18 | VxID: 0 -------------------------------------------------------------------------------- /spec/fixtures/proc_self_status_host: -------------------------------------------------------------------------------- 1 | Name: cat 2 | Umask: 0002 3 | State: R (running) 4 | Tgid: 14437 5 | Ngid: 0 6 | Pid: 14437 7 | PPid: 14122 8 | TracerPid: 0 9 | Uid: 1000 1000 1000 1000 10 | Gid: 1000 1000 1000 1000 11 | FDSize: 256 12 | Groups: 4 20 24 25 27 29 30 44 46 108 114 1000 13 | NStgid: 14437 14 | NSpid: 14437 15 | NSpgid: 14437 16 | envID: 0 17 | NSsid: 14122 18 | VxID: 0 -------------------------------------------------------------------------------- /spec/fixtures/processors_cudv: -------------------------------------------------------------------------------- 1 | CuDv: 2 | name = "proc0" 3 | status = 1 4 | chgstatus = 2 5 | PdDvLn = "processor/sys/proc_rspc" 6 | 7 | CuDv: 8 | name = "proc8" 9 | status = 0 10 | chgstatus = 2 11 | PdDvLn = "processor/sys/proc_rspc" 12 | -------------------------------------------------------------------------------- /spec/fixtures/processors_pddv: -------------------------------------------------------------------------------- 1 | PdDv: 2 | type = "proc_rspc" 3 | class = "processor" 4 | Stop = "" 5 | inventory_only = 0 6 | uniquetype = "processor/sys/proc_rspc" -------------------------------------------------------------------------------- /spec/fixtures/route_n_get_default: -------------------------------------------------------------------------------- 1 | route to: default 2 | destination: default 3 | mask: default 4 | gateway: 10.16.112.1 5 | interface: net0 6 | flags: 7 | recvpipe sendpipe ssthresh rtt,ms rttvar,ms hopcount mtu expire 8 | 0 0 0 0 0 0 1500 0 9 | -------------------------------------------------------------------------------- /spec/fixtures/smbios_chassis: -------------------------------------------------------------------------------- 1 | ID SIZE TYPE 2 | 3 55 SMB_TYPE_CHASSIS (system enclosure or chassis) 3 | 4 | Manufacturer: No Enclosure 5 | Version: N/A 6 | Serial Number: None 7 | Asset Tag: No Asset Tag 8 | 9 | OEM Data: 0x1234 10 | Lock Present: N 11 | Chassis Type: 0x1 (other) 12 | Boot-Up State: 0x3 (safe) 13 | Power Supply State: 0x3 (safe) 14 | Thermal State: 0x3 (safe) 15 | Chassis Height: 0u 16 | Power Cords: 0 17 | Element Records: 0 18 | -------------------------------------------------------------------------------- /spec/fixtures/smbios_system: -------------------------------------------------------------------------------- 1 | ID SIZE TYPE 2 | 1 123 SMB_TYPE_SYSTEM (system information) 3 | 4 | Manufacturer: VMware, Inc. 5 | Product: VMware Virtual Platform 6 | Version: None 7 | Serial Number: VMware-42 1a 46 19 2d fc 12 90-73 48 ea 8f 1a 37 cb 95 8 | 9 | UUID: 421a4619-2dfc-1290-7348-ea8f1a37cb95 10 | Wake-Up Event: 0x6 (power switch) 11 | SKU Number: 12 | Family: 13 | -------------------------------------------------------------------------------- /spec/fixtures/solaris_ifconfig: -------------------------------------------------------------------------------- 1 | net0: flags=100001004843 mtu 1500 index 2 2 | inet 10.16.115.67 netmask fffff000 broadcast 10.16.127.255 3 | ether 0:50:56:9a:45:1c 4 | -------------------------------------------------------------------------------- /spec/fixtures/swap_l: -------------------------------------------------------------------------------- 1 | swapfile dev swaplo blocks free 2 | /dev/zvol/dsk/rpool/swap 279,1 8 2097144 2097144 3 | /dev/zvol/dsk/rpool/swap_test 279,3 8 1433592 1433592 4 | -------------------------------------------------------------------------------- /spec/fixtures/system_profile_sp_ethernet_data_type: -------------------------------------------------------------------------------- 1 | Ethernet Cards: 2 | 3 | ethernet: 4 | 5 | Type: Ethernet Controller 6 | Bus: PCI 7 | Vendor ID: 0x8086 8 | Device ID: 0x100f 9 | Subsystem Vendor ID: 0x1ab8 10 | Subsystem ID: 0x0400 11 | Revision ID: 0x0000 12 | BSD name: en0 13 | Kext name: AppleIntel8254XEthernet.kext 14 | Location: /System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/AppleIntel8254XEthernet.kext 15 | Version: 3.1.5 -------------------------------------------------------------------------------- /spec/fixtures/system_profile_sp_software_data_type: -------------------------------------------------------------------------------- 1 | Software: 2 | 3 | System Software Overview: 4 | 5 | System Version: macOS 10.15.2 (19C57) 6 | Kernel Version: Darwin 19.2.0 7 | Boot Volume: Macintosh HD 8 | Boot Mode: Normal 9 | Computer Name: Test1’s MacBook Pro 10 | User Name: Test1 Test2 (test1.test2) 11 | Secure Virtual Memory: Enabled 12 | System Integrity Protection: Enabled 13 | Time since boot: 3:28 -------------------------------------------------------------------------------- /spec/fixtures/virt-what-content: -------------------------------------------------------------------------------- 1 | xen 2 | xen-hvm 3 | aws -------------------------------------------------------------------------------- /spec/fixtures/virtinfo: -------------------------------------------------------------------------------- 1 | VERSION 1.0 2 | DOMAINROLE|impl=LDoms|control=false|io=false|service=false|root=false 3 | DOMAINNAME|name=sol11-11 4 | DOMAINUUID|uuid=415dfab4-c373-4ac0-9414-8bf00801fb72 5 | DOMAINCONTROL|name=opdx-a0-sun2 6 | DOMAINCHASSIS|serialno=AK00358110 7 | -------------------------------------------------------------------------------- /spec/fixtures/xen_domains: -------------------------------------------------------------------------------- 1 | Name ID Mem VCPUs State Time(s) 2 | Domain-0 0 750 4 r----- 11794.3 3 | win 1 1019 1 r----- 0.3 4 | linux 2 2048 2 r----- 5624.2 -------------------------------------------------------------------------------- /spec/fixtures/zfs: -------------------------------------------------------------------------------- 1 | The following filesystem versions are supported: 2 | 3 | VER DESCRIPTION 4 | --- -------------------------------------------------------- 5 | 1 Initial ZFS filesystem version 6 | 2 Enhanced directory entries 7 | 3 Case insensitive and SMB credentials support 8 | 4 userquota, groupquota properties 9 | 5 System attributes 10 | 6 Multilevel file system support 11 | 12 | For more information on a particular version, including supported releases, 13 | see the ZFS Administration Guide. 14 | -------------------------------------------------------------------------------- /spec/framework/core/session_cache_spec.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | describe Facter::SessionCache do 4 | let(:uname_resolver) { Facter::Resolvers::Uname.new } 5 | 6 | it 'registers resolver subscription' do 7 | expect(uname_resolver.class).to receive(:invalidate_cache) 8 | 9 | Facter::SessionCache.subscribe(uname_resolver.class) 10 | Facter::SessionCache.invalidate_all_caches 11 | end 12 | end 13 | -------------------------------------------------------------------------------- /spec/mocks/augeas.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | class Augeas 4 | def self.create(opts = {}, &block); end 5 | 6 | def self.open(root = nil, loadpath = nil, flags = NONE, &block); end 7 | end 8 | -------------------------------------------------------------------------------- /spec/mocks/flush_fake_error.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | class FlushFakeError < StandardError; end 4 | -------------------------------------------------------------------------------- /spec/mocks/kernel.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | LIBS_TO_SKIP = %w[win32ole ffi win32/registry sys/filesystem augeas].freeze 4 | module Kernel 5 | alias old_require require 6 | def require(path) 7 | old_require(path) unless LIBS_TO_SKIP.include?(path) 8 | end 9 | 10 | def at_exit(&block); end 11 | end 12 | -------------------------------------------------------------------------------- /spec/mocks/socket.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | class Ifaddr 4 | def name; end 5 | 6 | def addr; end 7 | 8 | def netmask; end 9 | end 10 | 11 | class AddrInfo 12 | def ip_address; end 13 | 14 | def ip?; end 15 | 16 | def ipv4?; end 17 | 18 | def getnameinfo; end 19 | 20 | def inspect_sockaddr; end 21 | end 22 | -------------------------------------------------------------------------------- /spec/mocks/win32.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Win32 4 | class Registry 5 | def keys; end 6 | 7 | def close; end 8 | 9 | module API 10 | end 11 | 12 | class HKEY_LOCAL_MACHINE 13 | def self.open(*); end 14 | 15 | def close; end 16 | 17 | def any?; end 18 | 19 | def each; end 20 | 21 | def [](*); end 22 | 23 | def keys; end 24 | 25 | def read(*); end 26 | end 27 | end 28 | end 29 | -------------------------------------------------------------------------------- /spec/mocks/win32_registry_error.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module Win32 4 | class Registry 5 | class Error < RuntimeError 6 | end 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /spec/mocks/win32ole.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | class WIN32OLE 4 | def initialize(*); end 5 | 6 | def ConnectServer(*); end 7 | 8 | def Security_; end 9 | 10 | def ImpersonationLevel=; end 11 | 12 | def Model; end 13 | 14 | def Manufacturer; end 15 | 16 | def OEMStringArray; end 17 | end 18 | -------------------------------------------------------------------------------- /tasks/check.rake: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | desc 'Check changes before committing' 4 | task(:check) do 5 | puts 6 | puts '<------------- Running unit tests ------------->' 7 | Rake::Task['spec_random'].invoke 8 | 9 | puts 10 | puts '<------------- Running integration tests ------------->' 11 | Rake::Task['spec_integration'].invoke 12 | 13 | puts 14 | puts '<------------- Running rubocop ------------->' 15 | Rake::Task['rubocop'].invoke 16 | end 17 | -------------------------------------------------------------------------------- /tasks/rubocop.rake: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require 'rubocop/rake_task' 4 | 5 | RuboCop::RakeTask.new(:rubocop) do |t| 6 | t.options = ['--display-cop-names', '--parallel'] 7 | end 8 | --------------------------------------------------------------------------------