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

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.

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). |