community.aws.data_pipeline – Создание и управление AWS Datapipelines
Примечание
Этот плагин входит в коллекцию community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Чтобы использовать его в книге задач, укажите: community.aws.data_pipeline.
Добавлена в версии 1.0.0: для community.aws
Обзор
- Создание и управление AWS Datapipelines. Создание не является идемпотентным в AWS, поэтому
uniqueIdсоздается путём хэширования опций (без объектов), предоставленных для datapipeline. - Определение конвейера должно быть в формате, указанном здесь https://docs.aws.amazon.com/datapipeline/latest/APIReference/API_PutPipelineDefinition.html#API_PutPipelineDefinition_RequestSyntax.
- Операции будут ожидать настраиваемое количество времени, чтобы убедиться, что конвейер находится в нужном состоянии.
Требования
Ниже приведены требования, необходимые на хосте, выполняющем этот модуль.
- 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'. Смотрите 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 | |||
| debug_botocore_endpoint_logs логическая переменная |
| Использовать логгер botocore.endpoint для анализа уникальных (а не общих) вызовов API «ресурс:действие», производимых во время задачи, выводя набор в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, созданного во время выполнения книги задач. Переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS также может быть использована. | ||
| description строка | Значение по умолчанию: "" | Необязательное описание создаваемого конвейера. | ||
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать адреса EC2). Игнорируется для модулей, где необходим регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задано, используется значение переменной среды EC2_URL, если она задана. псевдонимы: aws_endpoint_url, endpoint_url | |||
| name строка / обязательно | Имя Datapipeline для создания/изменения/удаления. | |||
| objects список / элементы=словарь | Список определений объектов конвейера, каждый из которых представляет собой словарь с ключами id, name и fields. | |||
| fields список / элементы=словарь | Ключево-значные пары, определяющие свойства объекта. Значение задаётся как ссылка на другой объект refValue или как строковое значение stringValue, но не как оба одновременно. | |||
| key строка | Идентификатор поля. | |||
| refValue строка | Значение поля, выраженное как идентификатор другого объекта. Может быть указано только одно из значений stringValue и refValue. | |||
| stringValue строка | Значение поля. Может быть указано только одно из значений stringValue и refValue. | |||
| id строка | Идентификатор объекта. | |||
| name строка | Имя объекта. | |||
| parameters список / элементы=словарь | Список объектов параметров (словари) в определении конвейера. | |||
| attributes список / элементы=словарь | Список атрибутов (словари) объекта параметра. | |||
| key строка | Идентификатор поля. | |||
| stringValue строка | Значение поля. | |||
| id строка | Идентификатор объекта параметра. | |||
| 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 строка |
| Требуемое состояние конвейера. | ||
| tags словарь | Словарь пар ключ-значение для добавления к конвейеру. | |||
| timeout целое число | Значение по умолчанию: 300 | Время в секундах ожидания перехода конвейера в требуемое состояние, в противном случае произойдёт ошибка. | ||
| validate_certs логическая переменная |
| При значении «нет», SSL-сертификаты для версий boto >= 2.6.0 не будут проверяться. | ||
| values список / элементы=словарь | Список значений параметров (словари) в определении конвейера. | |||
| id строка | Идентификатор значения параметра | |||
| stringValue строка | Значение поля | |||
| version строка | Параметр version никогда не имел никакого эффекта и будет удален после 2022-06-01. | |||
Примечания
Примечание
- Если параметры не установлены в модуле, следующие переменные окружения могут использоваться в порядке убывания приоритета
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
Примеры
# Note: These examples do not set authentication details, see the AWS Guide for details.
# Create pipeline
- community.aws.data_pipeline:
name: test-dp
region: us-west-2
objects: "{{pipelineObjects}}"
parameters: "{{pipelineParameters}}"
values: "{{pipelineValues}}"
tags:
key1: val1
key2: val2
state: present
# Example populating and activating a pipeline that demonstrates two ways of providing pipeline objects
- community.aws.data_pipeline:
name: test-dp
objects:
- "id": "DefaultSchedule"
"name": "Every 1 day"
"fields":
- "key": "period"
"stringValue": "1 days"
- "key": "type"
"stringValue": "Schedule"
- "key": "startAt"
"stringValue": "FIRST_ACTIVATION_DATE_TIME"
- "id": "Default"
"name": "Default"
"fields": [ { "key": "resourceRole", "stringValue": "my_resource_role" },
{ "key": "role", "stringValue": "DataPipelineDefaultRole" },
{ "key": "pipelineLogUri", "stringValue": "s3://my_s3_log.txt" },
{ "key": "scheduleType", "stringValue": "cron" },
{ "key": "schedule", "refValue": "DefaultSchedule" },
{ "key": "failureAndRerunMode", "stringValue": "CASCADE" } ]
state: active
# Activate pipeline
- community.aws.data_pipeline:
name: test-dp
region: us-west-2
state: active
# Delete pipeline
- community.aws.data_pipeline:
name: test-dp
region: us-west-2
state: absent
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие — это поля, уникальные для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| changed boolean | всегда | указывает, была ли изменена служба Data Pipeline Пример: {'changed': True} |
| result словарь | всегда | Содержит данные службы Data Pipeline (data_pipeline) и сообщение об успехе (msg). Если служба Data Pipeline существует, data_pipeline будет содержать ключи description, name, pipeline_id, state, tags и unique_id. Если служба Data Pipeline не существует, data_pipeline будет пустым словарем. Msg описывает статус операции. |
Авторы
- Raghu Udiyar (@raags) <raghusiddarth@gmail.com>
- Sloane Hertel (@s-hertel) <shertel@redhat.com>
© 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/data_pipeline_module.html