Spec-Zone.ru › Ansible

Модуль 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_ID или AWS_ACCESS_KEY в порядке убывания приоритета.

Параметры aws_access_key и profile являются взаимоисключающими.

Псевдоним aws_access_key_id добавлен в версии 5.1.0 для соответствия AWS SDK botocore.

aws_ca_bundle

путь

Расположение пакета сертификатов CA, используемого для проверки SSL-сертификатов.

Также можно использовать переменную окружения AWS_CA_BUNDLE.

aws_config

словарь

Словарь для изменения конфигурации botocore.

Параметры описаны в документации AWS: https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.

certificate

строка

Тело публичного сертификата в кодировке PEM.

Обязателен, если значение state не равно absent и сертификат не существует.

Если сертификат находится в файле, используйте lookup('file', 'path/to/cert.pem').

certificate_arn

псевдонимы: arn

строка

ARN сертификата ACM, который нужно изменить или удалить.

Если state=present, сертификат с указанным ARN можно обновить. Например, это можно использовать для добавления или удаления тегов существующего сертификата.

Если state=absent, необходимо указать один из параметров: certificate_arn, domain_name или name_tag.

Если state=absent и в этом регионе нет ресурса с таким ARN, задача завершится успешно, не внося изменений.

Если state=absent и соответствующий ресурс существует в другом регионе, задача может сообщить об успехе, не удалив этот ресурс.

certificate_chain

строка

Тело цепочки сертификатов в кодировке PEM.

Если цепочка сертификатов находится в файле, используйте lookup('file', 'path/to/chain.pem').

Игнорируется при state=absent

debug_botocore_endpoint_logs

логическое значение

Используйте регистратор botocore.endpoint для анализа уникальных (а не общего числа) вызовов API "resource:action", выполненных во время задачи, и сохранения их списка в ключе resource_actions результатов задачи. Используйте обработчик обратного вызова aws_resource_action, чтобы вывести общий список вызовов, выполненных в ходе плейбука.

Также можно использовать переменную окружения ANSIBLE_DEBUG_BOTOCORE_LOGS.

Возможные значения:

  • false ← (по умолчанию)
  • true

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.

Также можно использовать переменную окружения AWS_URL.

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.

Если закрытый ключ находится в файле, используйте lookup('file', 'path/to/key.pem').

profile

псевдонимы: aws_profile

строка

Именованный профиль AWS для аутентификации.

Дополнительную информацию об именованных профилях см. в документации AWS: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html.

Также можно использовать переменную окружения AWS_PROFILE.

Параметр profile взаимоисключающий с параметрами aws_access_key, aws_secret_key и session_token.

purge_tags

логическое значение

Если purge_tags=true и задан параметр tags, существующие теги ресурса будут удалены, чтобы набор тегов точно соответствовал определенному параметром tags.

Если параметр tags не задан, теги не будут изменены, даже если purge_tags=True.

Ключи тегов, начинающиеся с aws:, зарезервированы Amazon и не могут быть изменены. Поэтому они игнорируются при обработке параметра purge_tags. Дополнительную информацию см. в документации Amazon: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions.

Возможные значения:

  • false
  • true ← (по умолчанию)

region

псевдонимы: aws_region

строка

Регион AWS, который необходимо использовать.

Для глобальных сервисов, таких как IAM, Route53 и CloudFront, параметр region игнорируется.

Также можно использовать переменную окружения AWS_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.

Также можно использовать переменные окружения AWS_SECRET_ACCESS_KEY или AWS_SECRET_KEY в порядке убывания приоритета.

Параметры 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.

Также можно использовать переменную окружения AWS_SESSION_TOKEN.

Параметры session_token и profile являются взаимоисключающими.

state

строка

Если state=present, указанные публичный сертификат и закрытый ключ будут загружены с тегом Name, равным значению name_tag.

Если state=absent, будут удалены все сертификаты в этом регионе, соответствующие параметру domain_name, name_tag или certificate_arn.

Возможные значения:

  • "present" ← (по умолчанию)
  • "absent"

tags

псевдонимы: resource_tags

словарь

Словарь, содержащий теги, которые необходимо применить к ресурсу.

Если параметр tags не задан, теги не будут изменены.

validate_certs

логическое значение

Если задано значение false, SSL-сертификаты при взаимодействии с API AWS проверяться не будут.

Настоятельно не рекомендуется задавать validate_certs=false; вместо этого рассмотрите возможность указать aws_ca_bundle.

Возможные значения:

  • false
  • true ← (по умолчанию)

Примечания

Примечание

  • Поддержка параметров 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

Пример: ["arn:aws:acm:ap-southeast-2:123456789012:certificate/01234567-abcd-abcd-abcd-012345678901"]

certificate

составной тип

Информация о загруженном сертификате

Возвращается: при state=present

arn

строка

ARN сертификата ACM

Возвращается: при state=present, если не включен режим проверки

Пример: "arn:aws:acm:ap-southeast-2:123456789012:certificate/01234567-abcd-abcd-abcd-012345678901"

domain_name

строка

Доменное имя, содержащееся в публичном сертификате

Возвращается: при state=present

Пример: "acm.ansible.com"

Авторы

  • Matthew Davis (@matt-telstra) от имени Telstra Corporation Limited

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Связь

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API