我可以在Terraform中启用/禁用aws_代码管道的某些阶段吗
我有一个terraform中的代码管道,如下所示:我可以在Terraform中启用/禁用aws_代码管道的某些阶段吗,terraform,aws-codepipeline,Terraform,Aws Codepipeline,我有一个terraform中的代码管道,如下所示: resource "aws_codepipeline" "main" { stage { name = "Source" .... } stage { name = "Test" .... } stage { name = "Approval" ....
resource "aws_codepipeline" "main" {
stage {
name = "Source"
....
}
stage {
name = "Test"
....
}
stage {
name = "Approval"
....
}
stage {
name = "Deployment"
....
}
}
是否可以配置我是否需要上述阶段之一,例如,如果变量enable\u approval\u stage=1,则创建批准阶段,如果enable\u approval\u stage=0,则不创建批准阶段?就像我们在资源{}中设置count=0一样?我的想法是创建两个不同的管道,一个有审批阶段,另一个没有审批阶段。让他们像这样: 如果手动批准为真(值为1): 如果手动审核为false(值为0):
恩达尼尔,你真聪明!如果我只需要启用/禁用一个阶段,它就可以工作!唯一的缺点是1)一些重复的代码,2)只能启用/禁用一个阶段。但这是一个很好的解决方法,谢谢。我想做同样的事情,并考虑创建两个单独的管道,但这是一个巨大的重复代码,我真的不想进入。。。难道没有其他方法使阶段有条件吗?我还需要决定是否创建一些不同的阶段。
resource "aws_codepipeline" "pipeline-manualapprove" {
count = "${var.manual_approve}"
resource "aws_codepipeline" "pipeline-automatic" {
count = "${1-var.manual_approve}"