Skip to content

Commit c3abea5

Browse files
authored
Feature (#4)
* Added Readme and gitignore. * Renames acm_domain_name to acm_certificate_name to reflect the actual function of the variable. * Updates the documentation. * Formats the file. * Corrected variable names to be used effectively.
1 parent 65671a1 commit c3abea5

File tree

3 files changed

+43
-12
lines changed

3 files changed

+43
-12
lines changed

.gitignore

+3-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
# TF Plans
1212
**/plans
1313

14-
# Mac specific
14+
# Certs
15+
*.pem
16+
1517
.idea
1618
.DS_Store

README.md

+38-9
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,44 @@
11
# ACM Certificate Creation
2-
This repo is used to create a certificate using DNS validation. It requires:
3-
- That there be a hosted zone which the IAM principal creating the resource has access to
2+
```
3+
This repo is used to create a certificate using Route53 DNS validation. It requires a hosted zone to which the IAM
4+
principal creating the resource has access.
5+
```
46

57
### Example Usage:
68
```
7-
module "resource_certificate" {
8-
source = "StratusGrid/acm-certificate-creation/aws"
9-
version = "1.0.0"
10-
# source = "github.com/StratusGrid/terraform-aws-acm-certificate-creation"
11-
acm_domain_name = "host.my.domain.com"
12-
hosted_zone_name = "my.domain.com"
13-
input_tags = merge(local.common_tags, {})
9+
# Variables definition
10+
11+
variable "acm_certificate_name" {
12+
description = "Certificate name prefix which will be trailed by the hosted-zone name"
13+
type = list(string)
14+
}
15+
16+
variable "hosted_zone_name" {
17+
description = "Route53 hosted zone name"
18+
type = string
19+
}
20+
21+
acm_certificate_name = ["engineering", "sales"]
22+
hosted_zone_name = "example.com"
23+
```
24+
```
25+
data "aws_route53_zone" "hosted_zone_id" {
26+
name = var.hosted_zone_name
27+
private_zone = false
1428
}
1529
```
30+
```
31+
# Module call
32+
33+
module "new_record_and_certificate" {
34+
source = "github.com/StratusGrid/terraform-aws-acm-certificate-creation"
35+
36+
for_each = toset(var.acm_certificate_name)
37+
acm_domain_name = "${each.key}.${var.hosted_zone_name}"
38+
zone_id = data.aws_route53_zone.hosted_zone_id.zone_id
39+
40+
input_tags = {
41+
"Name" = "${each.key}.${var.hosted_zone_name}"
42+
}
43+
}
44+
```

main.tf

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ resource "aws_acm_certificate" "acm_module_certificate" {
1010
}
1111
}
1212

13-
# Route53 record creation
13+
# Route53 domain record validation
1414
resource "aws_route53_record" "domain_validation_record" {
1515
for_each = {
1616
for dvo in aws_acm_certificate.acm_module_certificate.domain_validation_options : dvo.domain_name => {
@@ -32,4 +32,4 @@ resource "aws_route53_record" "domain_validation_record" {
3232
resource "aws_acm_certificate_validation" "acm_module_cert_validation" {
3333
certificate_arn = aws_acm_certificate.acm_module_certificate.arn
3434
validation_record_fqdns = [for record in aws_route53_record.domain_validation_record : record.fqdn]
35-
}
35+
}

0 commit comments

Comments
 (0)