summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorSandra McCann <samccann@redhat.com>2022-06-02 19:34:16 -0400
committerGitHub <noreply@github.com>2022-06-02 16:34:16 -0700
commitf3b56ec661bab9b205de43c5a942432e69a19fbc (patch)
tree53e763222f5aef4069c4163261513f1dcaef4aa7 /docs
parent2ac74197af4e124a729ff3dbe6e96650db3ea16f (diff)
downloadansible-f3b56ec661bab9b205de43c5a942432e69a19fbc.tar.gz
Backportapalooza 06 02 (#77960)
* docs: update porting guide for ansible 6.0.0b1 (#77913) (cherry picked from commit 7c8956258075b5f32a67deac905d2047a258ce88) * docs: add missing notes in porting guide for 6.0.0b1 (#77926) There was an issue with the changelog in community.network 4.0.0, it's been fixed in 4.0.1 and now properly included. (cherry picked from commit 9f7956ba30abb190875ac1585f6ac9bf10a4712b) * Remove platform dev guides from core docs (#77915) (cherry picked from commit f3c684564c0b74845c22e99c6dd66947b376bcae) * Migrate community.vmware Dev Guide to collection (#77723) (cherry picked from commit b69eb28ed2fdcdfd41cea8cf487c43e7af4260e1) * Issue #77681 revamp getting started guide (#77897) (cherry picked from commit 89e4fb71e6293c92512a60c8591d03fcc264c37e) * ssh retry docs addition (#77930) (cherry picked from commit 15750aec5265866ae46319cbfbb318e9eec0e083) * fix: update button text to "Load token" (#77925) (cherry picked from commit 16e0d4a121c296507627b98451005919ac85bb8b) * fix bad merge conflict resolution Co-authored-by: David Moreau Simard <moi@dmsimard.com> Co-authored-by: Mario Lenz <m@riolenz.de> Co-authored-by: Don Naro <dnaro@redhat.com> Co-authored-by: Dan Kolepp <10145457+dkolepp@users.noreply.github.com>
Diffstat (limited to 'docs')
-rw-r--r--docs/docsite/Makefile3
-rw-r--r--docs/docsite/rst/ansible_index.rst6
-rw-r--r--docs/docsite/rst/core_index.rst4
-rw-r--r--docs/docsite/rst/dev_guide/ansible_index.rst (renamed from docs/docsite/rst/dev_guide/index.rst)2
-rw-r--r--docs/docsite/rst/dev_guide/core_index.rst89
-rw-r--r--docs/docsite/rst/dev_guide/platforms/vmware_guidelines.rst261
-rw-r--r--docs/docsite/rst/galaxy/user_guide.rst2
-rw-r--r--docs/docsite/rst/getting_started/ansible_output/first_playbook_output.txt27
-rw-r--r--docs/docsite/rst/getting_started/ansible_output/ping_inventory_output.txt21
-rw-r--r--docs/docsite/rst/getting_started/ansible_output/ping_output.txt21
-rw-r--r--docs/docsite/rst/getting_started/get_started_inventory.rst102
-rw-r--r--docs/docsite/rst/getting_started/get_started_playbook.rst70
-rw-r--r--docs/docsite/rst/getting_started/index.rst98
-rw-r--r--docs/docsite/rst/getting_started/yaml/first_playbook.yaml8
-rw-r--r--docs/docsite/rst/getting_started/yaml/inventory_example_vms.yaml8
-rw-r--r--docs/docsite/rst/getting_started/yaml/inventory_group_structure.yaml30
-rw-r--r--docs/docsite/rst/getting_started/yaml/inventory_variables_group.yaml10
-rw-r--r--docs/docsite/rst/getting_started/yaml/inventory_variables_host.yaml8
-rw-r--r--docs/docsite/rst/images/ansible_basic.svg332
-rw-r--r--docs/docsite/rst/porting_guides/porting_guide_6.rst174
-rw-r--r--docs/docsite/rst/user_guide/index.rst27
-rw-r--r--docs/docsite/rst/user_guide/intro_getting_started.rst198
-rw-r--r--docs/docsite/rst/user_guide/quickstart.rst20
-rw-r--r--docs/docsite/sphinx_conf/ansible_conf.py2
-rw-r--r--docs/docsite/sphinx_conf/core_conf.py7
25 files changed, 1032 insertions, 498 deletions
diff --git a/docs/docsite/Makefile b/docs/docsite/Makefile
index ddece410df..0474a31479 100644
--- a/docs/docsite/Makefile
+++ b/docs/docsite/Makefile
@@ -83,6 +83,7 @@ ansible_structure:
if python -c "import sys, packaging.version as p; sys.exit(not p.Version('$(MAJOR_VERSION)') > p.Version('2.10'))" ; then \
echo "Creating symlinks in ansible_structure"; \
ln -sf ../rst/ansible_index.rst rst/index.rst; \
+ ln -sf ../dev_guide/ansible_index.rst rst/dev_guide/index.rst; \
ln -sf ../sphinx_conf/ansible_conf.py rst/conf.py; \
else \
echo 'Creating symlinks for older ansible in ansible_structure'; \
@@ -94,12 +95,14 @@ ansible_structure:
core_structure:
@echo "Creating symlinks in core_structure"
-ln -sf ../rst/core_index.rst rst/index.rst
+ -ln -sf ../dev_guide/core_index.rst rst/dev_guide/index.rst
-ln -sf ../sphinx_conf/core_conf.py rst/conf.py
# Symlink the relevant index into place for building core docs
gettext_structure:
@echo "Creating symlinks in gettext_structure"
-ln -sf ../rst/core_index.rst rst/index.rst
+ -ln -sf ../rst/dev_guide/core_index.rst rst/dev_guide/index.rst
-ln -sf ../sphinx_conf/all_conf.py rst/conf.py
gettext: gettext_structure gettext_generate_rst
diff --git a/docs/docsite/rst/ansible_index.rst b/docs/docsite/rst/ansible_index.rst
index 7afecd6200..15166f6104 100644
--- a/docs/docsite/rst/ansible_index.rst
+++ b/docs/docsite/rst/ansible_index.rst
@@ -26,6 +26,12 @@ Ansible releases a new major release approximately twice a year. The core applic
.. toctree::
:maxdepth: 2
+ :caption: Ansible getting started
+
+ getting_started/index
+
+.. toctree::
+ :maxdepth: 2
:caption: Installation, Upgrade & Configuration
installation_guide/index
diff --git a/docs/docsite/rst/core_index.rst b/docs/docsite/rst/core_index.rst
index 110b6e7c88..82bfdca977 100644
--- a/docs/docsite/rst/core_index.rst
+++ b/docs/docsite/rst/core_index.rst
@@ -31,7 +31,11 @@ This documentation covers the version of ``ansible-core`` noted in the upper lef
``ansible-core`` 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 since version 2.10, much more quickly.
+.. toctree::
+ :maxdepth: 2
+ :caption: Ansible getting started
+ getting_started/index
.. toctree::
:maxdepth: 2
diff --git a/docs/docsite/rst/dev_guide/index.rst b/docs/docsite/rst/dev_guide/ansible_index.rst
index 46507fb4dc..a62b446b70 100644
--- a/docs/docsite/rst/dev_guide/index.rst
+++ b/docs/docsite/rst/dev_guide/ansible_index.rst
@@ -38,7 +38,7 @@ Find the task that best describes what you want to do:
* an :ref:`Amazon module <AWS_module_development>`.
* an :ref:`OpenStack module <OpenStack_module_development>`.
* an :ref:`oVirt/RHV module <oVirt_module_development>`.
- * a :ref:`VMware module <VMware_module_development>`.
+ * a :ref:`VMware module <ansible_collections.community.vmware.docsite.vmware_ansible_devguide>`.
* I want to :ref:`write a series of related modules <developing_modules_in_groups>` that integrate Ansible with a new product (for example, a database, cloud provider, network platform, and so on).
* I want to refine my code:
diff --git a/docs/docsite/rst/dev_guide/core_index.rst b/docs/docsite/rst/dev_guide/core_index.rst
new file mode 100644
index 0000000000..6c479e973b
--- /dev/null
+++ b/docs/docsite/rst/dev_guide/core_index.rst
@@ -0,0 +1,89 @@
+.. _developer_guide:
+
+***************
+Developer Guide
+***************
+
+.. note::
+
+ **Making Open Source More Inclusive**
+
+ Red Hat is committed to replacing problematic language in our code, documentation, and web properties. We are beginning with these four terms: master, slave, blacklist, and whitelist. We ask that you open an issue or pull request if you come upon a term that we have missed. For more details, see `our CTO Chris Wright's message <https://www.redhat.com/en/blog/making-open-source-more-inclusive-eradicating-problematic-language>`_.
+
+Welcome to the Ansible Developer Guide!
+
+**Who should use this guide?**
+
+If you want to extend Ansible by using a custom module or plugin locally, creating a module or plugin, adding functionality to an existing module, or expanding test coverage, this guide is for you. We've included detailed information for developers on how to test and document modules, as well as the prerequisites for getting your module or plugin accepted into the main Ansible repository.
+
+Find the task that best describes what you want to do:
+
+* I'm looking for a way to address a use case:
+
+ * I want to :ref:`add a custom plugin or module locally <developing_locally>`.
+ * I want to figure out if :ref:`developing a module is the right approach <module_dev_should_you>` for my use case.
+ * I want to :ref:`develop a collection <developing_collections>`.
+ * I want to :ref:`contribute to an Ansible-maintained collection <contributing_maintained_collections>`.
+ * I want to :ref:`contribute to a community-maintained collection <hacking_collections>`.
+ * I want to :ref:`migrate a role to a collection <migrating_roles>`.
+
+* I've read the info above, and I'm sure I want to develop a module:
+
+ * What do I need to know before I start coding?
+ * I want to :ref:`set up my Python development environment <environment_setup>`.
+ * I want to :ref:`get started writing a module <developing_modules_general>`.
+ * I want to write a specific kind of module:
+ * a :ref:`network module <developing_modules_network>`
+ * a :ref:`Windows module <developing_modules_general_windows>`.
+ * I want to :ref:`write a series of related modules <developing_modules_in_groups>` that integrate Ansible with a new product (for example, a database, cloud provider, network platform, and so on).
+
+* I want to refine my code:
+
+ * I want to :ref:`debug my module code <debugging_modules>`.
+ * I want to :ref:`add tests <developing_testing>`.
+ * I want to :ref:`document my module <module_documenting>`.
+ * I want to :ref:`document my set of modules for a network platform <documenting_modules_network>`.
+ * I want to follow :ref:`conventions and tips for clean, usable module code <developing_modules_best_practices>`.
+ * I want to :ref:`make sure my code runs on Python 2 and Python 3 <developing_python_3>`.
+
+* I want to work on other development projects:
+
+ * I want to :ref:`write a plugin <developing_plugins>`.
+ * I want to :ref:`connect Ansible to a new source of inventory <developing_inventory>`.
+ * I want to :ref:`deprecate an outdated module <deprecating_modules>`.
+
+* I want to contribute back to the Ansible project:
+
+ * I want to :ref:`understand how to contribute to Ansible <ansible_community_guide>`.
+ * I want to :ref:`contribute my module or plugin <developing_modules_checklist>`.
+ * I want to :ref:`understand the license agreement <contributor_license_agreement>` for contributions to Ansible.
+
+If you prefer to read the entire guide, here's a list of the pages in order.
+
+.. toctree::
+ :maxdepth: 2
+
+ developing_locally
+ developing_modules
+ developing_modules_general
+ developing_modules_checklist
+ developing_modules_best_practices
+ developing_python_3
+ debugging
+ developing_modules_documenting
+ developing_modules_general_windows
+ developing_modules_general_aci
+ developing_modules_in_groups
+ testing
+ module_lifecycle
+ developing_plugins
+ developing_inventory
+ developing_core
+ developing_program_flow_modules
+ developing_api
+ developing_rebasing
+ developing_module_utilities
+ developing_collections
+ migrating_roles
+ collections_galaxy_meta
+ overview_architecture
diff --git a/docs/docsite/rst/dev_guide/platforms/vmware_guidelines.rst b/docs/docsite/rst/dev_guide/platforms/vmware_guidelines.rst
index 2865321e5c..dc05302d6f 100644
--- a/docs/docsite/rst/dev_guide/platforms/vmware_guidelines.rst
+++ b/docs/docsite/rst/dev_guide/platforms/vmware_guidelines.rst
@@ -1,262 +1,7 @@
.. _VMware_module_development:
-****************************************
+******************************************************
Guidelines for VMware module development
-****************************************
+******************************************************
-The Ansible VMware collection (on `Galaxy <https://galaxy.ansible.com/community/vmware>`_, source code `repository <https://github.com/ansible-collections/community.vmware>`_) is maintained by the VMware Working Group. For more information see the `team community page <https://github.com/ansible/community/wiki/VMware>`_.
-
-.. contents::
- :local:
-
-Testing with govcsim
-====================
-
-Most of the existing modules are covered by functional tests. The tests are located `here <https://github.com/ansible-collections/community.vmware/tree/main/tests/integration/targets>`_.
-
-By default, the tests run against a vCenter API simulator called `govcsim <https://github.com/vmware/govmomi/tree/master/vcsim>`_. ``ansible-test`` will automatically pull a `govcsim container <https://quay.io/repository/ansible/vcenter-test-container>`_ and use it to set-up the test environment.
-
-You can trigger the test of a module manually with the ``ansible-test`` command. For example, to trigger ``vcenter_folder`` tests:
-
-.. code-block:: shell
-
- source hacking/env-setup
- ansible-test integration --python 3.7 vcenter_folder
-
-``govcsim`` is handy because it is much faster than a regular test environment. However, ``govcsim`` does not
-support all the ESXi or vCenter features.
-
-.. note::
-
- Do not confuse ``govcsim`` with ``vcsim``. ``vcsim`` is an older and outdated version of vCenter simulator, whereas ``govcsim`` is new and written in Go language.
-
-Testing with your own infrastructure
-====================================
-
-You can also target a regular VMware environment. This paragraph explains step by step how you can run the test-suite yourself.
-
-Requirements
-------------
-
-- 2 ESXi hosts (6.5 or 6.7)
- - with 2 NIC, the second ones should be available for the test
-- a VCSA host
-- a NFS server
-- Python dependencies:
- - `pyvmomi <https://github.com/vmware/pyvmomi/tree/master/pyVmomi>`_
- - `requests <https://2.python-requests.org/en/master/>`_
-
-If you want to deploy your test environment in a hypervisor, both `VMware or Libvirt <https://github.com/goneri/vmware-on-libvirt>`_ work well.
-
-NFS server configuration
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-Your NFS server must expose the following directory structure:
-
-.. code-block:: shell
-
- $ tree /srv/share/
- /srv/share/
- ├── isos
- │   ├── base.iso
- │   ├── centos.iso
- │   └── fedora.iso
- └── vms
- 2 directories, 3 files
-
-On a Linux system, you can expose the directory over NFS with the following export file:
-
-.. code-block:: shell
-
- $ cat /etc/exports
- /srv/share 192.168.122.0/255.255.255.0(rw,anonuid=1000,anongid=1000)
-
-.. note::
-
- With this configuration all the new files will be owned by the user with the UID and GID 1000/1000.
- Adjust the configuration to match your user's UID/GID.
-
-The service can be enabled with:
-
-.. code-block:: shell
-
- $ sudo systemctl enable --now nfs-server
-
-
-Configure your installation
----------------------------
-
-Prepare a configuration file that describes your set-up. The file
-should be called :file:`test/integration/cloud-config-vcenter.ini` and based on
-:file:`test/lib/ansible_test/config/cloud-config-vcenter.ini.template`. For instance, if you have deployed your lab with
-`vmware-on-libvirt <https://github.com/goneri/vmware-on-libvirt>`_:
-
-.. code-block:: ini
-
- [DEFAULT]
- vcenter_username: administrator@vsphere.local
- vcenter_password: !234AaAa56
- vcenter_hostname: vcenter.test
- vmware_validate_certs: false
- esxi1_hostname: esxi1.test
- esxi1_username: root
- esxi1_password: root
- esxi2_hostname: test2.test
- esxi2_username: root
- esxi2_password: root
-
-Using an HTTP proxy
--------------------
-Hosting test infrastructure behind an HTTP proxy is supported. You can specify the location of the proxy server with the two extra keys:
-
-.. code-block:: ini
-
- vmware_proxy_host: esxi1-gw.ws.testing.ansible.com
- vmware_proxy_port: 11153
-
-In addition, you may need to adjust the variables of the following `var files <https://github.com/ansible-collections/community.vmware/tree/main/tests/integration/targets/prepare_vmware_tests/vars>`_ to match the configuration of your lab. If you use vmware-on-libvirt to prepare your lab, you do not have anything to change.
-
-Run the test-suite
-------------------
-
-Once your configuration is ready, you can trigger a run with the following command:
-
-.. code-block:: shell
-
- source hacking/env-setup
- VMWARE_TEST_PLATFORM=static ansible-test integration --python 3.7 vmware_host_firewall_manager
-
-``vmware_host_firewall_manager`` is the name of the module to test.
-
-``vmware_guest`` is much larger than any other test role and is rather slow. You can enable or disable some of its test playbooks in `main.yml <https://github.com/ansible-collections/community.vmware/tree/main/tests/integration/targets/vmware_guest/defaults/main.yml>`_.
-
-
-Unit-test
-=========
-
-The VMware modules have limited unit-test coverage. You can run the test suite with the
-following commands:
-
-.. code-block:: shell
-
- source hacking/env-setup
- ansible-test units --venv --python 3.7 '.*vmware.*'
-
-Code style and best practice
-============================
-
-datacenter argument with ESXi
------------------------------
-
-The ``datacenter`` parameter should not use ``ha-datacenter`` by default. This is because the user may
-not realize that Ansible silently targets the wrong data center.
-
-esxi_hostname should not be mandatory
--------------------------------------
-
-Depending upon the functionality provided by ESXi or vCenter, some modules can seamlessly work with both. In this case,
-``esxi_hostname`` parameter should be optional.
-
-.. code-block:: python
-
- if self.is_vcenter():
- esxi_hostname = module.params.get('esxi_hostname')
- if not esxi_hostname:
- self.module.fail_json("esxi_hostname parameter is mandatory")
- self.host = self.get_all_host_objs(cluster_name=cluster_name, esxi_host_name=esxi_hostname)[0]
- else:
- self.host = find_obj(self.content, [vim.HostSystem], None)
- if self.host is None:
- self.module.fail_json(msg="Failed to find host system.")
-
-Example should use the fully qualified collection name (FQCN)
--------------------------------------------------------------
-
-Use FQCN for examples within module documentation. For instance, you should use ``community.vmware.vmware_guest`` instead of just
-``vmware_guest``.
-
-This way, the examples do not depend on the ``collections`` directive of the
-playbook.
-
-Functional tests
-----------------
-
-Writing new tests
-^^^^^^^^^^^^^^^^^
-
-If you are writing a new collection of integration tests, there are a few VMware-specific things to note beyond
-the standard Ansible :ref:`integration testing<testing_integration>` process.
-
-The test-suite uses a set of common, pre-defined vars located `in prepare_vmware_tests <https://github.com/ansible-collections/community.vmware/tree/main/tests/integration/targets/test/integration/targets/prepare_vmware_tests/>`_ role.
-The resources defined there are automatically created by importing that role at the start of your test:
-
-.. code-block:: yaml
-
- - import_role:
- name: prepare_vmware_tests
- vars:
- setup_datacenter: true
-
-This will give you a ready to use cluster, datacenter, datastores, folder, switch, dvswitch, ESXi hosts, and VMs.
-
-No need to create too much resources
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Most of the time, it's not necessary to use ``with_items`` to create multiple resources. By avoiding it,
-you speed up the test execution and you simplify the clean up afterwards.
-
-VM names should be predictable
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-If you need to create a new VM during your test, you can use ``test_vm1``, ``test_vm2`` or ``test_vm3``. This
-way it will be automatically clean up for you.
-
-Avoid the common boiler plate code in your test playbook
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-From Ansible 2.10, the test suite uses `modules_defaults`. This module
-allow us to preinitialize the following default keys of the VMware modules:
-
-- hostname
-- username
-- password
-- validate_certs
-
-For example, the following block:
-
-.. code-block:: yaml
-
- - name: Add a VMware vSwitch
- community.vmware.vmware_vswitch:
- hostname: '{{ vcenter_hostname }}'
- username: '{{ vcenter_username }}'
- password: '{{ vcenter_password }}'
- validate_certs: 'no'
- esxi_hostname: 'esxi1'
- switch_name: "boby"
- state: present
-
-should be simplified to just:
-
-.. code-block:: yaml
-
- - name: Add a VMware vSwitch
- community.vmware.vmware_vswitch:
- esxi_hostname: 'esxi1'
- switch_name: "boby"
- state: present
-
-
-Typographic convention
-======================
-
-Nomenclature
-------------
-
-We try to enforce the following rules in our documentation:
-
-- VMware, not VMWare or vmware
-- ESXi, not esxi or ESXI
-- vCenter, not vcenter or VCenter
-
-We also refer to vcsim's Go implementation with ``govcsim``. This to avoid any confusion with the outdated implementation.
+This guide has moved to :ref:`ansible_collections.community.vmware.docsite.vmware_ansible_devguide`.
diff --git a/docs/docsite/rst/galaxy/user_guide.rst b/docs/docsite/rst/galaxy/user_guide.rst
index 0a22b16564..c287b05212 100644
--- a/docs/docsite/rst/galaxy/user_guide.rst
+++ b/docs/docsite/rst/galaxy/user_guide.rst
@@ -45,7 +45,7 @@ Downloading a collection from Automation Hub
You can download collections from Automation Hub at the command line. Automation Hub content is available to subscribers only, so you must download an API token and configure your local environment to provide it before you can you download collections. To download a collection from Automation Hub with the ``ansible-galaxy`` command:
-1. Get your Automation Hub API token. Go to https://cloud.redhat.com/ansible/automation-hub/token/ and click :guilabel:`Get API token` from the version dropdown to copy your API token.
+1. Get your Automation Hub API token. Go to https://cloud.redhat.com/ansible/automation-hub/token/ and click :guilabel:`Load token` from the version dropdown to copy your API token.
2. Configure Red Hat Automation Hub server in the ``server_list`` option under the ``[galaxy]`` section in your :file:`ansible.cfg` file.
.. code-block:: ini
diff --git a/docs/docsite/rst/getting_started/ansible_output/first_playbook_output.txt b/docs/docsite/rst/getting_started/ansible_output/first_playbook_output.txt
new file mode 100644
index 0000000000..e5e1dcb8fd
--- /dev/null
+++ b/docs/docsite/rst/getting_started/ansible_output/first_playbook_output.txt
@@ -0,0 +1,27 @@
+PLAY [My first play] **********************************************************************
+
+TASK [Gathering Facts] ********************************************************************
+ok: [vm01]
+ok: [vm02]
+ok: [vm03]
+
+TASK [Ping my hosts] **********************************************************************
+ok: [vm01]
+ok: [vm02]
+ok: [vm03]
+
+TASK [Print message] **********************************************************************
+ok: [vm01] => {
+ "msg": "Hello world"
+}
+ok: [vm02] => {
+ "msg": "Hello world"
+}
+ok: [vm03] => {
+ "msg": "Hello world"
+}
+
+PLAY RECAP ********************************************************************************
+vm01: ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
+vm02: ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
+vm03: ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
diff --git a/docs/docsite/rst/getting_started/ansible_output/ping_inventory_output.txt b/docs/docsite/rst/getting_started/ansible_output/ping_inventory_output.txt
new file mode 100644
index 0000000000..cd7c4dd7c1
--- /dev/null
+++ b/docs/docsite/rst/getting_started/ansible_output/ping_inventory_output.txt
@@ -0,0 +1,21 @@
+vm03 | SUCCESS => {
+ "ansible_facts": {
+ "discovered_interpreter_python": "/usr/bin/python3"
+ },
+ "changed": false,
+ "ping": "pong"
+}
+vm02 | SUCCESS => {
+ "ansible_facts": {
+ "discovered_interpreter_python": "/usr/bin/python3"
+ },
+ "changed": false,
+ "ping": "pong"
+}
+vm01 | SUCCESS => {
+ "ansible_facts": {
+ "discovered_interpreter_python": "/usr/bin/python3"
+ },
+ "changed": false,
+ "ping": "pong"
+} \ No newline at end of file
diff --git a/docs/docsite/rst/getting_started/ansible_output/ping_output.txt b/docs/docsite/rst/getting_started/ansible_output/ping_output.txt
new file mode 100644
index 0000000000..9fe88862ef
--- /dev/null
+++ b/docs/docsite/rst/getting_started/ansible_output/ping_output.txt
@@ -0,0 +1,21 @@
+192.0.2.50 | SUCCESS => {
+ "ansible_facts": {
+ "discovered_interpreter_python": "/usr/bin/python3"
+ },
+ "changed": false,
+ "ping": "pong"
+ }
+192.0.2.51 | SUCCESS => {
+ "ansible_facts": {
+ "discovered_interpreter_python": "/usr/bin/python3"
+ },
+ "changed": false,
+ "ping": "pong"
+ }
+192.0.2.52 | SUCCESS => {
+ "ansible_facts": {
+ "discovered_interpreter_python": "/usr/bin/python3"
+ },
+ "changed": false,
+ "ping": "pong"
+ } \ No newline at end of file
diff --git a/docs/docsite/rst/getting_started/get_started_inventory.rst b/docs/docsite/rst/getting_started/get_started_inventory.rst
new file mode 100644
index 0000000000..1e21f0469e
--- /dev/null
+++ b/docs/docsite/rst/getting_started/get_started_inventory.rst
@@ -0,0 +1,102 @@
+.. _get_started_inventory:
+
+*********************
+Building an inventory
+*********************
+
+Inventories organize managed nodes in centralized files that provide Ansible with system information and network locations.
+Using an inventory file, Ansible can manage a large number of hosts with a single command.
+Inventories also help you use Ansible more efficiently by reducing the number of command-line options you need to specify.
+For example, inventories usually contain the SSH user so you do not need to include the ``-u`` flag when running Ansible commands.
+
+In the previous section, you added managed nodes directly to the ``/etc/ansible/hosts`` file.
+Now let's create an inventory file that you can add to source control for flexibility, reuse, and for sharing with other users.
+
+.. note::
+ Inventory files can be in ``INI`` or ``YAML`` format.
+ For demonstration purposes this section uses ``YAML`` format only.
+
+Complete the following steps:
+
+#. Open a terminal window on your control node.
+#. Create a new inventory file named ``inventory.yaml`` in any directory and open it for editing.
+#. Add a new group for your hosts then specify the IP address or fully qualified domain name (FQDN) of each managed node with the ``ansible_host`` field.
+ The following example adds the IP addresses of three virtual machines in KVM:
+
+ .. literalinclude:: yaml/inventory_example_vms.yaml
+ :language: yaml
+
+#. Verify your inventory.
+ If you created your inventory in a directory other than your home directory, specify the full path with the ``-i`` option.
+
+ .. code-block:: bash
+
+ ansible-inventory -i inventory.yaml --list
+
+#. Ping the managed nodes in your inventory.
+ In this example, the group name is ``virtualmachines`` which you can specify with the ``ansible`` command instead of ``all``.
+
+ .. code-block:: bash
+
+ ansible virtualmachines -m ping -i inventory.yaml
+
+ .. literalinclude:: ansible_output/ping_inventory_output.txt
+ :language: text
+
+Congratulations! You have successfully built an inventory.
+
+Tips for building inventories
+=============================
+
+* Ensure that group names are meaningful and unique. Group names are also case sensitive.
+* Avoid spaces, hyphens, and preceding numbers (use ``floor_19``, not ``19th_floor``) in group names.
+* Group hosts in your inventory logically according to their **What**, **Where**, and **When**.
+
+ What
+ Group hosts according to the topology, for example: db, web, leaf, spine.
+ Where
+ Group hosts by geographic location, for example: datacenter, region, floor, building.
+ When
+ Group hosts by stage, for example: development, test, staging, production.
+
+Use metagroups
+--------------
+
+Create a metagroup that organizes multiple groups in your inventory with the following syntax:
+
+.. code-block:: yaml
+
+ metagroupname:
+ children:
+
+The following inventory illustrates a basic structure for a data center.
+This example inventory contains a ``network`` metagroup that includes all network devices and a ``datacenter`` metagroup that includes the ``network`` group and all webservers.
+
+.. literalinclude:: yaml/inventory_group_structure.yaml
+ :language: yaml
+
+Create variables
+----------------
+
+Variables set values for managed nodes, such as the IP address, FQDN, operating system, and SSH user, so you do not need to pass them when running Ansible commands.
+
+Variables can apply to specific hosts.
+
+.. literalinclude:: yaml/inventory_variables_host.yaml
+ :language: yaml
+
+Variables can also apply to all hosts in a group.
+
+.. literalinclude:: yaml/inventory_variables_group.yaml
+ :language: yaml
+
+Now that you know how to build an inventory, continue by :ref:`learning how to create a playbook<get_started_playbook>`.
+
+.. seealso::
+
+ :ref:`intro_inventory`
+ Learn more about inventories in ``YAML`` or ``INI`` format.
+ :ref:`variables_in_inventory`
+ Find out more about inventory variables and their syntax.
+ :ref:`vault`
+ Find out how to encrypt sensitive content in your inventory such as passwords and keys.
diff --git a/docs/docsite/rst/getting_started/get_started_playbook.rst b/docs/docsite/rst/getting_started/get_started_playbook.rst
new file mode 100644
index 0000000000..7ee1be6d3b
--- /dev/null
+++ b/docs/docsite/rst/getting_started/get_started_playbook.rst
@@ -0,0 +1,70 @@
+.. _get_started_playbook:
+
+*******************
+Creating a playbook
+*******************
+
+Playbooks are automation blueprints, in ``YAML`` format, that Ansible uses to deploy and configure managed nodes.
+
+Playbook
+ A list of plays that define the order in which Ansible performs operations, from top to bottom, to achieve an overall goal.
+
+Play
+ An ordered list of tasks that maps to managed nodes in an inventory.
+
+Task
+ A list of one or more modules that defines the operations that Ansible performs.
+
+Module
+ A unit of code or binary that Ansible runs on managed nodes.
+ Ansible modules are grouped in collections with a :term:`Fully Qualified Collection Name (FQCN)` for each module.
+
+In the previous section, you used the ``ansible`` command to ping hosts in your inventory.
+Now let's create a playbook that pings your hosts and also prints a "Hello world" message.
+
+Complete the following steps:
+
+#. Open a terminal window on your control node.
+#. Create a new playbook file named ``playbook.yaml`` in any directory and open it for editing.
+#. Add the following content to ``playbook.yaml``:
+
+ .. literalinclude:: yaml/first_playbook.yaml
+ :language: yaml
+
+#. Run your playbook.
+
+ .. code-block:: bash
+
+ ansible-playbook -i inventory.yaml playbook.yaml
+
+Ansible returns the following output:
+
+.. literalinclude:: ansible_output/first_playbook_output.txt
+ :language: text
+
+In this output you can see:
+
+* The names that you give the play and each task.
+ You should always use descriptive names that make it easy to verify and troubleshoot playbooks.
+
+* The ``Gather Facts`` task runs implicitly.
+ By default Ansible gathers information about your inventory that it can use in the playbook.
+
+* The status of each task.
+ Each task has a status of ``ok`` which means it ran successfully.
+
+* The play recap that summarizes results of all tasks in the playbook per host.
+ In this example, there are three tasks so ``ok=3`` indicates that each task ran successfully.
+
+Congratulations! You have just created your first Ansible playbook.
+
+.. seealso::
+
+ :ref:`playbooks_intro`
+ Start building playbooks for real world scenarios.
+ :ref:`working_with_playbooks`
+ Go into more detail with Ansible playbooks.
+ :ref:`playbooks_best_practices`
+ Get tips and tricks for using playbooks.
+ :ref:`vars_and_facts`
+ Learn more about the ``gather_facts`` keyword in playbooks. \ No newline at end of file
diff --git a/docs/docsite/rst/getting_started/index.rst b/docs/docsite/rst/getting_started/index.rst
new file mode 100644
index 0000000000..0752b5f9e0
--- /dev/null
+++ b/docs/docsite/rst/getting_started/index.rst
@@ -0,0 +1,98 @@
+.. _getting_started_index:
+
+############################
+Getting started with Ansible
+############################
+
+Ansible automates the management of remote systems and controls their desired state.
+A basic Ansible environment has three main components:
+
+
+Control node
+ A system on which Ansible is installed.
+ You run Ansible commands such as ``ansible`` or ``ansible-inventory`` on a control node.
+
+Managed node
+ A remote system, or host, that Ansible controls.
+
+Inventory
+ A list of managed nodes that are logically organized.
+ You create an inventory on the control node to describe host deployments to Ansible.
+
+.. image:: ../images/ansible_basic.svg
+ :width: 400px
+ :align: center
+ :height: 200px
+ :alt: Basic components of an Ansible environment include a control node, an inventory of managed nodes, and a module copied to each managed node.
+
+Ready to start using Ansible?
+Complete the following steps to get up and running:
+
+#. Install Ansible. Visit the :ref:`installation guide<installation_guide>` for complete details.
+
+ .. code-block:: bash
+
+ python3 -m pip install --user ansible
+
+#. Create an inventory by adding the IP address or fully qualified domain name (FQDN) of one or more remote systems to ``/etc/ansible/hosts``.
+ The following example adds the IP addresses of three virtual machines in KVM:
+
+ .. code-block:: ini
+
+ [myvirtualmachines]
+ 192.0.2.50
+ 192.0.2.51
+ 192.0.2.52
+
+#. Verify the hosts in your inventory.
+
+ .. code-block:: bash
+
+ ansible all --list-hosts
+
+ .. code-block:: ansible-output
+
+ hosts (1):
+ 192.0.2.50
+ 192.0.2.51
+ 192.0.2.52
+
+#. Set up SSH connections so Ansible can connect to the managed nodes.
+
+ a. Add your public SSH key to the ``authorized_keys`` file on each remote system.
+ b. Test the SSH connections, for example:
+
+ .. code-block:: bash
+
+ ssh username@192.0.2.50
+
+ If the username on the control node is different on the host, you need to pass the ``-u`` option with the ``ansible`` command.
+
+#. Ping the managed nodes.
+
+ .. code-block:: bash
+
+ ansible all -m ping
+
+ .. literalinclude:: ansible_output/ping_output.txt
+ :language: text
+
+Congratulations! You are now using Ansible.
+Continue by :ref:`learning how to build an inventory<get_started_inventory>`.
+
+.. seealso::
+
+ `Ansible Demos <https://github.com/ansible/product-demos>`_
+ Demonstrations of different Ansible usecases
+ `RHEL Labs <https://katacoda.com/rhel-labs>`_
+ Labs to provide further knowledge on different topics
+ `Mailing List <https://groups.google.com/group/ansible-project>`_
+ Questions? Help? Ideas? Stop by the list on Google Groups
+ :ref:`communication_irc`
+ How to join Ansible chat channels
+
+.. toctree::
+ :maxdepth: 1
+
+ get_started_inventory
+ get_started_playbook \ No newline at end of file
diff --git a/docs/docsite/rst/getting_started/yaml/first_playbook.yaml b/docs/docsite/rst/getting_started/yaml/first_playbook.yaml
new file mode 100644
index 0000000000..dd0ef63f0b
--- /dev/null
+++ b/docs/docsite/rst/getting_started/yaml/first_playbook.yaml
@@ -0,0 +1,8 @@
+- name: My first play
+ hosts: virtualmachines
+ tasks:
+ - name: Ping my hosts
+ ansible.builtin.ping:
+ - name: Print message
+ ansible.builtin.debug:
+ msg: Hello world
diff --git a/docs/docsite/rst/getting_started/yaml/inventory_example_vms.yaml b/docs/docsite/rst/getting_started/yaml/inventory_example_vms.yaml
new file mode 100644
index 0000000000..d5edbca548
--- /dev/null
+++ b/docs/docsite/rst/getting_started/yaml/inventory_example_vms.yaml
@@ -0,0 +1,8 @@
+virtualmachines:
+ hosts:
+ vm01:
+ ansible_host: 192.0.2.50
+ vm02:
+ ansible_host: 192.0.2.51
+ vm03:
+ ansible_host: 192.0.2.52 \ No newline at end of file
diff --git a/docs/docsite/rst/getting_started/yaml/inventory_group_structure.yaml b/docs/docsite/rst/getting_started/yaml/inventory_group_structure.yaml
new file mode 100644
index 0000000000..93dd6a991a
--- /dev/null
+++ b/docs/docsite/rst/getting_started/yaml/inventory_group_structure.yaml
@@ -0,0 +1,30 @@
+leafs:
+ hosts:
+ leaf01:
+ ansible_host: 192.0.2.100
+ leaf02:
+ ansible_host: 192.0.2.110
+
+spines:
+ hosts:
+ spine01:
+ ansible_host: 192.0.2.120
+ spine02:
+ ansible_host: 192.0.2.130
+
+network:
+ children:
+ leafs:
+ spines:
+
+webservers:
+ hosts:
+ webserver01:
+ ansible_host: 192.0.2.140
+ webserver02:
+ ansible_host: 192.0.2.150
+
+datacenter:
+ children:
+ network:
+ webservers: \ No newline at end of file
diff --git a/docs/docsite/rst/getting_started/yaml/inventory_variables_group.yaml b/docs/docsite/rst/getting_started/yaml/inventory_variables_group.yaml
new file mode 100644
index 0000000000..6f934aaa74
--- /dev/null
+++ b/docs/docsite/rst/getting_started/yaml/inventory_variables_group.yaml
@@ -0,0 +1,10 @@
+webservers:
+ hosts:
+ webserver01:
+ ansible_host: 192.0.2.140
+ http_port: 80
+ webserver02:
+ ansible_host: 192.0.2.150
+ http_port: 443
+ vars:
+ ansible_user: my_server_user \ No newline at end of file
diff --git a/docs/docsite/rst/getting_started/yaml/inventory_variables_host.yaml b/docs/docsite/rst/getting_started/yaml/inventory_variables_host.yaml
new file mode 100644
index 0000000000..98ab165e07
--- /dev/null
+++ b/docs/docsite/rst/getting_started/yaml/inventory_variables_host.yaml
@@ -0,0 +1,8 @@
+webservers:
+ hosts:
+ webserver01:
+ ansible_host: 192.0.2.140
+ http_port: 80
+ webserver02:
+ ansible_host: 192.0.2.150
+ http_port: 443 \ No newline at end of file
diff --git a/docs/docsite/rst/images/ansible_basic.svg b/docs/docsite/rst/images/ansible_basic.svg
new file mode 100644
index 0000000000..9c89f9ab26
--- /dev/null
+++ b/docs/docsite/rst/images/ansible_basic.svg
@@ -0,0 +1,332 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ width="849.49353"
+ height="1023.4333"
+ viewBox="0 0 224.76183 270.78332"
+ version="1.1"
+ id="svg348"
+ inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
+ sodipodi:docname="ansible_basic.svg"
+ xml:space="preserve"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
+ id="namedview350"
+ pagecolor="#ffffff"
+ bordercolor="#111111"
+ borderopacity="1"
+ inkscape:showpageshadow="0"
+ inkscape:pageopacity="0"
+ inkscape:pagecheckerboard="1"
+ inkscape:deskcolor="#d1d1d1"
+ inkscape:document-units="px"
+ showgrid="false"
+ inkscape:zoom="0.84096521"
+ inkscape:cx="332.3562"
+ inkscape:cy="355.54384"
+ inkscape:window-width="1920"
+ inkscape:window-height="979"
+ inkscape:window-x="0"
+ inkscape:window-y="32"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="layer1" /><defs
+ id="defs345"><marker
+ style="overflow:visible"
+ id="marker10543"
+ refX="0"
+ refY="0"
+ orient="auto-start-reverse"
+ inkscape:stockid="RoundedArrow"
+ markerWidth="6.1347523"
+ markerHeight="5.9304948"
+ viewBox="0 0 6.1347524 5.9304951"
+ inkscape:isstock="true"
+ inkscape:collect="always"
+ preserveAspectRatio="xMidYMid"><path
+ transform="scale(0.7)"
+ d="m -0.21114562,-4.1055728 6.42229122,3.21114561 a 1,1 90 0 1 0,1.78885438 L -0.21114562,4.1055728 A 1.236068,1.236068 31.717474 0 1 -2,3 v -6 a 1.236068,1.236068 148.28253 0 1 1.78885438,-1.1055728 z"
+ style="fill:#4d4d4dff;fill-rule:evenodd;stroke:none"
+ id="path10541" /></marker><marker
+ style="overflow:visible"
+ id="RoundedArrow"
+ refX="0"
+ refY="0"
+ orient="auto-start-reverse"
+ inkscape:stockid="RoundedArrow"
+ markerWidth="6.1347523"
+ markerHeight="5.9304953"
+ viewBox="0 0 6.1347524 5.9304951"
+ inkscape:isstock="true"
+ inkscape:collect="always"
+ preserveAspectRatio="xMidYMid"><path
+ transform="scale(0.7)"
+ d="m -0.21114562,-4.1055728 6.42229122,3.21114561 a 1,1 90 0 1 0,1.78885438 L -0.21114562,4.1055728 A 1.236068,1.236068 31.717474 0 1 -2,3 v -6 a 1.236068,1.236068 148.28253 0 1 1.78885438,-1.1055728 z"
+ style="fill:#4d4d4dff;fill-rule:evenodd;stroke:none"
+ id="path1367" /></marker></defs><g
+ inkscape:label="control node"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-143.23061,-11.064939)"><path
+ id="rect404"
+ style="opacity:1;fill:#e6e6e6;stroke-width:0.331667;stroke-linejoin:bevel;stroke-opacity:0"
+ d="M 143.23061,11.064939 H 367.9924 V 107.25983 H 143.23061 Z" /><g
+ aria-label="Control node"
+ id="text2650"
+ style="font-size:7.7611px;line-height:1.25;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"><path
+ d="m 152.74789,19.329369 v 0.807185 q -0.38654,-0.360012 -0.82614,-0.538123 -0.4358,-0.178111 -0.92845,-0.178111 -0.97014,0 -1.48552,0.594967 -0.51539,0.591177 -0.51539,1.712899 0,1.117932 0.51539,1.712899 0.51538,0.591177 1.48552,0.591177 0.49265,0 0.92845,-0.178111 0.4396,-0.178111 0.82614,-0.538123 v 0.799605 q -0.4017,0.272852 -0.85266,0.409277 -0.44718,0.136426 -0.9474,0.136426 -1.28468,0 -2.02365,-0.784447 -0.73897,-0.788237 -0.73897,-2.148703 0,-1.364256 0.73897,-2.148703 0.73897,-0.788237 2.02365,-0.788237 0.5078,0 0.95498,0.136426 0.45096,0.132636 0.84508,0.401697 z"
+ id="path10832" /><path
+ d="m 155.54461,20.795944 q -0.56086,0 -0.88677,0.439594 -0.3259,0.435804 -0.3259,1.197513 0,0.76171 0.32212,1.201303 0.3259,0.435804 0.89055,0.435804 0.55707,0 0.88298,-0.439593 0.3259,-0.439594 0.3259,-1.197514 0,-0.75413 -0.3259,-1.193724 -0.32591,-0.443383 -0.88298,-0.443383 z m 0,-0.591177 q 0.90951,0 1.42868,0.591177 0.51918,0.591178 0.51918,1.637107 0,1.04214 -0.51918,1.637107 -0.51917,0.591178 -1.42868,0.591178 -0.91329,0 -1.43247,-0.591178 -0.51538,-0.594967 -0.51538,-1.637107 0,-1.045929 0.51538,-1.637107 0.51918,-0.591177 1.43247,-0.591177 z"
+ id="path10834" /><path
+ d="m 162.17641,21.989668 v 2.561769 h -0.69729 v -2.539031 q 0,-0.602547 -0.23495,-0.901925 -0.23496,-0.299378 -0.70487,-0.299378 -0.56465,0 -0.89055,0.360012 -0.32591,0.360012 -0.32591,0.981506 v 2.398816 h -0.70107 v -4.244351 h 0.70107 v 0.65939 q 0.25012,-0.382749 0.58739,-0.572229 0.34106,-0.18948 0.78445,-0.18948 0.73139,0 1.10656,0.454752 0.37517,0.450962 0.37517,1.330149 z"
+ id="path10836" /><path
+ d="m 164.2569,19.101993 v 1.205093 h 1.43626 v 0.541913 h -1.43626 v 2.304076 q 0,0.519175 0.14022,0.66697 0.144,0.147794 0.5798,0.147794 h 0.71624 v 0.583598 h -0.71624 q -0.80718,0 -1.11414,-0.299378 -0.30696,-0.303168 -0.30696,-1.098984 v -2.304076 h -0.51159 v -0.541913 h 0.51159 v -1.205093 z"
+ id="path10838" /><path
+ d="m 169.06969,20.958897 q -0.11748,-0.06821 -0.25769,-0.09853 -0.13643,-0.03411 -0.30317,-0.03411 -0.59118,0 -0.9095,0.386539 -0.31454,0.38275 -0.31454,1.102774 v 2.235863 h -0.70108 v -4.244351 h 0.70108 v 0.65939 q 0.2198,-0.386539 0.57223,-0.572229 0.35243,-0.18948 0.85645,-0.18948 0.072,0 0.15916,0.01137 0.0872,0.0076 0.19327,0.02653 z"
+ id="path10840" /><path
+ d="m 171.27524,20.795944 q -0.56086,0 -0.88677,0.439594 -0.3259,0.435804 -0.3259,1.197513 0,0.76171 0.32211,1.201303 0.32591,0.435804 0.89056,0.435804 0.55707,0 0.88298,-0.439593 0.3259,-0.439594 0.3259,-1.197514 0,-0.75413 -0.3259,-1.193724 -0.32591,-0.443383 -0.88298,-0.443383 z m 0,-0.591177 q 0.9095,0 1.42868,0.591177 0.51917,0.591178 0.51917,1.637107 0,1.04214 -0.51917,1.637107 -0.51918,0.591178 -1.42868,0.591178 -0.91329,0 -1.43247,-0.591178 -0.51538,-0.594967 -0.51538,-1.637107 0,-1.045929 0.51538,-1.637107 0.51918,-0.591177 1.43247,-0.591177 z"
+ id="path10842" /><path
+ d="m 174.37892,18.654821 h 0.69729 v 5.896616 h -0.69729 z"
+ id="path10844" /><path
+ d="m 182.53035,21.989668 v 2.561769 h -0.69729 v -2.539031 q 0,-0.602547 -0.23495,-0.901925 -0.23496,-0.299378 -0.70487,-0.299378 -0.56465,0 -0.89055,0.360012 -0.32591,0.360012 -0.32591,0.981506 v 2.398816 h -0.70107 v -4.244351 h 0.70107 v 0.65939 q 0.25011,-0.382749 0.58739,-0.572229 0.34106,-0.18948 0.78445,-0.18948 0.73139,0 1.10656,0.454752 0.37517,0.450962 0.37517,1.330149 z"
+ id="path10846" /><path
+ d="m 185.56582,20.795944 q -0.56086,0 -0.88677,0.439594 -0.3259,0.435804 -0.3259,1.197513 0,0.76171 0.32211,1.201303 0.32591,0.435804 0.89056,0.435804 0.55707,0 0.88297,-0.439593 0.32591,-0.439594 0.32591,-1.197514 0,-0.75413 -0.32591,-1.193724 -0.3259,-0.443383 -0.88297,-0.443383 z m 0,-0.591177 q 0.9095,0 1.42868,0.591177 0.51917,0.591178 0.51917,1.637107 0,1.04214 -0.51917,1.637107 -0.51918,0.591178 -1.42868,0.591178 -0.9133,0 -1.43247,-0.591178 -0.51539,-0.594967 -0.51539,-1.637107 0,-1.045929 0.51539,-1.637107 0.51917,-0.591177 1.43247,-0.591177 z"
+ id="path10848" /><path
+ d="m 191.46243,20.951318 v -2.296497 h 0.69729 v 5.896616 h -0.69729 v -0.636652 q -0.21979,0.37896 -0.55707,0.56465 -0.33348,0.181901 -0.80339,0.181901 -0.76929,0 -1.25436,-0.613915 -0.48128,-0.613915 -0.48128,-1.61437 0,-1.000454 0.48128,-1.614369 0.48507,-0.613915 1.25436,-0.613915 0.46991,0 0.80339,0.18569 0.33728,0.181901 0.55707,0.560861 z m -2.37607,1.481733 q 0,0.769289 0.31453,1.208882 0.31833,0.435804 0.87161,0.435804 0.55328,0 0.87161,-0.435804 0.31832,-0.439593 0.31832,-1.208882 0,-0.769288 -0.31832,-1.205092 -0.31833,-0.439594 -0.87161,-0.439594 -0.55328,0 -0.87161,0.439594 -0.31453,0.435804 -0.31453,1.205092 z"
+ id="path10850" /><path
+ d="m 197.22641,22.25494 v 0.341064 h -3.206 q 0.0455,0.720024 0.43202,1.098984 0.39033,0.37517 1.08382,0.37517 0.4017,0 0.77687,-0.09853 0.37896,-0.09853 0.75034,-0.295589 v 0.65939 q -0.37517,0.159163 -0.76929,0.242535 -0.39411,0.08337 -0.7996,0.08337 -1.01561,0 -1.61058,-0.591178 -0.59118,-0.591177 -0.59118,-1.599211 0,-1.04214 0.56086,-1.652265 0.56465,-0.613915 1.51963,-0.613915 0.85645,0 1.35289,0.553281 0.50022,0.549492 0.50022,1.496892 z m -0.69728,-0.204638 q -0.008,-0.57223 -0.32212,-0.913294 -0.31074,-0.341064 -0.82613,-0.341064 -0.5836,0 -0.93603,0.329695 -0.34864,0.329696 -0.4017,0.928452 z"
+ id="path10852" /></g><path
+ id="rect2702"
+ style="opacity:1;fill:#ffffff;stroke:#0063e1;stroke-width:0.185208;stroke-linejoin:bevel"
+ d="m 154.74631,41.449078 h 87.2262 v 47.307228 h -87.2262 z" /><g
+ id="g6733"
+ style="fill:#666666"
+ transform="matrix(1.636514,0,0,1.7495284,259.6675,33.984901)"><path
+ d="M 28,4.38 H 8 A 0.61,0.61 0 0 0 7.38,5 V 31 A 0.61,0.61 0 0 0 8,31.62 H 28 A 0.61,0.61 0 0 0 28.62,31 V 5 A 0.61,0.61 0 0 0 28,4.38 Z m -0.62,26 H 8.62 V 5.62 h 18.76 z"
+ id="path6719"
+ style="fill:#666666" /><path
+ d="m 12,13.62 h 6 a 0.62,0.62 0 0 0 0,-1.24 h -6 a 0.62,0.62 0 0 0 0,1.24 z"
+ id="path6725"
+ style="fill:#666666" /><path
+ d="m 12,16.62 h 12 a 0.62,0.62 0 1 0 0,-1.24 H 12 a 0.62,0.62 0 0 0 0,1.24 z"
+ id="path6727"
+ style="fill:#666666" /><path
+ d="m 12,19.62 h 12 a 0.62,0.62 0 0 0 0,-1.24 H 12 a 0.62,0.62 0 0 0 0,1.24 z"
+ id="path6729"
+ style="fill:#666666" /><path
+ d="m 12,22.62 h 12 a 0.62,0.62 0 0 0 0,-1.24 H 12 a 0.62,0.62 0 1 0 0,1.24 z"
+ id="path6731"
+ style="fill:#666666" /></g><g
+ aria-label="Ansible"
+ id="text9111"
+ style="font-size:7.7611px;line-height:1.25;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
+ transform="translate(-11.641666)"><path
+ d="m 185.30447,62.418646 -1.03835,2.815672 h 2.08049 z m -0.43202,-0.75413 h 0.86782 l 2.15628,5.657872 h -0.79581 l -0.51539,-1.451417 h -2.5504 l -0.51538,1.451417 h -0.80719 z"
+ id="path10816" /><path
+ d="m 192.22049,64.760618 v 2.56177 h -0.69729 v -2.539032 q 0,-0.602546 -0.23495,-0.901925 -0.23496,-0.299378 -0.70487,-0.299378 -0.56465,0 -0.89056,0.360012 -0.3259,0.360012 -0.3259,0.981506 v 2.398817 h -0.70108 v -4.244352 h 0.70108 v 0.659391 q 0.25011,-0.38275 0.58739,-0.57223 0.34106,-0.18948 0.78444,-0.18948 0.7314,0 1.10657,0.454752 0.37517,0.450962 0.37517,1.330149 z"
+ id="path10818" /><path
+ d="m 196.31704,63.203093 v 0.65939 q -0.29558,-0.151584 -0.61391,-0.227376 -0.31833,-0.07579 -0.65939,-0.07579 -0.51918,0 -0.78066,0.159164 -0.25769,0.159163 -0.25769,0.477489 0,0.242534 0.18569,0.38275 0.18569,0.136425 0.74655,0.261482 l 0.23874,0.05305 q 0.74277,0.159164 1.05351,0.450963 0.31454,0.288009 0.31454,0.807184 0,0.591178 -0.46991,0.936032 -0.46612,0.344853 -1.28467,0.344853 -0.34107,0 -0.71245,-0.06821 -0.36759,-0.06442 -0.77687,-0.197059 V 66.44699 q 0.38654,0.200849 0.76171,0.303168 0.37517,0.09853 0.74276,0.09853 0.49265,0 0.75792,-0.166743 0.26528,-0.170532 0.26528,-0.477489 0,-0.28422 -0.19327,-0.435804 -0.18948,-0.151584 -0.83751,-0.291799 l -0.24253,-0.05684 q -0.64802,-0.136426 -0.93603,-0.416856 -0.28801,-0.28422 -0.28801,-0.776868 0,-0.598757 0.42443,-0.924662 0.42444,-0.325906 1.2051,-0.325906 0.38654,0 0.7276,0.05684 0.34106,0.05684 0.62907,0.170532 z"
+ id="path10820" /><path
+ d="m 197.65477,63.078036 h 0.69729 v 4.244352 h -0.69729 z m 0,-1.652265 h 0.69729 v 0.882977 h -0.69729 z"
+ id="path10822" /><path
+ d="m 202.85789,65.204002 q 0,-0.769289 -0.31832,-1.205093 -0.31454,-0.439594 -0.86782,-0.439594 -0.55328,0 -0.87161,0.439594 -0.31454,0.435804 -0.31454,1.205093 0,0.769288 0.31454,1.208882 0.31833,0.435804 0.87161,0.435804 0.55328,0 0.86782,-0.435804 0.31832,-0.439594 0.31832,-1.208882 z m -2.37229,-1.481734 q 0.2198,-0.37896 0.55329,-0.560861 0.33727,-0.18569 0.80339,-0.18569 0.77308,0 1.25436,0.613915 0.48507,0.613915 0.48507,1.61437 0,1.000454 -0.48507,1.614369 -0.48128,0.613915 -1.25436,0.613915 -0.46612,0 -0.80339,-0.181901 -0.33349,-0.18569 -0.55329,-0.56465 v 0.636653 h -0.70107 v -5.896617 h 0.70107 z"
+ id="path10824" /><path
+ d="m 204.73753,61.425771 h 0.69729 v 5.896617 h -0.69729 z"
+ id="path10826" /><path
+ d="m 210.52425,65.02589 v 0.341064 h -3.206 q 0.0455,0.720024 0.43202,1.098984 0.39033,0.375171 1.08382,0.375171 0.4017,0 0.77687,-0.09853 0.37896,-0.09853 0.75034,-0.295589 v 0.659391 q -0.37517,0.159163 -0.76929,0.242534 -0.39412,0.08337 -0.7996,0.08337 -1.01562,0 -1.61058,-0.591177 -0.59118,-0.591178 -0.59118,-1.599211 0,-1.04214 0.56086,-1.652266 0.56465,-0.613915 1.51963,-0.613915 0.85645,0 1.35289,0.553282 0.50022,0.549492 0.50022,1.496892 z m -0.69728,-0.204638 q -0.008,-0.57223 -0.32212,-0.913293 -0.31075,-0.341064 -0.82613,-0.341064 -0.5836,0 -0.93603,0.329695 -0.34865,0.329695 -0.4017,0.928452 z"
+ id="path10828" /></g><g
+ aria-label="Inventory"
+ id="text9115"
+ style="font-size:7.7611px;line-height:1.25;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"><path
+ d="m 310.82775,61.326327 h 0.7655 V 66.9842 h -0.7655 z"
+ id="path10797" /><path
+ d="m 316.61447,64.42243 v 2.56177 h -0.69729 v -2.539032 q 0,-0.602546 -0.23495,-0.901925 -0.23496,-0.299378 -0.70487,-0.299378 -0.56465,0 -0.89055,0.360012 -0.32591,0.360012 -0.32591,0.981506 V 66.9842 h -0.70108 v -4.244352 h 0.70108 v 0.65939 q 0.25011,-0.382749 0.58739,-0.572229 0.34106,-0.18948 0.78444,-0.18948 0.7314,0 1.10657,0.454752 0.37517,0.450962 0.37517,1.330149 z"
+ id="path10799" /><path
+ d="m 317.50502,62.739848 h 0.73898 l 1.32636,3.562224 1.32636,-3.562224 h 0.73897 l -1.59163,4.244352 h -0.9474 z"
+ id="path10801" /><path
+ d="m 326.22868,64.687702 v 0.341064 h -3.206 q 0.0455,0.720024 0.43201,1.098984 0.39033,0.37517 1.08383,0.37517 0.4017,0 0.77687,-0.09853 0.37896,-0.09853 0.75034,-0.295589 v 0.65939 q -0.37517,0.159164 -0.76929,0.242535 -0.39412,0.08337 -0.79961,0.08337 -1.01561,0 -1.61057,-0.591178 -0.59118,-0.591177 -0.59118,-1.599211 0,-1.042139 0.56086,-1.652265 0.56465,-0.613915 1.51963,-0.613915 0.85645,0 1.35288,0.553281 0.50023,0.549492 0.50023,1.496892 z m -0.69728,-0.204638 q -0.008,-0.57223 -0.32212,-0.913294 -0.31075,-0.341064 -0.82613,-0.341064 -0.5836,0 -0.93603,0.329696 -0.34865,0.329695 -0.4017,0.928451 z"
+ id="path10803" /><path
+ d="m 330.90126,64.42243 v 2.56177 h -0.69729 v -2.539032 q 0,-0.602546 -0.23495,-0.901925 -0.23496,-0.299378 -0.70487,-0.299378 -0.56465,0 -0.89055,0.360012 -0.32591,0.360012 -0.32591,0.981506 V 66.9842 h -0.70108 v -4.244352 h 0.70108 v 0.65939 q 0.25011,-0.382749 0.58739,-0.572229 0.34106,-0.18948 0.78444,-0.18948 0.7314,0 1.10657,0.454752 0.37517,0.450962 0.37517,1.330149 z"
+ id="path10805" /><path
+ d="m 332.98175,61.534755 v 1.205093 h 1.43626 v 0.541913 h -1.43626 v 2.304076 q 0,0.519175 0.14021,0.66697 0.14401,0.147794 0.57981,0.147794 h 0.71624 V 66.9842 h -0.71624 q -0.80718,0 -1.11414,-0.299379 -0.30696,-0.303168 -0.30696,-1.098984 v -2.304076 h -0.51159 v -0.541913 h 0.51159 v -1.205093 z"
+ id="path10807" /><path
+ d="m 336.97978,63.228706 q -0.56087,0 -0.88677,0.439594 -0.32591,0.435804 -0.32591,1.197513 0,0.76171 0.32212,1.201303 0.32591,0.435804 0.89056,0.435804 0.55707,0 0.88297,-0.439593 0.32591,-0.439594 0.32591,-1.197514 0,-0.75413 -0.32591,-1.193723 -0.3259,-0.443384 -0.88297,-0.443384 z m 0,-0.591177 q 0.9095,0 1.42867,0.591177 0.51918,0.591178 0.51918,1.637107 0,1.04214 -0.51918,1.637107 -0.51917,0.591178 -1.42867,0.591178 -0.9133,0 -1.43247,-0.591178 -0.51539,-0.594967 -0.51539,-1.637107 0,-1.045929 0.51539,-1.637107 0.51917,-0.591177 1.43247,-0.591177 z"
+ id="path10809" /><path
+ d="m 342.54291,63.391659 q -0.11748,-0.06821 -0.2577,-0.09853 -0.13642,-0.03411 -0.30316,-0.03411 -0.59118,0 -0.90951,0.386539 -0.31453,0.38275 -0.31453,1.102774 V 66.9842 h -0.70108 v -4.244352 h 0.70108 v 0.65939 q 0.21979,-0.386539 0.57223,-0.572229 0.35243,-0.18948 0.85644,-0.18948 0.072,0 0.15917,0.01137 0.0872,0.0076 0.19327,0.02653 z"
+ id="path10811" /><path
+ d="m 345.04025,67.378318 q -0.29558,0.75792 -0.57602,0.989085 -0.28043,0.231166 -0.75034,0.231166 h -0.55707 v -0.583598 h 0.40928 q 0.28801,0 0.44717,-0.136426 0.15917,-0.136426 0.35244,-0.644232 l 0.12505,-0.318326 -1.71669,-4.176139 h 0.73898 l 1.32636,3.319689 1.32635,-3.319689 h 0.73898 z"
+ id="path10813" /></g><g
+ id="g452"
+ transform="matrix(0.61225773,0,0,0.52463712,206.64886,55.548447)"
+ style="fill:#4d4d4d"><path
+ d="m 23.82,19.52 h -2.25 a 8.43,8.43 0 0 0 -0.44,-1.08 l 1.6,-1.6 A 0.62,0.62 0 0 0 22.8,16.05 10.65,10.65 0 0 0 20,13.26 0.62,0.62 0 0 0 19.2,13.33 l -1.59,1.59 a 8.27,8.27 0 0 0 -1.1,-0.47 v -2.26 a 0.61,0.61 0 0 0 -0.5,-0.61 10.22,10.22 0 0 0 -3.94,0 0.63,0.63 0 0 0 -0.51,0.62 v 2.24 A 8.89,8.89 0 0 0 10.41,14.9 L 8.81,13.3 A 0.62,0.62 0 0 0 8.02,13.23 10.65,10.65 0 0 0 5.26,16 0.62,0.62 0 0 0 5.33,16.8 l 1.59,1.59 A 7.91,7.91 0 0 0 6.43,19.55 H 4.18 a 0.64,0.64 0 0 0 -0.62,0.51 10.87,10.87 0 0 0 0,3.94 0.64,0.64 0 0 0 0.62,0.51 h 2.25 a 7.91,7.91 0 0 0 0.49,1.16 l -1.59,1.56 a 0.62,0.62 0 0 0 -0.07,0.8 10.36,10.36 0 0 0 2.79,2.77 0.62,0.62 0 0 0 0.79,-0.07 l 1.6,-1.6 a 8.89,8.89 0 0 0 1.15,0.46 v 2.24 a 0.63,0.63 0 0 0 0.51,0.62 10.64,10.64 0 0 0 1.9,0.17 10.15,10.15 0 0 0 2,-0.2 0.61,0.61 0 0 0 0.5,-0.61 v -2.26 a 8.27,8.27 0 0 0 1.1,-0.47 l 1.59,1.59 a 0.62,0.62 0 0 0 0.8,0.07 A 10.65,10.65 0 0 0 22.8,28 0.62,0.62 0 0 0 22.73,27.21 l -1.6,-1.6 a 8.43,8.43 0 0 0 0.44,-1.08 h 2.25 a 0.64,0.64 0 0 0 0.62,-0.51 10.87,10.87 0 0 0 0,-3.94 0.64,0.64 0 0 0 -0.62,-0.56 z m -0.53,3.71 H 21.1 a 0.62,0.62 0 0 0 -0.6,0.47 7.1,7.1 0 0 1 -0.69,1.66 0.62,0.62 0 0 0 0.1,0.75 l 1.56,1.56 a 9.82,9.82 0 0 1 -1.73,1.74 l -1.55,-1.55 a 0.62,0.62 0 0 0 -0.76,-0.09 6.73,6.73 0 0 1 -1.68,0.71 0.62,0.62 0 0 0 -0.46,0.6 v 2.2 a 8.73,8.73 0 0 1 -2.45,0 v -2.16 a 0.63,0.63 0 0 0 -0.47,-0.61 6.68,6.68 0 0 1 -1.73,-0.7 0.62,0.62 0 0 0 -0.75,0.1 L 8.33,29.47 A 9.82,9.82 0 0 1 6.59,27.74 L 8.14,26.19 A 0.62,0.62 0 0 0 8.23,25.43 6.68,6.68 0 0 1 7.5,23.69 0.62,0.62 0 0 0 6.9,23.23 H 4.71 a 8.45,8.45 0 0 1 0,-2.46 H 6.9 A 0.62,0.62 0 0 0 7.5,20.31 6.68,6.68 0 0 1 8.23,18.57 0.62,0.62 0 0 0 8.14,17.81 L 6.59,16.26 a 9.82,9.82 0 0 1 1.74,-1.73 l 1.56,1.56 a 0.62,0.62 0 0 0 0.75,0.1 6.68,6.68 0 0 1 1.73,-0.7 0.63,0.63 0 0 0 0.47,-0.61 V 12.7 a 8.73,8.73 0 0 1 2.45,0 v 2.2 a 0.62,0.62 0 0 0 0.46,0.6 6.73,6.73 0 0 1 1.68,0.71 0.62,0.62 0 0 0 0.76,-0.09 l 1.55,-1.55 a 9.82,9.82 0 0 1 1.73,1.74 l -1.56,1.56 a 0.62,0.62 0 0 0 -0.1,0.75 7.1,7.1 0 0 1 0.69,1.66 0.62,0.62 0 0 0 0.6,0.47 h 2.19 a 8.45,8.45 0 0 1 0,2.46 z"
+ id="path444"
+ style="fill:#4d4d4d" /><path
+ d="M 14,18.52 A 3.48,3.48 0 1 0 17.48,22 3.48,3.48 0 0 0 14,18.52 Z m 0,5.71 A 2.23,2.23 0 1 1 16.23,22 2.23,2.23 0 0 1 14,24.23 Z"
+ id="path446"
+ style="fill:#4d4d4d" /><path
+ d="M 32.47,10.4 A 0.62,0.62 0 0 0 31.86,9.89 H 30.14 A 6.22,6.22 0 0 0 29.85,9.18 L 31.07,8 A 0.63,0.63 0 0 0 31.15,7.21 8.83,8.83 0 0 0 28.9,4.9 0.63,0.63 0 0 0 28.1,4.97 L 26.89,6.18 A 6.66,6.66 0 0 0 26.16,5.87 V 4.15 a 0.61,0.61 0 0 0 -0.51,-0.61 8.34,8.34 0 0 0 -3.19,0 0.61,0.61 0 0 0 -0.51,0.61 V 5.84 A 5.16,5.16 0 0 0 21.18,6.15 L 20,4.93 A 0.63,0.63 0 0 0 19.21,4.85 8.83,8.83 0 0 0 16.9,7.1 0.63,0.63 0 0 0 16.97,7.9 l 1.21,1.21 a 7.83,7.83 0 0 0 -0.47,1.25 0.63,0.63 0 0 0 0.45,0.76 0.62,0.62 0 0 0 0.76,-0.44 A 5.44,5.44 0 0 1 19.49,9.32 0.62,0.62 0 0 0 19.4,8.56 L 18.24,7.4 a 7.35,7.35 0 0 1 1.22,-1.21 l 1.16,1.17 a 0.63,0.63 0 0 0 0.76,0.1 4.92,4.92 0 0 1 1.34,-0.55 0.63,0.63 0 0 0 0.48,-0.6 V 4.67 a 7,7 0 0 1 1.71,0 v 1.66 a 0.63,0.63 0 0 0 0.46,0.61 5.2,5.2 0 0 1 1.31,0.55 0.62,0.62 0 0 0 0.76,-0.09 L 28.6,6.24 a 7.35,7.35 0 0 1 1.21,1.22 l -1.17,1.16 a 0.63,0.63 0 0 0 -0.1,0.76 5,5 0 0 1 0.54,1.3 0.62,0.62 0 0 0 0.6,0.46 h 1.64 a 6.19,6.19 0 0 1 0,1.72 h -1.64 a 0.62,0.62 0 0 0 -0.6,0.46 5,5 0 0 1 -0.54,1.3 0.63,0.63 0 0 0 0.1,0.76 l 1.17,1.16 A 7.35,7.35 0 0 1 28.6,17.76 L 27.44,16.6 a 0.62,0.62 0 0 0 -0.76,-0.09 5.2,5.2 0 0 1 -1.31,0.55 0.63,0.63 0 0 0 0.33,1.21 6.33,6.33 0 0 0 1.19,-0.45 L 28.1,19 a 0.62,0.62 0 0 0 0.44,0.18 0.69,0.69 0 0 0 0.36,-0.11 8.83,8.83 0 0 0 2.25,-2.27 0.63,0.63 0 0 0 -0.08,-0.79 l -1.22,-1.22 a 6.22,6.22 0 0 0 0.29,-0.71 h 1.72 a 0.62,0.62 0 0 0 0.61,-0.51 8.61,8.61 0 0 0 0,-3.2 z"
+ id="path448"
+ style="fill:#4d4d4d" /><path
+ d="M 24,13.66 A 0.63,0.63 0 0 0 24,14.91 2.91,2.91 0 1 0 21.09,12 0.63,0.63 0 0 0 22.34,12 1.66,1.66 0 1 1 24,13.66 Z"
+ id="path450"
+ style="fill:#4d4d4d" /></g></g><g
+ inkscape:label="managed node 1"
+ inkscape:groupmode="layer"
+ id="layer1-2"
+ transform="translate(-154.12628,34.333078)" /><g
+ inkscape:label="managed node 2"
+ inkscape:groupmode="layer"
+ id="g10044"
+ transform="translate(-154.12628,34.333078)" /><g
+ inkscape:label="managed node 3"
+ inkscape:groupmode="layer"
+ id="g10073"
+ transform="translate(-154.12628,34.333078)" /><g
+ inkscape:groupmode="layer"
+ id="layer3"
+ inkscape:label="arrows"
+ transform="translate(-143.23061,-11.064939)"><g
+ id="g10723"
+ transform="translate(-12.170833)"><g
+ id="g10676"><g
+ id="g10119"
+ transform="translate(7.625169,40.10635)"><g
+ id="g10026"
+ transform="translate(39.687516,-33.86668)"><g
+ aria-label="Managed node 1"
+ id="text2650-6"
+ style="font-size:7.7611px;line-height:1.25;-inkscape-font-specification:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;stroke-width:0.264583"><path
+ d="m 170.84965,134.92073 h 1.14067 l 1.44384,3.85023 1.45142,-3.85023 h 1.14066 v 5.65787 h -0.74655 v -4.96817 l -1.45899,3.88055 h -0.76929 l -1.459,-3.88055 v 4.96817 h -0.74276 z"
+ id="path10856" /><path
+ d="m 179.44446,138.44505 q -0.84508,0 -1.17098,0.19327 -0.32591,0.19327 -0.32591,0.65939 0,0.37138 0.24254,0.59118 0.24632,0.21601 0.66697,0.21601 0.5798,0 0.92845,-0.40928 0.35243,-0.41307 0.35243,-1.09519 v -0.15538 z m 1.39079,-0.28801 v 2.42156 h -0.69729 v -0.64423 q -0.23874,0.38654 -0.59497,0.57223 -0.35622,0.1819 -0.87161,0.1819 -0.65181,0 -1.03835,-0.36381 -0.38274,-0.36759 -0.38274,-0.9815 0,-0.71624 0.47748,-1.08004 0.48128,-0.3638 1.43247,-0.3638 h 0.97772 v -0.0682 q 0,-0.48128 -0.31833,-0.74276 -0.31453,-0.26528 -0.88676,-0.26528 -0.3638,0 -0.70866,0.0872 -0.34485,0.0872 -0.66318,0.26148 v -0.64423 q 0.38275,-0.1478 0.74276,-0.2198 0.36002,-0.0758 0.70108,-0.0758 0.92087,0 1.37562,0.47749 0.45476,0.47749 0.45476,1.44762 z"
+ id="path10858" /><path
+ d="m 185.79962,138.01683 v 2.56177 h -0.69728 v -2.53903 q 0,-0.60255 -0.23496,-0.90193 -0.23496,-0.29938 -0.70487,-0.29938 -0.56465,0 -0.89055,0.36002 -0.32591,0.36001 -0.32591,0.9815 v 2.39882 h -0.70107 v -4.24435 h 0.70107 v 0.65939 q 0.25012,-0.38275 0.58739,-0.57223 0.34106,-0.18948 0.78445,-0.18948 0.73139,0 1.10656,0.45475 0.37517,0.45096 0.37517,1.33015 z"
+ id="path10860" /><path
+ d="m 189.11931,138.44505 q -0.84508,0 -1.17098,0.19327 -0.32591,0.19327 -0.32591,0.65939 0,0.37138 0.24253,0.59118 0.24633,0.21601 0.66697,0.21601 0.57981,0 0.92846,-0.40928 0.35243,-0.41307 0.35243,-1.09519 v -0.15538 z m 1.39078,-0.28801 v 2.42156 h -0.69728 v -0.64423 q -0.23875,0.38654 -0.59497,0.57223 -0.35622,0.1819 -0.87161,0.1819 -0.65181,0 -1.03835,-0.36381 -0.38275,-0.36759 -0.38275,-0.9815 0,-0.71624 0.47749,-1.08004 0.48128,-0.3638 1.43247,-0.3638 h 0.97772 v -0.0682 q 0,-0.48128 -0.31833,-0.74276 -0.31453,-0.26528 -0.88676,-0.26528 -0.36381,0 -0.70866,0.0872 -0.34485,0.0872 -0.66318,0.26148 v -0.64423 q 0.38275,-0.1478 0.74276,-0.2198 0.36001,-0.0758 0.70108,-0.0758 0.92087,0 1.37562,0.47749 0.45475,0.47749 0.45475,1.44762 z"
+ id="path10862" /><path
+ d="m 194.73929,138.40716 q 0,-0.75792 -0.31454,-1.17478 -0.31075,-0.41685 -0.8754,-0.41685 -0.56086,0 -0.87539,0.41685 -0.31075,0.41686 -0.31075,1.17478 0,0.75413 0.31075,1.17098 0.31453,0.41686 0.87539,0.41686 0.56465,0 0.8754,-0.41686 0.31454,-0.41685 0.31454,-1.17098 z m 0.69728,1.64468 q 0,1.08383 -0.48128,1.61058 -0.48127,0.53055 -1.47415,0.53055 -0.36759,0 -0.6935,-0.0568 -0.3259,-0.0531 -0.63286,-0.16674 v -0.67834 q 0.30696,0.16675 0.60634,0.24633 0.29938,0.0796 0.61012,0.0796 0.68592,0 1.02698,-0.36001 0.34107,-0.35623 0.34107,-1.08004 v -0.34485 q -0.21601,0.37517 -0.55328,0.56086 -0.33728,0.18569 -0.80719,0.18569 -0.78066,0 -1.25815,-0.59497 -0.47749,-0.59497 -0.47749,-1.57647 0,-0.9853 0.47749,-1.58027 0.47749,-0.59496 1.25815,-0.59496 0.46991,0 0.80719,0.18569 0.33727,0.18569 0.55328,0.56086 v -0.64423 h 0.69728 z"
+ id="path10864" /><path
+ d="m 200.50327,138.2821 v 0.34106 h -3.206 q 0.0455,0.72003 0.43201,1.09899 0.39033,0.37517 1.08383,0.37517 0.40169,0 0.77686,-0.0985 0.37896,-0.0985 0.75035,-0.29559 v 0.65939 q -0.37517,0.15916 -0.76929,0.24254 -0.39412,0.0834 -0.79961,0.0834 -1.01561,0 -1.61058,-0.59118 -0.59118,-0.59118 -0.59118,-1.59921 0,-1.04214 0.56086,-1.65227 0.56466,-0.61391 1.51963,-0.61391 0.85645,0 1.35289,0.55328 0.50023,0.54949 0.50023,1.49689 z m -0.69729,-0.20464 q -0.008,-0.57223 -0.32211,-0.91329 -0.31075,-0.34107 -0.82614,-0.34107 -0.58359,0 -0.93603,0.3297 -0.34864,0.3297 -0.4017,0.92845 z"
+ id="path10866" /><path
+ d="m 204.44066,136.97848 v -2.2965 h 0.69729 v 5.89662 h -0.69729 v -0.63665 q -0.2198,0.37896 -0.55707,0.56465 -0.33348,0.1819 -0.80339,0.1819 -0.76929,0 -1.25436,-0.61392 -0.48128,-0.61391 -0.48128,-1.61437 0,-1.00045 0.48128,-1.61437 0.48507,-0.61391 1.25436,-0.61391 0.46991,0 0.80339,0.18569 0.33727,0.1819 0.55707,0.56086 z m -2.37608,1.48173 q 0,0.76929 0.31454,1.20888 0.31833,0.43581 0.87161,0.43581 0.55328,0 0.87161,-0.43581 0.31832,-0.43959 0.31832,-1.20888 0,-0.76929 -0.31832,-1.20509 -0.31833,-0.43959 -0.87161,-0.43959 -0.55328,0 -0.87161,0.43959 -0.31454,0.4358 -0.31454,1.20509 z"
+ id="path10868" /><path
+ d="m 178.83813,147.7182 v 2.56177 h -0.69729 v -2.53903 q 0,-0.60255 -0.23495,-0.90192 -0.23496,-0.29938 -0.70487,-0.29938 -0.56465,0 -0.89056,0.36001 -0.3259,0.36001 -0.3259,0.98151 v 2.39881 h -0.70108 v -4.24435 h 0.70108 v 0.65939 q 0.25011,-0.38275 0.58739,-0.57223 0.34106,-0.18948 0.78444,-0.18948 0.7314,0 1.10657,0.45475 0.37517,0.45097 0.37517,1.33015 z"
+ id="path10870" /><path
+ d="m 181.8736,146.52448 q -0.56086,0 -0.88677,0.43959 -0.32591,0.43581 -0.32591,1.19752 0,0.76171 0.32212,1.2013 0.32591,0.4358 0.89056,0.4358 0.55707,0 0.88297,-0.43959 0.32591,-0.43959 0.32591,-1.19751 0,-0.75413 -0.32591,-1.19373 -0.3259,-0.44338 -0.88297,-0.44338 z m 0,-0.59118 q 0.9095,0 1.42868,0.59118 0.51917,0.59118 0.51917,1.63711 0,1.04214 -0.51917,1.6371 -0.51918,0.59118 -1.42868,0.59118 -0.9133,0 -1.43247,-0.59118 -0.51539,-0.59496 -0.51539,-1.6371 0,-1.04593 0.51539,-1.63711 0.51917,-0.59118 1.43247,-0.59118 z"
+ id="path10872" /><path
+ d="m 187.77021,146.67985 v -2.29649 h 0.69729 v 5.89661 h -0.69729 v -0.63665 q -0.21979,0.37896 -0.55707,0.56465 -0.33348,0.1819 -0.80339,0.1819 -0.76929,0 -1.25436,-0.61391 -0.48128,-0.61392 -0.48128,-1.61437 0,-1.00046 0.48128,-1.61437 0.48507,-0.61392 1.25436,-0.61392 0.46991,0 0.80339,0.18569 0.33728,0.1819 0.55707,0.56086 z m -2.37608,1.48174 q 0,0.76929 0.31454,1.20888 0.31833,0.4358 0.87161,0.4358 0.55328,0 0.87161,-0.4358 0.31832,-0.43959 0.31832,-1.20888 0,-0.76929 -0.31832,-1.2051 -0.31833,-0.43959 -0.87161,-0.43959 -0.55328,0 -0.87161,0.43959 -0.31454,0.43581 -0.31454,1.2051 z"
+ id="path10874" /><path
+ d="m 193.53419,147.98348 v 0.34106 h -3.206 q 0.0455,0.72002 0.43202,1.09898 0.39033,0.37517 1.08382,0.37517 0.4017,0 0.77687,-0.0985 0.37896,-0.0985 0.75034,-0.29558 v 0.65939 q -0.37517,0.15916 -0.76929,0.24253 -0.39412,0.0834 -0.7996,0.0834 -1.01562,0 -1.61058,-0.59118 -0.59118,-0.59117 -0.59118,-1.59921 0,-1.04214 0.56086,-1.65226 0.56465,-0.61392 1.51963,-0.61392 0.85645,0 1.35289,0.55328 0.50022,0.5495 0.50022,1.4969 z m -0.69728,-0.20464 q -0.008,-0.57223 -0.32212,-0.9133 -0.31074,-0.34106 -0.82613,-0.34106 -0.5836,0 -0.93603,0.32969 -0.34864,0.3297 -0.4017,0.92846 z"
+ id="path10876" /><path
+ d="m 197.37685,149.63574 h 1.25057 v -4.31635 l -1.36047,0.27285 v -0.69729 l 1.35289,-0.27285 h 0.7655 v 5.01364 h 1.25056 v 0.64423 h -3.25905 z"
+ id="path10878" /></g><g
+ id="g9222"
+ style="fill:#4d4d4d"
+ transform="matrix(1.6265445,0,0,1.8941561,158.96282,108.29438)"><path
+ d="M 25,8.37 A 0.63,0.63 0 0 0 24.38,9 0.63,0.63 0 0 0 25.63,9 0.63,0.63 0 0 0 25,8.37 Z"
+ id="path9216"
+ style="fill:#4d4d4d" /><path
+ d="M 27,8.37 A 0.63,0.63 0 0 0 26.38,9 0.63,0.63 0 0 0 27.63,9 0.63,0.63 0 0 0 27,8.37 Z"
+ id="path9218"
+ style="fill:#4d4d4d" /><path
+ d="M 31,4.38 H 5 A 0.61,0.61 0 0 0 4.38,5 V 31 A 0.61,0.61 0 0 0 5,31.62 H 31 A 0.61,0.61 0 0 0 31.62,31 V 5 A 0.61,0.61 0 0 0 31,4.38 Z m -0.62,26 H 5.62 V 5.62 h 24.76 z"
+ id="path9220"
+ style="fill:#4d4d4d" /></g></g><g
+ id="g10042"
+ transform="translate(84.137546,17.991671)"><g
+ id="g10053"
+ transform="translate(8.9958322,1.5874998)"><g
+ aria-label="Managed node 2"
+ id="text10032"
+ style="font-size:7.7611px;line-height:1.25;-inkscape-font-specification:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;stroke-width:0.264583"><path
+ d="m 170.84965,134.92073 h 1.14067 l 1.44384,3.85023 1.45142,-3.85023 h 1.14066 v 5.65787 h -0.74655 v -4.96817 l -1.45899,3.88055 h -0.76929 l -1.459,-3.88055 v 4.96817 h -0.74276 z"
+ id="path10881" /><path
+ d="m 179.44446,138.44505 q -0.84508,0 -1.17098,0.19327 -0.32591,0.19327 -0.32591,0.65939 0,0.37138 0.24254,0.59118 0.24632,0.21601 0.66697,0.21601 0.5798,0 0.92845,-0.40928 0.35243,-0.41307 0.35243,-1.09519 v -0.15538 z m 1.39079,-0.28801 v 2.42156 h -0.69729 v -0.64423 q -0.23874,0.38654 -0.59497,0.57223 -0.35622,0.1819 -0.87161,0.1819 -0.65181,0 -1.03835,-0.36381 -0.38274,-0.36759 -0.38274,-0.9815 0,-0.71624 0.47748,-1.08004 0.48128,-0.3638 1.43247,-0.3638 h 0.97772 v -0.0682 q 0,-0.48128 -0.31833,-0.74276 -0.31453,-0.26528 -0.88676,-0.26528 -0.3638,0 -0.70866,0.0872 -0.34485,0.0872 -0.66318,0.26148 v -0.64423 q 0.38275,-0.1478 0.74276,-0.2198 0.36002,-0.0758 0.70108,-0.0758 0.92087,0 1.37562,0.47749 0.45476,0.47749 0.45476,1.44762 z"
+ id="path10883" /><path
+ d="m 185.79962,138.01683 v 2.56177 h -0.69728 v -2.53903 q 0,-0.60255 -0.23496,-0.90193 -0.23496,-0.29938 -0.70487,-0.29938 -0.56465,0 -0.89055,0.36002 -0.32591,0.36001 -0.32591,0.9815 v 2.39882 h -0.70107 v -4.24435 h 0.70107 v 0.65939 q 0.25012,-0.38275 0.58739,-0.57223 0.34106,-0.18948 0.78445,-0.18948 0.73139,0 1.10656,0.45475 0.37517,0.45096 0.37517,1.33015 z"
+ id="path10885" /><path
+ d="m 189.11931,138.44505 q -0.84508,0 -1.17098,0.19327 -0.32591,0.19327 -0.32591,0.65939 0,0.37138 0.24253,0.59118 0.24633,0.21601 0.66697,0.21601 0.57981,0 0.92846,-0.40928 0.35243,-0.41307 0.35243,-1.09519 v -0.15538 z m 1.39078,-0.28801 v 2.42156 h -0.69728 v -0.64423 q -0.23875,0.38654 -0.59497,0.57223 -0.35622,0.1819 -0.87161,0.1819 -0.65181,0 -1.03835,-0.36381 -0.38275,-0.36759 -0.38275,-0.9815 0,-0.71624 0.47749,-1.08004 0.48128,-0.3638 1.43247,-0.3638 h 0.97772 v -0.0682 q 0,-0.48128 -0.31833,-0.74276 -0.31453,-0.26528 -0.88676,-0.26528 -0.36381,0 -0.70866,0.0872 -0.34485,0.0872 -0.66318,0.26148 v -0.64423 q 0.38275,-0.1478 0.74276,-0.2198 0.36001,-0.0758 0.70108,-0.0758 0.92087,0 1.37562,0.47749 0.45475,0.47749 0.45475,1.44762 z"
+ id="path10887" /><path
+ d="m 194.73929,138.40716 q 0,-0.75792 -0.31454,-1.17478 -0.31075,-0.41685 -0.8754,-0.41685 -0.56086,0 -0.87539,0.41685 -0.31075,0.41686 -0.31075,1.17478 0,0.75413 0.31075,1.17098 0.31453,0.41686 0.87539,0.41686 0.56465,0 0.8754,-0.41686 0.31454,-0.41685 0.31454,-1.17098 z m 0.69728,1.64468 q 0,1.08383 -0.48128,1.61058 -0.48127,0.53055 -1.47415,0.53055 -0.36759,0 -0.6935,-0.0568 -0.3259,-0.0531 -0.63286,-0.16674 v -0.67834 q 0.30696,0.16675 0.60634,0.24633 0.29938,0.0796 0.61012,0.0796 0.68592,0 1.02698,-0.36001 0.34107,-0.35623 0.34107,-1.08004 v -0.34485 q -0.21601,0.37517 -0.55328,0.56086 -0.33728,0.18569 -0.80719,0.18569 -0.78066,0 -1.25815,-0.59497 -0.47749,-0.59497 -0.47749,-1.57647 0,-0.9853 0.47749,-1.58027 0.47749,-0.59496 1.25815,-0.59496 0.46991,0 0.80719,0.18569 0.33727,0.18569 0.55328,0.56086 v -0.64423 h 0.69728 z"
+ id="path10889" /><path
+ d="m 200.50327,138.2821 v 0.34106 h -3.206 q 0.0455,0.72003 0.43201,1.09899 0.39033,0.37517 1.08383,0.37517 0.40169,0 0.77686,-0.0985 0.37896,-0.0985 0.75035,-0.29559 v 0.65939 q -0.37517,0.15916 -0.76929,0.24254 -0.39412,0.0834 -0.79961,0.0834 -1.01561,0 -1.61058,-0.59118 -0.59118,-0.59118 -0.59118,-1.59921 0,-1.04214 0.56086,-1.65227 0.56466,-0.61391 1.51963,-0.61391 0.85645,0 1.35289,0.55328 0.50023,0.54949 0.50023,1.49689 z m -0.69729,-0.20464 q -0.008,-0.57223 -0.32211,-0.91329 -0.31075,-0.34107 -0.82614,-0.34107 -0.58359,0 -0.93603,0.3297 -0.34864,0.3297 -0.4017,0.92845 z"
+ id="path10891" /><path
+ d="m 204.44066,136.97848 v -2.2965 h 0.69729 v 5.89662 h -0.69729 v -0.63665 q -0.2198,0.37896 -0.55707,0.56465 -0.33348,0.1819 -0.80339,0.1819 -0.76929,0 -1.25436,-0.61392 -0.48128,-0.61391 -0.48128,-1.61437 0,-1.00045 0.48128,-1.61437 0.48507,-0.61391 1.25436,-0.61391 0.46991,0 0.80339,0.18569 0.33727,0.1819 0.55707,0.56086 z m -2.37608,1.48173 q 0,0.76929 0.31454,1.20888 0.31833,0.43581 0.87161,0.43581 0.55328,0 0.87161,-0.43581 0.31832,-0.43959 0.31832,-1.20888 0,-0.76929 -0.31832,-1.20509 -0.31833,-0.43959 -0.87161,-0.43959 -0.55328,0 -0.87161,0.43959 -0.31454,0.4358 -0.31454,1.20509 z"
+ id="path10893" /><path
+ d="m 178.83813,147.7182 v 2.56177 h -0.69729 v -2.53903 q 0,-0.60255 -0.23495,-0.90192 -0.23496,-0.29938 -0.70487,-0.29938 -0.56465,0 -0.89056,0.36001 -0.3259,0.36001 -0.3259,0.98151 v 2.39881 h -0.70108 v -4.24435 h 0.70108 v 0.65939 q 0.25011,-0.38275 0.58739,-0.57223 0.34106,-0.18948 0.78444,-0.18948 0.7314,0 1.10657,0.45475 0.37517,0.45097 0.37517,1.33015 z"
+ id="path10895" /><path
+ d="m 181.8736,146.52448 q -0.56086,0 -0.88677,0.43959 -0.32591,0.43581 -0.32591,1.19752 0,0.76171 0.32212,1.2013 0.32591,0.4358 0.89056,0.4358 0.55707,0 0.88297,-0.43959 0.32591,-0.43959 0.32591,-1.19751 0,-0.75413 -0.32591,-1.19373 -0.3259,-0.44338 -0.88297,-0.44338 z m 0,-0.59118 q 0.9095,0 1.42868,0.59118 0.51917,0.59118 0.51917,1.63711 0,1.04214 -0.51917,1.6371 -0.51918,0.59118 -1.42868,0.59118 -0.9133,0 -1.43247,-0.59118 -0.51539,-0.59496 -0.51539,-1.6371 0,-1.04593 0.51539,-1.63711 0.51917,-0.59118 1.43247,-0.59118 z"
+ id="path10897" /><path
+ d="m 187.77021,146.67985 v -2.29649 h 0.69729 v 5.89661 h -0.69729 v -0.63665 q -0.21979,0.37896 -0.55707,0.56465 -0.33348,0.1819 -0.80339,0.1819 -0.76929,0 -1.25436,-0.61391 -0.48128,-0.61392 -0.48128,-1.61437 0,-1.00046 0.48128,-1.61437 0.48507,-0.61392 1.25436,-0.61392 0.46991,0 0.80339,0.18569 0.33728,0.1819 0.55707,0.56086 z m -2.37608,1.48174 q 0,0.76929 0.31454,1.20888 0.31833,0.4358 0.87161,0.4358 0.55328,0 0.87161,-0.4358 0.31832,-0.43959 0.31832,-1.20888 0,-0.76929 -0.31832,-1.2051 -0.31833,-0.43959 -0.87161,-0.43959 -0.55328,0 -0.87161,0.43959 -0.31454,0.43581 -0.31454,1.2051 z"
+ id="path10899" /><path
+ d="m 193.53419,147.98348 v 0.34106 h -3.206 q 0.0455,0.72002 0.43202,1.09898 0.39033,0.37517 1.08382,0.37517 0.4017,0 0.77687,-0.0985 0.37896,-0.0985 0.75034,-0.29558 v 0.65939 q -0.37517,0.15916 -0.76929,0.24253 -0.39412,0.0834 -0.7996,0.0834 -1.01562,0 -1.61058,-0.59118 -0.59118,-0.59117 -0.59118,-1.59921 0,-1.04214 0.56086,-1.65226 0.56465,-0.61392 1.51963,-0.61392 0.85645,0 1.35289,0.55328 0.50022,0.5495 0.50022,1.4969 z m -0.69728,-0.20464 q -0.008,-0.57223 -0.32212,-0.9133 -0.31074,-0.34106 -0.82613,-0.34106 -0.5836,0 -0.93603,0.32969 -0.34864,0.3297 -0.4017,0.92846 z"
+ id="path10901" /><path
+ d="m 197.9036,149.63574 h 2.67167 v 0.64423 h -3.59254 v -0.64423 q 0.4358,-0.45096 1.18614,-1.20888 0.75413,-0.76171 0.9474,-0.98151 0.3676,-0.41306 0.5116,-0.69728 0.14779,-0.28801 0.14779,-0.56465 0,-0.45097 -0.31832,-0.73519 -0.31454,-0.28422 -0.82234,-0.28422 -0.36002,0 -0.76171,0.12506 -0.39791,0.12506 -0.85266,0.37896 v -0.77308 q 0.46233,-0.18569 0.86402,-0.28043 0.4017,-0.0947 0.73519,-0.0947 0.87918,0 1.40215,0.4396 0.52296,0.43959 0.52296,1.17477 0,0.34864 -0.13263,0.66318 -0.12885,0.31075 -0.4737,0.73518 -0.0947,0.1099 -0.60255,0.63666 -0.50781,0.52296 -1.43247,1.46657 z"
+ id="path10903" /></g><g
+ id="g10040"
+ style="fill:#4d4d4d"
+ transform="matrix(1.6265445,0,0,1.8941561,158.96282,108.29438)"><path
+ d="M 25,8.37 A 0.63,0.63 0 0 0 24.38,9 0.63,0.63 0 0 0 25.63,9 0.63,0.63 0 0 0 25,8.37 Z"
+ id="path10034"
+ style="fill:#4d4d4d" /><path
+ d="M 27,8.37 A 0.63,0.63 0 0 0 26.38,9 0.63,0.63 0 0 0 27.63,9 0.63,0.63 0 0 0 27,8.37 Z"
+ id="path10036"
+ style="fill:#4d4d4d" /><path
+ d="M 31,4.38 H 5 A 0.61,0.61 0 0 0 4.38,5 V 31 A 0.61,0.61 0 0 0 5,31.62 H 31 A 0.61,0.61 0 0 0 31.62,31 V 5 A 0.61,0.61 0 0 0 31,4.38 Z m -0.62,26 H 5.62 V 5.62 h 24.76 z"
+ id="path10038"
+ style="fill:#4d4d4d" /></g></g></g><g
+ id="g10071"
+ transform="translate(137.05445,71.966704)"><g
+ id="g10069"
+ transform="translate(8.9958322,1.5874998)"><g
+ aria-label="Managed node 2"
+ id="text10059"
+ style="font-size:7.7611px;line-height:1.25;-inkscape-font-specification:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;stroke-width:0.264583"><path
+ d="m 170.84965,134.92073 h 1.14067 l 1.44384,3.85023 1.45142,-3.85023 h 1.14066 v 5.65787 h -0.74655 v -4.96817 l -1.45899,3.88055 h -0.76929 l -1.459,-3.88055 v 4.96817 h -0.74276 z"
+ id="path10906" /><path
+ d="m 179.44446,138.44505 q -0.84508,0 -1.17098,0.19327 -0.32591,0.19327 -0.32591,0.65939 0,0.37138 0.24254,0.59118 0.24632,0.21601 0.66697,0.21601 0.5798,0 0.92845,-0.40928 0.35243,-0.41307 0.35243,-1.09519 v -0.15538 z m 1.39079,-0.28801 v 2.42156 h -0.69729 v -0.64423 q -0.23874,0.38654 -0.59497,0.57223 -0.35622,0.1819 -0.87161,0.1819 -0.65181,0 -1.03835,-0.36381 -0.38274,-0.36759 -0.38274,-0.9815 0,-0.71624 0.47748,-1.08004 0.48128,-0.3638 1.43247,-0.3638 h 0.97772 v -0.0682 q 0,-0.48128 -0.31833,-0.74276 -0.31453,-0.26528 -0.88676,-0.26528 -0.3638,0 -0.70866,0.0872 -0.34485,0.0872 -0.66318,0.26148 v -0.64423 q 0.38275,-0.1478 0.74276,-0.2198 0.36002,-0.0758 0.70108,-0.0758 0.92087,0 1.37562,0.47749 0.45476,0.47749 0.45476,1.44762 z"
+ id="path10908" /><path
+ d="m 185.79962,138.01683 v 2.56177 h -0.69728 v -2.53903 q 0,-0.60255 -0.23496,-0.90193 -0.23496,-0.29938 -0.70487,-0.29938 -0.56465,0 -0.89055,0.36002 -0.32591,0.36001 -0.32591,0.9815 v 2.39882 h -0.70107 v -4.24435 h 0.70107 v 0.65939 q 0.25012,-0.38275 0.58739,-0.57223 0.34106,-0.18948 0.78445,-0.18948 0.73139,0 1.10656,0.45475 0.37517,0.45096 0.37517,1.33015 z"
+ id="path10910" /><path
+ d="m 189.11931,138.44505 q -0.84508,0 -1.17098,0.19327 -0.32591,0.19327 -0.32591,0.65939 0,0.37138 0.24253,0.59118 0.24633,0.21601 0.66697,0.21601 0.57981,0 0.92846,-0.40928 0.35243,-0.41307 0.35243,-1.09519 v -0.15538 z m 1.39078,-0.28801 v 2.42156 h -0.69728 v -0.64423 q -0.23875,0.38654 -0.59497,0.57223 -0.35622,0.1819 -0.87161,0.1819 -0.65181,0 -1.03835,-0.36381 -0.38275,-0.36759 -0.38275,-0.9815 0,-0.71624 0.47749,-1.08004 0.48128,-0.3638 1.43247,-0.3638 h 0.97772 v -0.0682 q 0,-0.48128 -0.31833,-0.74276 -0.31453,-0.26528 -0.88676,-0.26528 -0.36381,0 -0.70866,0.0872 -0.34485,0.0872 -0.66318,0.26148 v -0.64423 q 0.38275,-0.1478 0.74276,-0.2198 0.36001,-0.0758 0.70108,-0.0758 0.92087,0 1.37562,0.47749 0.45475,0.47749 0.45475,1.44762 z"
+ id="path10912" /><path
+ d="m 194.73929,138.40716 q 0,-0.75792 -0.31454,-1.17478 -0.31075,-0.41685 -0.8754,-0.41685 -0.56086,0 -0.87539,0.41685 -0.31075,0.41686 -0.31075,1.17478 0,0.75413 0.31075,1.17098 0.31453,0.41686 0.87539,0.41686 0.56465,0 0.8754,-0.41686 0.31454,-0.41685 0.31454,-1.17098 z m 0.69728,1.64468 q 0,1.08383 -0.48128,1.61058 -0.48127,0.53055 -1.47415,0.53055 -0.36759,0 -0.6935,-0.0568 -0.3259,-0.0531 -0.63286,-0.16674 v -0.67834 q 0.30696,0.16675 0.60634,0.24633 0.29938,0.0796 0.61012,0.0796 0.68592,0 1.02698,-0.36001 0.34107,-0.35623 0.34107,-1.08004 v -0.34485 q -0.21601,0.37517 -0.55328,0.56086 -0.33728,0.18569 -0.80719,0.18569 -0.78066,0 -1.25815,-0.59497 -0.47749,-0.59497 -0.47749,-1.57647 0,-0.9853 0.47749,-1.58027 0.47749,-0.59496 1.25815,-0.59496 0.46991,0 0.80719,0.18569 0.33727,0.18569 0.55328,0.56086 v -0.64423 h 0.69728 z"
+ id="path10914" /><path
+ d="m 200.50327,138.2821 v 0.34106 h -3.206 q 0.0455,0.72003 0.43201,1.09899 0.39033,0.37517 1.08383,0.37517 0.40169,0 0.77686,-0.0985 0.37896,-0.0985 0.75035,-0.29559 v 0.65939 q -0.37517,0.15916 -0.76929,0.24254 -0.39412,0.0834 -0.79961,0.0834 -1.01561,0 -1.61058,-0.59118 -0.59118,-0.59118 -0.59118,-1.59921 0,-1.04214 0.56086,-1.65227 0.56466,-0.61391 1.51963,-0.61391 0.85645,0 1.35289,0.55328 0.50023,0.54949 0.50023,1.49689 z m -0.69729,-0.20464 q -0.008,-0.57223 -0.32211,-0.91329 -0.31075,-0.34107 -0.82614,-0.34107 -0.58359,0 -0.93603,0.3297 -0.34864,0.3297 -0.4017,0.92845 z"
+ id="path10916" /><path
+ d="m 204.44066,136.97848 v -2.2965 h 0.69729 v 5.89662 h -0.69729 v -0.63665 q -0.2198,0.37896 -0.55707,0.56465 -0.33348,0.1819 -0.80339,0.1819 -0.76929,0 -1.25436,-0.61392 -0.48128,-0.61391 -0.48128,-1.61437 0,-1.00045 0.48128,-1.61437 0.48507,-0.61391 1.25436,-0.61391 0.46991,0 0.80339,0.18569 0.33727,0.1819 0.55707,0.56086 z m -2.37608,1.48173 q 0,0.76929 0.31454,1.20888 0.31833,0.43581 0.87161,0.43581 0.55328,0 0.87161,-0.43581 0.31832,-0.43959 0.31832,-1.20888 0,-0.76929 -0.31832,-1.20509 -0.31833,-0.43959 -0.87161,-0.43959 -0.55328,0 -0.87161,0.43959 -0.31454,0.4358 -0.31454,1.20509 z"
+ id="path10918" /><path
+ d="m 178.83813,147.7182 v 2.56177 h -0.69729 v -2.53903 q 0,-0.60255 -0.23495,-0.90192 -0.23496,-0.29938 -0.70487,-0.29938 -0.56465,0 -0.89056,0.36001 -0.3259,0.36001 -0.3259,0.98151 v 2.39881 h -0.70108 v -4.24435 h 0.70108 v 0.65939 q 0.25011,-0.38275 0.58739,-0.57223 0.34106,-0.18948 0.78444,-0.18948 0.7314,0 1.10657,0.45475 0.37517,0.45097 0.37517,1.33015 z"
+ id="path10920" /><path
+ d="m 181.8736,146.52448 q -0.56086,0 -0.88677,0.43959 -0.32591,0.43581 -0.32591,1.19752 0,0.76171 0.32212,1.2013 0.32591,0.4358 0.89056,0.4358 0.55707,0 0.88297,-0.43959 0.32591,-0.43959 0.32591,-1.19751 0,-0.75413 -0.32591,-1.19373 -0.3259,-0.44338 -0.88297,-0.44338 z m 0,-0.59118 q 0.9095,0 1.42868,0.59118 0.51917,0.59118 0.51917,1.63711 0,1.04214 -0.51917,1.6371 -0.51918,0.59118 -1.42868,0.59118 -0.9133,0 -1.43247,-0.59118 -0.51539,-0.59496 -0.51539,-1.6371 0,-1.04593 0.51539,-1.63711 0.51917,-0.59118 1.43247,-0.59118 z"
+ id="path10922" /><path
+ d="m 187.77021,146.67985 v -2.29649 h 0.69729 v 5.89661 h -0.69729 v -0.63665 q -0.21979,0.37896 -0.55707,0.56465 -0.33348,0.1819 -0.80339,0.1819 -0.76929,0 -1.25436,-0.61391 -0.48128,-0.61392 -0.48128,-1.61437 0,-1.00046 0.48128,-1.61437 0.48507,-0.61392 1.25436,-0.61392 0.46991,0 0.80339,0.18569 0.33728,0.1819 0.55707,0.56086 z m -2.37608,1.48174 q 0,0.76929 0.31454,1.20888 0.31833,0.4358 0.87161,0.4358 0.55328,0 0.87161,-0.4358 0.31832,-0.43959 0.31832,-1.20888 0,-0.76929 -0.31832,-1.2051 -0.31833,-0.43959 -0.87161,-0.43959 -0.55328,0 -0.87161,0.43959 -0.31454,0.43581 -0.31454,1.2051 z"
+ id="path10924" /><path
+ d="m 193.53419,147.98348 v 0.34106 h -3.206 q 0.0455,0.72002 0.43202,1.09898 0.39033,0.37517 1.08382,0.37517 0.4017,0 0.77687,-0.0985 0.37896,-0.0985 0.75034,-0.29558 v 0.65939 q -0.37517,0.15916 -0.76929,0.24253 -0.39412,0.0834 -0.7996,0.0834 -1.01562,0 -1.61058,-0.59118 -0.59118,-0.59117 -0.59118,-1.59921 0,-1.04214 0.56086,-1.65226 0.56465,-0.61392 1.51963,-0.61392 0.85645,0 1.35289,0.55328 0.50022,0.5495 0.50022,1.4969 z m -0.69728,-0.20464 q -0.008,-0.57223 -0.32212,-0.9133 -0.31074,-0.34106 -0.82613,-0.34106 -0.5836,0 -0.93603,0.32969 -0.34864,0.3297 -0.4017,0.92846 z"
+ id="path10926" /><path
+ d="m 197.9036,149.63574 h 2.67167 v 0.64423 h -3.59254 v -0.64423 q 0.4358,-0.45096 1.18614,-1.20888 0.75413,-0.76171 0.9474,-0.98151 0.3676,-0.41306 0.5116,-0.69728 0.14779,-0.28801 0.14779,-0.56465 0,-0.45097 -0.31832,-0.73519 -0.31454,-0.28422 -0.82234,-0.28422 -0.36002,0 -0.76171,0.12506 -0.39791,0.12506 -0.85266,0.37896 v -0.77308 q 0.46233,-0.18569 0.86402,-0.28043 0.4017,-0.0947 0.73519,-0.0947 0.87918,0 1.40215,0.4396 0.52296,0.43959 0.52296,1.17477 0,0.34864 -0.13263,0.66318 -0.12885,0.31075 -0.4737,0.73518 -0.0947,0.1099 -0.60255,0.63666 -0.50781,0.52296 -1.43247,1.46657 z"
+ id="path10928" /></g><g
+ id="g10067"
+ style="fill:#4d4d4d"
+ transform="matrix(1.6265445,0,0,1.8941561,158.96282,108.29438)"><path
+ d="M 25,8.37 A 0.63,0.63 0 0 0 24.38,9 0.63,0.63 0 0 0 25.63,9 0.63,0.63 0 0 0 25,8.37 Z"
+ id="path10061"
+ style="fill:#4d4d4d" /><path
+ d="M 27,8.37 A 0.63,0.63 0 0 0 26.38,9 0.63,0.63 0 0 0 27.63,9 0.63,0.63 0 0 0 27,8.37 Z"
+ id="path10063"
+ style="fill:#4d4d4d" /><path
+ d="M 31,4.38 H 5 A 0.61,0.61 0 0 0 4.38,5 V 31 A 0.61,0.61 0 0 0 5,31.62 H 31 A 0.61,0.61 0 0 0 31.62,31 V 5 A 0.61,0.61 0 0 0 31,4.38 Z m -0.62,26 H 5.62 V 5.62 h 24.76 z"
+ id="path10065"
+ style="fill:#4d4d4d" /></g></g></g></g><path
+ style="fill:none;stroke:#4d4d4d;stroke-width:1.05833;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#RoundedArrow)"
+ d="m 180.75356,107.25614 c 0.92352,153.38601 1.30815,153.66466 1.30815,153.66466 l 130.02933,0.22295"
+ id="path10481" /></g><path
+ style="fill:none;stroke:#4d4d4d;stroke-width:1.05833;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker10543)"
+ d="m 181.19235,147.58012 25.60095,-0.16364"
+ id="path10539" /><path
+ style="fill:none;stroke:#4d4d4d;stroke-width:1.05833;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker10543)"
+ d="m 181.8194,203.74287 76.63107,-0.11344"
+ id="path10589" /></g></g></svg>
diff --git a/docs/docsite/rst/porting_guides/porting_guide_6.rst b/docs/docsite/rst/porting_guides/porting_guide_6.rst
index dacbf9da00..f6a1e61139 100644
--- a/docs/docsite/rst/porting_guides/porting_guide_6.rst
+++ b/docs/docsite/rst/porting_guides/porting_guide_6.rst
@@ -99,6 +99,180 @@ Networking
No notable changes
+Porting Guide for v6.0.0b1
+==========================
+
+Added Collections
+-----------------
+
+- cisco.dnac (version 6.4.0)
+- community.sap_libs (version 1.1.0)
+
+Known Issues
+------------
+
+dellemc.openmanage
+~~~~~~~~~~~~~~~~~~
+
+- idrac_user - Issue(192043) The module may error out with the message ``unable to perform the import or export operation because there are pending attribute changes or a configuration job is in progress``. Wait for the job to complete and run the task again.
+- ome_application_alerts_smtp - Issue(212310) - The module does not provide a proper error message if the destination_address is more than 255 characters.
+- ome_application_alerts_syslog - Issue(215374) - The module does not provide a proper error message if the destination_address is more than 255 characters.
+- ome_application_console_preferences - Issue(224690) - The module does not display a proper error message when an unsupported value is provided for the parameters report_row_limit, email_sender_settings, and metric_collection_settings, and the value is applied on OpenManage Enterprise.
+- ome_device_local_access_configuration - Issue(215035) - The module reports ``Successfully updated the local access setting`` if an unsupported value is provided for the parameter timeout_limit. However, this value is not actually applied on OpenManage Enterprise Modular.
+- ome_device_local_access_configuration - Issue(217865) - The module does not display a proper error message if an unsupported value is provided for the user_defined and lcd_language parameters.
+- ome_device_network_services - Issue(212681) - The module does not provide a proper error message if unsupported values are provided for the parameters- port_number, community_name, max_sessions, max_auth_retries, and idle_timeout.
+- ome_device_power_settings - Issue(212679) - The module displays the following message if the value provided for the parameter ``power_cap`` is not within the supported range of 0 to 32767, ``Unable to complete the request because PowerCap does not exist or is not applicable for the resource URI.``
+- ome_device_quick_deploy - Issue(216352) - The module does not display a proper error message if an unsupported value is provided for the ipv6_prefix_length and vlan_id parameters.
+- ome_smart_fabric_uplink - Issue(186024) - The module does not allow the creation of multiple uplinks of the same name even though it is supported by OpenManage Enterprise Modular. If an uplink is created using the same name as an existing uplink, the existing uplink is modified.
+
+Major Changes
+-------------
+
+cisco.dnac
+~~~~~~~~~~
+
+- Adds _info plugins to query information from database.
+- Adds new plugins related to DNA version 2.2.2.3.
+- Adds plugins for resource's operations that have different structure in request/response bodies (ie. _create, _update, _delete plugins).
+- Adds plugins without state that perform special operation on DNA Center.
+- Adds resources for modules to manage CRUD operations.
+- Moves the module parameters out of the inventory and places them inside the tasks themselves.
+- Update dnacentersdk requirement from 2.4.4 to 2.4.5
+- Update dnacentersdk requirement from 2.4.5 to 2.4.6
+- Updates previous plugins to follow DNA version 2.2.2.3 specification.
+- applications_health_info - new `applicationName` parameter.
+- business_sda_wireless_controller_create - Removed 'deviceIPAddress' arguments.
+- business_sda_wireless_controller_delete - Removed 'deviceName' and 'siteNameHierarchy' arguments.
+- network_device - Removed 'managementIpAddress' arguments.
+- network_device - change `isForceDelete` parameter to `cleanConfig` parameter.
+- network_device - new `cleanConfig` parameter.
+- network_device_lexicographically_sorted_info - change `limit` param type from str to int
+- network_device_lexicographically_sorted_info - change `offset` param type from str to int
+- reserve_ip_subpool - new `ipv4GateWay` parameter.
+- reserve_ip_subpool_update - Removed 'type', 'ipv4GlobalPool', 'ipv4Prefix', 'ipv4PrefixLength', 'ipv4Subnet' and 'ipv4TotalHost' arguments.
+- sda_device_info - change `deviceIPAddress` to `deviceManagementIpAddress` parameter.
+- sda_fabric - remove `payload` parameter.
+- sda_fabric_authentication_profile - add `authenticateTemplateName` parameter.
+- sda_fabric_authentication_profile - add `authenticationOrder` parameter.
+- sda_fabric_authentication_profile - add `dot1xToMabFallbackTimeout` parameter.
+- sda_fabric_authentication_profile - add `numberOfHosts` parameter.
+- sda_fabric_authentication_profile - add `wakeOnLan` parameter.
+- sda_fabric_authentication_profile - remove `payload` parameter.
+- sda_fabric_authentication_profile_info - add `authenticateTemplateName` parameter.
+- sda_fabric_border_device - add `borderSessionType` parameter.
+- sda_fabric_border_device - add `connectedToInternet` parameter.
+- sda_fabric_border_device - add `deviceManagementIpAddress` parameter.
+- sda_fabric_border_device - add `externalAutonomouSystemNumber` parameter.
+- sda_fabric_border_device - add `externalConnectivityIpPoolName` parameter.
+- sda_fabric_border_device - add `externalConnectivitySettings` parameter.
+- sda_fabric_border_device - add `externalDomainRoutingProtocolName` parameter.
+- sda_fabric_border_device - add `interfaceName` parameter.
+- sda_fabric_border_device - add `internalAutonomouSystemNumber` parameter.
+- sda_fabric_border_device - add `l3Handoff` parameter.
+- sda_fabric_border_device - add `siteNameHierarchy` parameter.
+- sda_fabric_border_device - add `virtualNetworkName` parameter.
+- sda_fabric_border_device - add `virtualNetwork` parameter.
+- sda_fabric_border_device - add `vlanId parameter.`
+- sda_fabric_border_device - change `deviceIPAddress` to `deviceManagementIpAddress` parameter.
+- sda_fabric_border_device - changes in externalConnectivitySettings from object to list.
+- sda_fabric_border_device - remove `payload` parameter.
+- sda_fabric_border_device_info - change `deviceIPAddress` to `deviceManagementIpAddress` parameter.
+- sda_fabric_control_plane_device - add `siteNameHierarchy` parameter.
+- sda_fabric_control_plane_device - change `deviceIPAddress` to `deviceManagementIpAddress` parameter.
+- sda_fabric_control_plane_device - remove `payload` parameter.
+- sda_fabric_control_plane_device_info - change `deviceIPAddress` to `deviceManagementIpAddress` parameter.
+- sda_fabric_edge_device - add `siteNameHierarchy` parameter.
+- sda_fabric_edge_device - change `deviceIPAddress` to `deviceManagementIpAddress` parameter.
+- sda_fabric_edge_device - remove `payload` parameter.
+- sda_fabric_edge_device_info - change `deviceIPAddress` to `deviceManagementIpAddress` parameter.
+- sda_fabric_site - add `fabricName` parameter.
+- sda_fabric_site - remove `payload` parameter.
+- sda_multicast - change `fabricSiteNameHierarchy` to `siteNameHierarchy` parameter.
+- sda_multicast_info - change `fabricSiteNameHierarchy` to `siteNameHierarchy` parameter.
+- sda_port_assignment_for_access_point - add `authenticateTemplateName` parameter.
+- sda_port_assignment_for_access_point - add `dataIpAddressPoolName` parameter.
+- sda_port_assignment_for_access_point - add `deviceManagementIpAddress` parameter.
+- sda_port_assignment_for_access_point - add `interfaceDescription` parameter.
+- sda_port_assignment_for_access_point - add `siteNameHierarchy` parameter.
+- sda_port_assignment_for_access_point - change `device_ip` to `deviceManagementIpAddress` parameter.
+- sda_port_assignment_for_access_point - remove `payload` parameter.
+- sda_port_assignment_for_access_point_info - change `device_ip` to `deviceManagementIpAddress` parameter.
+- sda_port_assignment_for_user_device - add `authenticateTemplateName` parameter.
+- sda_port_assignment_for_user_device - add `dataIpAddressPoolName` parameter.
+- sda_port_assignment_for_user_device - add `interfaceDescription` parameter.
+- sda_port_assignment_for_user_device - add `scalableGroupName` parameter.
+- sda_port_assignment_for_user_device - add `siteNameHierarchy` parameter.
+- sda_port_assignment_for_user_device - add `voiceIpAddressPoolName` parameter.
+- sda_port_assignment_for_user_device - change `device_ip` to `deviceManagementIpAddress` parameter.
+- sda_port_assignment_for_user_device - remove `payload` parameter.
+- sda_port_assignment_for_user_device_info - change `device_ip` to `deviceManagementIpAddress` parameter.
+- sda_virtual_network - remove `payload` parameter.
+- sda_virtual_network_ip_pool - add `siteNameHierarchy`, `ipPoolName`, `trafficType`, `authenticationPolicyName`, `scalableGroupName`, `isL2FloodingEnabled`, `isThisCriticalPool`, `poolType`, `vlanName`, `isWirelessPool` parameters.
+- sda_virtual_network_ip_pool - remove `payload` and `ipPoolName` parameter.
+- service_provider_profile_delete - Rename argument from 'sp_profile_name' to 'spProfileName'.
+- site_health_info - add `siteType`, `offset`, `limit` parameters
+- snmpv2_read_community_credential - remove `id` and `instanceTenantId` parameter.
+- snmpv2_write_community_credential - remove `id` and `instanceTenantId` parameter.
+
+community.network
+~~~~~~~~~~~~~~~~~
+
+- The community.network collection no longer supports Ansible 2.9 and ansible-base 2.10. While we take no active measures to prevent usage, we will remove compatibility code and other compatility measures that will effectively prevent using most content from this collection with Ansible 2.9, and some content of this collection with ansible-base 2.10. Both Ansible 2.9 and ansible-base 2.10 will very soon be End of Life and if you are still using them, you should consider upgrading to ansible-core 2.11 or later as soon as possible (https://github.com/ansible-collections/community.network/pull/426).
+
+dellemc.openmanage
+~~~~~~~~~~~~~~~~~~
+
+- idrac_server_config_profile - The module is enhanced to support export, import, and preview the SCP configuration using Redfish and added support for check mode.
+
+fortinet.fortios
+~~~~~~~~~~~~~~~~
+
+- Support FortiOS 7.0.2, 7.0.3, 7.0.4, 7.0.5.
+
+Removed Features
+----------------
+
+community.hashi_vault
+~~~~~~~~~~~~~~~~~~~~~
+
+- aws_iam auth - the deprecated alias ``aws_iam_login`` for the ``aws_iam`` value of the ``auth_method`` option has been removed (https://github.com/ansible-collections/community.hashi_vault/issues/194).
+- community.hashi_vault collection - support for Ansible 2.9 and ansible-base 2.10 has been removed (https://github.com/ansible-collections/community.hashi_vault/issues/189).
+- hashi_vault lookup - the deprecated ``[lookup_hashi_vault]`` INI config section has been removed in favor of the collection-wide ``[hashi_vault_collection]`` section (https://github.com/ansible-collections/community.hashi_vault/issues/179).
+
+community.network
+~~~~~~~~~~~~~~~~~
+
+- aireos modules - removed deprecated ``connection: local`` support. Use ``connection: network_cli`` instead (https://github.com/ansible-collections/community.network/pull/440).
+- aireos modules - removed deprecated ``provider`` option. Use ``connection: network_cli`` instead (https://github.com/ansible-collections/community.network/pull/440).
+- aruba modules - removed deprecated ``connection: local`` support. Use ``connection: network_cli`` instead (https://github.com/ansible-collections/community.network/pull/440).
+- aruba modules - removed deprecated ``provider`` option. Use ``connection: network_cli`` instead (https://github.com/ansible-collections/community.network/pull/440).
+- ce modules - removed deprecated ``connection: local`` support. Use ``connection: network_cli`` instead (https://github.com/ansible-collections/community.network/pull/440).
+- ce modules - removed deprecated ``provider`` option. Use ``connection: network_cli`` instead (https://github.com/ansible-collections/community.network/pull/440).
+- enos modules - removed deprecated ``connection: local`` support. Use ``connection: network_cli`` instead (https://github.com/ansible-collections/community.network/pull/440).
+- enos modules - removed deprecated ``provider`` option. Use ``connection: network_cli`` instead (https://github.com/ansible-collections/community.network/pull/440).
+- ironware modules - removed deprecated ``connection: local`` support. Use ``connection: network_cli`` instead (https://github.com/ansible-collections/community.network/pull/440).
+- ironware modules - removed deprecated ``provider`` option. Use ``connection: network_cli`` instead (https://github.com/ansible-collections/community.network/pull/440).
+- sros modules - removed deprecated ``connection: local`` support. Use ``connection: network_cli`` instead (https://github.com/ansible-collections/community.network/pull/440).
+- sros modules - removed deprecated ``provider`` option. Use ``connection: network_cli`` instead (https://github.com/ansible-collections/community.network/pull/440).
+
+Deprecated Features
+-------------------
+
+- The collection ``community.sap`` has been renamed to ``community.sap_libs``. For now both collections are included in Ansible. The content in ``community.sap`` will be replaced with deprecated redirects to the new collection in Ansible 7.0.0, and these redirects will eventually be removed from Ansible. Please update your FQCNs for ``community.sap``.
+
+community.docker
+~~~~~~~~~~~~~~~~
+
+- Support for Ansible 2.9 and ansible-base 2.10 is deprecated, and will be removed in the next major release (community.docker 3.0.0). Some modules might still work with these versions afterwards, but we will no longer keep compatibility code that was needed to support them (https://github.com/ansible-collections/community.docker/pull/361).
+- The dependency on docker-compose for Execution Environments is deprecated and will be removed in community.docker 3.0.0. The `Python docker-compose library <https://pypi.org/project/docker-compose/>`__ is unmaintained and can cause dependency issues. You can manually still install it in an Execution Environment when needed (https://github.com/ansible-collections/community.docker/pull/373).
+- Various modules - the default of ``tls_hostname`` that was supposed to be removed in community.docker 2.0.0 will now be removed in version 3.0.0 (https://github.com/ansible-collections/community.docker/pull/362).
+- docker_stack - the return values ``out`` and ``err`` that were supposed to be removed in community.docker 2.0.0 will now be removed in version 3.0.0 (https://github.com/ansible-collections/community.docker/pull/362).
+
+community.hashi_vault
+~~~~~~~~~~~~~~~~~~~~~
+
+- token_validate options - the shared auth option ``token_validate`` will change its default from ``true`` to ``false`` in community.hashi_vault version 4.0.0. The ``vault_login`` lookup and module will keep the default value of ``true`` (https://github.com/ansible-collections/community.hashi_vault/issues/248).
+
Porting Guide for v6.0.0a3
==========================
diff --git a/docs/docsite/rst/user_guide/index.rst b/docs/docsite/rst/user_guide/index.rst
index 3d162967f1..21a27f501a 100644
--- a/docs/docsite/rst/user_guide/index.rst
+++ b/docs/docsite/rst/user_guide/index.rst
@@ -10,19 +10,8 @@ User Guide
Red Hat is committed to replacing problematic language in our code, documentation, and web properties. We are beginning with these four terms: master, slave, blacklist, and whitelist. We ask that you open an issue or pull request if you come upon a term that we have missed. For more details, see `our CTO Chris Wright's message <https://www.redhat.com/en/blog/making-open-source-more-inclusive-eradicating-problematic-language>`_.
-Welcome to the Ansible User Guide! This guide covers how to work with Ansible, including using the command line, working with inventory, interacting with data, writing tasks, plays, and playbooks; executing playbooks, and reference materials. This page outlines the most common situations and questions that bring readers to this section. If you prefer a traditional table of contents, you can find one at the bottom of the page.
-
-Getting started
-===============
-
-* I'd like an overview of how Ansible works. Where can I find:
-
- * a :ref:`quick video overview <quickstart_guide>`
- * a :ref:`text introduction <intro_getting_started>`
-
-* I'm ready to learn about Ansible. What :ref:`basic_concepts` do I need to learn?
-* I want to use Ansible without writing a playbook. How do I use :ref:`ad hoc commands <intro_adhoc>`?
-* I'm running an Ansible command and forgot which flags to use. Do you have a :ref:`cheatsheet`?
+Welcome to the Ansible User Guide! This guide covers how to work with Ansible, including using the command line, working with inventory, interacting with data, writing tasks, plays, and playbooks; executing playbooks, and reference materials.
+Quickly find answers in the following sections or expand the table of contents below to scroll through all resources.
Writing tasks, plays, and playbooks
===================================
@@ -83,21 +72,19 @@ Advanced features and reference
* Rejecting :ref:`specific modules <plugin_filtering_config>`
* Module :ref:`maintenance <modules_support>`
-Traditional Table of Contents
-=============================
+Table of contents
+=================
-If you prefer to read the entire User Guide, here's a list of the pages in order:
+Here is the complete list of resources in the Ansible User Guide:
.. toctree::
:maxdepth: 2
- quickstart
- cheatsheet
basic_concepts
- intro_getting_started
intro_adhoc
- playbooks
+ cheatsheet
playbooks_intro
+ playbooks
playbooks_best_practices
become
playbooks_loops
diff --git a/docs/docsite/rst/user_guide/intro_getting_started.rst b/docs/docsite/rst/user_guide/intro_getting_started.rst
deleted file mode 100644
index bee9565ba8..0000000000
--- a/docs/docsite/rst/user_guide/intro_getting_started.rst
+++ /dev/null
@@ -1,198 +0,0 @@
-.. _intro_getting_started:
-
-***************
-Getting Started
-***************
-
-Now that you have read the :ref:`installation guide<installation_guide>` and installed Ansible on a control node, you are ready to learn how Ansible works. A basic Ansible command or playbook:
-
-* selects machines to execute against from inventory
-* connects to those machines (or network devices, or other managed nodes), usually over SSH
-* copies one or more modules to the remote machines and starts execution there
-
-Ansible can do much more, but you should understand the most common use case before exploring all the powerful configuration, deployment, and orchestration features of Ansible. This page illustrates the basic process with a simple inventory and an ad hoc command. Once you understand how Ansible works, you can read more details about :ref:`ad hoc commands<intro_adhoc>`, organize your infrastructure with :ref:`inventory<intro_inventory>`, and harness the full power of Ansible with :ref:`playbooks<playbooks_intro>`.
-
-.. contents::
- :local:
-
-Selecting machines from inventory
-=================================
-
-Ansible reads information about which machines you want to manage from your inventory. Although you can pass an IP address to an ad hoc command, you need inventory to take advantage of the full flexibility and repeatability of Ansible.
-
-Action: create a basic inventory
---------------------------------
-For this basic inventory, edit (or create) ``/etc/ansible/hosts`` and add a few remote systems to it. For this example, use either IP addresses or FQDNs:
-
-.. code-block:: text
-
- 192.0.2.50
- aserver.example.org
- bserver.example.org
-
-Beyond the basics
------------------
-Your inventory can store much more than IPs and FQDNs. You can create :ref:`aliases<inventory_aliases>`, set variable values for a single host with :ref:`host vars<host_variables>`, or set variable values for multiple hosts with :ref:`group vars<group_variables>`.
-
-.. _remote_connection_information:
-
-Connecting to remote nodes
-==========================
-
-Ansible communicates with remote machines over the `SSH protocol <https://www.ssh.com/ssh/protocol/>`_. By default, Ansible uses native OpenSSH and connects to remote machines using your current user name, just as SSH does.
-
-Action: check your SSH connections
-----------------------------------
-Confirm that you can connect using SSH to all the nodes in your inventory using the same username. If necessary, add your public SSH key to the ``authorized_keys`` file on those systems.
-
-Beyond the basics
------------------
-You can override the default remote user name in several ways, including:
-
-- passing the ``-u`` parameter at the command line
-- setting user information in your inventory file
-- setting user information in your configuration file
-- setting environment variables
-
-See :ref:`general_precedence_rules` for details on the (sometimes unintuitive) precedence of each method of passing user information. You can read more about connections in :ref:`connections`.
-
-Copying and executing modules
-=============================
-
-Once it has connected, Ansible transfers the modules required by your command or playbook to the remote machine(s) for execution.
-
-Action: run your first Ansible commands
----------------------------------------
-Use the ping module to ping all the nodes in your inventory:
-
-.. code-block:: bash
-
- $ ansible all -m ping
-
-You should see output for each host in your inventory, similar to this:
-
-.. code-block:: ansible-output
-
- aserver.example.org | SUCCESS => {
- "ansible_facts": {
- "discovered_interpreter_python": "/usr/bin/python"
- },
- "changed": false,
- "ping": "pong"
- }
-
-You can use ``-u`` as one way to specify the user to connect as, by default Ansible uses SSH, which defaults to the 'current user'.
-
-Now run a live command on all of your nodes:
-
-.. code-block:: bash
-
- $ ansible all -a "/bin/echo hello"
-
-You should see output for each host in your inventory, similar to this:
-
-.. code-block:: ansible-output
-
- aserver.example.org | CHANGED | rc=0 >>
- hello
-
-Action: Run your first playbook
--------------------------------
-
-Playbooks are used to pull together tasks into reusable units.
-
-Ansible does not store playbooks for you; they are simply YAML documents that you store and manage, passing them to Ansible to run as needed.
-
-In a directory of your choice you can create your first playbook in a file called mytask.yaml:
-
-.. code-block:: yaml
-
- ---
- - name: My playbook
- hosts: all
- tasks:
- - name: Leaving a mark
- command: "touch /tmp/ansible_was_here"
-
-You can run this command as follows:
-
-.. code-block:: bash
-
- $ ansible-playbook mytask.yaml
-
-and may see output like this:
-
-.. code-block:: ansible-output
-
-
- PLAY [My playbook] **********************************************************************************************************************
-
- TASK [Gathering Facts] ******************************************************************************************************************
- ok: [aserver.example.org]
- ok: [aserver.example.org]
- ok: [192.0.2.50]
- fatal: [192.0.2.50]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: ssh: connect to host 192.0.2.50 port 22: No route to host", "unreachable": true}
-
- TASK [Leaving a mark] *******************************************************************************************************************
- [WARNING]: Consider using the file module with state=touch rather than running 'touch'. If you need to use command because file is
- insufficient you can add 'warn: false' to this command task or set 'command_warnings=False' in ansible.cfg to get rid of this message.
- changed: [aserver.example.org]
- changed: [bserver.example.org]
-
- PLAY RECAP ******************************************************************************************************************************
- aserver.example.org : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
- bserver.example.org : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
- 192.0.2.50 : ok=0 changed=0 unreachable=1 failed=0 skipped=0 rescued=0 ignored=0
-
-Read on to learn more about controlling which nodes your playbooks execute on, more sophisticated tasks, and the meaning of the output.
-
-Beyond the basics
------------------
-By default Ansible uses SFTP to transfer files. If the machine or device you want to manage does not support SFTP, you can switch to SCP mode in :ref:`intro_configuration`. The files are placed in a temporary directory and executed from there.
-
-If you need privilege escalation (sudo and similar) to run a command, pass the ``become`` flags:
-
-.. code-block:: bash
-
- # as bruce
- $ ansible all -m ping -u bruce
- # as bruce, sudoing to root (sudo is default method)
- $ ansible all -m ping -u bruce --become
- # as bruce, sudoing to batman
- $ ansible all -m ping -u bruce --become --become-user batman
-
-You can read more about privilege escalation in :ref:`become`.
-
-Congratulations! You have contacted your nodes using Ansible. You used a basic inventory file and an ad hoc command to direct Ansible to connect to specific remote nodes, copy a module file there and execute it, and return output. You have a fully working infrastructure.
-
-Resources
-=================================
-- `Product Demos <https://github.com/ansible/product-demos>`_
-- `Katakoda <https://katacoda.com/rhel-labs>`_
-- `Workshops <https://github.com/ansible/workshops>`_
-- `Ansible Examples <https://github.com/ansible/ansible-examples>`_
-- `Ansible Baseline <https://github.com/ansible/ansible-baseline>`_
-
-Next steps
-==========
-Next you can read about more real-world cases in :ref:`intro_adhoc`,
-explore what you can do with different modules, or read about the Ansible
-:ref:`working_with_playbooks` language. Ansible is not just about running commands, it
-also has powerful configuration management and deployment features.
-
-.. seealso::
-
- :ref:`intro_inventory`
- More information about inventory
- :ref:`intro_adhoc`
- Examples of basic commands
- :ref:`working_with_playbooks`
- Learning Ansible's configuration management language
- `Ansible Demos <https://github.com/ansible/product-demos>`_
- Demonstrations of different Ansible usecases
- `RHEL Labs <https://katacoda.com/rhel-labs>`_
- Labs to provide further knowledge on different topics
- `Mailing List <https://groups.google.com/group/ansible-project>`_
- Questions? Help? Ideas? Stop by the list on Google Groups
- :ref:`communication_irc`
- How to join Ansible chat channels
diff --git a/docs/docsite/rst/user_guide/quickstart.rst b/docs/docsite/rst/user_guide/quickstart.rst
deleted file mode 100644
index 3b56c877fd..0000000000
--- a/docs/docsite/rst/user_guide/quickstart.rst
+++ /dev/null
@@ -1,20 +0,0 @@
-.. _quickstart_guide:
-
-Ansible Quickstart Guide
-========================
-
-We've recorded a short video that introduces Ansible.
-
-The `quickstart video <https://www.ansible.com/resources/get-started?hsLang=en-us>`_ is about 13 minutes long and gives you a high level
-introduction to Ansible -- what it does and how to use it. We'll also tell you about other products in the Ansible ecosystem.
-
-Enjoy, and be sure to visit the rest of the documentation to learn more.
-
-.. seealso::
-
- `A system administrators guide to getting started with Ansible <https://www.redhat.com/en/blog/system-administrators-guide-getting-started-ansible-fast>`_
- A step by step introduction to Ansible
- `Ansible Automation for SysAdmins <https://opensource.com/downloads/ansible-quickstart>`_
- A downloadable guide for getting started with Ansible
- :ref:`network_getting_started`
- A guide for network engineers using Ansible for the first time
diff --git a/docs/docsite/sphinx_conf/ansible_conf.py b/docs/docsite/sphinx_conf/ansible_conf.py
index 8c6c895c82..71b804e7c0 100644
--- a/docs/docsite/sphinx_conf/ansible_conf.py
+++ b/docs/docsite/sphinx_conf/ansible_conf.py
@@ -94,6 +94,8 @@ exclude_patterns = [
'2.10_index.rst',
'ansible_index.rst',
'core_index.rst',
+ 'dev_guide/ansible_index.rst',
+ 'dev_guide/core_index.rst',
'dev_guide/core_branches_and_tags.rst',
'porting_guides/core_porting_guides.rst',
'porting_guides/porting_guide_base_2.10.rst',
diff --git a/docs/docsite/sphinx_conf/core_conf.py b/docs/docsite/sphinx_conf/core_conf.py
index 66cd54a44d..46b5945ba1 100644
--- a/docs/docsite/sphinx_conf/core_conf.py
+++ b/docs/docsite/sphinx_conf/core_conf.py
@@ -121,6 +121,13 @@ exclude_patterns = [
'community/steering/steering_committee_membership.rst',
'community/steering/steering_committee_past_members.rst',
'community/steering/steering_index.rst',
+ 'dev_guide/ansible_index.rst',
+ 'dev_guide/core_index.rst',
+ 'dev_guide/platforms/aws_guidelines.rst',
+ 'dev_guide/platforms/openstack_guidelines.rst',
+ 'dev_guide/platforms/ovirt_dev_guide.rst',
+ 'dev_guide/platforms/vmware_guidelines.rst',
+ 'dev_guide/platforms/vmware_rest_guidelines.rst',
'porting_guides/porting_guides.rst',
'porting_guides/porting_guide_[1-9]*',
'roadmap/index.rst',