标签: terraform-provider-azure

Terraform 中的 Azure SQL 备份设置

尝试在 Terraform 文件中设置参数来备份 Azure SQL 服务器。

\n\n

在AWS中我可以添加一个密钥,例如:

\n\n
      allocated_storage = 1000\n      engine_version = \xe2\x80\x9c13.00.4451.0.v1\xe2\x80\x9d\n      backup_window = \xe2\x80\x9c18:00-18:30\xe2\x80\x9d\n      backup_retention_period = 14\n
Run Code Online (Sandbox Code Playgroud)\n\n

我找不到类似的密钥来备份 Azure SQL。以下是我在 Terraform Docs 和网络上找到的备份密钥:

\n\n
  resource "azurerm_sql_server" "some_erver" {\n    administrator_login          = "some_login"\n    administrator_login_password = "some_password"\n    location                     ="some_location"\n    name                         = "some_server"\n    resource_group_name          = "some_resource"\n    version                      = "some_version"\n\n  tags = {\n    environment  = "t"\n    stack-name   = "name"\n    stack-number = "number"\n    app-number   = "app-number"\n    logicmonitor = "bool"\n  }\n  backup {\n    frequency = "Daily"\n    time      = "04:00"\n  }\n\n  retention_daily {\n …
Run Code Online (Sandbox Code Playgroud)

terraform azure-sql-server terraform-provider-azure

4
推荐指数
1
解决办法
8772
查看次数

通过 Terraform Helm 提供程序和 Azure DevOps 部署 Helm 图表,同时从 ACR 获取 Helm 图表

我正在尝试使用 Terraform helm 提供程序和 Azure DevOps 容器作业将 helm 图表从 ACR 部署到 AKS 集群,但从 ACR 获取 helm 图表时失败。请让我知道出了什么问题。

helm 提供者 tf 模块:

data "helm_repository" "cluster_rbac_helm_chart_repo" {
  name = "mcp-rbac-cluster"
  url  = "https://mcpshareddcr.azurecr.io"
}
# Deploy Cluster RBAC helm chart onto the cluster
resource "helm_release" "cluster_rbac_helm_chart_release" {
  name  = "mcp-rbac-cluster"
  repository = data.helm_repository.cluster_rbac_helm_chart_repo.metadata[0].name
  chart = "mcp-rbac-cluster"
}
Run Code Online (Sandbox Code Playgroud)

提供者:

  version                    = "=1.36.0"
  tenant_id                  = var.ARM_TENANT_ID
  subscription_id            = var.ARM_SUBSCRIPTION_ID
  client_id                  = var.ARM_CLIENT_ID
  client_secret              = var.ARM_CLIENT_SECRET
  skip_provider_registration = true
}

data "azurerm_kubernetes_cluster" "aks_cluster" {
  name …
Run Code Online (Sandbox Code Playgroud)

terraform azure-devops kubernetes-helm azure-container-registry terraform-provider-azure

4
推荐指数
1
解决办法
6477
查看次数

在 Terraform 中为 Azure 存储帐户创建事件订阅

我正在尝试使用TerraformTerraform provider for Azure在 Azure 中创建以下资源。

  • 为 Blob 存储创建存储帐户。
  • 创建将引发 Blob 活动事件的事件订阅。

运行 terraform 脚本时出现以下错误

错误:创建/更新 EventGrid 事件订阅“evtFileReceived”时出错(范围“/subscriptions/c17cf5ee-d3d7-4f64-b863-f2a4d6948594/resourceGroups/dominos-doodle”):eventgrid.EventSubscriptionsClient#CreateOrUpdate:发送请求失败:StatusCode=400 - - 原始错误:代码 =“InvalidRequest”消息 =“指定的主题属性与事件订阅范围中的预期主题不匹配。”

我该如何解决它?谷歌搜索没有给出任何结果。

生成错误的脚本如下。引发错误的步骤是terraform apply

显然,一种方法是使用 ARM 模板来实现此目的,但我正在尝试查看是否可以使用本机 Terraform 脚本创建它。我参考了Terraform Docs并创建了以下内容。

variable "inp_resource_group_name" { }
variable "inp_geo_location" { }
variable "inp_account_name" { }
variable "inp_az_subscription_id" { }
variable "inp_resource_group_id" { }

resource "azurerm_storage_account" "cave" {
  name                     = var.inp_account_name
  resource_group_name      = var.inp_resource_group_name
  location                 = var.inp_geo_location
  account_tier             = "Standard"
  account_replication_type = "LRS"
  account_kind             = "StorageV2" …
Run Code Online (Sandbox Code Playgroud)

azure terraform terraform-provider-azure

4
推荐指数
1
解决办法
3561
查看次数

如何使用 terraform 输出作为 Azure DevOps 管道中的变量

我正在尝试将使用 Azure DevOps 的 terraform 部署生成的 databricks 工作区名称作为变量传递到另一个步骤,但不知道该怎么做。

所以我在我的output.tf中定义了输出

output "workspace_name" {
  value = azurerm_databricks_workspace.databricks.name
}
Run Code Online (Sandbox Code Playgroud)

我可以看到输出:

在此输入图像描述

通过 stackoverflow,有一个解决方案可以自动将所有输出作为变量:

1-配置输出变量:

在此输入图像描述

2-配置powershell脚本来获取它们并填充它

电源外壳

3-现在怎么办?变量名称是什么?如何在 Databricks Bearer Token 解决方案中使用它?

azure azure-devops azure-pipelines terraform-provider-azure azure-databricks

4
推荐指数
1
解决办法
5139
查看次数

Azure支持的terraform构建帐户时出错

执行时我突然意外地出现以下错误terraform plan

Error: Error building account: Error getting authenticated object ID: Error parsing json result from the Azure CLI: Error retrieving running Azure CLI: Unable to encode the output with ANSI_X3.4-1968 encoding. U
nsupported characters are discarded.

  on main.tf line 4, in provider "azurerm":
   4: provider "azurerm" {
Run Code Online (Sandbox Code Playgroud)

记录附近的错误如下所示:

2020-04-14T10:22:53.257Z [DEBUG] plugin.terraform-provider-azurerm_v2.5.0_x5: Testing if Service Principal / Client Certificate is applicable for Authentication..
2020-04-14T10:22:53.257Z [DEBUG] plugin.terraform-provider-azurerm_v2.5.0_x5: Testing if Multi Tenant Service Principal / Client Secret is applicable for …
Run Code Online (Sandbox Code Playgroud)

azure terraform terraform-provider-azure

4
推荐指数
1
解决办法
1万
查看次数

从 Azure 文件共享获取访问密钥 - Terraform

我正在尝试按照此示例创建一个azure file share直通通道,但是我想为此获取. 我如何得到它,对此的任何帮助将不胜感激。terraformAccess Keystorage account

azure terraform terraform-provider-azure

4
推荐指数
1
解决办法
4617
查看次数

for_each 中的动态块出现 Terraform 错误

我正在尝试使用 azuremrm 资源storage_share实例化 azure storage_share 映射。根据设计,我需要能够使用同一块实例化多个存储共享;每个共享可能有也可能没有“acl”部分。

我正在考虑使用 for_each 与动态块结合使用来解决这个问题,如相关的 SE 问题中所示:

主.tf

resource "azurerm_storage_share" "storage_share" {
  for_each             = var.storage_share_map
  name                 = each.key
  storage_account_name = azurerm_storage_account.sa.name
  quota                = each.value.quota

  dynamic "acl" {
    for_each = each.value.acl
    content {
      id = acl.value.id

      access_policy {
        permissions = acl.value.access_policy.permissions
        start       = acl.value.access_policy.start
        expiry      = acl.value.access_policy.expiry
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)

该变量将定义为:

variable "storage_share_map" {
  type = map(object({
    quota = number,
    acl = object({
      id = string,
      access_policy = object({
        expiry      = string,
        permissions = string,
        start …
Run Code Online (Sandbox Code Playgroud)

terraform terraform-provider-azure

4
推荐指数
1
解决办法
4316
查看次数

使用 terraform 转义字符串中的特殊字符

您能帮我使用 terraform 实现以下场景吗?我需要在字符串值中的每个特殊字符前加上 // 前缀。

示例:mysplchr="test O'riel*abc"这必须更改为"test O//'riel//*abc"

谢谢

terraform terraform-provider-azure terraform-provider-aws terraform-provider-gcp terraform0.12+

4
推荐指数
1
解决办法
1万
查看次数

Terraform - 如何获取在 for_each 块中创建的资源的引用

我有下面的代码,在 for_each 块中创建 vnet:

provider "azurerm" {
  features {}
}

variable "vnets" {
  type = map(object({
    name          = string
    address_space = list(string)
  }))
  default = {
    "vnet1" = {
      "name"          = "vnet1",
      "address_space" = ["10.0.0.0/16"]
    },
    "vnet2" = {
      "name"          = "vnet2",
      "address_space" = ["10.1.0.0/16"]
    }
  }
}

resource "azurerm_resource_group" "vnets" {
  name     = "vnets"
  location = "WestEurope"
}

resource "azurerm_virtual_network" "virtual_network" {
  for_each = var.vnets
    name                =       each.value.name
    location            =       "West Europe"
    resource_group_name =       azurerm_resource_group.vnets.name
    address_space       =       each.value.address_space
} …
Run Code Online (Sandbox Code Playgroud)

terraform terraform-provider-azure

4
推荐指数
1
解决办法
7444
查看次数

Terraform 条件参数块

我创建了一个模块来部署以下azurerm_automation_schedule资源:

resource "azurerm_automation_schedule" "example" {
  name                    = var.aaname
  resource_group_name     = azurerm_resource_group.example.name
  automation_account_name = azurerm_automation_account.example.name
  frequency               = var.frequency              
  interval                = var.interval
  timezone                = "Australia/Perth"
  start_time              = "2014-04-15T18:00:15+02:00"
  description             = "This is an example schedule"

  monthly_occurrence {
                      day = monthly_occurrence.value.day
                      occurrence = monthly_occurrence.value.occurrence
                  }
 }
Run Code Online (Sandbox Code Playgroud)

Monthly_occurrence块参数的存在必须是有条件的,因为仅当频率为“月”时才需要它,否则会引发错误。

有没有办法有条件地创建这个monthly_occurrence块参数?我正在使用 terraform 0.13.5 和 azurerm 2.38.0

我尝试过for_each但找不到解决方案。有什么办法可以做到吗?

azure conditional-statements terraform terraform-provider-azure

4
推荐指数
1
解决办法
1922
查看次数