aws provider
- access_key-(可选)这是AWS访问密钥。必须提供它,但也可以从AWS_ACCESS_KEY_ID环境变量或共享的凭据文件(如果profile已指定)中获取它。
- secret_key-(可选)这是AWS密钥。必须提供它,但也可以从AWS_SECRET_ACCESS_KEY环境变量或共享的凭据文件(如果profile已指定)中获取它。
- region-(可选)这是AWS区域。必须提供它,但是也可以从AWS_DEFAULT_REGION环境变量或共享的凭据文件(如果profile已指定)中获取它。
- allowed_account_ids-(可选)允许的AWS账户ID列表,以防止您错误地使用不正确的ID(并可能破坏实际环境)。与冲突 forbidden_account_ids。
- forbidden_account_ids-(可选)禁止的AWS账户ID列表,以防止您错误地使用错误的
shared_credentials_file=(可选)这是共享凭据文件的路径。如果未设置并且指定了配置文件,~/.aws/credentials则将使用。 - profile -(可选)这是在共享凭证文件中设置的AWS配置文件名称。
- max_retries-(可选)在请求受到限制或出现短暂故障的情况下,这是重试API调用的最大次数。后续API调用之间的延迟成倍增加。如果省略,则默认值为25。
- assume_role配置块支持以下可选参数:
duration_seconds -(可选)限制承担角色会话持续时间的秒数。
external_id -(可选)在担任角色时要使用的外部标识符。
policy -(可选)IAM策略JSON,用于描述对IAM角色的进一步限制权限。
policy_arns -(可选)IAM策略的Amazon资源名称(ARN)集,用于描述对IAM角色的进一步限制权限。
role_arn -(可选)要承担的IAM角色的Amazon资源名称(ARN)。
session_name -(可选)担任角色时要使用的会话名称。
tags -(可选)假定角色会话标签的映射。
transitive_tag_keys -(可选)一组假定角色会话标记键,以传递给任何后续会话。
<=0.12
provider "aws" {
profile = var.profile
region = var.region
assume_role {role_arn = "role arn"}
access_key = ""
secret_key = ""
shared_credentials_file = "$HOME/.aws/credentials"
allowed_account_ids = [""]
forbidden_account_ids = ["8989"]
max_retries=20
version= "~> 2.0"
}
0.13
terraform {
required_version = ">= 0.12"
backend "s3" {}
required_providers {
source = "hashicorp/aws"
version = "~> 3.0"
profile = var.profile
region = var.region
assume_role {role_arn = "role arn"}
access_key = ""
secret_key = ""
shared_credentials_file = "$HOME/.aws/credentials"
allowed_account_ids = [""]
forbidden_account_ids = ["8989"]
max_retries =25
version = ""
}