From aa9e7b6dfba3877b9a6c0aa143d7026c66f0e2a4 Mon Sep 17 00:00:00 2001 From: Felix Fontein Date: Sun, 27 Apr 2025 22:18:29 +0200 Subject: [PATCH] Add isort and flake8 to CI (#869) * Run isort. * Clean up unused assignments. * Add flake8 linting step. --- antsibull-nox.toml | 6 +- noxfile.py | 1 + plugins/action/openssl_privatekey_pipe.py | 13 +-- plugins/doc_fragments/acme.py | 2 + plugins/doc_fragments/attributes.py | 4 +- plugins/doc_fragments/ecs_credential.py | 4 +- plugins/doc_fragments/module_certificate.py | 2 + plugins/doc_fragments/module_csr.py | 2 + plugins/doc_fragments/module_privatekey.py | 2 + .../module_privatekey_convert.py | 2 + plugins/doc_fragments/name_encoding.py | 2 + plugins/filter/gpg_fingerprint.py | 14 +++- plugins/filter/openssl_csr_info.py | 11 +-- plugins/filter/openssl_privatekey_info.py | 11 +-- plugins/filter/openssl_publickey_info.py | 11 +-- plugins/filter/parse_serial.py | 9 ++- plugins/filter/split_pem.py | 9 ++- plugins/filter/to_serial.py | 5 +- plugins/filter/x509_certificate_info.py | 11 +-- plugins/filter/x509_crl_info.py | 20 ++--- plugins/lookup/gpg_fingerprint.py | 16 ++-- plugins/module_utils/_version.py | 5 +- plugins/module_utils/acme/account.py | 3 +- plugins/module_utils/acme/acme.py | 30 +++---- .../module_utils/acme/backend_cryptography.py | 36 ++++----- .../module_utils/acme/backend_openssl_cli.py | 22 ++--- plugins/module_utils/acme/backends.py | 9 +-- plugins/module_utils/acme/certificate.py | 29 +++---- plugins/module_utils/acme/certificates.py | 5 +- plugins/module_utils/acme/challenges.py | 13 +-- plugins/module_utils/acme/errors.py | 6 +- plugins/module_utils/acme/io.py | 11 ++- plugins/module_utils/acme/orders.py | 16 ++-- plugins/module_utils/acme/utils.py | 17 ++-- plugins/module_utils/argspec.py | 2 + plugins/module_utils/crypto/_asn1.py | 2 + plugins/module_utils/crypto/_obj2txt.py | 2 + plugins/module_utils/crypto/_objects.py | 3 + plugins/module_utils/crypto/_objects_data.py | 2 + plugins/module_utils/crypto/basic.py | 9 ++- .../module_utils/crypto/cryptography_crl.py | 22 +++-- .../crypto/cryptography_support.py | 34 ++++---- plugins/module_utils/crypto/math.py | 2 + .../crypto/module_backends/certificate.py | 39 ++++----- .../module_backends/certificate_acme.py | 9 ++- .../module_backends/certificate_entrust.py | 26 +++--- .../module_backends/certificate_info.py | 24 +++--- .../module_backends/certificate_ownca.py | 27 +++---- .../module_backends/certificate_selfsigned.py | 15 ++-- .../crypto/module_backends/common.py | 7 +- .../crypto/module_backends/crl_info.py | 17 ++-- .../crypto/module_backends/csr.py | 65 ++++++++------- .../crypto/module_backends/csr_info.py | 17 ++-- .../crypto/module_backends/privatekey.py | 54 ++++++------- .../module_backends/privatekey_convert.py | 32 ++++---- .../crypto/module_backends/privatekey_info.py | 23 +++--- .../crypto/module_backends/publickey_info.py | 15 ++-- plugins/module_utils/crypto/openssh.py | 4 +- plugins/module_utils/crypto/pem.py | 2 + plugins/module_utils/crypto/support.py | 20 +++-- plugins/module_utils/ecs/api.py | 8 +- plugins/module_utils/gnupg/cli.py | 4 +- plugins/module_utils/io.py | 4 +- .../module_utils/openssh/backends/common.py | 3 +- .../openssh/backends/keypair_backend.py | 28 ++++--- plugins/module_utils/openssh/certificate.py | 11 ++- plugins/module_utils/openssh/cryptography.py | 16 +++- plugins/module_utils/openssh/utils.py | 3 + plugins/module_utils/serial.py | 3 +- plugins/module_utils/time.py | 3 +- plugins/module_utils/version.py | 4 +- plugins/modules/acme_account.py | 16 ++-- plugins/modules/acme_account_info.py | 19 ++--- plugins/modules/acme_ari_info.py | 9 ++- plugins/modules/acme_certificate.py | 41 ++++------ .../acme_certificate_deactivate_authz.py | 19 ++--- .../modules/acme_certificate_order_create.py | 10 +-- .../acme_certificate_order_finalize.py | 10 +-- .../modules/acme_certificate_order_info.py | 10 +-- .../acme_certificate_order_validate.py | 10 +-- .../modules/acme_certificate_renewal_info.py | 15 ++-- plugins/modules/acme_certificate_revoke.py | 17 ++-- plugins/modules/acme_challenge_cert_helper.py | 29 +++---- plugins/modules/acme_inspect.py | 10 +-- plugins/modules/certificate_complete_chain.py | 28 ++++--- plugins/modules/crypto_info.py | 26 +++--- plugins/modules/ecs_certificate.py | 33 ++++---- plugins/modules/ecs_domain.py | 7 +- plugins/modules/get_certificate.py | 19 ++--- plugins/modules/luks_device.py | 6 +- plugins/modules/openssh_cert.py | 9 ++- plugins/modules/openssh_keypair.py | 5 +- plugins/modules/openssl_csr.py | 22 +++-- plugins/modules/openssl_csr_info.py | 4 +- plugins/modules/openssl_csr_pipe.py | 12 +-- plugins/modules/openssl_dhparam.py | 16 ++-- plugins/modules/openssl_pkcs12.py | 50 ++++++------ plugins/modules/openssl_privatekey.py | 20 +++-- plugins/modules/openssl_privatekey_convert.py | 20 +++-- plugins/modules/openssl_privatekey_info.py | 4 +- plugins/modules/openssl_privatekey_pipe.py | 2 + plugins/modules/openssl_publickey.py | 36 ++++----- plugins/modules/openssl_publickey_info.py | 4 +- plugins/modules/openssl_signature.py | 17 ++-- plugins/modules/openssl_signature_info.py | 17 ++-- plugins/modules/x509_certificate.py | 28 +++---- plugins/modules/x509_certificate_convert.py | 37 +++++---- plugins/modules/x509_certificate_info.py | 8 +- plugins/modules/x509_certificate_pipe.py | 19 ++--- plugins/modules/x509_crl.py | 80 +++++++++---------- plugins/modules/x509_crl_info.py | 11 ++- plugins/plugin_utils/action_module.py | 41 +++++----- plugins/plugin_utils/filter_module.py | 2 + plugins/plugin_utils/gnupg.py | 14 ++-- tests/nox-config-flake8.ini | 13 +++ tests/nox-config-isort.cfg | 7 ++ .../plugins/module_utils/acme/backend_data.py | 5 +- .../acme/test_backend_cryptography.py | 23 +++--- .../acme/test_backend_openssl_cli.py | 23 +++--- .../module_utils/acme/test_challenges.py | 14 ++-- .../plugins/module_utils/acme/test_errors.py | 11 +-- .../unit/plugins/module_utils/acme/test_io.py | 8 +- .../plugins/module_utils/acme/test_orders.py | 14 ++-- .../plugins/module_utils/acme/test_utils.py | 12 ++- .../plugins/module_utils/crypto/test_asn1.py | 5 +- .../crypto/test_cryptography_support.py | 24 +++--- .../plugins/module_utils/crypto/test_math.py | 9 ++- .../plugins/module_utils/crypto/test_pem.py | 5 +- .../module_utils/openssh/test_certificate.py | 6 +- .../module_utils/openssh/test_cryptography.py | 12 +-- .../module_utils/openssh/test_utils.py | 9 ++- tests/unit/plugins/module_utils/test_time.py | 10 +-- .../unit/plugins/modules/test_luks_device.py | 2 + 133 files changed, 1036 insertions(+), 908 deletions(-) create mode 100644 tests/nox-config-flake8.ini create mode 100644 tests/nox-config-isort.cfg diff --git a/antsibull-nox.toml b/antsibull-nox.toml index 7b433d22..ea95b43b 100644 --- a/antsibull-nox.toml +++ b/antsibull-nox.toml @@ -8,9 +8,11 @@ [sessions] [sessions.lint] -run_isort = false +run_isort = true +isort_config = "tests/nox-config-isort.cfg" run_black = false -run_flake8 = false +run_flake8 = true +flake8_config = "tests/nox-config-flake8.ini" run_pylint = false run_yamllint = true yamllint_config = ".yamllint" diff --git a/noxfile.py b/noxfile.py index 4fac681e..6d8607cf 100644 --- a/noxfile.py +++ b/noxfile.py @@ -10,6 +10,7 @@ import sys import nox + try: import antsibull_nox except ImportError: diff --git a/plugins/action/openssl_privatekey_pipe.py b/plugins/action/openssl_privatekey_pipe.py index dc864ab0..8433c4c6 100644 --- a/plugins/action/openssl_privatekey_pipe.py +++ b/plugins/action/openssl_privatekey_pipe.py @@ -5,22 +5,23 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type import base64 -from ansible.module_utils.common.text.converters import to_native, to_bytes - -from ansible_collections.community.crypto.plugins.plugin_utils.action_module import ActionModuleBase - +from ansible.module_utils.common.text.converters import to_bytes, to_native from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( OpenSSLObjectError, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.privatekey import ( - select_backend, get_privatekey_argument_spec, + select_backend, +) +from ansible_collections.community.crypto.plugins.plugin_utils.action_module import ( + ActionModuleBase, ) diff --git a/plugins/doc_fragments/acme.py b/plugins/doc_fragments/acme.py index 0838ce9d..e7623721 100644 --- a/plugins/doc_fragments/acme.py +++ b/plugins/doc_fragments/acme.py @@ -5,6 +5,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type diff --git a/plugins/doc_fragments/attributes.py b/plugins/doc_fragments/attributes.py index ff1ac659..310c787a 100644 --- a/plugins/doc_fragments/attributes.py +++ b/plugins/doc_fragments/attributes.py @@ -4,7 +4,9 @@ # GNU General Public License v3.0+ (see COPYING 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) +from __future__ import absolute_import, division, print_function + + __metaclass__ = type diff --git a/plugins/doc_fragments/ecs_credential.py b/plugins/doc_fragments/ecs_credential.py index 90a28e4d..296e1e86 100644 --- a/plugins/doc_fragments/ecs_credential.py +++ b/plugins/doc_fragments/ecs_credential.py @@ -4,7 +4,9 @@ # 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) +from __future__ import absolute_import, division, print_function + + __metaclass__ = type diff --git a/plugins/doc_fragments/module_certificate.py b/plugins/doc_fragments/module_certificate.py index c1f7b281..cae8cc94 100644 --- a/plugins/doc_fragments/module_certificate.py +++ b/plugins/doc_fragments/module_certificate.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type diff --git a/plugins/doc_fragments/module_csr.py b/plugins/doc_fragments/module_csr.py index 90c8ba15..5d97fd91 100644 --- a/plugins/doc_fragments/module_csr.py +++ b/plugins/doc_fragments/module_csr.py @@ -5,6 +5,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type diff --git a/plugins/doc_fragments/module_privatekey.py b/plugins/doc_fragments/module_privatekey.py index 8e3cbe2d..daee6bc0 100644 --- a/plugins/doc_fragments/module_privatekey.py +++ b/plugins/doc_fragments/module_privatekey.py @@ -5,6 +5,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type diff --git a/plugins/doc_fragments/module_privatekey_convert.py b/plugins/doc_fragments/module_privatekey_convert.py index fbe3031b..a55be1e7 100644 --- a/plugins/doc_fragments/module_privatekey_convert.py +++ b/plugins/doc_fragments/module_privatekey_convert.py @@ -5,6 +5,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type diff --git a/plugins/doc_fragments/name_encoding.py b/plugins/doc_fragments/name_encoding.py index 14c88bd5..7f3030cf 100644 --- a/plugins/doc_fragments/name_encoding.py +++ b/plugins/doc_fragments/name_encoding.py @@ -5,6 +5,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type diff --git a/plugins/filter/gpg_fingerprint.py b/plugins/filter/gpg_fingerprint.py index 5de27994..982fc823 100644 --- a/plugins/filter/gpg_fingerprint.py +++ b/plugins/filter/gpg_fingerprint.py @@ -3,7 +3,9 @@ # 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) +from __future__ import absolute_import, division, print_function + + __metaclass__ = type DOCUMENTATION = r""" @@ -43,9 +45,13 @@ _value: from ansible.errors import AnsibleFilterError from ansible.module_utils.common.text.converters import to_bytes, to_native from ansible.module_utils.six import string_types - -from ansible_collections.community.crypto.plugins.module_utils.gnupg.cli import GPGError, get_fingerprint_from_bytes -from ansible_collections.community.crypto.plugins.plugin_utils.gnupg import PluginGPGRunner +from ansible_collections.community.crypto.plugins.module_utils.gnupg.cli import ( + GPGError, + get_fingerprint_from_bytes, +) +from ansible_collections.community.crypto.plugins.plugin_utils.gnupg import ( + PluginGPGRunner, +) def gpg_fingerprint(input): diff --git a/plugins/filter/openssl_csr_info.py b/plugins/filter/openssl_csr_info.py index 32dc79ba..3552cc60 100644 --- a/plugins/filter/openssl_csr_info.py +++ b/plugins/filter/openssl_csr_info.py @@ -5,6 +5,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type DOCUMENTATION = r""" @@ -277,18 +279,17 @@ _value: """ from ansible.errors import AnsibleFilterError -from ansible.module_utils.six import string_types from ansible.module_utils.common.text.converters import to_bytes, to_native - +from ansible.module_utils.six import string_types from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( OpenSSLObjectError, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.csr_info import ( get_csr_info, ) - -from ansible_collections.community.crypto.plugins.plugin_utils.filter_module import FilterModuleMock +from ansible_collections.community.crypto.plugins.plugin_utils.filter_module import ( + FilterModuleMock, +) def openssl_csr_info_filter(data, name_encoding='ignore'): diff --git a/plugins/filter/openssl_privatekey_info.py b/plugins/filter/openssl_privatekey_info.py index 6af341ed..7a50444a 100644 --- a/plugins/filter/openssl_privatekey_info.py +++ b/plugins/filter/openssl_privatekey_info.py @@ -5,6 +5,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type DOCUMENTATION = r""" @@ -149,19 +151,18 @@ _value: """ from ansible.errors import AnsibleFilterError -from ansible.module_utils.six import string_types from ansible.module_utils.common.text.converters import to_bytes, to_native - +from ansible.module_utils.six import string_types from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( OpenSSLObjectError, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.privatekey_info import ( PrivateKeyParseError, get_privatekey_info, ) - -from ansible_collections.community.crypto.plugins.plugin_utils.filter_module import FilterModuleMock +from ansible_collections.community.crypto.plugins.plugin_utils.filter_module import ( + FilterModuleMock, +) def openssl_privatekey_info_filter(data, passphrase=None, return_private_key_data=False): diff --git a/plugins/filter/openssl_publickey_info.py b/plugins/filter/openssl_publickey_info.py index df660a70..04a48c97 100644 --- a/plugins/filter/openssl_publickey_info.py +++ b/plugins/filter/openssl_publickey_info.py @@ -5,6 +5,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type DOCUMENTATION = r""" @@ -126,19 +128,18 @@ _value: """ from ansible.errors import AnsibleFilterError -from ansible.module_utils.six import string_types from ansible.module_utils.common.text.converters import to_bytes, to_native - +from ansible.module_utils.six import string_types from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( OpenSSLObjectError, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.publickey_info import ( PublicKeyParseError, get_publickey_info, ) - -from ansible_collections.community.crypto.plugins.plugin_utils.filter_module import FilterModuleMock +from ansible_collections.community.crypto.plugins.plugin_utils.filter_module import ( + FilterModuleMock, +) def openssl_publickey_info_filter(data): diff --git a/plugins/filter/parse_serial.py b/plugins/filter/parse_serial.py index 78e6080e..8d2d3ba8 100644 --- a/plugins/filter/parse_serial.py +++ b/plugins/filter/parse_serial.py @@ -3,7 +3,9 @@ # 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) +from __future__ import absolute_import, division, print_function + + __metaclass__ = type DOCUMENTATION = r""" @@ -43,8 +45,9 @@ _value: from ansible.errors import AnsibleFilterError from ansible.module_utils.common.text.converters import to_native from ansible.module_utils.six import string_types - -from ansible_collections.community.crypto.plugins.module_utils.serial import parse_serial +from ansible_collections.community.crypto.plugins.module_utils.serial import ( + parse_serial, +) def parse_serial_filter(input): diff --git a/plugins/filter/split_pem.py b/plugins/filter/split_pem.py index c4ed7344..58c73aee 100644 --- a/plugins/filter/split_pem.py +++ b/plugins/filter/split_pem.py @@ -5,6 +5,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type DOCUMENTATION = r""" @@ -41,10 +43,11 @@ _value: """ from ansible.errors import AnsibleFilterError -from ansible.module_utils.six import string_types from ansible.module_utils.common.text.converters import to_text - -from ansible_collections.community.crypto.plugins.module_utils.crypto.pem import split_pem_list +from ansible.module_utils.six import string_types +from ansible_collections.community.crypto.plugins.module_utils.crypto.pem import ( + split_pem_list, +) def split_pem_filter(data): diff --git a/plugins/filter/to_serial.py b/plugins/filter/to_serial.py index 2da1ce1d..77f6b608 100644 --- a/plugins/filter/to_serial.py +++ b/plugins/filter/to_serial.py @@ -3,7 +3,9 @@ # 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) +from __future__ import absolute_import, division, print_function + + __metaclass__ = type DOCUMENTATION = r""" @@ -43,7 +45,6 @@ _value: from ansible.errors import AnsibleFilterError from ansible.module_utils.common.text.converters import to_native from ansible.module_utils.six import integer_types - from ansible_collections.community.crypto.plugins.module_utils.serial import to_serial diff --git a/plugins/filter/x509_certificate_info.py b/plugins/filter/x509_certificate_info.py index a623ada1..5af978c9 100644 --- a/plugins/filter/x509_certificate_info.py +++ b/plugins/filter/x509_certificate_info.py @@ -5,6 +5,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type DOCUMENTATION = r""" @@ -311,18 +313,17 @@ _value: """ from ansible.errors import AnsibleFilterError -from ansible.module_utils.six import string_types from ansible.module_utils.common.text.converters import to_bytes, to_native - +from ansible.module_utils.six import string_types from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( OpenSSLObjectError, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.certificate_info import ( get_certificate_info, ) - -from ansible_collections.community.crypto.plugins.plugin_utils.filter_module import FilterModuleMock +from ansible_collections.community.crypto.plugins.plugin_utils.filter_module import ( + FilterModuleMock, +) def x509_certificate_info_filter(data, name_encoding='ignore'): diff --git a/plugins/filter/x509_crl_info.py b/plugins/filter/x509_crl_info.py index 91a2a499..8362023e 100644 --- a/plugins/filter/x509_crl_info.py +++ b/plugins/filter/x509_crl_info.py @@ -5,6 +5,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type DOCUMENTATION = r""" @@ -159,22 +161,20 @@ import base64 import binascii from ansible.errors import AnsibleFilterError -from ansible.module_utils.six import string_types from ansible.module_utils.common.text.converters import to_bytes, to_native - +from ansible.module_utils.six import string_types from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( OpenSSLObjectError, ) - -from ansible_collections.community.crypto.plugins.module_utils.crypto.pem import ( - identify_pem_format, -) - from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.crl_info import ( get_crl_info, ) - -from ansible_collections.community.crypto.plugins.plugin_utils.filter_module import FilterModuleMock +from ansible_collections.community.crypto.plugins.module_utils.crypto.pem import ( + identify_pem_format, +) +from ansible_collections.community.crypto.plugins.plugin_utils.filter_module import ( + FilterModuleMock, +) def x509_crl_info_filter(data, name_encoding='ignore', list_revoked_certificates=True): @@ -193,7 +193,7 @@ def x509_crl_info_filter(data, name_encoding='ignore', list_revoked_certificates if not identify_pem_format(data): try: data = base64.b64decode(to_native(data)) - except (binascii.Error, TypeError, ValueError, UnicodeEncodeError) as e: + except (binascii.Error, TypeError, ValueError, UnicodeEncodeError): pass module = FilterModuleMock({'name_encoding': name_encoding}) diff --git a/plugins/lookup/gpg_fingerprint.py b/plugins/lookup/gpg_fingerprint.py index 98b6ada5..e36c4713 100644 --- a/plugins/lookup/gpg_fingerprint.py +++ b/plugins/lookup/gpg_fingerprint.py @@ -3,7 +3,9 @@ # 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) +from __future__ import absolute_import, division, print_function + + __metaclass__ = type DOCUMENTATION = r""" @@ -43,12 +45,16 @@ _value: elements: string """ -from ansible.plugins.lookup import LookupBase from ansible.errors import AnsibleLookupError from ansible.module_utils.common.text.converters import to_native - -from ansible_collections.community.crypto.plugins.module_utils.gnupg.cli import GPGError, get_fingerprint_from_file -from ansible_collections.community.crypto.plugins.plugin_utils.gnupg import PluginGPGRunner +from ansible.plugins.lookup import LookupBase +from ansible_collections.community.crypto.plugins.module_utils.gnupg.cli import ( + GPGError, + get_fingerprint_from_file, +) +from ansible_collections.community.crypto.plugins.plugin_utils.gnupg import ( + PluginGPGRunner, +) class LookupModule(LookupBase): diff --git a/plugins/module_utils/_version.py b/plugins/module_utils/_version.py index f7954074..a71b0a34 100644 --- a/plugins/module_utils/_version.py +++ b/plugins/module_utils/_version.py @@ -27,11 +27,14 @@ Every version number class implements the following interface: of the same class, thus must follow the same rules) """ -from __future__ import (absolute_import, division, print_function) +from __future__ import absolute_import, division, print_function + + __metaclass__ = type import re + try: RE_FLAGS = re.VERBOSE | re.ASCII except AttributeError: diff --git a/plugins/module_utils/acme/account.py b/plugins/module_utils/acme/account.py index 0ad58e92..781b346d 100644 --- a/plugins/module_utils/acme/account.py +++ b/plugins/module_utils/acme/account.py @@ -6,11 +6,12 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type from ansible.module_utils.common._collections_compat import Mapping - from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( ACMEProtocolException, ModuleFailException, diff --git a/plugins/module_utils/acme/acme.py b/plugins/module_utils/acme/acme.py index 0a78aaf8..47616a9f 100644 --- a/plugins/module_utils/acme/acme.py +++ b/plugins/module_utils/acme/acme.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -18,36 +20,34 @@ import traceback from ansible.module_utils.basic import missing_required_lib from ansible.module_utils.common.text.converters import to_bytes -from ansible.module_utils.urls import fetch_url from ansible.module_utils.six import PY3 - -from ansible_collections.community.crypto.plugins.module_utils.argspec import ArgumentSpec - -from ansible_collections.community.crypto.plugins.module_utils.acme.backend_openssl_cli import ( - OpenSSLCLIBackend, -) - +from ansible.module_utils.urls import fetch_url from ansible_collections.community.crypto.plugins.module_utils.acme.backend_cryptography import ( - CryptographyBackend, CRYPTOGRAPHY_ERROR, CRYPTOGRAPHY_MINIMAL_VERSION, CRYPTOGRAPHY_VERSION, HAS_CURRENT_CRYPTOGRAPHY, + CryptographyBackend, +) +from ansible_collections.community.crypto.plugins.module_utils.acme.backend_openssl_cli import ( + OpenSSLCLIBackend, ) - from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( ACMEProtocolException, - NetworkException, - ModuleFailException, KeyParsingError, + ModuleFailException, + NetworkException, format_http_status, ) - from ansible_collections.community.crypto.plugins.module_utils.acme.utils import ( compute_cert_id, nopad_b64, parse_retry_after, ) +from ansible_collections.community.crypto.plugins.module_utils.argspec import ( + ArgumentSpec, +) + try: import ipaddress # noqa: F401, pylint: disable=unused-import @@ -76,7 +76,7 @@ def _decode_retry(module, response, info, retry_count): # 429 and 503 should have a Retry-After header (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After) try: retry_after = min(max(1, int(info.get('retry-after'))), 60) - except (TypeError, ValueError) as dummy: + except (TypeError, ValueError): retry_after = 10 module.log('Retrieved a %s HTTP status on %s, retrying in %s seconds' % (format_http_status(info['status']), info['url'], retry_after)) @@ -288,7 +288,7 @@ class ACMEClient(object): if self.version == 1: data["header"] = jws_header.copy() for k, v in protected.items(): - dummy = data["header"].pop(k, None) + data["header"].pop(k, None) self._log('signed request', data) data = self.module.jsonify(data) diff --git a/plugins/module_utils/acme/backend_cryptography.py b/plugins/module_utils/acme/backend_cryptography.py index 268bb2a7..28e5c6c2 100644 --- a/plugins/module_utils/acme/backend_cryptography.py +++ b/plugins/module_utils/acme/backend_cryptography.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -15,32 +17,21 @@ import os import traceback from ansible.module_utils.common.text.converters import to_bytes, to_native, to_text - -from ansible_collections.community.crypto.plugins.module_utils.version import LooseVersion - from ansible_collections.community.crypto.plugins.module_utils.acme.backends import ( CertificateInformation, CryptoBackend, ) - from ansible_collections.community.crypto.plugins.module_utils.acme.certificates import ( ChainMatcher, ) - from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( BackendException, KeyParsingError, ) - from ansible_collections.community.crypto.plugins.module_utils.acme.io import read_file - -from ansible_collections.community.crypto.plugins.module_utils.acme.utils import nopad_b64 - -from ansible_collections.community.crypto.plugins.module_utils.crypto.math import ( - convert_int_to_bytes, - convert_int_to_hex, +from ansible_collections.community.crypto.plugins.module_utils.acme.utils import ( + nopad_b64, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.cryptography_support import ( CRYPTOGRAPHY_TIMEZONE, cryptography_name_to_oid, @@ -48,18 +39,23 @@ from ansible_collections.community.crypto.plugins.module_utils.crypto.cryptograp get_not_valid_after, get_not_valid_before, ) - +from ansible_collections.community.crypto.plugins.module_utils.crypto.math import ( + convert_int_to_bytes, + convert_int_to_hex, +) from ansible_collections.community.crypto.plugins.module_utils.crypto.pem import ( extract_first_pem, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( parse_name_field, ) - from ansible_collections.community.crypto.plugins.module_utils.time import ( add_or_remove_timezone, ) +from ansible_collections.community.crypto.plugins.module_utils.version import ( + LooseVersion, +) + CRYPTOGRAPHY_MINIMAL_VERSION = '1.5' @@ -67,16 +63,16 @@ CRYPTOGRAPHY_ERROR = None try: import cryptography import cryptography.hazmat.backends - import cryptography.hazmat.primitives.hashes - import cryptography.hazmat.primitives.hmac import cryptography.hazmat.primitives.asymmetric.ec import cryptography.hazmat.primitives.asymmetric.padding import cryptography.hazmat.primitives.asymmetric.rsa import cryptography.hazmat.primitives.asymmetric.utils + import cryptography.hazmat.primitives.hashes + import cryptography.hazmat.primitives.hmac import cryptography.hazmat.primitives.serialization import cryptography.x509 import cryptography.x509.oid -except ImportError as dummy: +except ImportError: HAS_CURRENT_CRYPTOGRAPHY = False CRYPTOGRAPHY_VERSION = None CRYPTOGRAPHY_ERROR = traceback.format_exc() @@ -86,7 +82,7 @@ else: try: if HAS_CURRENT_CRYPTOGRAPHY: _cryptography_backend = cryptography.hazmat.backends.default_backend() - except Exception as dummy: + except Exception: CRYPTOGRAPHY_ERROR = traceback.format_exc() diff --git a/plugins/module_utils/acme/backend_openssl_cli.py b/plugins/module_utils/acme/backend_openssl_cli.py index 88f04267..1fd2f6b8 100644 --- a/plugins/module_utils/acme/backend_openssl_cli.py +++ b/plugins/module_utils/acme/backend_openssl_cli.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -17,23 +19,25 @@ import re import tempfile import traceback -from ansible.module_utils.common.text.converters import to_native, to_text, to_bytes - +from ansible.module_utils.common.text.converters import to_bytes, to_native, to_text from ansible_collections.community.crypto.plugins.module_utils.acme.backends import ( CertificateInformation, CryptoBackend, ) - from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( BackendException, KeyParsingError, ) +from ansible_collections.community.crypto.plugins.module_utils.acme.utils import ( + nopad_b64, +) +from ansible_collections.community.crypto.plugins.module_utils.crypto.math import ( + convert_bytes_to_int, +) +from ansible_collections.community.crypto.plugins.module_utils.time import ( + ensure_utc_timezone, +) -from ansible_collections.community.crypto.plugins.module_utils.acme.utils import nopad_b64 - -from ansible_collections.community.crypto.plugins.module_utils.crypto.math import convert_bytes_to_int - -from ansible_collections.community.crypto.plugins.module_utils.time import ensure_utc_timezone try: import ipaddress @@ -100,7 +104,7 @@ class OpenSSLCLIBackend(CryptoBackend): except Exception as err: try: f.close() - except Exception as dummy: + except Exception: pass raise KeyParsingError("failed to create temporary content file: %s" % to_native(err), exception=traceback.format_exc()) f.close() diff --git a/plugins/module_utils/acme/backends.py b/plugins/module_utils/acme/backends.py index b5e25bb6..4e87c428 100644 --- a/plugins/module_utils/acme/backends.py +++ b/plugins/module_utils/acme/backends.py @@ -6,33 +6,32 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type -from collections import namedtuple import abc import datetime import re +from collections import namedtuple from ansible.module_utils import six from ansible.module_utils.common.text.converters import to_native - from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( BackendException, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( OpenSSLObjectError, ) - from ansible_collections.community.crypto.plugins.module_utils.time import ( + UTC, ensure_utc_timezone, from_epoch_seconds, get_epoch_seconds, get_now_datetime, get_relative_time_option, remove_timezone, - UTC, ) diff --git a/plugins/module_utils/acme/certificate.py b/plugins/module_utils/acme/certificate.py index 8a6a856b..a7f35541 100644 --- a/plugins/module_utils/acme/certificate.py +++ b/plugins/module_utils/acme/certificate.py @@ -5,41 +5,32 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type import os -from ansible_collections.community.crypto.plugins.module_utils.acme.acme import ( - ACMEClient, -) - from ansible_collections.community.crypto.plugins.module_utils.acme.account import ( ACMEAccount, ) - -from ansible_collections.community.crypto.plugins.module_utils.acme.challenges import ( - Authorization, - wait_for_validation, +from ansible_collections.community.crypto.plugins.module_utils.acme.acme import ( + ACMEClient, ) - from ansible_collections.community.crypto.plugins.module_utils.acme.certificates import ( CertificateChain, Criterium, ) - +from ansible_collections.community.crypto.plugins.module_utils.acme.challenges import ( + Authorization, + wait_for_validation, +) from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( ModuleFailException, ) - -from ansible_collections.community.crypto.plugins.module_utils.acme.orders import ( - Order, -) - -from ansible_collections.community.crypto.plugins.module_utils.acme.io import ( - write_file, -) - +from ansible_collections.community.crypto.plugins.module_utils.acme.io import write_file +from ansible_collections.community.crypto.plugins.module_utils.acme.orders import Order from ansible_collections.community.crypto.plugins.module_utils.acme.utils import ( pem_to_der, ) diff --git a/plugins/module_utils/acme/certificates.py b/plugins/module_utils/acme/certificates.py index 29e5e185..ac204168 100644 --- a/plugins/module_utils/acme/certificates.py +++ b/plugins/module_utils/acme/certificates.py @@ -6,23 +6,22 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type import abc from ansible.module_utils import six - from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( ModuleFailException, ) - from ansible_collections.community.crypto.plugins.module_utils.acme.utils import ( der_to_pem, nopad_b64, process_links, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.pem import ( split_pem_list, ) diff --git a/plugins/module_utils/acme/challenges.py b/plugins/module_utils/acme/challenges.py index 492ca5f0..0a1b3861 100644 --- a/plugins/module_utils/acme/challenges.py +++ b/plugins/module_utils/acme/challenges.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -16,16 +18,15 @@ import re import time from ansible.module_utils.common.text.converters import to_bytes - +from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( + ACMEProtocolException, + ModuleFailException, + format_error_problem, +) from ansible_collections.community.crypto.plugins.module_utils.acme.utils import ( nopad_b64, ) -from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( - format_error_problem, - ACMEProtocolException, - ModuleFailException, -) try: import ipaddress diff --git a/plugins/module_utils/acme/errors.py b/plugins/module_utils/acme/errors.py index 0fc5af28..d8e000da 100644 --- a/plugins/module_utils/acme/errors.py +++ b/plugins/module_utils/acme/errors.py @@ -6,10 +6,12 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type from ansible.module_utils.common.text.converters import to_text -from ansible.module_utils.six import binary_type, PY3 +from ansible.module_utils.six import PY3, binary_type from ansible.module_utils.six.moves.http_client import responses as http_responses @@ -80,7 +82,7 @@ class ACMEProtocolException(ModuleFailException): if content_json is None and content is not None and module is not None: try: content_json = module.from_json(to_text(content)) - except Exception as e: + except Exception: pass extras = extras or dict() diff --git a/plugins/module_utils/acme/io.py b/plugins/module_utils/acme/io.py index 898d5a3d..b0f8b96f 100644 --- a/plugins/module_utils/acme/io.py +++ b/plugins/module_utils/acme/io.py @@ -7,6 +7,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -16,8 +18,9 @@ import tempfile import traceback from ansible.module_utils.common.text.converters import to_native - -from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ModuleFailException +from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( + ModuleFailException, +) def read_file(fn, mode='b'): @@ -43,7 +46,7 @@ def write_file(module, dest, content): except Exception as err: try: f.close() - except Exception as dummy: + except Exception: pass os.remove(tmpsrc) raise ModuleFailException("failed to create temporary content file: %s" % to_native(err), exception=traceback.format_exc()) @@ -54,7 +57,7 @@ def write_file(module, dest, content): if not os.path.exists(tmpsrc): try: os.remove(tmpsrc) - except Exception as dummy: + except Exception: pass raise ModuleFailException("Source %s does not exist" % (tmpsrc)) if not os.access(tmpsrc, os.R_OK): diff --git a/plugins/module_utils/acme/orders.py b/plugins/module_utils/acme/orders.py index 1617309a..a378e696 100644 --- a/plugins/module_utils/acme/orders.py +++ b/plugins/module_utils/acme/orders.py @@ -6,23 +6,23 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type import time -from ansible_collections.community.crypto.plugins.module_utils.acme.utils import ( - nopad_b64, -) - -from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( - ACMEProtocolException, -) - from ansible_collections.community.crypto.plugins.module_utils.acme.challenges import ( Authorization, normalize_combined_identifier, ) +from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( + ACMEProtocolException, +) +from ansible_collections.community.crypto.plugins.module_utils.acme.utils import ( + nopad_b64, +) class Order(object): diff --git a/plugins/module_utils/acme/utils.py b/plugins/module_utils/acme/utils.py index ba460444..5639f716 100644 --- a/plugins/module_utils/acme/utils.py +++ b/plugins/module_utils/acme/utils.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -17,12 +19,15 @@ import traceback from ansible.module_utils.common.text.converters import to_native from ansible.module_utils.six.moves.urllib.parse import unquote - -from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ModuleFailException - -from ansible_collections.community.crypto.plugins.module_utils.crypto.math import convert_int_to_bytes - -from ansible_collections.community.crypto.plugins.module_utils.time import get_now_datetime +from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( + ModuleFailException, +) +from ansible_collections.community.crypto.plugins.module_utils.crypto.math import ( + convert_int_to_bytes, +) +from ansible_collections.community.crypto.plugins.module_utils.time import ( + get_now_datetime, +) def nopad_b64(data): diff --git a/plugins/module_utils/argspec.py b/plugins/module_utils/argspec.py index e583609d..077065a2 100644 --- a/plugins/module_utils/argspec.py +++ b/plugins/module_utils/argspec.py @@ -5,6 +5,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type diff --git a/plugins/module_utils/crypto/_asn1.py b/plugins/module_utils/crypto/_asn1.py index e99b75a5..58cd915b 100644 --- a/plugins/module_utils/crypto/_asn1.py +++ b/plugins/module_utils/crypto/_asn1.py @@ -5,6 +5,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type import re diff --git a/plugins/module_utils/crypto/_obj2txt.py b/plugins/module_utils/crypto/_obj2txt.py index 1ac28367..8fc2c805 100644 --- a/plugins/module_utils/crypto/_obj2txt.py +++ b/plugins/module_utils/crypto/_obj2txt.py @@ -27,6 +27,8 @@ # pyca/cryptography@d607dd7e5bc5c08854ec0c9baff70ba4a35be36f from __future__ import absolute_import, division, print_function + + __metaclass__ = type diff --git a/plugins/module_utils/crypto/_objects.py b/plugins/module_utils/crypto/_objects.py index ed225805..510ce569 100644 --- a/plugins/module_utils/crypto/_objects.py +++ b/plugins/module_utils/crypto/_objects.py @@ -5,11 +5,14 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type from ._objects_data import OID_MAP + OID_LOOKUP = dict() NORMALIZE_NAMES = dict() NORMALIZE_NAMES_SHORT = dict() diff --git a/plugins/module_utils/crypto/_objects_data.py b/plugins/module_utils/crypto/_objects_data.py index 4d57b2ef..21c08472 100644 --- a/plugins/module_utils/crypto/_objects_data.py +++ b/plugins/module_utils/crypto/_objects_data.py @@ -15,6 +15,8 @@ # https://github.com/openssl/openssl/blob/master/LICENSE.txt or LICENSES/Apache-2.0.txt from __future__ import absolute_import, division, print_function + + __metaclass__ = type diff --git a/plugins/module_utils/crypto/basic.py b/plugins/module_utils/crypto/basic.py index 65345129..8c6715ec 100644 --- a/plugins/module_utils/crypto/basic.py +++ b/plugins/module_utils/crypto/basic.py @@ -5,11 +5,16 @@ # 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) +from __future__ import absolute_import, division, print_function + + __metaclass__ = type -from ansible_collections.community.crypto.plugins.module_utils.version import LooseVersion +from ansible_collections.community.crypto.plugins.module_utils.version import ( + LooseVersion, +) + try: import cryptography diff --git a/plugins/module_utils/crypto/cryptography_crl.py b/plugins/module_utils/crypto/cryptography_crl.py index 254252aa..0beaad43 100644 --- a/plugins/module_utils/crypto/cryptography_crl.py +++ b/plugins/module_utils/crypto/cryptography_crl.py @@ -5,10 +5,15 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type -from ansible_collections.community.crypto.plugins.module_utils.version import LooseVersion as _LooseVersion +from ansible_collections.community.crypto.plugins.module_utils.version import ( + LooseVersion as _LooseVersion, +) + try: import cryptography @@ -17,18 +22,9 @@ except ImportError: # Error handled in the calling module. pass -from .basic import ( - HAS_CRYPTOGRAPHY, -) - -from .cryptography_support import ( - CRYPTOGRAPHY_TIMEZONE, - cryptography_decode_name, -) - -from ._obj2txt import ( - obj2txt, -) +from ._obj2txt import obj2txt +from .basic import HAS_CRYPTOGRAPHY +from .cryptography_support import CRYPTOGRAPHY_TIMEZONE, cryptography_decode_name # TODO: once cryptography has a _utc variant of InvalidityDate.invalidity_date, set this diff --git a/plugins/module_utils/crypto/cryptography_support.py b/plugins/module_utils/crypto/cryptography_support.py index b8eaa44d..ccb0a203 100644 --- a/plugins/module_utils/crypto/cryptography_support.py +++ b/plugins/module_utils/crypto/cryptography_support.py @@ -5,6 +5,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -14,21 +16,28 @@ import re import sys import traceback -from ansible.module_utils.common.text.converters import to_text, to_bytes, to_native -from ansible.module_utils.six.moves.urllib.parse import urlparse, urlunparse, ParseResult +from ansible.module_utils.common.text.converters import to_bytes, to_native, to_text +from ansible.module_utils.six.moves.urllib.parse import ( + ParseResult, + urlparse, + urlunparse, +) +from ansible_collections.community.crypto.plugins.module_utils.version import ( + LooseVersion, +) from ._asn1 import serialize_asn1_string_as_der -from ansible_collections.community.crypto.plugins.module_utils.version import LooseVersion try: + import ipaddress + import cryptography from cryptography import x509 from cryptography.exceptions import InvalidSignature from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives import serialization from cryptography.hazmat.primitives.asymmetric import padding - import ipaddress _HAS_CRYPTOGRAPHY = True except ImportError: _HAS_CRYPTOGRAPHY = False @@ -84,29 +93,22 @@ except ImportError: from ansible.module_utils.basic import missing_required_lib +from ._obj2txt import obj2txt +from ._objects import NORMALIZE_NAMES, NORMALIZE_NAMES_SHORT, OID_LOOKUP, OID_MAP from .basic import ( CRYPTOGRAPHY_HAS_DSA_SIGN, CRYPTOGRAPHY_HAS_EC_SIGN, - CRYPTOGRAPHY_HAS_ED25519, - CRYPTOGRAPHY_HAS_ED25519_SIGN, CRYPTOGRAPHY_HAS_ED448, CRYPTOGRAPHY_HAS_ED448_SIGN, + CRYPTOGRAPHY_HAS_ED25519, + CRYPTOGRAPHY_HAS_ED25519_SIGN, CRYPTOGRAPHY_HAS_RSA_SIGN, + CRYPTOGRAPHY_HAS_X448, CRYPTOGRAPHY_HAS_X25519, CRYPTOGRAPHY_HAS_X25519_FULL, - CRYPTOGRAPHY_HAS_X448, OpenSSLObjectError, ) -from ._objects import ( - OID_LOOKUP, - OID_MAP, - NORMALIZE_NAMES_SHORT, - NORMALIZE_NAMES, -) - -from ._obj2txt import obj2txt - CRYPTOGRAPHY_TIMEZONE = False if _HAS_CRYPTOGRAPHY: diff --git a/plugins/module_utils/crypto/math.py b/plugins/module_utils/crypto/math.py index 1ec43e9f..9c2f2d2c 100644 --- a/plugins/module_utils/crypto/math.py +++ b/plugins/module_utils/crypto/math.py @@ -5,6 +5,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type diff --git a/plugins/module_utils/crypto/module_backends/certificate.py b/plugins/module_utils/crypto/module_backends/certificate.py index 595748fb..964ee93d 100644 --- a/plugins/module_utils/crypto/module_backends/certificate.py +++ b/plugins/module_utils/crypto/module_backends/certificate.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -14,31 +16,30 @@ import traceback from ansible.module_utils import six from ansible.module_utils.basic import missing_required_lib - -from ansible_collections.community.crypto.plugins.module_utils.argspec import ArgumentSpec - -from ansible_collections.community.crypto.plugins.module_utils.version import LooseVersion - +from ansible_collections.community.crypto.plugins.module_utils.argspec import ( + ArgumentSpec, +) from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( - OpenSSLObjectError, OpenSSLBadPassphraseError, + OpenSSLObjectError, ) - -from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( - load_privatekey, - load_certificate, - load_certificate_request, -) - from ansible_collections.community.crypto.plugins.module_utils.crypto.cryptography_support import ( cryptography_compare_public_keys, get_not_valid_after, get_not_valid_before, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.certificate_info import ( get_certificate_info, ) +from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( + load_certificate, + load_certificate_request, + load_privatekey, +) +from ansible_collections.community.crypto.plugins.module_utils.version import ( + LooseVersion, +) + MINIMAL_CRYPTOGRAPHY_VERSION = '1.6' @@ -101,7 +102,7 @@ class CertificateBackend(object): result = get_certificate_info(self.module, self.backend, data, prefer_one_fingerprint=True) result['can_parse_certificate'] = True return result - except Exception as exc: + except Exception: return dict(can_parse_certificate=False) @abc.abstractmethod @@ -199,7 +200,7 @@ class CertificateBackend(object): csr_ext = self.csr.extensions.get_extension_for_oid(cert_ext.oid) if cert_ext != csr_ext: return False - except cryptography.x509.ExtensionNotFound as dummy: + except cryptography.x509.ExtensionNotFound: return False return True @@ -208,14 +209,14 @@ class CertificateBackend(object): # Get hold of certificate's SKI try: ext = self.existing_certificate.extensions.get_extension_for_class(x509.SubjectKeyIdentifier) - except cryptography.x509.ExtensionNotFound as dummy: + except cryptography.x509.ExtensionNotFound: return False # Get hold of CSR's SKI for 'create_if_not_provided' csr_ext = None if self.create_subject_key_identifier == 'create_if_not_provided': try: csr_ext = self.csr.extensions.get_extension_for_class(x509.SubjectKeyIdentifier) - except cryptography.x509.ExtensionNotFound as dummy: + except cryptography.x509.ExtensionNotFound: pass if csr_ext is None: # If CSR had no SKI, or we chose to ignore it ('always_create'), compare with created SKI @@ -234,7 +235,7 @@ class CertificateBackend(object): try: self._ensure_existing_certificate_loaded() - except Exception as dummy: + except Exception: return True # Check whether private key matches diff --git a/plugins/module_utils/crypto/module_backends/certificate_acme.py b/plugins/module_utils/crypto/module_backends/certificate_acme.py index 18f30db5..60cc7b8e 100644 --- a/plugins/module_utils/crypto/module_backends/certificate_acme.py +++ b/plugins/module_utils/crypto/module_backends/certificate_acme.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -13,11 +15,10 @@ import os import tempfile import traceback -from ansible.module_utils.common.text.converters import to_native, to_bytes - +from ansible.module_utils.common.text.converters import to_bytes, to_native from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.certificate import ( - CertificateError, CertificateBackend, + CertificateError, CertificateProvider, ) @@ -68,7 +69,7 @@ class AcmeCertificateBackend(CertificateBackend): except Exception as err: try: f.close() - except Exception as dummy: + except Exception: pass self.module.fail_json( msg="failed to create temporary CSR file: %s" % to_native(err), diff --git a/plugins/module_utils/crypto/module_backends/certificate_entrust.py b/plugins/module_utils/crypto/module_backends/certificate_entrust.py index 37351dae..0f1fe296 100644 --- a/plugins/module_utils/crypto/module_backends/certificate_entrust.py +++ b/plugins/module_utils/crypto/module_backends/certificate_entrust.py @@ -6,37 +6,39 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type import datetime import os -from ansible.module_utils.common.text.converters import to_native, to_bytes - -from ansible_collections.community.crypto.plugins.module_utils.ecs.api import ECSClient, RestOperationException, SessionConfigurationException - -from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( - load_certificate, -) - +from ansible.module_utils.common.text.converters import to_bytes, to_native from ansible_collections.community.crypto.plugins.module_utils.crypto.cryptography_support import ( CRYPTOGRAPHY_TIMEZONE, cryptography_serial_number_of_cert, get_not_valid_after, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.certificate import ( - CertificateError, CertificateBackend, + CertificateError, CertificateProvider, ) - +from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( + load_certificate, +) +from ansible_collections.community.crypto.plugins.module_utils.ecs.api import ( + ECSClient, + RestOperationException, + SessionConfigurationException, +) from ansible_collections.community.crypto.plugins.module_utils.time import ( get_now_datetime, get_relative_time_option, ) + try: from cryptography.x509.oid import NameOID except ImportError: @@ -157,7 +159,7 @@ class EntrustCertificateBackend(CertificateBackend): cert_details = {} try: self._ensure_existing_certificate_loaded() - except Exception as dummy: + except Exception: return if self.existing_certificate: serial_number = None diff --git a/plugins/module_utils/crypto/module_backends/certificate_info.py b/plugins/module_utils/crypto/module_backends/certificate_info.py index b612f8b1..c82ace4e 100644 --- a/plugins/module_utils/crypto/module_backends/certificate_info.py +++ b/plugins/module_utils/crypto/module_backends/certificate_info.py @@ -7,6 +7,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -17,14 +19,6 @@ import traceback from ansible.module_utils import six from ansible.module_utils.basic import missing_required_lib from ansible.module_utils.common.text.converters import to_native - -from ansible_collections.community.crypto.plugins.module_utils.version import LooseVersion - -from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( - load_certificate, - get_fingerprint_of_bytes, -) - from ansible_collections.community.crypto.plugins.module_utils.crypto.cryptography_support import ( CRYPTOGRAPHY_TIMEZONE, cryptography_decode_name, @@ -34,14 +28,20 @@ from ansible_collections.community.crypto.plugins.module_utils.crypto.cryptograp get_not_valid_after, get_not_valid_before, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.publickey_info import ( get_publickey_info, ) - +from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( + get_fingerprint_of_bytes, + load_certificate, +) from ansible_collections.community.crypto.plugins.module_utils.time import ( get_now_datetime, ) +from ansible_collections.community.crypto.plugins.module_utils.version import ( + LooseVersion, +) + MINIMAL_CRYPTOGRAPHY_VERSION = '1.6' @@ -372,7 +372,7 @@ class CertificateInfoRetrievalCryptography(CertificateInfoRetrieval): if desc.access_method == x509.oid.AuthorityInformationAccessOID.OCSP: if isinstance(desc.access_location, x509.UniformResourceIdentifier): return desc.access_location.value - except x509.ExtensionNotFound as dummy: + except x509.ExtensionNotFound: pass return None @@ -383,7 +383,7 @@ class CertificateInfoRetrievalCryptography(CertificateInfoRetrieval): if desc.access_method == x509.oid.AuthorityInformationAccessOID.CA_ISSUERS: if isinstance(desc.access_location, x509.UniformResourceIdentifier): return desc.access_location.value - except x509.ExtensionNotFound as dummy: + except x509.ExtensionNotFound: pass return None diff --git a/plugins/module_utils/crypto/module_backends/certificate_ownca.py b/plugins/module_utils/crypto/module_backends/certificate_ownca.py index bd4860df..e35afd42 100644 --- a/plugins/module_utils/crypto/module_backends/certificate_ownca.py +++ b/plugins/module_utils/crypto/module_backends/certificate_ownca.py @@ -6,25 +6,17 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type import os - from random import randrange -from ansible_collections.community.crypto.plugins.module_utils.version import LooseVersion - from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( OpenSSLBadPassphraseError, ) - -from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( - load_privatekey, - load_certificate, - select_message_digest, -) - from ansible_collections.community.crypto.plugins.module_utils.crypto.cryptography_support import ( CRYPTOGRAPHY_TIMEZONE, cryptography_compare_public_keys, @@ -36,17 +28,24 @@ from ansible_collections.community.crypto.plugins.module_utils.crypto.cryptograp set_not_valid_after, set_not_valid_before, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.certificate import ( CRYPTOGRAPHY_VERSION, - CertificateError, CertificateBackend, + CertificateError, CertificateProvider, ) - +from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( + load_certificate, + load_privatekey, + select_message_digest, +) from ansible_collections.community.crypto.plugins.module_utils.time import ( get_relative_time_option, ) +from ansible_collections.community.crypto.plugins.module_utils.version import ( + LooseVersion, +) + try: import cryptography @@ -216,7 +215,7 @@ class OwnCACertificateBackendCryptography(CertificateBackend): ext = self.existing_certificate.extensions.get_extension_for_class(x509.AuthorityKeyIdentifier) if ext.value != expected_ext: return True - except cryptography.x509.ExtensionNotFound as dummy: + except cryptography.x509.ExtensionNotFound: return True return False diff --git a/plugins/module_utils/crypto/module_backends/certificate_selfsigned.py b/plugins/module_utils/crypto/module_backends/certificate_selfsigned.py index d7135d35..94f80cae 100644 --- a/plugins/module_utils/crypto/module_backends/certificate_selfsigned.py +++ b/plugins/module_utils/crypto/module_backends/certificate_selfsigned.py @@ -6,17 +6,14 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type import os - from random import randrange -from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( - select_message_digest, -) - from ansible_collections.community.crypto.plugins.module_utils.crypto.cryptography_support import ( CRYPTOGRAPHY_TIMEZONE, cryptography_key_needs_digest_for_signing, @@ -27,17 +24,19 @@ from ansible_collections.community.crypto.plugins.module_utils.crypto.cryptograp set_not_valid_after, set_not_valid_before, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.certificate import ( - CertificateError, CertificateBackend, + CertificateError, CertificateProvider, ) - +from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( + select_message_digest, +) from ansible_collections.community.crypto.plugins.module_utils.time import ( get_relative_time_option, ) + try: import cryptography from cryptography import x509 diff --git a/plugins/module_utils/crypto/module_backends/common.py b/plugins/module_utils/crypto/module_backends/common.py index 6616249c..8466bc11 100644 --- a/plugins/module_utils/crypto/module_backends/common.py +++ b/plugins/module_utils/crypto/module_backends/common.py @@ -5,12 +5,15 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type from ansible.module_utils.basic import AnsibleModule - -from ansible_collections.community.crypto.plugins.module_utils.argspec import ArgumentSpec as _ArgumentSpec +from ansible_collections.community.crypto.plugins.module_utils.argspec import ( + ArgumentSpec as _ArgumentSpec, +) class ArgumentSpec(_ArgumentSpec): diff --git a/plugins/module_utils/crypto/module_backends/crl_info.py b/plugins/module_utils/crypto/module_backends/crl_info.py index a5b1b8ec..56d23f24 100644 --- a/plugins/module_utils/crypto/module_backends/crl_info.py +++ b/plugins/module_utils/crypto/module_backends/crl_info.py @@ -5,29 +5,30 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type import traceback from ansible.module_utils.basic import missing_required_lib - -from ansible_collections.community.crypto.plugins.module_utils.version import LooseVersion - -from ansible_collections.community.crypto.plugins.module_utils.crypto.cryptography_support import ( - cryptography_oid_to_name, -) - from ansible_collections.community.crypto.plugins.module_utils.crypto.cryptography_crl import ( TIMESTAMP_FORMAT, cryptography_decode_revoked_certificate, cryptography_dump_revoked, cryptography_get_signature_algorithm_oid_from_crl, ) - +from ansible_collections.community.crypto.plugins.module_utils.crypto.cryptography_support import ( + cryptography_oid_to_name, +) from ansible_collections.community.crypto.plugins.module_utils.crypto.pem import ( identify_pem_format, ) +from ansible_collections.community.crypto.plugins.module_utils.version import ( + LooseVersion, +) + # crypto_utils diff --git a/plugins/module_utils/crypto/module_backends/csr.py b/plugins/module_utils/crypto/module_backends/csr.py index 6ce7e243..2d425423 100644 --- a/plugins/module_utils/crypto/module_backends/csr.py +++ b/plugins/module_utils/crypto/module_backends/csr.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -16,39 +18,36 @@ import traceback from ansible.module_utils import six from ansible.module_utils.basic import missing_required_lib from ansible.module_utils.common.text.converters import to_native, to_text - -from ansible_collections.community.crypto.plugins.module_utils.argspec import ArgumentSpec - -from ansible_collections.community.crypto.plugins.module_utils.version import LooseVersion - -from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( - OpenSSLObjectError, - OpenSSLBadPassphraseError, +from ansible_collections.community.crypto.plugins.module_utils.argspec import ( + ArgumentSpec, +) +from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( + OpenSSLBadPassphraseError, + OpenSSLObjectError, +) +from ansible_collections.community.crypto.plugins.module_utils.crypto.cryptography_crl import ( + REVOCATION_REASON_MAP, +) +from ansible_collections.community.crypto.plugins.module_utils.crypto.cryptography_support import ( + cryptography_get_basic_constraints, + cryptography_get_name, + cryptography_key_needs_digest_for_signing, + cryptography_name_to_oid, + cryptography_parse_key_usage_params, + cryptography_parse_relative_distinguished_name, +) +from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.csr_info import ( + get_csr_info, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( - load_privatekey, load_certificate_request, + load_privatekey, parse_name_field, parse_ordered_name_field, select_message_digest, ) - -from ansible_collections.community.crypto.plugins.module_utils.crypto.cryptography_support import ( - cryptography_get_basic_constraints, - cryptography_get_name, - cryptography_name_to_oid, - cryptography_key_needs_digest_for_signing, - cryptography_parse_key_usage_params, - cryptography_parse_relative_distinguished_name, -) - -from ansible_collections.community.crypto.plugins.module_utils.crypto.cryptography_crl import ( - REVOCATION_REASON_MAP, -) - -from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.csr_info import ( - get_csr_info, +from ansible_collections.community.crypto.plugins.module_utils.version import ( + LooseVersion, ) @@ -57,12 +56,12 @@ MINIMAL_CRYPTOGRAPHY_VERSION = '1.3' CRYPTOGRAPHY_IMP_ERR = None try: import cryptography - import cryptography.x509 - import cryptography.x509.oid import cryptography.exceptions import cryptography.hazmat.backends - import cryptography.hazmat.primitives.serialization import cryptography.hazmat.primitives.hashes + import cryptography.hazmat.primitives.serialization + import cryptography.x509 + import cryptography.x509.oid CRYPTOGRAPHY_VERSION = LooseVersion(cryptography.__version__) except ImportError: CRYPTOGRAPHY_IMP_ERR = traceback.format_exc() @@ -178,7 +177,7 @@ class CertificateSigningRequestBackend(object): self.module, self.backend, data, validate_signature=False, prefer_one_fingerprint=True) result['can_parse_csr'] = True return result - except Exception as exc: + except Exception: return dict(can_parse_csr=False) @abc.abstractmethod @@ -225,7 +224,7 @@ class CertificateSigningRequestBackend(object): return True try: self.existing_csr = load_certificate_request(None, content=self.existing_csr_bytes, backend=self.backend) - except Exception as dummy: + except Exception: return True self._ensure_private_key_loaded() return not self._check_csr() @@ -343,7 +342,7 @@ class CertificateSigningRequestCryptographyBackend(CertificateSigningRequestBack try: # This only works with cryptography >= 2.1 csr = csr.add_extension(cryptography.x509.TLSFeature([cryptography.x509.TLSFeatureType.status_request]), critical=self.ocspMustStaple_critical) - except AttributeError as dummy: + except AttributeError: csr = csr.add_extension( cryptography.x509.UnrecognizedExtension(CRYPTOGRAPHY_MUST_STAPLE_NAME, CRYPTOGRAPHY_MUST_STAPLE_VALUE), critical=self.ocspMustStaple_critical @@ -487,7 +486,7 @@ class CertificateSigningRequestCryptographyBackend(CertificateSigningRequestBack # This only works with cryptography >= 2.1 tlsfeature_ext = _find_extension(extensions, cryptography.x509.TLSFeature) has_tlsfeature = True - except AttributeError as dummy: + except AttributeError: tlsfeature_ext = next( (ext for ext in extensions if ext.value.oid == CRYPTOGRAPHY_MUST_STAPLE_NAME), None diff --git a/plugins/module_utils/crypto/module_backends/csr_info.py b/plugins/module_utils/crypto/module_backends/csr_info.py index fc3d0d3d..967199a3 100644 --- a/plugins/module_utils/crypto/module_backends/csr_info.py +++ b/plugins/module_utils/crypto/module_backends/csr_info.py @@ -7,6 +7,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -17,22 +19,21 @@ import traceback from ansible.module_utils import six from ansible.module_utils.basic import missing_required_lib from ansible.module_utils.common.text.converters import to_native - -from ansible_collections.community.crypto.plugins.module_utils.version import LooseVersion - -from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( - load_certificate_request, -) - from ansible_collections.community.crypto.plugins.module_utils.crypto.cryptography_support import ( cryptography_decode_name, cryptography_get_extensions_from_csr, cryptography_oid_to_name, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.publickey_info import ( get_publickey_info, ) +from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( + load_certificate_request, +) +from ansible_collections.community.crypto.plugins.module_utils.version import ( + LooseVersion, +) + MINIMAL_CRYPTOGRAPHY_VERSION = '1.3' diff --git a/plugins/module_utils/crypto/module_backends/privatekey.py b/plugins/module_utils/crypto/module_backends/privatekey.py index f1b21ad7..7d84ce57 100644 --- a/plugins/module_utils/crypto/module_backends/privatekey.py +++ b/plugins/module_utils/crypto/module_backends/privatekey.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -16,33 +18,31 @@ import traceback from ansible.module_utils import six from ansible.module_utils.basic import missing_required_lib from ansible.module_utils.common.text.converters import to_bytes - -from ansible_collections.community.crypto.plugins.module_utils.argspec import ArgumentSpec - -from ansible_collections.community.crypto.plugins.module_utils.version import LooseVersion - +from ansible_collections.community.crypto.plugins.module_utils.argspec import ( + ArgumentSpec, +) from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( + CRYPTOGRAPHY_HAS_ED448, + CRYPTOGRAPHY_HAS_ED25519, + CRYPTOGRAPHY_HAS_X448, CRYPTOGRAPHY_HAS_X25519, CRYPTOGRAPHY_HAS_X25519_FULL, - CRYPTOGRAPHY_HAS_X448, - CRYPTOGRAPHY_HAS_ED25519, - CRYPTOGRAPHY_HAS_ED448, OpenSSLObjectError, ) - -from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( - get_fingerprint_of_privatekey, -) - -from ansible_collections.community.crypto.plugins.module_utils.crypto.pem import ( - identify_private_key_format, -) - from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.privatekey_info import ( PrivateKeyConsistencyError, PrivateKeyParseError, get_privatekey_info, ) +from ansible_collections.community.crypto.plugins.module_utils.crypto.pem import ( + identify_private_key_format, +) +from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( + get_fingerprint_of_privatekey, +) +from ansible_collections.community.crypto.plugins.module_utils.version import ( + LooseVersion, +) MINIMAL_CRYPTOGRAPHY_VERSION = '1.2.3' @@ -52,11 +52,11 @@ try: import cryptography import cryptography.exceptions import cryptography.hazmat.backends - import cryptography.hazmat.primitives.serialization - import cryptography.hazmat.primitives.asymmetric.rsa import cryptography.hazmat.primitives.asymmetric.dsa import cryptography.hazmat.primitives.asymmetric.ec + import cryptography.hazmat.primitives.asymmetric.rsa import cryptography.hazmat.primitives.asymmetric.utils + import cryptography.hazmat.primitives.serialization CRYPTOGRAPHY_VERSION = LooseVersion(cryptography.__version__) except ImportError: CRYPTOGRAPHY_IMP_ERR = traceback.format_exc() @@ -110,7 +110,7 @@ class PrivateKeyBackend: result.update(exc.result) except PrivateKeyParseError as exc: result.update(exc.result) - except Exception as exc: + except Exception: pass return result @@ -206,7 +206,7 @@ class PrivateKeyBackend: return get_fingerprint_of_privatekey(self.private_key, backend=self.backend) try: self._ensure_existing_private_key_loaded() - except Exception as dummy: + except Exception: # Ignore errors pass if self.existing_private_key: @@ -218,7 +218,7 @@ class PrivateKeyBackend: if not self.private_key: try: self._ensure_existing_private_key_loaded() - except Exception as dummy: + except Exception: # Ignore errors pass result = { @@ -348,7 +348,7 @@ class PrivateKeyCryptographyBackend(PrivateKeyBackend): curve=self.curves[self.curve]['create'](self.size), backend=self.cryptography_backend ) - except cryptography.exceptions.UnsupportedAlgorithm as dummy: + except cryptography.exceptions.UnsupportedAlgorithm: self.module.fail_json(msg='Cryptography backend does not support the algorithm required for {0}'.format(self.type)) def get_private_key_data(self): @@ -383,11 +383,11 @@ class PrivateKeyCryptographyBackend(PrivateKeyBackend): format=export_format, encryption_algorithm=encryption_algorithm ) - except ValueError as dummy: + except ValueError: self.module.fail_json( msg='Cryptography backend cannot serialize the private key in the required format "{0}"'.format(self.format) ) - except Exception as dummy: + except Exception: self.module.fail_json( msg='Error while serializing the private key in the required format "{0}"'.format(self.format), exception=traceback.format_exc() @@ -443,7 +443,7 @@ class PrivateKeyCryptographyBackend(PrivateKeyBackend): None if self.passphrase is None else to_bytes(self.passphrase), backend=self.cryptography_backend ) - except Exception as dummy: + except Exception: return False def _check_size_and_type(self): @@ -474,7 +474,7 @@ class PrivateKeyCryptographyBackend(PrivateKeyBackend): try: format = identify_private_key_format(self.existing_private_key_bytes) return format == self._get_wanted_format() - except Exception as dummy: + except Exception: return False diff --git a/plugins/module_utils/crypto/module_backends/privatekey_convert.py b/plugins/module_utils/crypto/module_backends/privatekey_convert.py index 4a1aca60..9ab870e8 100644 --- a/plugins/module_utils/crypto/module_backends/privatekey_convert.py +++ b/plugins/module_utils/crypto/module_backends/privatekey_convert.py @@ -5,6 +5,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -14,30 +16,26 @@ import traceback from ansible.module_utils import six from ansible.module_utils.basic import missing_required_lib from ansible.module_utils.common.text.converters import to_bytes - -from ansible_collections.community.crypto.plugins.module_utils.argspec import ArgumentSpec - -from ansible_collections.community.crypto.plugins.module_utils.io import ( - load_file, +from ansible_collections.community.crypto.plugins.module_utils.argspec import ( + ArgumentSpec, ) - -from ansible_collections.community.crypto.plugins.module_utils.version import LooseVersion - from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( - CRYPTOGRAPHY_HAS_X25519, - CRYPTOGRAPHY_HAS_X448, - CRYPTOGRAPHY_HAS_ED25519, CRYPTOGRAPHY_HAS_ED448, + CRYPTOGRAPHY_HAS_ED25519, + CRYPTOGRAPHY_HAS_X448, + CRYPTOGRAPHY_HAS_X25519, OpenSSLObjectError, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.cryptography_support import ( cryptography_compare_private_keys, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.pem import ( identify_private_key_format, ) +from ansible_collections.community.crypto.plugins.module_utils.io import load_file +from ansible_collections.community.crypto.plugins.module_utils.version import ( + LooseVersion, +) MINIMAL_CRYPTOGRAPHY_VERSION = '1.2.3' @@ -47,11 +45,11 @@ try: import cryptography import cryptography.exceptions import cryptography.hazmat.backends - import cryptography.hazmat.primitives.serialization - import cryptography.hazmat.primitives.asymmetric.rsa import cryptography.hazmat.primitives.asymmetric.dsa import cryptography.hazmat.primitives.asymmetric.ec + import cryptography.hazmat.primitives.asymmetric.rsa import cryptography.hazmat.primitives.asymmetric.utils + import cryptography.hazmat.primitives.serialization CRYPTOGRAPHY_VERSION = LooseVersion(cryptography.__version__) except ImportError: CRYPTOGRAPHY_IMP_ERR = traceback.format_exc() @@ -163,11 +161,11 @@ class PrivateKeyConvertCryptographyBackend(PrivateKeyConvertBackend): format=export_format, encryption_algorithm=encryption_algorithm ) - except ValueError as dummy: + except ValueError: self.module.fail_json( msg='Cryptography backend cannot serialize the private key in the required format "{0}"'.format(self.format) ) - except Exception as dummy: + except Exception: self.module.fail_json( msg='Error while serializing the private key in the required format "{0}"'.format(self.format), exception=traceback.format_exc() diff --git a/plugins/module_utils/crypto/module_backends/privatekey_info.py b/plugins/module_utils/crypto/module_backends/privatekey_info.py index f44caaa7..47d73ca1 100644 --- a/plugins/module_utils/crypto/module_backends/privatekey_info.py +++ b/plugins/module_utils/crypto/module_backends/privatekey_info.py @@ -7,6 +7,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -15,29 +17,26 @@ import traceback from ansible.module_utils import six from ansible.module_utils.basic import missing_required_lib -from ansible.module_utils.common.text.converters import to_native, to_bytes - -from ansible_collections.community.crypto.plugins.module_utils.version import LooseVersion - +from ansible.module_utils.common.text.converters import to_bytes, to_native from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( - CRYPTOGRAPHY_HAS_ED25519, CRYPTOGRAPHY_HAS_ED448, + CRYPTOGRAPHY_HAS_ED25519, OpenSSLObjectError, ) - -from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( - load_privatekey, - get_fingerprint_of_bytes, -) - from ansible_collections.community.crypto.plugins.module_utils.crypto.math import ( binary_exp_mod, quick_is_not_prime, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.publickey_info import ( _get_cryptography_public_key_info, ) +from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( + get_fingerprint_of_bytes, + load_privatekey, +) +from ansible_collections.community.crypto.plugins.module_utils.version import ( + LooseVersion, +) MINIMAL_CRYPTOGRAPHY_VERSION = '1.2.3' diff --git a/plugins/module_utils/crypto/module_backends/publickey_info.py b/plugins/module_utils/crypto/module_backends/publickey_info.py index d381d206..04bc0b6c 100644 --- a/plugins/module_utils/crypto/module_backends/publickey_info.py +++ b/plugins/module_utils/crypto/module_backends/publickey_info.py @@ -5,6 +5,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -14,21 +16,20 @@ import traceback from ansible.module_utils import six from ansible.module_utils.basic import missing_required_lib from ansible.module_utils.common.text.converters import to_native - -from ansible_collections.community.crypto.plugins.module_utils.version import LooseVersion - from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( - CRYPTOGRAPHY_HAS_X25519, - CRYPTOGRAPHY_HAS_X448, - CRYPTOGRAPHY_HAS_ED25519, CRYPTOGRAPHY_HAS_ED448, + CRYPTOGRAPHY_HAS_ED25519, + CRYPTOGRAPHY_HAS_X448, + CRYPTOGRAPHY_HAS_X25519, OpenSSLObjectError, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( get_fingerprint_of_bytes, load_publickey, ) +from ansible_collections.community.crypto.plugins.module_utils.version import ( + LooseVersion, +) MINIMAL_CRYPTOGRAPHY_VERSION = '1.2.3' diff --git a/plugins/module_utils/crypto/openssh.py b/plugins/module_utils/crypto/openssh.py index 98247538..6319bdae 100644 --- a/plugins/module_utils/crypto/openssh.py +++ b/plugins/module_utils/crypto/openssh.py @@ -5,9 +5,11 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type # This import is only to maintain backwards compatibility from ansible_collections.community.crypto.plugins.module_utils.openssh.utils import ( # noqa: F401, pylint: disable=unused-import - parse_openssh_version + parse_openssh_version, ) diff --git a/plugins/module_utils/crypto/pem.py b/plugins/module_utils/crypto/pem.py index 5e6571fe..7ba634fc 100644 --- a/plugins/module_utils/crypto/pem.py +++ b/plugins/module_utils/crypto/pem.py @@ -5,6 +5,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type diff --git a/plugins/module_utils/crypto/support.py b/plugins/module_utils/crypto/support.py index dc292701..4f6ee622 100644 --- a/plugins/module_utils/crypto/support.py +++ b/plugins/module_utils/crypto/support.py @@ -4,7 +4,9 @@ # 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) +from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -15,19 +17,19 @@ import os from ansible.module_utils import six from ansible.module_utils.common.text.converters import to_bytes - from ansible_collections.community.crypto.plugins.module_utils.crypto.pem import ( identify_pem_format, ) +# These imports are for backwards compatibility: from ansible_collections.community.crypto.plugins.module_utils.time import ( # noqa: F401, pylint: disable=unused-import - # These imports are for backwards compatibility - get_now_datetime, - ensure_utc_timezone, convert_relative_to_datetime, + ensure_utc_timezone, + get_now_datetime, get_relative_time_option, ) + try: from OpenSSL import crypto HAS_PYOPENSSL = True @@ -38,17 +40,13 @@ except (ImportError, AttributeError): try: from cryptography import x509 from cryptography.hazmat.backends import default_backend as cryptography_backend + from cryptography.hazmat.primitives import hashes, serialization from cryptography.hazmat.primitives.serialization import load_pem_private_key - from cryptography.hazmat.primitives import hashes - from cryptography.hazmat.primitives import serialization except ImportError: # Error handled in the calling module. pass -from .basic import ( - OpenSSLObjectError, - OpenSSLBadPassphraseError, -) +from .basic import OpenSSLBadPassphraseError, OpenSSLObjectError # This list of preferred fingerprints is used when prefer_one=True is supplied to the diff --git a/plugins/module_utils/ecs/api.py b/plugins/module_utils/ecs/api.py index bf8be58f..fa5c0b11 100644 --- a/plugins/module_utils/ecs/api.py +++ b/plugins/module_utils/ecs/api.py @@ -12,6 +12,7 @@ from __future__ import absolute_import, division, print_function + __metaclass__ = type import json @@ -19,12 +20,13 @@ import os import re import traceback -from ansible.module_utils.common.text.converters import to_text, to_native from ansible.module_utils.basic import missing_required_lib -from ansible.module_utils.six.moves.urllib.parse import urlencode +from ansible.module_utils.common.text.converters import to_native, to_text from ansible.module_utils.six.moves.urllib.error import HTTPError +from ansible.module_utils.six.moves.urllib.parse import urlencode from ansible.module_utils.urls import Request + YAML_IMP_ERR = None try: import yaml @@ -146,11 +148,9 @@ class RestOperation(object): response = self.session.request.open(method=self.method, url=url, data=body_parameters_json) else: response = self.session.request.open(method=self.method, url=url) - request_error = False except HTTPError as e: # An HTTPError has the same methods available as a valid response from request.open response = e - request_error = True # Return the result if JSON and success ({} for empty responses) # Raise an exception if there was a failure. diff --git a/plugins/module_utils/gnupg/cli.py b/plugins/module_utils/gnupg/cli.py index caf0de25..b0b19679 100644 --- a/plugins/module_utils/gnupg/cli.py +++ b/plugins/module_utils/gnupg/cli.py @@ -3,7 +3,9 @@ # 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) +from __future__ import absolute_import, division, print_function + + __metaclass__ = type import abc diff --git a/plugins/module_utils/io.py b/plugins/module_utils/io.py index 2ef6bf2a..ccbe4c62 100644 --- a/plugins/module_utils/io.py +++ b/plugins/module_utils/io.py @@ -4,7 +4,9 @@ # 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) +from __future__ import absolute_import, division, print_function + + __metaclass__ = type diff --git a/plugins/module_utils/openssh/backends/common.py b/plugins/module_utils/openssh/backends/common.py index a4d1e5c3..99f0a5e1 100644 --- a/plugins/module_utils/openssh/backends/common.py +++ b/plugins/module_utils/openssh/backends/common.py @@ -5,6 +5,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type import abc @@ -13,7 +15,6 @@ import stat import traceback from ansible.module_utils import six - from ansible.module_utils.common.text.converters import to_native from ansible_collections.community.crypto.plugins.module_utils.openssh.utils import ( parse_openssh_version, diff --git a/plugins/module_utils/openssh/backends/keypair_backend.py b/plugins/module_utils/openssh/backends/keypair_backend.py index 5f54903e..cbefd469 100644 --- a/plugins/module_utils/openssh/backends/keypair_backend.py +++ b/plugins/module_utils/openssh/backends/keypair_backend.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type import abc @@ -13,19 +15,7 @@ import os from ansible.module_utils import six from ansible.module_utils.basic import missing_required_lib -from ansible.module_utils.common.text.converters import to_native, to_text, to_bytes - -from ansible_collections.community.crypto.plugins.module_utils.version import LooseVersion - -from ansible_collections.community.crypto.plugins.module_utils.openssh.cryptography import ( - HAS_OPENSSH_SUPPORT, - HAS_OPENSSH_PRIVATE_FORMAT, - InvalidCommentError, - InvalidPassphraseError, - InvalidPrivateKeyFileError, - OpenSSHError, - OpensshKeypair, -) +from ansible.module_utils.common.text.converters import to_bytes, to_native, to_text from ansible_collections.community.crypto.plugins.module_utils.openssh.backends.common import ( KeygenCommand, OpensshModule, @@ -33,11 +23,23 @@ from ansible_collections.community.crypto.plugins.module_utils.openssh.backends. PublicKey, parse_private_key_format, ) +from ansible_collections.community.crypto.plugins.module_utils.openssh.cryptography import ( + HAS_OPENSSH_PRIVATE_FORMAT, + HAS_OPENSSH_SUPPORT, + InvalidCommentError, + InvalidPassphraseError, + InvalidPrivateKeyFileError, + OpenSSHError, + OpensshKeypair, +) from ansible_collections.community.crypto.plugins.module_utils.openssh.utils import ( any_in, file_mode, secure_write, ) +from ansible_collections.community.crypto.plugins.module_utils.version import ( + LooseVersion, +) @six.add_metaclass(abc.ABCMeta) diff --git a/plugins/module_utils/openssh/certificate.py b/plugins/module_utils/openssh/certificate.py index 8efb2ad9..4feb4eb3 100644 --- a/plugins/module_utils/openssh/certificate.py +++ b/plugins/module_utils/openssh/certificate.py @@ -5,6 +5,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type # Protocol References @@ -35,11 +37,14 @@ from ansible_collections.community.crypto.plugins.module_utils.openssh.utils imp OpensshParser, _OpensshWriter, ) +from ansible_collections.community.crypto.plugins.module_utils.time import UTC as _UTC from ansible_collections.community.crypto.plugins.module_utils.time import ( add_or_remove_timezone as _add_or_remove_timezone, - convert_relative_to_datetime, - UTC as _UTC, ) +from ansible_collections.community.crypto.plugins.module_utils.time import ( + convert_relative_to_datetime, +) + # See https://cvsweb.openbsd.org/src/usr.bin/ssh/PROTOCOL.certkeys?annotate=HEAD _USER_TYPE = 1 @@ -180,7 +185,7 @@ class OpensshCertificateTimeParameters(object): result = datetime.fromtimestamp(timestamp, tz=_datetime.timezone.utc) else: result = datetime.utcfromtimestamp(timestamp) - except OverflowError as e: + except OverflowError: raise ValueError return result diff --git a/plugins/module_utils/openssh/cryptography.py b/plugins/module_utils/openssh/cryptography.py index 69f3ce35..31a519ac 100644 --- a/plugins/module_utils/openssh/cryptography.py +++ b/plugins/module_utils/openssh/cryptography.py @@ -5,22 +5,30 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type import os -from base64 import b64encode, b64decode +from base64 import b64decode, b64encode from getpass import getuser from socket import gethostname -from ansible_collections.community.crypto.plugins.module_utils.version import LooseVersion +from ansible_collections.community.crypto.plugins.module_utils.version import ( + LooseVersion, +) + try: from cryptography import __version__ as CRYPTOGRAPHY_VERSION from cryptography.exceptions import InvalidSignature, UnsupportedAlgorithm from cryptography.hazmat.backends.openssl import backend from cryptography.hazmat.primitives import hashes, serialization - from cryptography.hazmat.primitives.asymmetric import dsa, ec, rsa, padding - from cryptography.hazmat.primitives.asymmetric.ed25519 import Ed25519PrivateKey, Ed25519PublicKey + from cryptography.hazmat.primitives.asymmetric import dsa, ec, padding, rsa + from cryptography.hazmat.primitives.asymmetric.ed25519 import ( + Ed25519PrivateKey, + Ed25519PublicKey, + ) if LooseVersion(CRYPTOGRAPHY_VERSION) >= LooseVersion("3.0"): HAS_OPENSSH_PRIVATE_FORMAT = True diff --git a/plugins/module_utils/openssh/utils.py b/plugins/module_utils/openssh/utils.py index 0c3af8f2..f3d72759 100644 --- a/plugins/module_utils/openssh/utils.py +++ b/plugins/module_utils/openssh/utils.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type import os @@ -15,6 +17,7 @@ from struct import Struct from ansible.module_utils.six import PY3 + # Protocol References # ------------------- # https://datatracker.ietf.org/doc/html/rfc4251 diff --git a/plugins/module_utils/serial.py b/plugins/module_utils/serial.py index dac554e3..f967c167 100644 --- a/plugins/module_utils/serial.py +++ b/plugins/module_utils/serial.py @@ -5,10 +5,11 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type from ansible.module_utils.common.text.converters import to_native - from ansible_collections.community.crypto.plugins.module_utils.crypto.math import ( convert_int_to_hex, ) diff --git a/plugins/module_utils/time.py b/plugins/module_utils/time.py index c8f44410..e4e2fdb4 100644 --- a/plugins/module_utils/time.py +++ b/plugins/module_utils/time.py @@ -5,6 +5,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -13,7 +15,6 @@ import re import sys from ansible.module_utils.common.text.converters import to_native - from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( OpenSSLObjectError, ) diff --git a/plugins/module_utils/version.py b/plugins/module_utils/version.py index b029b51b..0859865f 100644 --- a/plugins/module_utils/version.py +++ b/plugins/module_utils/version.py @@ -6,7 +6,9 @@ """Provide version object to compare version numbers.""" -from __future__ import (absolute_import, division, print_function) +from __future__ import absolute_import, division, print_function + + __metaclass__ = type diff --git a/plugins/modules/acme_account.py b/plugins/modules/acme_account.py index da068a77..c8c8e076 100644 --- a/plugins/modules/acme_account.py +++ b/plugins/modules/acme_account.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -169,19 +171,17 @@ account_uri: import base64 -from ansible_collections.community.crypto.plugins.module_utils.acme.acme import ( - create_backend, - create_default_argspec, - ACMEClient, -) - from ansible_collections.community.crypto.plugins.module_utils.acme.account import ( ACMEAccount, ) - +from ansible_collections.community.crypto.plugins.module_utils.acme.acme import ( + ACMEClient, + create_backend, + create_default_argspec, +) from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( - ModuleFailException, KeyParsingError, + ModuleFailException, ) diff --git a/plugins/modules/acme_account_info.py b/plugins/modules/acme_account_info.py index a42e8896..2e4cd7fd 100644 --- a/plugins/modules/acme_account_info.py +++ b/plugins/modules/acme_account_info.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -207,18 +209,17 @@ order_uris: version_added: 1.5.0 """ -from ansible_collections.community.crypto.plugins.module_utils.acme.acme import ( - create_backend, - create_default_argspec, - ACMEClient, -) - from ansible_collections.community.crypto.plugins.module_utils.acme.account import ( ACMEAccount, ) - -from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ModuleFailException - +from ansible_collections.community.crypto.plugins.module_utils.acme.acme import ( + ACMEClient, + create_backend, + create_default_argspec, +) +from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( + ModuleFailException, +) from ansible_collections.community.crypto.plugins.module_utils.acme.utils import ( process_links, ) diff --git a/plugins/modules/acme_ari_info.py b/plugins/modules/acme_ari_info.py index 43ae04b4..fffed430 100644 --- a/plugins/modules/acme_ari_info.py +++ b/plugins/modules/acme_ari_info.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -98,12 +100,13 @@ renewal_info: """ from ansible_collections.community.crypto.plugins.module_utils.acme.acme import ( + ACMEClient, create_backend, create_default_argspec, - ACMEClient, ) - -from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ModuleFailException +from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( + ModuleFailException, +) def main(): diff --git a/plugins/modules/acme_certificate.py b/plugins/modules/acme_certificate.py index 45dc3cde..b4e7d74f 100644 --- a/plugins/modules/acme_certificate.py +++ b/plugins/modules/acme_certificate.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -567,42 +569,31 @@ all_chains: import os -from ansible_collections.community.crypto.plugins.module_utils.acme.acme import ( - create_backend, - create_default_argspec, - ACMEClient, -) - from ansible_collections.community.crypto.plugins.module_utils.acme.account import ( ACMEAccount, ) - -from ansible_collections.community.crypto.plugins.module_utils.acme.challenges import ( - normalize_combined_identifier, - combine_identifier, - split_identifier, - wait_for_validation, - Authorization, +from ansible_collections.community.crypto.plugins.module_utils.acme.acme import ( + ACMEClient, + create_backend, + create_default_argspec, ) - from ansible_collections.community.crypto.plugins.module_utils.acme.certificates import ( - retrieve_acme_v1_certificate, CertificateChain, Criterium, + retrieve_acme_v1_certificate, +) +from ansible_collections.community.crypto.plugins.module_utils.acme.challenges import ( + Authorization, + combine_identifier, + normalize_combined_identifier, + split_identifier, + wait_for_validation, ) - from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( ModuleFailException, ) - -from ansible_collections.community.crypto.plugins.module_utils.acme.io import ( - write_file, -) - -from ansible_collections.community.crypto.plugins.module_utils.acme.orders import ( - Order, -) - +from ansible_collections.community.crypto.plugins.module_utils.acme.io import write_file +from ansible_collections.community.crypto.plugins.module_utils.acme.orders import Order from ansible_collections.community.crypto.plugins.module_utils.acme.utils import ( compute_cert_id, pem_to_der, diff --git a/plugins/modules/acme_certificate_deactivate_authz.py b/plugins/modules/acme_certificate_deactivate_authz.py index bea64f30..f570a986 100644 --- a/plugins/modules/acme_certificate_deactivate_authz.py +++ b/plugins/modules/acme_certificate_deactivate_authz.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -54,23 +56,18 @@ EXAMPLES = r""" RETURN = """#""" -from ansible_collections.community.crypto.plugins.module_utils.acme.acme import ( - create_backend, - create_default_argspec, - ACMEClient, -) - from ansible_collections.community.crypto.plugins.module_utils.acme.account import ( ACMEAccount, ) - +from ansible_collections.community.crypto.plugins.module_utils.acme.acme import ( + ACMEClient, + create_backend, + create_default_argspec, +) from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( ModuleFailException, ) - -from ansible_collections.community.crypto.plugins.module_utils.acme.orders import ( - Order, -) +from ansible_collections.community.crypto.plugins.module_utils.acme.orders import Order def main(): diff --git a/plugins/modules/acme_certificate_order_create.py b/plugins/modules/acme_certificate_order_create.py index 0e52388c..e1341319 100644 --- a/plugins/modules/acme_certificate_order_create.py +++ b/plugins/modules/acme_certificate_order_create.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -381,14 +383,12 @@ from ansible_collections.community.crypto.plugins.module_utils.acme.acme import create_backend, create_default_argspec, ) - -from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( - ModuleFailException, -) - from ansible_collections.community.crypto.plugins.module_utils.acme.certificate import ( ACMECertificateClient, ) +from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( + ModuleFailException, +) def main(): diff --git a/plugins/modules/acme_certificate_order_finalize.py b/plugins/modules/acme_certificate_order_finalize.py index 85359a1e..e8664f33 100644 --- a/plugins/modules/acme_certificate_order_finalize.py +++ b/plugins/modules/acme_certificate_order_finalize.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -327,14 +329,12 @@ from ansible_collections.community.crypto.plugins.module_utils.acme.acme import create_backend, create_default_argspec, ) - -from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( - ModuleFailException, -) - from ansible_collections.community.crypto.plugins.module_utils.acme.certificate import ( ACMECertificateClient, ) +from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( + ModuleFailException, +) def main(): diff --git a/plugins/modules/acme_certificate_order_info.py b/plugins/modules/acme_certificate_order_info.py index cfa63279..9dfda958 100644 --- a/plugins/modules/acme_certificate_order_info.py +++ b/plugins/modules/acme_certificate_order_info.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -364,14 +366,12 @@ from ansible_collections.community.crypto.plugins.module_utils.acme.acme import create_backend, create_default_argspec, ) - -from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( - ModuleFailException, -) - from ansible_collections.community.crypto.plugins.module_utils.acme.certificate import ( ACMECertificateClient, ) +from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( + ModuleFailException, +) def main(): diff --git a/plugins/modules/acme_certificate_order_validate.py b/plugins/modules/acme_certificate_order_validate.py index 5727879f..13c2dc7e 100644 --- a/plugins/modules/acme_certificate_order_validate.py +++ b/plugins/modules/acme_certificate_order_validate.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -239,14 +241,12 @@ from ansible_collections.community.crypto.plugins.module_utils.acme.acme import create_backend, create_default_argspec, ) - -from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( - ModuleFailException, -) - from ansible_collections.community.crypto.plugins.module_utils.acme.certificate import ( ACMECertificateClient, ) +from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( + ModuleFailException, +) def main(): diff --git a/plugins/modules/acme_certificate_renewal_info.py b/plugins/modules/acme_certificate_renewal_info.py index b87eefab..d1ab8206 100644 --- a/plugins/modules/acme_certificate_renewal_info.py +++ b/plugins/modules/acme_certificate_renewal_info.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -165,16 +167,17 @@ import os import random from ansible_collections.community.crypto.plugins.module_utils.acme.acme import ( + ACMEClient, create_backend, create_default_argspec, - ACMEClient, ) - -from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ModuleFailException - +from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( + ModuleFailException, +) from ansible_collections.community.crypto.plugins.module_utils.acme.io import read_file - -from ansible_collections.community.crypto.plugins.module_utils.acme.utils import compute_cert_id +from ansible_collections.community.crypto.plugins.module_utils.acme.utils import ( + compute_cert_id, +) def main(): diff --git a/plugins/modules/acme_certificate_revoke.py b/plugins/modules/acme_certificate_revoke.py index 9b0cf6bd..e76f62b5 100644 --- a/plugins/modules/acme_certificate_revoke.py +++ b/plugins/modules/acme_certificate_revoke.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -113,22 +115,19 @@ EXAMPLES = r""" RETURN = """#""" -from ansible_collections.community.crypto.plugins.module_utils.acme.acme import ( - create_backend, - create_default_argspec, - ACMEClient, -) - from ansible_collections.community.crypto.plugins.module_utils.acme.account import ( ACMEAccount, ) - +from ansible_collections.community.crypto.plugins.module_utils.acme.acme import ( + ACMEClient, + create_backend, + create_default_argspec, +) from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( ACMEProtocolException, - ModuleFailException, KeyParsingError, + ModuleFailException, ) - from ansible_collections.community.crypto.plugins.module_utils.acme.utils import ( nopad_b64, pem_to_der, diff --git a/plugins/modules/acme_challenge_cert_helper.py b/plugins/modules/acme_challenge_cert_helper.py index e333e9a6..fb748bf7 100644 --- a/plugins/modules/acme_challenge_cert_helper.py +++ b/plugins/modules/acme_challenge_cert_helper.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -157,41 +159,40 @@ import traceback from ansible.module_utils.basic import AnsibleModule, missing_required_lib from ansible.module_utils.common.text.converters import to_bytes, to_text - -from ansible_collections.community.crypto.plugins.module_utils.version import LooseVersion - -from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ModuleFailException - -from ansible_collections.community.crypto.plugins.module_utils.acme.io import ( - read_file, +from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( + ModuleFailException, ) - +from ansible_collections.community.crypto.plugins.module_utils.acme.io import read_file from ansible_collections.community.crypto.plugins.module_utils.crypto.cryptography_support import ( CRYPTOGRAPHY_TIMEZONE, set_not_valid_after, set_not_valid_before, ) - from ansible_collections.community.crypto.plugins.module_utils.time import ( get_now_datetime, ) +from ansible_collections.community.crypto.plugins.module_utils.version import ( + LooseVersion, +) + CRYPTOGRAPHY_IMP_ERR = None try: + import ipaddress + import cryptography import cryptography.hazmat.backends - import cryptography.hazmat.primitives.serialization - import cryptography.hazmat.primitives.asymmetric.rsa import cryptography.hazmat.primitives.asymmetric.ec import cryptography.hazmat.primitives.asymmetric.padding - import cryptography.hazmat.primitives.hashes + import cryptography.hazmat.primitives.asymmetric.rsa import cryptography.hazmat.primitives.asymmetric.utils + import cryptography.hazmat.primitives.hashes + import cryptography.hazmat.primitives.serialization import cryptography.x509 import cryptography.x509.oid - import ipaddress HAS_CRYPTOGRAPHY = (LooseVersion(cryptography.__version__) >= LooseVersion('1.3')) _cryptography_backend = cryptography.hazmat.backends.default_backend() -except ImportError as dummy: +except ImportError: CRYPTOGRAPHY_IMP_ERR = traceback.format_exc() HAS_CRYPTOGRAPHY = False diff --git a/plugins/modules/acme_inspect.py b/plugins/modules/acme_inspect.py index 15d1eb53..dbb3e00a 100644 --- a/plugins/modules/acme_inspect.py +++ b/plugins/modules/acme_inspect.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -235,14 +237,12 @@ output_json: - '...' """ -from ansible.module_utils.common.text.converters import to_native, to_bytes, to_text - +from ansible.module_utils.common.text.converters import to_bytes, to_native, to_text from ansible_collections.community.crypto.plugins.module_utils.acme.acme import ( + ACMEClient, create_backend, create_default_argspec, - ACMEClient, ) - from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( ACMEProtocolException, ModuleFailException, @@ -294,7 +294,7 @@ def main(): # See if we can parse the result as JSON try: result['output_json'] = module.from_json(to_text(data)) - except Exception as dummy: + except Exception: pass # Fail if error was returned if fail_on_acme_error and info['status'] >= 400: diff --git a/plugins/modules/certificate_complete_chain.py b/plugins/modules/certificate_complete_chain.py index 4e38193d..ba6524d5 100644 --- a/plugins/modules/certificate_complete_chain.py +++ b/plugins/modules/certificate_complete_chain.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -129,34 +131,34 @@ import traceback from ansible.module_utils.basic import AnsibleModule, missing_required_lib from ansible.module_utils.common.text.converters import to_bytes - -from ansible_collections.community.crypto.plugins.module_utils.version import LooseVersion - -from ansible_collections.community.crypto.plugins.module_utils.crypto.pem import ( - split_pem_list, -) - from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( CRYPTOGRAPHY_HAS_ED448_SIGN, CRYPTOGRAPHY_HAS_ED25519_SIGN, ) +from ansible_collections.community.crypto.plugins.module_utils.crypto.pem import ( + split_pem_list, +) +from ansible_collections.community.crypto.plugins.module_utils.version import ( + LooseVersion, +) + CRYPTOGRAPHY_IMP_ERR = None try: import cryptography import cryptography.exceptions import cryptography.hazmat.backends - import cryptography.hazmat.primitives.serialization - import cryptography.hazmat.primitives.asymmetric.rsa import cryptography.hazmat.primitives.asymmetric.ec import cryptography.hazmat.primitives.asymmetric.padding - import cryptography.hazmat.primitives.hashes + import cryptography.hazmat.primitives.asymmetric.rsa import cryptography.hazmat.primitives.asymmetric.utils + import cryptography.hazmat.primitives.hashes + import cryptography.hazmat.primitives.serialization import cryptography.x509 import cryptography.x509.oid HAS_CRYPTOGRAPHY = (LooseVersion(cryptography.__version__) >= LooseVersion('1.5')) _cryptography_backend = cryptography.hazmat.backends.default_backend() -except ImportError as dummy: +except ImportError: CRYPTOGRAPHY_IMP_ERR = traceback.format_exc() HAS_CRYPTOGRAPHY = False @@ -206,9 +208,9 @@ def is_parent(module, cert, potential_parent): module.warn('Unknown public key type "{0}"'.format(public_key)) return False return True - except cryptography.exceptions.InvalidSignature as dummy: + except cryptography.exceptions.InvalidSignature: return False - except cryptography.exceptions.UnsupportedAlgorithm as dummy: + except cryptography.exceptions.UnsupportedAlgorithm: module.warn('Unsupported algorithm "{0}"'.format(cert.cert.signature_hash_algorithm)) return False except Exception as e: diff --git a/plugins/modules/crypto_info.py b/plugins/modules/crypto_info.py index 371fcbfe..9da97392 100644 --- a/plugins/modules/crypto_info.py +++ b/plugins/modules/crypto_info.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -157,24 +159,24 @@ openssl: import traceback from ansible.module_utils.basic import AnsibleModule - from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( - CRYPTOGRAPHY_HAS_EC, - CRYPTOGRAPHY_HAS_EC_SIGN, - CRYPTOGRAPHY_HAS_ED25519, - CRYPTOGRAPHY_HAS_ED25519_SIGN, - CRYPTOGRAPHY_HAS_ED448, - CRYPTOGRAPHY_HAS_ED448_SIGN, CRYPTOGRAPHY_HAS_DSA, CRYPTOGRAPHY_HAS_DSA_SIGN, + CRYPTOGRAPHY_HAS_EC, + CRYPTOGRAPHY_HAS_EC_SIGN, + CRYPTOGRAPHY_HAS_ED448, + CRYPTOGRAPHY_HAS_ED448_SIGN, + CRYPTOGRAPHY_HAS_ED25519, + CRYPTOGRAPHY_HAS_ED25519_SIGN, CRYPTOGRAPHY_HAS_RSA, CRYPTOGRAPHY_HAS_RSA_SIGN, + CRYPTOGRAPHY_HAS_X448, CRYPTOGRAPHY_HAS_X25519, CRYPTOGRAPHY_HAS_X25519_FULL, - CRYPTOGRAPHY_HAS_X448, HAS_CRYPTOGRAPHY, ) + try: import cryptography from cryptography.exceptions import UnsupportedAlgorithm @@ -228,7 +230,9 @@ def add_crypto_information(module): has_ed25519 = CRYPTOGRAPHY_HAS_ED25519 if has_ed25519: try: - from cryptography.hazmat.primitives.asymmetric.ed25519 import Ed25519PrivateKey + from cryptography.hazmat.primitives.asymmetric.ed25519 import ( + Ed25519PrivateKey, + ) Ed25519PrivateKey.from_private_bytes(b'') except ValueError: pass @@ -248,7 +252,9 @@ def add_crypto_information(module): has_x25519 = CRYPTOGRAPHY_HAS_X25519 if has_x25519: try: - from cryptography.hazmat.primitives.asymmetric.x25519 import X25519PrivateKey + from cryptography.hazmat.primitives.asymmetric.x25519 import ( + X25519PrivateKey, + ) if CRYPTOGRAPHY_HAS_X25519_FULL: X25519PrivateKey.from_private_bytes(b'') else: diff --git a/plugins/modules/ecs_certificate.py b/plugins/modules/ecs_certificate.py index 76f53c90..d5076d9a 100644 --- a/plugins/modules/ecs_certificate.py +++ b/plugins/modules/ecs_certificate.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -550,13 +552,6 @@ cert_details: type: dict """ -from ansible_collections.community.crypto.plugins.module_utils.ecs.api import ( - ecs_client_argument_spec, - ECSClient, - RestOperationException, - SessionConfigurationException, -) - import datetime import os import re @@ -564,17 +559,21 @@ import time import traceback from ansible.module_utils.basic import AnsibleModule, missing_required_lib -from ansible.module_utils.common.text.converters import to_native, to_bytes - -from ansible_collections.community.crypto.plugins.module_utils.version import LooseVersion - -from ansible_collections.community.crypto.plugins.module_utils.io import ( - write_file, -) - +from ansible.module_utils.common.text.converters import to_bytes, to_native from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( load_certificate, ) +from ansible_collections.community.crypto.plugins.module_utils.ecs.api import ( + ECSClient, + RestOperationException, + SessionConfigurationException, + ecs_client_argument_spec, +) +from ansible_collections.community.crypto.plugins.module_utils.io import write_file +from ansible_collections.community.crypto.plugins.module_utils.version import ( + LooseVersion, +) + CRYPTOGRAPHY_IMP_ERR = None try: @@ -648,7 +647,7 @@ class EcsCertificate(object): if self.path and os.path.exists(self.path): try: self.cert = load_certificate(self.path, backend='cryptography') - except Exception as dummy: + except Exception: self.cert = None # Instantiate the ECS client and then try a no-op connection to verify credentials are valid try: @@ -733,7 +732,7 @@ class EcsCertificate(object): cert_results = self.ecs_client.GetCertificates(serialNumber=serial_number).get('certificates', {}) if len(cert_results) == 1: self.tracking_id = cert_results[0].get('trackingId') - except RestOperationException as dummy: + except RestOperationException: # If we fail to find a cert by serial number, that's fine, we just do not set self.tracking_id return diff --git a/plugins/modules/ecs_domain.py b/plugins/modules/ecs_domain.py index d41e5d1e..d80d0efb 100644 --- a/plugins/modules/ecs_domain.py +++ b/plugins/modules/ecs_domain.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -224,12 +226,11 @@ import time from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.common.text.converters import to_native - from ansible_collections.community.crypto.plugins.module_utils.ecs.api import ( - ecs_client_argument_spec, ECSClient, RestOperationException, SessionConfigurationException, + ecs_client_argument_spec, ) @@ -319,7 +320,7 @@ class EcsDomain(object): return False return True - except RestOperationException as dummy: + except RestOperationException: return False def request_domain(self, module): diff --git a/plugins/modules/get_certificate.py b/plugins/modules/get_certificate.py index 1a1c9004..0e84bf2c 100644 --- a/plugins/modules/get_certificate.py +++ b/plugins/modules/get_certificate.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -267,31 +269,30 @@ EXAMPLES = r""" import atexit import base64 -import traceback import ssl import sys - +import traceback from os.path import isfile from socket import create_connection, setdefaulttimeout, socket -from ssl import get_server_certificate, DER_cert_to_PEM_cert, CERT_NONE, CERT_REQUIRED +from ssl import CERT_NONE, CERT_REQUIRED, DER_cert_to_PEM_cert, get_server_certificate from ansible.module_utils.basic import AnsibleModule, missing_required_lib from ansible.module_utils.common.text.converters import to_bytes, to_native from ansible.module_utils.six import string_types - -from ansible_collections.community.crypto.plugins.module_utils.version import LooseVersion - from ansible_collections.community.crypto.plugins.module_utils.crypto.cryptography_support import ( CRYPTOGRAPHY_TIMEZONE, - cryptography_oid_to_name, cryptography_get_extensions_from_cert, + cryptography_oid_to_name, get_not_valid_after, get_not_valid_before, ) - from ansible_collections.community.crypto.plugins.module_utils.time import ( get_now_datetime, ) +from ansible_collections.community.crypto.plugins.module_utils.version import ( + LooseVersion, +) + MINIMAL_CRYPTOGRAPHY_VERSION = '1.6' @@ -490,7 +491,7 @@ def main(): try: # Add the int value of the item to ctx options ctx.options |= tls_ctx_option_int - except Exception as e: + except Exception: module.fail_json(msg="Failed to add {0} to CTX options".format(tls_ctx_option_str or tls_ctx_option_int)) tls_sock = ctx.wrap_socket(sock, server_hostname=server_name or host) diff --git a/plugins/modules/luks_device.py b/plugins/modules/luks_device.py index 728a3c05..11cad133 100644 --- a/plugins/modules/luks_device.py +++ b/plugins/modules/luks_device.py @@ -3,7 +3,9 @@ # 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) +from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -421,12 +423,12 @@ name: import os import re import stat - from base64 import b64decode from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.common.text.converters import to_bytes, to_native + RETURN_CODE = 0 STDOUT = 1 STDERR = 2 diff --git a/plugins/modules/openssh_cert.py b/plugins/modules/openssh_cert.py index a0f4212d..e6da6375 100644 --- a/plugins/modules/openssh_cert.py +++ b/plugins/modules/openssh_cert.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -290,20 +292,19 @@ import os from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.common.text.converters import to_native - -from ansible_collections.community.crypto.plugins.module_utils.version import LooseVersion - from ansible_collections.community.crypto.plugins.module_utils.openssh.backends.common import ( KeygenCommand, OpensshModule, PrivateKey, ) - from ansible_collections.community.crypto.plugins.module_utils.openssh.certificate import ( OpensshCertificate, OpensshCertificateTimeParameters, parse_option_list, ) +from ansible_collections.community.crypto.plugins.module_utils.version import ( + LooseVersion, +) class Certificate(OpensshModule): diff --git a/plugins/modules/openssh_keypair.py b/plugins/modules/openssh_keypair.py index ac4c232b..5867ce5b 100644 --- a/plugins/modules/openssh_keypair.py +++ b/plugins/modules/openssh_keypair.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type DOCUMENTATION = r""" @@ -202,9 +204,8 @@ comment: """ from ansible.module_utils.basic import AnsibleModule - from ansible_collections.community.crypto.plugins.module_utils.openssh.backends.keypair_backend import ( - select_backend + select_backend, ) diff --git a/plugins/modules/openssl_csr.py b/plugins/modules/openssl_csr.py index 960fca4f..db91fa5c 100644 --- a/plugins/modules/openssl_csr.py +++ b/plugins/modules/openssl_csr.py @@ -7,6 +7,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -244,24 +246,20 @@ csr: import os from ansible.module_utils.common.text.converters import to_native - -from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.csr import ( - select_backend, - get_csr_argument_spec, -) - -from ansible_collections.community.crypto.plugins.module_utils.io import ( - load_file_if_exists, - write_file, -) - from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( OpenSSLObjectError, ) - +from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.csr import ( + get_csr_argument_spec, + select_backend, +) from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( OpenSSLObject, ) +from ansible_collections.community.crypto.plugins.module_utils.io import ( + load_file_if_exists, + write_file, +) class CertificateSigningRequestModule(OpenSSLObject): diff --git a/plugins/modules/openssl_csr_info.py b/plugins/modules/openssl_csr_info.py index dd9797e6..f4b3dc69 100644 --- a/plugins/modules/openssl_csr_info.py +++ b/plugins/modules/openssl_csr_info.py @@ -7,6 +7,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -312,11 +314,9 @@ authority_cert_serial_number: from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.common.text.converters import to_native - from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( OpenSSLObjectError, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.csr_info import ( select_backend, ) diff --git a/plugins/modules/openssl_csr_pipe.py b/plugins/modules/openssl_csr_pipe.py index 9c2b10e7..a29893a3 100644 --- a/plugins/modules/openssl_csr_pipe.py +++ b/plugins/modules/openssl_csr_pipe.py @@ -7,6 +7,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -134,15 +136,13 @@ csr: """ from ansible.module_utils.common.text.converters import to_native - -from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.csr import ( - select_backend, - get_csr_argument_spec, -) - from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( OpenSSLObjectError, ) +from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.csr import ( + get_csr_argument_spec, + select_backend, +) class CertificateSigningRequestModule(object): diff --git a/plugins/modules/openssl_dhparam.py b/plugins/modules/openssl_dhparam.py index 28a0485b..89ab69c9 100644 --- a/plugins/modules/openssl_dhparam.py +++ b/plugins/modules/openssl_dhparam.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -139,18 +141,18 @@ import traceback from ansible.module_utils.basic import AnsibleModule, missing_required_lib from ansible.module_utils.common.text.converters import to_native - -from ansible_collections.community.crypto.plugins.module_utils.version import LooseVersion - +from ansible_collections.community.crypto.plugins.module_utils.crypto.math import ( + count_bits, +) from ansible_collections.community.crypto.plugins.module_utils.io import ( load_file_if_exists, write_file, ) - -from ansible_collections.community.crypto.plugins.module_utils.crypto.math import ( - count_bits, +from ansible_collections.community.crypto.plugins.module_utils.version import ( + LooseVersion, ) + MINIMAL_CRYPTOGRAPHY_VERSION = '2.0' CRYPTOGRAPHY_IMP_ERR = None @@ -343,7 +345,7 @@ class DHParameterCryptography(DHParameterBase): with open(self.path, 'rb') as f: data = f.read() params = cryptography.hazmat.primitives.serialization.load_pem_parameters(data, backend=self.crypto_backend) - except Exception as dummy: + except Exception: return False # Check parameters bits = count_bits(params.parameter_numbers().p) diff --git a/plugins/modules/openssl_pkcs12.py b/plugins/modules/openssl_pkcs12.py index ac32c29f..255d67f4 100644 --- a/plugins/modules/openssl_pkcs12.py +++ b/plugins/modules/openssl_pkcs12.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -288,32 +290,29 @@ import traceback from ansible.module_utils.basic import AnsibleModule, missing_required_lib from ansible.module_utils.common.text.converters import to_bytes, to_native - -from ansible_collections.community.crypto.plugins.module_utils.version import LooseVersion - +from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( + OpenSSLBadPassphraseError, + OpenSSLObjectError, +) +from ansible_collections.community.crypto.plugins.module_utils.crypto.cryptography_support import ( + parse_pkcs12, +) +from ansible_collections.community.crypto.plugins.module_utils.crypto.pem import ( + split_pem_list, +) +from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( + OpenSSLObject, + load_certificate, + load_privatekey, +) from ansible_collections.community.crypto.plugins.module_utils.io import ( load_file_if_exists, write_file, ) - -from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( - OpenSSLObjectError, - OpenSSLBadPassphraseError, +from ansible_collections.community.crypto.plugins.module_utils.version import ( + LooseVersion, ) -from ansible_collections.community.crypto.plugins.module_utils.crypto.cryptography_support import ( - parse_pkcs12, -) - -from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( - OpenSSLObject, - load_privatekey, - load_certificate, -) - -from ansible_collections.community.crypto.plugins.module_utils.crypto.pem import ( - split_pem_list, -) MINIMAL_CRYPTOGRAPHY_VERSION = '3.0' MINIMAL_PYOPENSSL_VERSION = '0.15' @@ -323,7 +322,9 @@ PYOPENSSL_IMP_ERR = None try: import OpenSSL from OpenSSL import crypto - from OpenSSL.crypto import load_pkcs12 as _load_pkcs12 # this got removed in pyOpenSSL 23.3.0 + from OpenSSL.crypto import ( + load_pkcs12 as _load_pkcs12, # this got removed in pyOpenSSL 23.3.0 + ) PYOPENSSL_VERSION = LooseVersion(OpenSSL.__version__) except (ImportError, AttributeError): PYOPENSSL_IMP_ERR = traceback.format_exc() @@ -335,7 +336,9 @@ CRYPTOGRAPHY_IMP_ERR = None try: import cryptography from cryptography.hazmat.primitives import serialization - from cryptography.hazmat.primitives.serialization.pkcs12 import serialize_key_and_certificates + from cryptography.hazmat.primitives.serialization.pkcs12 import ( + serialize_key_and_certificates, + ) CRYPTOGRAPHY_VERSION = LooseVersion(cryptography.__version__) except ImportError: CRYPTOGRAPHY_IMP_ERR = traceback.format_exc() @@ -347,6 +350,7 @@ CRYPTOGRAPHY_COMPATIBILITY2022_ERR = None try: from cryptography.hazmat.primitives import hashes from cryptography.hazmat.primitives.serialization.pkcs12 import PBES + # Try to build encryption builder for compatibility2022 serialization.PrivateFormat.PKCS12.encryption_builder().key_cert_algorithm(PBES.PBESv1SHA1And3KeyTripleDESCBC).hmac_hash(hashes.SHA1()) except Exception: @@ -481,7 +485,7 @@ class Pkcs(OpenSSLObject): return state_and_perms if os.path.exists(self.path) and module.params['action'] == 'export': - dummy = self.generate_bytes(module) + self.generate_bytes(module) # ignore result self.src = self.path try: pkcs12_privatekey, pkcs12_certificate, pkcs12_other_certificates, pkcs12_friendly_name = self.parse() diff --git a/plugins/modules/openssl_privatekey.py b/plugins/modules/openssl_privatekey.py index 7572e697..3f345e7a 100644 --- a/plugins/modules/openssl_privatekey.py +++ b/plugins/modules/openssl_privatekey.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -160,23 +162,19 @@ privatekey: import os from ansible.module_utils.common.text.converters import to_native - -from ansible_collections.community.crypto.plugins.module_utils.io import ( - load_file_if_exists, - write_file, -) - from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( OpenSSLObjectError, ) - +from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.privatekey import ( + get_privatekey_argument_spec, + select_backend, +) from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( OpenSSLObject, ) - -from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.privatekey import ( - select_backend, - get_privatekey_argument_spec, +from ansible_collections.community.crypto.plugins.module_utils.io import ( + load_file_if_exists, + write_file, ) diff --git a/plugins/modules/openssl_privatekey_convert.py b/plugins/modules/openssl_privatekey_convert.py index c42954b5..9f90157f 100644 --- a/plugins/modules/openssl_privatekey_convert.py +++ b/plugins/modules/openssl_privatekey_convert.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -65,23 +67,19 @@ backup_file: import os from ansible.module_utils.common.text.converters import to_native - -from ansible_collections.community.crypto.plugins.module_utils.io import ( - load_file_if_exists, - write_file, -) - from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( OpenSSLObjectError, ) - +from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.privatekey_convert import ( + get_privatekey_argument_spec, + select_backend, +) from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( OpenSSLObject, ) - -from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.privatekey_convert import ( - select_backend, - get_privatekey_argument_spec, +from ansible_collections.community.crypto.plugins.module_utils.io import ( + load_file_if_exists, + write_file, ) diff --git a/plugins/modules/openssl_privatekey_info.py b/plugins/modules/openssl_privatekey_info.py index c4c9443e..9a3413e4 100644 --- a/plugins/modules/openssl_privatekey_info.py +++ b/plugins/modules/openssl_privatekey_info.py @@ -7,6 +7,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -204,11 +206,9 @@ private_data: from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.common.text.converters import to_native - from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( OpenSSLObjectError, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.privatekey_info import ( PrivateKeyConsistencyError, PrivateKeyParseError, diff --git a/plugins/modules/openssl_privatekey_pipe.py b/plugins/modules/openssl_privatekey_pipe.py index 7f45785d..86f51baa 100644 --- a/plugins/modules/openssl_privatekey_pipe.py +++ b/plugins/modules/openssl_privatekey_pipe.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type diff --git a/plugins/modules/openssl_publickey.py b/plugins/modules/openssl_publickey.py index 6d074039..904777cc 100644 --- a/plugins/modules/openssl_publickey.py +++ b/plugins/modules/openssl_publickey.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -192,29 +194,27 @@ import traceback from ansible.module_utils.basic import AnsibleModule, missing_required_lib from ansible.module_utils.common.text.converters import to_native - -from ansible_collections.community.crypto.plugins.module_utils.version import LooseVersion - -from ansible_collections.community.crypto.plugins.module_utils.io import ( - load_file_if_exists, - write_file, -) - from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( - OpenSSLObjectError, OpenSSLBadPassphraseError, + OpenSSLObjectError, ) - -from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( - OpenSSLObject, - load_privatekey, - get_fingerprint, -) - from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.publickey_info import ( PublicKeyParseError, get_publickey_info, ) +from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( + OpenSSLObject, + get_fingerprint, + load_privatekey, +) +from ansible_collections.community.crypto.plugins.module_utils.io import ( + load_file_if_exists, + write_file, +) +from ansible_collections.community.crypto.plugins.module_utils.version import ( + LooseVersion, +) + MINIMAL_CRYPTOGRAPHY_VERSION = '1.2.3' MINIMAL_CRYPTOGRAPHY_VERSION_OPENSSH = '1.4' @@ -274,7 +274,7 @@ class PublicKey(OpenSSLObject): result['can_parse_key'] = True except PublicKeyParseError as exc: result.update(exc.result) - except Exception as exc: + except Exception: pass return result @@ -363,7 +363,7 @@ class PublicKey(OpenSSLObject): crypto_serialization.Encoding.PEM, crypto_serialization.PublicFormat.SubjectPublicKeyInfo ) - except Exception as dummy: + except Exception: return False try: diff --git a/plugins/modules/openssl_publickey_info.py b/plugins/modules/openssl_publickey_info.py index 5117ca35..cc753ef8 100644 --- a/plugins/modules/openssl_publickey_info.py +++ b/plugins/modules/openssl_publickey_info.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -156,11 +158,9 @@ public_data: from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.common.text.converters import to_native - from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( OpenSSLObjectError, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.publickey_info import ( PublicKeyParseError, select_backend, diff --git a/plugins/modules/openssl_signature.py b/plugins/modules/openssl_signature.py index 0af85026..c022813b 100644 --- a/plugins/modules/openssl_signature.py +++ b/plugins/modules/openssl_signature.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -102,11 +104,14 @@ signature: type: str """ +import base64 import os import traceback -import base64 -from ansible_collections.community.crypto.plugins.module_utils.version import LooseVersion +from ansible_collections.community.crypto.plugins.module_utils.version import ( + LooseVersion, +) + MINIMAL_CRYPTOGRAPHY_VERSION = '1.4' @@ -122,23 +127,21 @@ except ImportError: else: CRYPTOGRAPHY_FOUND = True +from ansible.module_utils.basic import AnsibleModule, missing_required_lib +from ansible.module_utils.common.text.converters import to_native from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( CRYPTOGRAPHY_HAS_DSA_SIGN, CRYPTOGRAPHY_HAS_EC_SIGN, - CRYPTOGRAPHY_HAS_ED25519_SIGN, CRYPTOGRAPHY_HAS_ED448_SIGN, + CRYPTOGRAPHY_HAS_ED25519_SIGN, CRYPTOGRAPHY_HAS_RSA_SIGN, OpenSSLObjectError, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( OpenSSLObject, load_privatekey, ) -from ansible.module_utils.common.text.converters import to_native -from ansible.module_utils.basic import AnsibleModule, missing_required_lib - class SignatureBase(OpenSSLObject): diff --git a/plugins/modules/openssl_signature_info.py b/plugins/modules/openssl_signature_info.py index cdf899b1..21c15474 100644 --- a/plugins/modules/openssl_signature_info.py +++ b/plugins/modules/openssl_signature_info.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -91,11 +93,14 @@ valid: type: bool """ +import base64 import os import traceback -import base64 -from ansible_collections.community.crypto.plugins.module_utils.version import LooseVersion +from ansible_collections.community.crypto.plugins.module_utils.version import ( + LooseVersion, +) + MINIMAL_CRYPTOGRAPHY_VERSION = '1.4' @@ -111,23 +116,21 @@ except ImportError: else: CRYPTOGRAPHY_FOUND = True +from ansible.module_utils.basic import AnsibleModule, missing_required_lib +from ansible.module_utils.common.text.converters import to_native from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( CRYPTOGRAPHY_HAS_DSA_SIGN, CRYPTOGRAPHY_HAS_EC_SIGN, - CRYPTOGRAPHY_HAS_ED25519_SIGN, CRYPTOGRAPHY_HAS_ED448_SIGN, + CRYPTOGRAPHY_HAS_ED25519_SIGN, CRYPTOGRAPHY_HAS_RSA_SIGN, OpenSSLObjectError, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( OpenSSLObject, load_certificate, ) -from ansible.module_utils.common.text.converters import to_native -from ansible.module_utils.basic import AnsibleModule, missing_required_lib - class SignatureInfoBase(OpenSSLObject): diff --git a/plugins/modules/x509_certificate.py b/plugins/modules/x509_certificate.py index 8eec9d7b..f476826a 100644 --- a/plugins/modules/x509_certificate.py +++ b/plugins/modules/x509_certificate.py @@ -7,6 +7,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -229,45 +231,37 @@ certificate: import os from ansible.module_utils.common.text.converters import to_native - -from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.certificate import ( - select_backend, - get_certificate_argument_spec, +from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( + OpenSSLObjectError, +) +from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.certificate import ( + get_certificate_argument_spec, + select_backend, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.certificate_acme import ( AcmeCertificateProvider, add_acme_provider_to_argument_spec, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.certificate_entrust import ( EntrustCertificateProvider, add_entrust_provider_to_argument_spec, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.certificate_ownca import ( OwnCACertificateProvider, add_ownca_provider_to_argument_spec, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.certificate_selfsigned import ( SelfSignedCertificateProvider, add_selfsigned_provider_to_argument_spec, ) - +from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( + OpenSSLObject, +) from ansible_collections.community.crypto.plugins.module_utils.io import ( load_file_if_exists, write_file, ) -from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( - OpenSSLObjectError, -) - -from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( - OpenSSLObject, -) - class CertificateAbsent(OpenSSLObject): def __init__(self, module): diff --git a/plugins/modules/x509_certificate_convert.py b/plugins/modules/x509_certificate_convert.py index 4f641102..58a9f82f 100644 --- a/plugins/modules/x509_certificate_convert.py +++ b/plugins/modules/x509_certificate_convert.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -114,37 +116,34 @@ import os import traceback from ansible.module_utils.basic import AnsibleModule, missing_required_lib -from ansible.module_utils.common.text.converters import to_native, to_bytes, to_text - +from ansible.module_utils.common.text.converters import to_bytes, to_native, to_text +from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( + OpenSSLObjectError, +) +from ansible_collections.community.crypto.plugins.module_utils.crypto.pem import ( + PEM_END, + PEM_END_START, + PEM_START, + extract_pem, + identify_pem_format, + split_pem_list, +) +from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( + OpenSSLObject, +) from ansible_collections.community.crypto.plugins.module_utils.io import ( load_file_if_exists, write_file, ) -from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( - OpenSSLObjectError, -) - -from ansible_collections.community.crypto.plugins.module_utils.crypto.pem import ( - PEM_START, - PEM_END_START, - PEM_END, - identify_pem_format, - split_pem_list, - extract_pem, -) - -from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( - OpenSSLObject, -) MINIMAL_CRYPTOGRAPHY_VERSION = '1.6' CRYPTOGRAPHY_IMP_ERR = None try: import cryptography # noqa: F401, pylint: disable=unused-import - from cryptography.x509 import load_der_x509_certificate from cryptography.hazmat.backends import default_backend + from cryptography.x509 import load_der_x509_certificate except ImportError: CRYPTOGRAPHY_IMP_ERR = traceback.format_exc() CRYPTOGRAPHY_FOUND = False diff --git a/plugins/modules/x509_certificate_info.py b/plugins/modules/x509_certificate_info.py index 5943205a..34d276b8 100644 --- a/plugins/modules/x509_certificate_info.py +++ b/plugins/modules/x509_certificate_info.py @@ -7,6 +7,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -393,21 +395,17 @@ issuer_uri: from ansible.module_utils.basic import AnsibleModule -from ansible.module_utils.six import string_types from ansible.module_utils.common.text.converters import to_native - +from ansible.module_utils.six import string_types from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( OpenSSLObjectError, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.cryptography_support import ( CRYPTOGRAPHY_TIMEZONE, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.certificate_info import ( select_backend, ) - from ansible_collections.community.crypto.plugins.module_utils.time import ( get_relative_time_option, ) diff --git a/plugins/modules/x509_certificate_pipe.py b/plugins/modules/x509_certificate_pipe.py index b95057d6..830cc377 100644 --- a/plugins/modules/x509_certificate_pipe.py +++ b/plugins/modules/x509_certificate_pipe.py @@ -8,6 +8,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -126,31 +128,26 @@ certificate: from ansible.module_utils.common.text.converters import to_native - -from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.certificate import ( - select_backend, - get_certificate_argument_spec, +from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( + OpenSSLObjectError, +) +from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.certificate import ( + get_certificate_argument_spec, + select_backend, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.certificate_entrust import ( EntrustCertificateProvider, add_entrust_provider_to_argument_spec, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.certificate_ownca import ( OwnCACertificateProvider, add_ownca_provider_to_argument_spec, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.certificate_selfsigned import ( SelfSignedCertificateProvider, add_selfsigned_provider_to_argument_spec, ) -from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( - OpenSSLObjectError, -) - class GenericCertificate(object): """Retrieve a certificate using the given module backend.""" diff --git a/plugins/modules/x509_crl.py b/plugins/modules/x509_crl.py index e67eb858..b1007e26 100644 --- a/plugins/modules/x509_crl.py +++ b/plugins/modules/x509_crl.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -442,28 +444,23 @@ import traceback from ansible.module_utils.basic import AnsibleModule, missing_required_lib from ansible.module_utils.common.text.converters import to_native, to_text from ansible.module_utils.common.validation import check_type_int, check_type_str - -from ansible_collections.community.crypto.plugins.module_utils.serial import parse_serial -from ansible_collections.community.crypto.plugins.module_utils.version import LooseVersion - -from ansible_collections.community.crypto.plugins.module_utils.io import ( - write_file, -) - from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( - OpenSSLObjectError, OpenSSLBadPassphraseError, + OpenSSLObjectError, ) - -from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( - OpenSSLObject, - load_privatekey, - load_certificate, - parse_name_field, - parse_ordered_name_field, - select_message_digest, +from ansible_collections.community.crypto.plugins.module_utils.crypto.cryptography_crl import ( + CRYPTOGRAPHY_TIMEZONE_INVALIDITY_DATE, + REVOCATION_REASON_MAP, + TIMESTAMP_FORMAT, + cryptography_decode_revoked_certificate, + cryptography_dump_revoked, + cryptography_get_signature_algorithm_oid_from_crl, + get_last_update, + get_next_update, + set_last_update, + set_next_update, + set_revocation_date, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.cryptography_support import ( CRYPTOGRAPHY_TIMEZONE, cryptography_decode_name, @@ -473,32 +470,31 @@ from ansible_collections.community.crypto.plugins.module_utils.crypto.cryptograp cryptography_oid_to_name, cryptography_serial_number_of_cert, ) - -from ansible_collections.community.crypto.plugins.module_utils.crypto.cryptography_crl import ( - CRYPTOGRAPHY_TIMEZONE_INVALIDITY_DATE, - REVOCATION_REASON_MAP, - TIMESTAMP_FORMAT, - cryptography_decode_revoked_certificate, - cryptography_dump_revoked, - cryptography_get_signature_algorithm_oid_from_crl, - get_next_update, - get_last_update, - set_next_update, - set_last_update, - set_revocation_date, -) - -from ansible_collections.community.crypto.plugins.module_utils.crypto.pem import ( - identify_pem_format, -) - from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.crl_info import ( get_crl_info, ) - +from ansible_collections.community.crypto.plugins.module_utils.crypto.pem import ( + identify_pem_format, +) +from ansible_collections.community.crypto.plugins.module_utils.crypto.support import ( + OpenSSLObject, + load_certificate, + load_privatekey, + parse_name_field, + parse_ordered_name_field, + select_message_digest, +) +from ansible_collections.community.crypto.plugins.module_utils.io import write_file +from ansible_collections.community.crypto.plugins.module_utils.serial import ( + parse_serial, +) from ansible_collections.community.crypto.plugins.module_utils.time import ( get_relative_time_option, ) +from ansible_collections.community.crypto.plugins.module_utils.version import ( + LooseVersion, +) + MINIMAL_CRYPTOGRAPHY_VERSION = '1.2' @@ -510,9 +506,9 @@ try: from cryptography.hazmat.primitives.serialization import Encoding from cryptography.x509 import ( CertificateRevocationListBuilder, - RevokedCertificateBuilder, - NameAttribute, Name, + NameAttribute, + RevokedCertificateBuilder, ) CRYPTOGRAPHY_VERSION = LooseVersion(cryptography.__version__) except ImportError: @@ -649,7 +645,7 @@ class CRL(OpenSSLObject): self.crl = x509.load_der_x509_crl(data, default_backend()) if self.return_content: self.crl_content = base64.b64encode(data) - except Exception as dummy: + except Exception: self.crl_content = None self.actual_format = self.format data = None @@ -682,7 +678,7 @@ class CRL(OpenSSLObject): result = get_crl_info(self.module, data) result['can_parse_crl'] = True return result - except Exception as exc: + except Exception: return dict(can_parse_crl=False) def remove(self): diff --git a/plugins/modules/x509_crl_info.py b/plugins/modules/x509_crl_info.py index 23c01193..9cb4eb17 100644 --- a/plugins/modules/x509_crl_info.py +++ b/plugins/modules/x509_crl_info.py @@ -6,6 +6,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -179,18 +181,15 @@ import binascii from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.common.text.converters import to_native - from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( OpenSSLObjectError, ) - -from ansible_collections.community.crypto.plugins.module_utils.crypto.pem import ( - identify_pem_format, -) - from ansible_collections.community.crypto.plugins.module_utils.crypto.module_backends.crl_info import ( get_crl_info, ) +from ansible_collections.community.crypto.plugins.module_utils.crypto.pem import ( + identify_pem_format, +) def main(): diff --git a/plugins/plugin_utils/action_module.py b/plugins/plugin_utils/action_module.py index 3d7a77b2..94e60e6f 100644 --- a/plugins/plugin_utils/action_module.py +++ b/plugins/plugin_utils/action_module.py @@ -13,6 +13,8 @@ # NOTE: THIS IS ONLY FOR ACTION PLUGINS! from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -23,14 +25,15 @@ import traceback from ansible import constants as C from ansible.errors import AnsibleError from ansible.module_utils import six -from ansible.module_utils.basic import AnsibleFallbackNotFound, SEQUENCETYPE, remove_values -from ansible.module_utils.common._collections_compat import ( - Mapping -) -from ansible.module_utils.common.parameters import ( - PASS_VARS, - PASS_BOOLS, +from ansible.module_utils.basic import ( + SEQUENCETYPE, + AnsibleFallbackNotFound, + remove_values, ) +from ansible.module_utils.common._collections_compat import Mapping +from ansible.module_utils.common.parameters import PASS_BOOLS, PASS_VARS +from ansible.module_utils.common.text.converters import to_native, to_text +from ansible.module_utils.common.text.formatters import lenient_lowercase from ansible.module_utils.common.validation import ( check_mutually_exclusive, check_required_arguments, @@ -38,30 +41,22 @@ from ansible.module_utils.common.validation import ( check_required_if, check_required_one_of, check_required_together, - count_terms, - check_type_bool, check_type_bits, + check_type_bool, check_type_bytes, + check_type_dict, check_type_float, check_type_int, check_type_jsonarg, check_type_list, - check_type_dict, check_type_path, check_type_raw, check_type_str, + count_terms, safe_eval, ) -from ansible.module_utils.common.text.formatters import ( - lenient_lowercase, -) from ansible.module_utils.parsing.convert_bool import BOOLEANS_FALSE, BOOLEANS_TRUE -from ansible.module_utils.six import ( - binary_type, - string_types, - text_type, -) -from ansible.module_utils.common.text.converters import to_native, to_text +from ansible.module_utils.six import binary_type, string_types, text_type from ansible.plugins.action import ActionBase @@ -69,9 +64,11 @@ try: # For ansible-core 2.11, we can use the ArgumentSpecValidator. We also import # ModuleArgumentSpecValidator since that indicates that the 'classical' approach # will no longer work. - from ansible.module_utils.common.arg_spec import ( # noqa: F401, pylint: disable=unused-import + from ansible.module_utils.common.arg_spec import ( ArgumentSpecValidator, - ModuleArgumentSpecValidator, # ModuleArgumentSpecValidator is not used + ) + from ansible.module_utils.common.arg_spec import ( # noqa: F401, pylint: disable=unused-import; ModuleArgumentSpecValidator is not used + ModuleArgumentSpecValidator as dummy, ) from ansible.module_utils.errors import UnsupportedError HAS_ARGSPEC_VALIDATOR = True @@ -758,7 +755,7 @@ class ActionModuleBase(ActionBase): except _ModuleExitException as mee: result.update(mee.result) return result - except Exception as dummy: + except Exception: result['failed'] = True result['msg'] = 'MODULE FAILURE' result['exception'] = traceback.format_exc() diff --git a/plugins/plugin_utils/filter_module.py b/plugins/plugin_utils/filter_module.py index ce58317e..7177e944 100644 --- a/plugins/plugin_utils/filter_module.py +++ b/plugins/plugin_utils/filter_module.py @@ -6,6 +6,8 @@ # NOTE: THIS IS ONLY FOR FILTER PLUGINS! from __future__ import absolute_import, division, print_function + + __metaclass__ = type diff --git a/plugins/plugin_utils/gnupg.py b/plugins/plugin_utils/gnupg.py index 0cd715bf..a544a517 100644 --- a/plugins/plugin_utils/gnupg.py +++ b/plugins/plugin_utils/gnupg.py @@ -3,15 +3,19 @@ # 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) +from __future__ import absolute_import, division, print_function + + __metaclass__ = type -from subprocess import Popen, PIPE +from subprocess import PIPE, Popen from ansible.module_utils.common.process import get_bin_path from ansible.module_utils.common.text.converters import to_native - -from ansible_collections.community.crypto.plugins.module_utils.gnupg.cli import GPGError, GPGRunner +from ansible_collections.community.crypto.plugins.module_utils.gnupg.cli import ( + GPGError, + GPGRunner, +) class PluginGPGRunner(GPGRunner): @@ -19,7 +23,7 @@ class PluginGPGRunner(GPGRunner): if executable is None: try: executable = get_bin_path('gpg') - except ValueError as e: + except ValueError: raise GPGError('Cannot find the `gpg` executable on the controller') self.executable = executable self.cwd = cwd diff --git a/tests/nox-config-flake8.ini b/tests/nox-config-flake8.ini new file mode 100644 index 00000000..fa6ddf30 --- /dev/null +++ b/tests/nox-config-flake8.ini @@ -0,0 +1,13 @@ +# 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 +# SPDX-FileCopyrightText: 2025 Felix Fontein + +[flake8] +extend-ignore = E203, E402, F401 +count = true +# TODO: decrease this to ~10 +max-complexity = 48 +# black's max-line-length is 89, but it doesn't touch long string literals. +# Since ansible-test's limit is 160, let's use that here. +max-line-length = 160 +statistics = true diff --git a/tests/nox-config-isort.cfg b/tests/nox-config-isort.cfg new file mode 100644 index 00000000..bf8cf046 --- /dev/null +++ b/tests/nox-config-isort.cfg @@ -0,0 +1,7 @@ +# Copyright (c) Ansible Project +# 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 + +[isort] +profile=black +lines_after_imports = 2 diff --git a/tests/unit/plugins/module_utils/acme/backend_data.py b/tests/unit/plugins/module_utils/acme/backend_data.py index cf3e5b93..a3532d8b 100644 --- a/tests/unit/plugins/module_utils/acme/backend_data.py +++ b/tests/unit/plugins/module_utils/acme/backend_data.py @@ -3,6 +3,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -15,12 +17,11 @@ from ansible_collections.community.crypto.plugins.module_utils.acme.backends imp CertificateInformation, CryptoBackend, ) - from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( BackendException, ) -from ..test_time import cartesian_product, TIMEZONES +from ..test_time import TIMEZONES, cartesian_product def load_fixture(name): diff --git a/tests/unit/plugins/module_utils/acme/test_backend_cryptography.py b/tests/unit/plugins/module_utils/acme/test_backend_cryptography.py index 732a0f0a..2cf9a765 100644 --- a/tests/unit/plugins/module_utils/acme/test_backend_cryptography.py +++ b/tests/unit/plugins/module_utils/acme/test_backend_cryptography.py @@ -3,41 +3,40 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type import datetime import pytest -from freezegun import freeze_time - -from ansible_collections.community.internal_test_tools.tests.unit.compat.mock import MagicMock - from ansible_collections.community.crypto.plugins.module_utils.acme.backend_cryptography import ( HAS_CURRENT_CRYPTOGRAPHY, CryptographyBackend, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.cryptography_support import ( CRYPTOGRAPHY_TIMEZONE, ) - from ansible_collections.community.crypto.plugins.module_utils.time import ( - ensure_utc_timezone, UTC, + ensure_utc_timezone, ) +from ansible_collections.community.internal_test_tools.tests.unit.compat.mock import ( + MagicMock, +) +from freezegun import freeze_time +from ..test_time import TIMEZONES from .backend_data import ( - TEST_KEYS, - TEST_CSRS, TEST_CERT, TEST_CERT_DAYS, TEST_CERT_INFO, - TEST_PARSE_ACME_TIMESTAMP, + TEST_CSRS, TEST_INTERPOLATE_TIMESTAMP, + TEST_KEYS, + TEST_PARSE_ACME_TIMESTAMP, ) -from ..test_time import TIMEZONES - if not HAS_CURRENT_CRYPTOGRAPHY: pytest.skip('cryptography not found') diff --git a/tests/unit/plugins/module_utils/acme/test_backend_openssl_cli.py b/tests/unit/plugins/module_utils/acme/test_backend_openssl_cli.py index 0560d1b6..ed6c8b25 100644 --- a/tests/unit/plugins/module_utils/acme/test_backend_openssl_cli.py +++ b/tests/unit/plugins/module_utils/acme/test_backend_openssl_cli.py @@ -3,36 +3,37 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type import datetime import pytest -from freezegun import freeze_time - -from ansible_collections.community.internal_test_tools.tests.unit.compat.mock import MagicMock - - from ansible_collections.community.crypto.plugins.module_utils.acme.backend_openssl_cli import ( OpenSSLCLIBackend, ) - from ansible_collections.community.crypto.plugins.module_utils.time import ( - ensure_utc_timezone, UTC, + ensure_utc_timezone, ) +from ansible_collections.community.internal_test_tools.tests.unit.compat.mock import ( + MagicMock, +) +from freezegun import freeze_time from .backend_data import ( - TEST_KEYS, - TEST_CSRS, TEST_CERT, - TEST_CERT_OPENSSL_OUTPUT, TEST_CERT_DAYS, TEST_CERT_INFO, - TEST_PARSE_ACME_TIMESTAMP, + TEST_CERT_OPENSSL_OUTPUT, + TEST_CSRS, TEST_INTERPOLATE_TIMESTAMP, + TEST_KEYS, + TEST_PARSE_ACME_TIMESTAMP, ) + # from ..test_time import TIMEZONES diff --git a/tests/unit/plugins/module_utils/acme/test_challenges.py b/tests/unit/plugins/module_utils/acme/test_challenges.py index aa61fffd..ddae4884 100644 --- a/tests/unit/plugins/module_utils/acme/test_challenges.py +++ b/tests/unit/plugins/module_utils/acme/test_challenges.py @@ -3,25 +3,25 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type import pytest - -from ansible_collections.community.internal_test_tools.tests.unit.compat.mock import MagicMock - - from ansible_collections.community.crypto.plugins.module_utils.acme.challenges import ( + Authorization, + Challenge, combine_identifier, split_identifier, - Challenge, - Authorization, ) - from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( ACMEProtocolException, ModuleFailException, ) +from ansible_collections.community.internal_test_tools.tests.unit.compat.mock import ( + MagicMock, +) def test_combine_identifier(): diff --git a/tests/unit/plugins/module_utils/acme/test_errors.py b/tests/unit/plugins/module_utils/acme/test_errors.py index 6eb0464d..adfe1e77 100644 --- a/tests/unit/plugins/module_utils/acme/test_errors.py +++ b/tests/unit/plugins/module_utils/acme/test_errors.py @@ -3,17 +3,18 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type import pytest - -from ansible_collections.community.internal_test_tools.tests.unit.compat.mock import MagicMock - - from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( - format_error_problem, ACMEProtocolException, + format_error_problem, +) +from ansible_collections.community.internal_test_tools.tests.unit.compat.mock import ( + MagicMock, ) diff --git a/tests/unit/plugins/module_utils/acme/test_io.py b/tests/unit/plugins/module_utils/acme/test_io.py index 02a928ab..e8bf65d8 100644 --- a/tests/unit/plugins/module_utils/acme/test_io.py +++ b/tests/unit/plugins/module_utils/acme/test_io.py @@ -3,16 +3,18 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type -from ansible_collections.community.internal_test_tools.tests.unit.compat.mock import MagicMock - - from ansible_collections.community.crypto.plugins.module_utils.acme.io import ( read_file, write_file, ) +from ansible_collections.community.internal_test_tools.tests.unit.compat.mock import ( + MagicMock, +) TEST_TEXT = r"""1234 diff --git a/tests/unit/plugins/module_utils/acme/test_orders.py b/tests/unit/plugins/module_utils/acme/test_orders.py index 68a450b3..703ae670 100644 --- a/tests/unit/plugins/module_utils/acme/test_orders.py +++ b/tests/unit/plugins/module_utils/acme/test_orders.py @@ -3,21 +3,19 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type import pytest - -from ansible_collections.community.internal_test_tools.tests.unit.compat.mock import MagicMock - - -from ansible_collections.community.crypto.plugins.module_utils.acme.orders import ( - Order, -) - from ansible_collections.community.crypto.plugins.module_utils.acme.errors import ( ACMEProtocolException, ) +from ansible_collections.community.crypto.plugins.module_utils.acme.orders import Order +from ansible_collections.community.internal_test_tools.tests.unit.compat.mock import ( + MagicMock, +) def test_order_from_json(): diff --git a/tests/unit/plugins/module_utils/acme/test_utils.py b/tests/unit/plugins/module_utils/acme/test_utils.py index 5cc318ac..276171ad 100644 --- a/tests/unit/plugins/module_utils/acme/test_utils.py +++ b/tests/unit/plugins/module_utils/acme/test_utils.py @@ -3,28 +3,26 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type import datetime import pytest - from ansible_collections.community.crypto.plugins.module_utils.acme.backends import ( CertificateInformation, ) - from ansible_collections.community.crypto.plugins.module_utils.acme.utils import ( + compute_cert_id, nopad_b64, + parse_retry_after, pem_to_der, process_links, - parse_retry_after, - compute_cert_id, ) -from .backend_data import ( - TEST_PEM_DERS, -) +from .backend_data import TEST_PEM_DERS NOPAD_B64 = [ diff --git a/tests/unit/plugins/module_utils/crypto/test_asn1.py b/tests/unit/plugins/module_utils/crypto/test_asn1.py index ea4b8a5d..f608468f 100644 --- a/tests/unit/plugins/module_utils/crypto/test_asn1.py +++ b/tests/unit/plugins/module_utils/crypto/test_asn1.py @@ -5,6 +5,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type import base64 @@ -12,10 +14,9 @@ import re import subprocess import pytest - from ansible_collections.community.crypto.plugins.module_utils.crypto._asn1 import ( - serialize_asn1_string_as_der, pack_asn1, + serialize_asn1_string_as_der, ) diff --git a/tests/unit/plugins/module_utils/crypto/test_cryptography_support.py b/tests/unit/plugins/module_utils/crypto/test_cryptography_support.py index b1525161..9dbdc75c 100644 --- a/tests/unit/plugins/module_utils/crypto/test_cryptography_support.py +++ b/tests/unit/plugins/module_utils/crypto/test_cryptography_support.py @@ -5,27 +5,27 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type import re import cryptography import pytest - -from cryptography.x509 import NameAttribute, oid - from ansible_collections.community.crypto.plugins.module_utils.crypto.basic import ( OpenSSLObjectError, ) - from ansible_collections.community.crypto.plugins.module_utils.crypto.cryptography_support import ( - cryptography_get_name, _adjust_idn, - _parse_dn_component, _parse_dn, + _parse_dn_component, + cryptography_get_name, ) - -from ansible_collections.community.crypto.plugins.module_utils.version import LooseVersion +from ansible_collections.community.crypto.plugins.module_utils.version import ( + LooseVersion, +) +from cryptography.x509 import NameAttribute, oid @pytest.mark.parametrize('unicode, idna, cycled_unicode', [ @@ -71,7 +71,7 @@ def test_adjust_idn(unicode, idna, cycled_unicode): ]) def test_adjust_idn_fail_valueerror(value, idn_rewrite, message): with pytest.raises(ValueError, match=message): - result = _adjust_idn(value, idn_rewrite) + _adjust_idn(value, idn_rewrite) @pytest.mark.parametrize('value, idn_rewrite, message', [ @@ -86,7 +86,7 @@ def test_adjust_idn_fail_valueerror(value, idn_rewrite, message): ]) def test_adjust_idn_fail_user_error(value, idn_rewrite, message): with pytest.raises(OpenSSLObjectError, match=message): - result = _adjust_idn(value, idn_rewrite) + _adjust_idn(value, idn_rewrite) def test_cryptography_get_name_invalid_prefix(): @@ -149,7 +149,7 @@ if LooseVersion('2.9') <= LooseVersion(cryptography.__version__) < LooseVersion( ]) def test_parse_dn_component_failure(name, options, message): with pytest.raises(OpenSSLObjectError, match=u'^%s$' % re.escape(message)): - result = _parse_dn_component(name, **options) + _parse_dn_component(name, **options) @pytest.mark.parametrize('name, expected', [ @@ -169,4 +169,4 @@ def test_parse_dn(name, expected): ]) def test_parse_dn_failure(name, message): with pytest.raises(OpenSSLObjectError, match=u'^%s$' % re.escape(message)): - result = _parse_dn(name) + _parse_dn(name) diff --git a/tests/unit/plugins/module_utils/crypto/test_math.py b/tests/unit/plugins/module_utils/crypto/test_math.py index 4fd91771..df5424f2 100644 --- a/tests/unit/plugins/module_utils/crypto/test_math.py +++ b/tests/unit/plugins/module_utils/crypto/test_math.py @@ -5,17 +5,18 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type import pytest - from ansible_collections.community.crypto.plugins.module_utils.crypto.math import ( binary_exp_mod, - simple_gcd, - quick_is_not_prime, + convert_bytes_to_int, convert_int_to_bytes, convert_int_to_hex, - convert_bytes_to_int, + quick_is_not_prime, + simple_gcd, ) diff --git a/tests/unit/plugins/module_utils/crypto/test_pem.py b/tests/unit/plugins/module_utils/crypto/test_pem.py index 183d81b9..d825bda5 100644 --- a/tests/unit/plugins/module_utils/crypto/test_pem.py +++ b/tests/unit/plugins/module_utils/crypto/test_pem.py @@ -5,15 +5,16 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type import pytest - from ansible_collections.community.crypto.plugins.module_utils.crypto.pem import ( + extract_first_pem, identify_pem_format, identify_private_key_format, split_pem_list, - extract_first_pem, ) diff --git a/tests/unit/plugins/module_utils/openssh/test_certificate.py b/tests/unit/plugins/module_utils/openssh/test_certificate.py index 390a9626..9cca0cd8 100644 --- a/tests/unit/plugins/module_utils/openssh/test_certificate.py +++ b/tests/unit/plugins/module_utils/openssh/test_certificate.py @@ -5,17 +5,19 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type import pytest - from ansible_collections.community.crypto.plugins.module_utils.openssh.certificate import ( OpensshCertificate, OpensshCertificateOption, OpensshCertificateTimeParameters, - parse_option_list + parse_option_list, ) + # Type: ssh-rsa-cert-v01@openssh.com user certificate # Public key: RSA-CERT SHA256:SvUwwUer4AwsdePYseJR3LcZS8lnKi6BqiL51Dop030 # Signing CA: DSA SHA256:YCdJ2lYU+FSkWUud7zg1SJszprXoRGNU/GVcqXUjgC8 diff --git a/tests/unit/plugins/module_utils/openssh/test_cryptography.py b/tests/unit/plugins/module_utils/openssh/test_cryptography.py index b4d52bd0..a563958f 100644 --- a/tests/unit/plugins/module_utils/openssh/test_cryptography.py +++ b/tests/unit/plugins/module_utils/openssh/test_cryptography.py @@ -5,9 +5,9 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function -__metaclass__ = type -import pytest + +__metaclass__ = type import os.path from getpass import getuser @@ -15,17 +15,19 @@ from os import remove, rmdir from socket import gethostname from tempfile import mkdtemp +import pytest from ansible_collections.community.crypto.plugins.module_utils.openssh.cryptography import ( HAS_OPENSSH_SUPPORT, InvalidCommentError, - InvalidPrivateKeyFileError, - InvalidPublicKeyFileError, InvalidKeySizeError, InvalidKeyTypeError, InvalidPassphraseError, - OpensshKeypair + InvalidPrivateKeyFileError, + InvalidPublicKeyFileError, + OpensshKeypair, ) + DEFAULT_KEY_PARAMS = [ ( 'rsa', diff --git a/tests/unit/plugins/module_utils/openssh/test_utils.py b/tests/unit/plugins/module_utils/openssh/test_utils.py index 2ea537d2..3ebca4a6 100644 --- a/tests/unit/plugins/module_utils/openssh/test_utils.py +++ b/tests/unit/plugins/module_utils/openssh/test_utils.py @@ -5,16 +5,18 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type import pytest - from ansible_collections.community.crypto.plugins.module_utils.openssh.utils import ( - parse_openssh_version, OpensshParser, - _OpensshWriter + _OpensshWriter, + parse_openssh_version, ) + SSH_VERSION_STRING = "OpenSSH_7.9p1, OpenSSL 1.1.0i-fips 14 Aug 2018" SSH_VERSION_NUMBER = "7.9" @@ -135,7 +137,6 @@ def test_valid_seek(): def test_invalid_seek(): - result = False buffer = b'buffer' parser = OpensshParser(buffer) diff --git a/tests/unit/plugins/module_utils/test_time.py b/tests/unit/plugins/module_utils/test_time.py index 0d4f9168..241b2b8a 100644 --- a/tests/unit/plugins/module_utils/test_time.py +++ b/tests/unit/plugins/module_utils/test_time.py @@ -3,6 +3,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type @@ -10,21 +12,19 @@ import datetime import sys import pytest -from freezegun import freeze_time - from ansible.module_utils.common.collections import is_sequence - from ansible_collections.community.crypto.plugins.module_utils.time import ( + UTC, add_or_remove_timezone, - get_now_datetime, convert_relative_to_datetime, ensure_utc_timezone, from_epoch_seconds, get_epoch_seconds, + get_now_datetime, get_relative_time_option, remove_timezone, - UTC, ) +from freezegun import freeze_time TIMEZONES = [ diff --git a/tests/unit/plugins/modules/test_luks_device.py b/tests/unit/plugins/modules/test_luks_device.py index 481b4700..728d9e9f 100644 --- a/tests/unit/plugins/modules/test_luks_device.py +++ b/tests/unit/plugins/modules/test_luks_device.py @@ -3,6 +3,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import absolute_import, division, print_function + + __metaclass__ = type import pytest