https://github.com/zoro16/terraform-hcloud-certificate
Terraform module to create/upload Certificate resources in/to Hetzner Cloud.
https://github.com/zoro16/terraform-hcloud-certificate
hetzner hetzner-certificate hetzner-cloud terraform-hcloud-certificate terraform-module
Last synced: 11 months ago
JSON representation
Terraform module to create/upload Certificate resources in/to Hetzner Cloud.
- Host: GitHub
- URL: https://github.com/zoro16/terraform-hcloud-certificate
- Owner: zoro16
- License: mit
- Created: 2023-09-23T18:29:13.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-09-25T11:46:47.000Z (over 2 years ago)
- Last Synced: 2025-03-22T06:17:11.161Z (about 1 year ago)
- Topics: hetzner, hetzner-certificate, hetzner-cloud, terraform-hcloud-certificate, terraform-module
- Language: HCL
- Homepage: https://registry.terraform.io/modules/zoro16/certificate/hcloud/latest
- Size: 12.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
## Description
Terraform module to create/upload `Certificate` resources in/to Hetzner Cloud.
## Usage
```hcl
# Configure the Hetzner Cloud Provider
provider "hcloud" {
token = var.hcloud_token
}
module "managed_cert" {
source = "../../"
create_managed_certificate = true
managed_certificate_name = "testing-cert"
managed_certificate_domain_names = ["example.xyz", "*.example.xyz"]
managed_certificate_labels = {
environment = "dev"
product = "major-certs"
}
}
```
## Requirements
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.2.0 |
| [hcloud](#requirement\_hcloud) | >= 1.42.1 |
## Providers
| Name | Version |
|------|---------|
| [hcloud](#provider\_hcloud) | >= 1.42.1 |
## Modules
No modules.
## Resources
| Name | Type |
|------|------|
| [hcloud_managed_certificate.managed_cert](https://registry.terraform.io/providers/hetznercloud/hcloud/latest/docs/resources/managed_certificate) | resource |
| [hcloud_uploaded_certificate.cert](https://registry.terraform.io/providers/hetznercloud/hcloud/latest/docs/resources/uploaded_certificate) | resource |
## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [create\_managed\_certificate](#input\_create\_managed\_certificate) | A boolean to check whether to create a Managed Certificate or not. | `bool` | `false` | no |
| [create\_uploaded\_certificate](#input\_create\_uploaded\_certificate) | A boolean to check whether to create a Uploaded Certificate or not. | `bool` | `false` | no |
| [managed\_certificate\_domain\_names](#input\_managed\_certificate\_domain\_names) | Domain names for which a certificate should be obtained. | `list(string)` | `[]` | no |
| [managed\_certificate\_labels](#input\_managed\_certificate\_labels) | User-defined labels (key-value pairs) the certificate should be created with. | `map(any)` | `{}` | no |
| [managed\_certificate\_name](#input\_managed\_certificate\_name) | Name of the Certificate. | `string` | `null` | no |
| [uploaded\_certificate\_certificate](#input\_uploaded\_certificate\_certificate) | PEM encoded TLS certificate. | `string` | `null` | no |
| [uploaded\_certificate\_labels](#input\_uploaded\_certificate\_labels) | PEM encoded TLS certificate. | `map(any)` | `{}` | no |
| [uploaded\_certificate\_name](#input\_uploaded\_certificate\_name) | Name of the Certificate to be Uploaded. | `string` | `null` | no |
| [uploaded\_certificate\_private\_key](#input\_uploaded\_certificate\_private\_key) | PEM encoded private key belonging to the certificate. | `string` | `null` | no |
## Outputs
| Name | Description |
|------|-------------|
| [managed\_certificate\_certificate](#output\_managed\_certificate\_certificate) | PEM encoded TLS certificate. |
| [managed\_certificate\_created](#output\_managed\_certificate\_created) | Point in time when the Certificate was created at Hetzner Cloud (in ISO-8601 format). |
| [managed\_certificate\_domain\_names](#output\_managed\_certificate\_domain\_names) | Domain names for which a certificate should be obtained. |
| [managed\_certificate\_fingerprint](#output\_managed\_certificate\_fingerprint) | Fingerprint of the certificate. |
| [managed\_certificate\_id](#output\_managed\_certificate\_id) | Name of the Certificate. |
| [managed\_certificate\_labels](#output\_managed\_certificate\_labels) | User-defined labels (key-value pairs) the certificate should be created with. |
| [managed\_certificate\_name](#output\_managed\_certificate\_name) | Name of the Certificate. |
| [managed\_certificate\_not\_valid\_after](#output\_managed\_certificate\_not\_valid\_after) | Point in time when the Certificate stops being valid (in ISO-8601 format). |
| [managed\_certificate\_not\_valid\_before](#output\_managed\_certificate\_not\_valid\_before) | Point in time when the Certificate becomes valid (in ISO-8601 format). |
| [uploaded\_certificate\_certificate](#output\_uploaded\_certificate\_certificate) | PEM encoded TLS certificate. |
| [uploaded\_certificate\_created](#output\_uploaded\_certificate\_created) | Point in time when the Certificate was created at Hetzner Cloud (in ISO-8601 format). |
| [uploaded\_certificate\_domain\_names](#output\_uploaded\_certificate\_domain\_names) | Domains and subdomains covered by the certificate. |
| [uploaded\_certificate\_fingerprint](#output\_uploaded\_certificate\_fingerprint) | Fingerprint of the certificate. |
| [uploaded\_certificate\_id](#output\_uploaded\_certificate\_id) | Unique ID of the certificate. |
| [uploaded\_certificate\_labels](#output\_uploaded\_certificate\_labels) | User-defined labels (key-value pairs) assigned to the certificate. |
| [uploaded\_certificate\_name](#output\_uploaded\_certificate\_name) | Name of the Certificate. |
| [uploaded\_certificate\_not\_valid\_after](#output\_uploaded\_certificate\_not\_valid\_after) | Point in time when the Certificate stops being valid (in ISO-8601 format). |
| [uploaded\_certificate\_not\_valid\_before](#output\_uploaded\_certificate\_not\_valid\_before) | Point in time when the Certificate becomes valid (in ISO-8601 format). |