【Terraform学习】管理显式依赖关系-depends_on(Terraform配置语言学习)

背景:

关于如何在机器上拉terraform代码,初始化就不重复了,需要的可以查看前面的文章:

【Terraform学习】Terraform-AWS部署快速入门(快速入门)_向往风的男子的博客-CSDN博客

管理显式依赖关系

  • 隐式依赖关系是 Terraform 了解资源之间关系的主要方式

  • 但是,有时资源之间存在对Terraform不可见的依赖关系

  • depends_on该参数可以为资源创建显式依赖关系

  • 为了说明这一点,假设您在 EC2 实例上运行一个应用程序,该应用程序预期使用特定的 Amazon S3 存储桶

  • 依赖项是在应用程序内部配置的,因此对 Terraform 不可见

  • 您可以使用显式声明依赖项。您还可以在参数中指定多个资源,Terraform 将等到所有资源都已创建完毕后再创建目标资源

    • 提示:由于 Terraform 将等到创建指定资源后再创建依赖资源,因此添加显式依赖项可能会增加 Terraform 创建基础结构所需的时间

  • 将以下内容添加到main.tf

resource "aws_s3_bucket" "example" {acl    = "private"
}resource "aws_instance" "example_c" {ami           = data.aws_ami.amazon_linux.idinstance_type = "t2.micro"depends_on = [aws_s3_bucket.example]
}module "example_sqs_queue" {source  = "terraform-aws-modules/sqs/aws"version = "2.1.0"depends_on = [aws_s3_bucket.example, aws_instance.example_c]
}
  • 此配置包括对新模块的引用。必须先安装模块,然后 Terraform 才能使用它们

    • terraform get

  • 现在应用更改

    • terraform apply

  • 您将看到类似于以下内容的输出

aws_s3_bucket.example: Creating...
aws_s3_bucket.example: Still creating... [10s elapsed]
## ...
aws_s3_bucket.example: Creation complete after 1m0s [id=terraform-20200813175124184300000001]
aws_instance.example_c: Creating...
aws_instance.example_c: Still creating... [10s elapsed]
aws_instance.example_c: Still creating... [20s elapsed]
aws_instance.example_c: Still creating... [30s elapsed]
aws_instance.example_c: Still creating... [40s elapsed]
aws_instance.example_c: Creation complete after 44s [id=i-08a44071a2517179f]
module.example_sqs_queue.aws_sqs_queue.this[0]: Creating...
module.example_sqs_queue.aws_sqs_queue.this[0]: Creation complete after 6s [id=https://sqs.us-west-1.amazonaws.com/561656980159/terraform-20200813175223563000000002]
module.example_sqs_queue.data.aws_arn.this[0]: Reading...
module.example_sqs_queue.data.aws_arn.this[0]: Read complete after 0s [id=arn:aws:sqs:us-west-1:561656980159:terraform-20200813175223563000000002]Apply complete! Resources: 3 added, 0 changed, 0 destroyed.
  • 由于实例和 SQS 队列依赖于 S3 存储桶,因此 Terraform 会等到创建存储桶后开始创建其他两个资源

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

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

相关文章

【删除vlan的方法】

提示错误 [SW1]undo vlan 10 Error: The VLAN has a L3 interface. Please delete it first. 解决办法 undo interface Vlanif10 #删除vlan 10下的接口 [SW1-GigabitEthernet0/0/1]dis this #删除下列的IP

接口自动化必备技能——jmeter提取token方式以及设置成全局变量(跨线程组传token值)方式

前言 今天Darren洋教大家如何使用jmeter中的插件来进行token值的提取与调用,今天Darren洋介绍两种jmeter提取token值的方式,一种是在当前线程组中直接提取token值,一种是跨线程组的方式进行token值的提取并调用给不同线程组里的HTTP接口使用。…

如何读取文件夹内的诸多文件,并选择性的保留部分文件

目录 问题描述: 问题解决: 问题描述: 当前有一个二级文件夹,第一层是文件夹名称是“Papers(LNAI14302-14304)",第二级文件夹目录名称如下图蓝色部分所示。第三层为存放的文件,如下下图所示,每一个文件中,均存放三个文件,分别为copyright.pdf, submission.pdf, s…

【PYTHON】WebSocket服务端与客户端通信实现

目录 1 简介 2 WebSocket优点 3 前后端交互的方式 4 心跳机制和重连机制 5 后端代码 6 测试

重磅发布!曙光存储“3+N”,绿色存力新选择

8月9-10日,2023年数据中心市场年会在京举办。会上,中科曙光存储产品事业部总监石静发表《绿色存力 打通绿色数据中心最后一站》主题演讲。“在今天,数据中心正在成为‘高能耗’产业,绿色节能从可选项走向必选项。曙光存储跨越绿色…

管理 IBM Spectrum LSF

管理 IBM Spectrum LSF 了解如何管理 IBM Spectrum LSF 集群,控制守护程序,更改集群配置以及使用主机和队列。 管理 LSF 作业和作业调度策略。 查看作业信息和控制作业。 了解如何配置资源并将其分配给 LSF 作业。 了解如何在 LSF 集群中提交&#xff0…

开发测试框架一 - 创建springboot工程及基础操作

一、创建及运行方式 1. 从官网导入: 注意:由于我的java版本是1.8;所以选中了spring2.7.14;如果你的java版本是9及以上,选中spring3相关的同时Java 版本也要对应起来 2. 创建第一个get请求 创建Controller package及…

mysql滑动窗口案例

获取学科最高分 SELECT DISTINCT name,subject,MAX(score) OVER (PARTITION by subject) as 此学科最高分数 from scores;获取学科的报名人数 select DISTINCT subject,count(name) over (partition by subject) as 报名此学科的人数 from scores; 求学科总分 SELECT DISTI…

JavaScript高级:常见设计模式

设计模式是在软件开发中重复出现的问题的解决方案,它们是经过验证的、被广泛接受的最佳实践。设计模式可以让我们避免重复造轮子,提高代码质量和可维护性。在本文中,我们将介绍几种常见的设计模式,以及它们的实现和应用。 1. 单例…

Conda(Python管理工具)

1.简介 Conda是一个开源的包管理器和环境管理器,主要用于管理Python,但也可以用于其他语言。它主要用于安装、管理和更新软件包及其依赖项,以及创建、保存、加载和切换不同的开发环境。Conda可以在Windows、MacOS和Linux系统上使用&#xff…

Spring Boot + Vue3前后端分离实战wiki知识库系统十二--用户管理单点登录开发一...

目标: 在上一次https://www.cnblogs.com/webor2006/p/17533745.html我们已经完成了文档管理的功能模块开发,接下来则开启新模块的学习---用户登录,这块还是有不少知识点值得学习的,先来看一下整体的效果,关于效果官网有…

2023全国大学生数学建模竞赛C提思路模型代码

目录 1.C题思路模型:比赛开始后,第一时间更新,获取见文末名片 2.比赛时间:2023年9月7日18点到2023年9月10日20点 3 全国大学生数学建模竞赛常见数模问题 3.1 分类问题 3.2 优化问题 详细思路见此名片,开赛第一时间…

YOLOv8目标检测算法

YOLOv8目标检测算法相较于前几代YOLO系列算法具有如下的几点优势: 更友好的安装/运行方式速度更快、准确率更高新的backbone,将YOLOv5中的C3更换为C2FYOLO系列第一次尝试使用anchor-free新的损失函数 YOLOv8简介 YOLOv8 是 Ultralytics 公司继 YOLOv5…

FiboSearch Pro – Ajax Search for WooCommerce 商城AJAX实时搜索插件

FiboSearch Pro是最受欢迎的WooCommerce 产品搜索插件。它为您的用户提供精心设计的高级 AJAX 搜索栏,并提供实时搜索建议。默认情况下,WooCommerce 提供非常简单的搜索解决方案,没有实时产品搜索,甚至没有 SKU 搜索。FiboSearch&…

网络基础(一)桥接网络

网络基础知识 桥接网络 桥接网络是一种网络设计技术,其目的是将两个或多个网络段连接在一起,使它们在逻辑上表现为单个网络。这通过使用网络桥来实现,网络桥工作在数据链路层(第2层),只关心MAC地址&#…

uniapp开发微信小程序底部地区选择弹框

个人项目地址: SubTopH前端开发个人站 (自己开发的前端功能和UI组件,一些有趣的小功能,感兴趣的伙伴可以访问,欢迎提出更好的想法,私信沟通,网站属于静态页面) SubTopH前端开发个人站…

React Native 图片组件基础知识

在 React Native 中使用图片其实跟 HTML 中使用图片一样简单,在 React Native 中我们使用Image组件来呈现图片的内容,其中主要的属性有:source。这个属性主要是设置图片的内容,它可以是网络图像地址、静态资源、临时本地图像以及本…

Android侧滑栏(一)可缩放可一起移动的侧滑栏

在实际的各类App开发中,经常会需要做一个左侧的侧滑栏,类似于QQ这种。 今天这篇文章总结下自己在开发中遇到的这类可以跟随移动且可以缩放的侧滑栏。 一、实现原理 使用 HorizontalScrollView 实现一个水平方向的可滑动的View,左布局为侧滑…

MySQL-MGR报错MY-011526

问题背景: 单主MGR集群,主节点在服务器意外重启之后,无法重新加入现有MGR集群,报错误[MY-011526] [Repl] Plugin group_replication reported: This member has more executed transactions than those present in the group. Local transact…

2023年度漏洞预警

1 漏洞 漏洞是硬件,软件,协议的具体实现或系统安全策略上存在的缺陷。从而可以使用攻击者能够在破坏系统。 2 漏洞汇总数据 以下数据针对 23 年截至8月期间爆发的高危严重漏洞进行了数据统计和分析, 具体的数据如下所示: 漏洞…