Skip to content

Commit

Permalink
feat: Add data sources (#88)
Browse files Browse the repository at this point in the history
* feat: Add source data source

* feat: Convert data source schema attributes from resource schema attributes

* feat: Destination & Connection data sources

* refactor: Template for resource & data source & schema files

* docs: Generate
  • Loading branch information
alexluong authored Aug 8, 2024
1 parent c42bf7e commit 589d5a0
Show file tree
Hide file tree
Showing 21 changed files with 1,223 additions and 487 deletions.
124 changes: 124 additions & 0 deletions docs/data-sources/connection.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "hookdeck_connection Data Source - terraform-provider-hookdeck"
subcategory: ""
description: |-
Connection Data Source
---

# hookdeck_connection (Data Source)

Connection Data Source



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

### Required

- `id` (String) ID of the connection

### Read-Only

- `created_at` (String) Date the connection was created
- `description` (String) Description for the connection
- `destination_id` (String) ID of a destination to bind to the connection
- `disabled_at` (String) Date the connection was disabled
- `name` (String) A unique, human-friendly name for the connection
- `paused_at` (String) Date the connection was paused
- `rules` (Attributes Set) (see [below for nested schema](#nestedatt--rules))
- `source_id` (String) ID of a source to bind to the connection
- `team_id` (String) ID of the workspace
- `updated_at` (String) Date the connection was last updated

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

Read-Only:

- `delay_rule` (Attributes) (see [below for nested schema](#nestedatt--rules--delay_rule))
- `filter_rule` (Attributes) (see [below for nested schema](#nestedatt--rules--filter_rule))
- `retry_rule` (Attributes) (see [below for nested schema](#nestedatt--rules--retry_rule))
- `transform_rule` (Attributes) (see [below for nested schema](#nestedatt--rules--transform_rule))

<a id="nestedatt--rules--delay_rule"></a>
### Nested Schema for `rules.delay_rule`

Read-Only:

- `delay` (Number) Delay to introduce in MS


<a id="nestedatt--rules--filter_rule"></a>
### Nested Schema for `rules.filter_rule`

Read-Only:

- `body` (Attributes) (see [below for nested schema](#nestedatt--rules--filter_rule--body))
- `headers` (Attributes) (see [below for nested schema](#nestedatt--rules--filter_rule--headers))
- `path` (Attributes) (see [below for nested schema](#nestedatt--rules--filter_rule--path))
- `query` (Attributes) (see [below for nested schema](#nestedatt--rules--filter_rule--query))

<a id="nestedatt--rules--filter_rule--body"></a>
### Nested Schema for `rules.filter_rule.body`

Read-Only:

- `boolean` (Boolean)
- `json` (String) Stringied JSON using our filter syntax to filter on request headers
- `number` (Number)
- `string` (String)


<a id="nestedatt--rules--filter_rule--headers"></a>
### Nested Schema for `rules.filter_rule.headers`

Read-Only:

- `boolean` (Boolean)
- `json` (String) Stringied JSON using our filter syntax to filter on request headers
- `number` (Number)
- `string` (String)


<a id="nestedatt--rules--filter_rule--path"></a>
### Nested Schema for `rules.filter_rule.path`

Read-Only:

- `boolean` (Boolean)
- `json` (String) Stringied JSON using our filter syntax to filter on request headers
- `number` (Number)
- `string` (String)


<a id="nestedatt--rules--filter_rule--query"></a>
### Nested Schema for `rules.filter_rule.query`

Read-Only:

- `boolean` (Boolean)
- `json` (String) Stringied JSON using our filter syntax to filter on request headers
- `number` (Number)
- `string` (String)



<a id="nestedatt--rules--retry_rule"></a>
### Nested Schema for `rules.retry_rule`

Read-Only:

- `count` (Number) Maximum number of retries to attempt
- `interval` (Number) Time in MS between each retry
- `strategy` (String) must be one of ["linear", "exponential"]
Algorithm to use when calculating delay between retries


<a id="nestedatt--rules--transform_rule"></a>
### Nested Schema for `rules.transform_rule`

Read-Only:

- `transformation_id` (String) ID of the attached transformation object.
136 changes: 136 additions & 0 deletions docs/data-sources/destination.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "hookdeck_destination Data Source - terraform-provider-hookdeck"
subcategory: ""
description: |-
Destination Data Source
---

# hookdeck_destination (Data Source)

Destination Data Source



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

### Required

- `id` (String) ID of the destination

### Read-Only

- `auth_method` (Attributes) Config for the destination's auth method (see [below for nested schema](#nestedatt--auth_method))
- `cli_path` (String) Path for the CLI destination
- `created_at` (String) Date the destination was created
- `description` (String) Description for the destination
- `disabled_at` (String) Date the destination was disabled
- `http_method` (String) must be one of ["GET", "POST", "PUT", "PATCH", "DELETE"]
HTTP method used on requests sent to the destination, overrides the method used on requests sent to the source.
- `name` (String) A unique, human-friendly name for the destination
- `path_forwarding_disabled` (Boolean)
- `rate_limit` (Attributes) Rate limit (see [below for nested schema](#nestedatt--rate_limit))
- `team_id` (String) ID of the workspace
- `updated_at` (String) Date the destination was last updated
- `url` (String) HTTP endpoint of the destination

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

Read-Only:

- `api_key` (Attributes) API Key (see [below for nested schema](#nestedatt--auth_method--api_key))
- `aws_signature` (Attributes) AWS Signature (see [below for nested schema](#nestedatt--auth_method--aws_signature))
- `basic_auth` (Attributes) Basic Auth (see [below for nested schema](#nestedatt--auth_method--basic_auth))
- `bearer_token` (Attributes) Bearer Token (see [below for nested schema](#nestedatt--auth_method--bearer_token))
- `custom_signature` (Attributes) Custom Signature (see [below for nested schema](#nestedatt--auth_method--custom_signature))
- `hookdeck_signature` (Attributes) Hookdeck Signature (see [below for nested schema](#nestedatt--auth_method--hookdeck_signature))
- `json` (String, Sensitive) Stringified JSON value for destination payload, used when Terraform provider hasn't supported the destination method on Hookdeck yet
- `oauth2_authorization_code` (Attributes) OAuth2 Client Credentials (see [below for nested schema](#nestedatt--auth_method--oauth2_authorization_code))
- `oauth2_client_credentials` (Attributes) OAuth2 Client Credentials (see [below for nested schema](#nestedatt--auth_method--oauth2_client_credentials))

<a id="nestedatt--auth_method--api_key"></a>
### Nested Schema for `auth_method.api_key`

Read-Only:

- `api_key` (String, Sensitive) API key for the API key auth
- `key` (String) Key for the API key auth
- `to` (String) must be one of ["header", "query"]
Whether the API key should be sent as a header or a query parameter


<a id="nestedatt--auth_method--aws_signature"></a>
### Nested Schema for `auth_method.aws_signature`

Read-Only:

- `access_key_id` (String, Sensitive) AWS access key id
- `secret_access_key` (String, Sensitive) AWS secret access key


<a id="nestedatt--auth_method--basic_auth"></a>
### Nested Schema for `auth_method.basic_auth`

Read-Only:

- `password` (String, Sensitive) Password for basic auth
- `username` (String) Username for basic auth


<a id="nestedatt--auth_method--bearer_token"></a>
### Nested Schema for `auth_method.bearer_token`

Read-Only:

- `token` (String, Sensitive) Token for the bearer token auth


<a id="nestedatt--auth_method--custom_signature"></a>
### Nested Schema for `auth_method.custom_signature`

Read-Only:

- `key` (String) Key for the custom signature auth
- `signing_secret` (String, Sensitive) Signing secret for the custom signature auth. If left empty a secret will be generated for you.


<a id="nestedatt--auth_method--hookdeck_signature"></a>
### Nested Schema for `auth_method.hookdeck_signature`


<a id="nestedatt--auth_method--oauth2_authorization_code"></a>
### Nested Schema for `auth_method.oauth2_authorization_code`

Read-Only:

- `auth_server` (String) URL of the auth server
- `client_id` (String) Client id in the auth server
- `client_secret` (String, Sensitive) Client secret in the auth server
- `refresh_token` (String, Sensitive) Refresh token already returned by the auth server
- `scope` (String) Scope to access


<a id="nestedatt--auth_method--oauth2_client_credentials"></a>
### Nested Schema for `auth_method.oauth2_client_credentials`

Read-Only:

- `auth_server` (String) URL of the auth server
- `authentication_type` (String) must be one of [basic, bearer]
Basic (default) or Bearer Authentication
- `client_id` (String) Client id in the auth server
- `client_secret` (String, Sensitive) Client secret in the auth server
- `scope` (String) Scope to access



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

Read-Only:

- `limit` (Number) Limit event attempts to receive per period. Max value is workspace plan's max attempts thoughput.
- `period` (String) must be one of ["second", "minute", "hour"]
Period to rate limit attempts
41 changes: 41 additions & 0 deletions docs/data-sources/source.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "hookdeck_source Data Source - terraform-provider-hookdeck"
subcategory: ""
description: |-
Source Data Source
---

# hookdeck_source (Data Source)

Source Data Source



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

### Required

- `id` (String) ID of the source

### Read-Only

- `allowed_http_methods` (List of String) List of allowed HTTP methods. Defaults to PUT, POST, PATCH, DELETE.
- `created_at` (String) Date the source was created
- `custom_response` (Attributes) Custom response object (see [below for nested schema](#nestedatt--custom_response))
- `description` (String) Description for the source
- `disabled_at` (String) Date the source was disabled
- `name` (String) A unique, human-friendly name for the source
- `team_id` (String) ID of the workspace
- `updated_at` (String) Date the source was last updated
- `url` (String) A unique URL that must be supplied to your webhook's provider

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

Read-Only:

- `body` (String) Body of the custom response
- `content_type` (String) must be one of [json, text, xml]
Content type of the custom response
4 changes: 2 additions & 2 deletions docs/resources/webhook_registration.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
page_title: "hookdeck_webhook_registration Resource - terraform-provider-hookdeck"
subcategory: ""
description: |-
Webhook Resource
Webhook Registration Resource
---

# hookdeck_webhook_registration (Resource)

Webhook Resource
Webhook Registration Resource

## Example Usage

Expand Down
Loading

0 comments on commit 589d5a0

Please sign in to comment.