Руководство по переносу на Ansible 9
- Плейбук
- Командная строка
- Устаревшие функции
- Модули
- Плагины
- Перенос пользовательских скриптов
- Сетевые функции
- Руководство по переносу для v9.13.0
- Руководство по переносу для v9.12.0
- Руководство по переносу для v9.11.0
- Руководство по переносу для v9.10.0
- Руководство по переносу для v9.9.0
- Руководство по переносу для v9.8.0
- Руководство по переносу для v9.7.0
- Руководство по переносу для v9.6.0
- Руководство по переносу для v9.5.1
- Руководство по переносу для v9.4.0
- Руководство по переносу для v9.3.0
- Руководство по переносу для v9.2.0
- Руководство по переносу для v9.1.0
- Руководство по переносу для v9.0.0
Ansible 9 основан на Ansible-core 2.16.
Рекомендуем прочитать эту страницу вместе с списком изменений Ansible 9, чтобы понять, какие обновления вам могут потребоваться.
Плейбук
-
Условные выражения — из-за устранения проблемы безопасности CVE-2023-5764 в ansible-core 2.16.1 условные выражения со встроенными блоками шаблонов могут завершиться ошибкой с сообщением «
Conditional is marked as unsafe, and cannot be evaluated.», если встроенный шаблон обращается к данным из ненадёжных источников, например к результатам модулей или переменным, помеченным как!unsafe. Условные выражения со встроенными шаблонами могут стать источником внедрения вредоносных шаблонов при обращении к ненадёжным данным, и почти всегда их можно переписать без встроенных шаблонов. Ключевые слова условий задач плейбука, такие какwhenиuntil, уже давно выводят предупреждения, не рекомендующие использовать встроенные шаблоны в условиях; теперь это предупреждение распространяется также на условия вне задач, например на действиеassert.- name: task with a module result (always untrusted by Ansible) shell: echo "hi mom" register: untrusted_result # don't do it this way... # - name: insecure conditional with embedded template consulting untrusted data # assert: # that: '"hi mom" is in {{ untrusted_result.stdout }}' - name: securely access untrusted values directly as Jinja variables instead assert: that: '"hi mom" is in untrusted_result.stdout'
Командная строка
Устаревшие функции
Модули
Удалённые модули
Уведомления об устаревании
Важные изменения модулей
Плагины
Перенос пользовательских скриптов
Сетевые функции
Руководство по переносу для v9.13.0
Основные изменения
- Отмена удаления netapp.storagegrid. Коллекция не будет удалена из Ansible 11 (https://forum.ansible.com/t/2811). Поддержку коллекции взяла на себя другая команда NetApp.
Руководство по переносу для v9.12.0
Основные изменения
ansible.posix
- Прекращена поддержка Ansible 2.9; минимальной требуемой версией для этого выпуска будет ansible-core 2.15
fortinet.fortios
- Улучшена логика функции SET: сначала отправляется запрос GET, а затем PUT или POST
- Mantis
- Добавлена поддержка новых версий FOS 7.6.0.
Устаревшие функции
- Коллекция
community.networkпризнана устаревшей. Она будет удалена из Ansible 12, если до выхода Ansible 12 никто не возобновит её поддержку. Подробнее см. в разделе Процесс удаления неподдерживаемых коллекций (https://forum.ansible.com/t/8030). - Коллекция google.cloud будет удалена из Ansible 12 из-за несоответствия требованиям включения в Ansible. В коллекции есть неустранённые ошибки проверок sanity. Подробнее см. в разделе Процесс удаления коллекций, не соответствующих требованиям, в том числе информацию о том, как отменить удаление (https://forum.ansible.com/t/8609).
community.network
- Эта коллекция и всё её содержимое не поддерживаются и признаны устаревшими (https://forum.ansible.com/t/8030). Если вы хотите поддерживать отдельные части коллекции, скопируйте их в собственный репозиторий и сообщите об этом другим участникам в обсуждении на форуме. Подробнее см. в руководстве по созданию коллекций.
community.vmware
- vmware_cluster_dpm — модуль признан устаревшим и будет удалён в community.vmware 6.0.0 (https://github.com/ansible-collections/community.vmware/pull/2217).
- vmware_cluster_drs_recommendations — модуль признан устаревшим и будет удалён в community.vmware 6.0.0 (https://github.com/ansible-collections/community.vmware/pull/2218).
Руководство по переносу для v9.11.0
Устаревшие функции
- Коллекция
ngine_io.exoscaleпризнана устаревшей. Она будет удалена из Ansible 11, если до выхода Ansible 11 никто не возобновит её поддержку. Подробнее см. в разделе Процесс удаления неподдерживаемых коллекций (https://forum.ansible.com/t/2572). - Коллекция sensu.sensu_go будет удалена из Ansible 12 из-за несоответствия требованиям включения в Ansible. В коллекции есть неустранённые ошибки проверок sanity. Подробнее см. в разделе Процесс удаления коллекций, не соответствующих требованиям, в том числе информацию о том, как отменить удаление (https://forum.ansible.com/t/8380).
Руководство по переносу для v9.10.0
Устаревшие функции
community.mysql
- коллекция — поддержка коннектора mysqlclient признана устаревшей: используйте коннектор PyMySQL! Тестирование с ним прекратится в версии коллекции 4.0.0, а связанный код будет удалён в версии 5.0.0 (https://github.com/ansible-collections/community.mysql/issues/654).
- mysql_info — переменная, возвращаемая фильтром
users_info,plugin_auth_stringсодержит хешированный пароль, что вводит в заблуждение; она будет удалена из community.mysql 4.0.0. Вместо неё используйте возвращаемое значениеplugin_hash_string(https://github.com/ansible-collections/community.mysql/pull/629). - mysql_user — псевдоним
userаргументаnameпризнан устаревшим и будет удалён в версии коллекции 5.0.0. Вместо него используйте аргументname.
community.vmware
- vmware_cluster — модуль признан устаревшим и будет удалён в community.vmware 6.0.0 (https://github.com/ansible-collections/community.vmware/pull/2143).
- vmware_cluster_drs — модуль признан устаревшим и будет удалён в community.vmware 6.0.0 (https://github.com/ansible-collections/community.vmware/pull/2136).
- vmware_cluster_vcls — модуль признан устаревшим и будет удалён в community.vmware 6.0.0 (https://github.com/ansible-collections/community.vmware/pull/2156).
Руководство по переносу для v9.9.0
Известные проблемы
community.docker
- docker_container — если для сети контейнера указан MAC-адрес, а сеть подключается после создания контейнера (например, из-за проверки идемпотентности), демон Docker в некоторых случаях может игнорировать этот MAC-адрес (https://github.com/ansible-collections/community.docker/pull/933).
Устаревшие функции
community.docker
- Коллекция объявляет устаревшей поддержку всех версий ansible-core, срок поддержки которых уже истёк, согласно матрице поддержки ansible-core. Это означает, что следующий мажорный выпуск коллекции больше не будет поддерживать ansible-core 2.11, ansible-core 2.12, ansible-core 2.13 и ansible-core 2.14.
community.routeros
- Коллекция объявляет устаревшей поддержку всех версий Ansible/ansible-base/ansible-core, срок поддержки которых уже истёк, согласно матрице поддержки ansible-core. Это означает, что следующий мажорный выпуск коллекции больше не будет поддерживать Ansible 2.9, ansible-base 2.10, ansible-core 2.11, ansible-core 2.12, ansible-core 2.13 и ansible-core 2.14.
community.sops
- Коллекция объявляет устаревшей поддержку всех версий Ansible/ansible-base/ansible-core, срок поддержки которых уже истёк, согласно матрице поддержки ansible-core. Это означает, что следующий мажорный выпуск коллекции больше не будет поддерживать Ansible 2.9, ansible-base 2.10, ansible-core 2.11, ansible-core 2.12, ansible-core 2.13 и ansible-core 2.14.
Руководство по переносу для v9.8.0
Добавленные коллекции
- ieisystem.inmanage (версия 2.0.0)
- vmware.vmware (версия 1.3.0)
Основные изменения
fortinet.fortios
- Добавлен файл sanity_test.yaml для запуска тестов CI в GitHub.
- Добавлена поддержка Ansible-core 2.17.
- Добавлена поддержка новых версий FOS 7.4.4.
Устаревшие функции
- Коллекция
frr.frrпризнана устаревшей. Она будет удалена из Ansible 11, если до выхода Ansible 11 никто не возобновит её поддержку. Подробнее см. в разделе Процесс удаления неподдерживаемых коллекций (https://forum.ansible.com/t/6243). - Коллекция
openvswitch.openvswitchпризнана устаревшей. Она будет удалена из Ansible 11, если до выхода Ansible 11 никто не возобновит её поддержку. Подробнее см. в разделе Процесс удаления неподдерживаемых коллекций (https://forum.ansible.com/t/6245).
Руководство по переносу для v9.7.0
Известные проблемы
community.general
- homectl — модуль не работает в Python 3.13 или новее, поскольку использует удалённый стандартный модуль библиотеки
crypt(https://github.com/ansible-collections/community.general/issues/4691, https://github.com/ansible-collections/community.general/pull/8497). - udm_user — модуль не работает в Python 3.13 или новее, поскольку использует удалённый стандартный модуль библиотеки
crypt(https://github.com/ansible-collections/community.general/issues/4690, https://github.com/ansible-collections/community.general/pull/8497).
Основные изменения
containers.podman
- Добавлены монтирование и размонтирование томов
- Добавлена поддержка нескольких подсетей для сетей
- Добавлены новые параметры для podman_container
- Добавлены новые параметры для модуля pod
- Добавлен поиск podman
- Улучшена идемпотентность сетевых функций в podman_container
- Переработана идемпотентность модуля Podman Pod
Удалённые функции
community.grafana
- удалён устаревший аргумент
messageвgrafana_dashboard
Руководство по переносу для v9.6.0
Добавленные коллекции
- kaytus.ksmanage (версия 1.2.1)
Известные проблемы
community.docker
-
Обратите внимание: исправление для requests 2.32.0, включённое в community.docker 3.10.1, устраняет проблемы только в коде встроенного Docker SDK for Python. Модули и плагины, использующие Docker SDK for Python, по-прежнему могут завершаться с ошибками, поскольку в настоящее время SDK несовместим с requests 2.32.0.
Если у вас по-прежнему возникают проблемы с requests 2.32.0, например сообщения об ошибках вида
Not supported URL scheme http+docker, ограничьте версию requests значением<2.32.0.
Несовместимые изменения
community.ciscosmb
- в facts интерфейса ‘bandwith’ изменено на ‘bandwidth’
Устаревшие функции
amazon.aws
- cloudformation — параметр
templateпризнан устаревшим и будет удалён в выпуске после 2026-05-01. Параметрtemplate_bodyможно использовать совместно с плагином поиска (https://github.com/ansible-collections/amazon.aws/pull/2048). - module_utils.botocore — параметр
boto3дляget_aws_connection_info()будет удалён в выпуске после 2025-05-01. Параметрboto3игнорируется начиная с выпуска 4.0.0 (https://github.com/ansible-collections/amazon.aws/pull/2047). - module_utils.botocore — параметр
boto3дляget_aws_region()будет удалён в выпуске после 2025-05-01. Параметрboto3игнорируется начиная с выпуска 4.0.0 (https://github.com/ansible-collections/amazon.aws/pull/2047). - module_utils.ec2 — параметр
boto3дляget_ec2_security_group_ids_from_names()будет удалён в выпуске после 2025-05-01. Параметрboto3игнорируется начиная с выпуска 4.0.0 (https://github.com/ansible-collections/amazon.aws/pull/2047).
community.crypto
- фрагмент документации acme — стандартный фрагмент документации
community.crypto.acme[.documentation]признан устаревшим и будет удалён из community.crypto 3.0.0. Замените его обоими новыми фрагментамиcommunity.crypto.acme.basicиcommunity.crypto.acme.account(https://github.com/ansible-collections/community.crypto/pull/735). - module utils acme.backends — метод
get_cert_information()должен быть реализован для криптографического бэкенда ACME начиная с community.crypto 3.0.0 (https://github.com/ansible-collections/community.crypto/pull/736). - module utils crypto.module_backends.common — module utils
crypto.module_backends.commonпризнан устаревшим и будет удалён из community.crypto 3.0.0. Вместо него используйте улучшенный module utilargspec(https://github.com/ansible-collections/community.crypto/pull/749).
community.docker
- docker_compose — модуль Docker Compose v1 признан устаревшим и будет удалён из community.docker 4.0.0. Перейдите на модуль
community.docker.docker_compose_v2, работающий с Docker Compose v2 (https://github.com/ansible-collections/community.docker/issues/823, https://github.com/ansible-collections/community.docker/pull/833). - различные модули и плагины — параметр
ssl_versionпризнан устаревшим и будет удалён из community.docker 4.0.0. Он уже удалён из Docker SDK for Python 7.0.0 и ранее был нужен только для обхода проблем SSL/TLS (https://github.com/ansible-collections/community.docker/pull/853).
Руководство по переносу для v9.5.1
Основные изменения
containers.podman
- Добавлена поддержка quadlet для модулей Podman
fortinet.fortios
- Добавлены примечания о модулях резервного копирования в документацию модулей monitor и monitor_fact.
- Добавлена поддержка новых версий FOS 7.4.2 и 7.4.3, а также типа данных mac_address в коллекции.
- В документации список поддерживаемых версий обновлён: вместо latest указана конкретная исправленная версия.
- Требуемая версия ansible обновлена до 2.15.
Устаревшие функции
community.crypto
- module utils acme.backends — начиная с community.crypto все реализации
CryptoBackendдолжны переопределятьget_ordered_csr_identifiers(). Текущая реализация по умолчанию, которая просто сортирует результатget_csr_identifiers(), будет удалена (https://github.com/ansible-collections/community.crypto/pull/725).
community.general
- плагин обратного вызова hipchat — служба hipchat прекращена, а самостоятельная версия не поддерживается с 2020 года. Поэтому плагин обратного вызова признан устаревшим и будет удалён из community.general 10.0.0, если никто не предоставит веских причин сохранить его (https://github.com/ansible-collections/community.general/issues/8184, https://github.com/ansible-collections/community.general/pull/8189).
community.vmware
- vmware_guest_tools_info —
vm_tools_install_statusбудет удалён в следующей мажорной версии коллекции (5.0.0), поскольку вызов API, предоставляющий эту информацию, признан VMware устаревшим. Вместо него используйтеvm_tools_running_status/vm_tools_version_status(https://github.com/ansible-collections/community.vmware/issues/2033).
Руководство по переносу для v9.4.0
Устаревшие функции
amazon.aws
- iam_role_info — в выпуске после 2026-05-01 пути должны начинаться и заканчиваться на
/(https://github.com/ansible-collections/amazon.aws/pull/1998).
Руководство по переносу для v9.3.0
Основные изменения
community.mysql
- Поддержка версии коллекции 2.*.* прекращена; исправления ошибок больше не будут переноситься в эту версию. Рекомендуем перейти на последнюю версию.
fortinet.fortios
- Во всех документах и примерах логические значения заменены на true/false.
- Обновлена документация для log_fact.
- Сообщение о несоответствии версий дополнено диапазонами версий.
- Требуемая версия ansible обновлена до 2.14.
- Для уменьшения размера коллекции диапазоны поддерживаемых версий используются вместо конкретных номеров версий.
Устаревшие функции
- Коллекция
inspur.smсчитается неподдерживаемой и будет удалена из Ansible 11, если до выхода Ansible 11 никто не возобновит её поддержку. Подробнее см. в разделе Процесс удаления неподдерживаемых коллекций, в том числе информацию о том, как отменить удаление (https://forum.ansible.com/t/2854). - Коллекция
netapp.storagegridсчитается неподдерживаемой и будет удалена из Ansible 11, если до выхода Ansible 11 никто не возобновит её поддержку. Подробнее см. в разделе Процесс удаления неподдерживаемых коллекций, в том числе информацию о том, как отменить удаление (https://forum.ansible.com/t/2811). - Коллекция
purestorage.fusionпризнана устаревшей. Она будет удалена из Ansible 10, если до выхода Ansible 10 никто не возобновит её поддержку. Подробнее см. в разделе Процесс удаления неподдерживаемых коллекций (https://forum.ansible.com/t/3712).
community.crypto
- openssl_csr_pipe, openssl_privatekey_pipe, x509_certificate_pipe — текущее поведение в режиме проверки признано устаревшим и изменится в community.crypto 3.0.0. Сейчас оно аналогично поведению модулей без
_pipe: если объект необходимо (повторно) создать, устанавливается только статусchanged, но объект не обновляется. Начиная с community.crypto 3.0.0 модули будут игнорировать режим проверки и всегда работать так, как если бы режим проверки не был включён. Уже сейчас можно добиться такого поведения, добавивcheck_mode: falseк задаче. Если вы считаете, что это нарушит ваш сценарий использования модуля, создайте запрос в репозитории community.crypto (https://github.com/ansible-collections/community.crypto/issues/712, https://github.com/ansible-collections/community.crypto/pull/714).
Руководство по переносу на v9.2.0
Добавленные коллекции
- community.library_inventory_filtering_v1 (версия 1.0.0)
Известные проблемы
dellemc.openmanage
- idrac_firmware — проблема (279282) — этот модуль не поддерживает обновление прошивки с использованием ресурсов HTTP, HTTPS и FTP с аутентификацией на iDRAC8.
- idrac_network_attributes — проблема (279049) — если для параметра
ome_network_attributesуказаны неподдерживаемые значения, модуль не выводит корректное сообщение об ошибке. - ome_device_network_services — проблема (212681) — модуль не выводит корректное сообщение об ошибке, если для следующих параметров указаны неподдерживаемые значения: port_number, community_name, max_sessions, max_auth_retries и idle_timeout.
- ome_device_power_settings — проблема (212679) — модуль выводит следующее сообщение, если значение, указанное для параметра
power_cap, находится вне поддерживаемого диапазона от 0 до 32767:Unable to complete the request because PowerCap does not exist or is not applicable for the resource URI. - ome_device_quick_deploy — проблема (275231) — этот модуль не развертывает новую конфигурацию в слоте, в котором отключен IPv6.
- ome_diagnostics — проблема (279193) — экспорт журналов сбора SupportAssist в общую папку завершается ошибкой в версии OME 4.0.0.
- ome_smart_fabric_uplink — проблема (186024) — модуль поддерживается OpenManage Enterprise Modular, однако он не позволяет создавать несколько восходящих каналов с одинаковым именем. Если восходящий канал создан с именем уже существующего канала, существующий канал изменяется.
Основные изменения
community.docker
- Коллекция
community.dockerтеперь зависит от коллекцииcommunity.library_inventory_filtering_v1. Эта вспомогательная коллекция предоставляет функциональность фильтрации узлов для плагинов инвентаризации. Если вы используете пакет сообщества Ansible, обе коллекции включены в него, и вам не нужно выполнять никаких дополнительных действий. Если вы устанавливаете коллекцию с помощьюansible-galaxy collection install, она будет установлена автоматически. Если вы устанавливаете коллекцию, копируя ее файлы в место, откуда ansible-core может их найти, например клонируя репозиторий git, убедитесь, что установили также зависимость, если используете плагины инвентаризации (https://github.com/ansible-collections/community.docker/pull/698).
community.hashi_vault
- требования — для пакета
requests, необходимого дляhvac, в некоторых сценариях использования теперь установлен более строгий диапазон версий этой коллекции из-за критических изменений безопасности вansible-core, перенесенных в предыдущие версии (https://github.com/ansible-collections/community.hashi_vault/pull/416).
dellemc.openmanage
- Все модули OME дополнены поддержкой переменных среды
OME_USERNAMEиOME_PASSWORDв качестве резервного способа получения учетных данных. - Все модули iDRAC и Redfish дополнены поддержкой переменных среды
IDRAC_USERNAMEиIDRAC_PASSWORDв качестве резервного способа получения учетных данных. - idrac_certificates — модуль дополнен поддержкой импорта и экспорта
CUSTOMCERTIFICATE. - idrac_gather_facts — роль дополнена поддержкой безопасной загрузки.
- idrac_license — добавлен модуль для настройки лицензий iDRAC.
infoblox.nios_modules
- Обновлена поддержка версий Ansible: с 2.13 до 2.16.
- Обновлена поддержка версий Python: с 3.8 до 3.10.
Устаревшие функции
community.dns
- Плагины инвентаризации hetzner_dns_records и hosttech_dns_records — параметр
filtersпереименован вsimple_filters. Старое имя перестанет работать в community.hrobot 2.0.0 (https://github.com/ansible-collections/community.dns/pull/181).
community.docker
- docker_container — значение
ignoreпо умолчанию для параметраimage_name_mismatchобъявлено устаревшим и в community.docker 4.0.0 будет заменено наrecreate. Предупреждение об устаревании будет выводиться в случаях, когда используется значение по умолчанию и поведение изменится после его замены (https://github.com/ansible-collections/community.docker/pull/703).
community.general
- consul_acl — модуль объявлен устаревшим и будет удален в community.general 10.0.0. Вместо него можно использовать
consul_tokenиconsul_policy(https://github.com/ansible-collections/community.general/pull/7901).
community.hrobot
- Плагин инвентаризации robot — параметр
filtersпереименован вsimple_filters. Старое имя перестанет работать в community.hrobot 2.0.0 (https://github.com/ansible-collections/community.hrobot/pull/94).
Руководство по переносу на v9.1.0
Известные проблемы
dellemc.openmanage
- idrac_firmware — проблема (279282) — этот модуль не поддерживает обновление прошивки с использованием ресурсов HTTP, HTTPS и FTP с аутентификацией на iDRAC8.
- idrac_network_attributes — проблема (279049) — если для параметра
ome_network_attributesуказаны неподдерживаемые значения, модуль не выводит корректное сообщение об ошибке. - ome_device_network_services — проблема (212681) — модуль не выводит корректное сообщение об ошибке, если для следующих параметров указаны неподдерживаемые значения: port_number, community_name, max_sessions, max_auth_retries и idle_timeout.
- ome_device_power_settings — проблема (212679) — модуль выводит следующее сообщение, если значение, указанное для параметра
power_cap, находится вне поддерживаемого диапазона от 0 до 32767:Unable to complete the request because PowerCap does not exist or is not applicable for the resource URI. - ome_device_quick_deploy — проблема (275231) — этот модуль не развертывает новую конфигурацию в слоте, в котором отключен IPv6.
- ome_diagnostics — проблема (279193) — экспорт журналов сбора SupportAssist в общую папку завершается ошибкой в версии OME 4.0.0.
- ome_smart_fabric_uplink — проблема (186024) — модуль поддерживается OpenManage Enterprise Modular, однако он не позволяет создавать несколько восходящих каналов с одинаковым именем. Если восходящий канал создан с именем уже существующего канала, существующий канал изменяется.
Критические изменения
Ansible-core
- assert — вложенная шаблонизация может привести к невозможности вычисления условия. Дополнительную информацию см. в руководстве по переносу.
Руководство по переносу на v9.0.0
Добавленные коллекции
- ibm.storage_virtualize (версия 2.1.0)
- telekom_mms.icinga_director (версия 1.34.1)
Известные проблемы
Ansible-core
- ansible-galaxy — завершает работу в середине установки роли, если эта роль содержит внутренние классы Java (файлы с символом $ в имени). Так и задумано: это позволяет исключить временные файлы и файлы резервных копий. (https://github.com/ansible/ansible/pull/81553).
- ansible-test — тест
pep8не обнаруживает проблемы с пробелами в f-строках (E201, E202) в Python 3.10 и 3.11. В Python 3.12 они обнаруживаются корректно. См. (https://github.com/PyCQA/pycodestyle/issues/1190).
community.crypto
- В текстовом выводе ansible-doc для ansible-core до версии 2.15 разметка Ansible отображается в исходном виде. Если вам трудно разобраться в разметке документации, обновите ansible-core до версии 2.15 (или новее) либо ознакомьтесь с документацией в формате HTML на странице https://docs.ansible.com/ansible/devel/collections/community/crypto/.
community.dns
- В текстовом выводе ansible-doc для ansible-core до версии 2.15 разметка Ansible отображается в исходном виде. Если вам трудно разобраться в разметке документации, обновите ansible-core до версии 2.15 (или новее) либо ознакомьтесь с документацией в формате HTML на странице https://docs.ansible.com/ansible/devel/collections/community/dns/.
community.docker
- В текстовом выводе ansible-doc для ansible-core до версии 2.15 разметка Ansible отображается в исходном виде. Если вам трудно разобраться в разметке документации, обновите ansible-core до версии 2.15 (или новее) либо ознакомьтесь с документацией в формате HTML на странице https://docs.ansible.com/ansible/devel/collections/community/docker/.
community.general
- В текстовом выводе ansible-doc для ansible-core до версии 2.15 разметка Ansible отображается в исходном виде. Если вам трудно разобраться в разметке документации, обновите ansible-core до версии 2.15 (или новее) либо ознакомьтесь с документацией в формате HTML на странице https://docs.ansible.com/ansible/devel/collections/community/general/ (https://github.com/ansible-collections/community.general/pull/6539).
community.hrobot
- В текстовом выводе ansible-doc для ansible-core до версии 2.15 разметка Ansible отображается в исходном виде. Если вам трудно разобраться в разметке документации, обновите ansible-core до версии 2.15 (или новее) либо ознакомьтесь с документацией в формате HTML на странице https://docs.ansible.com/ansible/devel/collections/community/hrobot/.
community.routeros
- В текстовом выводе ansible-doc для ansible-core до версии 2.15 разметка Ansible отображается в исходном виде. Если вам трудно разобраться в разметке документации, обновите ansible-core до версии 2.15 (или новее) либо ознакомьтесь с документацией в формате HTML на странице https://docs.ansible.com/ansible/devel/collections/community/routeros/.
community.sops
- В текстовом выводе ansible-doc для ansible-core до версии 2.15 разметка Ansible отображается в исходном виде. Если вам трудно разобраться в разметке документации, обновите ansible-core до версии 2.15 (или новее) либо ознакомьтесь с документацией в формате HTML на странице https://docs.ansible.com/ansible/devel/collections/community/sops/.
dellemc.openmanage
- Отсутствует ca_path — проблема (275740): в ролях idrac_attributes, redfish_storage_volume и idrac_server_powerstate отсутствует параметр ca_path.
- idrac_firmware — проблема (276335): этот модуль не работает с общими ресурсами NFS в Python версии 3.11.x. Используйте другую версию Python или тип общего ресурса.
- idrac_firmware — проблема (279282): этот модуль не поддерживает обновление встроенного ПО с использованием общих ресурсов HTTP, HTTPS и FTP с аутентификацией на iDRAC8.
- idrac_network_attributes — проблема (279049): если для параметра
ome_network_attributesуказаны неподдерживаемые значения, модуль не выводит корректное сообщение об ошибке. - idrac_redfish_storage_controller — проблема (256164): если для одного из атрибутов в указанном списке атрибутов конфигурации контроллера задано неверное значение, модуль не завершается с ошибкой.
- ome_device_network_services — проблема (212681): модуль не выводит корректное сообщение об ошибке, если для следующих параметров указаны неподдерживаемые значения: port_number, community_name, max_sessions, max_auth_retries и idle_timeout.
- ome_device_power_settings — проблема (212679): модуль выводит следующее сообщение, если значение, указанное для параметра
power_cap, не входит в поддерживаемый диапазон от 0 до 32767:Unable to complete the request because PowerCap does not exist or is not applicable for the resource URI. - ome_device_quick_deploy — проблема (275231): этот модуль не развертывает новую конфигурацию в слоте, где отключен IPv6.
- ome_smart_fabric_uplink — проблема (186024): хотя модуль поддерживается OpenManage Enterprise Modular, он не позволяет создавать несколько восходящих каналов с одинаковым именем. Если восходящий канал создается с именем уже существующего, существующий канал изменяется.
Несовместимые изменения
Ansible-core
- Любой плагин, использующий систему конфигурации и запись
cliдля использованияtimeoutиз командной строки, получит другое значение, если пользователь настроил его одним из методов с более низким приоритетом. Если вы полагаетесь на это поведение для получения глобального/общего значения времени ожидания из константы DEFAULT_TIMEOUT, ознакомьтесь с документацией по настройке плагинов и добавьте перекрывающиеся записи. - ansible-test — тестовые плагины, использующие контейнеры, больше не поддерживают повторное использование запущенных контейнеров. Ранее такое поведение было недокументированной и непроверенной возможностью.
- Модуль service больше не настраивает переменные/флаги для openbsd на постоянной основе при выполнении операций включения/отключения. Этот модуль никогда не предназначался для такой работы — он должен управлять только состоянием службы. Вместо этого следует создать и использовать модуль rcctl_config или аналогичный.
amazon.aws
- Коллекция amazon.aws прекратила поддержку
botocore<1.29.0иboto3<1.26.0. Большинство модулей продолжат работать с более старыми версиями AWS SDK, однако совместимость с ними не гарантируется и не будет проверяться. При использовании старых версий SDK Ansible выдаст предупреждение (https://github.com/ansible-collections/amazon.aws/pull/1763). - Коллекция amazon.aws — поскольку AWS SDK объявили о прекращении поддержки Python версий ниже 3.7 (https://aws.amazon.com/blogs/developer/python-support-policy-updates-for-aws-sdks-and-tools/), поддержка Python версий ниже 3.7 в этой коллекции была объявлена устаревшей в выпуске 6.0.0 и удалена в выпуске 7.0.0. (https://github.com/ansible-collections/amazon.aws/pull/1763).
- module_utils —
module_utils.urlsранее был объявлен устаревшим и теперь удален (https://github.com/ansible-collections/amazon.aws/pull/1540). - module_utils._version — встроенная копия distutils.version удалена (https://github.com/ansible-collections/amazon.aws/pull/1587).
community.aws
- Коллекция community.aws прекратила поддержку
botocore<1.29.0иboto3<1.26.0. Большинство модулей продолжат работать с более старыми версиями AWS SDK, однако совместимость с ними не гарантируется и не будет проверяться. При использовании старых версий SDK Ansible выдаст предупреждение (https://github.com/ansible-collections/amazon.aws/pull/1763). - aws_region_info — модуль перенесен из коллекции
community.aws. В плейбуках, где для этого модуля используется полное имя коллекции, его следует заменить наamazon.aws.aws_region_info. - aws_s3_bucket_info — модуль перенесен из коллекции
community.aws. В плейбуках, где для этого модуля используется полное имя коллекции, его следует заменить наamazon.aws.aws_s3_bucket_info. - Коллекция community.aws — поскольку AWS SDK объявили о прекращении поддержки Python версий ниже 3.7 (https://aws.amazon.com/blogs/developer/python-support-policy-updates-for-aws-sdks-and-tools/), поддержка Python версий ниже 3.7 в этой коллекции была объявлена устаревшей в выпуске 6.0.0 и удалена в выпуске 7.0.0. (https://github.com/ansible-collections/amazon.aws/pull/1763).
- iam_access_key — модуль перенесен из коллекции
community.aws. В плейбуках, где для этого модуля используется полное имя коллекции, его следует заменить наamazon.aws.iam_access_key. - iam_access_key_info — модуль перенесен из коллекции
community.aws. В плейбуках, где для этого модуля используется полное имя коллекции, его следует заменить наamazon.aws.iam_access_key_info. - iam_group — модуль перенесен из коллекции
community.aws. В плейбуках, где для этого модуля используется полное имя коллекции, его следует заменить наamazon.aws.iam_group(https://github.com/ansible-collections/community.aws/pull/1945). - iam_managed_policy — модуль перенесен из коллекции
community.aws. В плейбуках, где для этого модуля используется полное имя коллекции, его следует заменить наamazon.aws.iam_managed_policy(https://github.com/ansible-collections/community.aws/pull/1954). - iam_mfa_device_info — модуль перенесен из коллекции
community.aws. В плейбуках, где для этого модуля используется полное имя коллекции, его следует заменить наamazon.aws.iam_mfa_device_info(https://github.com/ansible-collections/community.aws/pull/1953). - iam_password_policy — модуль перенесен из коллекции
community.aws. В плейбуках, где для этого модуля используется полное имя коллекции, его следует заменить наamazon.aws.iam_password_policy. - iam_role — модуль перенесен из коллекции
community.aws. В плейбуках, где для этого модуля используется полное имя коллекции, его следует заменить наamazon.aws.iam_role(https://github.com/ansible-collections/community.aws/pull/1948). - iam_role_info — модуль перенесен из коллекции
community.aws. В плейбуках, где для этого модуля используется полное имя коллекции, его следует заменить наamazon.aws.iam_role_info(https://github.com/ansible-collections/community.aws/pull/1948). - s3_bucket_info — модуль перенесен из коллекции
community.aws. В плейбуках, где для этого модуля используется полное имя коллекции, его следует заменить наamazon.aws.s3_bucket_info. - sts_assume_role — модуль перенесен из коллекции
community.aws. В плейбуках, где для этого модуля используется полное имя коллекции, его следует заменить наamazon.aws.sts_assume_role.
community.general
- Модуль поиска collection_version — удален код совместимости с ansible-base 2.10 и ansible-core 2.11 (https://github.com/ansible-collections/community.general/pull/7269).
- gitlab_project — добавлена поддержка
default_branchдля обновления проекта. Если вы использовали этот модуль для обновления проекта с помощьюdefault_branch, значениеdefault_branchигнорировалось. Чтобы избежать неожиданных несовместимых изменений, обязательно не передавайте значение, если не уверены, что хотите использовать именно его (https://github.com/ansible-collections/community.general/pull/7158). - Плагин обратного вызова selective — удален код совместимости с Ansible 2.9 и ansible-core 2.10 (https://github.com/ansible-collections/community.general/pull/7269).
- Утилиты модулей vardict —
VarDictбольше не принимает переменные с именами_var,get_metaиas_dict(https://github.com/ansible-collections/community.general/pull/6647). - Утилита модуля version — удален резервный вариант для ansible-core 2.11. Все модули и плагины, использующие коллекции версий, больше не работают с ansible-core 2.11 (https://github.com/ansible-collections/community.general/pull/7269).
community.hashi_vault
- Теперь минимально необходимая версия
hvac—1.2.1(https://docs.ansible.com/ansible/devel/collections/community/hashi_vault/docsite/user_guide.html#hvac-version-specifics).
community.vmware
- Прекращена поддержка ansible-core версий ниже 2.15.0.
- vmware_dvs_host — удалены значения по умолчанию для
vmnicsиlag_uplinks(https://github.com/ansible-collections/community.vmware/issues/1516). - vmware_host_acceptance — модуль
acceptance_levelудален, а его параметры добавлены вstate. Это также означает, что состоянияlistбольше не будет. Чтобы получить сведения о текущем уровне принятия, используйте новый модульvmware_host_acceptance_info(https://github.com/ansible-collections/community.vmware/issues/1872). - vmware_vm_info — к IP-адресам в vm_network добавлена длина префикса: теперь они отображаются, например, как 10.76.33.228/24, а не просто 10.76.33.228 (https://github.com/ansible-collections/community.vmware/issues/1761).
dellemc.enterprise_sonic
- sonic_aaa — в argspec добавлен атрибут default_auth, заменивший удаленные атрибуты group и local. Это изменение обеспечивает упорядоченную аутентификацию при входе. (https://github.com/ansible-collections/dellemc.enterprise_sonic/pull/195).
hetzner.hcloud
- Прекращена поддержка ansible-core 2.12
- Прекращена поддержка Python 3.7
- Для полной совместимости теперь требуется hcloud-python 1.20.0
- Плагин инвентаризации — переменные образа сервера (
image_id,image_os_flavorиimage_name) не задаются, если образ сервера не определен.
Основные изменения
amazon.aws
- aws_region_info — модуль перенесен из коллекции
community.aws. В плейбуках, где для этого модуля используется полное имя коллекции, его следует заменить наamazon.aws.aws_region_info. - aws_s3_bucket_info — модуль перенесен из коллекции
community.aws. В плейбуках, где для этого модуля используется полное имя коллекции, его следует заменить наamazon.aws.aws_s3_bucket_info. - iam_access_key — модуль перенесен из коллекции
community.aws. В плейбуках, где для этого модуля используется полное имя коллекции, его следует заменить наamazon.aws.iam_access_key. - iam_access_key_info — модуль перенесен из коллекции
community.aws. В плейбуках, где для этого модуля используется полное имя коллекции, его следует заменить наamazon.aws.iam_access_key_info. - iam_group — модуль перенесен из коллекции
community.aws. В плейбуках, где для этого модуля используется полное имя коллекции, его следует заменить наamazon.aws.iam_group(https://github.com/ansible-collections/amazon.aws/pull/1755). - iam_managed_policy — модуль перенесен из коллекции
community.aws. В плейбуках, где для этого модуля используется полное имя коллекции, его следует заменить наamazon.aws.iam_managed_policy(https://github.com/ansible-collections/amazon.aws/pull/1762). - iam_mfa_device_info — модуль перенесен из коллекции
community.aws. В плейбуках, где для этого модуля используется полное имя коллекции, его следует заменить наamazon.aws.iam_mfa_device_info(https://github.com/ansible-collections/amazon.aws/pull/1761). - iam_password_policy — модуль перенесен из коллекции
community.aws. В плейбуках, где для этого модуля используется полное имя коллекции, его следует заменить наamazon.aws.iam_password_policy. - iam_role — модуль перенесен из коллекции
community.aws. В плейбуках, где для этого модуля используется полное имя коллекции, его следует заменить наamazon.aws.iam_role(https://github.com/ansible-collections/amazon.aws/pull/1760). - iam_role_info — модуль перенесен из коллекции
community.aws. В плейбуках, где для этого модуля используется полное имя коллекции, его следует заменить наamazon.aws.iam_role_info(https://github.com/ansible-collections/amazon.aws/pull/1760). - s3_bucket_info — модуль перенесен из коллекции
community.aws. В плейбуках, где для этого модуля используется полное имя коллекции, его следует заменить наamazon.aws.s3_bucket_info. - sts_assume_role — модуль перенесен из коллекции
community.aws. В плейбуках, где для этого модуля используется полное имя коллекции, его следует заменить наamazon.aws.sts_assume_role.
chocolatey.chocolatey
- win_chocolatey — добавлены параметры для указания контрольных сумм
- win_chocolatey_facts — добавлен параметр filter / gather_subset
cisco.ios
- В этом выпуске удалены ранее объявленные устаревшими модули и несколько атрибутов этой коллекции. Подробности см. в разделе Удаленные функции.
cisco.nxos
- Подробности см. в разделе Удаленные функции.
- В этом выпуске из коллекции удалены четыре модуля, ранее объявленных устаревшими.
cloudscale_ch.cloud
- Минимальная требуемая версия Ansible повышена до 2.13.0
community.mysql
- Коллекция community.mysql больше не поддерживает
ansible-core 2.12иansible-core 2.13. Мы не принимаем активных мер для предотвращения их использования и не планируем добавлять в модули несовместимый код, однако прекращаем тестирование этих версий. Поддержка обеих версий уже прекращена или будет прекращена в ближайшее время; если вы все еще используете их, рекомендуем как можно скорее перейти наlatest Ansible / ansible-core 2.15 or later(https://github.com/ansible-collections/community.mysql/pull/574). - mysql_role — значение аргумента
column_case_sensitiveпо умолчанию будет изменено наtrueв community.mysql 4.0.0. Если в вашем плейбуке предполагалось автоматическое преобразование названий столбцов в верхний регистр для привилегий ролей, явно задайте для этого параметра значение false (https://github.com/ansible-collections/community.mysql/issues/578). - mysql_user — значение аргумента
column_case_sensitiveпо умолчанию будет изменено наtrueв community.mysql 4.0.0. Если в вашем плейбуке предполагалось автоматическое преобразование названий столбцов в верхний регистр для привилегий пользователей, явно задайте для этого параметра значение false (https://github.com/ansible-collections/community.mysql/issues/577).
community.postgresql
- Модули postgres — минимальная поддерживаемая коллекцией версия библиотеки psycopg2 — 2.5.1 (https://github.com/ansible-collections/community.postgresql/pull/556).
- postgresql_pg_hba — удален устаревший аргумент
order. Порядок сортировкиsduзадан жестко (https://github.com/ansible-collections/community.postgresql/pull/496). - postgresql_privs — удален устаревший аргумент
usage_on_types. Для явного управления привилегиями типов PG используйте параметрtypeаргументаtype(https://github.com/ansible-collections/community.postgresql/issues/208). - postgresql_query — удалены устаревшие аргументы
path_to_scriptиas_single_query. Для выполнения запросов из скриптов используйте модульpostgresql_script(https://github.com/ansible-collections/community.postgresql/issues/189). - postgresql_user — удаление устаревшего аргумента
privsперенесено на community.postgresql 4.0.0 (https://github.com/ansible-collections/community.postgresql/issues/493). - postgresql_user — удален устаревший аргумент
groups. Вместо него используйте модульpostgresql_membership(https://github.com/ansible-collections/community.postgresql/issues/300).
community.sap
- Все модули теперь являются перенаправлениями на новую коллекцию community.sap_libs
community.vmware
- vmware_vasa — добавлен новый модуль для регистрации/отмены регистрации поставщика VASA
- vmware_vasa_info — добавлен новый модуль для сбора сведений о существующих поставщиках VASA
fortinet.fortimanager
- Добавлена поддержка всех версий FortiManager 6.2, 6.4, 7.0, 7.2 и 7.4. Добавлено 139 новых модулей.
- Добавлена поддержка аутентификации на основе токенов.
fortinet.fortios
- Добавлена поддержка новой версии fortios 7.4.1.
- Добавлен файл readthedocs.yaml.
- Отформатировано содержимое файла changelog.yml.
- Улучшена функция
no_logв некоторых модулях; - Улучшена документация по добавлению примечаний и примеров в раздел Q&A для модулей, использующих целые числа в качестве mkey.
- Улучшена документация и примеры для
seq_numвfortios_router_static; - Улучшена документация по
member_pathво всех модулях; - Добавлена поддержка новых версий FOS.
- Версия Ansible обновлена с 2.9 до 2.14.
- Обновлен раздел Q&A по настройке многофакторной аутентификации FortiToken;
- В раздел Q&A добавлено решение проблемы, из-за которой Ansible всегда отправлял запросы GET/PUT как запросы POST.
- В файл requirement.txt добавлено требование sphinx_rtd_theme==1.3.0
- В файле runtime.yml требуемая версия Ansible обновлена до 2.14.0.
grafana.grafana
- Добавлена роль Grafana Server — @gardar
- Добавлена настройка групп пользователей агента — @NormanJS
- Добавлена поддержка плагинов Grafana при локальной установке Grafana — @ishanjainn
- Обновлена служба для режима flow — @bentonam
Удаленные коллекции
- cisco.nso (ранее включенная версия: 1.0.3)
- community.fortios (ранее включенная версия: 1.0.0)
- community.google (ранее включенная версия: 1.0.0)
- community.skydive (ранее включенная версия: 1.0.0)
- ngine_io.vultr (ранее включенная версия: 1.1.3)
- servicenow.servicenow (ранее включенная версия: 1.0.6)
Удалённые функции
- Коллекция
cisco.nsoсчиталась неподдерживаемой и была удалена из Ansible 9 (https://github.com/ansible-community/community-topics/issues/155). Пользователи по-прежнему могут установить эту коллекцию с помощьюansible-galaxy collection install cisco.nso. - Коллекция
community.fortiosсчиталась неподдерживаемой и была удалена из Ansible 9 (https://github.com/ansible-community/community-topics/issues/162). Пользователи по-прежнему могут установить эту коллекцию с помощьюansible-galaxy collection install community.fortios. - Коллекция
community.googleсчиталась неподдерживаемой и была удалена из Ansible 9 (https://github.com/ansible-community/community-topics/issues/160). Пользователи по-прежнему могут установить эту коллекцию с помощьюansible-galaxy collection install community.google. - Коллекция
community.skydiveсчиталась неподдерживаемой и была удалена из Ansible 9 (https://github.com/ansible-community/community-topics/issues/171). Пользователи по-прежнему могут установить эту коллекцию с помощьюansible-galaxy collection install community.skydive. - Коллекция
ngine_io.vultrсчиталась неподдерживаемой и была удалена из Ansible 9 (https://github.com/ansible-community/community-topics/issues/257). Пользователи по-прежнему могут установить эту коллекцию с помощьюansible-galaxy collection install ngine_io.vultr. - Коллекция servicenow.servicenow удалена из Ansible 9. Устаревшая коллекция servicenow.servicenow была удалена из Ansible 7, но по ошибке снова добавлена в Ansible 8. Подробности см. в обсуждении удаления. Пользователи по-прежнему могут установить эту коллекцию с помощью
ansible-galaxy collection install servicenow.servicenow.
Ansible-core
- ActionBase — удалён устаревший метод
_remote_checksum - PlayIterator — удалены устаревшие методы
cache_block_tasksиget_original_task - Удалён устаревший класс
FileLock - Python 3.9 больше не поддерживается на контроллере. Требуется Python 3.10 или новее.
- Удалён
include, устаревший начиная с Ansible 2.12. Вместо него используйтеinclude_tasksилиimport_tasks. -
Templar— удалён устаревший параметрshared_loader_objдля__init__ -
fetch_url— удалено автоматическое отключениеdecompressпри отсутствии gzip -
get_action_args_with_defaults— удалён устаревший параметр методаredirected_names - ansible-test — прекращена поддержка удалённых целевых систем Windows 2012 и 2012-R2
- inventory_cache — удалён устаревший параметр конфигурации ini
default.fact_caching_prefix, вместо него используйтеdefaults.fact_caching_prefix. - module_utils/basic.py — Python 3.5 больше не поддерживается на удалённых узлах. Теперь требуется Python 2.7 или Python 3.6+.
- stat — удалён неиспользуемый параметр
get_md5.
ansible.windows
- win_get_url — удалён устаревший псевдоним параметра
passwordd, вместо него используйтеurl_password. - win_get_url — удалены устаревшие псевдонимы параметра
userиusername, вместо них используйтеurl_username. - win_package — удалён устаревший параметр модуля
ensure, вместо него используйтеstate. - win_package — удалён устаревший параметр модуля
productid, вместо него используйтеproduct_id. - win_package — удалены устаревшие параметры модуля
username,user_name,passwordиuser_password. Чтобы сохранить прежнюю функциональность, используйтеbecomeсbecome_flags: logon_type=new_credentials logon_flags=netcredentials_onlyв задаче. - win_reboot — удалена проверка обратной совместимости, при которой
ignore_errors: trueобрабатывался какignore_unreachable: true. Теперьignore_errors: trueбудет игнорировать только ошибки, возникшие в плагине, но не недоступность узла. Чтобы игнорировать эту ошибку, как и любую другую ошибку модуля, используйтеignore_unreachable: true. - win_regedit — прекращена поддержка использования
pathс косыми чертами в качестве разделителя ключей. Использование косой черты считалось устаревшим начиная с Ansible 2.9. Если в значенииpathwin_regeditиспользуются косые черты, замените косую черту/на обратную косую черту\. Если значение заключено в двойные кавычки, обратную косую черту нужно удвоить. - win_updates — удалён устаревший псевдоним
blacklist, вместо него используйтеreject_list. - win_updates — удалён устаревший псевдоним
whitelist, вместо него используйтеaccept_list. - win_updates — удалён устаревший параметр модуля
use_scheduled_task. Этот параметр не влиял на функциональность модуля, поэтому его можно безопасно удалить из задачи. - win_uri — удалён устаревший псевдоним параметра
password, вместо него используйтеurl_password. - win_uri — удалены устаревшие псевдонимы параметра
userиusername, вместо них используйтеurl_username.
cisco.ios
- Модуль ios_logging признан устаревшим; вместо него используйте ios_logging_global.
- Атрибут next_hop_self для bgp_address_family признан устаревшим; вместо него используйте nexthop_self.
cisco.nxos
- Модуль nxos_bgp удалён в этом выпуске.
- Модуль nxos_bgp_af удалён в этом выпуске.
- Модуль nxos_bgp_neighbor удалён в этом выпуске.
- Модуль nxos_bgp_neighbor_af удалён в этом выпуске.
community.ciscosmb
- удалено тестирование для Python 2.6 и 2.7
- удалено тестирование для Ansible 2.9
community.general
- Коллекция больше не поддерживает ansible-core 2.11 и ansible-core 2.12. Некоторые части коллекции могут по-прежнему работать с этими версиями ansible-core, а другие — нет (https://github.com/ansible-collections/community.general/pull/7269).
- ansible_galaxy_install — удалена поддержка Ansible 2.9 и ansible-base 2.10 (https://github.com/ansible-collections/community.general/pull/7358).
- consul — если задано
state=absent, параметрыscript,ttl,tcp,httpиintervalбольше нельзя указывать (https://github.com/ansible-collections/community.general/pull/7358). - gconftool2 — удалён
state=get. Вместо него используйте модульcommunity.general.gconftool2_info(https://github.com/ansible-collections/community.general/pull/7358). - gitlab_runner — удалено значение по умолчанию для параметра
access_level. Чтобы восстановить прежнее поведение, явно задайте ему значениеref_protected(https://github.com/ansible-collections/community.general/pull/7358). - htpasswd — удалён код для passlib <1.6 (https://github.com/ansible-collections/community.general/pull/6901).
- manageiq_polices — удалён
state=list. Вместо него используйте модульcommunity.general.manageiq_policies_info(https://github.com/ansible-collections/community.general/pull/7358). - manageiq_tags — удалён
state=list. Вместо него используйте модульcommunity.general.manageiq_tags_info(https://github.com/ansible-collections/community.general/pull/7358). - Утилиты модуля mh.mixins.cmd — удалён класс
ArgFormat(https://github.com/ansible-collections/community.general/pull/7358). - Утилиты модуля mh.mixins.cmd — удалён миксин
CmdMixin. Вместо него используйтеcommunity.general.plugins.module_utils.cmd_runner.CmdRunner(https://github.com/ansible-collections/community.general/pull/7358). - Утилиты модуля mh.mixins.cmd — утилиты модуля mh.mixins.cmd удалены после удаления всего их содержимого (https://github.com/ansible-collections/community.general/pull/7358).
- Утилиты модуля mh.module_helper — удалены классы
CmdModuleHelperиCmdStateModuleHelper. Вместо них используйтеcommunity.general.plugins.module_utils.cmd_runner.CmdRunner(https://github.com/ansible-collections/community.general/pull/7358). - Утилиты модуля proxmox — удалены неиспользуемые импорты (https://github.com/ansible-collections/community.general/pull/6873).
- xfconf — удалён устаревший параметр
disable_facts(https://github.com/ansible-collections/community.general/pull/7358).
community.hashi_vault
- Теперь минимальная поддерживаемая версия
ansible-core—2.14; поддержка2.13прекращена (https://github.com/ansible-collections/community.hashi_vault/pull/403).
community.vmware
- Удалена утилита модуля
version(https://github.com/ansible-collections/community.vmware/issues/1639). - vmware_guest — удалена возможность задавать конфигурацию CDROM в виде словаря; вместо этого используйте список (https://github.com/ansible-collections/community.vmware/issues/1472).
- vmware_host_lockdown — удалены устаревшие состояния
absentиpresent(https://github.com/ansible-collections/community.vmware/issues/1517). - vmware_rest_client — удалён устаревший метод
get_tag_by_category()(https://github.com/ansible-collections/community.vmware/issues/1898).
community.windows
- Удалено тестирование для Server 2012 и Server 2012 R2, поскольку срок их поддержки Microsoft подходит к концу. Эти версии ОС могут продолжать работать, но в CI тестироваться не будут.
- win_nssm — удалён устаревший параметр модуля
app_parameters, вместо него используйтеarguments. - win_psmodule — удалён устаревший параметр модуля
url; вместо него используйтеcommunity.windows.win_psrepositoryдля управления репозиториями - win_psmodule — больше не удаляет указанный
repositoryприstate: absent; используйтеcommunity.windows.win_psrepositoryдля управления репозиториями - win_scheduled_tasks — прекращена поддержка задания триггера
repetitionв виде списка словарей. Укажитеrepetitionкак значение словаря, а не как список словарей.
dellemc.openmanage
- Модуль
dellemc_get_firmware_inventoryудалён и заменён модулемidrac_firmware_info. - Модуль
dellemc_get_system_inventoryудалён и заменён модулемidrac_system_info.
hetzner.hcloud
- hcloud_datacenter_facts Удалён устаревший модуль сбора фактов
- hcloud_floating_ip_facts Удалён устаревший модуль сбора фактов
- hcloud_image_facts Удалён устаревший модуль сбора фактов
- hcloud_location_facts Удалён устаревший модуль сбора фактов
- hcloud_server_facts Удалён устаревший модуль сбора фактов
- hcloud_server_type_facts Удалён устаревший модуль сбора фактов
- hcloud_ssh_key_facts Удалён устаревший модуль сбора фактов
- hcloud_volume_facts Удалён устаревший модуль сбора фактов
Устаревшие функции
- Коллекция
community.azureсчитается неподдерживаемой и будет удалена из Ansible 10, если до выхода Ansible 10 никто не возобновит её сопровождение. Подробнее см. раздел Процесс удаления коллекций для неподдерживаемых коллекций, в том числе информацию о том, как это можно отменить (https://github.com/ansible-community/community-topics/issues/263). - Коллекция
hpe.nimbleсчитается неподдерживаемой и будет удалена из Ansible 10, если до выхода Ansible 10 никто не возобновит её сопровождение. Подробнее см. раздел Процесс удаления коллекций для неподдерживаемых коллекций, в том числе информацию о том, как это можно отменить (https://github.com/ansible-community/community-topics/issues/254). - Коллекция
netapp.azureсчитается неподдерживаемой и будет удалена из Ansible 10, если до выхода Ansible 10 никто не возобновит её сопровождение. Подробнее см. раздел Процесс удаления коллекций для неподдерживаемых коллекций, в том числе информацию о том, как это можно отменить (https://github.com/ansible-community/community-topics/issues/234). - Коллекция
netapp.elementswсчитается неподдерживаемой и будет удалена из Ansible 10, если до выхода Ansible 10 никто не возобновит её сопровождение. Подробнее см. раздел Процесс удаления коллекций для неподдерживаемых коллекций, в том числе информацию о том, как это можно отменить (https://github.com/ansible-community/community-topics/issues/235). - Коллекция
netapp.um_infoсчитается неподдерживаемой и будет удалена из Ansible 10, если до выхода Ansible 10 никто не возобновит её сопровождение. Подробнее см. раздел Процесс удаления коллекций для неподдерживаемых коллекций, в том числе информацию о том, как это можно отменить (https://github.com/ansible-community/community-topics/issues/244). - Коллекция
community.sapпереименована вcommunity.sap_libs. Пока что обе коллекции входят в Ansible. Коллекция будет полностью удалена из Ansible 10. Обновите свои FQCN: заменитеcommunity.sapнаcommunity.sap_libs. - Коллекция
ibm.spectrum_virtualizeпереименована вibm.storage_virtualize. Пока что обе коллекции входят в Ansible. Содержимоеibm.spectrum_virtualizeбудет заменено устаревшими перенаправлениями в Ansible 10.0.0. Коллекция будет полностью удалена из Ansible 12. Обновите свои FQCN: заменитеibm.spectrum_virtualizeнаibm.storage_virtualize. - Коллекция
t_systems_mms.icinga_directorпереименована вtelekom_mms.icinga_director. Пока что обе коллекции входят в Ansible. Содержимоеt_systems_mms.icinga_directorзаменено устаревшими перенаправлениями в Ansible 9.0.0. Коллекция будет полностью удалена из Ansible 11. Обновите свои FQCN: заменитеt_systems_mms.icinga_directorнаtelekom_mms.icinga_director.
Ansible-core
- Устаревший параметр конфигурации ini
collections_paths; вместо него используйте форму единственного числаcollections_path - Переменная окружения
ANSIBLE_COLLECTIONS_PATHSустарела; вместо неё используйте форму единственного числаANSIBLE_COLLECTIONS_PATH - Устаревшие плагины vars старого формата, использующие точки входа
get_host_varsилиget_group_vars. Плагин следует обновить: он должен наследоватьBaseVarsPluginи определять методget_varsв качестве точки входа. - Поддержка Windows Server 2012 и 2012 R2 прекращена, поскольку срок поддержки Microsoft истёк 10 октября 2023 года. Эти версии Windows больше не будут тестироваться в этом выпуске Ansible, и нет гарантии, что они продолжат работать в дальнейшем.
-
Параметр конфигурации
STRING_CONVERSION_ACTIONустарел, поскольку больше не используется в кодовой базе Ansible Core. - Вариант ‘smart’ для выбора плагина подключения удаляется, поскольку его основное назначение (выбор между ssh и paramiko) утратило актуальность.
- Фильтры vault и unfault: недокументированный параметр
vaultidустарел и будет удалён в ansible-core 2.20. Вместо него используйтеvault_id. - yum_repository — параметр ‘keepcache’ устарел (https://github.com/ansible/ansible/issues/78693).
amazon.aws
- ec2_instance — параметры
tenancyиplacement_groupобъявлены устаревшими в пользу атрибутаplacement(https://github.com/ansible-collections/amazon.aws/pull/1825). - s3_object — поддержка передачи ключей объектов с начальным
/объявлена устаревшей и будет удалена в одном из выпусков после 2025-12-01 (https://github.com/ansible-collections/amazon.aws/pull/1549).
ansible.netcommon
- libssh — для параметров ssh_*_args теперь указано, что они будут удалены после 2026-01-01.
ansible.windows
- Добавлено предупреждение при использовании Server 2012 или 2012 R2 с модулем
setup. Срок окончания поддержки этих ОС приближается; после этого момента они не будут тестироваться в CI. - win_domain — модуль объявлен устаревшим в пользу модуля
microsoft.ad.domain; модульansible.windows.win_domainбудет удалён в выпуске3.0.0этой коллекции. - win_domain_controller — модуль объявлен устаревшим в пользу модуля
microsoft.ad.domain_controller; модульansible.windows.win_domain_controllerбудет удалён в выпуске3.0.0этой коллекции. - win_domain_membership — модуль объявлен устаревшим в пользу модуля
microsoft.ad.membership; модульansible.windows.win_domain_membershipбудет удалён в выпуске3.0.0этой коллекции.
cisco.ios
- ios_snmp_server — traps.envmon.fan объявлен устаревшим; вместо него используйте traps.envmon.fan_enable
- ios_snmp_server — traps.mpls_vpn объявлен устаревшим; вместо него используйте traps.mpls
- ospfv2 — passive_interface заменён на passive_interfaces, который поддерживает список интерфейсов
cisco.iosxr
- Модуль iosxr_bgp объявлен устаревшим в пользу iosxr_bgp_global, iosxr_bgp_neighbor_address_family и iosxr_bgp_address_family.
- iosxr_l2_interfaces — q_vlan объявлен устаревшим; вместо него используйте qvlan, который позволяет задавать VLAN в формате str, например “any”
community.ciscosmb
- поддержка Python 2.6 и 2.7
- поддержка ansible 2.9
community.crypto
- get_certificate — значение по умолчанию
falseпараметраasn1_base64объявлено устаревшим и будет изменено наtrueв community.crypto 3.0.0 (https://github.com/ansible-collections/community.crypto/pull/600).
community.general
- Утилиты модулей CmdRunner — форматировщик
cmd_runner_fmt.as_default_type()объявлен устаревшим (https://github.com/ansible-collections/community.general/pull/6601). - Утилиты модулей MH VarsMixin —
VarsMixinи поддерживающие классы объявлены устаревшими в пользу обычной утилиты модулейvardict(https://github.com/ansible-collections/community.general/pull/6649). - В следующем основном выпуске, community.general 8.0.0, будет прекращена поддержка ansible-core 2.11 и 2.12, срок поддержки которых уже давно истёк. Это означает, что коллекция больше не поддерживает Python 2.6 на целевом узле. Отдельные компоненты могут по-прежнему работать с неподдерживаемыми версиями ansible-core, однако это может измениться в любой момент. Также обратите внимание: начиная с этого момента в каждом новом основном выпуске community.general будет прекращаться поддержка всех версий ansible-core, срок поддержки которых истёк более чем за несколько недель до даты выпуска (https://github.com/ansible-community/community-topics/discussions/271, https://github.com/ansible-collections/community.general/pull/7259).
- ansible_galaxy_install — параметры
ack_ansible29иack_min_ansiblecore211объявлены устаревшими и будут удалены в community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/7358). - consul — параметр
ack_params_state_absentобъявлен устаревшим и будет удалён в community.general 10.0.0 (https://github.com/ansible-collections/community.general/pull/7358). - cpanm — значение
compatibilityобъявлено устаревшим в качестве значения по умолчанию параметраmode(https://github.com/ansible-collections/community.general/pull/6512). - ejabberd_user — параметр
loggingобъявлен устаревшим; вместо него модуль будет выводить более подробную информацию (https://github.com/ansible-collections/community.general/pull/7043). - flowdock — модуль полностью зависит от конечных точек API, которые больше не отвечают; он будет удалён в community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/6930).
- proxmox — старый флаг функции
proxmox_default_behaviorбудет удалён в community.general 10.0.0 (https://github.com/ansible-collections/community.general/pull/6836). - proxmox_kvm — параметр
proxmox_default_behaviorобъявлен устаревшим (https://github.com/ansible-collections/community.general/pull/7377). - redfish_info, redfish_config, redfish_command — значение по умолчанию
10параметраtimeoutобъявлено устаревшим и будет изменено на60в community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/7295). - Утилиты модулей redhat — модуль
module_utils.redhatобъявлен устаревшим, поскольку фактически не используется: классыRhsm,RhsmPoolиRhsmPoolsбудут удалены в community.general 9.0.0; классRegistrationBaseбудет удалён в community.general 10.0.0 вместе с модулемrhn_register, поскольку это единственный пользователь данного класса; это означает, что весь модульmodule_utils.redhatбудет удалён в community.general 10.0.0, поэтому его импорт без использования каких-либо его компонентов завершится ошибкой (https://github.com/ansible-collections/community.general/pull/6663). - redhat_subscription — псевдоним
autosubscribeдля параметраauto_attachобъявлен устаревшим уже много лет, хотя только в документации. Теперь этот псевдоним официально помечен как устаревший и будет удалён в community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/6646). - redhat_subscription — параметр
poolобъявлен устаревшим в пользу более точного и гибкого параметраpool_ids(https://github.com/ansible-collections/community.general/pull/6650). - rhsm_repository — параметр
state=presentуже много лет работает не так, как ожидалось, и, по-видимому, это до сих пор не замечали; кроме того, понятие «наличие» неприменимо к репозиториям подписок, которые можно только включить или отключить. Поэтому значенияpresentиabsentпараметраstateобъявлены устаревшими и будут удалены в community.general 10.0.0 (https://github.com/ansible-collections/community.general/pull/6673). - stackdriver — модуль полностью зависит от несуществующих конечных точек API; он будет удалён в community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/6887).
- webfaction_app — модуль полностью зависит от несуществующих конечных точек API; он будет удалён в community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/6909).
- webfaction_db — модуль полностью зависит от несуществующих конечных точек API; он будет удалён в community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/6909).
- webfaction_domain — модуль полностью зависит от несуществующих конечных точек API; он будет удалён в community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/6909).
- webfaction_mailbox — модуль полностью зависит от несуществующих конечных точек API; он будет удалён в community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/6909).
- webfaction_site — модуль полностью зависит от несуществующих конечных точек API; он будет удалён в community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/6909).
community.postgresql
- postgresql_lang — модуль объявлен устаревшим и будет удалён в
community.postgresql 4.0.0. Вместо него используйте модульpostgresql_ext(https://github.com/ansible-collections/community.postgresql/issues/559).
community.sap
- community.sap.hana_query — объявлен устаревшим в пользу community.sap_libs.sap_hdbsql
- community.sap.sap_company — объявлен устаревшим в пользу community.sap_libs.sap_company
- community.sap.sap_snote — объявлен устаревшим в пользу community.sap_libs.sap_snote
- community.sap.sap_task_list_execute — объявлен устаревшим в пользу community.sap_libs.sap_task_list_execute
- community.sap.sap_user — объявлен устаревшим в пользу community.sap_libs.sap_user
- community.sap.sapcar_extract — объявлен устаревшим в пользу community.sap_libs.sapcar_extract
community.windows
- win_domain_computer — модуль объявлен устаревшим в пользу модуля
microsoft.ad.computer; модульcommunity.windows.win_domain_computerбудет удалён в выпуске3.0.0этой коллекции. - win_domain_group — модуль объявлен устаревшим в пользу модуля
microsoft.ad.group; модульcommunity.windows.win_domain_groupбудет удалён в выпуске3.0.0этой коллекции. - win_domain_group_membership — модуль объявлен устаревшим в пользу модуля
microsoft.ad.group; модульcommunity.windows.win_domain_group_membershipбудет удалён в выпуске3.0.0этой коллекции. - win_domain_object_info — модуль объявлен устаревшим в пользу модуля
microsoft.ad.object_info; модульcommunity.windows.win_domain_object_infoбудет удалён в выпуске3.0.0этой коллекции. - win_domain_ou — модуль объявлен устаревшим в пользу модуля
microsoft.ad.ou; модульcommunity.windows.win_domain_ouбудет удалён в выпуске3.0.0этой коллекции. - win_domain_user — модуль объявлен устаревшим в пользу модуля
microsoft.ad.user; модульcommunity.windows.win_domain_userбудет удалён в выпуске3.0.0этой коллекции.
junipernetworks.junos
-
junos_ospfv2— добавлено предупреждение об устаревании для area_range. - Добавлено предупреждение об устаревании ключа junos_acl_interfaces в результатах получения фактов junos.
microsoft.ad
- Прекращается поддержка Server 2012 и Server 2012 R2. Срок поддержки этих версий ОС в Microsoft подходит к концу, поэтому скоро завершится и их поддержка в Ansible.
purestorage.fusion
- fusion_api_client — параметры ‘app_id’ и ‘key_file’ объявлены устаревшими в пользу параметров ‘issuer_id’ и ‘private_key_file’ и будут удалены в версии 2.0.0; переменные окружения FUSION_APP_ID и FUSION_HOST объявлены устаревшими в пользу FUSION_ISSUER_ID и FUSION_HOST и будут удалены в версии 2.0.0
- fusion_array — параметры ‘app_id’ и ‘key_file’ объявлены устаревшими в пользу параметров ‘issuer_id’ и ‘private_key_file’ и будут удалены в версии 2.0.0; переменные окружения FUSION_APP_ID и FUSION_HOST объявлены устаревшими в пользу FUSION_ISSUER_ID и FUSION_HOST и будут удалены в версии 2.0.0
- fusion_az — параметры ‘app_id’ и ‘key_file’ объявлены устаревшими в пользу параметров ‘issuer_id’ и ‘private_key_file’ и будут удалены в версии 2.0.0; переменные окружения FUSION_APP_ID и FUSION_HOST объявлены устаревшими в пользу FUSION_ISSUER_ID и FUSION_HOST и будут удалены в версии 2.0.0
- fusion_hap — параметры ‘app_id’ и ‘key_file’ объявлены устаревшими в пользу параметров ‘issuer_id’ и ‘private_key_file’ и будут удалены в версии 2.0.0; переменные окружения FUSION_APP_ID и FUSION_HOST объявлены устаревшими в пользу FUSION_ISSUER_ID и FUSION_HOST и будут удалены в версии 2.0.0
- fusion_hap — параметры
nqn,wwns,host_password,host_user,target_password`and `target_userобъявлены устаревшими - fusion_hw — переменные окружения FUSION_APP_ID и FUSION_HOST объявлены устаревшими в пользу FUSION_ISSUER_ID и FUSION_HOST и будут удалены в версии 2.0.0
- fusion_info — параметры ‘app_id’ и ‘key_file’ объявлены устаревшими в пользу параметров ‘issuer_id’ и ‘private_key_file’ и будут удалены в версии 2.0.0; переменные окружения FUSION_APP_ID и FUSION_HOST объявлены устаревшими в пользу FUSION_ISSUER_ID и FUSION_HOST и будут удалены в версии 2.0.0
- fusion_info — подмножество ‘hosts’ объявлено устаревшим в пользу ‘host_access_policies’ и будет удалено в версии 2.0.0
- fusion_info — подмножество ‘interfaces’ объявлено устаревшим в пользу ‘network_interfaces’ и будет удалено в версии 2.0.0
- fusion_info — подмножество ‘zones’ объявлено устаревшим в пользу ‘availability_zones’ и будет удалено в версии 2.0.0
- fusion_ni — параметры ‘app_id’ и ‘key_file’ объявлены устаревшими в пользу параметров ‘issuer_id’ и ‘private_key_file’ и будут удалены в версии 2.0.0; переменные окружения FUSION_APP_ID и FUSION_HOST объявлены устаревшими в пользу FUSION_ISSUER_ID и FUSION_HOST и будут удалены в версии 2.0.0
- fusion_nig — параметры ‘app_id’ и ‘key_file’ объявлены устаревшими в пользу параметров ‘issuer_id’ и ‘private_key_file’ и будут удалены в версии 2.0.0; переменные окружения FUSION_APP_ID и FUSION_HOST объявлены устаревшими в пользу FUSION_ISSUER_ID и FUSION_HOST и будут удалены в версии 2.0.0
- fusion_pg — параметры ‘app_id’ и ‘key_file’ объявлены устаревшими в пользу параметров ‘issuer_id’ и ‘private_key_file’ и будут удалены в версии 2.0.0; переменные окружения FUSION_APP_ID и FUSION_HOST объявлены устаревшими в пользу FUSION_ISSUER_ID и FUSION_HOST и будут удалены в версии 2.0.0
- fusion_pp — параметры ‘app_id’ и ‘key_file’ объявлены устаревшими в пользу параметров ‘issuer_id’ и ‘private_key_file’ и будут удалены в версии 2.0.0; переменные окружения FUSION_APP_ID и FUSION_HOST объявлены устаревшими в пользу FUSION_ISSUER_ID и FUSION_HOST и будут удалены в версии 2.0.0
- fusion_ra — параметры ‘app_id’ и ‘key_file’ объявлены устаревшими в пользу параметров ‘issuer_id’ и ‘private_key_file’ и будут удалены в версии 2.0.0; переменные окружения FUSION_APP_ID и FUSION_HOST объявлены устаревшими в пользу FUSION_ISSUER_ID и FUSION_HOST и будут удалены в версии 2.0.0
- fusion_region — параметры ‘app_id’ и ‘key_file’ объявлены устаревшими в пользу параметров ‘issuer_id’ и ‘private_key_file’ и будут удалены в версии 2.0.0; переменные окружения FUSION_APP_ID и FUSION_HOST объявлены устаревшими в пользу FUSION_ISSUER_ID и FUSION_HOST и будут удалены в версии 2.0.0
- fusion_sc — параметры ‘app_id’ и ‘key_file’ объявлены устаревшими в пользу параметров ‘issuer_id’ и ‘private_key_file’ и будут удалены в версии 2.0.0; переменные окружения FUSION_APP_ID и FUSION_HOST объявлены устаревшими в пользу FUSION_ISSUER_ID и FUSION_HOST и будут удалены в версии 2.0.0
- fusion_se — параметры ‘app_id’ и ‘key_file’ объявлены устаревшими в пользу параметров ‘issuer_id’ и ‘private_key_file’ и будут удалены в версии 2.0.0; переменные окружения FUSION_APP_ID и FUSION_HOST объявлены устаревшими в пользу FUSION_ISSUER_ID и FUSION_HOST и будут удалены в версии 2.0.0
- fusion_se — параметр
endpoint_typeобъявлен устаревшим и будет удалён в версии 2.0.0 - fusion_ss — параметры ‘app_id’ и ‘key_file’ объявлены устаревшими в пользу параметров ‘issuer_id’ и ‘private_key_file’ и будут удалены в версии 2.0.0; переменные окружения FUSION_APP_ID и FUSION_HOST объявлены устаревшими в пользу FUSION_ISSUER_ID и FUSION_HOST и будут удалены в версии 2.0.0
- fusion_tenant — параметры ‘app_id’ и ‘key_file’ объявлены устаревшими в пользу параметров ‘issuer_id’ и ‘private_key_file’ и будут удалены в версии 2.0.0; переменные окружения FUSION_APP_ID и FUSION_HOST объявлены устаревшими в пользу FUSION_ISSUER_ID и FUSION_HOST и будут удалены в версии 2.0.0
- fusion_tn — переменные окружения FUSION_APP_ID и FUSION_HOST объявлены устаревшими в пользу FUSION_ISSUER_ID и FUSION_HOST и будут удалены в версии 2.0.0
- fusion_ts — параметры ‘app_id’ и ‘key_file’ объявлены устаревшими в пользу параметров ‘issuer_id’ и ‘private_key_file’ и будут удалены в версии 2.0.0; переменные окружения FUSION_APP_ID и FUSION_HOST объявлены устаревшими в пользу FUSION_ISSUER_ID и FUSION_HOST и будут удалены в версии 2.0.0
- fusion_volume — параметры ‘app_id’ и ‘key_file’ объявлены устаревшими в пользу параметров ‘issuer_id’ и ‘private_key_file’ и будут удалены в версии 2.0.0; переменные окружения FUSION_APP_ID и FUSION_HOST объявлены устаревшими в пользу FUSION_ISSUER_ID и FUSION_HOST и будут удалены в версии 2.0.0
t_systems_mms.icinga_director
- Все модули и плагины перенесены в новое пространство имён telekom_mms. Обновите свой код соответствующим образом.
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/porting_guides/porting_guide_9.html