AnsibleFest
Products
Community
Webinars & Training
Blog
Documentation
Ansible
v2.4
For previous versions, see the
documentation archive.
Introduction
Installation
Getting Started
Inventory
Dynamic Inventory
Patterns
Introduction To Ad-Hoc Commands
Configuration file
BSD Support
Windows Support
Networking Support
Quickstart Video
Playbooks
Intro to Playbooks
Creating Reusable Playbooks
Variables
Templating (Jinja2)
Conditionals
Loops
Blocks
Strategies
Best Practices
Playbooks: Special Topics
Become (Privilege Escalation)
Accelerated Mode
Asynchronous Actions and Polling
Check Mode (“Dry Run”)
Playbook Debugger
Delegation, Rolling Updates, and Local Actions
Setting the Environment (and Working With Proxies)
Working With Language-Specific Version Managers
Error Handling In Playbooks
Advanced Syntax
Lookups
Examples
Prompts
Tags
Using Vault in playbooks
Start and Step
Directives Glossary
About Modules
Introduction
Return Values
Module Maintenance & Support
Module Index
All Modules
Cloud Modules
Clustering Modules
Commands Modules
Crypto Modules
Database Modules
Files Modules
Identity Modules
Inventory Modules
Messaging Modules
Monitoring Modules
Net Tools Modules
Network Modules
Notification Modules
Packaging Modules
Remote Management Modules
Source Control Modules
Storage Modules
System Modules
Utilities Modules
Web Infrastructure Modules
Windows Modules
Ansible Vault
What Can Be Encrypted With Vault
Creating Encrypted Files
Editing Encrypted Files
Rekeying Encrypted Files
Encrypting Unencrypted Files
Decrypting Encrypted Files
Viewing Encrypted Files
Use encrypt_string to create encrypted variables to embed in yaml
Vault Ids and Multiple Vault Passwords
Providing Vault Passwords
Speeding Up Vault Operations
Vault Format
Vault Payload Format 1.1
Command Line Tools
ansible
ansible-playbook
ansible-vault
ansible-galaxy
ansible-console
ansible-config
ansible-doc
ansible-inventory
ansible-pull
Detailed Guides
Amazon Web Services Guide
Getting Started with Azure
Rackspace Cloud Guide
Google Cloud Platform Guide
CloudStack Cloud Guide
Using Vagrant and Ansible
Continuous Delivery and Rolling Upgrades
Getting Started with Docker
Using Ansible with the Packet host
Developer Information
Ansible Developer Guide
Ansible Tower
Community Information & Contributing
Ansible Users
For Current and Prospective Developers
Other Topics
Community Code of Conduct
Contributors License Agreement
Ansible Galaxy
The Website
The command line tool
Testing Strategies
Integrating Testing With Ansible Playbooks
The Right Level of Testing
Check Mode As A Drift Test
Modules That Are Useful for Testing
Testing Lifecycle
Integrating Testing With Rolling Updates
Achieving Continuous Deployment
Conclusion
Frequently Asked Questions
How can I set the PATH or any other environment variable for a task or entire playbook?
How do I handle different machines needing different user accounts or ports to log in with?
How do I get ansible to reuse connections, enable Kerberized SSH, or have Ansible pay attention to my local SSH config file?
How do I configure a jump host to access servers that I have no direct access to?
How do I speed up management inside EC2?
How do I handle python pathing not having a Python 2.X in /usr/bin/python on a remote machine?
What is the best way to make content reusable/redistributable?
Where does the configuration file live and what can I configure in it?
How do I disable cowsay?
How do I see a list of all of the ansible_ variables?
How do I see all the inventory vars defined for my host?
How do I loop over a list of hosts in a group, inside of a template?
How do I access a variable name programmatically?
How do I access a variable of the first host in a group?
How do I copy files recursively onto a target host?
How do I access shell environment variables?
How do I generate crypted passwords for the user module?
Can I get training on Ansible?
Is there a web interface / REST API / etc?
How do I submit a change to the documentation?
How do I keep secret data in my playbook?
When should I use {{ }}? Also, how to interpolate variables or dynamic variable names
Why don’t you ship in X format?
I don’t see my question here
Configuration
Common Options
Environment Variables
Glossary
YAML Syntax
YAML Basics
Gotchas
Ansible Porting Guides
Python 3 Support
Testing Python 3 with commands and playbooks
Testing Python 3 module support
What to do if an incompatibility is found
Release and maintenance
Release cycle
Release status
Development and stable version maintenance workflow
AnsibleFest
Products
Community
Webinars & Training
Blog
Ansible Documentation
Docs
»
Modules Maintained by the Ansible Core Team
Edit on GitHub
Modules Maintained by the Ansible Core Team
¶
acl - Sets and retrieves file ACL information.
add_host - add a host (and alternatively a group) to the ansible-playbook in-memory inventory
apt - Manages apt-packages
apt_key - Add or remove an apt key
apt_repository - Add and remove APT repositories
assemble - Assembles a configuration file from fragments
assert - Asserts given expressions are true
async_status - Obtain status of asynchronous task
at - Schedule the execution of a command or script file via the at command.
authorized_key - Adds or removes an SSH authorized key
aws_s3 - manage objects in S3.
blockinfile - Insert/update/remove a text block surrounded by marker lines.
cloudformation - Create or delete an AWS CloudFormation stack
command - Executes a command on a remote node
copy - Copies files to remote locations
debconf - Configure a .deb package
debug - Print statements during execution
dnf - Manages packages with the *dnf* package manager
ec2 - create, terminate, start or stop an instance in ec2
ec2_group - maintain an ec2 VPC security group.
ec2_metadata_facts - Gathers facts (instance metadata) about remote hosts within ec2
ec2_snapshot - creates a snapshot from an existing volume
ec2_vol - create and attach a volume, return volume id and device map
ec2_vpc_net - Configure AWS virtual private clouds
ec2_vpc_net_facts - Gather facts about ec2 VPCs in AWS
ec2_vpc_subnet - Manage subnets in AWS virtual private clouds
ec2_vpc_subnet_facts - Gather facts about ec2 VPC subnets in AWS
fail - Fail with custom message
fetch - Fetches a file from remote nodes
file - Sets attributes of files
find - Return a list of files based on specific criteria
get_url - Downloads files from HTTP, HTTPS, or FTP to node
getent - a wrapper to the unix getent utility
git - Deploy software (or files) from git checkouts
group - Add or remove groups
group_by - Create Ansible groups based on facts
import_plays - import a playbook.
import_role - Import a role into a play
import_tasks - import a task list.
include **(D)** - include a play or task list.
include_role - Load and execute a role
include_tasks - dynamically include a task list.
include_vars - Load variables from files, dynamically within a task.
iptables - Modify the systems iptables
lineinfile - Ensure a particular line is in a file, or replace an existing line using a back-referenced regular expression.
meta - Execute Ansible 'actions'
mount - Control active and configured mount points
package - Generic OS package manager
pause - Pause playbook execution
ping - Try to connect to host, verify a usable python and return ``pong`` on success
pip - Manages Python library dependencies.
raw - Executes a low-down and dirty SSH command
rhn_channel - Adds or removes Red Hat software channels
rpm_key - Adds or removes a gpg key from the rpm db
s3_bucket - Manage S3 buckets in AWS, Ceph, Walrus and FakeS3
script - Runs a local script on a remote node after transferring it
seboolean - Toggles SELinux booleans.
selinux - Change policy and state of SELinux
service - Manage services.
set_fact - Set host facts from a task
setup - Gathers facts about remote hosts
shell - Execute commands in nodes.
slurp - Slurps a file from remote nodes
stat - Retrieve file or file system status
subversion - Deploys a subversion repository.
synchronize - A wrapper around rsync to make common tasks in your playbooks quick and easy.
sysctl - Manage entries in sysctl.conf.
systemd - Manage services.
template - Templates a file out to a remote server
unarchive - Unpacks an archive after (optionally) copying it from the local machine.
uri - Interacts with webservices
user - Manage user accounts
wait_for - Waits for a condition before continuing
wait_for_connection - Waits until remote system is reachable/usable
win_acl - Set file/directory/registry permissions for a system user or group
win_acl_inheritance - Change ACL inheritance
win_command - Executes a command on a remote Windows node
win_copy - Copies files to remote locations on windows hosts
win_disk_image - Manage ISO/VHD/VHDX mounts on Windows hosts
win_dns_client - Configures DNS lookup on Windows hosts
win_domain - Ensures the existence of a Windows domain.
win_domain_controller - Manage domain controller/member server state for a Windows host
win_domain_membership - Manage domain/workgroup membership for a Windows host
win_file - Creates, touches or removes files or directories.
win_get_url - Fetches a file from a given URL
win_group - Add and remove local groups
win_owner - Set owner
win_package - Installs/uninstalls an installable package
win_path - Manage Windows path environment variables
win_ping - A windows version of the classic ping module
win_reboot - Reboot a windows machine
win_regedit - Add, change, or remove registry keys and values
win_service - Manages Windows services
win_share - Manage Windows shares
win_shell - Execute shell commands on target hosts.
win_stat - returns information about a Windows file
win_template - Templates a file out to a remote server.
win_updates - Download and install Windows updates
win_user - Manages local Windows user accounts
yum - Manages packages with the *yum* package manager
yum_repository - Add or remove YUM repositories
Note
(D)
: This marks a module as deprecated, which means a module is kept for backwards compatibility but usage is discouraged. The module documentation details page may explain more about this rationale.