Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 使用Terraform的AWS代码构建中的多个环境变量_Amazon Web Services_Terraform_Terraform Provider Aws_Aws Codebuild - Fatal编程技术网

Amazon web services 使用Terraform的AWS代码构建中的多个环境变量

Amazon web services 使用Terraform的AWS代码构建中的多个环境变量,amazon-web-services,terraform,terraform-provider-aws,aws-codebuild,Amazon Web Services,Terraform,Terraform Provider Aws,Aws Codebuild,我正在使用Terraform提供AWS代码构建。在环境部分中,我配置了以下内容: environment { compute_type = "BUILD_GENERAL1_SMALL" image = "aws/codebuild/standard:3.0" type = "LINUX_CONTAIN

我正在使用Terraform提供AWS代码构建。在环境部分中,我配置了以下内容:

  environment {
    compute_type                = "BUILD_GENERAL1_SMALL"
    image                       = "aws/codebuild/standard:3.0"
    type                        = "LINUX_CONTAINER"
    image_pull_credentials_type = "CODEBUILD"

    environment_variable {
      name  = "SOME_KEY1"
      value = "SOME_VALUE1"
    }

    environment_variable {
      name  = "SOME_KEY2"
      value = "SOME_VALUE2"
    }

  }
我有20多个环境变量要在我的代码构建项目中配置


是否可以创建一个列表并定义一个环境变量参数来配置所有环境变量?

您可以使用


这将在局部变量中设置的环境变量映射上循环,但可以作为变量传递,并为每个变量创建一个环境变量块,将名称设置为映射的键,将值设置为映射的值。

您可以使用


这将在本地设置的环境变量映射上循环,但可以作为变量传递,并为每个变量创建一个环境变量块,将名称设置为映射的键,将值设置为映射的值。

您使用的是什么版本的Terraform?如果您有环境变量地图或地图列表,您可以在Terraform 0.12+中使用动态块来完成此操作。@ydaetskcoR是的,我使用的是Terraform 0.13。您使用的是什么版本的Terraform?如果您有一张环境变量的地图或地图列表,您可以使用Terraform 0.12+中的动态块来实现这一点。@ydaetskcoR是的,我使用的是Terraform 0.13.Hi,您能帮我从变量部分而不是局部变量中获取环境变量列表吗?这是一个很小的更改,但我还是做了。一般来说,您不应该期望答案100%地解决您的问题,而应该处理您在本例中遇到的非常具体的问题,即如何在环境变量块上循环。输入是变量还是局部变量并不那么重要。嗨,你能帮我从变量部分而不是局部变量中获取环境变量列表吗?这是一个很小的更改,但我还是做了。一般来说,您不应该期望答案100%地解决您的问题,而应该处理您在本例中遇到的非常具体的问题,即如何在环境变量块上循环。输入是变量还是局部并不那么重要。
variable "env_vars" {
  default = {
    SOME_KEY1 = "SOME_VALUE1"
    SOME_KEY2 = "SOME_VALUE2"
  }
} 

resource "aws_codebuild_project" "test" {
  # ...

  environment {
    compute_type                = "BUILD_GENERAL1_SMALL"
    image                       = "aws/codebuild/standard:3.0"
    type                        = "LINUX_CONTAINER"
    image_pull_credentials_type = "CODEBUILD"

    dynamic "environment_variable" {
      for_each = var.env_vars
      content {
        name  = environment_variable.key
        value = environment_variable.value
      }
    }
  }
}