Я разработал модуль кодовой линии AWS, используя модуль terraform, у меня есть несколько реальных кодовых линий, использующих модуль codepipeline. Я использую модуль в качестве шаблона проектирования, потому что все кодовые линии выглядят одинаково, за исключением того, что некоторые из них нуждаются в этапах утверждения, а некоторые - нет. Как спроектировать этапы утверждения модуля codepipeline, чтобы фактические codepipelines могли быть созданы на основе различных потребностей?
Я пытался использовать count = 0 или 1 для управления этапом, но он не работает, потому что этап не на уровне ресурсов. Есть ли хитрый способ или обходной путь?
Я чувствую, что эта ссылка задала аналогичный вопрос, но я не могу понять, каков ответ:
Terraform & AWS CodePipeline - динамически определять действия на сцене
Вот мой кодовый модуль terraform:
resource "aws_codepipeline" "dev" {
name = "my_codepipeline"
role_arn = ...
...
stage {
name = "Source"
...
}
stage {
name = "test"
...
}
stage {
# count = 0 # or 1. it does not work
name = "Approval"
action {
name = "Approval"
owner = "AWS"
category = "Approval"
provider = "Manual"
version = "1"
configuration {
NotificationArn = "..."
CustomData = "..."
ExternalEntityLink = "..."
}
}
}
stage {
name = "prod"
...
}
}