问题标签 [terraform-provider-azure]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azure - TERRAFORM 如何在子网上设置 count.index 以检索 network_security_group_id
我觉得我的逻辑很糟糕!
我正在尝试将我的 Azure 网络组关联到我的子网
这是我的安全组配置
从这里count.index
我试图导入
但我无法 network_security_group_id
使用 [count.index] 或地图进行访问。
对于地球化专家来说,这将非常容易。
请在这里帮忙,
azure - 您如何处理用于 Azure VM 的 Terraform 中有多个 storage_os_disk 块?
我目前正在使用 Terraform 在 Microsoft Azure 中启动 VM。我需要在 VM 上有 4 个不同的磁盘驱动程序。
为了在 AWS 中启动它,我使用ebs_block_device
了它,这似乎storage_os_disk
是 Azure 的等价物。
在我看到的示例中,似乎只storage_os_disk
允许一个块?这个对吗?如果是这样,您建议如何处理我需要的四个驱动程序?
azure - 如何在 terraform 中继承/传递变量
我对 Terraform 很陌生,并且在模块/子目录之间传递变量时遇到了一些问题。
我有一个像这样的结构:
我在根目录中的 main.tf 如下所示:
在网络目录中,我想为 vm 创建网络接口。因此网络接口取决于子网 ID。vm(我想在计算中使用模板创建)取决于网络接口 ID。
在根目录的 data.tf 中,我输出了子网 ID:
如何在 network/main.tf 中使用该输出/变量,以便配置网络接口?
network/main.tf 看起来像:
另外,由于依赖项是由 main.tf 创建的,因此此依赖项会起作用吗?!
azure - 关于 Azure (Terraform) 中虚拟机“计划”的问题
我是 Azure 和 Terraform 的新手,但我从离开我组织的人那里继承了一组 Terraform 配置和模块。我的任务是将项目的 VM 更改为 CIS 强化版本,这需要我向我们的 VM 供应模块之一添加“计划”块:
由于该模块是通用的(即,可供具有无计划和需要计划的虚拟机的项目使用),我需要了解更多关于这个“计划”块的信息。
- 它是什么,我在哪里可以阅读更多关于它的信息?(对于 Google 来说,这似乎是一件困难的事情;例如,“azure virtual machine plan”会产生定价信息。)
- 为不一定需要它的虚拟机保留该块是否合适?
到目前为止,我看到的唯一文档是Terraform 关于 block 的少量信息。它没有提供太多信息(甚至没有提供参数名称),而且我不知道如何将 Terraform 构造与 Azure 交叉引用。
terraform - 如何通过 terraform 检索 Azure 规模集的 VM 专用 IP 地址?
我想知道如何使用 Terraform-provider-azurerm 检索规模集 VM 的私有 IP 地址。我认为没有资源或数据资源直接返回VM IP。
我尝试的一个选项是通过模板资源生成 shellscript。
然后运行 terraform 生成 sh。
但是这种方法离目标太远了,我确实想在 terraform 中使用私有 IP,而不是在 terraform 之外。
有没有人有更好的想法?
编辑 2018/11/2
我已经通过外部数据资源完成了。
azure-storage - 使用 Terraform 添加存储虚拟网络规则
有没有办法像 Azure SQL 一样将虚拟网络规则添加到存储帐户?有azurerm_sql_virtual_network_rule
但似乎没有存储帐户的等效项。
terraform - 排除 Terraform 模块中的资源
我有一个我构建的 Terraform 模块,它将模块的两个实例部署到一个单独的区域。在这个模块中有一个密钥库。我只希望密钥保管库出现在两个区域之一中。
这是我的模块:
这是我的 main.tf
我想排除第二个区域/位置中的密钥保管库。
Terraform 似乎不支持 if/else 所以我不确定我的选择是什么。
azure-web-app-service - 错误:azurerm_app_service.ci_rg:资源重复多次
我正在尝试在同一资源组中部署 2 个不同的 Azure 应用程序。
这些 Azure 应用程序被定义为存储在 Azure 容器注册表中的 docker 镜像(我之前在其中推送了这些 docker 镜像)。
我无法同时部署它们,因为我认为我定义它们的方式有问题,因为 Terraform 期望只找到一个azurerm_app_service
,但我不确定如何解决这个问题?
当我运行此命令时:terraform plan -var-file test.tfvars
,然后我在输出中看到此消息:
如何定义“相同类型的 2 个不同资源”?
这是main.tf
文件的内容(我在其中注入定义的变量和定义variables.tf
的值test.tfvars
):
编辑:
我不完全确定这个 Terraform 是如何工作的,但我认为这个标签azurerm_app_service
是由“Terraform 的语法”所采用的。请参阅此处的文档:https ://www.terraform.io/docs/providers/azurerm/r/app_service.html
标题为azurerm_app_service
. 所以我认为我无法改变这一点。
azure - Azure Microsoft Monitoring Agent 无法使用 Terraform 进行预配
尝试使用 Terraform 将 MMA 代理安装为 VM 部署的一部分。我确信失败是由于我正在使用的扩展名的语法造成的,但我没有运气确定它应该是什么。代理安装但不会加入 Log Analytics 工作区。我将工作区 ID 和主键存储在 Key Vault 中,并在执行时将它们传递到 Terraform。从 VM 上的扩展日志来看,它似乎获得了正确的工作区 ID,但我无法判断它是否正确接收密钥。下面是我使用的 Terraform 语法:
以下是扩展日志文件之一中显示的内容:
azure - Terraform Azure 虚拟机扩展
我已经部署了一个 Windows VM 和扩展。我想对 VM 资源进行更改并应用它们。但是,即使虚拟机扩展资源已经运行,它也会再次执行。
有关解决此问题的任何提示?也许在要执行的命令前面有什么东西?