Terraform 使用本地exec provisionner更新资源

Terraform 使用本地exec provisionner更新资源,terraform,Terraform,我使用本地exec provisionner编写了一个null_资源: resource "null_resource" "custom-users" { depends_on = [azurerm_sql_database.db] for_each = { for user_def in var.custom_users : format("%s-%s", user_def.name, user_def.database)

我使用本地exec provisionner编写了一个null_资源:

resource "null_resource" "custom-users" {
  depends_on = [azurerm_sql_database.db]
  for_each   = { for user_def in var.custom_users : format("%s-%s", user_def.name, user_def.database) => user_def }

  triggers = {
    user           = each.value.name
    password       = random_password.custom-users[each.key].result
    roles          = join(",", each.value.roles)
    database       = each.value.database
    server         = azurerm_sql_server.server.fully_qualified_domain_name
    admin_login    = var.administrator_login
    admin_password = var.administrator_password
  }

  provisioner "local-exec" {
    command = <<EOC
${path.module}/scripts/mssql_users.py --debug \
                                              -s ${azurerm_sql_server.server.fully_qualified_domain_name} \
                                              -d ${each.value.database} \
                                              --admin-user ${var.administrator_login} \
                                              --admin-password '${var.administrator_password}' \
                                              --user ${each.value.name} \
                                              --password '${random_password.custom-users[each.key].result}' \
                                              --roles ${join(",", each.value.roles)}
EOC
  }

  provisioner "local-exec" {
    when    = destroy
    command = <<EOC
${path.module}/scripts/mssql_users.py --debug \
                                              -s ${self.triggers.server} \
                                              -d ${self.triggers.database} \
                                              --admin-user ${self.triggers.admin_login} \
                                              --admin-password '${self.triggers.admin_password}' \
                                              --user ${self.triggers.user} \
                                              --delete
EOC
  }

}
资源“空”资源“自定义用户”{
依赖于=[azurerm\u sql\u database.db]
for each={for user_def in var.custom_users:format(“%s-”,user_def.name,user_def.database)=>user_def}
触发器={
user=each.value.name
密码=随机密码。自定义用户[each.key]。结果
角色=加入(“,”,each.value.roles)
数据库=each.value.database
server=azurerm\u sql\u server.server.fully\u限定的\u域名
admin\u login=var.administrator\u login
管理员密码=var.administrator\u密码
}
供应人“本地执行官”{
命令=