helper/resource: False positive checks of list, map, and set attributes with TestCheckNoResourceAttr and TestCheckResourceAttrSet will now return an error to explain how to accurately check those types of attributes. Some previously passing tests will now fail until the check is correctly updated. (#920)
helper/schema: Any returned non-nilerror with an Error() method that returns an empty string (""), will now return an error diagnostic with an "Empty Error String" summary instead of a panic. Enabling Terraform logging at the WARN level (e.g. TF_LOG=WARN terraform apply) can help locate the problematic error by searching for the detected empty error string log message. (#914)
ENHANCEMENTS:
helper/resource: Added error when errantly checking list, map, or set attributes in TestCheckNoResourceAttr, TestCheckResourceAttr, and TestCheckResourceAttrSet (#920)
helper/resource: Execute Terraform CLI commands during acceptance testing with CHECKPOINT_DISABLE=1 set, removing extraneous calls to checkpoint.hashicorp.com to check for latest Terraform CLI version (#913)
BUG FIXES:
helper/schema: Allowed Schema with TypeInt to accept string values from DefaultFunc, such as EnvDefaultFunc (#841) (#841)
helper/schema: Prevented panics during error to diagnostic conversion for a non-nil error with an Error() method that returns an empty string ("") (#914)
helper/validation: Prevented panics with ToDiagFunc() function when used inside Schema type Elem field, such as validating TypeList elements (#915)
v2.12.0
ENHANCEMENTS:
helper/resource: Support JSON in TestStep type Config field (#722)
BUG FIXES:
customdiff: Prevented unexpected non-existent key errors in ComputedIf, ForceNewIf, and ForceNewIfChange since 2.11.0, using a warning log for backwards compatibility instead (#909)
v2.11.0
NOTES:
The underlying terraform-plugin-log dependency has been updated to v0.3.0, which includes a breaking change in the optional additional fields parameter of logging function calls to ensure correctness and catch coding errors during compilation. Any early adopter provider logging which calls those functions may require updates. (#900)
helper/resource: The new terraform-plugin-log sdk.helper_resource logger inherits the TF_LOG, TF_LOG_PATH_MASK, and TF_ACC_LOG_PATH environment variable settings, similar to the prior logging. The TF_LOG_SDK_HELPER_RESOURCE environment variable can be used to separately control the new logger level. (#891)
helper/schema: Started using terraform-plugin-log to write some SDK-level logs. Very few logs use this functionality now, but in the future, the environment variable TF_LOG_SDK_HELPER_SCHEMA will be able to set the log level for the SDK separately from the provider. (#837)
helper/schema: The Schema type DiffSuppressOnRefresh field opts in to using DiffSuppressFunc to detect normalization changes during refresh, using the same rules as for planning. This can prevent normalization cascading downstream and producing confusing changes in other resources, and will avoid reporting "Values changed outside of Terraform" for normalization-only situations. This is a desirable behavior for most attributes that have DiffSuppressFunc and so would ideally be on by default, but it is opt-in for backward compatibility reasons. (#882)
plugin: The Debug function has been deprecated in preference of setting the Debug field in the ServeOpts passed into the Serve function. (#857)
ENHANCEMENTS:
helper/resource: Added more visible logging for test steps skipped via the TestStep type SkipFunc field. (#889)
helper/resource: False positive checks of list, map, and set attributes with TestCheckNoResourceAttr and TestCheckResourceAttrSet will now return an error to explain how to accurately check those types of attributes. Some previously passing tests will now fail until the check is correctly updated. (#920)
helper/schema: Any returned non-nilerror with an Error() method that returns an empty string (""), will now return an error diagnostic with an "Empty Error String" summary instead of a panic. Enabling Terraform logging at the WARN level (e.g. TF_LOG=WARN terraform apply) can help locate the problematic error by searching for the detected empty error string log message. (#914)
ENHANCEMENTS:
helper/resource: Added error when errantly checking list, map, or set attributes in TestCheckNoResourceAttr, TestCheckResourceAttr, and TestCheckResourceAttrSet (#920)
helper/resource: Execute Terraform CLI commands during acceptance testing with CHECKPOINT_DISABLE=1 set, removing extraneous calls to checkpoint.hashicorp.com to check for latest Terraform CLI version (#913)
BUG FIXES:
helper/schema: Allowed Schema with TypeInt to accept string values from DefaultFunc, such as EnvDefaultFunc (#841) (#841)
helper/schema: Prevented panics during error to diagnostic conversion for a non-nil error with an Error() method that returns an empty string ("") (#914)
helper/validation: Prevented panics with ToDiagFunc() function when used inside Schema type Elem field, such as validating TypeList elements (#915)
2.12.0 (March 17, 2022)
ENHANCEMENTS:
helper/resource: Support JSON in TestStep type Config field (#722)
BUG FIXES:
customdiff: Prevented unexpected non-existent key errors in ComputedIf, ForceNewIf, and ForceNewIfChange since 2.11.0, using a warning log for backwards compatibility instead (#909)
2.11.0 (March 11, 2022)
NOTES:
The underlying terraform-plugin-log dependency has been updated to v0.3.0, which includes a breaking change in the optional additional fields parameter of logging function calls to ensure correctness and catch coding errors during compilation. Any early adopter provider logging which calls those functions may require updates. (#900)
helper/resource: The new terraform-plugin-log sdk.helper_resource logger inherits the TF_LOG, TF_LOG_PATH_MASK, and TF_ACC_LOG_PATH environment variable settings, similar to the prior logging. The TF_LOG_SDK_HELPER_RESOURCE environment variable can be used to separately control the new logger level. (#891)
helper/schema: Started using terraform-plugin-log to write some SDK-level logs. Very few logs use this functionality now, but in the future, the environment variable TF_LOG_SDK_HELPER_SCHEMA will be able to set the log level for the SDK separately from the provider. (#837)
helper/schema: The Schema type DiffSuppressOnRefresh field opts in to using DiffSuppressFunc to detect normalization changes during refresh, using the same rules as for planning. This can prevent normalization cascading downstream and producing confusing changes in other resources, and will avoid reporting "Values changed outside of Terraform" for normalization-only situations. This is a desirable behavior for most attributes that have DiffSuppressFunc and so would ideally be on by default, but it is opt-in for backward compatibility reasons. (#882)
plugin: The Debug function has been deprecated in preference of setting the Debug field in the ServeOpts passed into the Serve function. (#857)
ENHANCEMENTS:
helper/resource: Added more visible logging for test steps skipped via the TestStep type SkipFunc field. (#889)
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 ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps github.com/hashicorp/terraform-plugin-sdk/v2 from 2.10.1 to 2.13.0.
Release 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
0f834ff
Update CHANGELOG for 2.13.0f74b5a6
helper/resource: Added error when errantly checking list, map, or set attribu...40ff3ed
helper/schema: Update Go documentation for StateUpgradeFunc (#921)afa8402
helper/resource: Additional Go documentation for TypeSet TestCheckFunc (#916)ab84f8b
helper/schema: Prevented panics during error to diagnostic conversion (#914)a0d2e21
helper/validation: Prevented panics withToDiagFunc()
function when used in...1c932cf
internal/plugintest: Set CHECKPOINT_DISABLE=1 in terraform-exec directly (#913)a0e2144
Update CHANGELOG for #8415b915f2
helper/schema: Allow Schema with TypeInt to accept string values from Default...0045c35
helper/resource: Additional Go documentation for TestCheck and TestMatch func...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 ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)