facter 4.0.41 → 4.0.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/docs/generate.rb +32 -0
- data/lib/docs/template.erb +34 -0
- data/lib/facter.rb +110 -25
- data/lib/facter/config.rb +386 -0
- data/lib/facter/custom_facts/core/aggregate.rb +51 -17
- data/lib/facter/custom_facts/core/execution.rb +54 -38
- data/lib/facter/custom_facts/core/execution/base.rb +46 -40
- data/lib/facter/custom_facts/util/collection.rb +1 -2
- data/lib/facter/custom_facts/util/directory_loader.rb +1 -1
- data/lib/facter/custom_facts/util/fact.rb +19 -2
- data/lib/facter/custom_facts/util/loader.rb +1 -1
- data/lib/facter/custom_facts/util/parser.rb +17 -3
- data/lib/facter/custom_facts/util/resolution.rb +41 -12
- data/lib/facter/facts/aix/interfaces.rb +1 -0
- data/lib/facter/facts/aix/memory/swap/available.rb +1 -1
- data/lib/facter/facts/aix/memory/swap/available_bytes.rb +1 -1
- data/lib/facter/facts/aix/memory/swap/total.rb +1 -1
- data/lib/facter/facts/aix/memory/swap/total_bytes.rb +1 -1
- data/lib/facter/facts/aix/memory/swap/used.rb +1 -1
- data/lib/facter/facts/aix/memory/system/available.rb +1 -1
- data/lib/facter/facts/aix/memory/system/available_bytes.rb +1 -1
- data/lib/facter/facts/aix/memory/system/total.rb +1 -1
- data/lib/facter/facts/aix/memory/system/total_bytes.rb +1 -1
- data/lib/facter/facts/aix/memory/system/used.rb +1 -1
- data/lib/facter/facts/aix/processors/speed.rb +1 -1
- data/lib/facter/facts/bsd/processors/speed.rb +1 -1
- data/lib/facter/facts/freebsd/is_virtual.rb +25 -0
- data/lib/facter/facts/freebsd/memory/swap/available.rb +1 -1
- data/lib/facter/facts/freebsd/memory/swap/available_bytes.rb +1 -1
- data/lib/facter/facts/freebsd/memory/swap/total.rb +1 -1
- data/lib/facter/facts/freebsd/memory/swap/total_bytes.rb +1 -1
- data/lib/facter/facts/freebsd/memory/swap/used.rb +1 -1
- data/lib/facter/facts/freebsd/memory/system/available.rb +1 -1
- data/lib/facter/facts/freebsd/memory/system/available_bytes.rb +1 -1
- data/lib/facter/facts/freebsd/memory/system/total.rb +1 -1
- data/lib/facter/facts/freebsd/memory/system/total_bytes.rb +1 -1
- data/lib/facter/facts/freebsd/memory/system/used.rb +1 -1
- data/lib/facter/facts/freebsd/processors/speed.rb +1 -1
- data/lib/facter/facts/freebsd/virtual.rb +22 -0
- data/lib/facter/facts/linux/dhcp_servers.rb +1 -0
- data/lib/facter/facts/linux/ec2_metadata.rb +1 -1
- data/lib/facter/facts/linux/ec2_userdata.rb +1 -1
- data/lib/facter/facts/linux/hypervisors/kvm.rb +1 -1
- data/lib/facter/facts/linux/hypervisors/xen.rb +1 -1
- data/lib/facter/facts/linux/interfaces.rb +1 -0
- data/lib/facter/facts/linux/is_virtual.rb +2 -2
- data/lib/facter/facts/linux/memory/swap/available.rb +1 -1
- data/lib/facter/facts/linux/memory/swap/available_bytes.rb +1 -1
- data/lib/facter/facts/linux/memory/swap/total.rb +1 -1
- data/lib/facter/facts/linux/memory/swap/total_bytes.rb +1 -1
- data/lib/facter/facts/linux/memory/swap/used.rb +1 -1
- data/lib/facter/facts/linux/memory/system/available.rb +1 -1
- data/lib/facter/facts/linux/memory/system/available_bytes.rb +1 -1
- data/lib/facter/facts/linux/memory/system/total.rb +1 -1
- data/lib/facter/facts/linux/memory/system/total_bytes.rb +1 -1
- data/lib/facter/facts/linux/memory/system/used.rb +1 -1
- data/lib/facter/facts/linux/processors/speed.rb +1 -1
- data/lib/facter/facts/linux/virtual.rb +1 -1
- data/lib/facter/facts/macosx/dhcp_servers.rb +1 -0
- data/lib/facter/facts/macosx/interfaces.rb +1 -0
- data/lib/facter/facts/macosx/memory/swap/available.rb +1 -1
- data/lib/facter/facts/macosx/memory/swap/available_bytes.rb +1 -1
- data/lib/facter/facts/macosx/memory/swap/total.rb +1 -1
- data/lib/facter/facts/macosx/memory/swap/total_bytes.rb +1 -1
- data/lib/facter/facts/macosx/memory/swap/used.rb +1 -1
- data/lib/facter/facts/macosx/memory/system/available.rb +1 -1
- data/lib/facter/facts/macosx/memory/system/available_bytes.rb +1 -1
- data/lib/facter/facts/macosx/memory/system/total.rb +1 -1
- data/lib/facter/facts/macosx/memory/system/total_bytes.rb +1 -1
- data/lib/facter/facts/macosx/memory/system/used.rb +1 -1
- data/lib/facter/facts/macosx/processors/speed.rb +1 -1
- data/lib/facter/facts/rhel/os/release.rb +1 -1
- data/lib/facter/facts/solaris/dhcp_servers.rb +1 -0
- data/lib/facter/facts/solaris/hypervisors/ldom.rb +3 -0
- data/lib/facter/facts/solaris/interfaces.rb +1 -0
- data/lib/facter/facts/solaris/is_virtual.rb +2 -2
- data/lib/facter/facts/solaris/ldom.rb +34 -4
- data/lib/facter/facts/solaris/memory/swap/available.rb +1 -1
- data/lib/facter/facts/solaris/memory/swap/available_bytes.rb +1 -1
- data/lib/facter/facts/solaris/memory/swap/total.rb +1 -1
- data/lib/facter/facts/solaris/memory/swap/total_bytes.rb +1 -1
- data/lib/facter/facts/solaris/memory/swap/used.rb +1 -1
- data/lib/facter/facts/solaris/memory/system/available.rb +1 -1
- data/lib/facter/facts/solaris/memory/system/available_bytes.rb +1 -1
- data/lib/facter/facts/solaris/memory/system/total.rb +1 -1
- data/lib/facter/facts/solaris/memory/system/total_bytes.rb +1 -1
- data/lib/facter/facts/solaris/memory/system/used.rb +1 -1
- data/lib/facter/facts/solaris/processors/speed.rb +1 -1
- data/lib/facter/facts/solaris/virtual.rb +1 -1
- data/lib/facter/facts/solaris/zones.rb +1 -1
- data/lib/facter/facts/windows/dhcp_servers.rb +1 -0
- data/lib/facter/facts/windows/interfaces.rb +1 -0
- data/lib/facter/facts/windows/memory/system/available.rb +1 -1
- data/lib/facter/facts/windows/memory/system/available_bytes.rb +1 -1
- data/lib/facter/facts/windows/memory/system/total.rb +1 -1
- data/lib/facter/facts/windows/memory/system/total_bytes.rb +1 -1
- data/lib/facter/facts/windows/memory/system/used.rb +1 -1
- data/lib/facter/facts/windows/os/release.rb +1 -1
- data/lib/facter/framework/benchmarking/timer.rb +4 -2
- data/lib/facter/framework/cli/cli.rb +20 -6
- data/lib/facter/framework/config/fact_groups.rb +10 -8
- data/lib/facter/framework/core/cache_manager.rb +79 -29
- data/lib/facter/framework/core/fact/internal/core_fact.rb +6 -1
- data/lib/facter/framework/core/fact/internal/internal_fact_manager.rb +38 -4
- data/lib/facter/framework/core/fact_augmenter.rb +1 -1
- data/lib/facter/framework/core/fact_loaders/external_fact_loader.rb +4 -2
- data/lib/facter/framework/core/fact_loaders/fact_loader.rb +17 -1
- data/lib/facter/framework/core/fact_manager.rb +15 -3
- data/lib/facter/framework/core/file_loader.rb +6 -2
- data/lib/facter/framework/core/options/config_file_options.rb +16 -5
- data/lib/facter/framework/core/options/option_store.rb +40 -20
- data/lib/facter/framework/detector/os_hierarchy.rb +5 -9
- data/lib/facter/framework/logging/logger.rb +3 -3
- data/lib/facter/models/fact_collection.rb +11 -1
- data/lib/facter/models/loaded_fact.rb +2 -1
- data/lib/facter/resolvers/aio_agent_version.rb +2 -2
- data/lib/facter/resolvers/aix/architecture_resolver.rb +19 -4
- data/lib/facter/resolvers/aix/disks.rb +6 -5
- data/lib/facter/resolvers/aix/filesystem_resolver.rb +2 -2
- data/lib/facter/resolvers/aix/hardware_resolver.rb +4 -3
- data/lib/facter/resolvers/aix/load_averages_resolver.rb +2 -1
- data/lib/facter/resolvers/aix/memory.rb +4 -3
- data/lib/facter/resolvers/aix/mountpoints.rb +6 -5
- data/lib/facter/resolvers/aix/networking_resolver.rb +4 -3
- data/lib/facter/resolvers/aix/nim.rb +1 -1
- data/lib/facter/resolvers/aix/os_level.rb +2 -2
- data/lib/facter/resolvers/aix/partitions.rb +7 -6
- data/lib/facter/resolvers/aix/processors.rb +5 -4
- data/lib/facter/resolvers/aix/serialnumber.rb +2 -2
- data/lib/facter/resolvers/augeas_resolver.rb +8 -2
- data/lib/facter/resolvers/base_resolver.rb +14 -4
- data/lib/facter/resolvers/bsd/processors.rb +13 -8
- data/lib/facter/resolvers/cloud.rb +2 -2
- data/lib/facter/resolvers/containers.rb +5 -4
- data/lib/facter/resolvers/debian_version.rb +2 -2
- data/lib/facter/resolvers/disk_resolver.rb +17 -6
- data/lib/facter/resolvers/dmi_decode.rb +1 -1
- data/lib/facter/resolvers/dmi_resolver.rb +5 -4
- data/lib/facter/resolvers/ec2.rb +5 -2
- data/lib/facter/resolvers/eos_release_resolver.rb +2 -2
- data/lib/facter/resolvers/facterversion_resolver.rb +1 -1
- data/lib/facter/resolvers/filesystems_resolver.rb +5 -2
- data/lib/facter/resolvers/fips_enabled_resolver.rb +5 -2
- data/lib/facter/resolvers/freebsd/dmi_resolver.rb +1 -1
- data/lib/facter/resolvers/freebsd/freebsd_version_resolver.rb +9 -7
- data/lib/facter/resolvers/freebsd/geom_resolver.rb +15 -22
- data/lib/facter/resolvers/freebsd/processors.rb +13 -8
- data/lib/facter/resolvers/freebsd/swap_memory_resolver.rb +5 -3
- data/lib/facter/resolvers/freebsd/system_memory_resolver.rb +4 -2
- data/lib/facter/resolvers/freebsd/virtual_resolver.rb +45 -0
- data/lib/facter/resolvers/gce.rb +3 -2
- data/lib/facter/resolvers/hostname_resolver.rb +69 -21
- data/lib/facter/resolvers/identity_resolver.rb +2 -1
- data/lib/facter/resolvers/linux/docker_uptime.rb +3 -2
- data/lib/facter/resolvers/linux/load_averages.rb +3 -2
- data/lib/facter/resolvers/load_averages.rb +5 -3
- data/lib/facter/resolvers/lpar_resolver.rb +1 -1
- data/lib/facter/resolvers/lsb_release_resolver.rb +1 -1
- data/lib/facter/resolvers/lspci.rb +1 -1
- data/lib/facter/resolvers/macosx/dmi_resolver.rb +1 -1
- data/lib/facter/resolvers/macosx/filesystems_resolver.rb +1 -1
- data/lib/facter/resolvers/macosx/load_averages_resolver.rb +2 -1
- data/lib/facter/resolvers/macosx/mountpoints_resolver.rb +9 -8
- data/lib/facter/resolvers/macosx/processor_resolver.rb +2 -1
- data/lib/facter/resolvers/macosx/swap_memory_resolver.rb +2 -1
- data/lib/facter/resolvers/macosx/system_memory_resolver.rb +2 -1
- data/lib/facter/resolvers/macosx/system_profiler_resolver.rb +4 -6
- data/lib/facter/resolvers/memory_resolver.rb +16 -16
- data/lib/facter/resolvers/mountpoints_resolver.rb +56 -25
- data/lib/facter/resolvers/networking_linux_resolver.rb +188 -83
- data/lib/facter/resolvers/networking_resolver.rb +9 -6
- data/lib/facter/resolvers/open_vz.rb +2 -4
- data/lib/facter/resolvers/os_release_resolver.rb +2 -2
- data/lib/facter/resolvers/partitions.rb +67 -63
- data/lib/facter/resolvers/path_resolver.rb +1 -1
- data/lib/facter/resolvers/processors_resolver.rb +10 -3
- data/lib/facter/resolvers/redhat_release_resolver.rb +2 -2
- data/lib/facter/resolvers/ruby_resolver.rb +1 -1
- data/lib/facter/resolvers/selinux_resolver.rb +4 -4
- data/lib/facter/resolvers/solaris/disks.rb +2 -2
- data/lib/facter/resolvers/solaris/dmi.rb +3 -1
- data/lib/facter/resolvers/solaris/dmi_sparc.rb +1 -1
- data/lib/facter/resolvers/solaris/filesystems.rb +1 -1
- data/lib/facter/resolvers/solaris/ipaddress.rb +2 -1
- data/lib/facter/resolvers/solaris/ldom.rb +1 -3
- data/lib/facter/resolvers/solaris/memory.rb +4 -3
- data/lib/facter/resolvers/solaris/mountpoints.rb +61 -0
- data/lib/facter/resolvers/solaris/networking.rb +51 -44
- data/lib/facter/resolvers/solaris/os_release.rb +7 -5
- data/lib/facter/resolvers/solaris/processors.rb +2 -1
- data/lib/facter/resolvers/solaris/zone.rb +1 -1
- data/lib/facter/resolvers/solaris/zone_name.rb +1 -1
- data/lib/facter/resolvers/ssh_resolver.rb +11 -7
- data/lib/facter/resolvers/suse_release_resolver.rb +2 -2
- data/lib/facter/resolvers/sw_vers_resolver.rb +2 -2
- data/lib/facter/resolvers/timezone_resolver.rb +1 -1
- data/lib/facter/resolvers/uname_resolver.rb +1 -1
- data/lib/facter/resolvers/uptime_resolver.rb +3 -3
- data/lib/facter/resolvers/virt_what.rb +1 -1
- data/lib/facter/resolvers/vmware.rb +1 -1
- data/lib/facter/resolvers/windows/aio_agent_version.rb +2 -2
- data/lib/facter/resolvers/windows/dmi_bios_resolver.rb +2 -2
- data/lib/facter/resolvers/windows/dmi_computersystem_resolver.rb +2 -2
- data/lib/facter/resolvers/windows/fips_resolver.rb +2 -1
- data/lib/facter/resolvers/windows/hardware_architecture_resolver.rb +2 -1
- data/lib/facter/resolvers/windows/identity_resolver.rb +2 -1
- data/lib/facter/resolvers/windows/kernel_resolver.rb +3 -1
- data/lib/facter/resolvers/windows/memory_resolver.rb +7 -1
- data/lib/facter/resolvers/windows/netkvm_resolver.rb +2 -1
- data/lib/facter/resolvers/windows/networking_resolver.rb +5 -4
- data/lib/facter/resolvers/windows/processors_resolver.rb +3 -2
- data/lib/facter/resolvers/windows/product_release_resolver.rb +2 -1
- data/lib/facter/resolvers/windows/ssh.rb +5 -3
- data/lib/facter/resolvers/windows/system32_resolver.rb +3 -1
- data/lib/facter/resolvers/windows/uptime_resolver.rb +3 -2
- data/lib/facter/resolvers/windows/virtualization_resolver.rb +3 -2
- data/lib/facter/resolvers/windows/win_os_description_resolver.rb +4 -2
- data/lib/facter/resolvers/wpar_resolver.rb +1 -1
- data/lib/facter/resolvers/xen.rb +2 -2
- data/lib/facter/resolvers/zfs.rb +2 -1
- data/lib/facter/resolvers/zpool.rb +2 -1
- data/lib/facter/util/aix/info_extractor.rb +24 -0
- data/lib/facter/util/aix/odm_query.rb +46 -0
- data/lib/facter/util/api_debugger.rb +33 -29
- data/lib/facter/util/facts/facts_utils.rb +14 -0
- data/lib/facter/util/facts/unit_converter.rb +61 -0
- data/lib/facter/util/facts/uptime_parser.rb +128 -0
- data/lib/facter/util/facts/virtual_detector.rb +90 -0
- data/lib/facter/util/facts/windows_release_finder.rb +55 -0
- data/lib/facter/{resolvers/macosx/utils → util/macosx}/system_profile_executor.rb +1 -1
- data/lib/facter/util/resolvers/aws_token.rb +37 -0
- data/lib/facter/{resolvers/utils → util/resolvers}/ffi/load_averages.rb +2 -2
- data/lib/facter/util/resolvers/filesystem_helper.rb +47 -0
- data/lib/facter/util/resolvers/fingerprint.rb +15 -0
- data/lib/facter/{resolvers/utils → util/resolvers}/http.rb +17 -10
- data/lib/facter/util/resolvers/networking.rb +90 -0
- data/lib/facter/util/resolvers/networking/dhcp.rb +21 -0
- data/lib/facter/util/resolvers/networking/networking.rb +109 -0
- data/lib/facter/util/resolvers/networking/primary_interface.rb +82 -0
- data/lib/facter/util/resolvers/ssh.rb +17 -0
- data/lib/facter/util/resolvers/ssh_helper.rb +31 -0
- data/lib/facter/{resolvers/utils → util/resolvers}/uptime_helper.rb +2 -2
- data/lib/facter/{framework/utils → util}/utils.rb +0 -0
- data/lib/facter/util/windows/win32ole.rb +30 -0
- data/lib/facter/version.rb +1 -1
- metadata +33 -44
- data/lib/facter/fact_groups.conf +0 -308
- data/lib/facter/facts/aix/puppet_version.rb +0 -15
- data/lib/facter/facts/freebsd/puppet_version.rb +0 -15
- data/lib/facter/facts/linux/puppet_version.rb +0 -15
- data/lib/facter/facts/macosx/puppet_version.rb +0 -15
- data/lib/facter/facts/solaris/puppet_version.rb +0 -15
- data/lib/facter/facts/windows/puppet_version.rb +0 -15
- data/lib/facter/facts_utils/facts_utils.rb +0 -12
- data/lib/facter/facts_utils/unit_converter.rb +0 -59
- data/lib/facter/facts_utils/uptime_parser.rb +0 -124
- data/lib/facter/facts_utils/virtual_detector.rb +0 -78
- data/lib/facter/facts_utils/windows_release_finder.rb +0 -51
- data/lib/facter/os_hierarchy.json +0 -36
- data/lib/facter/resolvers/aix/utils/info_extractor.rb +0 -20
- data/lib/facter/resolvers/aix/utils/odm_query.rb +0 -42
- data/lib/facter/resolvers/puppet_version_resolver.rb +0 -26
- data/lib/facter/resolvers/utils/filesystem_helper.rb +0 -43
- data/lib/facter/resolvers/utils/fingerprint.rb +0 -11
- data/lib/facter/resolvers/utils/networking.rb +0 -86
- data/lib/facter/resolvers/utils/ssh.rb +0 -13
- data/lib/facter/resolvers/utils/ssh_helper.rb +0 -27
- data/lib/facter/resolvers/windows/utils/win32ole.rb +0 -24
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 87e1b483df51f967d4e88c90f67ddfef304184d235d08746500c61619c56dee2
|
|
4
|
+
data.tar.gz: d573d4d221bc71e512c36a2f8218b0d70512ace56cb0eaa37dba3a9eee27bcde
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 49f5a8c11e45cdc6e9550e6fa50335700b8c43c048b46b1f091ea4b4a1f66588865a36c2ca1b447bea72c80a1548ca37d6f998eca4187047c6f2e95b2daf87d5
|
|
7
|
+
data.tar.gz: b6b21071a59dbfedc1499b6464e2556aa272f9fc99feb1674c6961a1a3a564570e9a7df127ad80140703ee320f73b1e41c82deec41dfb4160814544f1a0ae2d4
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
# Generates a markdown file containing fact documentation.
|
|
5
|
+
# usage: ruby generate.rb > facts.md
|
|
6
|
+
|
|
7
|
+
require 'yaml'
|
|
8
|
+
require 'erb'
|
|
9
|
+
require 'ostruct'
|
|
10
|
+
|
|
11
|
+
PATH_TO_SCHEMA = File.join(File.dirname(__FILE__), '../schema/facter.yaml')
|
|
12
|
+
PATH_TO_TEMPLATE = File.join(File.dirname(__FILE__), 'template.erb')
|
|
13
|
+
|
|
14
|
+
schema = YAML.load_file(PATH_TO_SCHEMA)
|
|
15
|
+
|
|
16
|
+
def format_facts(fact_hash)
|
|
17
|
+
scope = OpenStruct.new({
|
|
18
|
+
facts: fact_hash
|
|
19
|
+
})
|
|
20
|
+
|
|
21
|
+
erb = if ERB.instance_method(:initialize).parameters.assoc(:key) # Ruby 2.6+
|
|
22
|
+
ERB.new(File.read(PATH_TO_TEMPLATE), trim_mode: '-')
|
|
23
|
+
else
|
|
24
|
+
ERB.new(File.read(PATH_TO_TEMPLATE), nil, '-')
|
|
25
|
+
end
|
|
26
|
+
erb.result(scope.instance_eval { binding })
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
print "## Modern Facts\n\n"
|
|
30
|
+
print format_facts(schema.reject { |_name, info| info['hidden'] == true })
|
|
31
|
+
print "## Legacy Facts\n\n"
|
|
32
|
+
print format_facts(schema.reject { |_name, info| info['hidden'].nil? || info['hidden'] == false })
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<%# This template is used to generate a markdown file documenting facts. -%>
|
|
2
|
+
<%# Run 'ruby generate.rb > facts.md' to generate the markdown file. -%>
|
|
3
|
+
<%
|
|
4
|
+
def format_fact_element(name, info, indent = '')
|
|
5
|
+
subelements = (info['elements'] || {}).map{|n, i| format_fact_element(n, i, "#{indent} ")}.join('')
|
|
6
|
+
|
|
7
|
+
"#{indent}* `#{name}` (#{info['type']}) --- #{info['description']}\n#{subelements}"
|
|
8
|
+
end
|
|
9
|
+
-%>
|
|
10
|
+
<% facts.each do |name, schema| -%>
|
|
11
|
+
### `<%= name %>`
|
|
12
|
+
|
|
13
|
+
<% if schema['hidden'] -%>
|
|
14
|
+
This legacy fact is hidden by default in Facter's command-line output.
|
|
15
|
+
|
|
16
|
+
<% end -%>
|
|
17
|
+
**Type:** <%= schema['type'] %>
|
|
18
|
+
|
|
19
|
+
**Purpose:**
|
|
20
|
+
|
|
21
|
+
<%= schema['description'] %>
|
|
22
|
+
|
|
23
|
+
<% if schema['elements'] -%>
|
|
24
|
+
**Elements:**
|
|
25
|
+
|
|
26
|
+
<%= schema['elements'].map{|name, info| format_fact_element(name, info)}.join('') %>
|
|
27
|
+
<% end -%>
|
|
28
|
+
|
|
29
|
+
<% if schema['details'] -%>
|
|
30
|
+
**Details:**
|
|
31
|
+
|
|
32
|
+
<%= schema['details'] %>
|
|
33
|
+
<% end -%>
|
|
34
|
+
<% end -%>
|
data/lib/facter.rb
CHANGED
|
@@ -17,6 +17,12 @@ module Facter
|
|
|
17
17
|
@warn_once = []
|
|
18
18
|
|
|
19
19
|
class << self
|
|
20
|
+
# Method used by puppet-agent to retrieve facts
|
|
21
|
+
# @param args_as_string [string] facter cli arguments
|
|
22
|
+
#
|
|
23
|
+
# @return query result
|
|
24
|
+
#
|
|
25
|
+
# @api private
|
|
20
26
|
def resolve(args_as_string)
|
|
21
27
|
require 'facter/framework/cli/cli_launcher'
|
|
22
28
|
|
|
@@ -38,10 +44,6 @@ module Facter
|
|
|
38
44
|
end
|
|
39
45
|
end
|
|
40
46
|
|
|
41
|
-
def clear_messages
|
|
42
|
-
logger.debug('clear_messages is not implemented')
|
|
43
|
-
end
|
|
44
|
-
|
|
45
47
|
# Alias method for Facter.fact()
|
|
46
48
|
# @param name [string] fact name
|
|
47
49
|
#
|
|
@@ -83,8 +85,16 @@ module Facter
|
|
|
83
85
|
Options[:custom_dir] = []
|
|
84
86
|
LegacyFacter.collection.invalidate_custom_facts
|
|
85
87
|
LegacyFacter.collection.reload_custom_facts
|
|
88
|
+
SessionCache.invalidate_all_caches
|
|
89
|
+
nil
|
|
86
90
|
end
|
|
87
91
|
|
|
92
|
+
# Gets the value for a core fact, external or custom facts are
|
|
93
|
+
# not returned with this call. Returns `nil` if no such fact exists.
|
|
94
|
+
#
|
|
95
|
+
# @return [FactCollection] hash with fact names and values
|
|
96
|
+
#
|
|
97
|
+
# @api private
|
|
88
98
|
def core_value(user_query)
|
|
89
99
|
user_query = user_query.to_s
|
|
90
100
|
resolved_facts = Facter::FactManager.instance.resolve_core([user_query])
|
|
@@ -136,8 +146,16 @@ module Facter
|
|
|
136
146
|
LegacyFacter.define_fact(name, options, &block)
|
|
137
147
|
end
|
|
138
148
|
|
|
149
|
+
# Stores a proc that will be used to output custom messages.
|
|
150
|
+
# The proc must receive one parameter that will be the message to log.
|
|
151
|
+
# @param block [Proc] a block defining messages handler
|
|
152
|
+
#
|
|
153
|
+
# @return [nil]
|
|
154
|
+
#
|
|
155
|
+
# @api public
|
|
139
156
|
def on_message(&block)
|
|
140
157
|
Facter::Log.on_message(&block)
|
|
158
|
+
nil
|
|
141
159
|
end
|
|
142
160
|
|
|
143
161
|
# Check whether debugging is enabled
|
|
@@ -159,6 +177,18 @@ module Facter
|
|
|
159
177
|
Facter::Options[:debug] = debug_bool
|
|
160
178
|
end
|
|
161
179
|
|
|
180
|
+
def enable_sequential
|
|
181
|
+
Facter::Options[:sequential] = true
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
def disable_sequential
|
|
185
|
+
Facter::Options[:sequential] = false
|
|
186
|
+
end
|
|
187
|
+
|
|
188
|
+
def sequential?
|
|
189
|
+
Facter::Options[:sequential]
|
|
190
|
+
end
|
|
191
|
+
|
|
162
192
|
# Iterates over fact names and values
|
|
163
193
|
#
|
|
164
194
|
# @yieldparam [String] name the fact name
|
|
@@ -170,7 +200,6 @@ module Facter
|
|
|
170
200
|
def each
|
|
171
201
|
log_blocked_facts
|
|
172
202
|
resolved_facts = Facter::FactManager.instance.resolve_facts
|
|
173
|
-
SessionCache.invalidate_all_caches
|
|
174
203
|
|
|
175
204
|
resolved_facts.each do |fact|
|
|
176
205
|
yield(fact.name, fact.value)
|
|
@@ -206,6 +235,19 @@ module Facter
|
|
|
206
235
|
LegacyFacter.reset
|
|
207
236
|
Options[:custom_dir] = []
|
|
208
237
|
Options[:external_dir] = []
|
|
238
|
+
SessionCache.invalidate_all_caches
|
|
239
|
+
nil
|
|
240
|
+
end
|
|
241
|
+
|
|
242
|
+
# Flushes cached values for all facts. This does not cause code to be
|
|
243
|
+
# reloaded; it only clears the cached results.
|
|
244
|
+
#
|
|
245
|
+
# @return [void]
|
|
246
|
+
#
|
|
247
|
+
# @api public
|
|
248
|
+
def flush
|
|
249
|
+
LegacyFacter.flush
|
|
250
|
+
SessionCache.invalidate_all_caches
|
|
209
251
|
nil
|
|
210
252
|
end
|
|
211
253
|
|
|
@@ -219,27 +261,47 @@ module Facter
|
|
|
219
261
|
nil
|
|
220
262
|
end
|
|
221
263
|
|
|
222
|
-
#
|
|
223
|
-
#
|
|
264
|
+
# Enables/Disables external facts.
|
|
265
|
+
# @param enable_external [boolean]
|
|
224
266
|
#
|
|
267
|
+
# @return nil
|
|
268
|
+
#
|
|
269
|
+
# @api public
|
|
270
|
+
def load_external(enable_external)
|
|
271
|
+
# enable_external param needs negation because behind the scene
|
|
272
|
+
# no_external_facts= method is negating the parameter again.
|
|
273
|
+
Options[:no_external_facts] = !enable_external
|
|
274
|
+
|
|
275
|
+
if enable_external
|
|
276
|
+
logger.debug('Facter.load_external(true) called. External facts will be loaded')
|
|
277
|
+
else
|
|
278
|
+
logger.debug('Facter.load_external(false) called. External facts will NOT be loaded')
|
|
279
|
+
end
|
|
280
|
+
|
|
281
|
+
nil
|
|
282
|
+
end
|
|
283
|
+
|
|
284
|
+
# Register directories to be searched for custom facts. The registered directories
|
|
285
|
+
# must be absolute paths or they will be ignored.
|
|
225
286
|
# @param dirs [Array<String>] An array of searched directories
|
|
226
287
|
#
|
|
227
|
-
# @return [
|
|
288
|
+
# @return [nil]
|
|
228
289
|
#
|
|
229
290
|
# @api public
|
|
230
291
|
def search(*dirs)
|
|
231
292
|
Options[:custom_dir] += dirs
|
|
293
|
+
nil
|
|
232
294
|
end
|
|
233
295
|
|
|
234
296
|
# Registers directories to be searched for external facts.
|
|
235
|
-
#
|
|
236
297
|
# @param dirs [Array<String>] An array of searched directories
|
|
237
298
|
#
|
|
238
|
-
# @return [
|
|
299
|
+
# @return [nil]
|
|
239
300
|
#
|
|
240
301
|
# @api public
|
|
241
302
|
def search_external(dirs)
|
|
242
303
|
Options[:external_dir] += dirs
|
|
304
|
+
nil
|
|
243
305
|
end
|
|
244
306
|
|
|
245
307
|
# Returns the registered search directories.for external facts.
|
|
@@ -263,15 +325,17 @@ module Facter
|
|
|
263
325
|
# Gets a hash mapping fact names to their values
|
|
264
326
|
# The hash contains core facts, legacy facts, custom facts and external facts (all facts that can be resolved).
|
|
265
327
|
#
|
|
266
|
-
# @return [FactCollection]
|
|
328
|
+
# @return [FactCollection] hash with fact names and values
|
|
267
329
|
#
|
|
268
330
|
# @api public
|
|
269
331
|
def to_hash
|
|
270
332
|
log_blocked_facts
|
|
333
|
+
logger.debug("Facter version: #{Facter::VERSION}")
|
|
271
334
|
|
|
272
335
|
resolved_facts = Facter::FactManager.instance.resolve_facts
|
|
273
|
-
|
|
274
|
-
Facter::FactCollection.new.build_fact_collection!(resolved_facts)
|
|
336
|
+
resolved_facts.reject! { |fact| fact.type == :custom && fact.value.nil? }
|
|
337
|
+
collection = Facter::FactCollection.new.build_fact_collection!(resolved_facts)
|
|
338
|
+
Hash[collection]
|
|
275
339
|
end
|
|
276
340
|
|
|
277
341
|
# Check whether printing stack trace is enabled
|
|
@@ -286,7 +350,7 @@ module Facter
|
|
|
286
350
|
# Enable or disable trace
|
|
287
351
|
# @param bool [bool] Set trace on debug state
|
|
288
352
|
#
|
|
289
|
-
# @return [
|
|
353
|
+
# @return [bool] Value of trace debug state
|
|
290
354
|
#
|
|
291
355
|
# @api public
|
|
292
356
|
def trace(bool)
|
|
@@ -305,10 +369,22 @@ module Facter
|
|
|
305
369
|
@already_searched[user_query]&.value
|
|
306
370
|
end
|
|
307
371
|
|
|
372
|
+
# Gets the values for multiple facts.
|
|
373
|
+
#
|
|
374
|
+
# @param options [Hash] parameters for the fact - attributes
|
|
375
|
+
# of {Facter::Util::Fact} and {Facter::Util::Resolution} can be
|
|
376
|
+
# supplied here
|
|
377
|
+
# @param user_queries [Array] the fact names
|
|
378
|
+
#
|
|
379
|
+
# @return [FactCollection] hash with fact names and values
|
|
380
|
+
#
|
|
381
|
+
# @api public
|
|
308
382
|
def values(options, user_queries)
|
|
309
383
|
init_cli_options(options, user_queries)
|
|
384
|
+
Options[:show_legacy] = true
|
|
385
|
+
log_blocked_facts
|
|
310
386
|
resolved_facts = Facter::FactManager.instance.resolve_facts(user_queries)
|
|
311
|
-
|
|
387
|
+
resolved_facts.reject! { |fact| fact.type == :custom && fact.value.nil? }
|
|
312
388
|
|
|
313
389
|
if user_queries.count.zero?
|
|
314
390
|
Facter::FactCollection.new.build_fact_collection!(resolved_facts)
|
|
@@ -334,16 +410,20 @@ module Facter
|
|
|
334
410
|
def to_user_output(cli_options, *args)
|
|
335
411
|
init_cli_options(cli_options, args)
|
|
336
412
|
logger.info("executed with command line: #{ARGV.drop(1).join(' ')}")
|
|
413
|
+
logger.debug("Facter version: #{Facter::VERSION}")
|
|
337
414
|
log_blocked_facts
|
|
338
|
-
resolved_facts =
|
|
339
|
-
SessionCache.invalidate_all_caches
|
|
415
|
+
resolved_facts = resolve_facts_for_user_query(args)
|
|
340
416
|
fact_formatter = Facter::FormatterFactory.build(Facter::Options.get)
|
|
341
|
-
|
|
342
417
|
status = error_check(resolved_facts)
|
|
343
418
|
|
|
344
|
-
[fact_formatter.format(resolved_facts), status
|
|
419
|
+
[fact_formatter.format(resolved_facts), status]
|
|
345
420
|
end
|
|
346
421
|
|
|
422
|
+
# Logs an exception and an optional message
|
|
423
|
+
#
|
|
424
|
+
# @return [nil]
|
|
425
|
+
#
|
|
426
|
+
# @api public
|
|
347
427
|
def log_exception(exception, message = nil)
|
|
348
428
|
error_message = []
|
|
349
429
|
|
|
@@ -351,10 +431,10 @@ module Facter
|
|
|
351
431
|
|
|
352
432
|
parse_exception(exception, error_message)
|
|
353
433
|
logger.error(error_message.flatten.join("\n"))
|
|
434
|
+
nil
|
|
354
435
|
end
|
|
355
436
|
|
|
356
437
|
# Returns a list with the names of all solved facts
|
|
357
|
-
#
|
|
358
438
|
# @return [Array] the list with all the fact names
|
|
359
439
|
#
|
|
360
440
|
# @api public
|
|
@@ -363,7 +443,6 @@ module Facter
|
|
|
363
443
|
end
|
|
364
444
|
|
|
365
445
|
# Logs the message parameter as a warning.
|
|
366
|
-
#
|
|
367
446
|
# @param message [Object] the warning object to be displayed
|
|
368
447
|
#
|
|
369
448
|
# @return [nil]
|
|
@@ -375,7 +454,6 @@ module Facter
|
|
|
375
454
|
end
|
|
376
455
|
|
|
377
456
|
# Logs only once the same warning message.
|
|
378
|
-
#
|
|
379
457
|
# @param message [Object] the warning message object
|
|
380
458
|
#
|
|
381
459
|
# @return [nil]
|
|
@@ -392,6 +470,15 @@ module Facter
|
|
|
392
470
|
|
|
393
471
|
private
|
|
394
472
|
|
|
473
|
+
def resolve_facts_for_user_query(user_query)
|
|
474
|
+
resolved_facts = Facter::FactManager.instance.resolve_facts(user_query)
|
|
475
|
+
user_querie = resolved_facts.uniq(&:user_query).map(&:user_query).first
|
|
476
|
+
|
|
477
|
+
resolved_facts.reject! { |fact| fact.type == :custom && fact.value.nil? } if user_querie&.empty?
|
|
478
|
+
|
|
479
|
+
resolved_facts
|
|
480
|
+
end
|
|
481
|
+
|
|
395
482
|
def parse_exception(exception, error_message)
|
|
396
483
|
if exception.is_a?(Exception)
|
|
397
484
|
error_message << exception.message if error_message.empty?
|
|
@@ -426,7 +513,6 @@ module Facter
|
|
|
426
513
|
def resolve_fact(user_query)
|
|
427
514
|
user_query = user_query.to_s
|
|
428
515
|
resolved_facts = Facter::FactManager.instance.resolve_facts([user_query])
|
|
429
|
-
SessionCache.invalidate_all_caches
|
|
430
516
|
# we must make a distinction between custom facts that return nil and nil facts
|
|
431
517
|
# Nil facts should not be packaged as ResolvedFacts! (add_fact_to_searched_facts packages facts)
|
|
432
518
|
resolved_facts = resolved_facts.reject { |fact| fact.type == :nil }
|
|
@@ -451,14 +537,13 @@ module Facter
|
|
|
451
537
|
#
|
|
452
538
|
# @api private
|
|
453
539
|
def error_check(resolved_facts)
|
|
540
|
+
status = 0
|
|
454
541
|
if Options[:strict]
|
|
455
542
|
missing_names = resolved_facts.select { |fact| fact.type == :nil }.map(&:user_query)
|
|
456
543
|
|
|
457
544
|
if missing_names.count.positive?
|
|
458
545
|
status = 1
|
|
459
546
|
log_errors(missing_names)
|
|
460
|
-
else
|
|
461
|
-
status = nil
|
|
462
547
|
end
|
|
463
548
|
end
|
|
464
549
|
|
|
@@ -0,0 +1,386 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Facter
|
|
4
|
+
module Config
|
|
5
|
+
unless defined?(OS_HIERARCHY)
|
|
6
|
+
OS_HIERARCHY = [
|
|
7
|
+
{
|
|
8
|
+
'Linux' => [
|
|
9
|
+
{
|
|
10
|
+
'Debian' => %w[
|
|
11
|
+
Elementary
|
|
12
|
+
Ubuntu
|
|
13
|
+
Raspbian
|
|
14
|
+
]
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
'Rhel' => %w[
|
|
18
|
+
Fedora
|
|
19
|
+
Amzn
|
|
20
|
+
Centos
|
|
21
|
+
Ol
|
|
22
|
+
Scientific
|
|
23
|
+
]
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
'Sles' => [
|
|
27
|
+
'Opensuse'
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
'Bsd' => [
|
|
34
|
+
'Freebsd'
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
'Solaris',
|
|
38
|
+
'Macosx',
|
|
39
|
+
'Windows',
|
|
40
|
+
'Aix'
|
|
41
|
+
].freeze
|
|
42
|
+
end
|
|
43
|
+
unless defined? FACT_GROUPS
|
|
44
|
+
FACT_GROUPS = {
|
|
45
|
+
'AIX NIM type' => [
|
|
46
|
+
'nim_type'
|
|
47
|
+
],
|
|
48
|
+
'EC2' => %w[
|
|
49
|
+
ec2_metadata
|
|
50
|
+
ec2_userdata
|
|
51
|
+
],
|
|
52
|
+
'GCE' => [
|
|
53
|
+
'gce'
|
|
54
|
+
],
|
|
55
|
+
'Xen' => %w[
|
|
56
|
+
xen
|
|
57
|
+
xendomains
|
|
58
|
+
],
|
|
59
|
+
'augeas' => %w[
|
|
60
|
+
augeas
|
|
61
|
+
augeasversion
|
|
62
|
+
],
|
|
63
|
+
'desktop management interface' => %w[
|
|
64
|
+
dmi
|
|
65
|
+
bios_vendor
|
|
66
|
+
bios_version
|
|
67
|
+
bios_release_date
|
|
68
|
+
boardassettag
|
|
69
|
+
boardmanufacturer
|
|
70
|
+
boardproductname
|
|
71
|
+
boardserialnumber
|
|
72
|
+
chassisassettag
|
|
73
|
+
manufacturer
|
|
74
|
+
productname
|
|
75
|
+
serialnumber
|
|
76
|
+
uuid
|
|
77
|
+
chassistype
|
|
78
|
+
],
|
|
79
|
+
'disks' => %w[
|
|
80
|
+
blockdevices
|
|
81
|
+
disks
|
|
82
|
+
],
|
|
83
|
+
'file system' => %w[
|
|
84
|
+
mountpoints
|
|
85
|
+
filesystems
|
|
86
|
+
partitions
|
|
87
|
+
],
|
|
88
|
+
'fips' => [
|
|
89
|
+
'fips_enabled'
|
|
90
|
+
],
|
|
91
|
+
'hypervisors' => [
|
|
92
|
+
'hypervisors'
|
|
93
|
+
],
|
|
94
|
+
'id' => %w[
|
|
95
|
+
id
|
|
96
|
+
gid
|
|
97
|
+
identity
|
|
98
|
+
],
|
|
99
|
+
'kernel' => %w[
|
|
100
|
+
kernel
|
|
101
|
+
kernelversion
|
|
102
|
+
kernelrelease
|
|
103
|
+
kernelmajversion
|
|
104
|
+
],
|
|
105
|
+
'load_average' => [
|
|
106
|
+
'load_averages'
|
|
107
|
+
],
|
|
108
|
+
'memory' => %w[
|
|
109
|
+
memory
|
|
110
|
+
memoryfree
|
|
111
|
+
memoryfree_mb
|
|
112
|
+
memorysize
|
|
113
|
+
memorysize_mb
|
|
114
|
+
swapfree
|
|
115
|
+
swapfree_mb
|
|
116
|
+
swapsize
|
|
117
|
+
swapsize_mb
|
|
118
|
+
swapencrypted
|
|
119
|
+
],
|
|
120
|
+
'networking' => %w[
|
|
121
|
+
networking
|
|
122
|
+
hostname
|
|
123
|
+
ipaddress
|
|
124
|
+
ipaddress6
|
|
125
|
+
netmask
|
|
126
|
+
netmask6
|
|
127
|
+
network
|
|
128
|
+
network6
|
|
129
|
+
scope6
|
|
130
|
+
macaddress
|
|
131
|
+
interfaces
|
|
132
|
+
domain
|
|
133
|
+
fqdn
|
|
134
|
+
dhcp_servers
|
|
135
|
+
],
|
|
136
|
+
'operating system' => %w[
|
|
137
|
+
os
|
|
138
|
+
operatingsystem
|
|
139
|
+
osfamily
|
|
140
|
+
operatingsystemrelease
|
|
141
|
+
operatingsystemmajrelease
|
|
142
|
+
hardwaremodel
|
|
143
|
+
architecture
|
|
144
|
+
lsbdistid
|
|
145
|
+
lsbdistrelease
|
|
146
|
+
lsbdistcodename
|
|
147
|
+
lsbdistdescription
|
|
148
|
+
lsbmajdistrelease
|
|
149
|
+
lsbminordistrelease
|
|
150
|
+
lsbrelease
|
|
151
|
+
macosx_buildversion
|
|
152
|
+
macosx_productname
|
|
153
|
+
macosx_productversion
|
|
154
|
+
macosx_productversion_major
|
|
155
|
+
macosx_productversion_minor
|
|
156
|
+
windows_edition_id
|
|
157
|
+
windows_installation_type
|
|
158
|
+
windows_product_name
|
|
159
|
+
windows_release_id
|
|
160
|
+
system32
|
|
161
|
+
selinux
|
|
162
|
+
selinux_enforced
|
|
163
|
+
selinux_policyversion
|
|
164
|
+
selinux_current_mode
|
|
165
|
+
selinux_config_mode
|
|
166
|
+
selinux_config_policy
|
|
167
|
+
],
|
|
168
|
+
'path' => [
|
|
169
|
+
'path'
|
|
170
|
+
],
|
|
171
|
+
'processor' => %w[
|
|
172
|
+
processors
|
|
173
|
+
processorcount
|
|
174
|
+
physicalprocessorcount
|
|
175
|
+
hardwareisa
|
|
176
|
+
],
|
|
177
|
+
'ssh' => %w[
|
|
178
|
+
ssh
|
|
179
|
+
sshdsakey
|
|
180
|
+
sshrsakey
|
|
181
|
+
sshecdsakey
|
|
182
|
+
sshed25519key
|
|
183
|
+
sshfp_dsa
|
|
184
|
+
sshfp_rsa
|
|
185
|
+
sshfp_ecdsa
|
|
186
|
+
sshfp_ed25519
|
|
187
|
+
],
|
|
188
|
+
'system profiler' => %w[
|
|
189
|
+
system_profiler
|
|
190
|
+
sp_boot_mode
|
|
191
|
+
sp_boot_rom_version
|
|
192
|
+
sp_boot_volume
|
|
193
|
+
sp_cpu_type
|
|
194
|
+
sp_current_processor_speed
|
|
195
|
+
sp_kernel_version
|
|
196
|
+
sp_l2_cache_core
|
|
197
|
+
sp_l3_cache
|
|
198
|
+
sp_local_host_name
|
|
199
|
+
sp_machine_model
|
|
200
|
+
sp_machine_name
|
|
201
|
+
sp_number_processors
|
|
202
|
+
sp_os_version
|
|
203
|
+
sp_packages
|
|
204
|
+
sp_physical_memory
|
|
205
|
+
sp_platform_uuid
|
|
206
|
+
sp_secure_vm
|
|
207
|
+
sp_serial_number
|
|
208
|
+
sp_smc_version_system
|
|
209
|
+
sp_uptime
|
|
210
|
+
sp_user_name
|
|
211
|
+
],
|
|
212
|
+
'timezone' => [
|
|
213
|
+
'timezone'
|
|
214
|
+
],
|
|
215
|
+
'uptime' => %w[
|
|
216
|
+
system_uptime
|
|
217
|
+
uptime
|
|
218
|
+
uptime_days
|
|
219
|
+
uptime_hours
|
|
220
|
+
uptime_seconds
|
|
221
|
+
],
|
|
222
|
+
'virtualization' => %w[
|
|
223
|
+
virtual
|
|
224
|
+
is_virtual
|
|
225
|
+
cloud
|
|
226
|
+
],
|
|
227
|
+
'ldom' => [
|
|
228
|
+
'ldom'
|
|
229
|
+
],
|
|
230
|
+
'Solaris zone' => %w[
|
|
231
|
+
zones
|
|
232
|
+
zonename
|
|
233
|
+
solaris_zones
|
|
234
|
+
],
|
|
235
|
+
'ZFS' => %w[
|
|
236
|
+
zfs_version
|
|
237
|
+
zfs_featurenumbers
|
|
238
|
+
],
|
|
239
|
+
'ZFS storage pool' => %w[
|
|
240
|
+
zpool_version
|
|
241
|
+
zpool_featureflags
|
|
242
|
+
zpool_featurenumbers
|
|
243
|
+
],
|
|
244
|
+
'legacy' => [
|
|
245
|
+
'architecture',
|
|
246
|
+
'augeasversion',
|
|
247
|
+
'bios_release_date',
|
|
248
|
+
'bios_vendor',
|
|
249
|
+
'bios_version',
|
|
250
|
+
'blockdevice_*_model',
|
|
251
|
+
'blockdevice_*_size',
|
|
252
|
+
'blockdevice_*_vendor',
|
|
253
|
+
'blockdevices',
|
|
254
|
+
'boardassettag',
|
|
255
|
+
'boardmanufacturer',
|
|
256
|
+
'boardproductname',
|
|
257
|
+
'boardserialnumber',
|
|
258
|
+
'chassisassettag',
|
|
259
|
+
'chassistype',
|
|
260
|
+
'dhcp_servers',
|
|
261
|
+
'domain',
|
|
262
|
+
'fqdn',
|
|
263
|
+
'gid',
|
|
264
|
+
'hardwareisa',
|
|
265
|
+
'hardwaremodel',
|
|
266
|
+
'hostname',
|
|
267
|
+
'id',
|
|
268
|
+
'interfaces',
|
|
269
|
+
'ipaddress',
|
|
270
|
+
'ipaddress_.*',
|
|
271
|
+
'ipaddress_*',
|
|
272
|
+
'ipaddress6',
|
|
273
|
+
'ipaddress6_.*',
|
|
274
|
+
'ipaddress6_*',
|
|
275
|
+
'ldom_*',
|
|
276
|
+
'lsbdistcodename',
|
|
277
|
+
'lsbdistdescription',
|
|
278
|
+
'lsbdistid',
|
|
279
|
+
'lsbdistrelease',
|
|
280
|
+
'lsbmajdistrelease',
|
|
281
|
+
'lsbminordistrelease',
|
|
282
|
+
'lsbrelease',
|
|
283
|
+
'macaddress',
|
|
284
|
+
'macaddress_.*',
|
|
285
|
+
'macaddress_*',
|
|
286
|
+
'macosx_buildversion',
|
|
287
|
+
'macosx_productname',
|
|
288
|
+
'macosx_productversion',
|
|
289
|
+
'macosx_productversion_major',
|
|
290
|
+
'macosx_productversion_minor',
|
|
291
|
+
'manufacturer',
|
|
292
|
+
'memoryfree',
|
|
293
|
+
'memoryfree_mb',
|
|
294
|
+
'memorysize',
|
|
295
|
+
'memorysize_mb',
|
|
296
|
+
'mtu_.*',
|
|
297
|
+
'mtu_*',
|
|
298
|
+
'netmask',
|
|
299
|
+
'netmask_.*',
|
|
300
|
+
'netmask_*',
|
|
301
|
+
'netmask6',
|
|
302
|
+
'netmask6_.*',
|
|
303
|
+
'netmask6_*',
|
|
304
|
+
'network',
|
|
305
|
+
'network_.*',
|
|
306
|
+
'network_*',
|
|
307
|
+
'network6',
|
|
308
|
+
'network6_.*',
|
|
309
|
+
'network6_*',
|
|
310
|
+
'operatingsystem',
|
|
311
|
+
'operatingsystemmajrelease',
|
|
312
|
+
'operatingsystemrelease',
|
|
313
|
+
'osfamily',
|
|
314
|
+
'physicalprocessorcount',
|
|
315
|
+
'processor.*',
|
|
316
|
+
'processor*',
|
|
317
|
+
'processorcount',
|
|
318
|
+
'productname',
|
|
319
|
+
'rubyplatform',
|
|
320
|
+
'rubysitedir',
|
|
321
|
+
'rubyversion',
|
|
322
|
+
'scope6',
|
|
323
|
+
'scope6_.*',
|
|
324
|
+
'selinux',
|
|
325
|
+
'selinux_config_mode',
|
|
326
|
+
'selinux_config_policy',
|
|
327
|
+
'selinux_current_mode',
|
|
328
|
+
'selinux_enforced',
|
|
329
|
+
'selinux_policyversion',
|
|
330
|
+
'serialnumber',
|
|
331
|
+
'sp_*',
|
|
332
|
+
'sp_boot_mode',
|
|
333
|
+
'sp_boot_rom_version',
|
|
334
|
+
'sp_boot_volume',
|
|
335
|
+
'sp_cpu_type',
|
|
336
|
+
'sp_current_processor_speed',
|
|
337
|
+
'sp_kernel_version',
|
|
338
|
+
'sp_l2_cache_core',
|
|
339
|
+
'sp_l3_cache',
|
|
340
|
+
'sp_local_host_name',
|
|
341
|
+
'sp_machine_model',
|
|
342
|
+
'sp_machine_name',
|
|
343
|
+
'sp_number_processors',
|
|
344
|
+
'sp_os_version',
|
|
345
|
+
'sp_packages',
|
|
346
|
+
'sp_physical_memory',
|
|
347
|
+
'sp_platform_uuid',
|
|
348
|
+
'sp_secure_vm',
|
|
349
|
+
'sp_serial_number',
|
|
350
|
+
'sp_smc_version_system',
|
|
351
|
+
'sp_uptime',
|
|
352
|
+
'sp_user_name',
|
|
353
|
+
'ssh.*key',
|
|
354
|
+
'ssh*key',
|
|
355
|
+
'sshfp_.*',
|
|
356
|
+
'sshfp_*',
|
|
357
|
+
'swapencrypted',
|
|
358
|
+
'swapfree',
|
|
359
|
+
'swapfree_mb',
|
|
360
|
+
'swapsize',
|
|
361
|
+
'swapsize_mb',
|
|
362
|
+
'system32',
|
|
363
|
+
'uptime',
|
|
364
|
+
'uptime_days',
|
|
365
|
+
'uptime_hours',
|
|
366
|
+
'uptime_seconds',
|
|
367
|
+
'uuid',
|
|
368
|
+
'windows_edition_id',
|
|
369
|
+
'windows_installation_type',
|
|
370
|
+
'windows_product_name',
|
|
371
|
+
'windows_release_id',
|
|
372
|
+
'xendomains',
|
|
373
|
+
'zone_*_brand',
|
|
374
|
+
'zone_*_id',
|
|
375
|
+
'zone_*_iptype',
|
|
376
|
+
'zone_*_name',
|
|
377
|
+
'zone_*_path',
|
|
378
|
+
'zone_*_status',
|
|
379
|
+
'zone_*_uuid',
|
|
380
|
+
'zonename',
|
|
381
|
+
'zones'
|
|
382
|
+
]
|
|
383
|
+
}.freeze
|
|
384
|
+
end
|
|
385
|
+
end
|
|
386
|
+
end
|