Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/miquido/terraform-acm-request-certificate


https://github.com/miquido/terraform-acm-request-certificate

Last synced: 5 days ago
JSON representation

Awesome Lists containing this project

README

        

[![Miquido][logo]](https://www.miquido.com/)

# terraform-acm-request-certificate
Terraform module to request an ACM certificate for a domain and add a CNAME record to the DNS zone to complete certificate validation
---
**Terraform Module**
## Usage

This example will request an SSL certificate for `example.com` domain

```hcl
module "acm_request_certificate" {
source = "git::ssh://[email protected]/miquido/terraform-acm-request-certificate.git?ref=master"

providers = {
aws.acm = aws
aws.dns = aws
}

domain_name = "example.com"
process_domain_validation_options = true
ttl = "300"
hosted_zone_id = "xxxxx"
}
```

This example will request an SSL certificate for `example.com` domain and all its subdomains `*.example.com`

```hcl
module "acm_request_certificate" {
source = "git::ssh://[email protected]/miquido/terraform-acm-request-certificate.git?ref=master"

providers = {
aws.acm = aws
aws.dns = aws
}

domain_name = "example.com"
process_domain_validation_options = true
ttl = "300"
subject_alternative_names = ["*.example.com"]
hosted_zone_id = "xxxxx"
}
```

## Makefile Targets
```text
Available targets:

help Help screen
help/all Display help for all targets
help/short This help short screen
lint Lint Terraform code

```

## Requirements

| Name | Version |
|------|---------|
| terraform | >= 0.13 |
| aws | >= 2.0 |
| local | >= 1.2 |
| null | >= 2.0 |

## Providers

| Name | Version |
|------|---------|
| aws.acm | >= 2.0 |
| aws.dns | >= 2.0 |

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| domain\_name | A domain name for which the certificate should be issued | `string` | n/a | yes |
| hosted\_zone\_id | The ID of the hosted zone to contain validation records. | `string` | `""` | no |
| process\_domain\_validation\_options | Flag to enable/disable processing of the record to add to the DNS zone to complete certificate validation | `bool` | `true` | no |
| subject\_alternative\_names | A list of domains that should be SANs in the issued certificate | `list(string)` | `[]` | no |
| tags | Additional tags (e.g. map('BusinessUnit`,`XYZ`)` | `map(string)` | `{}` | no |
| ttl | The TTL of the record to add to the DNS zone to complete certificate validation | `string` | `"300"` | no |
| validation\_method | Method to use for validation, DNS or EMAIL | `string` | `"DNS"` | no |
| wait\_for\_certificate\_issued | Whether to wait for the certificate to be issued by ACM (the certificate status changed from `Pending Validation` to `Issued`) | `bool` | `false` | no |

## Outputs

| Name | Description |
|------|-------------|
| arn | The ARN of the certificate |
| domain\_validation\_options | CNAME records that are added to the DNS zone to complete certificate validation |
| id | The ID of the certificate |

## Developing

1. Make changes in terraform files

2. Regenerate documentation

```bash
bash <(git archive [email protected]:miquido/terraform/terraform-readme-update.git master update.sh | tar -xO)
```

3. Run lint

```
make lint
```

## Copyright

Copyright © 2017-2020 [Miquido](https://miquido.com)

### Contributors

| [![Konrad Obal][k911_avatar]][k911_homepage]
[Konrad Obal][k911_homepage] | [![Maksymilian Lewicki][maksymilian-lewicki_avatar]][maksymilian-lewicki_homepage]
[Maksymilian Lewicki][maksymilian-lewicki_homepage] |
|---|---|

[k911_homepage]: https://github.com/k911
[k911_avatar]: https://github.com/k911.png?size=150
[maksymilian-lewicki_homepage]: https://github.com/maksymilian-lewicki
[maksymilian-lewicki_avatar]: https://github.com/maksymilian-lewicki.png?size=150

[logo]: https://www.miquido.com/img/logos/logo__miquido.svg
[website]: https://www.miquido.com/
[gitlab]: https://gitlab.com/miquido
[github]: https://github.com/miquido
[bitbucket]: https://bitbucket.org/miquido