当使用Terraform创建SSL证书时,它会自动假设它应该发送到的电子邮件是postmaster@subdomain.domain.com而不是postmaster@domain.com。在AWS证书管理器中,如果我重新请求电子邮件验证,它会修复它,但我需要能够通过Terraform严格执行此操作。
我在Terraform上的任何github问题中都找不到任何看起来可以解决这个问题的东西。
resource "aws_acm_certificate" "aws_cert" {
domain_name = "${var.domain_name}"
validation_method = "${var.validation_method}"
subject_alternative_names = ["${var.subject_alternative_names}"]
tags = {
Name = "${var.environment}-${var.app_name}-aws-certificate"
ManagedBy = "My Terraform"
Environment = "${var.environment}"
Team = "vin-${var.team_name}"
}
lifecycle {
create_before_destroy = true
}
}
发布于 2019-05-21 05:18:54
这是目前Terraform的一个限制。以下是修复该问题的拉取请求,但尚未获得批准:https://github.com/terraform-providers/terraform-provider-aws/pull/3853
一种解决方法是在运行Terraform以从输出变量获取证书arn后进行检查,使用AWS CLI运行Powershell命令以查看证书是否已颁发,如果尚未颁发,则通过AWS CLI重新发送
// Get AWS Cert Status Here
$awsCertStatus = (aws acm describe-certificate --certificate-arn arn:aws:acm:us-east-1:881385135648:certificate/52e2b724-0400-4b3f-9032-0d80f9c3e9ea | ConvertFrom-Json).Certificate.Status
// Check if Cert Status is of Issued
if($awsCertStatus -ne "ISSUED"){
// It hasn't been issued, resend the validation email
aws acm resend-validation-email --certificate-arn <ARN> --domain subdomain.domain.com --validation-domain domain.com
}
https://stackoverflow.com/questions/56227983
复制相似问题