facter 4.0.9.pre → 4.0.10.pre
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/rtc.yml +11 -0
- data/.rubocop_todo.yml +10 -190
- data/VERSION +1 -1
- data/facter.gemspec +1 -0
- data/lib/custom_facts/core/aggregate.rb +4 -6
- data/lib/custom_facts/core/execution.rb +1 -1
- data/lib/custom_facts/core/execution/base.rb +15 -24
- data/lib/custom_facts/core/execution/posix.rb +2 -2
- data/lib/custom_facts/core/resolvable.rb +1 -1
- data/lib/custom_facts/core/suitable.rb +2 -1
- data/lib/custom_facts/util/fact.rb +3 -3
- data/lib/custom_facts/util/loader.rb +2 -2
- data/lib/custom_facts/util/parser.rb +7 -7
- data/lib/custom_facts/util/resolution.rb +1 -3
- data/lib/custom_facts/version.rb +1 -1
- data/lib/facter.rb +217 -41
- data/lib/facts/aix/augeas/version.rb +4 -1
- data/lib/facts/aix/filesystems.rb +14 -0
- data/lib/facts/aix/identity/user.rb +17 -0
- data/lib/facts/aix/puppet_version.rb +15 -0
- data/lib/facts/aix/system_uptime/days.rb +16 -0
- data/lib/facts/aix/system_uptime/hours.rb +16 -0
- data/lib/facts/aix/system_uptime/seconds.rb +16 -0
- data/lib/facts/aix/system_uptime/uptime.rb +16 -0
- data/lib/facts/aix/timezone.rb +14 -0
- data/lib/facts/debian/augeas/version.rb +19 -0
- data/lib/facts/debian/dmi/bios/release_date.rb +2 -1
- data/lib/facts/debian/dmi/bios/vendor.rb +2 -1
- data/lib/facts/debian/dmi/bios/version.rb +2 -1
- data/lib/facts/debian/dmi/board/manufacturer.rb +2 -1
- data/lib/facts/debian/dmi/board/product.rb +2 -1
- data/lib/facts/debian/dmi/board/serial_number.rb +2 -1
- data/lib/facts/debian/dmi/chassis/asset_tag.rb +2 -1
- data/lib/facts/debian/dmi/chassis/type.rb +2 -1
- data/lib/facts/debian/dmi/manufacturer.rb +2 -1
- data/lib/facts/debian/dmi/product/name.rb +2 -1
- data/lib/facts/debian/identity/user.rb +17 -0
- data/lib/facts/debian/interfaces.rb +16 -0
- data/lib/facts/debian/memory/swap/available.rb +2 -1
- data/lib/facts/debian/memory/swap/available_bytes.rb +4 -1
- data/lib/facts/debian/memory/swap/total.rb +2 -1
- data/lib/facts/debian/memory/swap/total_bytes.rb +3 -1
- data/lib/facts/debian/memory/system/available.rb +3 -1
- data/lib/facts/debian/memory/system/available_bytes.rb +4 -1
- data/lib/facts/debian/memory/system/total.rb +2 -1
- data/lib/facts/debian/memory/system/total_bytes.rb +3 -1
- data/lib/facts/debian/networking/mac.rb +18 -0
- data/lib/facts/debian/os/distro/codename.rb +21 -0
- data/lib/facts/debian/os/distro/description.rb +21 -0
- data/lib/facts/debian/os/distro/id.rb +21 -0
- data/lib/facts/debian/os/distro/release.rb +31 -0
- data/lib/facts/debian/os/distro/specification.rb +21 -0
- data/lib/facts/debian/os/hardware.rb +2 -1
- data/lib/facts/debian/os/selinux/config_mode.rb +21 -0
- data/lib/facts/debian/os/selinux/config_policy.rb +21 -0
- data/lib/facts/debian/os/selinux/current_mode.rb +21 -0
- data/lib/facts/debian/os/selinux/enabled.rb +21 -0
- data/lib/facts/debian/os/selinux/enforced.rb +21 -0
- data/lib/facts/debian/os/selinux/policy_version.rb +21 -0
- data/lib/facts/debian/processors/count.rb +2 -1
- data/lib/facts/debian/processors/isa.rb +3 -2
- data/lib/facts/debian/processors/physicalcount.rb +2 -1
- data/lib/facts/debian/puppet_version.rb +15 -0
- data/lib/facts/debian/ruby/platform.rb +2 -1
- data/lib/facts/debian/ruby/sitedir.rb +2 -1
- data/lib/facts/debian/system_uptime/days.rb +2 -1
- data/lib/facts/debian/system_uptime/hours.rb +2 -1
- data/lib/facts/debian/system_uptime/seconds.rb +18 -0
- data/lib/facts/debian/system_uptime/uptime.rb +2 -1
- data/lib/facts/el/augeas/version.rb +19 -0
- data/lib/facts/el/dmi/bios/release_date.rb +2 -1
- data/lib/facts/el/dmi/bios/vendor.rb +2 -1
- data/lib/facts/el/dmi/bios/version.rb +2 -1
- data/lib/facts/el/dmi/board/manufacturer.rb +2 -1
- data/lib/facts/el/dmi/board/product.rb +2 -1
- data/lib/facts/el/dmi/board/serial_number.rb +2 -1
- data/lib/facts/el/dmi/chassis/asset_tag.rb +2 -1
- data/lib/facts/el/dmi/chassis/type.rb +2 -1
- data/lib/facts/el/dmi/manufacturer.rb +2 -1
- data/lib/facts/el/dmi/product/name.rb +2 -1
- data/lib/facts/el/dmi/product/serial_number.rb +2 -1
- data/lib/facts/el/dmi/product/uuid.rb +2 -1
- data/lib/facts/el/identity/user.rb +17 -0
- data/lib/facts/el/interfaces.rb +16 -0
- data/lib/facts/el/memory/swap/available.rb +2 -1
- data/lib/facts/el/memory/swap/available_bytes.rb +3 -1
- data/lib/facts/el/memory/swap/total.rb +2 -1
- data/lib/facts/el/memory/swap/total_bytes.rb +3 -1
- data/lib/facts/el/memory/system/available.rb +2 -1
- data/lib/facts/el/memory/system/available_bytes.rb +3 -1
- data/lib/facts/el/memory/system/total.rb +2 -1
- data/lib/facts/el/memory/system/total_bytes.rb +3 -1
- data/lib/facts/el/networking/mac.rb +18 -0
- data/lib/facts/el/os/distro/codename.rb +21 -0
- data/lib/facts/el/os/distro/description.rb +21 -0
- data/lib/facts/el/os/distro/id.rb +21 -0
- data/lib/facts/el/os/distro/release.rb +31 -0
- data/lib/facts/el/os/distro/specification.rb +21 -0
- data/lib/facts/el/os/hardware.rb +2 -1
- data/lib/facts/el/os/selinux/config_mode.rb +21 -0
- data/lib/facts/el/os/selinux/config_policy.rb +21 -0
- data/lib/facts/el/os/selinux/current_mode.rb +21 -0
- data/lib/facts/el/os/selinux/enabled.rb +21 -0
- data/lib/facts/el/os/selinux/enforced.rb +21 -0
- data/lib/facts/el/os/selinux/policy_version.rb +21 -0
- data/lib/facts/el/processor.rb +19 -0
- data/lib/facts/el/processors/count.rb +2 -1
- data/lib/facts/el/processors/isa.rb +3 -1
- data/lib/facts/el/processors/physicalcount.rb +3 -1
- data/lib/facts/el/puppet_version.rb +15 -0
- data/lib/facts/el/ruby/platform.rb +3 -1
- data/lib/facts/el/ruby/sitedir.rb +3 -1
- data/lib/facts/el/ruby/version.rb +1 -0
- data/lib/facts/el/sshalgorithmkey.rb +16 -0
- data/lib/facts/el/sshfp_algorithm.rb +19 -0
- data/lib/facts/el/system_uptime/days.rb +3 -1
- data/lib/facts/el/system_uptime/hours.rb +3 -1
- data/lib/facts/el/system_uptime/seconds.rb +3 -1
- data/lib/facts/el/system_uptime/uptime.rb +3 -1
- data/lib/facts/macosx/augeas/version.rb +19 -0
- data/lib/facts/macosx/dmi/product/name.rb +2 -1
- data/lib/facts/macosx/identity/group.rb +2 -0
- data/lib/facts/macosx/identity/user.rb +2 -1
- data/lib/facts/macosx/interfaces.rb +15 -0
- data/lib/facts/macosx/memory/swap/available.rb +2 -1
- data/lib/facts/macosx/memory/swap/available_bytes.rb +3 -1
- data/lib/facts/macosx/memory/swap/encrypted.rb +2 -1
- data/lib/facts/macosx/memory/swap/total.rb +2 -1
- data/lib/facts/macosx/memory/swap/total_bytes.rb +3 -1
- data/lib/facts/macosx/memory/system/available.rb +2 -1
- data/lib/facts/macosx/memory/system/available_bytes.rb +3 -1
- data/lib/facts/macosx/memory/system/total.rb +2 -1
- data/lib/facts/macosx/memory/system/total_bytes.rb +3 -1
- data/lib/facts/macosx/networking/mac.rb +18 -0
- data/lib/facts/macosx/os/hardware.rb +2 -1
- data/lib/facts/macosx/os/macosx/build.rb +2 -2
- data/lib/facts/macosx/os/macosx/product.rb +2 -2
- data/lib/facts/macosx/os/macosx/version.rb +5 -1
- data/lib/facts/macosx/os/release.rb +11 -5
- data/lib/facts/macosx/processors/count.rb +2 -1
- data/lib/facts/macosx/processors/isa.rb +2 -1
- data/lib/facts/macosx/processors/models.rb +6 -1
- data/lib/facts/macosx/processors/physicalcount.rb +2 -1
- data/lib/facts/macosx/{augeas.rb → puppet_version.rb} +4 -3
- data/lib/facts/macosx/ruby/platform.rb +2 -2
- data/lib/facts/macosx/ruby/sitedir.rb +2 -2
- data/lib/facts/macosx/ssh.rb +26 -0
- data/lib/facts/macosx/sshalgorithmkey.rb +16 -0
- data/lib/facts/macosx/sshfp_algorithm.rb +19 -0
- data/lib/facts/macosx/system_profiler/boot_mode.rb +2 -1
- data/lib/facts/macosx/system_profiler/boot_rom_version.rb +2 -1
- data/lib/facts/macosx/system_profiler/boot_volume.rb +2 -1
- data/lib/facts/macosx/system_profiler/computer_name.rb +2 -1
- data/lib/facts/macosx/system_profiler/cores.rb +2 -1
- data/lib/facts/macosx/system_profiler/hardware_uuid.rb +2 -1
- data/lib/facts/macosx/system_profiler/kernel_version.rb +2 -1
- data/lib/facts/macosx/system_profiler/l2_cache_per_core.rb +2 -1
- data/lib/facts/macosx/system_profiler/l3_cache.rb +2 -1
- data/lib/facts/macosx/system_profiler/memory.rb +2 -1
- data/lib/facts/macosx/system_profiler/model_identifier.rb +2 -1
- data/lib/facts/macosx/system_profiler/model_name.rb +2 -1
- data/lib/facts/macosx/system_profiler/processor_name.rb +2 -1
- data/lib/facts/macosx/system_profiler/processor_speed.rb +2 -1
- data/lib/facts/macosx/system_profiler/processors.rb +2 -1
- data/lib/facts/macosx/system_profiler/secure_virtual_memory.rb +2 -1
- data/lib/facts/macosx/system_profiler/serial_number.rb +2 -1
- data/lib/facts/macosx/system_profiler/smc_version.rb +2 -1
- data/lib/facts/macosx/system_profiler/system_version.rb +2 -1
- data/lib/facts/macosx/system_profiler/uptime.rb +2 -1
- data/lib/facts/macosx/system_profiler/username.rb +2 -1
- data/lib/facts/macosx/system_uptime/days.rb +2 -1
- data/lib/facts/macosx/system_uptime/hours.rb +2 -1
- data/lib/facts/macosx/system_uptime/seconds.rb +2 -1
- data/lib/facts/macosx/system_uptime/uptime.rb +2 -1
- data/lib/facts/sles/augeas/version.rb +19 -0
- data/lib/facts/sles/disks.rb +15 -0
- data/lib/facts/sles/dmi/bios/release_date.rb +19 -0
- data/lib/facts/sles/dmi/bios/vendor.rb +19 -0
- data/lib/facts/sles/dmi/bios/version.rb +19 -0
- data/lib/facts/sles/dmi/board/manufacturer.rb +19 -0
- data/lib/facts/sles/dmi/board/product.rb +19 -0
- data/lib/facts/sles/dmi/board/serial_number.rb +19 -0
- data/lib/facts/sles/dmi/chassis/asset_tag.rb +19 -0
- data/lib/facts/sles/dmi/chassis/type.rb +19 -0
- data/lib/facts/sles/dmi/manufacturer.rb +17 -0
- data/lib/facts/sles/dmi/product/name.rb +19 -0
- data/lib/facts/sles/dmi/product/serial_number.rb +19 -0
- data/lib/facts/sles/dmi/product/uuid.rb +19 -0
- data/lib/facts/sles/filesystems.rb +14 -0
- data/lib/facts/sles/fips_enabled.rb +14 -0
- data/lib/facts/sles/identity/user.rb +17 -0
- data/lib/facts/sles/interfaces.rb +16 -0
- data/lib/facts/sles/load_averages.rb +14 -0
- data/lib/facts/sles/memory/swap/available.rb +2 -1
- data/lib/facts/sles/memory/swap/available_bytes.rb +3 -1
- data/lib/facts/sles/memory/swap/total.rb +2 -1
- data/lib/facts/sles/memory/swap/total_bytes.rb +3 -1
- data/lib/facts/sles/memory/swap/used.rb +1 -1
- data/lib/facts/sles/memory/swap/used_bytes.rb +1 -1
- data/lib/facts/sles/memory/system/available.rb +2 -1
- data/lib/facts/sles/memory/system/available_bytes.rb +3 -1
- data/lib/facts/sles/memory/system/total.rb +2 -1
- data/lib/facts/sles/memory/system/total_bytes.rb +3 -1
- data/lib/facts/sles/mountpoints.rb +21 -0
- data/lib/facts/sles/networking/mac.rb +18 -0
- data/lib/facts/sles/os/distro/codename.rb +21 -0
- data/lib/facts/sles/os/distro/description.rb +21 -0
- data/lib/facts/sles/os/distro/id.rb +21 -0
- data/lib/facts/sles/os/distro/release.rb +31 -0
- data/lib/facts/sles/os/distro/specification.rb +21 -0
- data/lib/facts/sles/os/family.rb +1 -1
- data/lib/facts/sles/os/hardware.rb +2 -1
- data/lib/facts/sles/os/release.rb +3 -3
- data/lib/facts/sles/os/selinux/config_mode.rb +21 -0
- data/lib/facts/sles/os/selinux/config_policy.rb +21 -0
- data/lib/facts/sles/os/selinux/current_mode.rb +21 -0
- data/lib/facts/sles/os/selinux/enabled.rb +21 -0
- data/lib/facts/sles/os/selinux/enforced.rb +21 -0
- data/lib/facts/sles/os/selinux/policy_version.rb +21 -0
- data/lib/facts/sles/puppet_version.rb +15 -0
- data/lib/facts/sles/ruby/platform.rb +3 -1
- data/lib/facts/sles/ruby/sitedir.rb +3 -1
- data/lib/facts/sles/ruby/version.rb +1 -0
- data/lib/facts/sles/sshalgorithmkey.rb +16 -0
- data/lib/facts/sles/sshfp_algorithm.rb +19 -0
- data/lib/facts/sles/system_uptime/days.rb +18 -0
- data/lib/facts/sles/system_uptime/hours.rb +18 -0
- data/lib/facts/sles/system_uptime/seconds.rb +18 -0
- data/lib/facts/sles/system_uptime/uptime.rb +18 -0
- data/lib/facts/solaris/augeas/version.rb +19 -0
- data/lib/facts/solaris/filesystems.rb +14 -0
- data/lib/facts/solaris/identity/user.rb +17 -0
- data/lib/facts/solaris/os/hardware.rb +3 -1
- data/lib/facts/solaris/puppet_version.rb +15 -0
- data/lib/facts/solaris/ruby/platform.rb +3 -1
- data/lib/facts/solaris/ruby/sitedir.rb +2 -1
- data/lib/facts/solaris/solaris_zones/current.rb +3 -1
- data/lib/facts/solaris/solaris_zones/zone.rb +39 -6
- data/lib/facts/solaris/ssh.rb +26 -0
- data/lib/facts/solaris/system_uptime/days.rb +17 -0
- data/lib/facts/solaris/system_uptime/hours.rb +17 -0
- data/lib/facts/{debian/system_uptime/minutes.rb → solaris/system_uptime/seconds.rb} +4 -4
- data/lib/facts/solaris/system_uptime/uptime.rb +17 -0
- data/lib/facts/solaris/timezone.rb +14 -0
- data/lib/facts/windows/augeas/version.rb +19 -0
- data/lib/facts/windows/puppet_version.rb +15 -0
- data/lib/facts_utils/bytes_converter.rb +15 -0
- data/lib/framework/config/block_list.rb +1 -1
- data/lib/framework/config/config_reader.rb +1 -1
- data/lib/framework/core/fact/external/external_fact_manager.rb +1 -1
- data/lib/framework/core/fact_loaders/external_fact_loader.rb +1 -1
- data/lib/framework/core/fact_manager.rb +5 -0
- data/lib/framework/logging/logger.rb +10 -1
- data/lib/models/fact_collection.rb +15 -1
- data/lib/models/resolved_fact.rb +5 -1
- data/lib/resolvers/aix/filesystem_resolver.rb +33 -0
- data/lib/resolvers/disk_resolver.rb +11 -3
- data/lib/resolvers/dmi_resolver.rb +1 -1
- data/lib/resolvers/filesystems_resolver.rb +2 -0
- data/lib/resolvers/fips_enabled_resolver.rb +2 -1
- data/lib/resolvers/hostname_resolver.rb +1 -1
- data/lib/resolvers/load_averages_resolver.rb +2 -0
- data/lib/resolvers/lsb_release_resolver.rb +23 -5
- data/lib/resolvers/macosx/ipaddress_resolver.rb +14 -1
- data/lib/resolvers/memory_resolver.rb +2 -0
- data/lib/resolvers/mountpoints_resolver.rb +2 -0
- data/lib/resolvers/networking_linux_resolver.rb +7 -1
- data/lib/resolvers/os_release_resolver.rb +1 -1
- data/lib/resolvers/processors_resolver.rb +2 -0
- data/lib/resolvers/puppet_version_resolver.rb +27 -0
- data/lib/resolvers/selinux_resolver.rb +36 -4
- data/lib/resolvers/solaris/filesystems_resolver.rb +32 -0
- data/lib/resolvers/solaris/zone_resolver.rb +4 -4
- data/lib/resolvers/ssh_resolver.rb +1 -1
- metadata +123 -8
- data/lib/facts/debian/os/distro.rb +0 -31
- data/lib/facts/debian/os/selinux.rb +0 -23
- data/lib/facts/el/os/selinux.rb +0 -23
- data/lib/facts/sles/os/selinux.rb +0 -23
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Solaris
|
5
|
+
module Augeas
|
6
|
+
class Version
|
7
|
+
FACT_NAME = 'augeas.version'
|
8
|
+
ALIASES = 'augeasversion'
|
9
|
+
|
10
|
+
def call_the_resolver
|
11
|
+
fact_value = Facter::Resolvers::Augeas.resolve(:augeas_version)
|
12
|
+
|
13
|
+
[Facter::ResolvedFact.new(FACT_NAME, fact_value),
|
14
|
+
Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,14 @@
|
|
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
|
@@ -0,0 +1,17 @@
|
|
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
|
@@ -5,10 +5,12 @@ module Facts
|
|
5
5
|
module Os
|
6
6
|
class Hardware
|
7
7
|
FACT_NAME = 'os.hardware'
|
8
|
+
ALIASES = 'hardwaremodel'
|
8
9
|
|
9
10
|
def call_the_resolver
|
10
11
|
fact_value = Facter::Resolvers::Uname.resolve(:machine)
|
11
|
-
|
12
|
+
|
13
|
+
[Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
|
12
14
|
end
|
13
15
|
end
|
14
16
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Solaris
|
5
|
+
class PuppetVersion
|
6
|
+
FACT_NAME = 'puppetversion'
|
7
|
+
|
8
|
+
def call_the_resolver
|
9
|
+
fact_value = Facter::Resolvers::PuppetVersionResolver.resolve(:puppetversion)
|
10
|
+
|
11
|
+
Facter::ResolvedFact.new(FACT_NAME, fact_value)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -5,10 +5,12 @@ module Facts
|
|
5
5
|
module Ruby
|
6
6
|
class Platform
|
7
7
|
FACT_NAME = 'ruby.platform'
|
8
|
+
ALIASES = 'rubyplatform'
|
8
9
|
|
9
10
|
def call_the_resolver
|
10
11
|
fact_value = Facter::Resolvers::Ruby.resolve(:platform)
|
11
|
-
|
12
|
+
|
13
|
+
[Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
|
12
14
|
end
|
13
15
|
end
|
14
16
|
end
|
@@ -5,10 +5,11 @@ module Facts
|
|
5
5
|
module Ruby
|
6
6
|
class Sitedir
|
7
7
|
FACT_NAME = 'ruby.sitedir'
|
8
|
+
ALIASES = 'rubysitedir'
|
8
9
|
|
9
10
|
def call_the_resolver
|
10
11
|
fact_value = Facter::Resolvers::Ruby.resolve(:sitedir)
|
11
|
-
Facter::ResolvedFact.new(FACT_NAME, fact_value)
|
12
|
+
[Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
|
12
13
|
end
|
13
14
|
end
|
14
15
|
end
|
@@ -5,10 +5,12 @@ module Facts
|
|
5
5
|
module SolarisZones
|
6
6
|
class Current
|
7
7
|
FACT_NAME = 'solaris_zones.current'
|
8
|
+
ALIASES = 'zonename'
|
8
9
|
|
9
10
|
def call_the_resolver
|
10
11
|
fact_value = Facter::Resolvers::SolarisZoneName.resolve(:current_zone_name)
|
11
|
-
|
12
|
+
|
13
|
+
[Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
|
12
14
|
end
|
13
15
|
end
|
14
16
|
end
|
@@ -5,21 +5,54 @@ module Facts
|
|
5
5
|
module SolarisZones
|
6
6
|
class Zone
|
7
7
|
FACT_NAME = 'solaris_zones.zones'
|
8
|
+
ALIASES = %w[
|
9
|
+
zone_.*_brand
|
10
|
+
zone_.*_iptype
|
11
|
+
zone_.*_name
|
12
|
+
zone_.*_uuid
|
13
|
+
zone_.*_id
|
14
|
+
zone_.*_path
|
15
|
+
zone_.*_status
|
16
|
+
zones
|
17
|
+
].freeze
|
8
18
|
|
9
19
|
def call_the_resolver
|
20
|
+
resolved_facts = []
|
21
|
+
zones = {}
|
22
|
+
|
10
23
|
results = Facter::Resolvers::SolarisZone.resolve(:zone)
|
11
|
-
zones_fact = {}
|
12
24
|
results&.each do |result|
|
13
|
-
|
25
|
+
zones.merge!(parse_result(result))
|
26
|
+
resolved_facts << create_legacy_zone_facts(result)
|
27
|
+
end
|
28
|
+
|
29
|
+
resolved_facts << Facter::ResolvedFact.new('solaris_zones.zones', zones)
|
30
|
+
resolved_facts << Facter::ResolvedFact.new('zones', results.count, :legacy)
|
31
|
+
|
32
|
+
resolved_facts.flatten
|
33
|
+
end
|
34
|
+
|
35
|
+
private
|
36
|
+
|
37
|
+
def parse_result(result)
|
38
|
+
{
|
39
|
+
result[:name].to_sym => {
|
14
40
|
brand: result[:brand],
|
15
41
|
id: result[:id],
|
16
|
-
ip_type: result[:
|
42
|
+
ip_type: result[:iptype],
|
17
43
|
path: result[:path],
|
18
44
|
status: result[:status]
|
19
|
-
}
|
20
|
-
|
45
|
+
}
|
46
|
+
}
|
47
|
+
end
|
48
|
+
|
49
|
+
def create_legacy_zone_facts(zone)
|
50
|
+
legacy_facts = []
|
51
|
+
%w[brand iptype name uuid id path status].each do |key|
|
52
|
+
legacy_facts << Facter::ResolvedFact.new("zone_#{zone[:name]}_#{key}", zone[key.to_sym], :legacy)
|
21
53
|
end
|
22
|
-
|
54
|
+
|
55
|
+
legacy_facts
|
23
56
|
end
|
24
57
|
end
|
25
58
|
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Solaris
|
5
|
+
class Ssh
|
6
|
+
FACT_NAME = 'ssh'
|
7
|
+
|
8
|
+
def call_the_resolver
|
9
|
+
result = Facter::Resolvers::SshResolver.resolve(:ssh)
|
10
|
+
ssh_facts = {}
|
11
|
+
result.each { |ssh| ssh_facts.merge!(create_ssh_fact(ssh)) }
|
12
|
+
Facter::ResolvedFact.new(FACT_NAME, ssh_facts)
|
13
|
+
end
|
14
|
+
|
15
|
+
private
|
16
|
+
|
17
|
+
def create_ssh_fact(ssh)
|
18
|
+
{ ssh.name.to_sym =>
|
19
|
+
{ fingerprints: { sha1: ssh.fingerprint.sha1,
|
20
|
+
sha256: ssh.fingerprint.sha256 },
|
21
|
+
key: ssh.key,
|
22
|
+
type: ssh.type } }
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Solaris
|
5
|
+
module SystemUptime
|
6
|
+
class Days
|
7
|
+
FACT_NAME = 'system_uptime.days'
|
8
|
+
|
9
|
+
def call_the_resolver
|
10
|
+
fact_value = Facter::Resolvers::Uptime.resolve(:days)
|
11
|
+
|
12
|
+
Facter::ResolvedFact.new(FACT_NAME, fact_value)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Solaris
|
5
|
+
module SystemUptime
|
6
|
+
class Hours
|
7
|
+
FACT_NAME = 'system_uptime.hours'
|
8
|
+
|
9
|
+
def call_the_resolver
|
10
|
+
fact_value = Facter::Resolvers::Uptime.resolve(:hours)
|
11
|
+
|
12
|
+
Facter::ResolvedFact.new(FACT_NAME, fact_value)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -1,13 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module Facts
|
4
|
-
module
|
4
|
+
module Solaris
|
5
5
|
module SystemUptime
|
6
|
-
class
|
7
|
-
FACT_NAME = 'system_uptime.
|
6
|
+
class Seconds
|
7
|
+
FACT_NAME = 'system_uptime.seconds'
|
8
8
|
|
9
9
|
def call_the_resolver
|
10
|
-
fact_value = Facter::Resolvers::Uptime.resolve(:
|
10
|
+
fact_value = Facter::Resolvers::Uptime.resolve(:seconds)
|
11
11
|
|
12
12
|
Facter::ResolvedFact.new(FACT_NAME, fact_value)
|
13
13
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Solaris
|
5
|
+
module SystemUptime
|
6
|
+
class Uptime
|
7
|
+
FACT_NAME = 'system_uptime.uptime'
|
8
|
+
|
9
|
+
def call_the_resolver
|
10
|
+
fact_value = Facter::Resolvers::Uptime.resolve(:uptime)
|
11
|
+
|
12
|
+
Facter::ResolvedFact.new(FACT_NAME, fact_value)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,14 @@
|
|
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
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Windows
|
5
|
+
module Augeas
|
6
|
+
class Version
|
7
|
+
FACT_NAME = 'augeas.version'
|
8
|
+
ALIASES = 'augeasversion'
|
9
|
+
|
10
|
+
def call_the_resolver
|
11
|
+
fact_value = Facter::Resolvers::Augeas.resolve(:augeas_version)
|
12
|
+
|
13
|
+
[Facter::ResolvedFact.new(FACT_NAME, fact_value),
|
14
|
+
Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Windows
|
5
|
+
class PuppetVersion
|
6
|
+
FACT_NAME = 'puppetversion'
|
7
|
+
|
8
|
+
def call_the_resolver
|
9
|
+
fact_value = Facter::Resolvers::PuppetVersionResolver.resolve(:puppetversion)
|
10
|
+
|
11
|
+
Facter::ResolvedFact.new(FACT_NAME, fact_value)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -27,7 +27,7 @@ module Facter
|
|
27
27
|
private
|
28
28
|
|
29
29
|
def load_block_groups
|
30
|
-
@block_groups = File.
|
30
|
+
@block_groups = File.readable?(@block_groups_file_path) ? Hocon.load(@block_groups_file_path) : {}
|
31
31
|
options = Options.instance
|
32
32
|
@block_list = ConfigReader.new(options[:config]).block_list || {}
|
33
33
|
end
|
@@ -18,7 +18,7 @@ module Facter
|
|
18
18
|
|
19
19
|
custom_facts.each do |custom_fact|
|
20
20
|
fact_value = LegacyFacter.value(custom_fact.name)
|
21
|
-
resolved_fact = ResolvedFact.new(custom_fact.name, fact_value)
|
21
|
+
resolved_fact = ResolvedFact.new(custom_fact.name, fact_value, :custom)
|
22
22
|
resolved_fact.filter_tokens = []
|
23
23
|
resolved_fact.user_query = custom_fact.user_query
|
24
24
|
|
@@ -11,6 +11,11 @@ module Facter
|
|
11
11
|
@log = Log.new(self)
|
12
12
|
end
|
13
13
|
|
14
|
+
def searched_facts(user_query = [])
|
15
|
+
loaded_facts = @fact_loader.load(Options.get)
|
16
|
+
QueryParser.parse(user_query, loaded_facts)
|
17
|
+
end
|
18
|
+
|
14
19
|
def resolve_facts(user_query = [])
|
15
20
|
loaded_facts = @fact_loader.load(Options.get)
|
16
21
|
searched_facts = QueryParser.parse(user_query, loaded_facts)
|
@@ -40,7 +40,16 @@ module Facter
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def determine_callers_name(sender_self)
|
43
|
-
@class_name =
|
43
|
+
@class_name = case sender_self
|
44
|
+
when String
|
45
|
+
sender_self
|
46
|
+
when Class
|
47
|
+
sender_self.name
|
48
|
+
when Module
|
49
|
+
sender_self.name
|
50
|
+
else # when class is singleton
|
51
|
+
sender_self.class.name
|
52
|
+
end
|
44
53
|
end
|
45
54
|
|
46
55
|
def set_format_for_file_logger
|
@@ -8,12 +8,20 @@ module Facter
|
|
8
8
|
|
9
9
|
def build_fact_collection!(facts)
|
10
10
|
facts.each do |fact|
|
11
|
-
|
11
|
+
next if fact.type == :core && fact.value.nil?
|
12
|
+
|
13
|
+
bury_fact(fact)
|
12
14
|
end
|
13
15
|
|
14
16
|
self
|
15
17
|
end
|
16
18
|
|
19
|
+
def value(*keys)
|
20
|
+
keys.reduce(self) do |memo, key|
|
21
|
+
memo.fetch(key.to_s)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
17
25
|
def bury(*args)
|
18
26
|
raise ArgumentError, '2 or more arguments required' if args.count < 2
|
19
27
|
|
@@ -27,5 +35,11 @@ module Facter
|
|
27
35
|
|
28
36
|
self
|
29
37
|
end
|
38
|
+
|
39
|
+
private
|
40
|
+
|
41
|
+
def bury_fact(fact)
|
42
|
+
bury(*fact.name.split('.') + fact.filter_tokens << fact.value)
|
43
|
+
end
|
30
44
|
end
|
31
45
|
end
|