Я пытаюсь импортировать aws_glue_trigger в мое состояние terraform, чтобы я мог видеть, как это выглядит в файле состояния, и создать полное определение ресурса для go, используя его в качестве учебного пособия для выполнения всех наших ETL-операций в terraform.
Я импортировал состояние с пустым держателем ресурса, но не могу понять, как синтаксис списка должен работать в определении ресурса.
Например, в моем состоянии триггер с предикатом с 3 условиями и логическим под ним, который по завершении заданий 1, 2 и 3 будет запускать EXAMPLE_CRAWLER - относительно просто: -
{
"mode": "managed",
"type": "aws_glue_trigger",
"name": "EXAMPLE_TRIGGER",
"provider": "provider.aws",
"instances": [
{
"schema_version": 0,
"attributes": {
"actions": [
{
"arguments": {},
"crawler_name": "EXAMPLE_CRAWLER",
"job_name": "",
"timeout": 0
}
],
"arn": "arn:SOMEARN",
"description": "",
"enabled": true,
"id": "EXAMPLE_TRIGGER",
"name": "EXAMPLE_TRIGGER",
"predicate": [
{
"conditions": [
{
"crawl_state": "",
"crawler_name": "",
"job_name": "JOB1",
"logical_operator": "EQUALS",
"state": "SUCCEEDED"
},
{
"crawl_state": "",
"crawler_name": "",
"job_name": "JOB2",
"logical_operator": "EQUALS",
"state": "SUCCEEDED"
},
{
"crawl_state": "",
"crawler_name": "",
"job_name": "JOB3",
"logical_operator": "EQUALS",
"state": "SUCCEEDED"
}
],
"logical": "AND"
}
],
"schedule": "",
"tags": {},
"timeouts": {
"create": null,
"delete": null
},
"type": "CONDITIONAL",
"workflow_name": "EXAMPLE_WORKFLOW"
},
"private": "some_private_string"
}
]
}
В соответствии с документами предикат определяется как: -
предикат - (Необязательно) Предикат, указывающий, когда должен срабатывать новый триггер. Требуется, когда тип триггера является УСЛОВНЫМ. Определено ниже.
и аргументы для предиката определяются как: -
условия - (обязательно) A список условий, определяющих, когда триггер сработает. Определено ниже.
логический - (Необязательно) Как обрабатывать несколько условий. По умолчанию используется AND. Допустимые значения: AND или ANY
, которые соответствуют штрафа на выходе состояния.
Это моя последняя итерация в попытке получить это через анализатор: -
resource "aws_glue_trigger" "EXAMPLE_TRIGGER" {
name = "EXAMPLE_TRIGGER"
type = "CONDITIONAL"
workflow_name = "EXAMPLE_WORKFLOW"
actions {
arguments = {}
crawler_name = "EXAMPLE_CRAWLER"
job_name = ""
timeout = 0
}
predicate {
conditions = [{
crawl_state = ""
crawler_name = ""
job_name = "JOB1"
logical_operator = "EQUALS"
state = "SUCCEEDED"
},
{
crawl_state = ""
crawler_name = ""
job_name = "JOB2"
logical_operator = "EQUALS"
state = "SUCCEEDED"
},
{
crawl_state = ""
crawler_name = ""
job_name = "JOB3"
logical_operator = "EQUALS"
state = "SUCCEEDED"
}]
logical = "AND"
}
}
Это приводит к ошибке «Ошибка: требуется определение аргумента или блока», которая подразумевает, что он хочет, чтобы я поставил «равно» после условий
Здесь требуется определение аргумента или блока. Чтобы задать аргумент, используйте знак равенства "=", чтобы ввести значение аргумента.
Это противоречит документам и примерам do c page
Когда я добавляю «равно», я получаю «Ошибка: неподдерживаемый аргумент»
Аргумент с именем «условия» здесь не ожидается. Вы хотели определить блок типа «условия»?
Попросить меня снова вывести равенства и определить как блок?
Я в замешательстве и, возможно, упускаю что-то простое - но любая помощь будет высоко ценится.