diff --git a/plugins/module_utils/alicloud_ecs.py b/plugins/module_utils/alicloud_ecs.py index dacdf9459b..fb9c1bfb9d 100644 --- a/plugins/module_utils/alicloud_ecs.py +++ b/plugins/module_utils/alicloud_ecs.py @@ -14,7 +14,12 @@ from __future__ import annotations import os import json import traceback -from ansible.module_utils.basic import env_fallback, AnsibleModule +import typing as t + +from ansible.module_utils.basic import env_fallback + +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule try: import footmark diff --git a/plugins/module_utils/android_sdkmanager.py b/plugins/module_utils/android_sdkmanager.py index ac5133f0bd..9fd51d044c 100644 --- a/plugins/module_utils/android_sdkmanager.py +++ b/plugins/module_utils/android_sdkmanager.py @@ -6,11 +6,14 @@ from __future__ import annotations import re - -from ansible.module_utils.basic import AnsibleModule +import typing as t from ansible_collections.community.general.plugins.module_utils.cmd_runner import CmdRunner, cmd_runner_fmt +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule + + __state_map = {"present": "--install", "absent": "--uninstall"} # sdkmanager --help 2>&1 | grep -A 2 -- --channel diff --git a/plugins/module_utils/btrfs.py b/plugins/module_utils/btrfs.py index 17f16f54e6..612e912ef9 100644 --- a/plugins/module_utils/btrfs.py +++ b/plugins/module_utils/btrfs.py @@ -4,12 +4,14 @@ from __future__ import annotations -from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.common.text.converters import to_bytes import re import os import typing as t +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule + def normalize_subvolume_path(path): """ diff --git a/plugins/module_utils/cmd_runner.py b/plugins/module_utils/cmd_runner.py index d54e3b8a87..419d6c276f 100644 --- a/plugins/module_utils/cmd_runner.py +++ b/plugins/module_utils/cmd_runner.py @@ -7,13 +7,13 @@ from __future__ import annotations import os import typing as t -from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.common.collections import is_sequence from ansible.module_utils.common.locale import get_best_parsable_locale from ansible_collections.community.general.plugins.module_utils import cmd_runner_fmt if t.TYPE_CHECKING: from collections.abc import Callable, Sequence + from ansible.module_utils.basic import AnsibleModule def _ensure_list(value): diff --git a/plugins/module_utils/consul.py b/plugins/module_utils/consul.py index c9e72d79f5..f3f18bacf6 100644 --- a/plugins/module_utils/consul.py +++ b/plugins/module_utils/consul.py @@ -12,9 +12,11 @@ import typing as t from urllib import error as urllib_error from urllib.parse import urlencode -from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.urls import open_url +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule + def get_consul_url(configuration): return f"{configuration.scheme}://{configuration.host}:{configuration.port}/v1" diff --git a/plugins/module_utils/database.py b/plugins/module_utils/database.py index 8a092f33ce..7cb0983b4e 100644 --- a/plugins/module_utils/database.py +++ b/plugins/module_utils/database.py @@ -14,8 +14,10 @@ from __future__ import annotations import re +import typing as t -from ansible.module_utils.basic import AnsibleModule +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule # Input patterns for is_input_dangerous function: diff --git a/plugins/module_utils/deps.py b/plugins/module_utils/deps.py index a6e748ee18..81f2ce4d39 100644 --- a/plugins/module_utils/deps.py +++ b/plugins/module_utils/deps.py @@ -7,9 +7,13 @@ from __future__ import annotations import traceback +import typing as t from contextlib import contextmanager -from ansible.module_utils.basic import missing_required_lib, AnsibleModule +from ansible.module_utils.basic import missing_required_lib + +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule _deps = dict() diff --git a/plugins/module_utils/django.py b/plugins/module_utils/django.py index 31605d9cdb..987f3a27f6 100644 --- a/plugins/module_utils/django.py +++ b/plugins/module_utils/django.py @@ -6,14 +6,14 @@ from __future__ import annotations import typing as t -from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.common.dict_transformations import dict_merge from ansible_collections.community.general.plugins.module_utils import cmd_runner_fmt from ansible_collections.community.general.plugins.module_utils.python_runner import PythonRunner from ansible_collections.community.general.plugins.module_utils.module_helper import ModuleHelper if t.TYPE_CHECKING: - from .cmd_runner_fmt import ArgFormatType + from ansible.module_utils.basic import AnsibleModule + from ansible_collections.community.general.plugins.module_utils.cmd_runner_fmt import ArgFormatType django_std_args = dict( diff --git a/plugins/module_utils/gandi_livedns_api.py b/plugins/module_utils/gandi_livedns_api.py index 386e811ac3..44368cc274 100644 --- a/plugins/module_utils/gandi_livedns_api.py +++ b/plugins/module_utils/gandi_livedns_api.py @@ -5,10 +5,13 @@ from __future__ import annotations import json +import typing as t -from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.urls import fetch_url +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule + class GandiLiveDNSAPI: api_endpoint = "https://api.gandi.net/v5/livedns" diff --git a/plugins/module_utils/gconftool2.py b/plugins/module_utils/gconftool2.py index 027fbf6c79..c483ba3791 100644 --- a/plugins/module_utils/gconftool2.py +++ b/plugins/module_utils/gconftool2.py @@ -4,10 +4,13 @@ from __future__ import annotations -from ansible.module_utils.basic import AnsibleModule +import typing as t from ansible_collections.community.general.plugins.module_utils.cmd_runner import CmdRunner, cmd_runner_fmt +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule + _state_map = { "present": "--set", diff --git a/plugins/module_utils/gio_mime.py b/plugins/module_utils/gio_mime.py index b6e722d29f..09dcc75903 100644 --- a/plugins/module_utils/gio_mime.py +++ b/plugins/module_utils/gio_mime.py @@ -4,10 +4,13 @@ from __future__ import annotations -from ansible.module_utils.basic import AnsibleModule +import typing as t from ansible_collections.community.general.plugins.module_utils.cmd_runner import CmdRunner, cmd_runner_fmt +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule + def gio_mime_runner(module: AnsibleModule, **kwargs) -> CmdRunner: return CmdRunner( diff --git a/plugins/module_utils/gitlab.py b/plugins/module_utils/gitlab.py index c08b61456c..1753b82787 100644 --- a/plugins/module_utils/gitlab.py +++ b/plugins/module_utils/gitlab.py @@ -5,15 +5,16 @@ from __future__ import annotations +import traceback import typing as t +from urllib.parse import urljoin -from ansible.module_utils.basic import missing_required_lib, AnsibleModule +from ansible.module_utils.basic import missing_required_lib from ansible_collections.community.general.plugins.module_utils.version import LooseVersion -from urllib.parse import urljoin - -import traceback +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule def _determine_list_all_kwargs(version) -> dict[str, t.Any]: diff --git a/plugins/module_utils/heroku.py b/plugins/module_utils/heroku.py index 852525f78a..ec5c50fdad 100644 --- a/plugins/module_utils/heroku.py +++ b/plugins/module_utils/heroku.py @@ -5,8 +5,12 @@ from __future__ import annotations import traceback +import typing as t -from ansible.module_utils.basic import env_fallback, missing_required_lib, AnsibleModule +from ansible.module_utils.basic import env_fallback, missing_required_lib + +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule HAS_HEROKU = False HEROKU_IMP_ERR = None diff --git a/plugins/module_utils/ibm_sa_utils.py b/plugins/module_utils/ibm_sa_utils.py index 5988a06858..a4108c7374 100644 --- a/plugins/module_utils/ibm_sa_utils.py +++ b/plugins/module_utils/ibm_sa_utils.py @@ -7,9 +7,13 @@ from __future__ import annotations import traceback +import typing as t from functools import wraps -from ansible.module_utils.basic import missing_required_lib, AnsibleModule +from ansible.module_utils.basic import missing_required_lib + +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule PYXCLI_INSTALLED = True PYXCLI_IMP_ERR = None diff --git a/plugins/module_utils/influxdb.py b/plugins/module_utils/influxdb.py index 7057b24fb9..a66c64af80 100644 --- a/plugins/module_utils/influxdb.py +++ b/plugins/module_utils/influxdb.py @@ -5,11 +5,15 @@ from __future__ import annotations import traceback +import typing as t -from ansible.module_utils.basic import missing_required_lib, AnsibleModule +from ansible.module_utils.basic import missing_required_lib from ansible_collections.community.general.plugins.module_utils.version import LooseVersion +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule + REQUESTS_IMP_ERR = None try: import requests.exceptions # noqa: F401, pylint: disable=unused-import diff --git a/plugins/module_utils/ipa.py b/plugins/module_utils/ipa.py index bcd475e658..c7ef98604b 100644 --- a/plugins/module_utils/ipa.py +++ b/plugins/module_utils/ipa.py @@ -13,14 +13,18 @@ from __future__ import annotations import json import os +import re import socket import uuid +import typing as t +from urllib.parse import quote -import re +from ansible.module_utils.basic import env_fallback, AnsibleFallbackNotFound from ansible.module_utils.common.text.converters import to_bytes, to_text from ansible.module_utils.urls import fetch_url, HAS_GSSAPI -from ansible.module_utils.basic import env_fallback, AnsibleFallbackNotFound, AnsibleModule -from urllib.parse import quote + +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule def _env_then_dns_fallback(*args, **kwargs): diff --git a/plugins/module_utils/ldap.py b/plugins/module_utils/ldap.py index f9534ad154..d226f9ab2b 100644 --- a/plugins/module_utils/ldap.py +++ b/plugins/module_utils/ldap.py @@ -9,8 +9,10 @@ from __future__ import annotations import re import traceback +import typing as t -from ansible.module_utils.basic import AnsibleModule +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule try: import ldap diff --git a/plugins/module_utils/locale_gen.py b/plugins/module_utils/locale_gen.py index d6ca6c8c2e..f43337f08b 100644 --- a/plugins/module_utils/locale_gen.py +++ b/plugins/module_utils/locale_gen.py @@ -4,10 +4,13 @@ from __future__ import annotations -from ansible.module_utils.basic import AnsibleModule +import typing as t from ansible_collections.community.general.plugins.module_utils.cmd_runner import CmdRunner, cmd_runner_fmt +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule + def locale_runner(module: AnsibleModule) -> CmdRunner: runner = CmdRunner( diff --git a/plugins/module_utils/manageiq.py b/plugins/module_utils/manageiq.py index 6c04bb495c..5214251429 100644 --- a/plugins/module_utils/manageiq.py +++ b/plugins/module_utils/manageiq.py @@ -17,7 +17,10 @@ import os import traceback import typing as t -from ansible.module_utils.basic import missing_required_lib, AnsibleModule +from ansible.module_utils.basic import missing_required_lib + +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule CLIENT_IMP_ERR = None try: diff --git a/plugins/module_utils/ocapi_utils.py b/plugins/module_utils/ocapi_utils.py index a6747c387b..11b5787cfb 100644 --- a/plugins/module_utils/ocapi_utils.py +++ b/plugins/module_utils/ocapi_utils.py @@ -8,13 +8,16 @@ from __future__ import annotations import json import os import uuid +import typing as t from urllib.error import URLError, HTTPError from urllib.parse import urlparse from ansible.module_utils.urls import open_url -from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.common.text.converters import to_native +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule + GET_HEADERS = {"accept": "application/json"} PUT_HEADERS = {"content-type": "application/json", "accept": "application/json"} diff --git a/plugins/module_utils/online.py b/plugins/module_utils/online.py index eb9c49c188..95351d494c 100644 --- a/plugins/module_utils/online.py +++ b/plugins/module_utils/online.py @@ -6,10 +6,14 @@ from __future__ import annotations import json import sys +import typing as t -from ansible.module_utils.basic import env_fallback, AnsibleModule +from ansible.module_utils.basic import env_fallback from ansible.module_utils.urls import fetch_url +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule + def online_argument_spec(): return dict( diff --git a/plugins/module_utils/pacemaker.py b/plugins/module_utils/pacemaker.py index d44d08ffec..01f675f9f6 100644 --- a/plugins/module_utils/pacemaker.py +++ b/plugins/module_utils/pacemaker.py @@ -5,11 +5,14 @@ from __future__ import annotations import re - -from ansible.module_utils.basic import AnsibleModule +import typing as t from ansible_collections.community.general.plugins.module_utils.cmd_runner import CmdRunner, cmd_runner_fmt +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule + + _state_map = { "present": "create", "absent": "remove", diff --git a/plugins/module_utils/pipx.py b/plugins/module_utils/pipx.py index 12b562d0cf..093a251ac2 100644 --- a/plugins/module_utils/pipx.py +++ b/plugins/module_utils/pipx.py @@ -4,13 +4,14 @@ from __future__ import annotations - import json - -from ansible.module_utils.basic import AnsibleModule +import typing as t from ansible_collections.community.general.plugins.module_utils.cmd_runner import CmdRunner, cmd_runner_fmt +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule + pipx_common_argspec = { "global": dict(type="bool", default=False), diff --git a/plugins/module_utils/pkg_req.py b/plugins/module_utils/pkg_req.py index 3943e16be5..360fb36fe8 100644 --- a/plugins/module_utils/pkg_req.py +++ b/plugins/module_utils/pkg_req.py @@ -4,10 +4,13 @@ from __future__ import annotations -from ansible.module_utils.basic import AnsibleModule +import typing as t from ansible_collections.community.general.plugins.module_utils import deps +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule + with deps.declare("packaging"): from packaging.requirements import Requirement diff --git a/plugins/module_utils/puppet.py b/plugins/module_utils/puppet.py index 2e7998f6f7..a43eeace78 100644 --- a/plugins/module_utils/puppet.py +++ b/plugins/module_utils/puppet.py @@ -4,13 +4,14 @@ from __future__ import annotations - import os - -from ansible.module_utils.basic import AnsibleModule +import typing as t from ansible_collections.community.general.plugins.module_utils.cmd_runner import CmdRunner, cmd_runner_fmt +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule + _PUPPET_PATH_PREFIX = ["/opt/puppetlabs/bin"] diff --git a/plugins/module_utils/python_runner.py b/plugins/module_utils/python_runner.py index 9455c1dc1b..12826add1c 100644 --- a/plugins/module_utils/python_runner.py +++ b/plugins/module_utils/python_runner.py @@ -5,11 +5,13 @@ from __future__ import annotations import os - -from ansible.module_utils.basic import AnsibleModule +import typing as t from ansible_collections.community.general.plugins.module_utils.cmd_runner import CmdRunner, _ensure_list +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule + class PythonRunner(CmdRunner): def __init__( diff --git a/plugins/module_utils/redfish_utils.py b/plugins/module_utils/redfish_utils.py index f8eeeb459c..80653d4c99 100644 --- a/plugins/module_utils/redfish_utils.py +++ b/plugins/module_utils/redfish_utils.py @@ -10,7 +10,8 @@ import os import random import string import time -from ansible.module_utils.basic import AnsibleModule +import typing as t + from ansible.module_utils.urls import open_url from ansible.module_utils.common.text.converters import to_native from ansible.module_utils.common.text.converters import to_text @@ -18,6 +19,10 @@ from ansible.module_utils.common.text.converters import to_bytes from urllib.error import URLError, HTTPError from urllib.parse import urlparse +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule + + GET_HEADERS = {"accept": "application/json", "OData-Version": "4.0"} POST_HEADERS = {"content-type": "application/json", "accept": "application/json", "OData-Version": "4.0"} PATCH_HEADERS = {"content-type": "application/json", "accept": "application/json", "OData-Version": "4.0"} diff --git a/plugins/module_utils/redis.py b/plugins/module_utils/redis.py index cad7e64a94..7240cc320a 100644 --- a/plugins/module_utils/redis.py +++ b/plugins/module_utils/redis.py @@ -5,9 +5,13 @@ from __future__ import annotations +import traceback +import typing as t + from ansible.module_utils.basic import missing_required_lib, AnsibleModule -import traceback +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule REDIS_IMP_ERR: str | None = None try: diff --git a/plugins/module_utils/rundeck.py b/plugins/module_utils/rundeck.py index 26a0e8b031..d089b77bf0 100644 --- a/plugins/module_utils/rundeck.py +++ b/plugins/module_utils/rundeck.py @@ -6,10 +6,13 @@ from __future__ import annotations import json import traceback +import typing as t -from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.urls import fetch_url, url_argument_spec +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule + def api_argument_spec(): """ diff --git a/plugins/module_utils/scaleway.py b/plugins/module_utils/scaleway.py index 365ee1bf11..924ca9e537 100644 --- a/plugins/module_utils/scaleway.py +++ b/plugins/module_utils/scaleway.py @@ -10,15 +10,19 @@ import sys import datetime import time import traceback +import typing as t from urllib.parse import urlencode -from ansible.module_utils.basic import env_fallback, missing_required_lib, AnsibleModule +from ansible.module_utils.basic import env_fallback, missing_required_lib from ansible.module_utils.urls import fetch_url from ansible_collections.community.general.plugins.module_utils.datetime import ( now, ) +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule + SCALEWAY_SECRET_IMP_ERR: str | None = None try: from passlib.hash import argon2 diff --git a/plugins/module_utils/snap.py b/plugins/module_utils/snap.py index 403a31abe9..31f869c08b 100644 --- a/plugins/module_utils/snap.py +++ b/plugins/module_utils/snap.py @@ -4,10 +4,13 @@ from __future__ import annotations -from ansible.module_utils.basic import AnsibleModule +import typing as t from ansible_collections.community.general.plugins.module_utils.cmd_runner import CmdRunner, cmd_runner_fmt +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule + _alias_state_map = dict( present="alias", diff --git a/plugins/module_utils/systemd.py b/plugins/module_utils/systemd.py index 75cae4a5a3..27f12cf869 100644 --- a/plugins/module_utils/systemd.py +++ b/plugins/module_utils/systemd.py @@ -4,10 +4,13 @@ from __future__ import annotations -from ansible.module_utils.basic import AnsibleModule +import typing as t from ansible_collections.community.general.plugins.module_utils.cmd_runner import CmdRunner, cmd_runner_fmt +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule + def systemd_runner(module: AnsibleModule, command, **kwargs) -> CmdRunner: arg_formats = dict( diff --git a/plugins/module_utils/vexata.py b/plugins/module_utils/vexata.py index d4d7769ed9..d6d81cf64e 100644 --- a/plugins/module_utils/vexata.py +++ b/plugins/module_utils/vexata.py @@ -5,6 +5,7 @@ from __future__ import annotations +import typing as t HAS_VEXATAPI = True try: @@ -12,7 +13,11 @@ try: except ImportError: HAS_VEXATAPI = False -from ansible.module_utils.basic import env_fallback, AnsibleModule +from ansible.module_utils.basic import env_fallback + +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule + VXOS_VERSION = None diff --git a/plugins/module_utils/wdc_redfish_utils.py b/plugins/module_utils/wdc_redfish_utils.py index 615db488f3..39a055652c 100644 --- a/plugins/module_utils/wdc_redfish_utils.py +++ b/plugins/module_utils/wdc_redfish_utils.py @@ -5,16 +5,19 @@ from __future__ import annotations import datetime +import os import re import time import tarfile -import os +import typing as t from urllib.parse import urlparse, urlunparse -from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.urls import fetch_file from ansible_collections.community.general.plugins.module_utils.redfish_utils import RedfishUtils +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule + class WdcRedfishUtils(RedfishUtils): """Extension to RedfishUtils to support WDC enclosures.""" diff --git a/plugins/module_utils/xdg_mime.py b/plugins/module_utils/xdg_mime.py index 6ee9d0144a..dd45db6fb7 100644 --- a/plugins/module_utils/xdg_mime.py +++ b/plugins/module_utils/xdg_mime.py @@ -5,10 +5,13 @@ from __future__ import annotations -from ansible.module_utils.basic import AnsibleModule +import typing as t from ansible_collections.community.general.plugins.module_utils.cmd_runner import CmdRunner, cmd_runner_fmt +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule + def xdg_mime_runner(module: AnsibleModule, **kwargs) -> CmdRunner: return CmdRunner( diff --git a/plugins/module_utils/xenserver.py b/plugins/module_utils/xenserver.py index e0a7f64976..24368b10fd 100644 --- a/plugins/module_utils/xenserver.py +++ b/plugins/module_utils/xenserver.py @@ -20,9 +20,12 @@ except ImportError: HAS_XENAPI = False XENAPI_IMP_ERR = traceback.format_exc() -from ansible.module_utils.basic import env_fallback, missing_required_lib, AnsibleModule +from ansible.module_utils.basic import env_fallback, missing_required_lib from ansible.module_utils.ansible_release import __version__ as ANSIBLE_VERSION +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule + def xenserver_common_argument_spec(): return dict( diff --git a/plugins/module_utils/xfconf.py b/plugins/module_utils/xfconf.py index 08fc1a897a..fb5a00df25 100644 --- a/plugins/module_utils/xfconf.py +++ b/plugins/module_utils/xfconf.py @@ -4,10 +4,14 @@ from __future__ import annotations -from ansible.module_utils.basic import AnsibleModule +import typing as t + from ansible.module_utils.parsing.convert_bool import boolean from ansible_collections.community.general.plugins.module_utils.cmd_runner import CmdRunner, cmd_runner_fmt +if t.TYPE_CHECKING: + from ansible.module_utils.basic import AnsibleModule + @cmd_runner_fmt.unpack_args def _values_fmt(values, value_types):