[英]terraform retrieve resource id into variable to use in creation of lambda with environment variables
[英]Re-use "common variables" in terraform for Lambda environment variables
假设我有多个具有自己特定环境变量的 lambda,但也共享一个公共环境变量列表,我如何在一个位置定义公共环境变量并将其“传播”到 lambda 的环境变量定义中?
在 Javascript 中,你可以使用扩展运算符,所以像这样
COMMON_VARS = {
COMMON_VAR_1 = var.common_var_1
COMMON_VAR_2 = var.common_var_2
}
resource "aws_lambda_function" "lambda_1" {
...
environment {
variables = {
LAMBDA_VAR_1 = var.lambda_var_1
...COMMON_VARS
}
}
...
}
resource "aws_lambda_function" "lambda_2" {
...
environment {
variables = {
LAMBDA_VAR_2 = var.lambda_var_2
...COMMON_VARS
}
}
...
}
请注意,所有var.*
变量都将在variable
块中定义。
您可以使用merge来组合普通变量和新变量:
resource "aws_lambda_function" "lambda_1" {
...
environment {
variables = merge(var.COMMON_VARS, {
LAMBDA_VAR_1 = var.lambda_var_1
})
}
...
}
resource "aws_lambda_function" "lambda_2" {
...
environment {
variables = merge(var.COMMON_VARS, {
LAMBDA_VAR_2 = var.lambda_var_2
})
}
...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.