【问题标题】:Create an Azure storage account name with concatenated variables in Terraform在 Terraform 中创建具有串联变量的 Azure 存储帐户名称
【发布时间】:2021-10-20 23:02:40
【问题描述】:

我们需要在 Terraform 中创建一个 Azure 存储帐户。但是,所需的命名约定是组合三个声明的变量,这意味着模块将如下所示:

resource "azurerm_storage_account" "example" {
  name    = "(var.first)(var.second)(var.third)"
  resource_group_name      = "rg01"
  location                 = "uksouth"
  account_tier             = "Standard"
  account_replication_type = "GRS"

试图实现这一点变得有点困难,并且仔细研究了 Terraform 指南,似乎没有任何功能可以让我们实现这一点。有什么想法或建议吗?

【问题讨论】:

    标签: variables terraform azure-storage string-concatenation azure-storage-account


    【解决方案1】:

    假设你的变量是字符串并且你没有任何不正确的字符,那么它应该是:

    name    = "${var.first}${var.second}${var.third}"
    

    【讨论】:

    • 两者,非常感谢您的回复。您可能还想知道,在我发布后不久,我继续尝试其他实现,并且效果也很好:name = format("%s", "${var.sa_1}${var.sa_2}${var.sa_3}")
    • @hitman123 很高兴它成功了。如果任何答案有帮助,我们将不胜感激。
    • 另外,只是补充一点,我尝试了 Marcin 和 Abinet 提出的两个选项,它们确实有效,尽管我只能将一个标记为答案,而实际上两者都应该是。
    【解决方案2】:

    你可以使用 format():

    resource "azurerm_storage_account" "example" {
      name    = format("%s%s%s", var.first, var.second, var.third)
      resource_group_name      = "rg01"
      location                 = "uksouth"
      account_tier             = "Standard"
      account_replication_type = "GRS"
    

    【讨论】:

    • Abinet,为意外投反对票深表歉意。尝试撤消它,但一直收到我的投票当前被锁定的错误消息,只有在您的答案被编辑后我才能这样做。
    • @hitman126 我会投票来弥补这一点:-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-29
    • 2021-10-29
    • 2016-07-17
    • 2017-11-23
    • 1970-01-01
    • 2020-05-19
    • 2019-07-28
    相关资源
    最近更新 更多