From 3afb67e9b2013c8d65456173367d3e6b94423942 Mon Sep 17 00:00:00 2001 From: John R Barker Date: Sun, 5 Mar 2017 11:41:29 +0000 Subject: [PATCH] Fix Docs build issues (#22295) * restore network docs fragments * Fix RST errors * code-block formatting --- .../rst/dev_guide/developing_modules.rst | 18 +-- .../developing_modules_documenting.rst | 12 +- .../developing_modules_in_groups.rst | 9 +- docs/docsite/rst/playbooks_lookups.rst | 2 +- docs/docsite/rst/roadmap/ROADMAP_2_1.rst | 14 +-- docs/docsite/rst/roadmap/ROADMAP_2_2.rst | 2 +- docs/docsite/rst/roadmap/ROADMAP_2_3.rst | 29 ++--- .../utils/module_docs_fragments/eos.py | 112 ++++++++++++++++++ .../utils/module_docs_fragments/ios.py | 92 ++++++++++++++ .../utils/module_docs_fragments/iosxr.py | 74 ++++++++++++ .../utils/module_docs_fragments/vyos.py | 75 ++++++++++++ 11 files changed, 397 insertions(+), 42 deletions(-) create mode 100644 lib/ansible/utils/module_docs_fragments/eos.py create mode 100644 lib/ansible/utils/module_docs_fragments/ios.py create mode 100644 lib/ansible/utils/module_docs_fragments/iosxr.py create mode 100644 lib/ansible/utils/module_docs_fragments/vyos.py diff --git a/docs/docsite/rst/dev_guide/developing_modules.rst b/docs/docsite/rst/dev_guide/developing_modules.rst index 96975ef5358..b4516514437 100644 --- a/docs/docsite/rst/dev_guide/developing_modules.rst +++ b/docs/docsite/rst/dev_guide/developing_modules.rst @@ -19,30 +19,30 @@ as we work through this tutorial. See :doc:`../modules` for a list of existing modules. Modules can be written in any language and are found in the path specified -by :envvar:`ANSIBLE_LIBRARY` or the ``--module-path`` command line option or -in the `library section of the Ansible configration file `_. +by :envvar:`ANSIBLE_LIBRARY` or the ``--module-path`` command line option or +in the `library section of the Ansible configration file `_. .. _module_dev_should_you: Should You Develop A Module? ```````````````````````````` -Before diving into the work of creating a new module, you should think about whether you actually *should* +Before diving into the work of creating a new module, you should think about whether you actually *should* develop a module. Ask the following questions: -1. Does a similar module already exist? +1. Does a similar module already exist? There are a lot of existing modules available, and more that are in development. You should check out the list of existing modules at :doc:`../modules` or look at the `module PRs `_ for the ansible repository on Github to see if a module that does what you want exists or is in development. -2. Should you use or develop an action plugin instead? +2. Should you use or develop an action plugin instead? -Action plugins get run on the master instead of on the target. For modules like file/copy/template, some of the work needs to be done on the master before the module executes on the target. Action plugins execute first on the master and can then execute the normal module on the target if necessary. +Action plugins get run on the master instead of on the target. For modules like file/copy/template, some of the work needs to be done on the master before the module executes on the target. Action plugins execute first on the master and can then execute the normal module on the target if necessary. -For more information about action plugins, go `here `_. +For more information about action plugins, go `here `_. 3. Should you use a role instead? -Check out the roles documentation `here `_. - +Check out the roles documentation `here `_. + .. _developing_modules_all: diff --git a/docs/docsite/rst/dev_guide/developing_modules_documenting.rst b/docs/docsite/rst/dev_guide/developing_modules_documenting.rst index f1e370dec3d..392dfea5698 100644 --- a/docs/docsite/rst/dev_guide/developing_modules_documenting.rst +++ b/docs/docsite/rst/dev_guide/developing_modules_documenting.rst @@ -35,7 +35,9 @@ ANSIBLE_METADATA Block ANSIBLE_METADATA contains information about the module for use by other tools. At the moment, it informs other tools which type of maintainer the module has and to what degree users can rely on a module's behaviour remaining the same over time. -For new modules, the following block can be simply added into your module:: +For new modules, the following block can be simply added into your module + +.. code-block:: python ANSIBLE_METADATA = {'status': ['preview'], 'supported_by': 'community', @@ -55,7 +57,7 @@ Version 1.0 of the metadata Structure ````````` -Format:: +.. code-block:: python ANSIBLE_METADATA = { 'version': '1.0', @@ -298,11 +300,11 @@ built in the ``docs/docsite/_build/html/$MODULENAME_module.html`` directory. To test your documentation against your ``argument_spec`` you can use ``validate-modules``. Note that this option isn't currently enabled in Shippable due to the time it takes to run. -.. code-block:: shell-session +.. code-block:: bash # If you don't already, ensure you are using your local checkout - $ source hacking/env-setup - $ ./test/sanity/validate-modules/validate-modules --arg-spec --warnings lib/ansible/modules/your/modules/ + source hacking/env-setup + ./test/sanity/validate-modules/validate-modules --arg-spec --warnings lib/ansible/modules/your/modules/ .. tip:: diff --git a/docs/docsite/rst/dev_guide/developing_modules_in_groups.rst b/docs/docsite/rst/dev_guide/developing_modules_in_groups.rst index d9e1fabdb26..a0091ec2cdd 100644 --- a/docs/docsite/rst/dev_guide/developing_modules_in_groups.rst +++ b/docs/docsite/rst/dev_guide/developing_modules_in_groups.rst @@ -3,10 +3,9 @@ Information for submitting a group of modules .. contents:: Topics -.. _module_dev_welcome: +Submitting a group of modules +````````````````````````````` -Welcome -``````` This section discusses how to get multiple related modules into Ansible. This document is intended for both companies wishing to add modules for their own products as well as users of 3rd party products wishing to add Ansible functionality. @@ -60,7 +59,7 @@ Where to get support Ansible has a thriving and knowledgeable community of module developers that is a great resource for getting your questions answered. -On :doc:`community` you can find how to: +On :doc:`../community` you can find how to: * Subscribe to the Mailing Lists - We suggest "Ansible Development List" (for codefreeze info) and "Ansible Announce list" * ``#ansible-devel`` - We have found that IRC ``#ansible-devel`` on FreeNodes IRC network works best for module developers so we can have an interactive dialogue. @@ -92,7 +91,7 @@ And that's it. Before pushing your PR to GitHub it's a good idea to review the :doc:`developing_modules_checklist` again. -After publishing your PR to https://github.com/ansible/ansible, a Shippable CI test should run within a few minutes. Check the results (at the end of the PR page) to ensure that it's passing (green). If it's not passing, inspect each of the results. Most of the errors should be self-explanatory and are often related to badly formatted documentation (see :doc:`YAMLSyntax`) or code that isn't valid Python 2.4 & Python 2.6 (see :doc:`developing_modules_python3`). If you aren't sure what a Shippable test message means, copy it into the PR along with a comment and we will review. +After publishing your PR to https://github.com/ansible/ansible, a Shippable CI test should run within a few minutes. Check the results (at the end of the PR page) to ensure that it's passing (green). If it's not passing, inspect each of the results. Most of the errors should be self-explanatory and are often related to badly formatted documentation (see :doc:`../YAMLSyntax`) or code that isn't valid Python 2.4 & Python 2.6 (see :doc:`developing_modules_python3`). If you aren't sure what a Shippable test message means, copy it into the PR along with a comment and we will review. If you need further advice, consider join the ``#ansible-devel`` IRC channel (see how in the "Where to get support"). diff --git a/docs/docsite/rst/playbooks_lookups.rst b/docs/docsite/rst/playbooks_lookups.rst index 8180e911491..7dbd4f2489f 100644 --- a/docs/docsite/rst/playbooks_lookups.rst +++ b/docs/docsite/rst/playbooks_lookups.rst @@ -105,7 +105,7 @@ To enter comma use two commas ',,' somewhere - preferably at the end. Quotes and .. _passwordstore_lookup: The Passwordstore Lookup -``````````````````` +```````````````````````` .. versionadded:: 2.3 The ``passwordstore`` lookup enables Ansible to retrieve, create or update passwords from diff --git a/docs/docsite/rst/roadmap/ROADMAP_2_1.rst b/docs/docsite/rst/roadmap/ROADMAP_2_1.rst index aa025edcd2b..3d27eaddd22 100644 --- a/docs/docsite/rst/roadmap/ROADMAP_2_1.rst +++ b/docs/docsite/rst/roadmap/ROADMAP_2_1.rst @@ -16,7 +16,7 @@ Target: April - Finish cleaning up tests and support for post-beta release - Strict mode cleanup (one module in core) - Domain user/group management - - Finish win_host and win_rm in the domain/workgroup modules. + - Finish win_host and win_rm in the domain/workgroup modules. - Close 2 existing PRs (These were deemed insufficient) - Replicate python module API in PS/C# (deprecate hodgepodge of stuff from module_utils/powershell.ps1) @@ -51,19 +51,19 @@ Target: April - Upgrade other cloud modules or work with community maintainers to upgrade. (In order) - AWS (Community maintainers) - Openstack (Community maintainers) - - Google (Google/Community) + - Google (Google/Community) - Digital Ocean (Community) -- Ansiballz (renamed from Ziploader): - - Write code to create the zipfile that gets passed across the wire to be run on the remote python +- Ansiballz (renamed from Ziploader): + - Write code to create the zipfile that gets passed across the wire to be run on the remote python - Port most of the functionality in module\_utils to be usage in ansiballz instead - - Port a few essential modules to use ansiballz instead of module-replacer as proof of concept + - Port a few essential modules to use ansiballz instead of module-replacer as proof of concept - New modules will be able to use ansiballz. Old modules will need to be ported in future releases (Some modules will not need porting but others will) - Better testing of modules, caching of modules clientside(Have not yet arrived at an architecture for this that we like), better code sharing between ansible/ansible and modules - ansiballz is a helpful building block for: python3 porting(high priority), better code sharing between modules(medium priority) - ansiballz is a good idea before: enabling users to have custom module_utils directories - Expand module diff support (already in progress in devel) - - Framework done. Need to add to modules, test etc. - - Coordinate with community to update their modules + - Framework done. Need to add to modules, test etc. + - Coordinate with community to update their modules - Things being kicking down the road that we said we’d do - NOT remerging core with ansible/ansible this release cycle - Community stuff diff --git a/docs/docsite/rst/roadmap/ROADMAP_2_2.rst b/docs/docsite/rst/roadmap/ROADMAP_2_2.rst index d1718c41b5c..12900cd458f 100644 --- a/docs/docsite/rst/roadmap/ROADMAP_2_2.rst +++ b/docs/docsite/rst/roadmap/ROADMAP_2_2.rst @@ -134,7 +134,7 @@ Target: September 2016 - Strategy: removing keyczar when we drop accelerate for 2.3. Print deprecation in 2.1. - Module_utils ported to dual python3/python2(2.4 for much of it, python2.6 for specific things) - **Mostly done:** Also not line-by-line audited but the unittests + **Mostly done:** Also not line-by-line audited but the unittests and integration tests do show that the most use functionality is working. - Add module_utils files to help port - Update: copy of the six library (v1.4.1 for python2.4 compat) and unicode helpers are here (ansible.module_utils._text.{to_bytes,to_text,to_native}) diff --git a/docs/docsite/rst/roadmap/ROADMAP_2_3.rst b/docs/docsite/rst/roadmap/ROADMAP_2_3.rst index 11ebb59a874..188eab33906 100644 --- a/docs/docsite/rst/roadmap/ROADMAP_2_3.rst +++ b/docs/docsite/rst/roadmap/ROADMAP_2_3.rst @@ -22,22 +22,22 @@ Target: February/March 2017 - Script that a committer can run to fork a PR and then merge to ansible/ansible **(mostly done)** - Move all the issues (remove old ones that can be removed) **(done)** - Enhance ansibullbot to accommodate the changes (jctanner) **(in progress, going well)** - + - **Metadata** - Add metadata to the modules we ship **(done)** - Write code to use metadata in docs **(done)** - If needed for python2/3 write code to use metadata in module_common or pluginloader **(not needed)** - + - **Documentation** - + - Update developing_modules **(in progress, will continue in 2.4)** - Set up rst skeleton for module_utils docs. - Plugin development docs - Speed up `make webdocs` https://github.com/ansible/ansible/issues/17406 **(done)** - + - **Windows platform** (nitzmahone) - + - Pipelining support **(done)** - Become support **(done)** - Integrated kerberos ticket management (via ansible_user/ansible_password) **(done)** @@ -60,7 +60,7 @@ Target: February/March 2017 - Updates/rewrite to win_unzip, adopt to core (stretch) **(bump to 2.4)** - Updates to win_updates, adopt to core (stretch) **(bump to 2.4)** - Updates to win_package, adopt to core (+ deprecate win_msi) (stretch) **(bump to 2.4)** - + - **Azure modules** (nitzmahone/mattclay) - Ensure Azure SDK rc6/RTM work **(done)** @@ -69,7 +69,7 @@ Target: February/March 2017 - Expose endpoint overrides (support AzureChinaCloud, Azure Stack) **(bump to 2.4)** - Get Azure tests running in CI (stretch, depends on availability of sponsored account) **(bump to 2.4, no CI resources)** - azure_rm_loadbalancer module (stretch) **(bump to 2.4)** - + - **Networking** - Code stability and tidy up **(done)** @@ -77,21 +77,22 @@ Target: February/March 2017 - User facing documentation - Persistent connection manager **(done)** - Netconf/YANG implementation (only feature) **(done)** - - Deferred from 2.2: Network facts modules (sros) + - Deferred from 2.2: Network facts modules (sros) - **Python3** - For 2.3: - + - We want all tests to pass + - Just the mercurial tests left because we haven't created an image with both python2 and python3 to test it on yet. - - Check by doing ``grep skip/python3 test/integration/targets/\*/aliases`` + - Check by doing ``grep skip/python3 test/integration/targets/*/aliases`` - If users report bugs on python3, these should be fixed and will prioritize our work on porting other modules. - - Still have to solve the python3-only and python2-only modules. Thinking of doing this via metadata. Will mean we have to use metadata at the module_common level. Will also mean we don’t support py2-only or py3-only old style python modules. + - Still have to solve the python3-only and python2-only modules. Thinking of doing this via metadata. Will mean we have to use metadata at the module_common level. Will also mean we don’t support py2-only or py3-only old style python modules. - Note: Most of the currently tested ansible features now run. But there’s still a lot of code that’s untested. -- **Testing and CI** (mattclay) +- **Testing and CI** (mattclay) - *Static Code Analysis:* Create custom pylint extensions to automate detection of common Ansible specific issues reported during code review. Automate feedback on PRs for new code only to avoid noise from existing code which does not pass. @@ -140,13 +141,13 @@ Target: February/March 2017 - Add module_utils to the plugin loader (feature) [done] - Split plugin loader: Plugin_search, plugin_loader (modules only use first) [pushed to 2.4] - + - **ansible-ssh** - Add a ‘ansible-ssh’ convenience and debugging tool (will slip to 2.4) - Tool to invoke an interactive ssh to a host with the same args/env/config that ansible would. - There are at least three external versions - + - https://github.com/2ndQuadrant/ansible-ssh - https://github.com/haad/ansible-ssh - https://github.com/mlvnd/ansible-ssh diff --git a/lib/ansible/utils/module_docs_fragments/eos.py b/lib/ansible/utils/module_docs_fragments/eos.py new file mode 100644 index 00000000000..99fd4685eed --- /dev/null +++ b/lib/ansible/utils/module_docs_fragments/eos.py @@ -0,0 +1,112 @@ +# +# (c) 2015, Peter Sprygada +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see . + + +class ModuleDocFragment(object): + + # Standard files documentation fragment + DOCUMENTATION = """ +options: + host: + description: + - Specifies the DNS host name or address for connecting to the remote + device over the specified transport. The value of host is used as + the destination address for the transport. + required: true + port: + description: + - Specifies the port to use when building the connection to the remote + device. This value applies to either I(cli) or I(eapi). The port + value will default to the appropriate transport common port if + none is provided in the task. (cli=22, http=80, https=443). + required: false + default: 0 (use common port) + username: + description: + - Configures the username to use to authenticate the connection to + the remote device. This value is used to authenticate + either the CLI login or the eAPI authentication depending on which + transport is used. If the value is not specified in the task, the + value of environment variable C(ANSIBLE_NET_USERNAME) will be used instead. + required: false + password: + description: + - Specifies the password to use to authenticate the connection to + the remote device. This is a common argument used for either I(cli) + or I(eapi) transports. If the value is not specified in the task, the + value of environment variable C(ANSIBLE_NET_PASSWORD) will be used instead. + required: false + default: null + timeout: + description: + - Specifies the timeout in seconds for communicating with the network device + for either connecting or sending commands. If the timeout is + exceeded before the operation is completed, the module will error. + require: false + default: 10 + ssh_keyfile: + description: + - Specifies the SSH keyfile to use to authenticate the connection to + the remote device. This argument is only used for I(cli) transports. + If the value is not specified in the task, the value of environment + variable C(ANSIBLE_NET_SSH_KEYFILE) will be used instead. + required: false + authorize: + description: + - Instructs the module to enter privileged mode on the remote device + before sending any commands. If not specified, the device will + attempt to execute all commands in non-privileged mode. If the value + is not specified in the task, the value of environment variable + C(ANSIBLE_NET_AUTHORIZE) will be used instead. + required: false + default: no + choices: ['yes', 'no'] + auth_pass: + description: + - Specifies the password to use if required to enter privileged mode + on the remote device. If I(authorize) is false, then this argument + does nothing. If the value is not specified in the task, the value of + environment variable C(ANSIBLE_NET_AUTH_PASS) will be used instead. + required: false + default: none + transport: + description: + - Configures the transport connection to use when connecting to the + remote device. + required: true + choices: + - eapi + - cli + default: cli + use_ssl: + description: + - Configures the I(transport) to use SSL if set to true only when the + C(transport=eapi). If the transport + argument is not eapi, this value is ignored. + required: false + default: yes + choices: ['yes', 'no'] + provider: + description: + - Convenience method that allows all I(eos) arguments to be passed as + a dict object. All constraints (required, choices, etc) must be + met either by individual arguments or values in this dict. + required: false + default: null + +""" diff --git a/lib/ansible/utils/module_docs_fragments/ios.py b/lib/ansible/utils/module_docs_fragments/ios.py new file mode 100644 index 00000000000..9dc6d1af006 --- /dev/null +++ b/lib/ansible/utils/module_docs_fragments/ios.py @@ -0,0 +1,92 @@ +# +# (c) 2015, Peter Sprygada +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see . + + +class ModuleDocFragment(object): + + # Standard files documentation fragment + DOCUMENTATION = """ +options: + host: + description: + - Specifies the DNS host name or address for connecting to the remote + device over the specified transport. The value of host is used as + the destination address for the transport. + required: true + port: + description: + - Specifies the port to use when building the connection to the remote. + device. + required: false + default: 22 + username: + description: + - Configures the username to use to authenticate the connection to + the remote device. This value is used to authenticate + the SSH session. If the value is not specified in the task, the + value of environment variable C(ANSIBLE_NET_USERNAME) will be used instead. + required: false + password: + description: + - Specifies the password to use to authenticate the connection to + the remote device. This value is used to authenticate + the SSH session. If the value is not specified in the task, the + value of environment variable C(ANSIBLE_NET_PASSWORD) will be used instead. + required: false + default: null + timeout: + description: + - Specifies the timeout in seconds for communicating with the network device + for either connecting or sending commands. If the timeout is + exceeded before the operation is completed, the module will error. + require: false + default: 10 + ssh_keyfile: + description: + - Specifies the SSH key to use to authenticate the connection to + the remote device. This value is the path to the + key used to authenticate the SSH session. If the value is not specified + in the task, the value of environment variable C(ANSIBLE_NET_SSH_KEYFILE) + will be used instead. + required: false + authorize: + description: + - Instructs the module to enter privileged mode on the remote device + before sending any commands. If not specified, the device will + attempt to execute all commands in non-privileged mode. If the value + is not specified in the task, the value of environment variable + C(ANSIBLE_NET_AUTHORIZE) will be used instead. + required: false + default: no + choices: ['yes', 'no'] + auth_pass: + description: + - Specifies the password to use if required to enter privileged mode + on the remote device. If I(authorize) is false, then this argument + does nothing. If the value is not specified in the task, the value of + environment variable C(ANSIBLE_NET_AUTH_PASS) will be used instead. + required: false + default: none + provider: + description: + - Convenience method that allows all I(ios) arguments to be passed as + a dict object. All constraints (required, choices, etc) must be + met either by individual arguments or values in this dict. + required: false + default: null +""" diff --git a/lib/ansible/utils/module_docs_fragments/iosxr.py b/lib/ansible/utils/module_docs_fragments/iosxr.py new file mode 100644 index 00000000000..52513ea09e7 --- /dev/null +++ b/lib/ansible/utils/module_docs_fragments/iosxr.py @@ -0,0 +1,74 @@ +# +# (c) 2015, Peter Sprygada +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see . + + +class ModuleDocFragment(object): + + # Standard files documentation fragment + DOCUMENTATION = """ +options: + host: + description: + - Specifies the DNS host name or address for connecting to the remote + device over the specified transport. The value of host is used as + the destination address for the transport. + required: true + port: + description: + - Specifies the port to use when building the connection to the remote. + device. + required: false + default: 22 + username: + description: + - Configures the username to use to authenticate the connection to + the remote device. This value is used to authenticate + the SSH session. If the value is not specified in the task, the + value of environment variable C(ANSIBLE_NET_USERNAME) will be used instead. + required: false + password: + description: + - Specifies the password to use to authenticate the connection to + the remote device. This value is used to authenticate + the SSH session. If the value is not specified in the task, the + value of environment variable C(ANSIBLE_NET_PASSWORD) will be used instead. + required: false + default: null + timeout: + description: + - Specifies the timeout in seconds for communicating with the network device + for either connecting or sending commands. If the timeout is + exceeded before the operation is completed, the module will error. + require: false + default: 10 + ssh_keyfile: + description: + - Specifies the SSH key to use to authenticate the connection to + the remote device. This value is the path to the + key used to authenticate the SSH session. If the value is not specified + in the task, the value of environment variable C(ANSIBLE_NET_SSH_KEYFILE) + will be used instead. + required: false + provider: + description: + - Convenience method that allows all I(iosxr) arguments to be passed as + a dict object. All constraints (required, choices, etc) must be + met either by individual arguments or values in this dict. + required: false + default: null +""" diff --git a/lib/ansible/utils/module_docs_fragments/vyos.py b/lib/ansible/utils/module_docs_fragments/vyos.py new file mode 100644 index 00000000000..68b9acf1315 --- /dev/null +++ b/lib/ansible/utils/module_docs_fragments/vyos.py @@ -0,0 +1,75 @@ +# +# (c) 2015, Peter Sprygada +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see . + + +class ModuleDocFragment(object): + + # Standard files documentation fragment + DOCUMENTATION = """ +options: + host: + description: + - Specifies the DNS host name or address for connecting to the remote + device over the specified transport. The value of host is used as + the destination address for the transport. + required: true + port: + description: + - Specifies the port to use when building the connection to the remote + device. + required: false + default: 22 + username: + description: + - Configures the username to use to authenticate the connection to + the remote device. This value is used to authenticate + the SSH session. If the value is not specified in the task, the + value of environment variable C(ANSIBLE_NET_USERNAME) will be used instead. + required: false + password: + description: + - Specifies the password to use to authenticate the connection to + the remote device. This value is used to authenticate + the SSH session. If the value is not specified in the task, the + value of environment variable C(ANSIBLE_NET_PASSWORD) will be used instead. + required: false + default: null + timeout: + description: + - Specifies the timeout in seconds for communicating with the network device + for either connecting or sending commands. If the timeout is + exceeded before the operation is completed, the module will error. + require: false + default: 10 + ssh_keyfile: + description: + - Specifies the SSH key to use to authenticate the connection to + the remote device. This value is the path to the + key used to authenticate the SSH session. If the value is not specified + in the task, the value of environment variable C(ANSIBLE_NET_SSH_KEYFILE) + will be used instead. + required: false + provider: + description: + - Convenience method that allows all I(vyos) arguments to be passed as + a dict object. All constraints (required, choices, etc) must be + met either by individual arguments or values in this dict. + required: false + default: null + +"""