Terraform资源地址

在编码时有时会需要引用一些资源的输出属性或是一些模块的输出值,这都涉及到如何在代码中引用特定模块或是资源。另外在执行某些命令行操作时也需要显式指定一些目标资源,这时要掌握Terraform的资源路径规则。
一个资源地址是用以在一个庞大的基础设施中精确引用一个特定资源对象的字符串,一个地址由两部分组成:[module path][resource spec]

模块路径

一个模块路径在模块树上定位了一个特定模块,它的形式是这样的:module.module_name[module index]

  • module:module关键字标记了这时一个子模块而非根模块,在路径中可以包含多个module关键字
  • module_name:用户定义的模块名
  • [module index]:访问多个子模块中特定实例的索引,由方括号包围(可选)

一个不包含具体资源的地址,例如module.foo代表了模块内所有的资源(如果只是单个模块而不是多实例模块),或者是多实例模块的所有实例。要指代特定模块实例的所有资源,需要在地址中附带下标,例如module.foo[0]

如果地址中模块部分被省略,那么地址就指代根模块资源。

一个多module关键字应用于多实例模块的例子:module.foo[0].module.bar["a"]

注意,由于模块的countfor_each元参数是Terraform 0.13开始引进的,所以多实例模块地址也只能在0.13及之后的版本使用。

资源地址形式

一个资源地址定位了代码中特定资源对象,它的形式是这样的:resource_type.resource_name[resource index]

  • resource_type:资源类型
  • resource_name:用户定义的资源名称
  • [resource index]:访问多实例资源中特定资源实例的索引,由方括号包围(可选)

多实例模块与资源的访问索引

以下规约适用于访问多实例模块及资源时使用的索引值:

  • [N]:当使用count元参数时N是一个自然数,如果省略,并且count > 1,那么指代所有的实例
  • ["INDEX"]:当使用for_each元参数时INDEX是一个字母数字混合的字符串

资源地址示例

count的例子

给定一个代码定义:

resource "aws_instance" "web" {count = 4
}

给定一个地址:aws_instance.web[3],它指代的是最后一个名为web的aws_instance实例;给定地址aws_instance.web,指代的是所有名为web的aws_instance实例。

for_each的例子

给定如下代码:

resource "aws_instance" "web" {for_each = {"terraform": "value1","resource":  "value2","indexing":  "value3","example":   "value4",}
}

地址aws_instance.web["example"]引用的是aws_instance.web中键为”example”的实例。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/7034.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python_4-远程连接Linux

文章目录 使用Python通过SSH自动化Linux主机管理代码执行ls结果:文件传输: 使用Python通过SSH自动化Linux主机管理 在系统管理与自动化运维中,SSH(Secure Shell)是一个常用的协议,用于安全地访问远程计算机…

FTP协议与工作原理

一、FTP协议 FTP(FileTransferProtocol)文件传输协议:用于Internet上的控制文件的双向传输,是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同…

富格林:累积经验阻挠黑幕之手

富格林认为,近年来现货黄金投资市场越发火热,许多投资新手纷纷涌入现货黄金市场中。不过,在这需要提醒大家的是要提防黑幕阻挠我们顺利盈利,选择正规可靠的平台进行开户,这样可以保证投资环境的安全稳定。下面富格林将…

水泥分类和使用方式 宁波水泥菱湖新阳水泥厂325鄞州东钱湖春晓咸祥海螺425水泥镇海骆驼庄市

水泥分类和使用方式 宁波水泥菱湖新阳水泥厂325鄞州东钱湖春晓咸祥海螺425水泥镇海骆驼庄市 水泥是一种重要的建筑材料,广泛应用于建筑、桥梁、隧道等各种土木工程项目中。根据不同的分类标准,水泥可以分为多种类型,每种类型的水泥都有其特定…

怎么给word文件名批量替换部分文字?word设置批量替换文字教程

批量替换Word文件名中的几个字,对于经常处理大量文件的人来说,是一项非常实用的技能。以下是一个详细的步骤指南,帮助你快速完成这项任务。 首先,你需要准备一个可以批量重命名文件的工具。市面上有很多这样的工具可供选择&#x…

win10禁止自动更新的终极方法

添加注册表值 1.运行,输入regedit 2.打开注册表编辑器依次进入以下路径“计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings”。 3.在Settings项中,新建DWORD(32位)值(D),重命名为以下命名“Fl…

easy_ssti_ctfshow_2023愚人杯

https://ctf.show/challenges#easy_ssti-3969 2023愚人杯有提示app.zip,访问 https://1f660587-5340-4b20-b929-c4549d9a5d4b.challenge.ctf.show/app.zip得到压缩包,拿到一个py文件 可以看到参数名是name,对参数进行筛选,包含ge…

人力资源管理新视野:挖掘员工潜力,共筑卓越未来

在21世纪的商业环境中,企业的成功不再仅仅依赖于资本、技术和市场策略,而更多地依赖于其人力资源的有效管理。人力资源管理的新视野正致力于挖掘员工的潜力,为企业创造持续的价值,共筑卓越的未来。 一、员工潜力的挖掘 员工是企业…

Linux如何查看JDK的安装路径

方法1 echo $JAVA_HOME 如果配置了系统就会输出配置为JAVA_HOME的jdk的的位置,如果没有配置就没有输出,推荐使用方法2 方法2(推荐) 关键命令分别为 1. which java 2. ls -lrt /usr/bin/java (路径依照自己的输出灵活去改&…

《Fundamentals of Power Electronics》——脉宽调制器建模

下图给出了一个简单脉宽调制器电路的原理图。 脉宽调制器电路产生一个用于指令转换器功率管导通和关断的逻辑信号δ(t)。该逻辑信号δ(t)是周期性的,其频率为fs,占空比为d(t)。脉宽调制器的输入是一个模拟控制信号vc(t)。脉宽调制器的作用是产生一个与模…

Qt QShortcut快捷键类详解

1.简介 QShortcut是一个方便的工具类,用于在应用程序中创建快捷键。通过设置快捷键和关联的处理函数,可以实现快速执行某个操作的功能。 // 创建一个快捷键,关联到MyWidget类的keyPressEvent()函数 QShortcut *shortcut new QShortcut(QKe…

生产管理驾驶舱模板分享,制造业都来抄作业!

今天要讲的是一张从组织、生产车间、物料、仓库、时间等不同维度,展示产能、产量、投入成本、产能达成率等关键信息,让企业运营决策者全面了解生产产能情况、产量情况、投入成本情况、产能达成率情况的BI生产管理驾驶舱模板。这是奥威BI标准方案为设有生…

问题管理员的工作角色、职责和技能

问题管理就是识别、分析和解决反复出现的根本原因问题并永久修复它们。听起来很简单对吧,不幸的是,情况并非总是如此。对于组织来说,IT问题管理一直是一门棘手的 ITSM 学科。一个经常被忽视的关键因素是有效的问题 管理不仅仅是工具和流程。 …

Yarn的安装和使用详细教程(Mac/Window)

目录 Yarn是什么? Mac安装Yarn 使用Homebrew安装Yarn 使用npm安装Yarn Windows安装Yarn 使用npm安装Yarn Yarn使用 常用命令: 特殊命令: Yarn是什么? Yarn是一个流行的包管理工具,用于管理JavaScript项目的依…

Linux的打包压缩

为什么要打包压缩 文件传输: 在网络上传输多个文件时,可能会因为文件的数量和大小造成传输效率低下。打包可以将多个文件合并为一个文件进行传输,减少网络连接的次数,避免网络传输的开销。压缩文件的体积更小,可以减少网络带宽的消…

Swagger使用和注释介绍

一:介绍 1、什么是Swagger Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码&#xff…

karateclub,一个超酷的 Python 库!

更多资料获取 📚 个人网站:ipengtao.com 大家好,今天为大家分享一个超酷的 Python 库 - karateclub。 Github地址:https://github.com/benedekrozemberczki/karateclub Python karateclub是一个用于图嵌入和图聚类的库&#xff…

Springboot+mybatis升级版(Postman测试)

一、项目结构 1.导入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apach…

ollama 运行第三方模型

ollama 运行第三方模型 Ollama 默认直接支持很多模型,只需要简单的使用 ollama run命令,示例如下: ollama run gemma:2b就可安装、启动、使用对应模型,这个命令在模型不存在的时候会自动查找并且下载模型,然后运行模型,官方支持的模型我们可以通过https://ollama.com/l…

平面分割--------PCL

平面分割 bool PclTool::planeSegmentation(pcl::PointCloud<pcl::PointXYZ>::Ptr cloud, pcl::ModelCoefficients::Ptr coefficients, pcl::PointIndices::Ptr inliers) {std::cout << "Point cloud data: " << cloud->points.size() <<…