CINXE.COM
Ansible Documentation — Ansible Community Documentation
<!DOCTYPE html> <html class="writer-html5" lang="en" data-content_root="./"> <head> <meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Ansible Documentation — Ansible Community Documentation</title> <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=41de9001" /> <link rel="stylesheet" type="text/css" href="_static/css/ansible.css?v=c5b67dd2" /> <link rel="stylesheet" type="text/css" href="_static/antsibull-minimal.css" /> <link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" /> <link rel="stylesheet" type="text/css" href="_static/css/rtd-ethical-ads.css?v=289b023e" /> <link rel="shortcut icon" href="_static/images/Ansible-Mark-RGB_Black.png"/> <link rel="canonical" href="https://docs.ansible.com/ansible/latest/index.html"/> <script src="_static/jquery.js?v=5d32c60e"></script> <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> <script src="_static/documentation_options.js?v=8ff10258"></script> <script src="_static/doctools.js?v=888ff710"></script> <script src="_static/sphinx_highlight.js?v=dc90522c"></script> <script src="_static/clipboard.min.js?v=a7894cd8"></script> <script src="_static/copybutton.js?v=f281be69"></script> <script src="_static/js/theme.js"></script> <link rel="index" title="Index" href="genindex.html" /> <link rel="search" title="Search" href="search.html" /> <link rel="next" title="Getting started with Ansible" href="getting_started/index.html" /><!-- extra head elements for Ansible beyond RTD Sphinx Theme --> <script src="https://www.redhat.com/dtm.js"></script> <!-- Google Tag Manager Data Layer --> <script> dataLayer = []; </script> <!-- End Google Tag Manager Data Layer --> </head> <body class="wy-body-for-nav"><!-- extra body elements for Ansible beyond RTD Sphinx Theme --> <!-- Google Tag Manager --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-PSB293" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-PSB293');</script> <!-- End Google Tag Manager --> <div class="DocSite-globalNav ansibleNav"> <ul> <li><a href="https://www.ansible.com/blog" target="_blank">Blog</a></li> <li><a href="https://forum.ansible.com/" target="_blank">Ansible community forum</a></li> <li><a href="https://docs.ansible.com/" target="_blank">Documentation</a></li> </ul> </div> <a class="DocSite-nav" href="/" style="padding-bottom: 30px;"> <img class="DocSiteNav-logo" src="_static/images/Ansible-Mark-RGB_White.png" alt="Ansible Logo"> <div class="DocSiteNav-title">Ansible Community Documentation</div> </a> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-scroll"> <div class="wy-side-nav-search" > <a href="#" class="icon icon-home"> Ansible </a><!--- Based on https://github.com/rtfd/sphinx_rtd_theme/pull/438/files --> <div class="version"> <form class="version-dropdown" method="get"> <script> function switchVersionTo(slug) { var current_url_path = window.location.pathname; var url_version = current_url_path.search("/11/") > -1 ? "/11/" : "/latest/"; var new_version_url = current_url_path.replace(url_version, "/" + slug + "/"); window.location.replace(new_version_url); } </script> <label class="sr-only" for="version-list">Select version:</label> <select class="version-list" id="version-list" onchange="switchVersionTo(this.value);" > <option value="latest" > latest </option> <option value="devel" > devel </option> </select> </form> </div> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <label class="sr-only" for="q">Search docs:</label> <input type="text" class="st-default-search-input" id="q" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu"> <p class="caption" role="heading"><span class="caption-text">Ansible getting started</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="getting_started/index.html">Getting started with Ansible</a></li> <li class="toctree-l1"><a class="reference internal" href="getting_started_ee/index.html">Getting started with Execution Environments</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Installation, Upgrade & Configuration</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="installation_guide/index.html">Installation Guide</a></li> <li class="toctree-l1"><a class="reference internal" href="porting_guides/porting_guides.html">Ansible Porting Guides</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Using Ansible</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="inventory_guide/index.html">Building Ansible inventories</a></li> <li class="toctree-l1"><a class="reference internal" href="command_guide/index.html">Using Ansible command line tools</a></li> <li class="toctree-l1"><a class="reference internal" href="playbook_guide/index.html">Using Ansible playbooks</a></li> <li class="toctree-l1"><a class="reference internal" href="vault_guide/index.html">Protecting sensitive data with Ansible vault</a></li> <li class="toctree-l1"><a class="reference internal" href="module_plugin_guide/index.html">Using Ansible modules and plugins</a></li> <li class="toctree-l1"><a class="reference internal" href="collections_guide/index.html">Using Ansible collections</a></li> <li class="toctree-l1"><a class="reference internal" href="os_guide/index.html">Using Ansible on Windows, BSD, and z/OS UNIX</a></li> <li class="toctree-l1"><a class="reference internal" href="tips_tricks/index.html">Ansible tips and tricks</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Contributing to Ansible</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="community/index.html">Ansible Community Guide</a></li> <li class="toctree-l1"><a class="reference internal" href="community/contributions_collections.html">Ansible Collections Contributor Guide</a></li> <li class="toctree-l1"><a class="reference internal" href="community/contributions.html">ansible-core Contributors Guide</a></li> <li class="toctree-l1"><a class="reference internal" href="community/advanced_index.html">Advanced Contributor Guide</a></li> <li class="toctree-l1"><a class="reference internal" href="dev_guide/style_guide/index.html">Ansible documentation style guide</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Extending Ansible</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="dev_guide/index.html">Developer Guide</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Common Ansible Scenarios</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="scenario_guides/cloud_guides.html">Legacy Public Cloud Guides</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Network Automation</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="network/getting_started/index.html">Network Getting Started</a></li> <li class="toctree-l1"><a class="reference internal" href="network/user_guide/index.html">Network Advanced Topics</a></li> <li class="toctree-l1"><a class="reference internal" href="network/dev_guide/index.html">Network Developer Guide</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Ansible Galaxy</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="galaxy/user_guide.html">Galaxy User Guide</a></li> <li class="toctree-l1"><a class="reference internal" href="galaxy/dev_guide.html">Galaxy Developer Guide</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Reference & Appendices</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="collections/index.html">Collection Index</a></li> <li class="toctree-l1"><a class="reference internal" href="collections/all_plugins.html">Indexes of all modules and plugins</a></li> <li class="toctree-l1"><a class="reference internal" href="reference_appendices/playbooks_keywords.html">Playbook Keywords</a></li> <li class="toctree-l1"><a class="reference internal" href="reference_appendices/common_return_values.html">Return Values</a></li> <li class="toctree-l1"><a class="reference internal" href="reference_appendices/config.html">Ansible Configuration Settings</a></li> <li class="toctree-l1"><a class="reference internal" href="reference_appendices/general_precedence.html">Controlling how Ansible behaves: precedence rules</a></li> <li class="toctree-l1"><a class="reference internal" href="reference_appendices/YAMLSyntax.html">YAML Syntax</a></li> <li class="toctree-l1"><a class="reference internal" href="reference_appendices/python_3_support.html">Python 3 Support</a></li> <li class="toctree-l1"><a class="reference internal" href="reference_appendices/interpreter_discovery.html">Interpreter Discovery</a></li> <li class="toctree-l1"><a class="reference internal" href="reference_appendices/release_and_maintenance.html">Releases and maintenance</a></li> <li class="toctree-l1"><a class="reference internal" href="reference_appendices/test_strategies.html">Testing Strategies</a></li> <li class="toctree-l1"><a class="reference internal" href="dev_guide/testing/sanity/index.html">Sanity Tests</a></li> <li class="toctree-l1"><a class="reference internal" href="reference_appendices/faq.html">Frequently Asked Questions</a></li> <li class="toctree-l1"><a class="reference internal" href="reference_appendices/glossary.html">Glossary</a></li> <li class="toctree-l1"><a class="reference internal" href="reference_appendices/module_utils.html">Ansible Reference: Module Utilities</a></li> <li class="toctree-l1"><a class="reference internal" href="reference_appendices/special_variables.html">Special Variables</a></li> <li class="toctree-l1"><a class="reference internal" href="reference_appendices/tower.html">Red Hat Ansible Automation Platform</a></li> <li class="toctree-l1"><a class="reference internal" href="reference_appendices/automationhub.html">Ansible Automation Hub</a></li> <li class="toctree-l1"><a class="reference internal" href="reference_appendices/logging.html">Logging Ansible output</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Roadmaps</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="roadmap/ansible_roadmap_index.html">Ansible Roadmap</a></li> <li class="toctree-l1"><a class="reference internal" href="roadmap/ansible_core_roadmap_index.html">ansible-core Roadmaps</a></li> </ul> <!-- extra nav elements for Ansible beyond RTD Sphinx Theme --> <!-- changeable widget links to tower - do not change as image controlled by Ansible--> <div id="sideBanner"> <br/> <a href="https://www.ansible.com/docs-left?utm_source=docs"> <img style="border-width:0px;" src="https://cdn2.hubspot.net/hubfs/330046/docs-graphics/ASB-docs-left-rail.png" /> </a> <br/><br/><br/> </div> </div> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" > <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="#">Ansible</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="Page navigation"> <ul class="wy-breadcrumbs"> <li><a href="#" class="icon icon-home" aria-label="Home"></a></li> <li class="breadcrumb-item active">Ansible Documentation</li> <li class="wy-breadcrumbs-aside"> <!-- Remove main index page as it is no longer editable --> <br> <!-- Remove all pages under collections/ as no longer editable --> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <script> function startsWith(str, needle) { return str.slice(0, needle.length) == needle } function startsWithOneOf(str, needles) { return needles.some(function (needle) { return startsWith(str, needle); }); } var banner = ''; /*use extra_banner for when we want something extra, like a survey or Community Day notice */ var extra_banner = ''; var extra_banner = '<div id="latest_extra_banner_id" class="admonition important">' + '<p style="font-size: 1.5rem;padding-bottom: 1.2rem;text-align: center;">' + 'Join AnsibleFest at <a href="https://www.redhat.com/en/summit?sc_cid=RHCTG1250000442936">Red Hat Summit</a>!' + '</p>' + '</div>'; // Create a banner if we're not on the official docs site if (location.host == "docs.testing.ansible.com") { document.write('<div id="testing_banner_id" class="admonition important">' + '<p>This is the testing site for Ansible Documentation. Unless you are reviewing pre-production changes, please visit the <a href="https://docs.ansible.com/ansible/latest/">official documentation website</a>.</p> <p></p>' + '</div>'); } // Create a banner current_url_path = window.location.pathname; var important = false; var msg = '<p>'; 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 <a href="/ansible/latest">the latest documentation</a>.'; } else if (startsWithOneOf(current_url_path, ["/ansible/latest/", "/ansible/11/"])) { /* temp extra banner to advertise something */ banner += extra_banner; msg += 'This is the <b>latest</b> (stable) Ansible community documentation. For Red Hat Ansible Automation Platform subscriptions, see <a href="https://access.redhat.com/support/policy/updates/ansible-automation-platform">Life Cycle</a> 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 <b>latest</b> 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 <b>devel</b> version of the Ansible documentation - this version is not guaranteed stable. Use the version selection to the left if you want the <b>latest</b> (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 <b>latest</b> (stable) released version.'; /* temp extra banner to advertise something - this is for testing*/ banner += extra_banner; } msg += '</p>'; banner += '<div id="banner_id" class="admonition '; banner += important ? 'important' : 'caution'; banner += '">'; banner += important ? '<br>' : ''; banner += msg; banner += important ? '<br>' : ''; banner += '</div>'; document.write(banner); </script> <div itemprop="articleBody"> <span class="target" id="ansible-documentation"></span><section id="id1"> <h1>Ansible Documentation<a class="headerlink" href="#id1" title="Link to this heading"></a></h1> <p>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.</p> <p>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.</p> <div class="toctree-wrapper compound"> <p class="caption" role="heading"><span class="caption-text">Ansible getting started</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="getting_started/index.html">Getting started with Ansible</a><ul> <li class="toctree-l2"><a class="reference internal" href="getting_started/introduction.html">Introduction to Ansible</a></li> <li class="toctree-l2"><a class="reference internal" href="getting_started/get_started_ansible.html">Start automating with Ansible</a></li> <li class="toctree-l2"><a class="reference internal" href="getting_started/get_started_inventory.html">Building an inventory</a></li> <li class="toctree-l2"><a class="reference internal" href="getting_started/get_started_playbook.html">Creating a playbook</a></li> <li class="toctree-l2"><a class="reference internal" href="getting_started/basic_concepts.html">Ansible concepts</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="getting_started_ee/index.html">Getting started with Execution Environments</a><ul> <li class="toctree-l2"><a class="reference internal" href="getting_started_ee/introduction.html">Introduction to Execution Environments</a></li> <li class="toctree-l2"><a class="reference internal" href="getting_started_ee/setup_environment.html">Setting up your environment</a></li> <li class="toctree-l2"><a class="reference internal" href="getting_started_ee/build_execution_environment.html">Building your first Execution Environment</a></li> <li class="toctree-l2"><a class="reference internal" href="getting_started_ee/run_execution_environment.html">Running your EE</a></li> <li class="toctree-l2"><a class="reference internal" href="getting_started_ee/run_community_ee_image.html">Running Ansible with the community EE image</a></li> </ul> </li> </ul> </div> <div class="toctree-wrapper compound"> <p class="caption" role="heading"><span class="caption-text">Installation, Upgrade & Configuration</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="installation_guide/index.html">Installation Guide</a><ul> <li class="toctree-l2"><a class="reference internal" href="installation_guide/intro_installation.html">Installing Ansible</a></li> <li class="toctree-l2"><a class="reference internal" href="installation_guide/installation_distros.html">Installing Ansible on specific operating systems</a></li> <li class="toctree-l2"><a class="reference internal" href="installation_guide/intro_configuration.html">Configuring Ansible</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="porting_guides/porting_guides.html">Ansible Porting Guides</a><ul> <li class="toctree-l2"><a class="reference internal" href="porting_guides/porting_guide_11.html">Ansible 11 Porting Guide</a></li> <li class="toctree-l2"><a class="reference internal" href="porting_guides/porting_guide_10.html">Ansible 10 Porting Guide</a></li> <li class="toctree-l2"><a class="reference internal" href="porting_guides/porting_guide_9.html">Ansible 9 Porting Guide</a></li> <li class="toctree-l2"><a class="reference internal" href="porting_guides/porting_guide_8.html">Ansible 8 Porting Guide</a></li> <li class="toctree-l2"><a class="reference internal" href="porting_guides/porting_guide_7.html">Ansible 7 Porting Guide</a></li> <li class="toctree-l2"><a class="reference internal" href="porting_guides/porting_guide_6.html">Ansible 6 Porting Guide</a></li> <li class="toctree-l2"><a class="reference internal" href="porting_guides/porting_guide_5.html">Ansible 5 Porting Guide</a></li> <li class="toctree-l2"><a class="reference internal" href="porting_guides/porting_guide_4.html">Ansible 4 Porting Guide</a></li> <li class="toctree-l2"><a class="reference internal" href="porting_guides/porting_guide_3.html">Ansible 3 Porting Guide</a></li> <li class="toctree-l2"><a class="reference internal" href="porting_guides/porting_guide_2.10.html">Ansible 2.10 Porting Guide</a></li> <li class="toctree-l2"><a class="reference internal" href="porting_guides/porting_guide_2.9.html">Ansible 2.9 Porting Guide</a></li> <li class="toctree-l2"><a class="reference internal" href="porting_guides/porting_guide_2.8.html">Ansible 2.8 Porting Guide</a></li> <li class="toctree-l2"><a class="reference internal" href="porting_guides/porting_guide_2.7.html">Ansible 2.7 Porting Guide</a></li> <li class="toctree-l2"><a class="reference internal" href="porting_guides/porting_guide_2.6.html">Ansible 2.6 Porting Guide</a></li> <li class="toctree-l2"><a class="reference internal" href="porting_guides/porting_guide_2.5.html">Ansible 2.5 Porting Guide</a></li> <li class="toctree-l2"><a class="reference internal" href="porting_guides/porting_guide_2.4.html">Ansible 2.4 Porting Guide</a></li> <li class="toctree-l2"><a class="reference internal" href="porting_guides/porting_guide_2.3.html">Ansible 2.3 Porting Guide</a></li> <li class="toctree-l2"><a class="reference internal" href="porting_guides/porting_guide_2.0.html">Ansible 2.0 Porting Guide</a></li> </ul> </li> </ul> </div> <div class="toctree-wrapper compound"> <p class="caption" role="heading"><span class="caption-text">Using Ansible</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="inventory_guide/index.html">Building Ansible inventories</a><ul> <li class="toctree-l2"><a class="reference internal" href="inventory_guide/intro_inventory.html">How to build your inventory</a></li> <li class="toctree-l2"><a class="reference internal" href="inventory_guide/intro_dynamic_inventory.html">Working with dynamic inventory</a></li> <li class="toctree-l2"><a class="reference internal" href="inventory_guide/intro_patterns.html">Patterns: targeting hosts and groups</a></li> <li class="toctree-l2"><a class="reference internal" href="inventory_guide/connection_details.html">Connection methods and details</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="command_guide/index.html">Using Ansible command line tools</a><ul> <li class="toctree-l2"><a class="reference internal" href="command_guide/intro_adhoc.html">Introduction to ad hoc commands</a></li> <li class="toctree-l2"><a class="reference internal" href="command_guide/command_line_tools.html">Working with command line tools</a></li> <li class="toctree-l2"><a class="reference internal" href="command_guide/cheatsheet.html">Ansible CLI cheatsheet</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="playbook_guide/index.html">Using Ansible playbooks</a><ul> <li class="toctree-l2"><a class="reference internal" href="playbook_guide/playbooks_intro.html">Ansible playbooks</a></li> <li class="toctree-l2"><a class="reference internal" href="playbook_guide/playbooks.html">Working with playbooks</a></li> <li class="toctree-l2"><a class="reference internal" href="playbook_guide/playbooks_execution.html">Executing playbooks</a></li> <li class="toctree-l2"><a class="reference internal" href="playbook_guide/playbooks_advanced_syntax.html">Advanced playbook syntax</a></li> <li class="toctree-l2"><a class="reference internal" href="playbook_guide/complex_data_manipulation.html">Manipulating data</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="vault_guide/index.html">Protecting sensitive data with Ansible vault</a><ul> <li class="toctree-l2"><a class="reference internal" href="vault_guide/vault.html">Ansible Vault</a></li> <li class="toctree-l2"><a class="reference internal" href="vault_guide/vault_managing_passwords.html">Managing vault passwords</a></li> <li class="toctree-l2"><a class="reference internal" href="vault_guide/vault_encrypting_content.html">Encrypting content with Ansible Vault</a></li> <li class="toctree-l2"><a class="reference internal" href="vault_guide/vault_using_encrypted_content.html">Using encrypted variables and files</a></li> <li class="toctree-l2"><a class="reference internal" href="vault_guide/vault_using_encrypted_content.html#configuring-defaults-for-using-encrypted-content">Configuring defaults for using encrypted content</a></li> <li class="toctree-l2"><a class="reference internal" href="vault_guide/vault_using_encrypted_content.html#when-are-encrypted-files-made-visible">When are encrypted files made visible?</a></li> <li class="toctree-l2"><a class="reference internal" href="vault_guide/vault_using_encrypted_content.html#format-of-files-encrypted-with-ansible-vault">Format of files encrypted with Ansible Vault</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="module_plugin_guide/index.html">Using Ansible modules and plugins</a><ul> <li class="toctree-l2"><a class="reference internal" href="module_plugin_guide/modules_intro.html">Introduction to modules</a></li> <li class="toctree-l2"><a class="reference internal" href="module_plugin_guide/modules_support.html">Module maintenance and support</a></li> <li class="toctree-l2"><a class="reference internal" href="module_plugin_guide/plugin_filtering_config.html">Rejecting modules</a></li> <li class="toctree-l2"><a class="reference internal" href="plugins/plugins.html">Working with plugins</a></li> <li class="toctree-l2"><a class="reference internal" href="module_plugin_guide/modules_plugins_index.html">Modules and plugins index</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="collections_guide/index.html">Using Ansible collections</a><ul> <li class="toctree-l2"><a class="reference internal" href="collections_guide/collections_installing.html">Installing collections</a></li> <li class="toctree-l2"><a class="reference internal" href="collections_guide/collections_installing.html#removing-a-collection">Removing a collection</a></li> <li class="toctree-l2"><a class="reference internal" href="collections_guide/collections_downloading.html">Downloading collections</a></li> <li class="toctree-l2"><a class="reference internal" href="collections_guide/collections_listing.html">Listing collections</a></li> <li class="toctree-l2"><a class="reference internal" href="collections_guide/collections_verifying.html">Verifying collections</a></li> <li class="toctree-l2"><a class="reference internal" href="collections_guide/collections_using_playbooks.html">Using collections in a playbook</a></li> <li class="toctree-l2"><a class="reference internal" href="collections_guide/collections_index.html">Collections index</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="os_guide/index.html">Using Ansible on Windows, BSD, and z/OS UNIX</a><ul> <li class="toctree-l2"><a class="reference internal" href="os_guide/intro_bsd.html">Managing BSD hosts with Ansible</a></li> <li class="toctree-l2"><a class="reference internal" href="os_guide/intro_windows.html">Managing Windows hosts with Ansible</a></li> <li class="toctree-l2"><a class="reference internal" href="os_guide/intro_zos.html">Managing z/OS UNIX hosts with Ansible</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="tips_tricks/index.html">Ansible tips and tricks</a><ul> <li class="toctree-l2"><a class="reference internal" href="tips_tricks/ansible_tips_tricks.html">General tips</a></li> <li class="toctree-l2"><a class="reference internal" href="tips_tricks/ansible_tips_tricks.html#playbook-tips">Playbook tips</a></li> <li class="toctree-l2"><a class="reference internal" href="tips_tricks/ansible_tips_tricks.html#inventory-tips">Inventory tips</a></li> <li class="toctree-l2"><a class="reference internal" href="tips_tricks/ansible_tips_tricks.html#execution-tricks">Execution tricks</a></li> <li class="toctree-l2"><a class="reference internal" href="tips_tricks/sample_setup.html">Sample Ansible setup</a></li> </ul> </li> </ul> </div> <div class="toctree-wrapper compound"> <p class="caption" role="heading"><span class="caption-text">Contributing to Ansible</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="community/index.html">Ansible Community Guide</a><ul> <li class="toctree-l2"><a class="reference internal" href="community/getting_started.html">Getting started</a></li> <li class="toctree-l2"><a class="reference internal" href="community/contributor_path.html">Contributor path</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="community/contributions_collections.html">Ansible Collections Contributor Guide</a><ul> <li class="toctree-l2"><a class="reference internal" href="community/collection_development_process.html">The Ansible Collections Development Cycle</a></li> <li class="toctree-l2"><a class="reference internal" href="community/reporting_collections.html">Requesting changes to a collection</a></li> <li class="toctree-l2"><a class="reference internal" href="community/create_pr_quick_start.html">Creating your first collection pull request</a></li> <li class="toctree-l2"><a class="reference internal" href="community/collection_contributors/test_index.html">Testing Collection Contributions</a></li> <li class="toctree-l2"><a class="reference internal" href="community/collection_contributors/collection_reviewing.html">Review checklist for collection PRs</a></li> <li class="toctree-l2"><a class="reference internal" href="community/collection_contributors/collection_requirements.html">Ansible community package collections requirements</a></li> <li class="toctree-l2"><a class="reference internal" href="community/maintainers.html">Guidelines for collection maintainers</a></li> <li class="toctree-l2"><a class="reference internal" href="community/contributing_maintained_collections.html">Contributing to Ansible-maintained Collections</a></li> <li class="toctree-l2"><a class="reference internal" href="community/steering/steering_index.html">Ansible Community Steering Committee</a></li> <li class="toctree-l2"><a class="reference internal" href="community/documentation_contributions.html">Contributing to the Ansible Documentation</a></li> <li class="toctree-l2"><a class="reference internal" href="community/other_tools_and_programs.html">Other Tools and Programs</a></li> <li class="toctree-l2"><a class="reference internal" href="community/contributions_collections.html#working-with-the-ansible-collection-repositories">Working with the Ansible collection repositories</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="community/contributions.html">ansible-core Contributors Guide</a><ul> <li class="toctree-l2"><a class="reference internal" href="community/reporting_bugs_and_features.html">Reporting bugs and requesting features</a></li> <li class="toctree-l2"><a class="reference internal" href="community/documentation_contributions.html">Contributing to the Ansible Documentation</a></li> <li class="toctree-l2"><a class="reference internal" href="community/development_process.html">The Ansible Development Cycle</a></li> <li class="toctree-l2"><a class="reference internal" href="community/other_tools_and_programs.html">Other Tools and Programs</a></li> <li class="toctree-l2"><a class="reference internal" href="community/contributions.html#working-with-the-ansible-repo">Working with the Ansible repo</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="community/advanced_index.html">Advanced Contributor Guide</a><ul> <li class="toctree-l2"><a class="reference internal" href="community/committer_guidelines.html">Committers Guidelines</a></li> <li class="toctree-l2"><a class="reference internal" href="community/release_managers.html">Release Manager Guidelines</a></li> <li class="toctree-l2"><a class="reference internal" href="community/github_admins.html">GitHub Admins</a></li> <li class="toctree-l2"><a class="reference internal" href="community/ecosystem_project_resources.html">Ansible Ecosystem Project Development Resources</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="dev_guide/style_guide/index.html">Ansible documentation style guide</a><ul> <li class="toctree-l2"><a class="reference internal" href="dev_guide/style_guide/index.html#linguistic-guidelines">Linguistic guidelines</a></li> <li class="toctree-l2"><a class="reference internal" href="dev_guide/style_guide/index.html#restructuredtext-guidelines">reStructuredText guidelines</a></li> <li class="toctree-l2"><a class="reference internal" href="dev_guide/style_guide/index.html#markdown-guidelines">Markdown guidelines</a></li> <li class="toctree-l2"><a class="reference internal" href="dev_guide/style_guide/index.html#accessibility-guidelines">Accessibility guidelines</a></li> <li class="toctree-l2"><a class="reference internal" href="dev_guide/style_guide/index.html#more-resources">More resources</a></li> </ul> </li> </ul> </div> <div class="toctree-wrapper compound"> <p class="caption" role="heading"><span class="caption-text">Extending Ansible</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="dev_guide/index.html">Developer Guide</a><ul> <li class="toctree-l2"><a class="reference internal" href="dev_guide/developing_locally.html">Adding modules and plugins locally</a></li> <li class="toctree-l2"><a class="reference internal" href="dev_guide/developing_modules.html">Should you develop a module?</a></li> <li class="toctree-l2"><a class="reference internal" href="dev_guide/developing_modules_general.html">Developing modules</a></li> <li class="toctree-l2"><a class="reference internal" href="dev_guide/developing_modules_checklist.html">Contributing your module to an existing Ansible collection</a></li> <li class="toctree-l2"><a class="reference internal" href="dev_guide/developing_modules_best_practices.html">Conventions, tips, and pitfalls</a></li> <li class="toctree-l2"><a class="reference internal" href="dev_guide/developing_python_3.html">Ansible and Python 3</a></li> <li class="toctree-l2"><a class="reference internal" href="dev_guide/debugging.html">Debugging modules</a></li> <li class="toctree-l2"><a class="reference internal" href="dev_guide/developing_modules_documenting.html">Module format and documentation</a></li> <li class="toctree-l2"><a class="reference internal" href="dev_guide/sidecar.html">Adjacent YAML documentation files</a></li> <li class="toctree-l2"><a class="reference internal" href="dev_guide/developing_modules_general_windows.html">Windows module development walkthrough</a></li> <li class="toctree-l2"><a class="reference internal" href="dev_guide/developing_modules_in_groups.html">Creating a new collection</a></li> <li class="toctree-l2"><a class="reference internal" href="dev_guide/testing.html">Testing Ansible</a></li> <li class="toctree-l2"><a class="reference internal" href="dev_guide/module_lifecycle.html">The lifecycle of an Ansible module or plugin</a></li> <li class="toctree-l2"><a class="reference internal" href="dev_guide/developing_plugins.html">Developing plugins</a></li> <li class="toctree-l2"><a class="reference internal" href="dev_guide/developing_inventory.html">Developing dynamic inventory</a></li> <li class="toctree-l2"><a class="reference internal" href="dev_guide/developing_core.html">Developing <code class="docutils literal notranslate"><span class="pre">ansible-core</span></code></a></li> <li class="toctree-l2"><a class="reference internal" href="dev_guide/developing_program_flow_modules.html">Ansible module architecture</a></li> <li class="toctree-l2"><a class="reference internal" href="dev_guide/developing_api.html">Python API</a></li> <li class="toctree-l2"><a class="reference internal" href="dev_guide/developing_rebasing.html">Rebasing a pull request</a></li> <li class="toctree-l2"><a class="reference internal" href="dev_guide/developing_module_utilities.html">Using and developing module utilities</a></li> <li class="toctree-l2"><a class="reference internal" href="dev_guide/developing_collections_path.html">Ansible collection creator path</a></li> <li class="toctree-l2"><a class="reference internal" href="dev_guide/developing_collections.html">Developing collections</a></li> <li class="toctree-l2"><a class="reference internal" href="dev_guide/migrating_roles.html">Migrating Roles to Roles in Collections on Galaxy</a></li> <li class="toctree-l2"><a class="reference internal" href="dev_guide/collections_galaxy_meta.html">Collection Galaxy metadata structure</a></li> <li class="toctree-l2"><a class="reference internal" href="dev_guide/overview_architecture.html">Ansible architecture</a></li> </ul> </li> </ul> </div> <div class="toctree-wrapper compound"> <p class="caption" role="heading"><span class="caption-text">Common Ansible Scenarios</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="scenario_guides/cloud_guides.html">Legacy Public Cloud Guides</a></li> </ul> </div> <div class="toctree-wrapper compound"> <p class="caption" role="heading"><span class="caption-text">Network Automation</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="network/getting_started/index.html">Network Getting Started</a><ul> <li class="toctree-l2"><a class="reference internal" href="network/getting_started/basic_concepts.html">Basic Concepts</a></li> <li class="toctree-l2"><a class="reference internal" href="network/getting_started/network_differences.html">How Network Automation is Different</a></li> <li class="toctree-l2"><a class="reference internal" href="network/getting_started/first_playbook.html">Run Your First Command and Playbook</a></li> <li class="toctree-l2"><a class="reference internal" href="network/getting_started/first_inventory.html">Build Your Inventory</a></li> <li class="toctree-l2"><a class="reference internal" href="network/getting_started/network_roles.html">Use Ansible network roles</a></li> <li class="toctree-l2"><a class="reference internal" href="network/getting_started/intermediate_concepts.html">Beyond the basics</a></li> <li class="toctree-l2"><a class="reference internal" href="network/getting_started/network_connection_options.html">Working with network connection options</a></li> <li class="toctree-l2"><a class="reference internal" href="network/getting_started/network_resources.html">Resources and next steps</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="network/user_guide/index.html">Network Advanced Topics</a><ul> <li class="toctree-l2"><a class="reference internal" href="network/user_guide/network_resource_modules.html">Network Resource Modules</a></li> <li class="toctree-l2"><a class="reference internal" href="network/user_guide/network_best_practices_2.5.html">Ansible Network Examples</a></li> <li class="toctree-l2"><a class="reference internal" href="network/user_guide/cli_parsing.html">Parsing semi-structured text with Ansible</a></li> <li class="toctree-l2"><a class="reference internal" href="network/user_guide/validate.html">Validate data against set criteria with Ansible</a></li> <li class="toctree-l2"><a class="reference internal" href="network/user_guide/network_debug_troubleshooting.html">Network Debug and Troubleshooting Guide</a></li> <li class="toctree-l2"><a class="reference internal" href="network/user_guide/network_working_with_command_output.html">Working with command output and prompts in network modules</a></li> <li class="toctree-l2"><a class="reference internal" href="network/user_guide/faq.html">Ansible Network FAQ</a></li> <li class="toctree-l2"><a class="reference internal" href="network/user_guide/platform_index.html">Platform Options</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="network/dev_guide/index.html">Network Developer Guide</a><ul> <li class="toctree-l2"><a class="reference internal" href="network/dev_guide/developing_resource_modules_network.html">Developing network resource modules</a></li> <li class="toctree-l2"><a class="reference internal" href="network/dev_guide/developing_plugins_network.html">Developing network plugins</a></li> <li class="toctree-l2"><a class="reference internal" href="network/dev_guide/documenting_modules_network.html">Documenting new network platforms</a></li> </ul> </li> </ul> </div> <div class="toctree-wrapper compound"> <p class="caption" role="heading"><span class="caption-text">Ansible Galaxy</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="galaxy/user_guide.html">Galaxy User Guide</a><ul> <li class="toctree-l2"><a class="reference internal" href="galaxy/user_guide.html#finding-collections-on-galaxy">Finding collections on Galaxy</a></li> <li class="toctree-l2"><a class="reference internal" href="galaxy/user_guide.html#finding-roles-on-galaxy">Finding roles on Galaxy</a></li> <li class="toctree-l2"><a class="reference internal" href="galaxy/user_guide.html#installing-roles-from-galaxy">Installing roles from Galaxy</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="galaxy/dev_guide.html">Galaxy Developer Guide</a><ul> <li class="toctree-l2"><a class="reference internal" href="galaxy/dev_guide.html#creating-collections-for-galaxy">Creating collections for Galaxy</a></li> <li class="toctree-l2"><a class="reference internal" href="galaxy/dev_guide.html#creating-roles-for-galaxy">Creating roles for Galaxy</a></li> </ul> </li> </ul> </div> <div class="toctree-wrapper compound"> <p class="caption" role="heading"><span class="caption-text">Reference & Appendices</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="collections/index.html">Collection Index</a></li> <li class="toctree-l1"><a class="reference internal" href="collections/all_plugins.html">Indexes of all modules and plugins</a></li> <li class="toctree-l1"><a class="reference internal" href="reference_appendices/playbooks_keywords.html">Playbook Keywords</a></li> <li class="toctree-l1"><a class="reference internal" href="reference_appendices/common_return_values.html">Return Values</a></li> <li class="toctree-l1"><a class="reference internal" href="reference_appendices/config.html">Ansible Configuration Settings</a></li> <li class="toctree-l1"><a class="reference internal" href="reference_appendices/general_precedence.html">Controlling how Ansible behaves: precedence rules</a></li> <li class="toctree-l1"><a class="reference internal" href="reference_appendices/YAMLSyntax.html">YAML Syntax</a></li> <li class="toctree-l1"><a class="reference internal" href="reference_appendices/python_3_support.html">Python 3 Support</a></li> <li class="toctree-l1"><a class="reference internal" href="reference_appendices/interpreter_discovery.html">Interpreter Discovery</a></li> <li class="toctree-l1"><a class="reference internal" href="reference_appendices/release_and_maintenance.html">Releases and maintenance</a></li> <li class="toctree-l1"><a class="reference internal" href="reference_appendices/test_strategies.html">Testing Strategies</a></li> <li class="toctree-l1"><a class="reference internal" href="dev_guide/testing/sanity/index.html">Sanity Tests</a></li> <li class="toctree-l1"><a class="reference internal" href="reference_appendices/faq.html">Frequently Asked Questions</a></li> <li class="toctree-l1"><a class="reference internal" href="reference_appendices/glossary.html">Glossary</a></li> <li class="toctree-l1"><a class="reference internal" href="reference_appendices/module_utils.html">Ansible Reference: Module Utilities</a></li> <li class="toctree-l1"><a class="reference internal" href="reference_appendices/special_variables.html">Special Variables</a></li> <li class="toctree-l1"><a class="reference internal" href="reference_appendices/tower.html">Red Hat Ansible Automation Platform</a></li> <li class="toctree-l1"><a class="reference internal" href="reference_appendices/automationhub.html">Ansible Automation Hub</a></li> <li class="toctree-l1"><a class="reference internal" href="reference_appendices/logging.html">Logging Ansible output</a></li> </ul> </div> <div class="toctree-wrapper compound"> <p class="caption" role="heading"><span class="caption-text">Roadmaps</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="roadmap/ansible_roadmap_index.html">Ansible Roadmap</a><ul> <li class="toctree-l2"><a class="reference internal" href="roadmap/COLLECTIONS_11.html">Ansible project 11.0</a></li> <li class="toctree-l2"><a class="reference internal" href="roadmap/COLLECTIONS_10.html">Ansible project 10.0</a></li> <li class="toctree-l2"><a class="reference internal" href="roadmap/COLLECTIONS_9.html">Ansible project 9.0</a></li> <li class="toctree-l2"><a class="reference internal" href="roadmap/COLLECTIONS_8.html">Ansible project 8.0</a></li> <li class="toctree-l2"><a class="reference internal" href="roadmap/COLLECTIONS_7.html">Ansible project 7.0</a></li> <li class="toctree-l2"><a class="reference internal" href="roadmap/COLLECTIONS_6.html">Ansible project 6.0</a></li> <li class="toctree-l2"><a class="reference internal" href="roadmap/COLLECTIONS_5.html">Ansible project 5.0</a></li> <li class="toctree-l2"><a class="reference internal" href="roadmap/COLLECTIONS_4.html">Ansible project 4.0</a></li> <li class="toctree-l2"><a class="reference internal" href="roadmap/COLLECTIONS_3_0.html">Ansible project 3.0</a></li> <li class="toctree-l2"><a class="reference internal" href="roadmap/COLLECTIONS_2_10.html">Ansible project 2.10</a></li> <li class="toctree-l2"><a class="reference internal" href="roadmap/old_roadmap_index.html">Older Roadmaps</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="roadmap/ansible_core_roadmap_index.html">ansible-core Roadmaps</a><ul> <li class="toctree-l2"><a class="reference internal" href="roadmap/ROADMAP_2_18.html">Ansible-core 2.18</a></li> <li class="toctree-l2"><a class="reference internal" href="roadmap/ROADMAP_2_17.html">Ansible-core 2.17</a></li> <li class="toctree-l2"><a class="reference internal" href="roadmap/ROADMAP_2_16.html">Ansible-core 2.16</a></li> <li class="toctree-l2"><a class="reference internal" href="roadmap/ROADMAP_2_15.html">Ansible-core 2.15</a></li> <li class="toctree-l2"><a class="reference internal" href="roadmap/ROADMAP_2_14.html">Ansible-core 2.14</a></li> <li class="toctree-l2"><a class="reference internal" href="roadmap/ROADMAP_2_13.html">Ansible-core 2.13</a></li> <li class="toctree-l2"><a class="reference internal" href="roadmap/ROADMAP_2_12.html">Ansible-core 2.12</a></li> <li class="toctree-l2"><a class="reference internal" href="roadmap/ROADMAP_2_11.html">Ansible-core 2.11</a></li> <li class="toctree-l2"><a class="reference internal" href="roadmap/ROADMAP_2_10.html">Ansible-base 2.10</a></li> </ul> </li> </ul> </div> </section> </div> </div> <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer"> <a href="getting_started/index.html" class="btn btn-neutral float-right" title="Getting started with Ansible" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> </div> <hr/> <div role="contentinfo"> <p>© Copyright Ansible project contributors. <span class="lastupdated">Last updated on Mar 25, 2025. </span></p> </div> </footer> </div> </div> </section> </div> <script> jQuery(function () { SphinxRtdTheme.Navigation.enable(true); }); </script><!-- extra footer elements for Ansible beyond RTD Sphinx Theme --> <!-- begin analytics --> <script> var _hsq = _hsq || []; _hsq.push(["setContentType", "standard-page"]); (function(d,s,i,r) { if (d.getElementById(i)){return;} var n = d.createElement(s),e = document.getElementsByTagName(s)[0]; n.id=i;n.src = 'https://js.hs-analytics.net/analytics/'+(Math.ceil(new Date()/r)*r)+'/330046.js'; e.parentNode.insertBefore(n, e); })(document, "script", "hs-analytics",300000); </script> <!-- end analytics --> <script> if (("undefined" !== typeof _satellite) && ("function" === typeof _satellite.pageBottom)) { _satellite.pageBottom(); } </script> </body> </html>