Facts IndexΒΆ
pyinfra uses facts to determine the existing state of a remote server. Operations use this information to generate commands which alter the state. Facts are read-only and are populated at the beginning of the deploy.
Facts can be executed/tested via the command line:
# Example how to get multiple facts from a server myhost.com
pyinfra myhost.com fact server.Date server.Hostname ...
If you want to pass an argument to a fact, pass it with key=value
. For example:
# See if the package 'openssh-server' is installed servers myhost.com and myhost2.com
pyinfra myhost.com,myhost2.com fact deb.DebPackage name=openssh-server
Multiple facts with arguments may be called like so:
pyinfra @local fact files.File path=setup.py files.File path=anotherfile.txt
You can leverage facts within operations like this:
from pyinfra import host
from pyinfra.facts.server import LinuxName
if host.get_fact(LinuxName) == 'Ubuntu':
apt.packages(...)
Want a new fact? Check out the writing facts guide.
Facts, like operations, are namespaced as different modules - shortcuts to each of these can be found in the sidebar.
- Apk Facts
- Apt Facts
- Brew Facts
- Bsdinit Facts
- Cargo Facts
- Choco Facts
- Crontab Facts
- Deb Facts
- Dnf Facts
- Docker Facts
- Efibootmgr Facts
- Files Facts
- Flatpak Facts
- Freebsd Facts
- Gem Facts
- Git Facts
- Gpg Facts
- Hardware Facts
- Iptables Facts
- Launchd Facts
- Lxd Facts
- Mysql Facts
- Npm Facts
- Openrc Facts
- Opkg Facts
- Pacman Facts
- Pip Facts
- Pipx Facts
- Pkg Facts
- Pkgin Facts
- Podman Facts
- Postgres Facts
- Postgresql Facts
- Rpm Facts
- Runit Facts
- Selinux Facts
- Server Facts
server.Arch
server.Command
server.Date
server.Groups
server.HasGui
server.Home
server.Hostname
server.Kernel
server.KernelModules
server.KernelVersion
server.LinuxDistribution
server.LinuxGui
server.LinuxName
server.Locales
server.LsbRelease
server.MacosVersion
server.Mounts
server.Os
server.OsRelease
server.OsVersion
server.Path
server.Port
server.SecurityLimits
server.Selinux
server.Sysctl
server.TmpDir
server.User
server.Users
server.Which
- Snap Facts
- Systemd Facts
- Sysvinit Facts
- Upstart Facts
- Vzctl Facts
- Xbps Facts
- Yum Facts
- Zfs Facts
- Zypper Facts