【问题标题】:Terraform - List to String to create the azure subscription listTerraform - List to String 以创建 azure 订阅列表
【发布时间】:2020-06-01 00:41:40
【问题描述】:

我正在创建一个新的自定义 Azure 角色并尝试使用以下代码将所有订阅 ID 传递给可分配的范围参数,但我在使用正确的字符串格式从列表转换为字符串时遇到问题。这是角色定义模块文档 - https://www.terraform.io/docs/providers/azurerm/r/role_definition.html

感谢任何意见或指导!

locals {
 subscription_list  = formatlist("/subscriptions/%s", data.azurerm_subscriptions.all.subscriptions[*].subscription_id)
  quoted_subsciption_list = formatlist("%q", local.sub_list)
}

当我使用 join 函数将其转换为使用以下代码的字符串时, join(",", local.quoted_subsciption_list)

我得到的输出是 "\"/subscriptions/7yed1028-4525-4533-b608-fb74c2a9c1rr\",\"/subscriptions/7uef9fad-dabf-8icf-8379-a3df99e7613c\",

我希望输出为 "/subscriptions/7yed1028-4525-4533-b608-fb74c2a9c1rr", "/subscriptions/7uef9fad-dabf-8icf-8379-a3df99e7613c"。``` 当地人{ subscription_list = formatlist("/subscriptions/%s", data.azurerm_subscriptions.all.subscriptions[*].subscription_id) quoted_subsciption_list = formatlist("%q", local.sub_list) }

When I use join function to convert this into a string using the below code, 
```join(",", local.quoted_subsciption_list)```

I am getting the output as **"\"/subscriptions/7yed1028-4525-4533-b608-fb74c2a9c1rr\",\"/subscriptions/7uef9fad-dabf-8icf-8379-a3df99e7613c\",**

I want the output to be **"/subscriptions/7yed1028-4525-4533-b608-fb74c2a9c1rr", "/subscriptions/7uef9fad-dabf-8icf-8379-a3df99e7613c".**

【问题讨论】:

    标签: azure terraform terraform-provider-azure


    【解决方案1】:

    local.subscription_list 已经是 list(string),这正是 azurerm_role_definition 的 assignable_scopes 所需要的,因此您可以在您的 中执行此操作azurerm_role_definition 资源块:

    assignable_scopes = local.subsciption_list
    

    【讨论】:

      猜你喜欢
      • 2020-02-22
      • 2018-12-12
      • 2021-09-04
      • 1970-01-01
      • 2020-04-29
      • 2022-07-04
      • 2019-04-12
      • 2018-11-18
      • 2014-03-19
      相关资源
      最近更新 更多