Skip to content

Commit

Permalink
Merge pull request #9 from Qwilt/4docs
Browse files Browse the repository at this point in the history
2nd try committing version with bug fixes.
  • Loading branch information
efratsh authored Sep 23, 2024
2 parents ac829d1 + 6a19fdb commit 6f61766
Show file tree
Hide file tree
Showing 9 changed files with 573 additions and 10 deletions.
70 changes: 70 additions & 0 deletions docs/data-sources/cdn_certificates.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "qwilt_cdn_certificates Data Source - qwilt"
subcategory: ""
description: |-
Retrieves the certificates uploaded to Qwilt CDN by your organization and the associated metadata.
---

# qwilt_cdn_certificates (Data Source)

Retrieves the certificates uploaded to Qwilt CDN by your organization and the associated metadata.

## Example Usage

```terraform
data "qwilt_cdn_certificates" "certificates_list" {
filter = {
cert_id = "all"
}
}
data "qwilt_cdn_certificates" "detail" {
filter = {
cert_id = 25
}
}
```

<!-- schema generated by tfplugindocs -->
## Schema

### Optional

- `filter` (Attributes) Data source filter attributes. (see [below for nested schema](#nestedatt--filter))

### Read-Only

- `certificate` (Attributes List) List of certificates. (see [below for nested schema](#nestedatt--certificate))

<a id="nestedatt--filter"></a>
### Nested Schema for `filter`

Optional:

- `cert_id` (Number) The ID of the specific certificate you want to retrieve.


<a id="nestedatt--certificate"></a>
### Nested Schema for `certificate`

Required:

- `certificate` (String) A single X.509 signed PEM certificate, encoded in Base64.
- `certificate_chain` (String) An ordered concatenation of PEM-encoded signed certificates. The first is the signer of the imported certificate, and the last is an intermediate CA signed by a well known Root CA. The whole string must be Base64 encoded.

Optional:

- `description` (String) The certificate description.

Read-Only:

- `cert_id` (Number) The unique identifier of the certificate. The certId will be needed when you add the certificate configuration and when you assign it to a site.
- `domain` (String) The site host domain the certificate is linked to.
- `pk_hash` (String) A unique identifier for the private key that does not expose the actual key itself.
- `status` (String) The status of the certificate:["ISSUED",
"ACTIVE",
"EXPIRED",
"REVOKED"].
- `tenant` (String) The organization your user is assigned to.
- `type` (String) The certificate's type.
107 changes: 107 additions & 0 deletions docs/data-sources/cdn_sites.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "qwilt_cdn_sites Data Source - qwilt"
subcategory: ""
description: |-
Retrieves the sites available to your user. By default, the output includes site metadata, details about the associated site configuration versions, and details about the associated publishing operations. You can apply filters to the data source.
---

# qwilt_cdn_sites (Data Source)

Retrieves the sites available to your user. By default, the output includes site metadata, details about the associated site configuration versions, and details about the associated publishing operations. You can apply filters to the data source.

## Example Usage

```terraform
# View configured CDN sites.
data "qwilt_cdn_sites" "example" {
filter = {
# Specify "all" for site_id, revision_id, or publish_id to list all instances.
site_id = "65fc70554a1c9c72079eb803"
revision_id = "65fc70561c17716a2c468839"
publish_id = "27ae501c-ac0f-430a-876c-42e6e78d2969"
truncate_host_index = false
}
}
```

<!-- schema generated by tfplugindocs -->
## Schema

### Optional

- `filter` (Attributes) Data source filter attributes. (see [below for nested schema](#nestedatt--filter))

### Read-Only

- `publish_op` (Attributes List) List of publishing operations associated with site. (see [below for nested schema](#nestedatt--publish_op))
- `revision` (Attributes List) Site configurations associated with the site. (see [below for nested schema](#nestedatt--revision))
- `site` (Attributes List) Site metadata. (see [below for nested schema](#nestedatt--site))

<a id="nestedatt--filter"></a>
### Nested Schema for `filter`

Optional:

- `publish_id` (String) filter publishing operations based on a specific publish ID.
- `revision_id` (String) Filter configurations based on a specific revision ID.
- `site_id` (String) Filter sites based on a specific site ID.
- `truncate_host_index` (Boolean) By default, the configuration details are included in the response, and you can exclude them by setting this to false.


<a id="nestedatt--publish_op"></a>
### Nested Schema for `publish_op`

Read-Only:

- `creation_time_milli` (Number) The time when the publish operation was created, in epoch time.
- `is_active` (Boolean) Indicates if the configuration is active or inactive.
- `last_update_time_milli` (Number) When the publishing operation was last updated, in epoch time.
- `operation_type` (String) The operation type (Publish, Unpublish) that was initiated with the request. An Unpublish operation removes a delivery service from the CDN.
- `owner_org_id` (String) The organization that owns the site.
- `publish_id` (String) Unique identifier of the publishing operation.
- `publish_state` (String) For internal use. Use the 'publishStatus' values instead.
- `publish_status` (String) The publishing operation status.
- `revision_id` (String) Unique identifier of the configuration version that was published or unpublished.
- `status_line` (List of String) Additional information related to the publish status.
- `target` (String) The value will 'ga' or 'staging'.
- `username` (String) Username that initiated the publishing operation.
- `validators_err_details` (String) Details about errors generated during validation.


<a id="nestedatt--revision"></a>
### Nested Schema for `revision`

Read-Only:

- `change_description` (String) Comments added by the user to the configuration JSON payload.
- `created_user` (String) The user who created the site.
- `creation_time_milli` (Number) The time when the configuration version was added, in epoch time.
- `host_index` (String) The SVTA metadata objects that define the delivery service configuration, in application/json format.
- `last_update_time_milli` (Number) The time when the configuration version was added, in epoch time. (This will be the same as the creationTimeMilli value.)
- `owner_org_id` (String) The name of the organization that owns the site.
- `revision_id` (String) The unique identifier of the configuration version.
- `revision_num` (Number) The unique revision number of the configuration version.
- `site_id` (String) The unique identifier of the site.


<a id="nestedatt--site"></a>
### Nested Schema for `site`

Read-Only:

- `api_version` (String) The Media Delivery Configuration API version.
- `created_user` (String) The user who created the site.
- `creation_time_milli` (Number) When the site was created, in epoch time.
- `is_deleted` (Boolean) Indicates if site was marked for deletion.
- `is_self_service_blocked` (Boolean) Indicates if site updates are currently allowed.
- `last_update_time_milli` (Number) When the site was last updated, in epoch time.
- `last_updated_user` (String) The user who last updated the site.
- `owner_org_id` (String) The name of the organization that owns the site.
- `routing_method` (String) The routing method used for the site. DNS is the default routing mechanism.
- `service_id` (String) A system-generated unique identifier for the site configuration.
- `service_type` (String) The value will always be MEDIA_DELIVERY.
- `should_provision_to_third_party_cdn` (Boolean) Indicates if the site should be provisioned to third-party CDNs.
- `site_dns_cname_delegation_target` (String) The CNAME you'll use direct traffic from your website to the CDN.
- `site_id` (String) The unique identifier of the site. The siteID will be needed when you add the site configuration and when you publish the site.
- `site_name` (String) The user-defined site name.
15 changes: 8 additions & 7 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Interact with Qwilt services.
## Example Usage

```terraform
#The Qwilt Terraform Provider supports two authentication methods for access control:
#The Qwilt Terraform Provider supports two authentication methods:
#- **API key-based authentication** - The preferred method.
# - When the *api_key* parameter is set, the key is passed in the header of each API call to authenticate the request.
Expand All @@ -24,13 +24,14 @@ Interact with Qwilt services.
# - Support for this method may be deprecated in the future.
# You can set the authentication parameters inside the provider configuration or as environment variables. We recommend setting env variables.
# You can set the authentication parameters inside the provider configuration or as environment variables.
# We recommend setting env variables.
# |TF Provider Variable | Env Variable | Example Value |
# | --- | --- | --- |
# |api_key | QCDN_API_KEY | "eyJhbGciOiJSUzI1NiIsIn..." |
# | username| QCDN_USERNAME | "me@mycompany.com" |
# | password |QCDN_PASSWORD | "mypwd123456" |
# |TF Provider Variable | Env Variable | Example Value |
# | --------------------|-----------------|-----------------------------|
# | api_key | QCDN_API_KEY | "eyJhbGciOiJSUzI1NiIsIn..." |
# | username | QCDN_USERNAME | "me@mycompany.com" |
# | password | QCDN_PASSWORD | "mypwd123456" |
#**Notes**:
Expand Down
72 changes: 72 additions & 0 deletions docs/resources/cdn_certificate.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "qwilt_cdn_certificate Resource - qwilt"
subcategory: ""
description: |-
Manages a Qwilt CDN Certificate.
---

# qwilt_cdn_certificate (Resource)

Manages a Qwilt CDN Certificate.

## Example Usage

```terraform
resource "qwilt_cdn_certificate" "example" {
certificate = filebase64("./domain.crt")
certificate_chain = filebase64("./domain.crt")
private_key = filebase64("./domain.key")
description = "ccc"
}
```

<!-- schema generated by tfplugindocs -->
## Schema

### Required

- `certificate` (String) A single X.509 signed PEM certificate, encoded in Base64.
- `certificate_chain` (String) An ordered concatenation of PEM-encoded signed certificates. The first is the signer of the imported certificate, and the last is an intermediate CA signed by a well known Root CA. The whole string must be Base64 encoded.
- `private_key` (String, Sensitive) A PEM private key, which pairs with the public key that is embedded in the certificate. The entire string must be Base64 encoded.

### Optional

- `description` (String) The certificate description.

### Read-Only

- `cert_id` (Number) The unique identifier of the certificate. The certId will be needed when you add the certificate configuration and when you assign it to a site.
- `domain` (String) The site host domain the certificate is linked to.
- `id` (Number) For internal use only, for testing. Equals cert_id.
- `pk_hash` (String) A unique identifier for the private key that does not expose the actual key itself.
- `status` (String) The status of the certificate:["ISSUED",
"ACTIVE",
"EXPIRED",
"REVOKED"].
- `tenant` (String) The organization your user is assigned to.
- `type` (String) The certificate type.

## Import

Import is supported using the following syntax:

```shell
#Create an empty resource to import into.
#After the import is complete, manually set the required attributes in the resource based on the imported state.

resource "qwilt_cdn_certificate" "example" {

#After import, the private_key remains empty in the state.
#To prevent this from being detected as a change every time you run ```terraform plan```, add this lifecycle section to the imported resource:

lifecycle {
ignore_changes = [
private_key
]
}

}

terraform import qwilt_cdn_certificate.example <cert_id>
```
49 changes: 49 additions & 0 deletions docs/resources/cdn_site.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "qwilt_cdn_site Resource - qwilt"
subcategory: ""
description: |-
Manages a Qwilt CDN site.
---

# qwilt_cdn_site (Resource)

Manages a Qwilt CDN site.

## Example Usage

```terraform
resource "qwilt_cdn_site" "example" {
site_name = "Example Terraform Basic site"
}
```

<!-- schema generated by tfplugindocs -->
## Schema

### Required

- `site_name` (String) The user-defined site name.

### Read-Only

- `id` (String) For internal use only, for testing. Equals site_id.
- `last_update_time_milli` (Number) When the site last updated, in epoch time.
- `owner_org_id` (String) The organization that owns the site.
- `routing_method` (String) The routing method used for the site. The default is 'DNS.'
- `site_dns_cname_delegation_target` (String) The CNAME you'll use to direct traffic from your website to the cdnclient.
- `site_id` (String) The unique identifier of the site. The siteID will be needed when you add the site configuration and when you publish the site.

## Import

Import is supported using the following syntax:

```shell
#Create an empty resource to import into.
#After the import is complete, manually set the required attributes in the resource based on the imported state.

resource "qwilt_cdn_site" "example" {
}

terraform import qwilt_cdn_site.example <site_id>
```
Loading

0 comments on commit 6f61766

Please sign in to comment.