Модуль community.aws.acm_certificate — загрузка и удаление сертификатов в сервисе AWS Certificate Manager
Примечание
Этот модуль входит в коллекцию community.aws (версия 10.1.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.aws. Для использования этого модуля могут потребоваться дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать его в плейбуке, укажите: community.aws.acm_certificate.
Добавлено в community.aws 1.0.0
Краткое описание
- Импортирует и удаляет сертификаты в Amazon Web Services Certificate Manager (AWS ACM).
- В настоящее время этот модуль не взаимодействует с сертификатами, предоставляемыми AWS. Он управляет только сертификатами, переданными AWS пользователем.
- API ACM позволяет пользователям загружать несколько сертификатов для одного и того же доменного имени, в том числе несколько идентичных сертификатов. Этот модуль пытается ограничить такую свободу, обеспечивая идемпотентность в соответствии с философией Ansible. Для этого к сертификатам ACM применяются теги ресурсов AWS «Name».
- При state=present, если в ACM есть один сертификат с тегом
Name, равным значению параметра name_tag, и идентичными телом и цепочкой, задача завершится успешно, не внося изменений. - При state=present, если в ACM есть один сертификат с тегом Name, равным значению параметра name_tag, но с другим телом, задача перезапишет этот сертификат.
- При state=present, если в ACM есть несколько сертификатов с тегом Name, равным значению параметра name_tag, задача завершится с ошибкой.
- При state=absent и заданном параметре certificate_arn этот модуль удалит ресурс ACM с указанным ARN, если он существует в этом регионе, и завершится успешно, не внося изменений, если он не существует.
- При state=absent и заданном параметре domain_name этот модуль удалит все ресурсы ACM в этом регионе AWS с соответствующим доменным именем. Если таких ресурсов нет, задача завершится успешно, не внося изменений.
- При state=absent, если не заданы ни certificate_arn, ни domain_name, этот модуль удалит все ресурсы ACM в этом регионе AWS с соответствующим тегом Name. Если таких ресурсов нет, задача завершится успешно, не внося изменений.
- Обратите внимание, что это может работать некорректно с ключами размером 4096 бит из-за ограничения API ACM.
- До выпуска версии 5.0.0 этот модуль назывался
community.aws.aws_acm. Способ использования не изменился.
Псевдонимы: aws_acm
Требования
Следующие требования должны быть выполнены на хосте, на котором выполняется этот модуль.
- python >= 3.6
- boto3 >= 1.34.0
- botocore >= 1.34.0
Параметры
Параметр | Комментарии |
|---|---|
access_key псевдонимы: aws_access_key_id, aws_access_key строка | Идентификатор ключа доступа AWS. Дополнительную информацию о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также можно использовать переменные окружения Параметры aws_access_key и profile являются взаимоисключающими. Псевдоним aws_access_key_id добавлен в версии 5.1.0 для соответствия AWS SDK botocore. |
aws_ca_bundle путь | Расположение пакета сертификатов CA, используемого для проверки SSL-сертификатов. Также можно использовать переменную окружения |
aws_config словарь | Словарь для изменения конфигурации botocore. Параметры описаны в документации AWS: https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. |
certificate строка | Тело публичного сертификата в кодировке PEM. Обязателен, если значение state не равно Если сертификат находится в файле, используйте |
certificate_arn псевдонимы: arn строка | ARN сертификата ACM, который нужно изменить или удалить. Если state=present, сертификат с указанным ARN можно обновить. Например, это можно использовать для добавления или удаления тегов существующего сертификата. Если state=absent, необходимо указать один из параметров: certificate_arn, domain_name или name_tag. Если state=absent и в этом регионе нет ресурса с таким ARN, задача завершится успешно, не внося изменений. Если state=absent и соответствующий ресурс существует в другом регионе, задача может сообщить об успехе, не удалив этот ресурс. |
certificate_chain строка | Тело цепочки сертификатов в кодировке PEM. Если цепочка сертификатов находится в файле, используйте Игнорируется при state=absent |
debug_botocore_endpoint_logs логическое значение | Используйте регистратор Также можно использовать переменную окружения Возможные значения:
|
domain_name псевдонимы: domain строка | Доменное имя сертификата. Если state=absent и задан параметр domain_name, задача удалит все сертификаты ACM для этого домена. Необходимо указать ровно один из параметров: domain_name, name_tag или certificate_arn. Если state=present, этот параметр указывать нельзя. (Доменное имя содержится в теле публичного сертификата.) |
endpoint_url псевдонимы: aws_endpoint_url строка | URL для подключения вместо конечных точек AWS по умолчанию. Хотя этот параметр можно использовать для подключения к другим совместимым с AWS сервисам, коллекции amazon.aws и community.aws тестируются только с AWS. Также можно использовать переменную окружения |
name_tag псевдонимы: name строка | Уникальный идентификатор для пометки ресурсов тегами AWS с ключом Name. Это может быть любая последовательность символов, допустимая AWS для значений тегов. Это необходимо, чтобы Ansible мог обеспечивать идемпотентность сертификатов, несмотря на то что API ACM допускает наличие дубликатов сертификатов. Если state=preset, этот параметр необходимо указать. Если state=absent и задан параметр name_tag, задача удалит все сертификаты ACM с этим тегом Name. Если state=absent, необходимо указать ровно один из параметров: certificate_arn, domain_name или name_tag. Если заданы и name_tag, и тег «Name» в параметре tags, их значения должны совпадать. Если тег «Name» в параметре tags не задан, а name_tag задан, значение name_tag копируется в tags. |
private_key строка | Тело закрытого ключа в кодировке PEM. Обязателен, если state=present и сертификат не существует. Игнорируется при state=absent. Если закрытый ключ находится в файле, используйте |
profile псевдонимы: aws_profile строка | Именованный профиль AWS для аутентификации. Дополнительную информацию об именованных профилях см. в документации AWS: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html. Также можно использовать переменную окружения Параметр profile взаимоисключающий с параметрами aws_access_key, aws_secret_key и session_token. |
purge_tags логическое значение | Если Если параметр Ключи тегов, начинающиеся с Возможные значения:
|
region псевдонимы: aws_region строка | Регион AWS, который необходимо использовать. Для глобальных сервисов, таких как IAM, Route53 и CloudFront, параметр region игнорируется. Также можно использовать переменную окружения Дополнительную информацию см. в документации Amazon AWS: http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region. |
secret_key псевдонимы: aws_secret_access_key, aws_secret_key строка | Секретный ключ доступа AWS. Дополнительную информацию о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также можно использовать переменные окружения Параметры secret_key и profile являются взаимоисключающими. Псевдоним aws_secret_access_key добавлен в версии 5.1.0 для соответствия AWS SDK botocore. |
session_token псевдонимы: aws_session_token строка | Токен сеанса AWS STS для использования с временными учетными данными. Дополнительную информацию о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также можно использовать переменную окружения Параметры session_token и profile являются взаимоисключающими. |
state строка | Если state=present, указанные публичный сертификат и закрытый ключ будут загружены с тегом Name, равным значению name_tag. Если state=absent, будут удалены все сертификаты в этом регионе, соответствующие параметру domain_name, name_tag или certificate_arn. Возможные значения:
|
tags псевдонимы: resource_tags словарь | Словарь, содержащий теги, которые необходимо применить к ресурсу. Если параметр |
validate_certs логическое значение | Если задано значение Настоятельно не рекомендуется задавать validate_certs=false; вместо этого рассмотрите возможность указать aws_ca_bundle. Возможные значения:
|
Примечания
Примечание
- Поддержка параметров tags и purge_tags добавлена в версии 3.2.0
- Внимание: Для модулей переменные окружения и файлы конфигурации считываются из контекста «хоста» Ansible, а не из контекста «контроллера». Поэтому файлы может потребоваться явно скопировать на «хост». Для плагинов поиска и подключения переменные окружения и файлы конфигурации считываются из контекста «контроллера» Ansible, а не из контекста «хоста».
- Используемый Ansible AWS SDK (boto3) также может считывать значения учетных данных и другие настройки по умолчанию, например регион, из файлов конфигурации в контексте «хоста» Ansible (обычно
~/.aws/credentials). Дополнительную информацию см. на странице https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html.
Примеры
- name: upload a self-signed certificate
community.aws.acm_certificate:
certificate: "{{ lookup('file', 'cert.pem' ) }}"
privateKey: "{{ lookup('file', 'key.pem' ) }}"
name_tag: my_cert # to be applied through an AWS tag as "Name":"my_cert"
region: ap-southeast-2 # AWS region
- name: create/update a certificate with a chain
community.aws.acm_certificate:
certificate: "{{ lookup('file', 'cert.pem' ) }}"
private_key: "{{ lookup('file', 'key.pem' ) }}"
name_tag: my_cert
certificate_chain: "{{ lookup('file', 'chain.pem' ) }}"
state: present
region: ap-southeast-2
register: cert_create
- name: print ARN of cert we just created
ansible.builtin.debug:
var: cert_create.certificate.arn
- name: delete the cert we just created
community.aws.acm_certificate:
name_tag: my_cert
state: absent
region: ap-southeast-2
- name: delete a certificate with a particular ARN
community.aws.acm_certificate:
certificate_arn: "arn:aws:acm:ap-southeast-2:123456789012:certificate/01234567-abcd-abcd-abcd-012345678901"
state: absent
region: ap-southeast-2
- name: delete all certificates with a particular domain name
community.aws.acm_certificate:
domain_name: acm.ansible.com
state: absent
region: ap-southeast-2
- name: add tags to an existing certificate with a particular ARN
community.aws.acm_certificate:
certificate_arn: "arn:aws:acm:ap-southeast-2:123456789012:certificate/01234567-abcd-abcd-abcd-012345678901"
tags:
Name: my_certificate
Application: search
Environment: development
purge_tags: true
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
arns список / элементы=строка | Список ARN сертификатов ACM, которые были удалены Возвращается: при state=absent Пример: |
certificate составной тип | Информация о загруженном сертификате Возвращается: при state=present |
|
arn строка |
ARN сертификата ACM Возвращается: при state=present, если не включен режим проверки Пример: |
|
domain_name строка |
Доменное имя, содержащееся в публичном сертификате Возвращается: при state=present Пример: |
Ссылки на коллекцию
© 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/collections/community/aws/acm_certificate_module.html