Spec-Zone.ru › Ansible 2.11

community.aws.aws_acm – Загрузка и удаление сертификатов в службе AWS Certificate Manager

Примечание

Этот плагин является частью коллекции community.aws (версия 1.3.0).

Для его установки используйте: ansible-galaxy collection install community.aws.

Для использования в книге задач укажите: community.aws.aws_acm.

Новое в версии 1.0.0: of community.aws

  • Описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Значения возврата

Описание

  • Импортирование и удаление сертификатов в службе управления сертификатами Amazon Web Services (AWS ACM).
  • В настоящее время данный модуль не взаимодействует с сертификатами, предоставляемыми AWS. Он только управляет сертификатами, предоставленными пользователями AWS.
  • API ACM позволяет пользователям загружать несколько сертификатов для одного доменного имени, а также несколько идентичных сертификатов. Этот модуль пытается ограничить такие возможности, чтобы быть идемпотентным, в соответствии с философией Ansible. Для этого он использует теги ресурсов AWS «Имя» для сертификатов ACM.
  • При 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.

Требования

Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.

  • boto
  • boto3
  • python >= 2.6

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
aws_access_key
строка
Ключ доступа к AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY.
Если задан параметр profile, этот параметр игнорируется.
Передача параметров aws_access_key и profile одновременно устарела и после 2022-06-01 параметры будут взаимоисключающими.

псевдонимы: ec2_access_key, access_key
aws_ca_bundle
путь
Расположение файла с корневыми сертификатами для проверки SSL-сертификатов.
Используется только для модулей, основанных на boto3.
Примечание: Файл с корневыми сертификатами читается на стороне модуля и может потребоваться явно скопировать его с контроллера, если модуль не запускается локально.
aws_config
словарь
Словарь для изменения конфигурации botocore.
Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.
Для модулей boto используется только ключ 'user_agent'. Более подробную информацию о конфигурации boto см. по адресу http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto.
aws_secret_key
строка
Секретный ключ доступа к AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY.
Если задан параметр profile, этот параметр игнорируется.
Передача параметров aws_secret_key и profile одновременно устарела и после 2022-06-01 параметры будут взаимоисключающими.

псевдонимы: ec2_secret_key, secret_key
certificate
строка
Тело PEM-закодированного открытого сертификата.
Требуется, когда state не absent.
Если ваш сертификат находится в файле, используйте lookup('file', 'path/to/cert.pem').
certificate_arn
строка
ARN сертификата в ACM для удаления.
Игнорируется, когда state=present.
Если state=absent, необходимо указать один из параметров certificate_arn, domain_name или name_tag.
Если state=absent и ресурс с данным ARN не существует в данной области, задача завершится успешно без изменений.
Если state=absent и соответствующий ресурс существует в другой области, задача может сообщить об успехе без удаления этого ресурса.

псевдонимы: arn
certificate_chain
строка
Тело PEM-закодированной цепочки сертификатов для вашего сертификата.
Если ваша цепочка сертификатов находится в файле, используйте lookup('file', 'path/to/chain.pem').
Игнорируется, когда state=absent
debug_botocore_endpoint_logs
булево
    Варианты:
  • нет ←
  • да
Используйте logger botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие», которые выполняются во время задачи, выводить набор в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action, чтобы выводить в общий список, созданный во время выполнения playbook. Также можно использовать переменную окружения ANSIBLE_DEBUG_BOTOCORE_LOGS.
domain_name
строка
Доменное имя сертификата.
Если state=absent и задано domain_name, эта задача удалит все сертификаты ACM с этим доменным именем.
Должен быть указан ровно один из параметров domain_name, name_tag и certificate_arn.
Если state=present, этот параметр указывать нельзя. (Поскольку доменное имя закодировано в теле открытого сертификата).

псевдонимы: domain
ec2_url
строка
URL для подключения к EC2 или облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она есть.

псевдонимы: aws_endpoint_url, endpoint_url
name_tag
строка
Уникальный идентификатор для маркировки ресурсов с помощью тегов AWS, с ключом Name.
Это может быть любой набор символов, разрешенный AWS для значений тегов.
Это гарантирует, что Ansible может обращаться с сертификатами идемпотентно, даже несмотря на то, что API ACM позволяет использовать дублирующие сертификаты.
Если state=present, этот параметр должен быть указан.
Если state=absent, необходимо указать ровно один из параметров certificate_arn, domain_name или name_tag.

псевдонимы: name
private_key
строка
Тело PEM-закодированного закрытого ключа.
Требуется, когда state=present.
Игнорируется, когда state=absent.
Если ваш закрытый ключ находится в файле, используйте lookup('file', 'path/to/key.pem').
profile
строка
Использует профиль boto. Работает только с boto >= 2.24.0.
Использование profile переопределяет aws_access_key, aws_secret_key и security_token, и поддержка одновременного указания их вместе с profile устарела.
aws_access_key, aws_secret_key и security_token будут взаимоисключающими с profile после 2022-06-01.

псевдонимы: aws_profile
region
строка
Регион AWS для использования. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если таковая имеется. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region

псевдонимы: aws_region, ec2_region
security_token
строка
Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.
Если задан параметр profile, этот параметр игнорируется.
Передача параметров security_token и profile одновременно устарела и после 2022-06-01 параметры будут взаимоисключающими.

псевдонимы: aws_security_token, access_token
state
строка
    Варианты:
  • наличие ←
  • отсутствие
Если state=наличие, указанный открытый сертификат и закрытый ключ будут загружены, с тегом Name, равным name_tag.
Если state=отсутствие, любые сертификаты в данной области с соответствующим domain_name, name_tag или certificate_arn будут удалены.
validate_certs
булево
    Варианты:
  • нет
  • да ←
Если установлено «нет», SSL-сертификаты не будут проверены для версий boto >= 2.6.0.

Примечания

Примечание

  • Если параметры не заданы в модуле, следующие переменные среды могут быть использованы в порядке убывания приоритета AWS_URL или EC2_URL, AWS_PROFILE или AWS_DEFAULT_PROFILE, AWS_ACCESS_KEY_ID или AWS_ACCESS_KEY или EC2_ACCESS_KEY, AWS_SECRET_ACCESS_KEY или AWS_SECRET_KEY или EC2_SECRET_KEY, AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN, AWS_REGION или EC2_REGION, AWS_CA_BUNDLE
  • Ansible использует файл конфигурации boto (обычно ~/.boto), если учетные данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
  • AWS_REGION или EC2_REGION обычно используются для указания региона AWS, когда это необходимо, но это также можно настроить в файле конфигурации boto

Примеры

- name: upload a self-signed certificate
  community.aws.aws_acm:
    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.aws_acm:
    certificate: "{{ lookup('file', 'cert.pem' ) }}"
    privateKey: "{{ 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.aws_acm:
    name_tag: my_cert
    state: absent
    region: ap-southeast-2

- name: delete a certificate with a particular ARN
  community.aws.aws_acm:
    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.aws_acm:
    domain_name: acm.ansible.com
    state: absent
    region: ap-southeast-2

Значения возврата

Общие значения возврата документированы здесь, следующие являются полями, уникальными для данного модуля:

Ключ Возвращаемое значение Описание
arns
список / элементы=строка
при state=absent
Список ARN сертификатов в ACM, которые были удалены

Пример:
['arn:aws:acm:ap-southeast-2:123456789012:certificate/01234567-abcd-abcd-abcd-012345678901']
certificate
сложный
при state=present
Информация о сертификате, который был загружен

arn
строка
при state=present
ARN сертификата в ACM

Пример:
arn:aws:acm:ap-southeast-2:123456789012:certificate/01234567-abcd-abcd-abcd-012345678901
domain_name
строка
при state=present
Имя домена, закодированное в общедоступном сертификате

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


Авторы

  • Мэттью Дэвис (@matt-telstra) от имени Telstra Corporation Limited

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/aws/aws_acm_module.html

Spec-Zone.ru

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