我目前正在使用 Terraform 管理 Azure Redis 企业集群。我需要启用推迟 Redis DB 版本更新的选项,我知道这可以通过高级设置中的 Azure 门户手动完成。但是,我似乎在 Azure Redis 的 Terraform 文档中找不到任何提及此选项的信息。
resource "azurerm_redis_enterprise_cluster" "redis" {
name = var.redis_name
location = var.loc
resource_group_name = var.resource_group_name
sku_name = var.settings.sku_name
minimum_tls_version = var.settings.minimum_tls_version
zones = var.settings.zones
tags = local.tags
lifecycle {
ignore_changes = [tags]
}
}
有人设法通过 Terraform 配置此设置吗?如果是这样,您能提供一个例子或指出我正确的方向吗?
预先感谢您的帮助!
希望通过 terraform 启用延迟选项
推迟自动主要 Redis 版本更新选项仍处于预览中。这可能是 Terraform 尚未更新其文档中的参数的原因。
或者,您可以使用以下任何方法来使用 terraform 更新推迟自动主要 Redis 版本更新选项
方法:1
您可以在 Terraform
az redisenterprise update
块中使用 null_resource
命令在 Terraform 中执行 Azure CLI 命令,如本 Stack 链接中所述。
Redis Enterprise 缓存更新命令
Azure PowerShell
使用 PowerShell 更新 Redis Enterprise 缓存
Azure CLI
在
null_resource
块中使用 Azure CLI 命令的 Terraform 代码
resource "null_resource" "powershell" {
provisioner "local-exec" {
command = <<-EOT
Update-AzRedisEnterpriseCache -Name "MyCache" -ResourceGroupName "MyGroup" -MinimumTlsVersion "1.2" -Tag @{"tag1" = "value1"}
EOT
}
}
方法二:
从门户启用相同的选项,然后使用
Terraform 导出命令进行配置。这将使用您在门户中手动设置的配置生成 Terraform 代码。
export
方法:1您可以在 Terraform
aztfexport resource --non-interactive --hcl-only - <resourceName>
块中使用
az redisenterprise update
命令在 Terraform 中执行 Azure CLI命令,如本 Stack 链接中所述。 Redis Enterprise 缓存更新命令
Azure PowerShell
使用 PowerShell 更新 Redis Enterprise 缓存Azure CLI
az redisenterprise 更新
null_resource
块中使用 Azure CLI 命令的 Terraform 代码
null_resource
方法二:从门户启用相同的选项,然后使用
Terraform 导出命令导出配置。这将使用您在门户中手动设置的配置生成 Terraform 代码。
resource "null_resource" "powershell" {
provisioner "local-exec" {
command = <<-EOT
Update-AzRedisEnterpriseCache -Name "MyCache" -ResourceGroupName "MyGroup" -MinimumTlsVersion "1.2" -Tag @{"tag1" = "value1"}
EOT
}
}