Skip to content

Releases: hashicorp/terraform-plugin-sdk

v2.37.0

16 May 18:53
Compare
Choose a tag to compare

NOTES:

  • all: This Go module has been updated to Go 1.23 per the Go support policy. It is recommended to review the Go 1.23 release notes before upgrading. Any consumers building on earlier Go versions may experience errors. (#1445)
  • all: This release contains new fields and structs for implmenting managed resource identity. Resource identity is data that is defined by a separate schema and is stored alongside resource state. Identity data is used by Terrform to uniquely identify a remote object and is meant to be immutable during the remote object's lifecycle. Resources that support identity can now be imported using the identity attribute in Terraform configuration import blocks, available in Terraform v1.12+. The resource.Identity field on the schema.Resource struct can be used to support identity by defining an identity schema. Once the identity schema is defined, you can read and store identity data in the state file with the new IdentityData struct that is available via the Identity() method on schema.ResourceData and schema.ResourceDiff structs. (#1444)

FEATURES:

  • helper/schema: Added new TestResourceDataWithIdentityRaw function for creating a ResourceData struct with identity data for unit testing. (#1475)
  • helper/schema: Added new Identity field to Resource that supports defining an identity schema for managed resources only. (#1444)
  • Added new ImportStatePassthroughWithIdentity helper that can support both identity and ID importing via a single field. (#1474)

ENHANCEMENTS:

  • helper/schema: Added RequiredForImport and OptionalForImport fields to the Schema struct, which are only valid for identity schemas. (#1444)
  • helper/schema: Updated ResourceData to support passing of identity data in CRUD and import functions for managed resources. (#1444)

BUG FIXES:

  • helper/schema: Fixed bug that blocked write-only attributes from being used with resources without update functions. (#1472)

v2.37.0-beta.1

18 Apr 19:55
Compare
Choose a tag to compare
v2.37.0-beta.1 Pre-release
Pre-release

NOTES:

  • This beta pre-release continues the implementation of managed resource identity, which should now be used with Terraform v1.12.0-beta2. Managed resources now can support import by identity during plan and apply workflows. Managed resources that already support import via the schema.Resource.Importer field still need to set an ID during import when an identity is provided. The RequiredForImport and OptionalForImport fields on the identity schema can be used to control the validation that Terraform core will apply to the import config block. (#1463)

v2.37.0-alpha.1

20 Mar 14:21
Compare
Choose a tag to compare
v2.37.0-alpha.1 Pre-release
Pre-release

NOTES:

  • all: This Go module has been updated to Go 1.23 per the Go support policy. It is recommended to review the Go 1.23 release notes before upgrading. Any consumers building on earlier Go versions may experience errors. (#1445)
  • This alpha pre-release contains an initial implementation for managed resource identity, which can used with Terraform v1.12.0-alpha20250319, to store and read identity data during plan and apply workflows. A managed resource identity can be used by defining an identity schema in the resource.Identity field. Once the identity schema is defined, you can read and store identity data in the new IdentityData struct that is available via the new Identity() method on ResourceData and ResourceDiff structs. (#1444)

v2.36.1

19 Feb 14:52
Compare
Choose a tag to compare

NOTES:

  • Write-only attribute support is in technical preview and offered without compatibility promises until Terraform 1.11 is generally available. (#1375)

BUG FIXES:

  • helper/schema: Fixed bug that allowed write-only attributes within set nested blocks. Any attribute within a set nested block with WriteOnly set to true will now trigger an error message. (#1427)

v2.36.0

04 Feb 16:40
Compare
Choose a tag to compare

NOTES:

  • Write-only attribute support is in technical preview and offered without compatibility promises until Terraform 1.11 is generally available. (#1375)

FEATURES:

  • helper/schema: Added WriteOnly schema behavior for managed resource schemas to indicate a write-only attribute. Write-only attribute values are not saved to the Terraform plan or state artifacts. (#1375)
  • helper/validation: Added PreferWriteOnlyAttribute() validator that warns practitioners when a write-only version of a configured attribute is available. (#1375)
  • schema/resource: Added ValidateRawResourceConfigFuncs field which allows resources to define validation logic during the ValidateResourceTypeConfig RPC. (#1375)

v2.35.0

31 Oct 18:35
Compare
Choose a tag to compare

NOTES:

  • all: This Go module has been updated to Go 1.22 per the Go support policy. It is recommended to review the Go 1.22 release notes before upgrading. Any consumers building on earlier Go versions may experience errors. (#1373)
  • helper/schema: While this Go module will not receive support for ephemeral resource types, the provider server is updated to handle the new operations, which will be required to prevent errors when updating terraform-plugin-framework or terraform-plugin-mux in the future. (#1390)

v2.34.0

17 May 18:39
Compare
Choose a tag to compare

NOTES:

  • all: The v2.33.0 release updated this Go module to Go 1.21 per the Go support policy. It is recommended to review the Go 1.21 release notes before upgrading. Any consumers building on earlier Go versions may experience errors (#1318)
  • This release contains support for deferred actions, which is an experimental feature only available in prerelease builds of Terraform 1.9 and later. This functionality is subject to change and is not protected by version compatibility guarantees. (#1335)

FEATURES:

  • helper/schema: Added (Provider).ConfigureProvider function for configuring providers that support additional features, such as deferred actions. (#1335)
  • helper/schema: Added (Resource).ResourceBehavior to allow additional control over deferred action behavior during plan modification. (#1335)

v2.33.0

23 Feb 15:12
Compare
Choose a tag to compare

NOTES:

  • helper/schema: While this Go module will not receive support for provider defined functions, the provider server is updated to handle the new operation, which will be required to prevent errors when updating terraform-plugin-framework or terraform-plugin-mux in the future (#1316)

v2.32.0

29 Jan 16:15
Compare
Choose a tag to compare

NOTES:

  • helper/schema: While this Go module will not receive support for moving resource state across resource types, the provider server is updated to handle the new operation, which will be required to prevent errors when updating terraform-plugin-framework or terraform-plugin-mux in the future. (#1307)

v2.31.0

14 Dec 17:17
Compare
Choose a tag to compare

NOTES:

  • helper/schema: While this Go module will not receive support for provider-defined functions, the provider server is updated to handle the new operations, which will be required to prevent errors when updating terraform-plugin-framework or terraform-plugin-mux in the future. (#1288)