python-3.x - terraform S3 模块,无法调用 KMS 密钥 arn 调用模块
问题描述
我的 S3 模块有问题,当我在模块级别的变量中放置默认 KMS arn 时,它可以工作。
|- main.tf
|- variable.tf
|- /S3
- main.tf
- variable.tf
模块 s3 main.tf:
resource "aws_s3_bucket" "default" {
bucket = var.name
tags = var.tags
acl = "private"
server_side_encryption_configuration {
rule {
apply_server_side_encryption_by_default {
enabled = true
kms_master_key_id = var.kms_key_arn
sse_algorithm = "aws:kms"
}
}
}
}
模块 s3 variable.tf (当我用 ARN 键替换 kms_key_arn 的空值字段时,它可以工作)
variable "tags" {
type = map
description = "Specifies the S3 tags here."
}
variable "name" {
type = string
description = "Specifies the S3 path were spark stores it jobs log."
}
variable "kms_key_arn" {
type = string
description = "Specifies the kms key used for this project."
default = null
}
根 main.tf:
module "s3_python_scripts" {
source = "./s3"
name = "s3://my_S3_path/"
tags = var.tags
kms_master_key_id = var.kms_key_arn
}
根变量.tf:
...
variable "kms_key_arn" {
type = string
description = "Specifies the kms key used for this project."
default = "arn:aws:kms:xxxxxxxxxxxxxxx:xxxxxxxxxxxxxxx:key/xxxxxxxxxxxxxxx"
}
我收到以下错误:
错误:maint.tf 第 24 行不支持的参数,在模块“s3_python_scripts”中:24:kms_master_key_id = var.kms_key_arn 这里不需要名为“kms_master_key_id”的参数。
我不知道发生了什么事。
请你帮助我好吗 ?
问候。
解决方案
没有名为 的变量kms_master_key_id
。这是您试图在模块内设置的属性,但模块的变量名为kms_key_arn
.
它应该是以下内容:
kms_key_arn = var.kms_key_arn
推荐阅读
- c# - c# Error With code Generator For 'MVC Controller with Views' using 'Add New Scaffolded Item'
- javascript - 仅对同一页面上的两个单独函数进行一次 API 调用并从 sessionStorage 中提取
- web - 网页插页式广告每次都没有加载
- ruby-on-rails - Rails:使用 UUID 或 Slug 的资源丰富的路由
- php - 由于 enableKeepAlive,Racthet PHP 关闭所有连接
- symfony - 包含的模板 Twig 中的链接在它们出现的模板上不起作用
- visual-studio - 在 Visual Studio IDE 中映射操纵杆按钮
- r - 如何在 R Shiny 应用程序中为多个时间序列中的“所有类别”包含一个选项?
- python - 使用 open-cv 在 python 中从客户端操作视频数据
- regex - 为什么字符串转换会减慢我的代码速度?