feat(cdn): add custom certificate support (#983)

relates to STACKITCDN-1000
This commit is contained in:
Politano 2025-09-18 19:27:22 +02:00 committed by GitHub
parent 813b8c0e81
commit df0f152158
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 834 additions and 71 deletions

View file

@ -32,8 +32,19 @@ data "stackit_cdn_custom_domain" "example" {
- `name` (String)
- `project_id` (String) STACKIT project ID associated with the distribution
### Optional
- `certificate` (Attributes) The TLS certificate for the custom domain. If omitted, a managed certificate will be used. If the block is specified, a custom certificate is used. (see [below for nested schema](#nestedatt--certificate))
### Read-Only
- `errors` (List of String) List of distribution errors
- `id` (String) Terraform's internal resource identifier. It is structured as "`project_id`,`distribution_id`".
- `status` (String) Status of the distribution
<a id="nestedatt--certificate"></a>
### Nested Schema for `certificate`
Read-Only:
- `version` (Number) A version identifier for the certificate. Required for custom certificates. The certificate will be updated if this field is changed.

View file

@ -20,6 +20,10 @@ resource "stackit_cdn_custom_domain" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
distribution_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "https://xxx.xxx"
certificate = {
certificate = "-----BEGIN CERTIFICATE-----\nY2VydGlmaWNhdGVfZGF0YQ==\n-----END CERTIFICATE---"
private_key = "-----BEGIN RSA PRIVATE KEY-----\nY2VydGlmaWNhdGVfZGF0YQ==\n-----END RSA PRIVATE KEY---"
}
}
# Only use the import statement, if you want to import an existing cdn custom domain
@ -38,8 +42,24 @@ import {
- `name` (String)
- `project_id` (String) STACKIT project ID associated with the distribution
### Optional
- `certificate` (Attributes) The TLS certificate for the custom domain. If omitted, a managed certificate will be used. If the block is specified, a custom certificate is used. (see [below for nested schema](#nestedatt--certificate))
### Read-Only
- `errors` (List of String) List of distribution errors
- `id` (String) Terraform's internal resource identifier. It is structured as "`project_id`,`distribution_id`".
- `status` (String) Status of the distribution
<a id="nestedatt--certificate"></a>
### Nested Schema for `certificate`
Optional:
- `certificate` (String, Sensitive) The PEM-encoded TLS certificate. Required for custom certificates.
- `private_key` (String, Sensitive) The PEM-encoded private key for the certificate. Required for custom certificates. The certificate will be updated if this field is changed.
Read-Only:
- `version` (Number) A version identifier for the certificate. Required for custom certificates. The certificate will be updated if this field is changed.