From 39deb81514d715a595d3a05ad644d003b7ab196c Mon Sep 17 00:00:00 2001 From: Alexei Znamensky <103110+russoz@users.noreply.github.com> Date: Wed, 1 Jan 2025 21:14:44 +1300 Subject: [PATCH] clc_*: create doc fragment (#9497) * clc_*: create doc fragment * add BOTMETA entry * add doc frag itself * add empty options dict to doc frag * fix BOTMETA entry * fix BOTMETA entry * move author back to module --- .github/BOTMETA.yml | 2 ++ plugins/doc_fragments/clc.py | 28 ++++++++++++++++++++++++ plugins/modules/clc_aa_policy.py | 16 +++----------- plugins/modules/clc_alert_policy.py | 17 +++----------- plugins/modules/clc_blueprint_package.py | 16 +++----------- plugins/modules/clc_firewall_policy.py | 16 +++----------- plugins/modules/clc_group.py | 17 +++----------- plugins/modules/clc_loadbalancer.py | 17 +++----------- plugins/modules/clc_modify_server.py | 16 +++----------- plugins/modules/clc_publicip.py | 16 +++----------- plugins/modules/clc_server.py | 16 +++----------- plugins/modules/clc_server_snapshot.py | 16 +++----------- 12 files changed, 60 insertions(+), 133 deletions(-) create mode 100644 plugins/doc_fragments/clc.py diff --git a/.github/BOTMETA.yml b/.github/BOTMETA.yml index 5390d81b27..90bcbb1bbc 100644 --- a/.github/BOTMETA.yml +++ b/.github/BOTMETA.yml @@ -120,6 +120,8 @@ files: maintainers: $team_ansible_core $doc_fragments/: labels: docs_fragments + $doc_fragments/clc.py: + maintainers: clc-runner russoz $doc_fragments/django.py: maintainers: russoz $doc_fragments/hpe3par.py: diff --git a/plugins/doc_fragments/clc.py b/plugins/doc_fragments/clc.py new file mode 100644 index 0000000000..0c69d79329 --- /dev/null +++ b/plugins/doc_fragments/clc.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2024, Alexei Znamensky +# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt) +# SPDX-License-Identifier: GPL-3.0-or-later + +from __future__ import (absolute_import, division, print_function) +__metaclass__ = type + + +class ModuleDocFragment(object): + + # Standard documentation fragment + DOCUMENTATION = r""" +options: {} +requirements: + - requests >= 2.5.0 + - clc-sdk +notes: + - To use this module, it is required to set the below environment variables which enables access to the Centurylink Cloud. + - E(CLC_V2_API_USERNAME), the account login ID for the Centurylink Cloud. + - E(CLC_V2_API_PASSWORD), the account password for the Centurylink Cloud. + - Alternatively, the module accepts the API token and account alias. The API token can be generated using the CLC account + login and password using the HTTP API call @ https://api.ctl.io/v2/authentication/login + - E(CLC_V2_API_TOKEN), the API token generated from https://api.ctl.io/v2/authentication/login + - E(CLC_ACCT_ALIAS), the account alias associated with the Centurylink Cloud. + - Users can set E(CLC_V2_API_URL) to specify an endpoint for pointing to a different CLC environment. +""" diff --git a/plugins/modules/clc_aa_policy.py b/plugins/modules/clc_aa_policy.py index d172c26343..eb8c57f60c 100644 --- a/plugins/modules/clc_aa_policy.py +++ b/plugins/modules/clc_aa_policy.py @@ -16,6 +16,9 @@ description: - An Ansible module to Create or Delete Anti-Affinity Policies at CenturyLink Cloud. extends_documentation_fragment: - community.general.attributes + - community.general.clc +author: + - "CLC Runner (@clc-runner)" attributes: check_mode: support: full @@ -39,19 +42,6 @@ options: required: false default: present choices: ['present', 'absent'] -requirements: - - requests >= 2.5.0 - - clc-sdk -author: "CLC Runner (@clc-runner)" -notes: - - To use this module, it is required to set the below environment variables which enables access to the Centurylink Cloud. - - E(CLC_V2_API_USERNAME), the account login id for the Centurylink Cloud. - - E(CLC_V2_API_PASSWORD), the account password for the Centurylink Cloud. - - Alternatively, the module accepts the API token and account alias. The API token can be generated using the CLC account - login and password using the HTTP API call @ https://api.ctl.io/v2/authentication/login - - E(CLC_V2_API_TOKEN), the API token generated from https://api.ctl.io/v2/authentication/login - - E(CLC_ACCT_ALIAS), the account alias associated with the Centurylink Cloud. - - Users can set E(CLC_V2_API_URL) to specify an endpoint for pointing to a different CLC environment. """ EXAMPLES = r""" diff --git a/plugins/modules/clc_alert_policy.py b/plugins/modules/clc_alert_policy.py index 999d1f743f..e8a9957103 100644 --- a/plugins/modules/clc_alert_policy.py +++ b/plugins/modules/clc_alert_policy.py @@ -1,6 +1,5 @@ #!/usr/bin/python # -*- coding: utf-8 -*- - # # Copyright (c) 2015 CenturyLink # GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt) @@ -17,6 +16,9 @@ description: - An Ansible module to Create or Delete Alert Policies at CenturyLink Cloud. extends_documentation_fragment: - community.general.attributes + - community.general.clc +author: + - "CLC Runner (@clc-runner)" attributes: check_mode: support: full @@ -61,19 +63,6 @@ options: type: str default: present choices: ['present', 'absent'] -requirements: - - requests >= 2.5.0 - - clc-sdk -author: "CLC Runner (@clc-runner)" -notes: - - To use this module, it is required to set the below environment variables which enables access to the Centurylink Cloud. - - E(CLC_V2_API_USERNAME), the account login id for the Centurylink Cloud. - - E(CLC_V2_API_PASSWORD), the account password for the Centurylink Cloud. - - Alternatively, the module accepts the API token and account alias. The API token can be generated using the CLC account - login and password using the HTTP API call @ https://api.ctl.io/v2/authentication/login - - E(CLC_V2_API_TOKEN), the API token generated from https://api.ctl.io/v2/authentication/login - - E(CLC_ACCT_ALIAS), the account alias associated with the Centurylink Cloud. - - Users can set E(CLC_V2_API_URL) to specify an endpoint for pointing to a different CLC environment. """ EXAMPLES = r""" diff --git a/plugins/modules/clc_blueprint_package.py b/plugins/modules/clc_blueprint_package.py index be44b58530..a716e42bd2 100644 --- a/plugins/modules/clc_blueprint_package.py +++ b/plugins/modules/clc_blueprint_package.py @@ -16,6 +16,9 @@ description: - An Ansible module to deploy blue print package on a set of servers in CenturyLink Cloud. extends_documentation_fragment: - community.general.attributes + - community.general.clc +author: + - "CLC Runner (@clc-runner)" attributes: check_mode: support: full @@ -52,19 +55,6 @@ options: type: str default: 'True' required: false -requirements: - - requests >= 2.5.0 - - clc-sdk -author: "CLC Runner (@clc-runner)" -notes: - - To use this module, it is required to set the below environment variables which enables access to the Centurylink Cloud. - - E(CLC_V2_API_USERNAME), the account login id for the Centurylink Cloud. - - E(CLC_V2_API_PASSWORD), the account password for the Centurylink Cloud. - - Alternatively, the module accepts the API token and account alias. The API token can be generated using the CLC account - login and password using the HTTP API call @ https://api.ctl.io/v2/authentication/login - - E(CLC_V2_API_TOKEN), the API token generated from https://api.ctl.io/v2/authentication/login - - E(CLC_ACCT_ALIAS), the account alias associated with the Centurylink Cloud. - - Users can set E(CLC_V2_API_URL) to specify an endpoint for pointing to a different CLC environment. """ EXAMPLES = r""" diff --git a/plugins/modules/clc_firewall_policy.py b/plugins/modules/clc_firewall_policy.py index 7c34b7c744..b758e3a2b6 100644 --- a/plugins/modules/clc_firewall_policy.py +++ b/plugins/modules/clc_firewall_policy.py @@ -16,6 +16,9 @@ description: - Create or delete or update firewall policies on Centurylink Cloud. extends_documentation_fragment: - community.general.attributes + - community.general.clc +author: + - "CLC Runner (@clc-runner)" attributes: check_mode: support: full @@ -73,19 +76,6 @@ options: type: str choices: ['True', 'False'] default: 'True' -requirements: - - requests >= 2.5.0 - - clc-sdk -author: "CLC Runner (@clc-runner)" -notes: - - To use this module, it is required to set the below environment variables which enables access to the Centurylink Cloud. - - E(CLC_V2_API_USERNAME), the account login id for the Centurylink Cloud. - - E(CLC_V2_API_PASSWORD), the account password for the Centurylink Cloud. - - Alternatively, the module accepts the API token and account alias. The API token can be generated using the CLC account - login and password using the HTTP API call @ https://api.ctl.io/v2/authentication/login - - E(CLC_V2_API_TOKEN), the API token generated from https://api.ctl.io/v2/authentication/login - - E(CLC_ACCT_ALIAS), the account alias associated with the Centurylink Cloud. - - Users can set E(CLC_V2_API_URL) to specify an endpoint for pointing to a different CLC environment. """ EXAMPLES = r""" diff --git a/plugins/modules/clc_group.py b/plugins/modules/clc_group.py index ceb5513c60..8c9d086353 100644 --- a/plugins/modules/clc_group.py +++ b/plugins/modules/clc_group.py @@ -1,6 +1,5 @@ #!/usr/bin/python # -*- coding: utf-8 -*- - # # Copyright (c) 2015 CenturyLink # GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt) @@ -17,6 +16,9 @@ description: - Create or delete Server Groups at Centurylink Centurylink Cloud. extends_documentation_fragment: - community.general.attributes + - community.general.clc +author: + - "CLC Runner (@clc-runner)" attributes: check_mode: support: full @@ -56,19 +58,6 @@ options: type: bool default: true required: false -requirements: - - requests >= 2.5.0 - - clc-sdk -author: "CLC Runner (@clc-runner)" -notes: - - To use this module, it is required to set the below environment variables which enables access to the Centurylink Cloud. - - E(CLC_V2_API_USERNAME), the account login id for the Centurylink Cloud. - - E(CLC_V2_API_PASSWORD), the account password for the Centurylink Cloud. - - Alternatively, the module accepts the API token and account alias. The API token can be generated using the CLC account - login and password using the HTTP API call @ https://api.ctl.io/v2/authentication/login - - E(CLC_V2_API_TOKEN), the API token generated from https://api.ctl.io/v2/authentication/login - - E(CLC_ACCT_ALIAS), the account alias associated with the Centurylink Cloud. - - Users can set E(CLC_V2_API_URL) to specify an endpoint for pointing to a different CLC environment. """ EXAMPLES = r""" diff --git a/plugins/modules/clc_loadbalancer.py b/plugins/modules/clc_loadbalancer.py index 4690bd6506..d3bb835970 100644 --- a/plugins/modules/clc_loadbalancer.py +++ b/plugins/modules/clc_loadbalancer.py @@ -2,7 +2,6 @@ # -*- coding: utf-8 -*- # # Copyright (c) 2015 CenturyLink -# # GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt) # SPDX-License-Identifier: GPL-3.0-or-later @@ -17,6 +16,9 @@ description: - An Ansible module to Create, Delete shared loadbalancers in CenturyLink Cloud. extends_documentation_fragment: - community.general.attributes + - community.general.clc +author: + - "CLC Runner (@clc-runner)" attributes: check_mode: support: full @@ -75,19 +77,6 @@ options: type: str default: present choices: ['present', 'absent', 'port_absent', 'nodes_present', 'nodes_absent'] -requirements: - - requests >= 2.5.0 - - clc-sdk -author: "CLC Runner (@clc-runner)" -notes: - - To use this module, it is required to set the below environment variables which enables access to the Centurylink Cloud. - - E(CLC_V2_API_USERNAME), the account login id for the Centurylink Cloud. - - E(CLC_V2_API_PASSWORD), the account password for the Centurylink Cloud. - - Alternatively, the module accepts the API token and account alias. The API token can be generated using the CLC account - login and password using the HTTP API call @ https://api.ctl.io/v2/authentication/login - - E(CLC_V2_API_TOKEN), the API token generated from https://api.ctl.io/v2/authentication/login - - E(CLC_ACCT_ALIAS), the account alias associated with the Centurylink Cloud. - - Users can set E(CLC_V2_API_URL) to specify an endpoint for pointing to a different CLC environment. """ EXAMPLES = r""" diff --git a/plugins/modules/clc_modify_server.py b/plugins/modules/clc_modify_server.py index ed01e36763..8ca3496b29 100644 --- a/plugins/modules/clc_modify_server.py +++ b/plugins/modules/clc_modify_server.py @@ -16,6 +16,9 @@ description: - An Ansible module to modify servers in CenturyLink Cloud. extends_documentation_fragment: - community.general.attributes + - community.general.clc +author: + - "CLC Runner (@clc-runner)" attributes: check_mode: support: full @@ -63,19 +66,6 @@ options: - Whether to wait for the provisioning tasks to finish before returning. type: bool default: true -requirements: - - requests >= 2.5.0 - - clc-sdk -author: "CLC Runner (@clc-runner)" -notes: - - To use this module, it is required to set the below environment variables which enables access to the Centurylink Cloud. - - E(CLC_V2_API_USERNAME), the account login id for the Centurylink Cloud. - - E(CLC_V2_API_PASSWORD), the account password for the Centurylink Cloud. - - Alternatively, the module accepts the API token and account alias. The API token can be generated using the CLC account - login and password using the HTTP API call @ https://api.ctl.io/v2/authentication/login - - E(CLC_V2_API_TOKEN), the API token generated from https://api.ctl.io/v2/authentication/login - - E(CLC_ACCT_ALIAS), the account alias associated with the Centurylink Cloud. - - Users can set E(CLC_V2_API_URL) to specify an endpoint for pointing to a different CLC environment. """ EXAMPLES = r""" diff --git a/plugins/modules/clc_publicip.py b/plugins/modules/clc_publicip.py index f149a59a53..bdec5e0b32 100644 --- a/plugins/modules/clc_publicip.py +++ b/plugins/modules/clc_publicip.py @@ -16,6 +16,9 @@ description: - An Ansible module to add or delete public IP addresses on an existing server or servers in CenturyLink Cloud. extends_documentation_fragment: - community.general.attributes + - community.general.clc +author: + - "CLC Runner (@clc-runner)" attributes: check_mode: support: full @@ -51,19 +54,6 @@ options: - Whether to wait for the tasks to finish before returning. type: bool default: true -requirements: - - requests >= 2.5.0 - - clc-sdk -author: "CLC Runner (@clc-runner)" -notes: - - To use this module, it is required to set the below environment variables which enables access to the Centurylink Cloud. - - E(CLC_V2_API_USERNAME), the account login id for the Centurylink Cloud. - - E(CLC_V2_API_PASSWORD), the account password for the Centurylink Cloud. - - Alternatively, the module accepts the API token and account alias. The API token can be generated using the CLC account - login and password using the HTTP API call @ https://api.ctl.io/v2/authentication/login - - E(CLC_V2_API_TOKEN), the API token generated from https://api.ctl.io/v2/authentication/login - - E(CLC_ACCT_ALIAS), the account alias associated with the Centurylink Cloud. - - Users can set E(CLC_V2_API_URL) to specify an endpoint for pointing to a different CLC environment. """ EXAMPLES = r""" diff --git a/plugins/modules/clc_server.py b/plugins/modules/clc_server.py index 4ff8acb7cb..0c1c1d1c4c 100644 --- a/plugins/modules/clc_server.py +++ b/plugins/modules/clc_server.py @@ -16,6 +16,9 @@ description: - An Ansible module to Create, Delete, Start and Stop servers in CenturyLink Cloud. extends_documentation_fragment: - community.general.attributes + - community.general.clc +author: + - "CLC Runner (@clc-runner)" attributes: check_mode: support: full @@ -200,19 +203,6 @@ options: - Whether to wait for the provisioning tasks to finish before returning. type: bool default: true -requirements: - - requests >= 2.5.0 - - clc-sdk -author: "CLC Runner (@clc-runner)" -notes: - - To use this module, it is required to set the below environment variables which enables access to the Centurylink Cloud. - - E(CLC_V2_API_USERNAME), the account login id for the Centurylink Cloud. - - E(CLC_V2_API_PASSWORD), the account password for the Centurylink Cloud. - - Alternatively, the module accepts the API token and account alias. The API token can be generated using the CLC account - login and password using the HTTP API call @ https://api.ctl.io/v2/authentication/login - - E(CLC_V2_API_TOKEN), the API token generated from https://api.ctl.io/v2/authentication/login - - E(CLC_ACCT_ALIAS), the account alias associated with the Centurylink Cloud. - - Users can set E(CLC_V2_API_URL) to specify an endpoint for pointing to a different CLC environment. """ EXAMPLES = r""" diff --git a/plugins/modules/clc_server_snapshot.py b/plugins/modules/clc_server_snapshot.py index d9eaf9abe1..8f5cd6d218 100644 --- a/plugins/modules/clc_server_snapshot.py +++ b/plugins/modules/clc_server_snapshot.py @@ -16,6 +16,9 @@ description: - An Ansible module to Create, Delete and Restore server snapshots in CenturyLink Cloud. extends_documentation_fragment: - community.general.attributes + - community.general.clc +author: + - "CLC Runner (@clc-runner)" attributes: check_mode: support: full @@ -47,19 +50,6 @@ options: default: 'True' required: false type: str -requirements: - - requests >= 2.5.0 - - clc-sdk -author: "CLC Runner (@clc-runner)" -notes: - - To use this module, it is required to set the below environment variables which enables access to the Centurylink Cloud. - - E(CLC_V2_API_USERNAME), the account login id for the Centurylink Cloud. - - E(CLC_V2_API_PASSWORD), the account password for the Centurylink Cloud. - - Alternatively, the module accepts the API token and account alias. The API token can be generated using the CLC account - login and password using the HTTP API call @ https://api.ctl.io/v2/authentication/login - - E(CLC_V2_API_TOKEN), the API token generated from https://api.ctl.io/v2/authentication/login - - E(CLC_ACCT_ALIAS), the account alias associated with the Centurylink Cloud. - - Users can set E(CLC_V2_API_URL) to specify an endpoint for pointing to a different CLC environment. """ EXAMPLES = r"""