data_pipeline – Создание и управление AWS Datapipeline
Новое в версии 2.4.
Обзор
- Создание и управление AWS Datapipeline. Создание не является идемпотентным в 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. псевдонимы: ec2_access_key, access_key | ||
| aws_secret_key строка | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. псевдонимы: ec2_secret_key, secret_key | ||
| debug_botocore_endpoint_logs логический добавлено в 2.8 |
| Использование логгера botocore.endpoint для анализа уникальных (а не всех) API-вызовов «ресурс:действие», выполненных во время задачи, выводящего набор в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, созданного во время выполнения плейбука. Также может быть использована переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS. | |
| description - | Значение по умолчанию: "" | Необязательное описание создаваемого конвейера. | |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не указан, используется значение переменной окружения EC2_URL, если таковая имеется. | ||
| name - / обязательно | Имя Datapipeline для создания/изменения/удаления. | ||
| objects - | Список определений объектов конвейера, каждый из которых представляет собой словарь с ключами id, name и fields. | ||
| fields - | Список словарей, которые принимают ключи key и stringValue/refValue. Значение задаётся как ссылка на другой объект refValue или как строковое значение stringValue, но не как то и другое. | ||
| id - | Идентификатор объекта. | ||
| name - | Имя объекта. | ||
| parameters - | Список объектов параметров (словари) в определении конвейера. | ||
| attributes - | Список атрибутов (словари) объекта параметра. Каждый атрибут принимает ключи key и stringValue, оба из которых являются строками. | ||
| id - | Идентификатор объекта параметра. | ||
| profile строка | Использует профиль boto. Работает только с boto >= 2.24.0. | ||
| 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. псевдонимы: access_token | ||
| state - |
| Запрашиваемое состояние конвейера. | |
| tags - | Словарь пар ключ-значение для добавления в конвейер. | ||
| timeout - | Значение по умолчанию: 300 | Время в секундах ожидания перехода конвейера в запрашиваемое состояние, иначе произойдёт сбой. | |
| validate_certs логический |
| Если установлено значение «нет», сертификаты SSL для boto версий >= 2.6.0 не будут проверяться. | |
| values - | Список объектов значений параметров (словари) в определении конвейера. Каждый словарь принимает ключи id и stringValue, оба из которых являются строками. | ||
Примечания
Примечание
- Если параметры не заданы в модуле, можно использовать следующие переменные окружения в порядке убывания приоритета:
AWS_URLилиEC2_URL,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 - 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
- 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
- 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
- data_pipeline:
name: test-dp
region: us-west-2
state: active
# Delete pipeline
- data_pipeline:
name: test-dp
region: us-west-2
state: absent
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| changed логический | всегда | были ли изменены данные конвейера Пример: {'changed': True} |
| result словарь | всегда | Содержит данные конвейера (data_pipeline) и сообщение возврата (msg). Если конвейер существует, data_pipeline будет содержать ключи description, name, pipeline_id, state, tags и unique_id. Если конвейер не существует, data_pipeline будет пустым словарем. msg описывает статус операции. |
Статус
- Этот модуль не гарантирует обратную совместимость. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- Рагу Удияр (@raags) <raghusiddarth@gmail.com>
- Слоун Хертель (@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.9/modules/data_pipeline_module.html