如何解决带有Terraform的AWS Codebuild中的多个环境变量
我正在使用terraform来配置AWS CodeBuild。在环境部分,我已经配置了以下内容:
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"
}
}
我在Codebuild项目中要配置20多个环境变量。
是否可以创建列表并定义单个environment_variable参数来配置所有环境变量?
解决方法
您可以使用dynamic
blocks来实现。
data.response
这将循环遍历在此本地设置的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
}
}
}
}
的映射(但可以作为变量传递),并为每个映射创建一个env_vars
块,将名称设置为映射的键并将值更改为地图的值。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。