Server IP : 85.214.239.14 / Your IP : 18.119.19.251 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /proc/2/root/usr/lib/python3/dist-packages/ansible/module_utils/facts/ |
Upload File : |
# This code is part of Ansible, but is an independent component. # This particular file snippet, and this file snippet only, is BSD licensed. # Modules you write using this snippet, which is embedded dynamically by Ansible # still belong to the author of the module, and may assign their own license # to the complete work. # # (c) 2017 Red Hat Inc. # # Redistribution and use in source and binary forms, with or without modification, # are permitted provided that the following conditions are met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above copyright notice, # this list of conditions and the following disclaimer in the documentation # and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. # IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE # USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # from __future__ import (absolute_import, division, print_function) __metaclass__ = type import ansible.module_utils.compat.typing as t from ansible.module_utils.facts.collector import BaseFactCollector from ansible.module_utils.facts.other.facter import FacterFactCollector from ansible.module_utils.facts.other.ohai import OhaiFactCollector from ansible.module_utils.facts.system.apparmor import ApparmorFactCollector from ansible.module_utils.facts.system.caps import SystemCapabilitiesFactCollector from ansible.module_utils.facts.system.chroot import ChrootFactCollector from ansible.module_utils.facts.system.cmdline import CmdLineFactCollector from ansible.module_utils.facts.system.distribution import DistributionFactCollector from ansible.module_utils.facts.system.date_time import DateTimeFactCollector from ansible.module_utils.facts.system.env import EnvFactCollector from ansible.module_utils.facts.system.dns import DnsFactCollector from ansible.module_utils.facts.system.fips import FipsFactCollector from ansible.module_utils.facts.system.loadavg import LoadAvgFactCollector from ansible.module_utils.facts.system.local import LocalFactCollector from ansible.module_utils.facts.system.lsb import LSBFactCollector from ansible.module_utils.facts.system.pkg_mgr import PkgMgrFactCollector from ansible.module_utils.facts.system.pkg_mgr import OpenBSDPkgMgrFactCollector from ansible.module_utils.facts.system.platform import PlatformFactCollector from ansible.module_utils.facts.system.python import PythonFactCollector from ansible.module_utils.facts.system.selinux import SelinuxFactCollector from ansible.module_utils.facts.system.service_mgr import ServiceMgrFactCollector from ansible.module_utils.facts.system.ssh_pub_keys import SshPubKeyFactCollector from ansible.module_utils.facts.system.user import UserFactCollector from ansible.module_utils.facts.hardware.base import HardwareCollector from ansible.module_utils.facts.hardware.aix import AIXHardwareCollector from ansible.module_utils.facts.hardware.darwin import DarwinHardwareCollector from ansible.module_utils.facts.hardware.dragonfly import DragonFlyHardwareCollector from ansible.module_utils.facts.hardware.freebsd import FreeBSDHardwareCollector from ansible.module_utils.facts.hardware.hpux import HPUXHardwareCollector from ansible.module_utils.facts.hardware.hurd import HurdHardwareCollector from ansible.module_utils.facts.hardware.linux import LinuxHardwareCollector from ansible.module_utils.facts.hardware.netbsd import NetBSDHardwareCollector from ansible.module_utils.facts.hardware.openbsd import OpenBSDHardwareCollector from ansible.module_utils.facts.hardware.sunos import SunOSHardwareCollector from ansible.module_utils.facts.network.base import NetworkCollector from ansible.module_utils.facts.network.aix import AIXNetworkCollector from ansible.module_utils.facts.network.darwin import DarwinNetworkCollector from ansible.module_utils.facts.network.dragonfly import DragonFlyNetworkCollector from ansible.module_utils.facts.network.fc_wwn import FcWwnInitiatorFactCollector from ansible.module_utils.facts.network.freebsd import FreeBSDNetworkCollector from ansible.module_utils.facts.network.hpux import HPUXNetworkCollector from ansible.module_utils.facts.network.hurd import HurdNetworkCollector from ansible.module_utils.facts.network.linux import LinuxNetworkCollector from ansible.module_utils.facts.network.iscsi import IscsiInitiatorNetworkCollector from ansible.module_utils.facts.network.nvme import NvmeInitiatorNetworkCollector from ansible.module_utils.facts.network.netbsd import NetBSDNetworkCollector from ansible.module_utils.facts.network.openbsd import OpenBSDNetworkCollector from ansible.module_utils.facts.network.sunos import SunOSNetworkCollector from ansible.module_utils.facts.virtual.base import VirtualCollector from ansible.module_utils.facts.virtual.dragonfly import DragonFlyVirtualCollector from ansible.module_utils.facts.virtual.freebsd import FreeBSDVirtualCollector from ansible.module_utils.facts.virtual.hpux import HPUXVirtualCollector from ansible.module_utils.facts.virtual.linux import LinuxVirtualCollector from ansible.module_utils.facts.virtual.netbsd import NetBSDVirtualCollector from ansible.module_utils.facts.virtual.openbsd import OpenBSDVirtualCollector from ansible.module_utils.facts.virtual.sunos import SunOSVirtualCollector # these should always be first due to most other facts depending on them _base = [ PlatformFactCollector, DistributionFactCollector, LSBFactCollector ] # type: t.List[t.Type[BaseFactCollector]] # These restrict what is possible in others _restrictive = [ SelinuxFactCollector, ApparmorFactCollector, ChrootFactCollector, FipsFactCollector ] # type: t.List[t.Type[BaseFactCollector]] # general info, not required but probably useful for other facts _general = [ PythonFactCollector, SystemCapabilitiesFactCollector, PkgMgrFactCollector, OpenBSDPkgMgrFactCollector, ServiceMgrFactCollector, CmdLineFactCollector, DateTimeFactCollector, EnvFactCollector, LoadAvgFactCollector, SshPubKeyFactCollector, UserFactCollector ] # type: t.List[t.Type[BaseFactCollector]] # virtual, this might also limit hardware/networking _virtual = [ VirtualCollector, DragonFlyVirtualCollector, FreeBSDVirtualCollector, LinuxVirtualCollector, OpenBSDVirtualCollector, NetBSDVirtualCollector, SunOSVirtualCollector, HPUXVirtualCollector ] # type: t.List[t.Type[BaseFactCollector]] _hardware = [ HardwareCollector, AIXHardwareCollector, DarwinHardwareCollector, DragonFlyHardwareCollector, FreeBSDHardwareCollector, HPUXHardwareCollector, HurdHardwareCollector, LinuxHardwareCollector, NetBSDHardwareCollector, OpenBSDHardwareCollector, SunOSHardwareCollector ] # type: t.List[t.Type[BaseFactCollector]] _network = [ DnsFactCollector, FcWwnInitiatorFactCollector, NetworkCollector, AIXNetworkCollector, DarwinNetworkCollector, DragonFlyNetworkCollector, FreeBSDNetworkCollector, HPUXNetworkCollector, HurdNetworkCollector, IscsiInitiatorNetworkCollector, NvmeInitiatorNetworkCollector, LinuxNetworkCollector, NetBSDNetworkCollector, OpenBSDNetworkCollector, SunOSNetworkCollector ] # type: t.List[t.Type[BaseFactCollector]] # other fact sources _extra_facts = [ LocalFactCollector, FacterFactCollector, OhaiFactCollector ] # type: t.List[t.Type[BaseFactCollector]] # TODO: make config driven collectors = _base + _restrictive + _general + _virtual + _hardware + _network + _extra_facts