Модуль community.aws.acm_certificate — Загрузка и удаление сертификатов в службе AWS Certificate Manager
Примечание
Этот модуль является частью коллекции community.aws (версия 8.0.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 (AWS ACM).
- В настоящий момент этот модуль не взаимодействует с предоставляемыми AWS сертификатами. В настоящее время он только управляет сертификатами, предоставленными пользователями в AWS.
- API ACM позволяет пользователям загружать несколько сертификатов для одного имени домена, и даже несколько идентичных сертификатов. Этот модуль пытается ограничить такие возможности, чтобы быть идемпотентным, в соответствии с философией Ansible. Он делает это, применяя теги «Имя» AWS к сертификатам ACM.
- При state=present, если в ACM есть один сертификат с тегом
Name, равным параметру name_tag, и с идентичным содержимым и цепочкой сертификатов, эта задача выполнится без каких-либо изменений. - При state=present, если в ACM есть один сертификат с тегом «Имя», равным параметру name_tag, и с другим содержимым, эта задача перезапишет этот сертификат.
- При state=present, если в ACM есть несколько сертификатов с тегом «Имя», равным параметру name_tag, эта задача завершится с ошибкой.
- При state=absent и определенном certificate_arn, этот модуль удалит ресурс ACM с указанным ARN в данной области, если он существует, и выполнится без изменений, если не существует.
- При state=absent и определенном domain_name, этот модуль удалит все ресурсы ACM в данной области AWS с соответствующим именем домена. Если таких ресурсов нет, задача завершится без изменений.
- При state=absent и certificate_arn не определен, и domain_name не определен, этот модуль удалит все ресурсы ACM в данной области AWS с соответствующим тегом «Имя». Если таких ресурсов нет, задача завершится без изменений.
- Обратите внимание, что это может не работать должным образом с ключами размером 4096 бит из-за ограничения API ACM.
- До версии 5.0.0 этот модуль назывался
community.aws.aws_acm. Использование не изменилось.
Псевдонимы: aws_acm
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 3.6
- boto3 >= 1.26.0
- botocore >= 1.29.0
Параметры
Параметр | Комментарии |
|---|---|
access_key aliases: aws_access_key_id, aws_access_key, ec2_access_key string | Идентификатор ключа доступа 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 botocore SDK. Псевдоним ec2_access_key устарел и будет удален в релизе после 2024-12-01. Поддержка переменной среды |
aws_ca_bundle path | Расположение пакета CA, используемого при проверке SSL-сертификатов. Переменная среды |
aws_config dictionary | Словарь для изменения конфигурации botocore. Параметры можно найти в документации AWS https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. |
certificate string | Тело кодированного в PEM открытого сертификата. Требуется, когда state не равно Если ваш сертификат находится в файле, используйте |
certificate_arn aliases: arn string | ARN сертификата в ACM для изменения или удаления. Если state=present, сертификат с указанным ARN может быть обновлен. Например, это может использоваться для добавления/удаления тегов к существующему сертификату. Если state=absent, необходимо указать один из параметров certificate_arn, domain_name или name_tag. Если state=absent и ресурс с этим ARN не существует в этом регионе, задача завершится успешно без эффекта. Если state=absent и соответствующий ресурс существует в другом регионе, эта задача может сообщить об успехе, не удаляя этот ресурс. |
certificate_chain string | Тело кодированной в PEM цепочки для вашего сертификата. Если ваша цепочка сертификатов находится в файле, используйте Игнорируется, когда state=absent |
debug_botocore_endpoint_logs boolean | Использовать Переменная среды Варианты:
|
domain_name aliases: domain string | Доменное имя сертификата. Если state=absent и указан domain_name, эта задача удалит все сертификаты ACM с этим доменом. Должен быть указан ровно один из параметров domain_name, name_tag и certificate_arn. Если state=present, это не должно быть указано. (Так как доменное имя закодировано в теле открытого сертификата.) |
endpoint_url aliases: ec2_url, aws_endpoint_url, s3_url string | URL для подключения вместо стандартных конечных точек AWS. Хотя это может использоваться для подключения к другим совместимым с AWS сервисам, коллекции amazon.aws и community.aws тестируются только с AWS. Переменные среды Псевдонимы ec2_url и s3_url устарели и будут удалены в релизе после 2024-12-01. Поддержка переменной среды |
name_tag aliases: name string | Уникальный идентификатор для разметки ресурсов с использованием тегов 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 string | Тело кодированного в PEM закрытого ключа. Требуется, когда state=present и сертификат не существует. Игнорируется, когда state=absent. Если ваш закрытый ключ находится в файле, используйте |
profile aliases: aws_profile string | Именованный профиль AWS для использования для аутентификации. См. документацию AWS для получения дополнительной информации об именованных профилях https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html. Переменная среды Параметр profile является взаимоисключающим с параметрами aws_access_key, aws_secret_key и security_token. |
purge_tags boolean | Если purge_tags=true и tags задано, существующие метки будут удалены с ресурса, чтобы точно соответствовать тому, что определено параметром tags. Если параметр tags не задан, метки не будут изменены, даже если purge_tags=True. Ключи меток, начинающиеся с Варианты:
|
region aliases: aws_region, ec2_region string | AWS регион для использования. Для глобальных служб, таких как IAM, Route53 и CloudFront, region игнорируется. Также можно использовать переменные среды Дополнительную информацию см. в документации Amazon AWS http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region. Псевдоним Поддержка переменной среды |
secret_key aliases: aws_secret_access_key, aws_secret_key, ec2_secret_key string | Секретный ключ доступа 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 botocore SDK. Псевдоним ec2_secret_key устарел и будет удален в релизе после 2024-12-01. Поддержка переменной среды |
session_token aliases: aws_session_token, security_token, aws_security_token, access_token string | Маркер сеанса AWS STS для использования с временными учетными данными. Дополнительную информацию об маркерах доступа см. в документации AWS https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Переменные среды Параметры security_token и profile взаимоисключающие. Псевдонимы aws_session_token и session_token были добавлены в релизе 3.2.0, а параметр был переименован из security_token в session_token в релизе 6.0.0. Псевдонимы security_token, aws_security_token и access_token устарели и будут удалены в релизе после 2024-12-01. Поддержка переменных среды |
state string | Если state=present, указанный общедоступный сертификат и закрытый ключ будут загружены с меткой Name, равной name_tag. Если state=absent, любые сертификаты в этом регионе с соответствующим domain_name, name_tag или certificate_arn будут удалены. Варианты:
|
tags aliases: resource_tags dictionary | Словарь, представляющий метки, которые будут применены к ресурсу. Если параметр tags не задан, метки не будут изменены. |
validate_certs boolean | При установке в Установка validate_certs=false категорически не рекомендуется. В качестве альтернативы можно установить aws_ca_bundle. Варианты:
|
Примечания
Примечание
- Поддержка tags и purge_tags была добавлена в релизе 3.2.0
- Внимание: Для модулей переменные среды и конфигурационные файлы считываются из контекста Ansible «хост», а не «контроллер». В связи с этим файлы могут потребоваться явно скопировать на «хост». Для плагинов поиска и подключения переменные среды и конфигурационные файлы считываются из контекста Ansible «контроллер», а не «хост».
- AWS SDK (boto3), используемый Ansible, также может считывать значения по умолчанию для учетных данных и других параметров, таких как регион, из своих конфигурационных файлов в контексте 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 список / элементы=строка | Список ARNs сертификатов в ACM, которые были удалены Возвращается: при state=absent Пример: |
certificate сложный | Информация о сертификате, который был загружен Возвращается: при state=present |
|
arn строка |
ARN сертификата в ACM Возвращается: при state=present и не в режиме проверки Пример: |
|
domain_name строка |
Имя домена, закодированное в общедоступном сертификате Возвращается: при state=present Пример: |
Ссылки на сборку
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/aws/acm_certificate_module.html