terraform - 是否可以动态创建“azurerm”提供程序?
问题描述
我想从变量列表中创建多个 azure_rm 提供程序。尝试使用“计数”是不可能的,我收到了“保留以备将来使用”的消息。
从技术上讲,我想动态创建的部分是:
provider "azurerm" {
features {}
subscription_id = "1d1a56ed-681f-xxxx-xxxx-xxxxxxxxxxxx"
alias = "spoke1"
}
我也尝试了 for_each,但也不可能,因为 for_each 只创建一个部分,而不是一个完整的“提供者”部分。
# To improve... try to use dynamic block
# It looks to be not possible. Could be necessary to auto-generate this scetion with external script
# provider "azurerm" {
# features {}
# dynamic "spoke" {
# for_each = var.spoke_networks
# content {
# subscription_id = spoke.value["subscription_id"]
# alias = spoke.value["subscription_alias"]
# }
# }
# }
我想要实现的是只为我的变量(spoke_networks)提供一个新条目,然后 terraform 创建一个新的提供者。变量文件结构应该是这样的:
variable "spoke_networks" {
description = "List with the properties of the Spoke VNETs"
type = list(object({subscription_alias=string ,subscription_id=string , resource_group_name=string , vnet_name=string }))
}
谢谢你,VS
解决方案
你不能用terraform
. 但也许你可以用terragrunt做到这一点。
推荐阅读
- android - Android 错误:找不到 Instantapps.jar (com.google.android.instantapps:instantapps:1.1.0)
- javascript - 在javascript中使用for循环创建数组对象
- javascript - 我想在不刷新的情况下更改订阅 div 的内容
- unix - `chmod go-rwx` 和 `chmod 700` 有什么区别
- php - Laravel - 使用 response()->download($fileLocation) 强制下载不起作用
- node.js - 无服务器异步函数错误
- reactjs - 如何在reactjs中使用switch case根据路由路径显示不同的组件
- task - 如何在另一个用户而不是 Build 服务帐户下运行 VSTS 构建或发布任务?
- http - Highcharts 导出服务器设置 Https 服务器
- laravel - 如何停止覆盖 vueJs 中 v-model 的输入值?