Terraform 从 s3 获取证书数据



我正在尝试创建一个"aws_iam_server_certificate",但是,而不是将文件与代码一起存储并使用"${file(path(}"传递,该文件将驻留在S3中。

我有以下内容,不确定方法是否正确:

data "aws_s3_bucket_object" "mycert"{
    bucket = "thisbucket"
    key = "mycoolcertins3.pem"
}

我想让他们传递给我在下面的"aws_iam_server_certificate"创作:

resource "aws_iam_server_certificate" "testcert"{
    name_prefix = "some-cert"
    certificate_body = "${data.aws_s3_bucket_object.mycert.body}"
    .
    .
    .
}

上述方法是否有效,有更好的方法吗?

按照上面的方法,我得到:

Error: Error applying plan:
1 error(s) occurred:
* module.vault-ui-lb.aws_iam_server_certificate.testcert: 1 error(s) occurred:
* aws_iam_server_certificate.testcert: Error uploading server certificate, error: MalformedCertificate: Unable to parse certificate. Please ensure the certificate is in PEM format.

问候。

正如@ydaetskcoR所指出的,我已经在 S3 中的属性>元数据下将文件的"内容类型"(以前称为"二进制/八位字节流"(更改为"文本纯文本"并成功运行,将 PEM 文件的内容类型更改为文本/纯文本是否是一种好的做法,直到有人大喊大叫,我才完全确定!

最新更新