amazon-web-services - 如何使 terraform 的版本与亚特兰蒂斯不可变?
问题描述
我使用亚特兰蒂斯来运行 Terraform 的任务。
在 terraform 文件中,我将 AWS 提供商设置为此版本:
terraform {
required_version = "0.13.5"
required_providers {
aws = "3.13.0"
}
}
这是多个任务之一。其他任务如
terraform {
required_version = "0.14.9"
required_providers {
aws = "3.35.0"
}
}
亚特兰蒂斯的工作流程设置为
dir: myproj/dev workspace: default
几天后,亚特兰蒂斯服务器检查新任务是否导致运行时出现版本问题terraform init
:
Initializing provider plugins...
- Finding hashicorp/aws versions matching "3.13.0, >= 2.68.*, >= 2.42.*, >= 3.28.*, >= 2.68.*, >= 2.49.*, >= 2.49.*"...
- Finding hashicorp/random versions matching "3.1.0, >= 3.1.*, >= 2.2.*"...
- Using hashicorp/random v3.1.0 from the shared cache directory
Error: Failed to query available provider packages
Could not retrieve the list of available versions for provider hashicorp/aws:
no available releases match the given constraints 3.13.0, >= 2.68.*, >= 2.42.*, >= 3.28.*, >= 2.68.*, >= 2.49.*, >= 2.49.*
aws
我应该总是手动更新模块的新版本吗?如果不升级3.13.0
到最新版本有什么办法吗?
解决方案
您应该在 atlantis.yaml 中配置 terraform 版本
示例:
version: 3
projects:
- name: my-project-1
dir: ./my-project-1
terraform_version: "0.13.5"
- name: my-project-2
dir: ./my-project-2
terraform_version: "0.14.9"
推荐阅读
- python - 从同一组的其他记录中的值替换熊猫数据框中的 NAN 值
- ios - 如何使用 Swift 创建 UIButton Pulse 动画?
- c# - 如何将 JSON 输出转换为 c# 对象并将它们存储到数组中
- php - PHP:从 C# Web API 获取字节数组
- c# - 如何为自定义配置元素配置 web.config 转换
- php - 递归地从嵌套数组中删除元素(array_filter_recursive)
- spring-boot - 无法运行 Springboot 应用程序
- laravel - 如何更改开发环境共享托管 laravel 中的符号链接?
- apache-kafka-streams - 使用 KafkaStream 处理器 API 时将输出打印到控制台
- r - 如何使用连续(顺序)索引替换数据框中的特定单元格值?