Speakeasy Terraform provider support matrix
Provider components
Provider components
Resource schemas
Speakeasy extension
Full docs
Speakeasy generation
Hoists and merges JSON Schemas associated with all create, read, update, and delete operations appropriately.
Data source schemas
Speakeasy extension
Full docs
Speakeasy generation
Hoists and merges JSON Schemas associated with all read operations into a single data source.
Create methods
Speakeasy extension
Full docs
Speakeasy generation
Speakeasy generates platform connector logic to invoke all API requests and save responses to the Terraform state.
Read methods
Speakeasy extension
Full docs
Speakeasy generation
Speakeasy generates platform connector logic to invoke all API requests and save responses to the Terraform state. Also invoked in
and
methods for additional data calls, enabling drift detection and import.
Update methods
Speakeasy extension
Full docs
Speakeasy generation
Speakeasy generates platform connector logic to invoke all API requests and save responses to the Terraform state. Plan modifiers force resource recreation when needed.
Delete methods
Speakeasy extension
Full docs
Speakeasy generation
Speakeasy generates platform connector logic to invoke all API requests and save responses to the Terraform state.
Plan validators
Speakeasy extension
Full docs
Speakeasy generation
Generated when using restricted OpenAPI data types (for example, JSON fields, date fields). Also generated for specific Speakeasy extensions.
Plan modifiers
Speakeasy extension
Full docs
Speakeasy generation
Ensures API and
and
commands have appropriate semantics, such as diff-detection.
Resource imports
Speakeasy extension
n/a
Full docs
Speakeasy generation
Each
will be inserted into the provider resource list.
Supported OpenAPI semantics
OpenAPI semantics
Resource schemas (const)
Speakeasy support
✅ Full support
Comments & limitations
When an attribute in an OpenAPI document is specified as
, it is removed from a Terraform schema and automatically included in requests or assumed in responses.
Resource schemas (default)
Speakeasy support
✅ Full support
Comments & limitations
When an attribute specifies a default value, this value will be used whenever that attribute is not explicitly set, ensuring consistency and reliability.
Server configuration
Speakeasy support
✅ Full support
Comments & limitations
The provider includes a
variable, allowing it to be used with any API server. By default, this variable is set to the first entry in the
field of the OpenAPI document.
Global authentication
Speakeasy support
✅ Full support
Comments & limitations
All authentication mechanisms that rely on static authorization are supported, with their values automatically configurable in the provider settings.
Query parameter serialization
Speakeasy support
✅ Full support
Comments & limitations
All query parameter attributes will be available as resource or data source attributes in a Terraform-native format. Might require remapping through
.
Request headers
Speakeasy support
✅ Full support
Comments & limitations
All request attributes will be available as resource or data source attributes in a Terraform-native format.
Multiple API requests in one CRUD step
Speakeasy support
✅ Full support
Comments & limitations
For example,
requires two API calls.
JSON Schema
Speakeasy support
✅ Full support
Comments & limitations
JSON Schema
Speakeasy support
✅ Full support
Comments & limitations
JSON Schema
Speakeasy support
✅ Full support
Comments & limitations
JSON Schema
Speakeasy support
✅ Full support
Comments & limitations
JSON Schema
Speakeasy support
✅ Full support
Comments & limitations
JSON Schema
Speakeasy support
✅ Full support
Comments & limitations
JSON Schema
Speakeasy support
✅ Full support
Comments & limitations
Combined into
or
Terraform attribute modifiers.
JSON Schema
Speakeasy support
✅ Full support
Comments & limitations
A plan validator is added to assert that only one of the predefined values is set.
JSON Schema
Speakeasy support
✅ Full support
Comments & limitations
JSON Schema
Speakeasy support
✅ Full support
Comments & limitations
A plan validator is added to ensure the Terraform
has
items set.
JSON Schema
Speakeasy support
✅ Full support
Comments & limitations
A plan validator is added to ensure the Terraform
has
items set.
JSON Schema
Speakeasy support
✅ Full support
Comments & limitations
A plan validator is added to ensure the Terraform
has all items as unique values.
JSON Schema
Speakeasy support
✅ Full support
Comments & limitations
JSON Schema
Speakeasy support
✅ Full support
Comments & limitations
JSON Schema
Speakeasy support
✅ Full support
Comments & limitations
JSON Schema
Speakeasy support
✅ Full support
Comments & limitations
JSON Schema
Speakeasy support
✅ Full support
Comments & limitations
A plan validator is added to ensure that this string value is set to a date in the YYYY-MM-DD format.
JSON Schema
Speakeasy support
✅ Full support
Comments & limitations
A plan validator is added to ensure that this string value is RFC 3339-compatible.
JSON Schema
Speakeasy support
✅ Full support
Comments & limitations
Accessible as a string attribute.
JSON Schema
Speakeasy support
✅ Full support
Comments & limitations
Combined into
or
Terraform attribute modifiers.
JSON Schema
Speakeasy support
✅ Full support
Comments & limitations
A free-form object without
is treated as an empty object.
JSON Schema
Speakeasy support
✅ Full support
Comments & limitations
Full support for defining schemas for additional properties.
JSON Schema
Speakeasy support
✅ Full support
Comments & limitations
Represented as a nested object with one child attribute for each
subschema. A plan validator is added that asserts only one child attribute can be set.
JSON Schema
Speakeasy support
✅ Full support
Comments & limitations
Considered the same as
.
JSON Schema
Speakeasy support
✅ Full support
Comments & limitations
Constructs an "uber-type" by merging the superset of all subschemas.
JSON Schema "Any" Type
Speakeasy support
✅ Full support
Comments & limitations
Requires the
annotation. Used as an escape hatch.
OpenAPI
Speakeasy support
✅ Full support
Comments & limitations
OpenAPI
Speakeasy support
✅ Full support
Comments & limitations
Example generation
Speakeasy support
✅ Full support
Comments & limitations
Propagates
and
into generated Terraform resource examples. Uses a type-appropriate value for other cases.
Operation-specific authentication
Speakeasy support
⚠️ Partial support
Comments & limitations
Speakeasy doesn't support overriding global authentication on specific operations without advanced techniques like monkey patching.
or
path param serialization
Speakeasy support
⚠️ No support
Comments & limitations
Remapping may be required through
.
XML request body serialization
Speakeasy support
⚠️ Partial support
Comments & limitations
Full support for JSON data types but no support for XML.
XML response body deserialization
Speakeasy support
⚠️ Partial support
Comments & limitations
Full support for JSON data types but no support for XML response bodies.
Circular references
Speakeasy support
⚠️ Partial support
Comments & limitations
enables setting attributes with
.
Lists of lists of primitives
Speakeasy support
⚠️ Partial support
Comments & limitations
enables setting lists of lists, but Terraform's
only supports primitive types.
Terraform framework types from JSON Schema types
JSON Schema type
JSON Schema additions
Notes
Terraform framework type
JSON Schema additions
Notes
Terraform framework type
JSON Schema additions
Notes
Terraform framework type
JSON Schema additions
Notes
Terraform framework type
JSON Schema additions
Notes
A
is used when
has the primitive
.
Terraform framework type
or
JSON Schema additions
Notes
A
is used when
has the primitive
.
Terraform framework type
or
JSON Schema additions
Notes
Terraform framework type
JSON Schema additions
Notes
A
is used when
has the primitive
.
Terraform framework type
or
JSON Schema additions
N/A
Notes
Element ignored
Terraform framework type
JSON Schema subschema handling
JSON Schema subschema type
Handling
A
is created with one key for each
child. Plan validator ensures that only one subattribute is used.
Full docs
Handling
Considered the same as
. Speakeasy does not strictly enforce this subschema type in production environments.
Full docs
Handling
Merges all subschemas. When the subschemas are objects, it creates a composite object with properties from all child schemas.
Full docs
Last updated on