Module: Facter::Config

Defined in:
lib/facter/config.rb

Constant Summary collapse

OS_HIERARCHY =
{
    'Linux' => [
      {
        'Debian' => [
          'Elementary',
          { 'Ubuntu' => [
            'Linuxmint'
          ] },
          'Raspbian',
          'Devuan'
        ]
      },
      {
        'Rhel' => %w[
          Fedora
          Amzn
          Centos
          Ol
          Scientific
          Meego
          Oel
          Ovs
        ]
      },
      {
        'Sles' => %w[
          Opensuse
          Sled
        ]
      },
      'Gentoo',
      'Alpine',
      'Photon',
      'Slackware',
      'Mageia',
      'Openwrt',
      'Mariner'
    ]
  },
  {
    'Bsd' => [
      'Freebsd'
    ]
  },
  'Solaris',
  'Macosx',
  'Windows',
  'Aix'
].freeze
FACT_GROUPS =
{
  'AIX NIM type' => [
    'nim_type'
  ],
  'EC2' => %w[
    ec2_metadata
    ec2_userdata
  ],
  'GCE' => [
    'gce'
  ],
  'Xen' => %w[
    xen
    xendomains
  ],
  'augeas' => %w[
    augeas
    augeasversion
  ],
  'desktop management interface' => %w[
    dmi
    bios_vendor
    bios_version
    bios_release_date
    boardassettag
    boardmanufacturer
    boardproductname
    boardserialnumber
    chassisassettag
    manufacturer
    productname
    serialnumber
    uuid
    chassistype
  ],
  'disks' => %w[
    blockdevices
    disks
  ],
  'file system' => %w[
    mountpoints
    filesystems
    partitions
  ],
  'fips' => [
    'fips_enabled'
  ],
  'hypervisors' => [
    'hypervisors'
  ],
  'id' => %w[
    id
    gid
    identity
  ],
  'kernel' => %w[
    kernel
    kernelversion
    kernelrelease
    kernelmajversion
  ],
  'load_average' => [
    'load_averages'
  ],
  'memory' => %w[
    memory
    memoryfree
    memoryfree_mb
    memorysize
    memorysize_mb
    swapfree
    swapfree_mb
    swapsize
    swapsize_mb
    swapencrypted
  ],
  'networking' => %w[
    networking
    hostname
    ipaddress
    ipaddress6
    netmask
    netmask6
    network
    network6
    scope6
    macaddress
    interfaces
    domain
    fqdn
    dhcp_servers
  ],
  'operating system' => %w[
    os
    operatingsystem
    osfamily
    operatingsystemrelease
    operatingsystemmajrelease
    hardwaremodel
    architecture
    lsbdistid
    lsbdistrelease
    lsbdistcodename
    lsbdistdescription
    lsbmajdistrelease
    lsbminordistrelease
    lsbrelease
    macosx_buildversion
    macosx_productname
    macosx_productversion
    macosx_productversion_major
    macosx_productversion_minor
    macosx_productversion_patch
    windows_display_version
    windows_edition_id
    windows_installation_type
    windows_product_name
    windows_release_id
    system32
    selinux
    selinux_enforced
    selinux_policyversion
    selinux_current_mode
    selinux_config_mode
    selinux_config_policy
  ],
  'path' => [
    'path'
  ],
  'processor' => %w[
    processors
    processorcount
    physicalprocessorcount
    hardwareisa
  ],
  'ssh' => %w[
    ssh
    sshdsakey
    sshrsakey
    sshecdsakey
    sshed25519key
    sshfp_dsa
    sshfp_rsa
    sshfp_ecdsa
    sshfp_ed25519
  ],
  'system profiler' => %w[
    system_profiler
    sp_boot_mode
    sp_boot_rom_version
    sp_boot_volume
    sp_cpu_type
    sp_current_processor_speed
    sp_kernel_version
    sp_l2_cache_core
    sp_l3_cache
    sp_local_host_name
    sp_machine_model
    sp_machine_name
    sp_number_processors
    sp_os_version
    sp_packages
    sp_physical_memory
    sp_platform_uuid
    sp_secure_vm
    sp_serial_number
    sp_smc_version_system
    sp_uptime
    sp_user_name
  ],
  'timezone' => [
    'timezone'
  ],
  'uptime' => %w[
    system_uptime
    uptime
    uptime_days
    uptime_hours
    uptime_seconds
  ],
  'virtualization' => %w[
    virtual
    is_virtual
    cloud
  ],
  'ldom' => [
    'ldom'
  ],
  'Solaris zone' => %w[
    zones
    zonename
    solaris_zones
  ],
  'ZFS' => %w[
    zfs_version
    zfs_featurenumbers
  ],
  'ZFS storage pool' => %w[
    zpool_version
    zpool_featureflags
    zpool_featurenumbers
  ],
  'legacy' => [
    'architecture',
    'augeasversion',
    'bios_release_date',
    'bios_vendor',
    'bios_version',
    'blockdevice_*_model',
    'blockdevice_*_size',
    'blockdevice_*_vendor',
    'blockdevices',
    'boardassettag',
    'boardmanufacturer',
    'boardproductname',
    'boardserialnumber',
    'chassisassettag',
    'chassistype',
    'dhcp_servers',
    'domain',
    'fqdn',
    'gid',
    'hardwareisa',
    'hardwaremodel',
    'hostname',
    'id',
    'interfaces',
    'ipaddress',
    'ipaddress_.*',
    'ipaddress_*',
    'ipaddress6',
    'ipaddress6_.*',
    'ipaddress6_*',
    'ldom_*',
    'lsbdistcodename',
    'lsbdistdescription',
    'lsbdistid',
    'lsbdistrelease',
    'lsbmajdistrelease',
    'lsbminordistrelease',
    'lsbrelease',
    'macaddress',
    'macaddress_.*',
    'macaddress_*',
    'macosx_buildversion',
    'macosx_productname',
    'macosx_productversion',
    'macosx_productversion_major',
    'macosx_productversion_minor',
    'macosx_productversion_patch',
    'manufacturer',
    'memoryfree',
    'memoryfree_mb',
    'memorysize',
    'memorysize_mb',
    'mtu_.*',
    'mtu_*',
    'netmask',
    'netmask_.*',
    'netmask_*',
    'netmask6',
    'netmask6_.*',
    'netmask6_*',
    'network',
    'network_.*',
    'network_*',
    'network6',
    'network6_.*',
    'network6_*',
    'operatingsystem',
    'operatingsystemmajrelease',
    'operatingsystemrelease',
    'osfamily',
    'physicalprocessorcount',
    'processor[0-9]+.*',
    'processorcount',
    'productname',
    'rubyplatform',
    'rubysitedir',
    'rubyversion',
    'scope6',
    'scope6_.*',
    'selinux',
    'selinux_config_mode',
    'selinux_config_policy',
    'selinux_current_mode',
    'selinux_enforced',
    'selinux_policyversion',
    'serialnumber',
    'sp_*',
    'sp_boot_mode',
    'sp_boot_rom_version',
    'sp_boot_volume',
    'sp_cpu_type',
    'sp_current_processor_speed',
    'sp_kernel_version',
    'sp_l2_cache_core',
    'sp_l3_cache',
    'sp_local_host_name',
    'sp_machine_model',
    'sp_machine_name',
    'sp_number_processors',
    'sp_os_version',
    'sp_packages',
    'sp_physical_memory',
    'sp_platform_uuid',
    'sp_secure_vm',
    'sp_serial_number',
    'sp_smc_version_system',
    'sp_uptime',
    'sp_user_name',
    'ssh.*key',
    'ssh*key',
    'sshfp_.*',
    'sshfp_*',
    'swapencrypted',
    'swapfree',
    'swapfree_mb',
    'swapsize',
    'swapsize_mb',
    'system32',
    'uptime',
    'uptime_days',
    'uptime_hours',
    'uptime_seconds',
    'uuid',
    'windows_edition_id',
    'windows_installation_type',
    'windows_product_name',
    'windows_release_id',
    'xendomains',
    'zone_*_brand',
    'zone_*_id',
    'zone_*_iptype',
    'zone_*_name',
    'zone_*_path',
    'zone_*_status',
    'zone_*_uuid',
    'zonename',
    'zones'
  ]
}.freeze