function: All parameters must be explicitly named via the Name field (#964)
function: DefaultParameterNamePrefix and DefaultVariadicParameterName constants have been removed (#964)
FEATURES:
types/basetypes: Added DynamicType and DynamicValue implementations for dynamic value handling (#147)
types/basetypes: Added interfaces basetypes.DynamicTypable, basetypes.DynamicValuable, and basetypes.DynamicValuableWithSemanticEquals for dynamic custom type and value implementations (#147)
resource/schema: Added DynamicAttribute implementation for dynamic value handling (#147)
datasource/schema: Added DynamicAttribute implementation for dynamic value handling (#147)
provider/schema: Added DynamicAttribute implementation for dynamic value handling (#147)
function: Added DynamicParameter and DynamicReturn for dynamic value handling` (#147)
resource/schema/dynamicdefault: New package with StaticValue implementation for dynamic schema-based default values (#147)
resource/schema/dynamicplanmodifier: New package with built-in implementations for dynamic value plan modification. (#147)
resource/schema/defaults: New Dynamic interface for dynamic schema-based default implementations (#147)
resource/schema/planmodifier: New Dynamic interface for dynamic value plan modification implementations (#147)
schema/validator: New Dynamic interface for dynamic value schema validation (#147)
v1.6.1
NOTES:
all: The v1.6.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 (#937)
BUG FIXES:
resource/schema: Ensured invalid attribute default value errors are raised (#930)
function: Added implementation validation to function.Definition to ensure all parameter names (including the variadic parameter) are unique. (#926)
function: Updated the default parameter name to include the position of the parameter (i.e. param1, param2, etc.). Variadic parameters will default to varparam. (#926)
v1.6.0
BREAKING CHANGES:
function: Changed the framework type for variadic parameters to types.TupleType, where each element is the same element type. Provider-defined functions using a types.List for retrieving variadic argument data will need to update their code to use types.Tuple. (#923)
function: Altered the RunResponse type, replacing Diagnostics with FuncError (#925)
diag: Removed DiagnosticWithFunctionArgument interface. Removed NewArgumentErrorDiagnostic(), NewArgumentWarningDiagnostic() and WithFunctionArgument() functions. Removed AddArgumentError() and AddArgumentWarning() methods from Diagnostics. (#925)
FEATURES:
resource: Added the ResourceWithMoveState interface, which enables state moves across resource types with Terraform 1.8 and later (#917)
ENHANCEMENTS:
privatestate: Added support for SetKey() method to fully remove key with nil or zero-length value (#910)
function: Added FuncError type, required for RunResponse (#925)
function: Added NewFuncError() and NewArgumentFuncError() functions, which create a FuncError (#925)
function: Added ConcatFuncErrors() and FuncErrorFromDiags() helper functions for use when working with FuncError (#925)
function: All parameters must be explicitly named via the Name field (#964)
function: DefaultParameterNamePrefix and DefaultVariadicParameterName constants have been removed (#964)
FEATURES:
types/basetypes: Added DynamicType and DynamicValue implementations for dynamic value handling (#147)
types/basetypes: Added interfaces basetypes.DynamicTypable, basetypes.DynamicValuable, and basetypes.DynamicValuableWithSemanticEquals for dynamic custom type and value implementations (#147)
resource/schema: Added DynamicAttribute implementation for dynamic value handling (#147)
datasource/schema: Added DynamicAttribute implementation for dynamic value handling (#147)
provider/schema: Added DynamicAttribute implementation for dynamic value handling (#147)
function: Added DynamicParameter and DynamicReturn for dynamic value handling` (#147)
resource/schema/dynamicdefault: New package with StaticValue implementation for dynamic schema-based default values (#147)
resource/schema/dynamicplanmodifier: New package with built-in implementations for dynamic value plan modification. (#147)
resource/schema/defaults: New Dynamic interface for dynamic schema-based default implementations (#147)
resource/schema/planmodifier: New Dynamic interface for dynamic value plan modification implementations (#147)
schema/validator: New Dynamic interface for dynamic value schema validation (#147)
1.6.1 (March 05, 2024)
NOTES:
all: The v1.6.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 (#937)
BUG FIXES:
resource/schema: Ensured invalid attribute default value errors are raised (#930)
function: Added implementation validation to function.Definition to ensure all parameter names (including the variadic parameter) are unique. (#926)
function: Updated the default parameter name to include the position of the parameter (i.e. param1, param2, etc.). Variadic parameters will default to varparam. (#926)
1.6.0 (February 28, 2024)
BREAKING CHANGES:
function: Changed the framework type for variadic parameters to types.TupleType, where each element is the same element type. Provider-defined functions using a types.List for retrieving variadic argument data will need to update their code to use types.Tuple. (#923)
function: Altered the RunResponse type, replacing Diagnostics with FuncError (#925)
diag: Removed DiagnosticWithFunctionArgument interface. Removed NewArgumentErrorDiagnostic(), NewArgumentWarningDiagnostic() and WithFunctionArgument() functions. Removed AddArgumentError() and AddArgumentWarning() methods from Diagnostics. (#925)
FEATURES:
resource: Added the ResourceWithMoveState interface, which enables state moves across resource types with Terraform 1.8 and later (#917)
ENHANCEMENTS:
privatestate: Added support for SetKey() method to fully remove key with nil or zero-length value (#910)
function: Added FuncError type, required for RunResponse (#925)
function: Added NewFuncError() and NewArgumentFuncError() functions, which create a FuncError (#925)
all: Upgraded google.golang.org/protobuf dependency, which includes a fix for CVE-2024-24786. While the fixed feature is not used in this Go module, this upgrade may silence security vulnerability scanner reports that are based purely on dependency versions. (#385)
BUG FIXES:
tftypes: Fixed an edge-case where (Value).Equal would panic when comparing two values with underlying DynamicPseudoType types and different concrete values. (#383)
v0.22.0
BREAKING CHANGES:
tfprotov5+tfprotov6: Modified the response returned from the CallFunction RPC, replacing diagnostics with function error (#380)
NOTES:
all: This Go module has been updated 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. (#381)
all: If using terraform-plugin-framework, terraform-plugin-mux, or terraform-plugin-sdk, only upgrade this Go module when upgrading those Go modules to terraform-plugin-framework@v1.6.0, terraform-plugin-mux@v0.15.0, and terraform-plugin-sdk/v2@v2.33.0, or greater, respectively (#380)
all: Upgraded google.golang.org/protobuf dependency, which includes a fix for CVE-2024-24786. While the fixed feature is not used in this Go module, this upgrade may silence security vulnerability scanner reports that are based purely on dependency versions. (#385)
BUG FIXES:
tftypes: Fixed an edge-case where (Value).Equal would panic when comparing two values with underlying DynamicPseudoType types and different concrete values. (#383)
0.22.0 (February 22, 2024)
BREAKING CHANGES:
tfprotov5+tfprotov6: Modified the response returned from the CallFunction RPC, replacing diagnostics with function error (#380)
NOTES:
all: This Go module has been updated 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. (#381)
all: If using terraform-plugin-framework, terraform-plugin-mux, or terraform-plugin-sdk, only upgrade this Go module when upgrading those Go modules to terraform-plugin-framework@v1.6.0, terraform-plugin-mux@v0.15.0, and terraform-plugin-sdk/v2@v2.33.0, or greater, respectively (#380)
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)
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)
helper/resource: Error messages generated by the testing logic, which were updated for clarity in this release, are not protected by compatibility promises. While testing logic errors are usable in certain scenarios with ErrorCheck and ExpectError functionality, error messaging checks should be based on provider-controlled messaging or when appropriate to use other testing features such as ExpectNonEmptyPlan instead. (#238)
Numerical values in the plan are now represented as json.Number, not float64. Custom plan checks relying upon float64 representation may need altering (#248)
plancheck: Deprecated ExpectNullOutputValue and ExpectNullOutputValueAtPath. Use ExpectKnownOutputValue and ExpectKnownOutputValueAtPath with knownvalue.Null instead (#275)
plancheck: ExpectKnownValue, ExpectKnownOutputValue and ExpectKnownOutputValueAtPath plan checks are considered experimental and may be altered or removed in a subsequent release (#276)
statecheck: ExpectKnownValue, ExpectKnownOutputValue and ExpectKnownOutputValueAtPath state checks are considered experimental and may be altered or removed in a subsequent release (#276)
knownvalue: The knownvalue package is considered experimental and may be altered or removed in a subsequent release (#276)
all: This Go module has been updated 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 (#300)
FEATURES:
plancheck: Added ExpectKnownValue plan check, which asserts that a given resource attribute has a defined type, and value (#248)
plancheck: Added ExpectKnownOutputValue plan check, which asserts that a given output value has a defined type, and value (#248)
plancheck: Added ExpectKnownOutputValueAtPath plan check, which asserts that a given output value at a specified path has a defined type, and value (#248)
knownvalue: Introduced new knownvalue package which contains types for working with plan checks and state checks (#248)
statecheck: Introduced new statecheck package with interface and built-in state check functionality (#275)
statecheck: Added ExpectKnownValue state check, which asserts that a given resource attribute has a defined type, and value (#275)
statecheck: Added ExpectKnownOutputValue state check, which asserts that a given output value has a defined type, and value (#275)
statecheck: Added ExpectKnownOutputValueAtPath plan check, which asserts that a given output value at a specified path has a defined type, and value (#275)
statecheck: Added ExpectSensitiveValue built-in state check, which asserts that a given attribute has a sensitive value (#275)
BUG FIXES:
helper/resource: Clarified error messaging from testing failures, especially when using TestStep.PlanOnly: true (#238)
helper/resource: Fix detection of provider block declaration in Config, ConfigDirectory, and ConfigFile (#265)
helper/resource: Fix detection of terraform block declaration in Config, ConfigDirectory, and ConfigFile (#265)
helper/resource: Fixed internal deferred test helpers to properly report file and line information in test failures. (#292)
helper/resource: Error messages generated by the testing logic, which were updated for clarity in this release, are not protected by compatibility promises. While testing logic errors are usable in certain scenarios with ErrorCheck and ExpectError functionality, error messaging checks should be based on provider-controlled messaging or when appropriate to use other testing features such as ExpectNonEmptyPlan instead. (#238)
Numerical values in the plan are now represented as json.Number, not float64. Custom plan checks relying upon float64 representation may need altering (#248)
plancheck: Deprecated ExpectNullOutputValue and ExpectNullOutputValueAtPath. Use ExpectKnownOutputValue and ExpectKnownOutputValueAtPath with knownvalue.Null instead (#275)
plancheck: ExpectKnownValue, ExpectKnownOutputValue and ExpectKnownOutputValueAtPath plan checks are considered experimental and may be altered or removed in a subsequent release (#276)
statecheck: ExpectKnownValue, ExpectKnownOutputValue and ExpectKnownOutputValueAtPath state checks are considered experimental and may be altered or removed in a subsequent release (#276)
knownvalue: The knownvalue package is considered experimental and may be altered or removed in a subsequent release (#276)
all: This Go module has been updated 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 (#300)
FEATURES:
plancheck: Added ExpectKnownValue plan check, which asserts that a given resource attribute has a defined type, and value (#248)
plancheck: Added ExpectKnownOutputValue plan check, which asserts that a given output value has a defined type, and value (#248)
plancheck: Added ExpectKnownOutputValueAtPath plan check, which asserts that a given output value at a specified path has a defined type, and value (#248)
knownvalue: Introduced new knownvalue package which contains types for working with plan checks and state checks (#248)
statecheck: Introduced new statecheck package with interface and built-in state check functionality (#275)
statecheck: Added ExpectKnownValue state check, which asserts that a given resource attribute has a defined type, and value (#275)
statecheck: Added ExpectKnownOutputValue state check, which asserts that a given output value has a defined type, and value (#275)
statecheck: Added ExpectKnownOutputValueAtPath plan check, which asserts that a given output value at a specified path has a defined type, and value (#275)
statecheck: Added ExpectSensitiveValue built-in state check, which asserts that a given attribute has a sensitive value (#275)
BUG FIXES:
helper/resource: Clarified error messaging from testing failures, especially when using TestStep.PlanOnly: true (#238)
helper/resource: Fix detection of provider block declaration in Config, ConfigDirectory, and ConfigFile (#265)
helper/resource: Fix detection of terraform block declaration in Config, ConfigDirectory, and ConfigFile (#265)
helper/resource: Fixed internal deferred test helpers to properly report file and line information in test failures. (#292)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the gomod group with 5 updates:
1.5.0
1.7.0
0.21.0
0.22.1
0.14.0
0.15.0
2.32.0
2.33.0
1.6.0
1.7.0
Updates
github.com/hashicorp/terraform-plugin-framework
from 1.5.0 to 1.7.0Release notes
Sourced from github.com/hashicorp/terraform-plugin-framework's releases.
Changelog
Sourced from github.com/hashicorp/terraform-plugin-framework's changelog.
... (truncated)
Commits
332d5d1
Update changeloga7607bb
Require provider-defined function parameter naming (#964)84f656e
all: Add dynamic type, attribute, and function support (#931)f86c88c
website/docs: Link fix on int64 type page (#960)05f0d88
all: Miscellaneous doc fixes (#958)37dabc8
docs: Explicitly call out object parameter attributes are required (#956)09b53c3
Correct resource State Move documentation (#957)6f28bad
build(deps): Bump google.golang.org/protobuf in /tools (#953)91d777b
docs: Fix note tag with link (#952)d88ef0e
Add clarification for nil check of ProviderData in data source and resource C...Updates
github.com/hashicorp/terraform-plugin-go
from 0.21.0 to 0.22.1Release notes
Sourced from github.com/hashicorp/terraform-plugin-go's releases.
Changelog
Sourced from github.com/hashicorp/terraform-plugin-go's changelog.
Commits
a99dc45
Update changelog0d7e0a1
Update CHANGELOG for #385 (#387)d47f32b
build(deps): Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 (#385)dea0021
build(deps): Bump google.golang.org/grpc from 1.62.0 to 1.62.1 (#386)720b648
Adding go toolchain directive (#384)769432b
build(deps): Bump google.golang.org/grpc from 1.61.1 to 1.62.0 (#382)570828e
tftypes: Adjust(tftypes.Value).Equal
function to support dynamic value com...01b86e9
Update changelogd39a78e
all: Update Go Module to Go 1.21 (#381)90a82fe
tfprotov5+tfprotov6: Replace usage of diagnostics in CallFunction RPC with fu...Updates
github.com/hashicorp/terraform-plugin-mux
from 0.14.0 to 0.15.0Release notes
Sourced from github.com/hashicorp/terraform-plugin-mux's releases.
Changelog
Sourced from github.com/hashicorp/terraform-plugin-mux's changelog.
Commits
17f3671
Update changelog3557b60
all: Modify CallFunction implementations (#226) (#226)963d34b
Result of tsccr-helper -log-level=info gha update -latest . (#224)0127cd6
Result of tsccr-helper -log-level=info gha update -latest . (#223)ed533d4
Added GHA dependabot config for managing hashicorp actions (#222)Updates
github.com/hashicorp/terraform-plugin-sdk/v2
from 2.32.0 to 2.33.0Release notes
Sourced from github.com/hashicorp/terraform-plugin-sdk/v2's releases.
Changelog
Sourced from github.com/hashicorp/terraform-plugin-sdk/v2's changelog.
Commits
71cadbe
Update changelogb3a5571
Update meta package SDKVersion70fb6b9
all: Modify CallFunction implementations (#1316) (#1316)34d8a9e
Result of tsccr-helper -log-level=info gha update -latest . (#1313)43cfd32
build(deps): Bump github.com/hashicorp/hc-install from 0.6.2 to 0.6.3 (#1312)fee8c9c
build(deps): Bump golang.org/x/crypto from 0.18.0 to 0.19.0 (#1310)19a0da0
Result of tsccr-helper -log-level=info gha update -latest . (#1309)3e7e2e0
Added GHA dependabot config for managing hashicorp actions (#1308)Updates
github.com/hashicorp/terraform-plugin-testing
from 1.6.0 to 1.7.0Release notes
Sourced from github.com/hashicorp/terraform-plugin-testing's releases.
Changelog
Sourced from github.com/hashicorp/terraform-plugin-testing's changelog.
Commits
beb5594
Update changelog77f39ff
build(deps): Bump golang.org/x/crypto from 0.20.0 to 0.21.0 (#301)246ec98
Bump Go version to 1.21 (#300)8d96004
Adding experimental status and example usage forExpectKnownValue
, `ExpectK...cfd6640
build(deps): Bump github.com/hashicorp/hcl/v2 from 2.19.1 to 2.20.0 (#298)d9286db
build(deps): Bump github.com/zclconf/go-cty from 1.14.2 to 1.14.3 (#299)e3316c0
build(deps): Bump github.com/hashicorp/terraform-plugin-sdk/v2 (#296)ff585cf
Add calls tot.Helper()
indefer
ed functions (#293)a8803ed
build(deps): Bump golang.org/x/crypto from 0.19.0 to 0.20.0 (#297)058bbd4
Result of tsccr-helper -log-level=info gha update -latest . (#291)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show