我正在尝试创建一个"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 文件的内容类型更改为文本/纯文本是否是一种好的做法,直到有人大喊大叫,我才完全确定!