Spec-Zone.ru › Ansible 2.10

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

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Обзор

  • Импортировать и удалять сертификаты в службе Certificate Manager (AWS ACM) Amazon Web Services.
  • В настоящее время этот модуль не взаимодействует с сертификатами, предоставляемыми 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
путь
Расположение пакета CA для проверки SSL-сертификатов.
Используется только для модулей, основанных на boto3.
Примечание: Пакет CA считывается на стороне модуля и может потребоваться явное копирование с контроллера, если он не выполняется локально.
aws_config
словарь
Словарь для изменения конфигурации botocore.
Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.
Для модулей boto используется только ключ 'user_agent'. См. http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto для дополнительной конфигурации 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
булево
    Варианты:
  • нет ←
  • да
Использовать логгер botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие» во время выполнения задачи, выводя набор в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, сделанного в ходе выполнения книги задач. Переменная окружения 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
строка
    Варианты:
  • present ←
  • absent
Если state=present, указанный открытый сертификат и закрытый ключ будут загружены с тегом Name, равным name_tag.
Если state=absent, любые сертификаты в данной области с соответствующим 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
Список ARNs сертификатов в 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


Авторы

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

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

Spec-Zone.ru

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