• Blog
  • Ansible community forum
  • Documentation
Ansible Logo
Ansible Community Documentation
Ansible

Ansible getting started

  • Getting started with Ansible
  • Getting started with Execution Environments

Installation, Upgrade & Configuration

  • Installation Guide
  • Ansible Porting Guides

Using Ansible

  • Building Ansible inventories
  • Using Ansible command line tools
  • Using Ansible playbooks
  • Protecting sensitive data with Ansible vault
  • Using Ansible modules and plugins
  • Using Ansible collections
  • Using Ansible on Windows, BSD, and z/OS UNIX
  • Ansible tips and tricks

Contributing to Ansible

  • Ansible Community Guide
  • Ansible Collections Contributor Guide
  • ansible-core Contributors Guide
  • Advanced Contributor Guide
  • Ansible documentation style guide

Extending Ansible

  • Developer Guide

Common Ansible Scenarios

  • Legacy Public Cloud Guides

Network Automation

  • Network Getting Started
  • Network Advanced Topics
  • Network Developer Guide

Ansible Galaxy

  • Galaxy User Guide
  • Galaxy Developer Guide

Reference & Appendices

  • Collection Index
  • Indexes of all modules and plugins
  • Playbook Keywords
  • Return Values
  • Ansible Configuration Settings
  • Controlling how Ansible behaves: precedence rules
  • YAML Syntax
  • Python 3 Support
  • Interpreter Discovery
  • Releases and maintenance
  • Testing Strategies
  • Sanity Tests
  • Frequently Asked Questions
  • Glossary
  • Ansible Reference: Module Utilities
  • Special Variables
  • Red Hat Ansible Automation Platform
  • Ansible Automation Hub
  • Logging Ansible output

Roadmaps

  • Ansible Roadmap
  • ansible-core Roadmaps




Ansible
  • Ansible Documentation


'; // Create a banner if we're not on the official docs site if (location.host == "docs.testing.ansible.com") { document.write('
' + '

This is the testing site for Ansible Documentation. Unless you are reviewing pre-production changes, please visit the official documentation website.

' + '
'); } // Create a banner current_url_path = window.location.pathname; var important = false; var msg = '

'; if (startsWith(current_url_path, "/ansible-core/")) { msg += 'You are reading documentation for Ansible Core, which contains no plugins except for those in ansible.builtin. For documentation of the Ansible package, go to the latest documentation.'; } else if (startsWithOneOf(current_url_path, ["/ansible/latest/", "/ansible/11/"])) { /* temp extra banner to advertise something */ banner += extra_banner; msg += 'This is the latest (stable) Ansible community documentation. For Red Hat Ansible Automation Platform subscriptions, see Life Cycle for version details.'; } else if (startsWith(current_url_path, "/ansible/2.9/")) { msg += 'You are reading the latest Red Hat released version of the Ansible documentation. Community users can use this version, or select latest from the version selector to the left for the most recent community version.'; } else if (startsWith(current_url_path, "/ansible/devel/")) { /* temp extra banner to advertise something */ banner += extra_banner; msg += 'You are reading the devel version of the Ansible documentation - this version is not guaranteed stable. Use the version selection to the left if you want the latest (stable) released version.'; } else { msg += 'You are reading an older version of the Ansible documentation. Use the version selection to the left if you want the latest (stable) released version.'; /* temp extra banner to advertise something - this is for testing*/ banner += extra_banner; } msg += '

'; banner += '
'; banner += important ? '
' : ''; banner += msg; banner += important ? '
' : ''; banner += '
'; document.write(banner);

Ansible Documentation

Welcome to Ansible community documentation! This documentation covers the version of Ansible noted in the upper left corner of this page. We maintain multiple versions of Ansible and of the documentation, so please be sure you are using the version of the documentation that covers the version of Ansible you’re using. For recent features, we note the version of Ansible where the feature was added.

Ansible releases a new major release approximately twice a year. The core application evolves somewhat conservatively, valuing simplicity in language design and setup. Contributors develop and change modules and plugins, hosted in collections, much more quickly.

Ansible getting started

  • Getting started with Ansible
    • Introduction to Ansible
    • Start automating with Ansible
    • Building an inventory
    • Creating a playbook
    • Ansible concepts
  • Getting started with Execution Environments
    • Introduction to Execution Environments
    • Setting up your environment
    • Building your first Execution Environment
    • Running your EE
    • Running Ansible with the community EE image

Installation, Upgrade & Configuration

  • Installation Guide
    • Installing Ansible
    • Installing Ansible on specific operating systems
    • Configuring Ansible
  • Ansible Porting Guides
    • Ansible 11 Porting Guide
    • Ansible 10 Porting Guide
    • Ansible 9 Porting Guide
    • Ansible 8 Porting Guide
    • Ansible 7 Porting Guide
    • Ansible 6 Porting Guide
    • Ansible 5 Porting Guide
    • Ansible 4 Porting Guide
    • Ansible 3 Porting Guide
    • Ansible 2.10 Porting Guide
    • Ansible 2.9 Porting Guide
    • Ansible 2.8 Porting Guide
    • Ansible 2.7 Porting Guide
    • Ansible 2.6 Porting Guide
    • Ansible 2.5 Porting Guide
    • Ansible 2.4 Porting Guide
    • Ansible 2.3 Porting Guide
    • Ansible 2.0 Porting Guide

Using Ansible

  • Building Ansible inventories
    • How to build your inventory
    • Working with dynamic inventory
    • Patterns: targeting hosts and groups
    • Connection methods and details
  • Using Ansible command line tools
    • Introduction to ad hoc commands
    • Working with command line tools
    • Ansible CLI cheatsheet
  • Using Ansible playbooks
    • Ansible playbooks
    • Working with playbooks
    • Executing playbooks
    • Advanced playbook syntax
    • Manipulating data
  • Protecting sensitive data with Ansible vault
    • Ansible Vault
    • Managing vault passwords
    • Encrypting content with Ansible Vault
    • Using encrypted variables and files
    • Configuring defaults for using encrypted content
    • When are encrypted files made visible?
    • Format of files encrypted with Ansible Vault
  • Using Ansible modules and plugins
    • Introduction to modules
    • Module maintenance and support
    • Rejecting modules
    • Working with plugins
    • Modules and plugins index
  • Using Ansible collections
    • Installing collections
    • Removing a collection
    • Downloading collections
    • Listing collections
    • Verifying collections
    • Using collections in a playbook
    • Collections index
  • Using Ansible on Windows, BSD, and z/OS UNIX
    • Managing BSD hosts with Ansible
    • Managing Windows hosts with Ansible
    • Managing z/OS UNIX hosts with Ansible
  • Ansible tips and tricks
    • General tips
    • Playbook tips
    • Inventory tips
    • Execution tricks
    • Sample Ansible setup

Contributing to Ansible

  • Ansible Community Guide
    • Getting started
    • Contributor path
  • Ansible Collections Contributor Guide
    • The Ansible Collections Development Cycle
    • Requesting changes to a collection
    • Creating your first collection pull request
    • Testing Collection Contributions
    • Review checklist for collection PRs
    • Ansible community package collections requirements
    • Guidelines for collection maintainers
    • Contributing to Ansible-maintained Collections
    • Ansible Community Steering Committee
    • Contributing to the Ansible Documentation
    • Other Tools and Programs
    • Working with the Ansible collection repositories
  • ansible-core Contributors Guide
    • Reporting bugs and requesting features
    • Contributing to the Ansible Documentation
    • The Ansible Development Cycle
    • Other Tools and Programs
    • Working with the Ansible repo
  • Advanced Contributor Guide
    • Committers Guidelines
    • Release Manager Guidelines
    • GitHub Admins
    • Ansible Ecosystem Project Development Resources
  • Ansible documentation style guide
    • Linguistic guidelines
    • reStructuredText guidelines
    • Markdown guidelines
    • Accessibility guidelines
    • More resources

Extending Ansible

  • Developer Guide
    • Adding modules and plugins locally
    • Should you develop a module?
    • Developing modules
    • Contributing your module to an existing Ansible collection
    • Conventions, tips, and pitfalls
    • Ansible and Python 3
    • Debugging modules
    • Module format and documentation
    • Adjacent YAML documentation files
    • Windows module development walkthrough
    • Creating a new collection
    • Testing Ansible
    • The lifecycle of an Ansible module or plugin
    • Developing plugins
    • Developing dynamic inventory
    • Developing ansible-core
    • Ansible module architecture
    • Python API
    • Rebasing a pull request
    • Using and developing module utilities
    • Ansible collection creator path
    • Developing collections
    • Migrating Roles to Roles in Collections on Galaxy
    • Collection Galaxy metadata structure
    • Ansible architecture

Common Ansible Scenarios

  • Legacy Public Cloud Guides

Network Automation

  • Network Getting Started
    • Basic Concepts
    • How Network Automation is Different
    • Run Your First Command and Playbook
    • Build Your Inventory
    • Use Ansible network roles
    • Beyond the basics
    • Working with network connection options
    • Resources and next steps
  • Network Advanced Topics
    • Network Resource Modules
    • Ansible Network Examples
    • Parsing semi-structured text with Ansible
    • Validate data against set criteria with Ansible
    • Network Debug and Troubleshooting Guide
    • Working with command output and prompts in network modules
    • Ansible Network FAQ
    • Platform Options
  • Network Developer Guide
    • Developing network resource modules
    • Developing network plugins
    • Documenting new network platforms

Ansible Galaxy

  • Galaxy User Guide
    • Finding collections on Galaxy
    • Finding roles on Galaxy
    • Installing roles from Galaxy
  • Galaxy Developer Guide
    • Creating collections for Galaxy
    • Creating roles for Galaxy

Reference & Appendices

  • Collection Index
  • Indexes of all modules and plugins
  • Playbook Keywords
  • Return Values
  • Ansible Configuration Settings
  • Controlling how Ansible behaves: precedence rules
  • YAML Syntax
  • Python 3 Support
  • Interpreter Discovery
  • Releases and maintenance
  • Testing Strategies
  • Sanity Tests
  • Frequently Asked Questions
  • Glossary
  • Ansible Reference: Module Utilities
  • Special Variables
  • Red Hat Ansible Automation Platform
  • Ansible Automation Hub
  • Logging Ansible output

Roadmaps

  • Ansible Roadmap
    • Ansible project 11.0
    • Ansible project 10.0
    • Ansible project 9.0
    • Ansible project 8.0
    • Ansible project 7.0
    • Ansible project 6.0
    • Ansible project 5.0
    • Ansible project 4.0
    • Ansible project 3.0
    • Ansible project 2.10
    • Older Roadmaps
  • ansible-core Roadmaps
    • Ansible-core 2.18
    • Ansible-core 2.17
    • Ansible-core 2.16
    • Ansible-core 2.15
    • Ansible-core 2.14
    • Ansible-core 2.13
    • Ansible-core 2.12
    • Ansible-core 2.11
    • Ansible-base 2.10
Next

© Copyright Ansible project contributors. Last updated on Jun 12, 2025.