Supported resources
Chef Infra Client and Chef InSpec both use resources as their core building block, but for different purposes. A Chef Infra Client resource declares the desired state of part of a system—a package, service, file, or user—and Chef Infra Client configures the system to match. A Chef InSpec resource inspects part of a system so you can write compliance and security tests for its actual state.
This page is the single catalog of every resource across both products. Use it to discover which resources exist, see at a glance whether a resource is available in Chef Infra Client, Chef InSpec, or both, and go to each product’s authoritative documentation.
For the resources introduced in a specific release, see that version’s documentation. This page lists the complete catalog and doesn’t replace the version-specific resource references:
The following sections list the resources supported by both products, then the complete catalog, and finally the Chef InSpec resource packs. As of Chef InSpec 7, cloud and platform resources—such as those for Amazon Web Services, Microsoft Azure, and Google Cloud Platform—moved out of Chef InSpec core into separate resource packs, so this page groups them by pack rather than listing each resource individually.
Resources supported by both products
The following 16 resources are available in both Chef Infra Client and Chef InSpec. Chef Infra Client resources configure system state; Chef InSpec resources audit it. Select a checkmark to open that product's resource documentation.
| Resource | Chef Infra Client | Chef InSpec | Description |
|---|---|---|---|
bash | ✓ | ✓ | Use the bash resource to execute scripts using the Bash interpreter. |
chocolatey_package | ✓ | ✓ | Use the chocolatey_package resource to manage packages using the Chocolatey package manager on the Microsoft Windows platform. |
cron | ✓ | ✓ | Use the cron resource to manage cron entries for time-based job scheduling. |
directory | ✓ | ✓ | Use the directory resource to manage a directory, which is a hierarchy of folders that comprises all of the information stored on a computer. |
file | ✓ | ✓ | Use the file resource to manage files directly on a node. |
group | ✓ | ✓ | Use the group resource to manage a local group. |
kernel_module | ✓ | ✓ | Use the kernel_module resource to manage kernel modules on Linux systems. |
mount | ✓ | ✓ | Use the mount resource to manage a mounted file system. |
package | ✓ | ✓ | Use the package resource to manage packages. |
registry_key | ✓ | ✓ | Use the registry_key resource to create and delete registry keys in Microsoft Windows. |
service | ✓ | ✓ | Use the service resource to manage a service. |
timezone | ✓ | ✓ | Use the timezone resource to change the system timezone on Windows, Linux, and macOS hosts. |
user | ✓ | ✓ | Use the user resource to add users, update existing users, remove users, and to lock/unlock user passwords. |
windows_feature | ✓ | ✓ | Use the windows_feature resource to add, remove or entirely delete Windows features and roles. |
windows_firewall_rule | ✓ | ✓ | Use the windows_firewall_rule resource to create, change or remove Windows firewall rules. |
windows_task | ✓ | ✓ | Use the windows_task resource to create, delete or run a Windows scheduled task. |
All resources
The complete catalog of Chef Infra Client and Chef InSpec resources. A checkmark links to that product's authoritative resource documentation.
| Resource | Chef Infra Client | Chef InSpec | Description |
|---|---|---|---|
aide_conf | — | ✓ | Use the aide_conf Chef InSpec audit resource to test the rules established for the file integrity tool AIDE. |
alternatives | ✓ 16.0 | — | Use the alternatives resource to configure command alternatives in Linux using the alternatives or update-alternatives packages. |
apache | — | ✓ | Use the apache Chef InSpec audit resource to test the state of the Apache server on Linux/Unix systems. |
apache_conf | — | ✓ | Use the apache_conf Chef InSpec audit resource to test the configuration settings for Apache. |
apt | — | ✓ | Use the apt Chef InSpec audit resource to verify Apt repositories on the Debian and Ubuntu platforms, and also PPA repositories on the Ubuntu platform. |
apt_package | ✓ | — | Use the apt_package resource to manage packages on Debian, Ubuntu, and other platforms that use the APT package system. |
apt_preference | ✓ 13.3 | — | Use the apt_preference resource to create APT preference files. |
apt_repository | ✓ 12.9 | — | Use the apt_repository resource to specify additional APT repositories. |
apt_update | ✓ 12.7 | — | Use the apt_update resource to manage APT repository updates on Debian and Ubuntu platforms. |
archive_file | ✓ 15.0 | — | Use the archive_file resource to extract archive files to disk. |
audit_policy | — | ✓ | Use the audit_policy Chef InSpec audit resource to test auditing policies on the Windows platform. |
auditd | — | ✓ | Use the auditd Chef InSpec audit resource to test the rules for logging that exist on the system. |
auditd_conf | — | ✓ | Use the auditd_conf Chef InSpec audit resource to test the configuration settings for the audit daemon. |
bash | ✓ | ✓ | Use the bash resource to execute scripts using the Bash interpreter. |
batch | ✓ | — | Use the batch resource to execute a batch script using the cmd.exe interpreter on Windows. |
bff_package | ✓ | — | Use the bff_package resource to manage packages for the AIX platform using the installp utility. |
bond | — | ✓ | Use the bond Chef InSpec audit resource to test a logical, bonded network interface (i.e. |
breakpoint | ✓ 12.0 | — | Use the breakpoint resource to add breakpoints to recipes. |
bridge | — | ✓ | Use the bridge Chef InSpec audit resource to test basic network bridge properties, such as name, if an interface is defined, and the associations for any defined interface. |
bsd_service | — | ✓ | Use the bsd_service Chef InSpec audit resource to test a service using a Berkeley OS-style init on the FreeBSD platform. |
build_essential | ✓ 14.0 | — | Use the build_essential resource to install the packages required for compiling C software from source. |
cab_package | ✓ 12.15 | — | Use the cab_package resource to install or remove Microsoft Windows cabinet (.cab) packages. |
cassandradb_conf | — | ✓ | Use the cassandradb_conf Chef InSpec audit resource to test the configuration of a Cassandra database, which is typically located at $CASSANDRA_HOME/cassandra.yaml or $CASSANDRA_HOME\conf\cassandra.yaml depending upon the platform. |
cassandradb_session | — | ✓ | Use the cassandradb_session Chef InSpec audit resource to test Cassandra Query Language (CQL) commands run against a Cassandra database. |
cgroup | — | ✓ | Use the cgroup Chef InSpec audit resource to test the different parameters values of the control group (cgroup) resource controllers. |
chef_acl | ✓ | — | Use the chef_acl resource to interact with access control lists (ACLs) that exist on the Chef Infra Server. |
chef_client | ✓ | — | Use the chef_client resource to create clients on your Chef Infra Server from within Chef Infra cookbook code. |
chef_client_config | ✓ 16.6 | — | Use the chef_client_config resource to create a client.rb file in the Chef Infra Client configuration directory. |
chef_client_cron | ✓ 16.0 | — | Use the chef_client_cron resource to setup the Chef Infra Client to run as a cron job. |
chef_client_hab_ca_cert | ✓ 19.1 | — | Use the chef_client_hab_ca_cert resource to add certificates to the Habitat Chef Infra Client’s CA bundle. |
chef_client_launchd | ✓ 16.5 | — | Use the chef_client_launchd resource to configure the Chef Infra Client to run on a schedule on macOS systems. |
chef_client_scheduled_task | ✓ 16.0 | — | Use the chef_client_scheduled_task resource to setup the Chef Infra Client to run as a Windows scheduled task. |
chef_client_systemd_timer | ✓ 16.0 | — | Use the chef_client_systemd_timer resource to setup the Chef Infra Client to run as a systemd timer. |
chef_client_trusted_certificate | ✓ 16.5 | — | Use the chef_client_trusted_certificate resource to add certificates to Chef Infra Client’s trusted certificate directory. |
chef_container | ✓ | — | Use the chef_container resource to interact with container objects that exist on the Chef Infra Server. |
chef_data_bag | ✓ | — | Use the chef_data_bag resource to manage data bags. |
chef_data_bag_item | ✓ | — | Use the chef_data_bag_item resource to manage data bag items. |
chef_environment | ✓ | — | Use the chef_environment resource to manage environments. |
chef_gem | ✓ | — | Use the chef_gem resource to install a gem only for the instance of Ruby that is dedicated to the Chef Infra Client. |
chef_group | ✓ | — | Use the chef_group resource to interact with group objects that exist on the Chef server. |
chef_handler | ✓ 14.0 | — | Use the chef_handler resource to enable handlers during a Chef Infra Client run. |
chef_node | ✓ | — | Use the chef_node resource to manage nodes. |
chef_organization | ✓ | — | Use the chef_organization resource to interact with organization objects that exist on the Chef Infra Server. |
chef_role | ✓ | — | Use the chef_role resource to manage roles. |
chef_sleep | ✓ 15.5 | — | Use the chef_sleep resource to pause (sleep) for a number of seconds during a Chef Infra Client run. |
chef_user | ✓ | — | Use the chef_user resource to manage users. |
chef_vault_secret | ✓ 16.0 | — | Use the chef_vault_secret resource to store secrets in Chef Vault items. |
chocolatey_config | ✓ 14.3 | — | Use the chocolatey_config resource to add or remove Chocolatey configuration keys. |
chocolatey_feature | ✓ 15.1 | — | Use the chocolatey_feature resource to enable and disable Chocolatey features. |
chocolatey_installer | ✓ 18.3 | — | Use the chocolatey_installer resource to install the Chocolatey package manager. |
chocolatey_package | ✓ 12.7 | ✓ | Use the chocolatey_package resource to manage packages using the Chocolatey package manager on the Microsoft Windows platform. |
chocolatey_source | ✓ 14.3 | — | Use the chocolatey_source resource to add, remove, enable, or disable Chocolatey sources. |
chrony_conf | — | ✓ | Use the chrony_conf Chef InSpec audit resource to test the synchronization settings defined in the chrony.conf file. |
command | — | ✓ | Use the command Chef InSpec audit resource to test an arbitrary command that is run on the system. |
cookbook_file | ✓ | — | During a Chef Infra Client run, the checksum for each local file is calculated and then compared against the checksum for the same file as it currently exists in the cookbook on the Chef Infra Server. |
cpan | — | ✓ | Use the cpan Chef InSpec audit resource to test Perl modules that are installed by system packages or the CPAN installer. |
cran | — | ✓ | Use the cran Chef InSpec audit resource to test R modules that are installed from CRAN package repository. |
cron | ✓ | ✓ | Use the cron resource to manage cron entries for time-based job scheduling. |
cron_access | ✓ 14.4 | — | Use the cron_access resource to manage cron’s cron.allow and cron.deny files. |
cron_d | ✓ 14.4 | — | Use the cron_d resource to manage cron job files in the /etc/cron.d directory. |
crontab | — | ✓ | Use the crontab Chef InSpec audit resource to test the crontab entries for a particular user on the system. |
csh | ✓ | — | Use the csh resource to execute scripts using the csh interpreter. |
csv | — | ✓ | Use the csv Chef InSpec audit resource to test configuration data in a CSV file. |
default_gateway | — | ✓ | Use the default_gateway Chef InSpec audit resource to test the assigned IP address and interface for the default route. |
dh_params | — | ✓ | Use the dh_params Chef InSpec audit resource to test Diffie-Hellman (DH) parameters. |
directory | ✓ | ✓ | Use the directory resource to manage a directory, which is a hierarchy of folders that comprises all of the information stored on a computer. |
dmg_package | ✓ 14.0 | — | Use the dmg_package resource to install a package from a .dmg file. |
dnf_package | ✓ 12.18 | — | Use the dnf_package resource to install, upgrade, and remove packages with DNF for Fedora and RHEL 8+. |
dpkg_package | ✓ | — | Use the dpkg_package resource to manage packages for the dpkg platform. |
dsc_resource | ✓ 12.2 | — | The dsc_resource resource allows any DSC resource to be used in a recipe, as well as any custom resources that have been added to your Windows PowerShell environment. |
dsc_script | ✓ | — | Many DSC resources are comparable to built-in Chef Infra Client resources. |
etc_fstab | — | ✓ | Use the etc_fstab Chef InSpec audit resource to test information about all partitions and storage devices on a Linux system. |
etc_group | — | ✓ | Use the etc_group Chef InSpec audit resource to test groups that are defined on Linux and Unix platforms. |
etc_hosts | — | ✓ | Use the etc_hosts Chef InSpec audit resource to test rules set to match IP addresses with hostnames. |
etc_hosts_allow | — | ✓ | Use the etc_hosts_allow Chef InSpec audit resource to test rules defined for accepting daemon and client traffic in the '/etc/hosts.allow' file. |
etc_hosts_deny | — | ✓ | Use the etc_hosts_deny Chef InSpec audit resource to test rules for rejecting daemon and client traffic defined in /etc/hosts.deny. |
execute | ✓ | — | Use the execute resource to execute a single command. |
file | ✓ | ✓ | Use the file resource to manage files directly on a node. |
filesystem | — | ✓ | Use the filesystem Chef InSpec resource to audit filesystem disk space usage. |
firewalld | — | ✓ | Use the firewalld Chef InSpec audit resource to test that firewalld is configured to allow and deny access to specific hosts, services and ports on a system. |
freebsd_package | ✓ | — | Use the freebsd_package resource to manage packages for the FreeBSD platform. |
gem | — | ✓ | Use the gem Chef InSpec audit resource to test if a global Gem package is installed. |
gem_package | ✓ | — | Use the gem_package resource to manage gem packages that are only included in recipes. |
git | ✓ | — | Use the git resource to manage source control resources that exist in a git repository. |
group | ✓ | ✓ | Use the group resource to manage a local group. |
groups | — | ✓ | Use the groups Chef InSpec audit resource to test multiple groups on the system. |
grub_conf | — | ✓ | Grub is a boot loader on the Linux platform used to load and then transfer control to an operating system kernel, after which that kernel initializes the rest of the operating system. |
habitat_config | ✓ 17.3 | — | Use the habitat_config resource to apply a configuration to a Chef Habitat service. |
habitat_install | ✓ 17.3 | — | Use the habitat_install resource to install Chef Habitat. |
habitat_package | ✓ 17.3 | — | Use the habitat_package to install or remove Chef Habitat packages from Habitat Builder. |
habitat_service | ✓ 17.3 | — | Use the habitat_service resource to manage Chef Habitat services. |
habitat_sup | ✓ 17.3 | — | Use the habitat_sup resource to runs a Chef Habitat supervisor for one or more Chef Habitat services. |
habitat_user_toml | ✓ 17.3 | — | Use the habitat_user_toml to template a user.toml for Chef Habitat services. |
homebrew_cask | ✓ 14.0 | — | Use the homebrew_cask resource to install binaries distributed via the Homebrew package manager. |
homebrew_package | ✓ 12.0 | — | Use the homebrew_package resource to manage packages for the macOS platform. |
homebrew_tap | ✓ 14.0 | — | Use the homebrew_tap resource to add additional formula repositories to the Homebrew package manager. |
homebrew_update | ✓ 16.2 | — | Use the homebrew_update resource to manage Homebrew repository updates on macOS. |
host | — | ✓ | Use the host Chef InSpec audit resource to test the specific host name and its availability. |
hostname | ✓ 14.0 | — | Use the hostname resource to set the system’s hostname, configure hostname and hosts config file, and re-run the Ohai hostname plugin so the hostname will be available in subsequent cookbooks. |
http | — | ✓ | Use the http Chef InSpec audit resource to test an http endpoint. |
http_request | ✓ | — | Use the http_request resource to send an HTTP request (GET, PUT, POST, DELETE, HEAD, or OPTIONS) with an arbitrary message. |
ifconfig | ✓ | — | Use the ifconfig resource to manage interfaces on Unix and Linux systems. |
iis_app | — | ✓ | Use the iis_app Chef InSpec audit resource to test the state of IIS on Windows Server 2012 (and later). |
iis_site | — | ✓ | Use the iis_site Chef InSpec audit resource to test the state of IIS on Windows Server 2012 (and later). |
inetd_conf | — | ✓ | Use the inetd_conf Chef InSpec audit resource to test if a service is listed in the inetd.conf file on Linux and Unix platforms. |
ini | — | ✓ | Use the ini Chef InSpec audit resource to test settings in an INI file. |
inspec_input | ✓ 17.5 | — | Use the inspec_input resource to add an input to the Compliance Phase. |
inspec_waiver | ✓ 17.5 | — | Use the inspec_waiver resource to add a waiver to the Compliance Phase. |
inspec_waiver_file_entry | ✓ 17.1 | — | Use the inspec_waiver_file_entry resource to add or remove entries from an InSpec waiver file. |
interface | — | ✓ | Use the interface Chef InSpec audit resource to test basic network adapter properties, such as name, status, IP addresses, and link speed (in MB/sec). |
interfaces | — | ✓ | Use the interfaces Chef InSpec audit resource to test the properties of multiple network interfaces on the system. |
ip6tables | — | ✓ | Use the ip6tables Chef InSpec audit resource to test rules that are defined in ip6tables, which maintains tables of IP packet filtering rules for IPv6. |
ipfilter | — | ✓ | Use the ipfilter Chef InSpec audit resource to test rules defined for ipfilter. |
ipnat | — | ✓ | Use the ipnat Chef InSpec audit resource to test rules that are defined for IP NAT. |
ips_package | ✓ | — | Use the ips_package resource to manage packages (using Image Packaging System (IPS)) on the Solaris 11 platform. |
iptables | — | ✓ | Use the iptables Chef InSpec audit resource to test rules that are defined in iptables, which maintains tables of IP packet filtering rules. |
json | — | ✓ | Use the json Chef InSpec audit resource to test data in a JSON file. |
kernel_module | ✓ 14.3 | ✓ | Use the kernel_module resource to manage kernel modules on Linux systems. |
kernel_parameter | — | ✓ | Use the kernel_parameter Chef InSpec audit resource to test kernel parameters on Linux platforms. |
kernel_parameters | — | ✓ | Use the kernel_parameters Chef InSpec audit resource to test multiple kernel parameters on Linux platforms. |
key_rsa | — | ✓ | Use the key_rsa Chef InSpec audit resource to test RSA public/private keypairs. |
ksh | ✓ | — | Use the ksh resource to execute scripts using the Korn shell (ksh) interpreter. |
launchd | ✓ 12.8 | — | Use the launchd resource to manage system-wide services (daemons) and per-user services (agents) on the macOS platform. |
launchd_service | — | ✓ | Use the launchd_service Chef InSpec audit resource to test a service using Launchd. |
limits_conf | — | ✓ | Use the limits_conf Chef InSpec audit resource to test configuration settings in the /etc/security/limits.conf file. |
link | ✓ | — | Use the link resource to create symbolic or hard links. |
linux_audit_system | — | ✓ | Use the linux_audit_system Chef InSpec audit resource to test the configuration of Linux audit system. |
locale | ✓ 14.5 | — | Use the locale resource to set the system’s locale on Debian and Windows systems. |
log | ✓ | — | Use the log resource to create log entries. |
login_defs | — | ✓ | Use the login_defs Chef InSpec audit resource to test configuration settings in the /etc/login.defs file. |
lxc | — | ✓ | Use the lxc Chef InSpec audit resource to test the information about Linux containers. |
macos_pkg | ✓ 18.1 | — | Use the macos_pkg resource to install a macOS .pkg file, optionally downloading it from a remote source. |
macos_userdefaults | ✓ 14.0 | — | Use the macos_userdefaults resource to manage the macOS user defaults system. |
macosx_service | ✓ | — | Use the macosx_service resource to manage services on the macOS platform. |
macports_package | ✓ | — | Use the macports_package resource to manage packages for the macOS platform using the MacPorts package management system. |
mail_alias | — | ✓ | Use the mail_alias Chef InSpec audit resource to test the mail alias present in the aliases file. |
mdadm | ✓ | — | Use the mdadm resource to manage RAID devices in a Linux environment using the mdadm utility. |
mount | ✓ | ✓ | Use the mount resource to manage a mounted file system. |
mssql_session | — | ✓ | Use the mssql_session Chef InSpec audit resource to test SQL commands run against a Microsoft SQL database. |
mssql_sys_conf | — | ✓ | Use the mssql_sys_conf Chef InSpec audit resource to test the configuration of a Microsoft SQL Server database. |
msu_package | ✓ 12.17 | — | Use the msu_package resource to install Microsoft Update(MSU) packages on Microsoft Windows machines. |
mysql_conf | — | ✓ | Use the mysql_conf Chef InSpec audit resource to test the contents of the configuration file for MySQL, typically located at /etc/mysql/my.cnf or /etc/my.cnf. |
mysql_session | — | ✓ | Use the mysql_session Chef InSpec audit resource to test SQL commands run against a MySQL database. |
nftables | — | ✓ | Use the nftables Chef InSpec audit resource to test rules and sets that are defined using nftables, which maintains tables of IP packet filtering rules. |
nginx | — | ✓ | Use the nginx Chef InSpec audit resource to test the fields and validity of nginx. |
nginx_conf | — | ✓ | Use the nginx_conf Chef InSpec resource to test configuration data for the NGINX server located at /etc/nginx/nginx.conf on Linux and Unix platforms. |
notify_group | ✓ 15.8 | — | The notify_group resource does nothing, and always fires notifications which are set on it. |
npm | — | ✓ | Use the npm Chef InSpec audit resource to test if a global NPM package is installed. |
ntp_conf | — | ✓ | Use the ntp_conf Chef InSpec audit resource to test the synchronization settings defined in the ntp.conf file. |
ohai | ✓ | — | Use the ohai resource to reload the Ohai configuration on a node. |
ohai_hint | ✓ 14.0 | — | Use the ohai_hint resource to aid in configuration detection by passing hint data to Ohai. |
oneget | — | ✓ | Use the oneget Chef InSpec audit resource to test if the named package and/or package version is installed on the system. |
openbsd_package | ✓ 12.1 | — | Use the openbsd_package resource to manage packages for the OpenBSD platform. |
openssl_dhparam | ✓ 14.0 | — | Use the openssl_dhparam resource to generate dhparam.pem files. |
openssl_ec_private_key | ✓ 14.4 | — | Use the openssl_ec_private_key resource to generate an elliptic curve (EC) private key file. |
openssl_ec_public_key | ✓ 14.4 | — | Use the openssl_ec_public_key resource to generate elliptic curve (EC) public key files from a given EC private key. |
openssl_rsa_private_key | ✓ 14.0 | — | Use the openssl_rsa_private_key resource to generate RSA private key files. |
openssl_rsa_public_key | ✓ 14.0 | — | Use the openssl_rsa_public_key resource to generate RSA public key files for a given RSA private key. |
openssl_x509_certificate | ✓ 14.4 | — | Use the openssl_x509_certificate resource to generate signed or self-signed, PEM-formatted x509 certificates. |
openssl_x509_crl | ✓ 14.4 | — | Use the openssl_x509_crl resource to generate PEM-formatted x509 certificate revocation list (CRL) files. |
openssl_x509_request | ✓ 14.4 | — | Use the openssl_x509_request resource to generate PEM-formatted x509 certificates requests. |
oracledb_conf | — | ✓ | Use the oracledb_conf Chef InSpec audit resource to test the Oracle system parameters. |
oracledb_listener_conf | — | ✓ | Use the oracledb_listener_conf Chef InSpec audit resource to test the listeners settings of Oracle DB, typically located at $ORACLE_HOME/network/admin/listener.ora or $ORACLE_HOME\network\admin\listener.ora depending upon the platform. |
oracledb_session | — | ✓ | Use the oracledb_session Chef InSpec audit resource to test SQL commands run against a Oracle database. |
os | — | ✓ | Use the os Chef InSpec audit resource to test the platform on which the system is running. |
os_env | — | ✓ | Use the os_env Chef InSpec audit resource to test the environment variables for the platform on which the system is running. |
package | ✓ | ✓ | Use the package resource to manage packages. |
packages | — | ✓ | Use the packages Chef InSpec audit resource to test the properties of multiple packages on the system. |
pacman_package | ✓ | — | Use the pacman_package resource to manage packages (using pacman) on the Arch Linux platform. |
paludis_package | ✓ 12.1 | — | Use the paludis_package resource to manage packages for the Paludis platform. |
parse_config | — | ✓ | Use the parse_config Chef InSpec audit resource to test arbitrary configuration files. |
parse_config_file | — | ✓ | Use the parse_config_file Chef InSpec audit resource to test arbitrary configuration files. |
passwd | — | ✓ | Use the passwd Chef InSpec audit resource to test the contents of /etc/passwd, which contains the following information for users that may log into the system and/or as users that own running processes. |
perl | ✓ | — | Use the perl resource to execute scripts using the Perl interpreter. |
php_config | — | ✓ | Use the php_config Chef InSpec audit resource to test the PHP configuration parameters from the default php.ini file or a custom php file. |
pip | — | ✓ | Use the pip Chef InSpec audit resource to test packages that are installed using the Python PIP installer. |
plist | ✓ 16.0 | — | Use the plist resource to set config values in plist files on macOS systems. |
port | — | ✓ | Use the port Chef InSpec audit resource to test basic port properties, such as port, process, if it’s listening. |
portage_package | ✓ | — | Use the portage_package resource to manage packages for the Gentoo platform. |
postfix_conf | — | ✓ | Use the postfix_conf Chef InSpec audit resource to test the main configuration of the Postfix Mail Transfer Agent. |
postgres_conf | — | ✓ | Use the postgres_conf Chef InSpec audit resource to test the contents of the configuration file for PostgreSQL, typically located at /etc/postgresql/<version>/main/postgresql.conf or /var/lib/postgres/data/postgresql.conf, depending on the platform. |
postgres_hba_conf | — | ✓ | Use the postgres_hba_conf Chef InSpec audit resource to test the client authentication data defined in the pg_hba.conf file. |
postgres_ident_conf | — | ✓ | Use the postgres_ident_conf Chef InSpec audit resource to test the client authentication data defined in the pg_ident.conf file. |
postgres_session | — | ✓ | Use the postgres_session Chef InSpec audit resource to test SQL commands run against a PostgreSQL database. |
powershell | — | ✓ | Use the powershell Chef InSpec audit resource to test a Powershell script on the Windows platform. |
powershell_package | ✓ 12.16 | — | Use the powershell_package resource to install and manage packages via the PowerShell Package Manager for the Microsoft Windows platform. |
powershell_package_source | ✓ 14.3 | — | Use the powershell_package_source resource to register a PowerShell package source and a Powershell package provider. |
powershell_script | ✓ | — | Use the powershell_script resource to execute a script using the Windows PowerShell interpreter, much like how the script and script-based resources bash, csh, perl, python, and ruby are used. |
ppa | — | ✓ | Use the ppa Chef InSpec audit resource to verify the PPA repositories on Debian-based Linux distributions. |
processes | — | ✓ | Use the processes Chef InSpec audit resource to test the properties of system programs. |
python | ✓ | — | Use the python resource to execute scripts using the Python interpreter. |
reboot | ✓ 12.0 | — | Use the reboot resource to reboot a node, a necessary step with some installations on certain platforms. |
registry_key | ✓ | ✓ | Use the registry_key resource to create and delete registry keys in Microsoft Windows. |
remote_directory | ✓ | — | Use the remote_directory resource to incrementally transfer a directory from a cookbook to a node. |
remote_file | ✓ | — | Use the remote_file resource to transfer a file from a remote location using file specificity. |
rhsm_errata | ✓ 14.0 | — | Use the rhsm_errata resource to install packages associated with a given Red Hat Subscription Manager Errata ID. |
rhsm_errata_level | ✓ 14.0 | — | Use the rhsm_errata_level resource to install all packages of a specified errata level from the Red Hat Subscription Manager. |
rhsm_register | ✓ 14.0 | — | Use the rhsm_register resource to register a node with the Red Hat Subscription Manager or a local Red Hat Satellite server. |
rhsm_repo | ✓ 14.0 | — | Use the rhsm_repo resource to enable or disable Red Hat Subscription Manager repositories that are made available via attached subscriptions. |
rhsm_subscription | ✓ 14.0 | — | Use the rhsm_subscription resource to add or remove Red Hat Subscription Manager subscriptions from your host. |
route | ✓ | — | Use the route resource to manage the system routing table in a Linux environment. |
routing_table | — | ✓ | Use the routing_table Chef InSpec audit resource to test the routing information parameters, destination, gateway, and interface present in the routing table. |
rpm_package | ✓ | — | Use the rpm_package resource to manage packages using the RPM Package Manager. |
ruby | ✓ | — | Use the ruby resource to execute scripts using the Ruby interpreter. |
ruby_block | ✓ | — | Use the ruby_block resource to execute Ruby code during a Chef Infra Client run. |
runit_service | — | ✓ | Use the runit_service Chef InSpec audit resource to test a service using runit. |
script | ✓ | — | Use the script resource to execute scripts using a specified interpreter, such as Bash, csh, Perl, Python, or Ruby. |
security_identifier | — | ✓ | Use the security_identifier Chef InSpec resource to test the Security Identifier (SID) for user and group trustees on Windows. |
security_policy | — | ✓ | Use the security_policy Chef InSpec audit resource to test security policies on the Windows platform. |
selinux | — | ✓ | Use the selinux Chef InSpec audit resource to test the configuration data of the SELinux policy, SELinux modules and SELinux booleans. |
selinux_boolean | ✓ 18.0 | — | Use the selinux_boolean resource to set SELinux boolean values. |
selinux_fcontext | ✓ 18.0 | — | Use the selinux_fcontext resource to set the SELinux context of files using the semanage fcontext command. |
selinux_install | ✓ 18.0 | — | Use the selinux_install resource to encapsulate the set of SELinux packages to install in order to manage SELinux. |
selinux_login | ✓ 18.1 | — | Use the selinux_login resource to add, update, or remove SELinux user to OS login mappings. |
selinux_module | ✓ 18.0 | — | Use the selinux_module module resource to create an SELinux policy module from a cookbook file or content provided as a string. |
selinux_permissive | ✓ 18.0 | — | Use the selinux_permissive resource to allow some domains to misbehave without stopping them. |
selinux_port | ✓ 18.0 | — | Use the selinux_port resource to assign a network port to a specific SELinux context. |
selinux_state | ✓ 18.0 | — | Use the selinux_state resource to manage the SELinux state on a system. |
selinux_user | ✓ 18.1 | — | Use the selinux_user resource to add, update, or remove SELinux users. |
service | ✓ | ✓ | Use the service resource to manage a service. |
shadow | — | ✓ | Use the shadow Chef InSpec audit resource to test the contents of /etc/shadow, which contains password details that are readable only by the root user. |
smartos_package | ✓ | — | Use the smartos_package resource to manage packages for the SmartOS platform. |
snap_package | ✓ 15.0 | — | Use the snap_package resource to manage snap packages on Debian and Ubuntu platforms. |
solaris_package | ✓ | — | Use the solaris_package resource to manage packages on the Solaris platform. |
ssh_config | — | ✓ | Use the ssh_config Chef InSpec audit resource to test OpenSSH client configuration data located at /etc/ssh/ssh_config on Linux and Unix platforms. |
ssh_key | — | ✓ | Use the ssh_key Chef InSpec audit resource to test ssh keys. |
ssh_known_hosts_entry | ✓ 14.3 | — | Use the ssh_known_hosts_entry resource to add an entry for the specified host in /etc/ssh/ssh_known_hosts or a user’s known hosts file if specified. |
sshd_active_config | — | ✓ | Use the sshd_active_config Chef InSpec audit resource to find and test configuration data for the OpenSSH daemon. |
sshd_config | — | ✓ | Use the sshd_config Chef InSpec audit resource to test configuration data for the OpenSSH daemon located at /etc/ssh/sshd_config on Linux and Unix platforms. |
ssl | — | ✓ | Use the ssl Chef InSpec audit resource to test SSL settings for the named port. |
subversion | ✓ | — | Use the subversion resource to manage source control resources that exist in a Subversion repository. |
sudo | ✓ 14.0 | — | Use the sudo resource to add or remove individual sudo entries using sudoers.d files. |
swap_file | ✓ 14.0 | — | Use the swap_file resource to create or delete swap files on Linux systems, and optionally to manage the swappiness configuration for a host. |
sys_info | — | ✓ | Use the sys_info Chef InSpec audit resource to test for operating system properties for the named host, and then returns that info as standard output. |
sysctl | ✓ 14.0 | — | Use the sysctl resource to set or remove kernel parameters using the sysctl command line tool and configuration files in the system’s sysctl.d directory. |
systemd_service | — | ✓ | Use the systemd_service Chef InSpec audit resource to test a service using SystemD. |
systemd_unit | ✓ 12.11 | — | Use the systemd_unit resource to create, manage, and run systemd units. |
sysv_service | — | ✓ | Use the sysv_service Chef InSpec audit resource to test a service using SystemV. |
template | ✓ | — | Use the template resource to manage the contents of a file using an Embedded Ruby (ERB) template by transferring files from a sub-directory of COOKBOOK_NAME/templates/ to a specified path located on a host that is running Chef Infra Client. |
timezone | ✓ 14.6 | ✓ | Use the timezone resource to change the system timezone on Windows, Linux, and macOS hosts. |
toml | — | ✓ | Use the toml Chef InSpec audit resource to test settings in a TOML file. |
upstart_service | — | ✓ | Use the upstart_service Chef InSpec audit resource to test a service using Upstart. |
user | ✓ | ✓ | Use the user resource to add users, update existing users, remove users, and to lock/unlock user passwords. |
user_ulimit | ✓ 16.0 | — | Use the user_ulimit resource to create individual ulimit files that are installed into the /etc/security/limits.d/ directory. |
users | — | ✓ | Use the users Chef InSpec audit resource to look up all local users available on the system, and then test specific properties of those users. |
vbscript | — | ✓ | Use the vbscript Chef InSpec audit resource to test a VBScript on the Windows platform. |
virtualization | — | ✓ | Use the virtualization Chef InSpec audit resource to test the virtualization platform on which the system is running. |
windows_ad_join | ✓ 14.0 | — | Use the windows_ad_join resource to join a Windows Active Directory domain. |
windows_audit_policy | ✓ 16.2 | — | Use the windows_audit_policy resource to configure system level and per-user Windows advanced audit policy settings. |
windows_auto_run | ✓ 14.0 | — | Use the windows_auto_run resource to set applications to run at login. |
windows_certificate | ✓ 14.7 | — | Use the windows_certificate resource to install a certificate into the Windows certificate store from a file. |
windows_defender | ✓ 17.3 | — | Use the windows_defender resource to enable or disable the Microsoft Windows Defender service. |
windows_defender_exclusion | ✓ 17.3 | — | Use the windows_defender_exclusion resource to exclude paths, processes, or file types from Windows Defender realtime protection scanning. |
windows_dfs_folder | ✓ 15.0 | — | Use the windows_dfs_folder resource to creates a folder within DFS as many levels deep as required. |
windows_dfs_namespace | ✓ 15.0 | — | Use the windows_dfs_namespace resource to creates a share and DFS namespace on a Windows server. |
windows_dfs_server | ✓ 15.0 | — | Use the windows_dfs_server resource to set system-wide DFS settings. |
windows_dns_record | ✓ 15.0 | — | The windows_dns_record resource creates a DNS record for the given domain. |
windows_dns_zone | ✓ 15.0 | — | The windows_dns_zone resource creates an Active Directory Integrated DNS Zone on the local server. |
windows_env | ✓ | — | Use the windows_env resource to manage environment keys in Microsoft Windows. |
windows_feature | ✓ 14.0 | ✓ | Use the windows_feature resource to add, remove or entirely delete Windows features and roles. |
windows_feature_dism | ✓ 14.0 | — | Use the windows_feature_dism resource to add, remove, or entirely delete Windows features and roles using DISM. |
windows_feature_powershell | ✓ 14.0 | — | Use the windows_feature_powershell resource to add, remove, or entirely delete Windows features and roles using PowerShell. |
windows_firewall | — | ✓ | Use the windows_firewall Chef InSpec audit resource to test if a firewall profile is correctly configured on a Windows system. |
windows_firewall_profile | ✓ 16.3 | — | Use the windows_firewall_profile resource to enable, disable, and configure the Windows firewall. |
windows_firewall_rule | ✓ 14.7 | ✓ | Use the windows_firewall_rule resource to create, change or remove Windows firewall rules. |
windows_font | ✓ 14.0 | — | Use the windows_font resource to install font files on Windows. |
windows_hotfix | — | ✓ | Use the windows_hotfix Chef InSpec audit resource to test if the hotfix has been installed on a Windows system. |
windows_package | ✓ 11.12 | — | Use the windows_package resource to manage packages on the Microsoft Windows platform. |
windows_pagefile | ✓ 14.0 | — | Use the windows_pagefile resource to configure pagefile settings on Windows. |
windows_path | ✓ 13.4 | — | Use the windows_path resource to manage the path environment variable on Microsoft Windows. |
windows_printer | ✓ 14.0 | — | Use the windows_printer resource to setup Windows printers. |
windows_printer_port | ✓ 14.0 | — | Use the windows_printer_port resource to create and delete TCP/IPv4 printer ports on Windows. |
windows_security_policy | ✓ 16.0 | — | Use the windows_security_policy resource to set a security policy on the Microsoft Windows platform. |
windows_service | ✓ 12.0 | — | Use the windows_service resource to create, delete, or manage a service on the Microsoft Windows platform. |
windows_share | ✓ 14.7 | — | Use the windows_share resource to create, modify and remove Windows shares. |
windows_shortcut | ✓ 14.0 | — | Use the windows_shortcut resource to create shortcut files on Windows. |
windows_task | ✓ 13.0 | ✓ | Use the windows_task resource to create, delete or run a Windows scheduled task. |
windows_uac | ✓ 15.0 | — | The windows_uac resource configures UAC on Windows hosts by setting registry keys at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System |
windows_update_settings | ✓ 17.3 | — | Use the windows_update_settings resource to manage the various Windows Update patching options. |
windows_user_privilege | ✓ 16.0 | — | Use the windows_user_privilege resource to set privileges for a principal, user, or group. |
windows_workgroup | ✓ 14.5 | — | Use the windows_workgroup resource to join or change the workgroup of a Windows host. |
wmi | — | ✓ | Use the wmi Chef InSpec audit resource to test WMI settings on the Windows platform. |
x509_certificate | — | ✓ | Use the x509_certificate Chef InSpec audit resource to test the fields and validity of an x.509 certificate. |
x509_private_key | — | ✓ | Use the x509_private_key Chef InSpec audit resource to test the x509 private key. |
xinetd_conf | — | ✓ | Use the xinetd_conf Chef InSpec audit resource to test services under /etc/xinet.d on Linux and Unix platforms. |
xml | — | ✓ | Use the xml Chef InSpec audit resource to test data in an XML file. |
yaml | — | ✓ | Use the yaml Chef InSpec audit resource to test configuration data in a Yaml file. |
yum | — | ✓ | Use the yum Chef InSpec audit resource to test packages in the Yum repository. |
yum_package | ✓ | — | Use the yum_package resource to install, upgrade, and remove packages with Yum for the Red Hat and CentOS platforms. |
yum_repository | ✓ 12.14 | — | Use the yum_repository resource to manage a Yum repository configuration file located at /etc/yum.repos.d/repositoryid.repo on the local machine. |
zfs | — | ✓ | Use the zfs Chef InSpec audit resource to test the named ZFS Pool file system and its respective properties. |
zfs_dataset | — | ✓ | Use the zfs_dataset Chef InSpec audit resource to test the ZFS datasets on FreeBSD & Linux (Check OS Family Details for more details). |
zfs_pool | — | ✓ | Use the zfs_pool Chef InSpec audit resource to test the ZFS pools on FreeBSD & Linux (Centos, RHEL, Ubuntu, CloudLinux, Debian) systems. |
zypper_package | ✓ | — | Use the zypper_package resource to install, upgrade, and remove packages with Zypper for the SUSE Enterprise and openSUSE platforms. |
zypper_repository | ✓ 13.3 | — | Use the zypper_repository resource to create Zypper package repositories on SUSE Enterprise Linux and openSUSE systems. |
Chef InSpec resource packs
As of Chef InSpec 7, cloud and platform resources moved out of Chef InSpec core into separate resource packs. Each pack bundles many resources, so they're grouped here. Select a pack to see all of its resources.
| Resource pack | Chef InSpec | Description |
|---|---|---|
| Amazon Web Services (AWS) | ✓ | Chef InSpec resources for auditing Amazon Web Services (AWS) infrastructure. |
| Microsoft Azure | ✓ | Chef InSpec resources for auditing Microsoft Azure infrastructure. |
| Google Cloud Platform (GCP) | ✓ | Chef InSpec resources for auditing Google Cloud Platform infrastructure. |
| Docker | ✓ | Chef InSpec resources for auditing Docker. |
| Kubernetes | ✓ | Chef InSpec resources for auditing Kubernetes. |
| Elasticsearch | ✓ | Chef InSpec resources for auditing Elasticsearch. |
| MongoDB | ✓ | Chef InSpec resources for auditing MongoDB databases and configurations. |
| RabbitMQ | ✓ | Chef InSpec resources for auditing RabbitMQ. |
| Podman | ✓ | Chef InSpec resources for auditing Podman. |
| Chef Habitat | ✓ | Chef InSpec resources for auditing Chef Habitat packages and services. |