封装NewTerraform方法

将Terraform的环境相关信息都在这个方法内定义完成
1. Terraform工作目录定义
2. Plugins初始化,考虑到在线初始化太慢,这里是提前下载好,每次要用时copy一份过去
3. 全局使用的环境定义(Variables.tf),由于我这里是将阿里云的AK通过-ver参数传入,所以需要定义,如果喜欢明文写到tf文件中的,可以不做这一步
4. 变量参数处理,存入到结构体中,plan和apply时会用到
5. 实例化一个terraform对象(tfexec.NewTerraform)

封装init方法

封装plan方法

封装apply方法

通过执行后的.Show方法可以获取执行结果,结果同terraform.tfstate中的内容,可以通过
actual.Values.RootModule.Resources获取



如果想赏钱,可以用微信扫描下面的二维码,一来能刺激我写博客的欲望,二来好维护云主机的费用; 另外再次标注博客原地址 itnotebooks.com 感谢!

基于 OpenCLAW + 飞书构建企业级运维智能助手实践

一、引言 在云原生与分布式架构普及的今天,传统运维模式面临着告警分散、操作繁琐、响应滞后、风险不可控等挑战。本文介绍如何基于 OpenCLAW 大模型网关...

阅读全文

CI/CD(七)镜像全球分发

环境 代码托管:gitlab CI:tekton pipline/task: 阿里云 serverless容器(spot实例且按秒计费) 任务管理:redis 镜像分发工具:crane 效果 核心实现 就近...

阅读全文

基于Informer事件实现多阶梯放量(应用预热)

背景 流量控制是保证服务稳定性的重要手段之一。大数据应用服务因为有缓存构建的过程,需要在启动后通过小流量出发缓存构建再才接收全量流量,若未构建缓存会...

阅读全文

欢迎留言