【发布时间】:2020-08-14 04:27:50
【问题描述】:
“当我使用 terraform 将 vpc 流日志模块创建到 s3 存储桶时,它会抛出错误,例如: 这里不需要名为“flow_log_destination_type”的参数。 这里不需要名为“flow_log_destination_arn”的参数。 在 Terraform 文档中,我可以看到要填写的详细信息,例如 log_destination_type 和 log_destination_arn, 我在 GitHub 上找到了一些文档,它们的代码完全相同,但在尝试时它对我不起作用
产生以下错误:
Error: Unsupported argument
on main.tf line 52, in module "vpc_with_flow_logs_s3_bucket":
52: flow_log_destination_type = "s3"
An argument named "flow_log_destination_type" is not expected here.
Error: Unsupported argument
on main.tf line 53, in module "vpc_with_flow_logs_s3_bucket":
53: flow_log_destination_arn = "${aws_s3_bucket.terra-test2-lifecycle.arn}"
An argument named "flow_log_destination_arn" is not expected here.
Error: Unsupported argument
on main.tf line 55, in module "vpc_with_flow_logs_s3_bucket":
55: vpc_flow_log_tags = {
An argument named "vpc_flow_log_tags" is not expected here.
我哪里做错了?”
module "vpc" {
source = "terraform-aws-modules/vpc/aws"
version = "2.33.0"
# Interpolated from the workspace
name = "${terraform.workspace}"
cidr = var.vpc_cidr
azs = var.vpc_azs
private_subnets = var.vpc_private_subnets
public_subnets = var.vpc_public_subnets
enable_nat_gateway = var.vpc_enable_nat_gw
single_nat_gateway = var.vpc_single_nat_gw
public_subnet_tags = {
Name = "${terraform.workspace}-public"
}
private_subnet_tags = {
Name = "${terraform.workspace}-private"
}
tags = {
Name = "${terraform.workspace}"
}
vpc_tags = {
owner = "PEDevOps"
environment = "${terraform.workspace}"
version = "0.0.1"
managedby = "Terraform"
}
}
module "vpc_with_flow_logs_s3_bucket" {
source = "../../"
log_destination_type = "s3"
log_destination_arn = "${aws_s3_bucket.terra-test2-lifecycle.arn}"
vpc_flow_log_tags = {
Name = "vpc-flow-logs-s3-bucket"
}
}
resource "aws_s3_bucket" "terra-test-lifecycle" {
bucket = "terra-test-lifecycle"
acl = "private"
lifecycle_rule {
id = "log"
enabled = true
prefix = "log/"
tags = {
"rule" = "log"
"autoclean" = "true"
}
transition {
days = 30
storage_class = "STANDARD_IA" # or "ONEZONE_IA"
}
expiration {
days = 60
}
}
lifecycle_rule {
id = "tmp"
prefix = "tmp/"
enabled = true
expiration {
date = "2020-06-06"
}
}
}
为什么 terraform 会失败并显示“此处不需要名为“flow_log_destination_type”的参数”?
【问题讨论】:
-
您能否编辑您的问题以包含您尝试此操作时 Terraform 产生的完整错误输出?这可能有助于缩小问题与此配置的哪一部分有关。
-
检查你是否在你的模块中定义了一个名为
flow_log_destination_type的变量。 -
@MartinAtkins 我添加了抛出的错误,请您看看并告诉我解决方案
标签: amazon-web-services terraform