Dav*_*llo 6 amazon-web-services terraform
在阅读Terraform上的文档时,它说有3种方法可以找到AWS信用:
我想让我的设置只使用凭据文件.我已检查环境变量是否已清除,并且我已将Terraform中的相关变量留空.
当我这样做并运行'Terraform Plan'时,我得到错误:
没有为AWS Provider找到有效的凭据源.
我甚至尝试将我的凭证文件的位置添加到我的提供程序块中,这也没有帮助:
provider "aws" {
region = "${var.region}"
profile = "${var.profile}"
shared_credentials_file = "/Users/david/.aws/credentials"
profile = "testing"
}
Run Code Online (Sandbox Code Playgroud)
是否有一些东西我想让Terraform读取这个文件并且不需要环境变量?
我测试过Terraform v0.6.15
,它工作正常。
问题必须与profile
. 检查以下内容。
1.profile
从您的提供商中删除 2 个标签。
provider "aws" {
region = "${var.region}"
shared_credentials_file = "/Users/david/.aws/credentials"
profile = "testing"
}
Run Code Online (Sandbox Code Playgroud)
2.确保您的凭证文件/Users/david/.aws/credentials
是在下面的格式,其中testing
是profile
您指定的provider "aws"
[testing]
aws_access_key_id = *****
aws_secret_access_key = *****
Run Code Online (Sandbox Code Playgroud)
要让多个配置文件与 Terraform 一起使用,请确保您提供
aws_access_key_id
Run Code Online (Sandbox Code Playgroud)
加入您的个人资料声明。每个配置文件应如下所示:
[profile_name]
aws_access_key=*****
aws_secret_access_key****
aws_access_key_id=*****
Run Code Online (Sandbox Code Playgroud)
从技术上讲,您甚至不需要 aws_access_key,因为 id 版本似乎是底层 aws cli 需要的。也许是我的问题,但我读到的文件中从来没有明确这一点。
归档时间: |
|
查看次数: |
5027 次 |
最近记录: |