Terraform从S3获取证书数据

时间:2019-07-24 13:18:02

标签: amazon-web-services terraform terraform-provider-aws

我试图创建一个“ aws_iam_server_certificate”,但是,与其将文件与代码一起存储并使用“ $ {file(path)}”传递,该文件将驻留在S3中。

我有以下建议,不确定是否正确:

switch (obj)
{
    case SpecificClass1 sc1:
        sc1.SomeMethod1();
        break;
    case SpecificClass2 sc1:
        sc2.SomeMethod2();
        break;
    case SpecificClass3 sc1:
        sc3.SomeMethod3();
        break;
    default:
        throw new Exception();
}

我想让他们通过下面的“ aws_iam_server_certificate”创建:

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

以上工作,有更好的方法吗?

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

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

致谢。

1 个答案:

答案 0 :(得分:0)

正如@ydaetskcoR所指出的,我已在S3的Properties-> Metadata下将文件的“ Content-Type”(以前是“ binary / octet-stream”)更改为“ text-plain”,并且可以成功运行,将PEM文件的内容类型更改为text / plain是否是一个好习惯,直到有人大喊大叫我才完全确定!