Terraform schema definition stands in the middle of the Terraform core schema and the Plugin SDK/FW schema.
The motivation for this is to add more information that is lost during the conversion from plugin sdk to the terraform core schema. These information are fatal for developing tools that is oriented to the provider, rather than to the terraform core.
Specifically, we are:
- Adding
Default
for theAttribute
- Adding
Required
,Optional
,Computed
for theBlockType
(SDK v2 only) - Adding
ExactlyOneOf
,AtLeastOneOf
,ConflictsWith
andRequiredWith
for bothBlockType
and theAttribute
(SDK v2 only) - Removing any other attributes