Announcing the Terraform Plugin Framework 1.0


We are excited to share that the Terraform Plugin Framework version 1.0 is now generally available. The Terraform Plugin Framework is the successor to the Terraform Plugin SDKv2, and forms the basis for creating Terraform providers.

What’s New in Terraform Plugin Framework 1.0

  • Validators give users feedback about required syntax, types, and acceptable values. The Plugin Framework offers a collection of prebuilt validators that solve many common use cases, such as checking string lengths and numeric ranges.
  • Path expressions provide additional flexibility when traversing resource or datasource schemas. For instance, the presence of an attribute within aTerraform configuration may be valid or not depending upon the presence of another attribute. A path expression allows the relationship between these attributes to be specified as a relative path.
  • Nested attributes allow schemas to be defined using objects of attributes that fully support attribute behaviors. Examples include required, optional, computed, plan modifiers, and validators.
  • Resource private state management provides a way to store data alongside state but without exposing it to Terraform plans. It is generally for advanced use cases such as storing and retrieving values that do not need to be shown to practitioners, such as ETags used within API calls.
  • Custom types can be used for attributes within a schema where augmentation of a base type is required. For example, a custom type could be used to wrap a string and provide additional functionality such as the ability to parse and format the string as a timestamp.
  • Plugin Framework-based providers can be made backward compatible with Terraform versions 0.12 and later. Or provider developers can opt to use the newer Terraform Plugin Protocol version 6 for access to the latest features in Terraform 1.x.

Please see the announcement blog post for more details.

Cheers -
Dave Parfitt

Manager, Terraform Developer Experience