terraform-plugin-framework

module
v1.15.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 31, 2025 License: MPL-2.0

README

PkgGoDev

Terraform Plugin Framework

terraform-plugin-framework is a module for building Terraform providers. It is built on terraform-plugin-go. It aims to provide as much of the power, predictability, and versatility of terraform-plugin-go as it can while abstracting away implementation details and repetitive, verbose tasks.

Getting Started

Status

terraform-plugin-framework has reached General Availability phase and follows semantic versioning for Go and Terraform compatibility promises. We recommend only using tagged releases of this Go module and examining the CHANGELOG when upgrading to a new release. Major version releases contain breaking changes to existing provider code. Minor version releases introduce new functionality. Patch version releases contain bug fixes or documentation updates.

Refer to Plugin Framework Benefits for more information about benefits over terraform-plugin-sdk.

Terraform CLI Compatibility

Providers built with this framework are compatible with Terraform version v0.12 and above.

Go Compatibility

This project follows the support policy of Go as its support policy. The two latest major releases of Go are supported by the project.

Currently, that means Go 1.23 or later must be used when including this project as a dependency.

Contributing

See .github/CONTRIBUTING.md

License

Mozilla Public License v2.0

Directories

Path Synopsis
Package attr contains type and value interfaces for core framework and provider-defined data types.
Package attr contains type and value interfaces for core framework and provider-defined data types.
xattr
Package xattr contains additional interfaces for attr types.
Package xattr contains additional interfaces for attr types.
Package datasource contains all interfaces, request types, and response types for a data source implementation.
Package datasource contains all interfaces, request types, and response types for a data source implementation.
schema
Package schema contains all available schema functionality for data sources.
Package schema contains all available schema functionality for data sources.
Package diag implements diagnostic functionality, which is a practitioner feedback mechanism for providers.
Package diag implements diagnostic functionality, which is a practitioner feedback mechanism for providers.
Package ephemeral contains all interfaces, request types, and response types for an ephemeral resource implementation.
Package ephemeral contains all interfaces, request types, and response types for an ephemeral resource implementation.
schema
Package schema contains all available schema functionality for ephemeral resources.
Package schema contains all available schema functionality for ephemeral resources.
Package function contains all interfaces, request types, and response types for a Terraform Provider function implementation.
Package function contains all interfaces, request types, and response types for a Terraform Provider function implementation.
internal
fromproto5
Package fromproto5 contains functions to convert from protocol version 5 (tfprotov5) types to framework types.
Package fromproto5 contains functions to convert from protocol version 5 (tfprotov5) types to framework types.
fromproto6
Package fromproto6 contains functions to convert from protocol version 6 (tfprotov6) types to framework types.
Package fromproto6 contains functions to convert from protocol version 6 (tfprotov6) types to framework types.