【问题标题】:terraform S3 module, can't call the KMS key arn calling moduleterraform S3 模块,无法调用 KMS 密钥 arn 调用模块
【发布时间】:2021-02-09 23:37:34
【问题描述】:

我的 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"
      }
    }
  }
}

module 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”的参数。

我不知道发生了什么。

你能帮帮我吗?

问候。

【问题讨论】:

    标签: python-3.x amazon-web-services amazon-s3 terraform aws-kms


    【解决方案1】:

    没有名为kms_master_key_id 的变量。这是您尝试在模块内设置的属性,但模块的变量名为 kms_key_arn

    应该是这样的:

    kms_key_arn = var.kms_key_arn
    

    【讨论】:

      猜你喜欢
      • 2021-07-09
      • 2018-03-19
      • 2019-03-08
      • 1970-01-01
      • 2021-10-07
      • 2017-12-02
      • 2019-06-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多