我可以在Terraform中启用/禁用aws_代码管道的某些阶段吗

我可以在Terraform中启用/禁用aws_代码管道的某些阶段吗,terraform,aws-codepipeline,Terraform,Aws Codepipeline,我有一个terraform中的代码管道,如下所示: resource "aws_codepipeline" "main" { stage { name = "Source" .... } stage { name = "Test" .... } stage { name = "Approval" ....

我有一个terraform中的代码管道,如下所示:

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}"