带有 CSV 文件的 azure Terraform 参数

2024-03-16

我正在尝试使用 CSV 文件访问 terraform 变量数据,创建资源组并将资源组的名称添加到 CSV 文件中并尝试访问代码。

这是代码:

locals {
  Resource_groupname = csvdecode(file("${path.module}/onkar.csv"))
}

//Create a resource group
resource "azurerm_resource_group" "Customer11" {
  count    = length(local.Resource_groupname)
  name     = local.Resource_groupname[count.index].resourcegroup_name
  location = "North europe"
}

我收到以下错误:

on admin.tf line 15, in resource "azurerm_resource_group"
"Customer11":   15:   name     =
local.Resource_groupname[count.index].resourcegroup_name
     |----------------
     | local.Resource_groupname is list of object with 1 element
This object does not have an attribute named "resourcegroup_name".

更新

这是错误SS https://i.stack.imgur.com/vns2h.png

CSV file https://i.stack.imgur.com/CfNfc.png

Updated Code: 

  locals {
  Resource_groupname = csvdecode(file("./test.csv"))
  }
  resource "azurerm_resource_group" "Customer11" {
  count    = length(local.Resource_groupname)
  name     = local.Resource_groupname[count.index].group_names 
  location = "North europe"
  }

新更新

 locals {
      Resource_groupname = csvdecode(file("./test.csv"))
    }

    resource "azurerm_resource_group" "Customer11" {
      count    = length(local.Resource_groupname)
      name     =  local.Resource_groupname[count.index].Resource_groupname   
      location = "North europe"
    }

新的更新 CSV 文件和输出

Error https://i.stack.imgur.com/CfNfc.png

CSV file https://i.stack.imgur.com/nwoOO.png


要从 CSV 文件加载输入,我假设您的 CSV 文件只有一行,如下所示:

test1,test2,test3

然后您可以从 CSV 文件加载并使用它们,如下所示:

locals {
  group_names = split(",", file("./test.csv"))
}

resource "azurerm_resource_group" "Customer11" {
  count    = length(local.group_names)
  name     = local.group_names[count.index]
  location = "North europe"
}

如果您像这样使用 CSV 文件:

resource_group_name
test1
test2
test3

然后 terraform 代码应更改为:

locals {
  group_names = csvdecode(file("./test.csv"))
}

resource "azurerm_resource_group" "main" {
  count       = length(local.group_names)
  name        = local.group_names[count.index].resource_group_name
  location    = "East US"
}

Update:

使用您提供的 CSV 文件,您需要更改资源组名称,如下所示:

resource "azurerm_resource_group" "Customer11" {
  count    = length(local.Resource_groupname)
  name     = local.Resource_groupname[count.index].group_names   # here is the change
  location = "North europe"
}

以下是 CSV 文件的屏幕截图:

您可以尝试输出local.Resource_groupname看看从 CSV 文件加载数据时的样子。

Update2

我真的不明白为什么你不知道该怎么做。以下是我测试的所有问题的截图,希望你能解决:

Terraform 文件和 CSV 的内容。

Terraform 计划:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有 CSV 文件的 azure Terraform 参数 的相关文章

随机推荐

  • 如何在 Windows 7 的 git bash 终端中不使用鼠标选择文本?

    我使用的是 Windows 7 安装 Windows 版 Git 后可以使用 Git Bash I found mouse inconvenient to select copy paste in terminal window What
  • C++CLI。本机部分是用纯 C++ 编写的,但在 CLI 中编译的速度与纯本机 C++ 一样快吗?

    我想将音频计算委托给 C 层 但通过 WPF GUI 处理和编辑音频内容 我简要了解了 C CLI 我想知道 我应该使用 C CLI 作为 C GUI 和 C 音频管理之间的中间层吗 或者我应该简单地将代码放入 C CLI 中并期望它以相同
  • 如何在 if 语句中使用 UIActionSheet? [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我有一个if声明工作正常 但我需要添加第二个if其中的声明 我似乎不知道如何正确执行 这是我的代码 IBAction xButto
  • 在运行时指定多个谓词

    STL中有一些运算符类 如less equal to greater equal等 如何轻松地将它们组合起来与remove if函数一起使用 例如我想删除向量中大于 0 且小于 3 且不等于 2 的元素 那么它会是这样的 remove if
  • Java 6 的 WatchService [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 Java 7 推出WatchService用于连续监控文件系统 Java 6 有向后移植吗 是否有具有
  • JUnit 测试:通过模拟抑制枚举构造函数?

    我知道可以模拟单个枚举 使用如何使用 Mockito Powermock 模拟枚举单例类 https stackoverflow com questions 15939023 how to mock an enum singleton cl
  • 如何在 AUTO_ACKNOWLEDGE JMS 会话场景中模拟消息重新传递?

    在下面的测试中 我尝试模拟以下场景 消息队列启动 启动设计为在消息处理期间失败的消费者 产生一条消息 消费者开始处理消息 在处理过程中抛出异常来模拟消息处理失败 失败的消费者被停止 另一个消费者启动的目的是接收重新传递的消息 但我的测试失败
  • SSL:尝试使用 Google Assistant SDK 时的 CERTIFICATE_VERIFY_FAILED

    当尝试从我的 Raspberry Pi 授权访问 Google Assistant API 时 我收到 SSLError 类型的错误 指出证书验证失败 当我跑步时 python m googlesamples assistant auth
  • 获取数字并输出其英文单词的算法

    我想用 C 语言编写一个程序 要求用户输入一个数字 然后用英文打印该数字 例如 if INPUT 1 then print ONE if INPUT 2 then print TWO 等等 它可以使用 switch case 和 if el
  • 移动设备上的 Javascript 点击事件

    我有一个 Javascript 函数 在 PC 上运行良好 但在移动设备上加载时不起作用 我认为这是因为移动设备对待点击的方式不同 但是如何修改以下功能以使其在移动设备上运行 function var a 48 0 49 1 50 2 51
  • DRF 序列化器中多个查找字段的自定义超链接 URL 字段

    我在用Django 休息框架 http www django rest framework org 用于为我的项目开发 Web api 在我的项目中 我需要构建嵌套 api 的端点 如下所示 users to get all users u
  • DICOM 图像中引用的图像序列中的[引用的 SOP 类/实例 UID] 是什么?

    我正在使用 fo dicom 库开发模态工作列表客户端 我不清楚以下与 有关的事情Referenced SOP Instance UID 0008 1155 什么是引用的 SOP 实例 UID 整个系列的参考 SOP 实例 UID 是否相同
  • 将密码迁移到 Devise

    我正在将用户数据库从 PHP 迁移到 Rails 我已经安装了 Devise Gem 现在运行良好 另外 我还发现了如何将现有用户的密码迁移到 Rails 的提示 我已将旧密码添加到相同的密码中encrypted passwordDevis
  • Android Marshmallow 6.0.1 蓝牙扫描未返回结果

    根据 Kitkat 4 4 4 的 update appCompat 使用以下代码和权限 6 01 中的蓝牙似乎无法按预期工作 没有返回任何结果 并且我附近有几个可发现的设备 有人对为什么有任何见解吗 我在 Nexus 5 上运行
  • python -正则表达式匹配单词列表

    我有一个 python 脚本 其中大约有 100 个正则表达式行 每行匹配某些单词 显然 该脚本每次运行时都会消耗高达 100 的 cpu 我基本上向它传递了一个句子 它会返回找到的任何匹配的单词 我想将它们组合成大约 4 或 5 个不同的
  • PHPUnit - getallheaders 不起作用

    我正在测试我的代码 并且标头有一些问题 在我使用的每个 api 中 headers getallheaders 为了实现这一点 当我使用应用程序或 chrome postman 扩展进行测试时 效果很好 当我启动测试时 像这样 client
  • 动态设置onclick并传入元素本身来访问innerHTML

    我正在动态创建一些 div 元素 然后填充它们innerHTML带有文本的属性 我正在尝试设置他们onclick事件处理程序如下 myDiv onclick function alert Hello 我能做到的 我想做的是能够访问新定义的值
  • 外键约束失败

    我在 php 和 mysql 方面相对较新 在我的值中插入值时我面临的问题leave表 我的leave包含以下列的表 1 lid INT主键 2 empname varchar 3 用户名 varchar 4 点头 INT 5 sdate
  • 使用设备构建时,Monotouch 在 LINQ 查询上崩溃

    这是我得到的错误 mscorlib 在使用 aot only 运行时尝试 JIT 编译方法 System Linq OrderedEnumerable 1 GetEnumerator 从我读到的内容看来 编译器在本例中不包含 GetEnum
  • 带有 CSV 文件的 azure Terraform 参数

    我正在尝试使用 CSV 文件访问 terraform 变量数据 创建资源组并将资源组的名称添加到 CSV 文件中并尝试访问代码 这是代码 locals Resource groupname csvdecode file path modul