【问题标题】:How to append string and variable in terraform如何在terraform中附加字符串和变量
【发布时间】:2021-10-13 19:44:03
【问题描述】:

如何在 terraform 中连接字符串和变量。我正在使用 terraform 1.7 版

Name = "Test (Environment_Name)" 其中 environment_name 将是 test、stage 和 prod。

    resource "fusionauth_tenant" "tanant" {
  name = "Test (Environment_name)"
  email_configuration {
    default_from_name                 = "FusionAuth [Environment_name]"
    verification_email_template_id    = fusionauth_email.verification_template.id
  }

【问题讨论】:

  • "${var}-some-string-${var2}-some-string"
  • 这行得通吗?如何使用本地?
  • "${local.value}-some-string",是的,它会起作用的。
  • 你能把代码提供给我吗?
  • 嗯,我已经做到了。但让我发布一个答案。

标签: terraform fusionauth


【解决方案1】:

如何附加字符串和变量的示例。

settings.tf:

locals {
  bucket_prefix = "test-bucket"
}

然后您想创建三个 S3 存储桶。

s3.tf:

resource "aws_s3_bucket" "a" {
  bucket = "${local.bucket_prefix}-app"
}
//name = test-bucket-app


resource "aws_s3_bucket" "b" {
  bucket = local.bucket_prefix
}
//name = test-bucket


resource "aws_s3_bucket" "c" {
  bucket = "my-bucket"
}
//name = my-bucket

如果您想从var 附加一个变量或从资源中获取一个名称,它将遵循相同的模式。它永远是:

"${var.name.value}-my-string"

【讨论】:

  • local.var 将是 Test 而我的环境将是 var.env_name,对
  • 你的意思是"${var.value1}-${var.value2}"
  • 是的,我发布了value,但我确实对其进行了更改,以便更容易理解使用两个变量的概念。我已经删除了评论,谢谢@Marcin。
  • 顺便说一句,不管你是使用变量、本地还是资源属性,规则都是一样的,如果你需要附加到字符串中,你需要像我一样已在答案中发布。
  • ${local.tenant_prefix}${var.env_name} - 像这样
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-18
  • 2011-10-27
  • 1970-01-01
  • 2022-01-26
  • 2016-07-14
  • 2017-10-14
相关资源
最近更新 更多