Speakeasy Terraform provider support matrix
Provider components
Provider components
Resource schemas
Speakeasy extension
Speakeasy generation
Hoists and merges JSON Schemas associated with all create, read, update, and delete operations appropriately.
Full docs
Data source schemas
Speakeasy extension
Speakeasy generation
Hoists and merges JSON Schemas associated with all read operations into a single data source.
Full docs
Create methods
Speakeasy extension
Speakeasy generation
Speakeasy generates platform connector logic to invoke all API requests and save responses to the Terraform state.
Full docs
Read methods
Speakeasy extension
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.
Full docs
Update methods
Speakeasy extension
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.
Full docs
Delete methods
Speakeasy extension
Speakeasy generation
Speakeasy generates platform connector logic to invoke all API requests and save responses to the Terraform state.
Full docs
Plan validators
Speakeasy extension
Speakeasy generation
Generated when using restricted OpenAPI data types (for example, JSON fields, date fields). Also generated for specific Speakeasy extensions.
Full docs
Plan modifiers
Speakeasy extension
Speakeasy generation
Ensures API and
and
commands have appropriate semantics, such as diff-detection.
Full docs
Resource imports
Speakeasy extension
n/a
Speakeasy generation
Each
will be inserted into the provider resource list.
Full docs
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
Terraform framework type
Notes
JSON Schema additions
Terraform framework type
Notes
JSON Schema additions
Terraform framework type
Notes
JSON Schema additions
Terraform framework type
Notes
JSON Schema additions
Terraform framework type
or
Notes
A
is used when
has the primitive
.
JSON Schema additions
Terraform framework type
or
Notes
A
is used when
has the primitive
.
JSON Schema additions
Terraform framework type
Notes
JSON Schema additions
Terraform framework type
or
Notes
A
is used when
has the primitive
.
JSON Schema additions
N/A
Terraform framework type
Notes
Element ignored
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