Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/speakeasy-sdks/terraform-provider-hookdeck

Terraform Provider for Hookdeck
https://github.com/speakeasy-sdks/terraform-provider-hookdeck

Last synced: 2 days ago
JSON representation

Terraform Provider for Hookdeck

Awesome Lists containing this project

README

        

# Terraform Provider Hashicups

This repository is an example of generating an example provider called [hashicups](https://github.com/hashicorp/terraform-provider-hashicups-pf) from the OpenAPI specification in `hashicups.yaml`, with configuration in `gen.yaml`. No other inputs are required.

It works by using the [Speakeasy](https://speakeasyapi.dev) platform and associated CLI Tooling to generate code. This tooling parses an OpenAPI specification annotated with extensions that help inform it about terraform resources, and how to invoke API operations to create, update, read and destroy those resources. For information on terraform annotations that you can add to your OpenAPI spec please see [here](https://speakeasyapi.dev/docs/using-speakeasy/create-terraform/intro/).

This provider is for demonstration purposes only. Do not publish this to the terraform registry.

## SDK Installation

To install this provider, copy and paste this code into your Terraform configuration. Then, run `terraform init`.

```hcl
terraform {
required_providers {
hashicups = {
source = "speakeasy/hashicups"
version = "0.0.1"
}
}
}

provider "hashicups" {
# Configuration options
}
```

## Testing the provider locally

Should you want to validate a change locally, the `--debug` flag allows you to execute the provider against a terraform instance locally.

This also allows for debuggers (e.g. delve) to be attached to the provider.

```sh
go run main.go --debug
# Copy the TF_REATTACH_PROVIDERS env var
# In a new terminal
cd examples/your-example
TF_REATTACH_PROVIDERS=... terraform init
TF_REATTACH_PROVIDERS=... terraform apply
```

### SDK Generated by [Speakeasy](https://docs.speakeasyapi.dev/docs/using-speakeasy/client-sdks)