FEATURES:
- listvalidator: Added
NoNullValues
validator (#245) - mapvalidator: Added
NoNullValues
validator (#245) - setvalidator: Added
NoNullValues
validator (#245) - dynamicvalidator: New package which contains
types.Dynamic
specific validators (#249)
BUG FIXES:
- Fixed bug with
ConflictsWith
andAlsoRequires
validators where unknown values would raise invalid diagnostics duringterraform validate
. (#251)
FEATURES:
- ephemeralvalidator: Introduce new package with declarative validators for ephemeral resource configurations (#242)
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. (#229)
- all: Previously, creating validators with invalid data would result in a
nil
value being returned and a panic fromterraform-plugin-framework
. This has been updated to return an implementation diagnostic referencing the invalid data/validator during config validation. (#235)
FEATURES:
- boolvalidator: Added
Equals
validator (#232)
ENHANCEMENTS:
- all: Implemented parameter interfaces for all value-based validators. This allows these validators to be used with provider-defined functions. (#235)
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 (#198)
FEATURES:
- int32validator: New package which contains int32 type specific validators (#222)
- float32validator: New package which contains float32 type specific validators (#222)
ENHANCEMENTS:
- listvalidator: Added
ValueInt32sAre
andValueFloat32sAre
validators (#222) - mapvalidator: Added
ValueInt32sAre
andValueFloat32sAre
validators (#222) - setvalidator: Added
ValueInt32sAre
andValueFloat32sAre
validators (#222)
BUG FIXES:
- Add the attribute from the request to the at-least-one validator's error message (#199)
ENHANCEMENTS:
- boolvalidator: Added
All
,Any
, andAnyWithAllWarnings
validators (#158) - datasourcevalidator: Added
All
,Any
, andAnyWithAllWarnings
validators (#158) - providervalidator: Added
All
,Any
, andAnyWithAllWarnings
validators (#158) - resourcevalidator: Added
All
,Any
, andAnyWithAllWarnings
validators (#158)
NOTES:
- This Go module has been updated to Go 1.19 per the Go support policy. Any consumers building on earlier Go versions may experience errors. (#117)
ENHANCEMENTS:
- int64validator: Added
equalToProductOf
validator (#129)
BUG FIXES:
- stringvalidator: Removed double quoting in
Description
returned fromNoneOf
,NoneOfCaseInsensitive
,OneOf
andOneOfCaseInsensitive
validators (#152)
ENHANCEMENTS:
- listvalidator: Added
IsRequired
validator (#107) - setvalidator: Added
IsRequired
validator (#107) - objectvalidator: Added
IsRequired
validator (#107)
ENHANCEMENTS:
- listvalidator: Added
UniqueValues
validator (#88) - stringvalidator: Added
UTF8LengthAtLeast
,UTF8LengthAtMost
, andUTF8LengthBetween
validators (#87)
NOTES:
- all: Support terraform-plugin-framework version 1.0.0 types handling (#83)
BREAKING CHANGES:
- all: Migrated implementations to support terraform-plugin-framework version 0.17.0
datasource/schema
,provider/schema
, andresource/schema
packages with type-specific validation (#80) - listvalidator: The
ValuesAre
validator has been removed and split into element type-specific validators in the same package, such asStringValuesAre
(#80) - mapvalidator: The
ValuesAre
validator has been removed and split into element type-specific validators in the same package, such asStringValuesAre
(#80) - metavalidator: The
All
andAny
validators have been removed and split into type-specific packages, such asstringvalidator.Any
(#80) - schemavalidator: The
AlsoRequires
,AtLeastOneOf
,ConflictsWith
, andExactlyOneOf
validators have been removed and split into type-specific packages, such asstringvalidator.ConflictsWith
(#80) - setvalidator: The
ValuesAre
validator has been removed and split into element type-specific validators in the same package, such asStringValuesAre
(#80)
FEATURES:
- boolvalidator: New package which contains boolean type specific validators (#80)
- objectvalidator: New package which contains object type specific validators (#80)
NOTES:
- all: This Go module has been updated for deprecations in terraform-plugin-framework version 0.15.0 (#72)
- all: This Go module has been updated to make it compatible with the breaking changes in terraform-plugin-framework version 0.16.0 (#77)
BUG FIXES:
- mapvalidator: Updated
KeysAre()
to return all errors instead of just the first (#74)
NOTES:
- This Go module has been updated to Go 1.18 per the Go support policy. Any consumers building on earlier Go versions may experience errors. (#55)
FEATURES:
- Introduced
datasourcevalidator
package withAtLeastOneOf()
,Conflicting()
,ExactlyOneOf()
, andRequiredTogether()
validation functions (#60) - Introduced
providervalidator
package withAtLeastOneOf()
,Conflicting()
,ExactlyOneOf()
, andRequiredTogether()
validation functions (#60) - Introduced
resourcevalidator
package withAtLeastOneOf()
,Conflicting()
,ExactlyOneOf()
, andRequiredTogether()
validation functions (#60)
BUG FIXES:
- all: Included missing attribute path details in error diagnostics since they are currently not output by Terraform (#61)
FEATURES:
- Introduced
metavalidator
package withAny()
,AnyWithAllWarnings()
, andAll()
validation functions (#43) - Introduced
schemavalidator
package with 4 new validation functions:RequiredWith()
,ConflictsWith()
,AtLeastOneOf()
,ExactlyOneOf()
(#32)
ENHANCEMENTS:
- int64validator: Added
AtLeastSumOf()
,AtMostSumOf()
andEqualToSumOf()
validation functions (#29)
FEATURES:
- Introduced
listvalidator
package withValuesAre()
validation functions (#37) - Introduced
mapvalidator
package withKeysAre()
andValuesAre()
validation functions (#38) - Introduced
numbervalidator
package withOneOf()
andNoneOf()
validation functions (#42) - Introduced
setvalidator
package withValuesAre()
validation function (#36)
ENHANCEMENTS:
- float64validator: Added
OneOf()
andNoneOf()
validation functions (#42) - int64validator: Added
OneOf()
andNoneOf()
validation functions (#42) - listvalidator: Added
SizeAtLeast()
,SizeAtMost()
andSizeBetween
validation functions (#41) - mapvalidator: Added
SizeAtLeast()
,SizeAtMost()
andSizeBetween
validation functions (#39) - setvalidator: Added
SizeAtLeast()
,SizeAtMost()
andSizeBetween
validation functions (#40) - stringvalidator: Added
OneOf()
andNoneOf()
(case sensitive), andOneOfCaseInsensitive()
andNoneOfCaseInsensitive()
(case insensitive) validation functions (#45)
BREAKING CHANGES:
- Fixed package naming for
int64validator
: was misnamedvalidate
(#25)
FEATURES:
- Introduced
float64validator
package withAtLeast()
,AtMost()
, andBetween()
validation functions (#18) - Introduced
int64validator
package withAtLeast()
,AtMost()
, andBetween()
validation functions (#21) - Introduced
stringvalidator.RegexMatches()
validation function (#23) - Introduced
stringvalidator
package withLengthAtLeast()
,LengthAtMost()
, andLengthBetween()
validation functions (#22)