community.aws.aws_step_functions_state_machine – Управление состояниями AWS Step Functions
Примечание
Этот плагин входит в состав коллекции community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Для использования в книге задач укажите: community.aws.aws_step_functions_state_machine.
Новое в версии 1.0.0: из community.aws
Обзор
- Создание, обновление и удаление состояний в AWS Step Functions.
- Вызов модуля в
state=presentдля существующего состояния AWS Step Functions попытается обновить определение состояния, роль IAM или метки предоставленными данными.
Требования
Ниже приведены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- boto
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| 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'. Подробнее о настройках 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 | |
| debug_botocore_endpoint_logs логическая переменная |
| Использует logger botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие», сделанных во время задачи, выводя набор в ключ task_results.resource_actions. Используйте callback aws_resource_action для вывода в полный список, созданный во время книги задач. Переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS также может быть использована. |
| definition json | Определение машины состояний на языке Amazon States. См. https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html для получения дополнительной информации о языке Amazon States. Этот параметр обязателен, когда state=present. | |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если таковая имеется. псевдонимы: aws_endpoint_url, endpoint_url | |
| name строка / обязательно | Имя машины состояний | |
| 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 | |
| purge_tags логическая переменная |
| Если да, существующие метки будут очищены с целью точного соответствия параметру tags. Если параметр tags не задан, метки не будут изменены. |
| region строка | Регион AWS. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если таковая имеется. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
псевдонимы: aws_region, ec2_region | |
| role_arn строка | ARN роли IAM, которая будет использоваться машиной состояний для ее выполнений. Этот параметр обязателен, когда state=present. | |
| security_token строка | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Если задан параметр profile, этот параметр игнорируется. Одновременное использование параметров security_token и profile устарело и после 2022-06-01 будет сделано взаимоисключающими. псевдонимы: aws_security_token, access_token | |
| state строка |
| Желаемое состояние машины состояний |
| tags словарь | Словарь меток для добавления новой машины состояний или добавления/удаления из существующей. | |
| 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
Примеры
# Create a new AWS Step Functions state machine
- name: Setup HelloWorld state machine
community.aws.aws_step_functions_state_machine:
name: "HelloWorldStateMachine"
definition: "{{ lookup('file','state_machine.json') }}"
role_arn: arn:aws:iam::987654321012:role/service-role/invokeLambdaStepFunctionsRole
tags:
project: helloWorld
# Update an existing state machine
- name: Change IAM Role and tags of HelloWorld state machine
community.aws.aws_step_functions_state_machine:
name: HelloWorldStateMachine
definition: "{{ lookup('file','state_machine.json') }}"
role_arn: arn:aws:iam::987654321012:role/service-role/anotherStepFunctionsRole
tags:
otherTag: aDifferentTag
# Remove the AWS Step Functions state machine
- name: Delete HelloWorld state machine
community.aws.aws_step_functions_state_machine:
name: HelloWorldStateMachine
state: absent
Значения возврата
Общие значения возврата документированы здесь, следующие являются полями, уникальными для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| state_machine_arn строка | всегда | ARN машины состояний AWS Step Functions |
Авторы
- Tom De Keyser (@tdekeyser)
© 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_step_functions_state_machine_module.html