Hey HN, after a fair few months of iteration, we're excited to share our latest offering in Speakeasy: auto-generation of Terraform providers using OpenAPI specifications.<p>The Problem: Building a Terraform Provider to expose an API via Infrastructure As Code (e.g. HCL, Pulumi, CDK) is expensive, error-prone, and highly repetitive.<p>However, if you don't have a mature terraform provider many products will not even be considered by mature organisations with a mandate to automate-all-the-things.<p>Our Solution:<p>1. Deep Integration with OpenAPI: Just point Speakeasy to your OpenAPI spec. Every change, every tweak, every evolution of your API is monitored, and we adapt in real-time.<p>2. Automated Terraform Provider Generation: Instead of manually coding a Terraform provider, Speakeasy synthesizes one for you, ensuring it remains in sync with your API's latest version.<p>3. Smart Schema Semantics: Based on CRUD operations, Speakeasy can smartly deduce and apply Terraform schema attributes like Computed, Optional, and Force Replace.<p>4. Continuous GitHub PRs: With each OpenAPI spec alteration, PRs are raised automatically against your Terraform provider repository, ensuring seamless and continuous integration.<p>Why Speakeasy for Terraform?<p>While several tools play around the fringes, none offer 100% automation via code synthesis. We've built and extensively tested our Terraform Provider Generation engine from OpenAPI, and have been in production with real customers for the last 6 months.<p>* It is possible to generate an OpenAPI specification for almost any server side framework (even things like ProtoBuf via REST Gateways) entirely automatically.<p>* Once your OpenAPI specification is automatically generated from your codebase, Speakeasy enables subsequent integration artifacts, like SDKs and Terraform Providers, to be automatically maintained with close-to-zero engineering effort.<p>* Once an API is exposed via a Terraform Provider, it becomes usable by the entire IaC ecosystem like Terraform, CDK, and Pulumi through the use of bridging tools.<p>* Speakeasy will also generate documentation, usage examples, support/guide you through the launch, and upgrade the provider automatically as the ecosystem matures.<p>Dive Deeper:<p>- Explore our product: <a href="https://www.speakeasyapi.dev" rel="nofollow noreferrer">https://www.speakeasyapi.dev</a><p>- Explore our CLI: <a href="https://github.com/speakeasy-api/speakeasy">https://github.com/speakeasy-api/speakeasy</a><p>- Explore our largest yet terraform provider: <a href="https://github.com/airbytehq/terraform-provider-airbyte">https://github.com/airbytehq/terraform-provider-airbyte</a><p>- Explore exposing a terraform provider via Pulumi: <a href="https://www.speakeasyapi.dev/post/pulumi-terraform-provider" rel="nofollow noreferrer">https://www.speakeasyapi.dev/post/pulumi-terraform-provider</a><p>- Explore a toy example: <a href="https://github.com/speakeasy-sdks/terraform-provider-hashicups">https://github.com/speakeasy-sdks/terraform-provider-hashicu...</a><p>A massive thanks to our early adopters and the vibrant Terraform community for guiding our journey.<p>HN, we’re eager for your insights. Whether it’s rigorous feedback, burning queries, or just wanting to geek out over Terraform and APIs, hit us up!