# Functions
ArraySpec wraps the array and returns a spec.
AttrSpec wraps the attr and returns a spec.
BlockAttrsSpec wraps the block attrs and returns a spec.
BlockListSpec wraps the block list and returns a spec.
BlockMapSpec wraps the block map and returns a spec.
BlockSetSpec wraps the block set and returns a spec.
BlockSpec wraps the block and returns a spec.
DefaultSpec wraps the default and returns a spec.
LiteralSpec wraps the literal and returns a spec.
NewArray returns a new array spec.
NewAttr returns a new attribute spec.
NewBlock returns a new block spec.
NewBlockAttrs returns a new block attrs spec.
NewBlockList returns a new block list spec that has no limits.
NewBlockListLimited returns a new block list spec that limits the number of blocks.
NewBlockMap returns a new block map spec.
NewBlockSet returns a new block set spec that has no limits.
NewBlockSetLimited returns a new block set spec that limits the number of blocks.
NewDefault returns a new default spec.
NewLiteral returns a new literal spec.
NewObject returns a new object spec.
ObjectSpec wraps the object and returns a spec.
# Structs
Array spec type produces a JSON array whose elements are set based on any nested spec blocks:
```hcl Array { Attr { name = "first_element" type = "string" } Attr { name = "second_element" type = "string" } } ```
An `Array` spec block creates no validation constraints, but it passes on any validation constraints created by the nested specs.
Attr spec type reads the value of an attribute in the current body and returns that value as its result.
Block spec type applies one nested spec block to the contents of a block within the current body and returns the result of that spec.
The BlockAttrs spec type is similar to an Attr spec block of a map type, but it produces a map from the attributes of a block rather than from an attribute's expression.
BlockList spec type is similar to `Block`, but it accepts zero or more blocks of a specified type rather than requiring zero or one.
BlockMap spec type is similar to `Block`, but it accepts zero or more blocks of a specified type rather than requiring zero or one.
BlockSet spec type behaves the same as BlockList except that the result is in no specific order and any duplicate items are removed.
Default spec type evaluates a sequence of nested specs in turn and returns the result of the first one that produces a non-null value.
Literal spec type returns a given literal value, and creates no validation constraints.
Object spec type is the most commonly used at the root of a spec file.
Spec defines the available specification types.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author