azure - 仅当 Azure 中不存在 azurerm_resourcegroup 时,如何通过 terraform 创建 azurerm_resourcegroup?
问题描述
我希望我的 terraform 脚本仅在 Azure 中不存在资源组时才创建它,否则它应该跳过资源组的创建。
解决方案
好吧,您可以使用Terraform external执行 CLI 命令来检查资源组是否存在。然后使用结果来判断资源组是否会创建。这是一个例子:
./main.tf
provider "azurerm" {
features {}
}
variable "group_name" {}
variable "location" {
default = "East Asia"
}
data "external" "example" {
program = ["/bin/bash","./script.sh"]
query = {
group_name = var.group_name
}
}
resource "azurerm_resource_group" "example" {
count = data.external.example.result.exists == "true" ? 0 : 1
name = var.group_name
location = var.location
}
./script.sh
#!/bin/bash
eval "$(jq -r '@sh "GROUP_NAME=\(.group_name)"')"
result=$(az group exists -n $GROUP_NAME)
jq -n --arg exists "$result" '{"exists":$exists}'
推荐阅读
- html - 为什么 svg 不透明度似乎会改变 RGB 值
- ios - 反复表示collectionView的cell的frame会导致内存增长?
- database - 返回 CrateDB 中插入的 ID
- html - 如何使 3 个不同的文本框高度相同(处于响应状态)
- javascript - Bootstrap/jQuery 单选按钮在 Firefox/Safari 上不起作用
- python - Numpy随机选择分布错误
- javascript - 在 Electron 上将正文添加到 ClientRequest
- java - 从地图对象中查找范围内的元素数
- .htaccess - 显示错误 404 .htaccess 的空参数
- ios - Firebase - for loop Swift 内嵌套的 observeSingleEvent 方法