封装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 感谢!

手把手搭建CI/CD(一)

gitlab + tekton + argoCD

阅读全文

自动分析国家关于每年的法定节假日安排公告,生成查询接口自动判断作息日

背景 工作中经常遇到需要根据作息去做排班系统、跑定时报表任务、统一告警通道、巡检等等场景,之前是比较粗暴的区分周一~周五、周六和周日这样,遇到法定节...

阅读全文

Golang text/template 渲染terraform文件

定义模板 这里定义的是阿里云的ECS,考虑通用性,未使用扩展模块,而是使用了循环生成的方式提高灵活性,所以传入的是一个列表 range . 对于当前这个模板来说...

阅读全文

欢迎留言