Terraform 将字符串插入模块输出/另一个字符串 [关闭]

Terraform insert string into module output/another string [closed]

提问人:Anton Teterine 提问时间:11/16/2023 最后编辑:Anton Teterine 更新时间:11/18/2023 访问量:46

问:


想改进这个问题吗?通过编辑这篇文章添加详细信息并澄清问题。

3天前关闭。

这篇文章是在 2 天前编辑并提交审核的。

澄清:我希望将自定义字符串注入到模块的输出中。不要在末尾附加,而是注入它:

即如果我的输出是,我想注入自定义值,例如。 以前abc-qq-core-0000-snetgrsnet


我有一个terraform命名模块,它根据提供的参数生成值:

module "names" {
  source    = "git::https://gitlab.com/../modules/names.git
  providers = { random = random }
  context = {
    c_code           = "abc"
    s_code           = "qq"
    pp_code          = "core"
    pv_code          = "0000"
  }
}

它返回子网名称的值

resource "azurerm_subnet" "gr" {
  name = module.names.resources.subnet.name
  ...
}

该值将为:abc-qq-core-0000-snet

我想在创建具有不同名称的多个子网时插入其他标识符:-snet

resource "azurerm_subnet" "gr" {
  name = module.names.resources.subnet.name
  ...
}
## Generates "abc-qq-core-0000-gr-snet" value

resource "azurerm_subnet" "ak" {
  name = module.names.resources.subnet.name
  ...
}
## Generates "abc-qq-core-0000-ak-snet" value

或插入自定义字符串生成的任何其他值。

正则表达式 Terraform

评论


答:

0赞 dvlpmike 11/16/2023 #1

您可以使用计数索引:

resource "azurerm_subnet" "gr" {
  name = module.names.resources.subnet[count.index].name
  ...
}

评论

0赞 Anton Teterine 11/17/2023
我在创建资源时没有使用 count