mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-03-22 05:09:12 +00:00
Adding scw_profile parameter to Scaleway module utilities. (#11314)
* Adding scw_profile parameter to Scaleway module utilities.
* Setting param name to profile for consistency and adding scw_profile as an alias.
* Adding changelog fragment.
* Forgot to import 'os' library.
* Type in variable type for Scaleway profile.
* Also forgot to include the yaml library, code taking from plugins/inventory/scaleway.py.
* Adding default 'profile' value of empty string and changing check to a length check.
* Treated wrong variable, checking XDG_CONFIG_HOME is a string.
* Explicitly setting default of environment path vars to empty strings instead of None.
* Letting ruff reformat the dict for 'profile'.
* Changes from code review.
* Fixing ruff formatting issue with error message.
* Properly catching PyYAML import issues.
* Adding PyYAML requirement when 'profile' is used.
* Ruff wants an extra line after the PyYAML import code.
* Fixing PyYAML dependency code as per review.
* Removing extraneous var declaration.
* Moving SCW_CONFIG loading to a function.
* Fixing type errors with os.getenv calls.
* Cannot send None to os.path.exists() or open().
* Oops, inversed logic!
* Setting os.getenv() default to empty string so it is never None.
* None check no longer needed as scw_config_path is never None.
---------
(cherry picked from commit b3c066b99f)
Co-authored-by: Greg Harvey <greg.harvey@gmail.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
64 lines
2 KiB
Python
64 lines
2 KiB
Python
# Copyright (c) 2018, Yanis Guenane <yanis+ansible@guenane.org>
|
|
# 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 annotations
|
|
|
|
|
|
class ModuleDocFragment:
|
|
# Standard documentation fragment
|
|
DOCUMENTATION = r"""
|
|
options:
|
|
api_token:
|
|
description:
|
|
- Scaleway OAuth token.
|
|
- This is required if O(profile) is not specified.
|
|
type: str
|
|
aliases: [oauth_token]
|
|
api_url:
|
|
description:
|
|
- Scaleway API URL.
|
|
type: str
|
|
default: https://api.scaleway.com
|
|
aliases: [base_url]
|
|
api_timeout:
|
|
description:
|
|
- HTTP timeout to Scaleway API in seconds.
|
|
type: int
|
|
default: 30
|
|
aliases: [timeout]
|
|
profile:
|
|
description:
|
|
- The config profile in config file to load the Scaleway OAuth token from, use instead of O(api_token).
|
|
- It is also possible to set E(SCW_PROFILE) to use a SCW CLI config profile.
|
|
type: str
|
|
aliases: [scw_profile]
|
|
version_added: 12.2.0
|
|
query_parameters:
|
|
description:
|
|
- List of parameters passed to the query string.
|
|
type: dict
|
|
default: {}
|
|
validate_certs:
|
|
description:
|
|
- Validate SSL certs of the Scaleway API.
|
|
type: bool
|
|
default: true
|
|
requirements:
|
|
- PyYAML (when O(profile) is used)
|
|
notes:
|
|
- Also see the API documentation on U(https://developer.scaleway.com/).
|
|
- If O(api_token) is not set within the module, the following environment variables can be used in decreasing order of precedence
|
|
E(SCW_TOKEN), E(SCW_API_KEY), E(SCW_OAUTH_TOKEN) or E(SCW_API_TOKEN).
|
|
- If one wants to use a different O(api_url) one can also set the E(SCW_API_URL) environment variable.
|
|
"""
|
|
|
|
ACTIONGROUP_SCALEWAY = r"""
|
|
options: {}
|
|
attributes:
|
|
action_group:
|
|
description: Use C(group/community.general.scaleway) in C(module_defaults) to set defaults for this module.
|
|
support: full
|
|
membership:
|
|
- community.general.scaleway
|
|
"""
|