HTTPS in 4 Lines of HCL — Terraform Template That Replaced My Console Click-Ops
> Week-3 of my 8-week IaC sprint: I turned HTTPS setup from 47 mouse clicks into 4 lines of HCL – and never looked back.
📸 Before (Console Click-Ops)
- 47 clicks: ACM certificate request → Route 53 alias → CloudFront distro → 3 AM coffee spill.
- Result: HTTPS works, but no Git history, no rollback, no sleep.
📸 After (4 Lines of HCL)
hcl
resource "aws_acm_certificate" "cert" {
domain_name = var.domain
validation_method = "DNS"
lifecycle {
create_before_destroy = true
}
}
resource "aws_route53_record" "cert_validation" {
for_each = aws_acm_certificate.cert.domain_validation_options
name = each.value.resource_record_name
type = each.value.resource_record_type
records = [each.value.resource_record_value]
ttl = 60
}
resource "aws_acm_certificate_validation" "cert" {
certificate_arn = aws_acm_certificate.cert.arn
validation_record_fqdns = [for record in aws_route53_record.cert_validation : record.fqdn]
}
resource "aws_cloudfront_distribution" "cdn" {
# … (truncated for brevity – full repo below)
}
[](https://dev.to/mthulisi28/https-in-4-lines-of-hcl-terraform-template-that-replaced-my-console-click-ops)
**Key Takeaway**
If you’re still clicking through ACM + Route 53, you’re doing it wrong.
Template it once, sleep forever.
🔗 Repo & Badge
Full template: Week-3 HTTPS-by-Code
Badge: Week-3 HTTPS-by-Code PNG (drop into repo README).
Top comments (0)