Spec-Zone.ru › Ansible

Модуль 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_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY также могут использоваться в порядке убывания предпочтения.

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

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

Псевдоним ec2_access_key устарел и будет удален в релизе после 2024-12-01.

Поддержка переменной среды EC2_ACCESS_KEY устарела и будет удалена в релизе после 2024-12-01.

aws_ca_bundle

path

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

Переменная среды AWS_CA_BUNDLE также может использоваться.

aws_config

dictionary

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

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

certificate

string

Тело кодированного в PEM открытого сертификата.

Требуется, когда state не равно absent и сертификат не существует.

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

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 цепочки для вашего сертификата.

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

Игнорируется, когда state=absent

debug_botocore_endpoint_logs

boolean

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

Переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS также может использоваться.

Варианты:

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

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.

Переменные среды AWS_URL или EC2_URL также могут использоваться в порядке убывания предпочтения.

Псевдонимы ec2_url и s3_url устарели и будут удалены в релизе после 2024-12-01.

Поддержка переменной среды EC2_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.

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

profile

aliases: aws_profile

string

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

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

Переменная среды AWS_PROFILE также может использоваться.

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

purge_tags

boolean

Если 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

aliases: aws_region, ec2_region

string

AWS регион для использования.

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

Также можно использовать переменные среды AWS_REGION или EC2_REGION.

Дополнительную информацию см. в документации Amazon AWS http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region.

Псевдоним ec2_region устарел и будет удален в релизе после 2024-12-01

Поддержка переменной среды EC2_REGION устарела и будет удалена в релизе после 2024-12-01.

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.

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

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

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

Псевдоним ec2_secret_key устарел и будет удален в релизе после 2024-12-01.

Поддержка переменной среды 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.

Переменные среды AWS_SESSION_TOKEN, AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN также могут быть использованы в порядке убывания приоритета.

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

Поддержка переменных среды EC2_SECRET_KEY и AWS_SECURITY_TOKEN устарела и будет удалена в релизе после 2024-12-01.

state

string

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

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

Варианты:

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

tags

aliases: resource_tags

dictionary

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

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

validate_certs

boolean

При установке в false, сертификаты SSL не будут проверены для связи с API AWS.

Установка validate_certs=false категорически не рекомендуется. В качестве альтернативы можно установить aws_ca_bundle.

Варианты:

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

Примечания

Примечание

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

Пример: ["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–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

Spec-Zone.ru

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