Legend
Inputs
Input configuration defining the module’s form fieldsInputProperty
Union of all input property types. Discriminated by thetype field on each property model.
Each variant has a literal type property for TypeScript narrowing.One of: StringInputProperty, TextInputProperty, ObjectInputProperty, ObjectMapInputProperty, ObjectArrayInputProperty, ArrayInputProperty, ArrayStringInputProperty, NumberInputProperty, BooleanInputProperty, SectionInputProperty, CompoundInputProperty, RefInputProperty, GitRepoInputProperty, KeyValueInputProperty.ArrayInputProperty
Array editor input property. Allows users to enter an arbitrary JSON array with syntax highlighting and validation. Supports both YAML and JSON formats in the UI.string
required
Unique identifier for this input.(minLen:1)
string
required
Text shown above the form field(minLen:1)
string
Help text shown below the label
boolean
Lock this field after first deploy — prevents changes to destructive settings
string[]
Input IDs from earlier module versions whose values this input now holds.
Upgrading an existing instance to this version does not trip the immutable
input check for the listed inputs or for this one, so a module version can
rename or merge immutable inputs without forcing a destroy and recreate.
boolean
Render this field as collapsible (tag when collapsed, full field when expanded)Supported for all value-producing input types.
Consecutive collapsible fields are automatically grouped together.
Divider inputs break collapsible groups.
enum
required
Input type for array editor fieldsAllowed values:
arrayany[] | null
Default array value for the field(templateable)
string
Placeholder text when the field is empty
boolean
Whether the field must be filled in
ArrayStringInputProperty
Array of strings input property. Allows users to add/remove multiple string values.string
required
Unique identifier for this input.(minLen:1)
string
required
Text shown above the form field(minLen:1)
string
Help text shown below the label
boolean
Lock this field after first deploy — prevents changes to destructive settings
string[]
Input IDs from earlier module versions whose values this input now holds.
Upgrading an existing instance to this version does not trip the immutable
input check for the listed inputs or for this one, so a module version can
rename or merge immutable inputs without forcing a destroy and recreate.
boolean
Render this field as collapsible (tag when collapsed, full field when expanded)Supported for all value-producing input types.
Consecutive collapsible fields are automatically grouped together.
Divider inputs break collapsible groups.
enum
required
Input type for dynamic string arraysAllowed values:
string_arraystring[] | null
Default array of values(templateable)
string
Placeholder text for each input field in the array
string
Label for the “Add” button below the list
StringValues
Allowed values — static array of options or dynamic reference for a multi-select dropdownSee: StringValues
boolean
Whether at least one item is required
ValidationPattern[]
Regex patterns to validate each array item againstSee: ValidationPattern
BooleanInputProperty
Boolean toggle/checkbox input property. Renders as a toggle switch or checkbox in the UI.string
required
Unique identifier for this input.(minLen:1)
string
required
Text shown above the form field(minLen:1)
string
Help text shown below the label
boolean
Lock this field after first deploy — prevents changes to destructive settings
string[]
Input IDs from earlier module versions whose values this input now holds.
Upgrading an existing instance to this version does not trip the immutable
input check for the listed inputs or for this one, so a module version can
rename or merge immutable inputs without forcing a destroy and recreate.
boolean
Render this field as collapsible (tag when collapsed, full field when expanded)Supported for all value-producing input types.
Consecutive collapsible fields are automatically grouped together.
Divider inputs break collapsible groups.
enum
required
Input type for boolean toggle fieldsAllowed values:
booleanboolean
required
Default boolean value(templateable)
CompoundInputProperty
Compound select input property. Allows selecting from options where each option contains multiple fields. Thefields array specifies which fields from the selected value to expose.Note: CEL validation ensures values is always provided for compound inputs.string
required
Unique identifier for this input.(minLen:1)
string
required
Text shown above the form field(minLen:1)
string
Help text shown below the label
boolean
Lock this field after first deploy — prevents changes to destructive settings
string[]
Input IDs from earlier module versions whose values this input now holds.
Upgrading an existing instance to this version does not trip the immutable
input check for the listed inputs or for this one, so a module version can
rename or merge immutable inputs without forcing a destroy and recreate.
boolean
Render this field as collapsible (tag when collapsed, full field when expanded)Supported for all value-producing input types.
Consecutive collapsible fields are automatically grouped together.
Divider inputs break collapsible groups.
enum
required
Input type for compound select dropdownsAllowed values:
compoundstring[]
required
List of field names to expose from the selected compound value(minItems:1)
map<string,string | number | integer | boolean | string[]> | "$values:first"
Default value — a record with the field values(templateable)
boolean
Whether the field must be filled in
CompoundValues
Allowed values — static array of options or dynamic reference (required for compound)See: CompoundValues
string
Message shown when the dropdown has no available options
boolean
Use the current deployed value as the minimum allowed value
GitRepoInputProperty
Git repository input property. Renders a repository selector that stores the full repo URL.string
required
Unique identifier for this input.(minLen:1)
string
required
Text shown above the form field(minLen:1)
string
Help text shown below the label
boolean
Lock this field after first deploy — prevents changes to destructive settings
string[]
Input IDs from earlier module versions whose values this input now holds.
Upgrading an existing instance to this version does not trip the immutable
input check for the listed inputs or for this one, so a module version can
rename or merge immutable inputs without forcing a destroy and recreate.
boolean
Render this field as collapsible (tag when collapsed, full field when expanded)Supported for all value-producing input types.
Consecutive collapsible fields are automatically grouped together.
Divider inputs break collapsible groups.
enum
required
Input type for git repository selectorAllowed values:
gitrepostring
Default repository URL
string
Placeholder text when the field is empty
boolean
Whether the field must be filled in
KeyValueInputProperty
Key-value pairs input property. Allows users to enter a flat map of string keys to string values. Renders a dynamic key-value editor with add/remove buttons.string
required
Unique identifier for this input.(minLen:1)
string
required
Text shown above the form field(minLen:1)
string
Help text shown below the label
boolean
Lock this field after first deploy — prevents changes to destructive settings
string[]
Input IDs from earlier module versions whose values this input now holds.
Upgrading an existing instance to this version does not trip the immutable
input check for the listed inputs or for this one, so a module version can
rename or merge immutable inputs without forcing a destroy and recreate.
boolean
Render this field as collapsible (tag when collapsed, full field when expanded)Supported for all value-producing input types.
Consecutive collapsible fields are automatically grouped together.
Divider inputs break collapsible groups.
enum
required
Input type for key-value editor fieldsAllowed values:
keyvaluemap<string,string> | null
Default key-value pairs for the field(templateable)
boolean
Whether the field must have at least one key-value pair
NumberInputProperty
Numeric input property. Can be a free-form number field or a dropdown/select when values are provided.Note: CEL validation ensures min <= max when both are specified.string
required
Unique identifier for this input.(minLen:1)
string
required
Text shown above the form field(minLen:1)
string
Help text shown below the label
boolean
Lock this field after first deploy — prevents changes to destructive settings
string[]
Input IDs from earlier module versions whose values this input now holds.
Upgrading an existing instance to this version does not trip the immutable
input check for the listed inputs or for this one, so a module version can
rename or merge immutable inputs without forcing a destroy and recreate.
boolean
Render this field as collapsible (tag when collapsed, full field when expanded)Supported for all value-producing input types.
Consecutive collapsible fields are automatically grouped together.
Divider inputs break collapsible groups.
enum
required
Input type for numeric fieldsAllowed values:
numberinteger | "$values:first"
Default numeric value(templateable)
string
Placeholder text when the field is empty
boolean
Whether the field must be filled in
NumberValues
Allowed values — static array of options or dynamic reference for a dropdownSee: NumberValues
string
Message shown when the dropdown has no available options
integer
Minimum allowed value(format:int32)
integer
Maximum allowed value(format:int32)
boolean
Use the current deployed value as the minimum allowed value
ObjectArrayInputProperty
string
required
Unique identifier for this input.(minLen:1)
string
required
Text shown above the form field(minLen:1)
string
Help text shown below the label
boolean
Lock this field after first deploy — prevents changes to destructive settings
string[]
Input IDs from earlier module versions whose values this input now holds.
Upgrading an existing instance to this version does not trip the immutable
input check for the listed inputs or for this one, so a module version can
rename or merge immutable inputs without forcing a destroy and recreate.
boolean
Render this field as collapsible (tag when collapsed, full field when expanded)Supported for all value-producing input types.
Consecutive collapsible fields are automatically grouped together.
Divider inputs break collapsible groups.
enum
required
Input type for structured object arraysAllowed values:
object_arrayObjectArrayDefaultItem[] | null
boolean
Whether the field must contain at least one item
string
Label for each array item, used in add buttons and editor headers
ObjectCollectionItemTitleConfig
User-facing title template for each array item.See: ObjectCollectionItemTitleConfig
string | null
User-facing description template shown as a secondary line for each array item.
Supports placeholders like {field_id}.(templateable)
InputProperty[]
required
ObjectInputProperty
Object editor input property. Allows users to enter arbitrary object data with syntax highlighting and validation. Supports both YAML and JSON formats in the UI.string
required
Unique identifier for this input.(minLen:1)
string
required
Text shown above the form field(minLen:1)
string
Help text shown below the label
boolean
Lock this field after first deploy — prevents changes to destructive settings
string[]
Input IDs from earlier module versions whose values this input now holds.
Upgrading an existing instance to this version does not trip the immutable
input check for the listed inputs or for this one, so a module version can
rename or merge immutable inputs without forcing a destroy and recreate.
boolean
Render this field as collapsible (tag when collapsed, full field when expanded)Supported for all value-producing input types.
Consecutive collapsible fields are automatically grouped together.
Divider inputs break collapsible groups.
enum
required
Input type for object editor fieldsAllowed values:
objectany | null
Default object value for the field(templateable)
string
Placeholder text when the field is empty
boolean
Whether the field must be filled in
ObjectMapInputProperty
string
required
Unique identifier for this input.(minLen:1)
string
required
Text shown above the form field(minLen:1)
string
Help text shown below the label
boolean
Lock this field after first deploy — prevents changes to destructive settings
string[]
Input IDs from earlier module versions whose values this input now holds.
Upgrading an existing instance to this version does not trip the immutable
input check for the listed inputs or for this one, so a module version can
rename or merge immutable inputs without forcing a destroy and recreate.
boolean
Render this field as collapsible (tag when collapsed, full field when expanded)Supported for all value-producing input types.
Consecutive collapsible fields are automatically grouped together.
Divider inputs break collapsible groups.
enum
required
Input type for structured object mapsAllowed values:
object_mapmap<string,any | null>
Default map value for the field(templateable)
boolean
Whether the field must contain at least one entry
MapKeyConfig
Metadata for the map entry key field.See: MapKeyConfig
ObjectCollectionItemTitleConfig
User-facing title template for each map item.See: ObjectCollectionItemTitleConfig
string
Label for each map item, used in add buttons and editor headers
InputProperty[]
required
RefInputProperty
Module reference input property. Allows selecting another module instance or manually entering fallback inputs.string
required
Unique identifier for this input.(minLen:1)
string
required
Text shown above the form field(minLen:1)
string
Help text shown below the label
boolean
Lock this field after first deploy — prevents changes to destructive settings
string[]
Input IDs from earlier module versions whose values this input now holds.
Upgrading an existing instance to this version does not trip the immutable
input check for the listed inputs or for this one, so a module version can
rename or merge immutable inputs without forcing a destroy and recreate.
boolean
Render this field as collapsible (tag when collapsed, full field when expanded)Supported for all value-producing input types.
Consecutive collapsible fields are automatically grouped together.
Divider inputs break collapsible groups.
string
required
Reference to another module type — format is “$ref:<module-type>”
RefFallbackInputProperty[]
Input definitions that copy values from the selected referenced module into
this module’s input values. Each mapped input is saved as a normal input on
the current module. When users do not select a module instance, these same
fields are shown for manual entry.
Nested module references are not allowed in mapped inputs.See: RefFallbackInputProperty
boolean
Whether the module reference is required
SectionInputProperty
Visual section separator property. Used to separate sections in the module form. Does not produce any input value - purely for visual organization.string
required
Unique identifier for this input.(minLen:1)
string
required
Text shown above the form field(minLen:1)
string
Help text shown below the label
enum
required
Input type for visual section separators — produces no valueAllowed values:
sectionStringInputProperty
Single-line text input property. Can be a free-form text field or a dropdown/select when values are provided.string
required
Unique identifier for this input.(minLen:1)
string
required
Text shown above the form field(minLen:1)
string
Help text shown below the label
boolean
Lock this field after first deploy — prevents changes to destructive settings
string[]
Input IDs from earlier module versions whose values this input now holds.
Upgrading an existing instance to this version does not trip the immutable
input check for the listed inputs or for this one, so a module version can
rename or merge immutable inputs without forcing a destroy and recreate.
boolean
Render this field as collapsible (tag when collapsed, full field when expanded)Supported for all value-producing input types.
Consecutive collapsible fields are automatically grouped together.
Divider inputs break collapsible groups.
enum
required
Input type for single-line text fieldsAllowed values:
stringstring | "$values:first"
Default value for the field(templateable)
string
Placeholder text when the field is empty
boolean
Whether the field must be filled in
StringValues
Allowed values — static array of options or dynamic reference for a dropdownSee: StringValues
string
Message shown when the dropdown has no available options
ValidationPattern[]
Regex patterns to validate againstSee: ValidationPattern
boolean
Use the current deployed value as the minimum allowed value
TextInputProperty
Multi-line text area input property. Used for longer text content like descriptions, commands, or configuration.string
required
Unique identifier for this input.(minLen:1)
string
required
Text shown above the form field(minLen:1)
string
Help text shown below the label
boolean
Lock this field after first deploy — prevents changes to destructive settings
string[]
Input IDs from earlier module versions whose values this input now holds.
Upgrading an existing instance to this version does not trip the immutable
input check for the listed inputs or for this one, so a module version can
rename or merge immutable inputs without forcing a destroy and recreate.
boolean
Render this field as collapsible (tag when collapsed, full field when expanded)Supported for all value-producing input types.
Consecutive collapsible fields are automatically grouped together.
Divider inputs break collapsible groups.
enum
required
Input type for multi-line text areasAllowed values:
textstring | null
Default value for the field(templateable)
string
Placeholder text when the field is empty
boolean
Whether the field must be filled in
ValidationPattern[]
Regex patterns to validate againstSee: ValidationPattern
ShowWhen
Conditional visibility mapping; array source values support contains and contains-all matching. Keys are property names, values are the expected values or conditions. The property is shown only when all conditions are met.Type: map<string,ShowWhenCondition>StringValues
String values - either a static array of options or a dynamic reference.One of: StringValueItem[], string.ValidationPattern
A regex pattern with an error message for validationstring
required
JavaScript regex the input must match
string
required
Error shown to the user when validation fails
CompoundFieldValue
Allowed value types within a compound value item. Supports primitive types plus string arrays.One of: string, number, integer, boolean, string[].CompoundValues
Compound values - either a static array of options or a dynamic reference.Note: CEL validation ensures values is provided (compound requires values).One of: CompoundValueItem[], string.DefaultValueRef
Special default references derived from the field’s values list.Allowed values:$values:first
Pipeline.GitRepoUrl
Full git repository URL including host.Type: stringNumberValues
Number values - either a static array of options or a dynamic reference.One of: NumberValueItem[], string.ObjectArrayDefaultItem
Default value item for structured object arrays. Each array element must be an object keyed by the nested item input ids.Type: map<string,any | null>ObjectCollectionItemTitleConfig
Configuration for the title shown for each structured collection item in the form.string
required
Template for the item title. Supports placeholders like {key} for maps and {field_id}.
string
Fallback title template used when the primary template cannot be resolved.
MapKeyConfig
Configuration for the string key of an object_map entry.string
Text shown for the map key field.
string
Placeholder text for a new map key.
string
Help text shown below the map key field.
ValidationPattern[]
Regex patterns to validate map keys against.See: ValidationPattern
string | null[]
Item input fields used to compute the map key instead of asking for one. Empty/null entries are ignored.
string
String used to join computed key field values. Defaults to ”-”.
RefFallbackInputProperty
Input properties allowed inside module reference fallback inputs. Nested module references are intentionally excluded to prevent references from recursively declaring more references through their mapped inputs. Keep this union in sync with InputProperty except for the ref member and the collection variants, which recursively use this fallback union.Discriminated union. Thetype field selects which schema applies.RefTypeDiscriminator
Type discriminator for module references. Format: “ref:<module-type>" (e.g., "ref:ravion-aws-vpc”) The module type is extracted by removing the “$ref:” prefix.Type: stringShowWhenCondition
A show_when condition.One of: string | integer | boolean | string | integer | boolean[], ShowWhenNotCondition.DynamicValuesRef
Dynamic values reference. References an external value source resolved at runtime. Query parameters may use module input templates, e.g.$values:aws/ec2/instances?awsAccountId=<<module.input.aws_account_id>>®ion=<<module.input.region>>.Type: stringStringValueItem
A selectable option with a string value. Used in string input validation.values arrays.string
Text shown in the dropdown — defaults to value if omitted
string
Extra detail shown alongside the option
string
Groups options under a shared heading in the dropdown
string
required
Actual value sent to Terraform when this option is selected
CompoundValueItem
A compound value item - a record with arbitrary fields plus select metadata. Each key maps to a field value, and includes optional display fields.Note: The actual structure is a Record with dynamic keys for the data fields, plus the optional BaseSelectFields (label, description, group_label).string
Text shown in the dropdown — defaults to value if omitted
string
Extra detail shown alongside the option
string
Groups options under a shared heading in the dropdown
NumberValueItem
A selectable option with a numeric value. Used in number input validation.values arrays.string
Text shown in the dropdown — defaults to value if omitted
string
Extra detail shown alongside the option
string
Groups options under a shared heading in the dropdown
integer
required
Actual number sent to Terraform when this option is selected(format:int32)
RefFallbackObjectArrayInputProperty
string
required
Unique identifier for this input.(minLen:1)
string
required
Text shown above the form field(minLen:1)
string
Help text shown below the label
boolean
Lock this field after first deploy — prevents changes to destructive settings
string[]
Input IDs from earlier module versions whose values this input now holds.
Upgrading an existing instance to this version does not trip the immutable
input check for the listed inputs or for this one, so a module version can
rename or merge immutable inputs without forcing a destroy and recreate.
boolean
Render this field as collapsible (tag when collapsed, full field when expanded)Supported for all value-producing input types.
Consecutive collapsible fields are automatically grouped together.
Divider inputs break collapsible groups.
enum
required
Input type for structured object arraysAllowed values:
object_arrayObjectArrayDefaultItem[] | null
boolean
Whether the field must contain at least one item
string
Label for each array item, used in add buttons and editor headers
ObjectCollectionItemTitleConfig
User-facing title template for each array item.See: ObjectCollectionItemTitleConfig
string | null
User-facing description template shown as a secondary line for each array item.
Supports placeholders like {field_id}.(templateable)
RefFallbackInputProperty[]
required
Input definitions allowed inside a module reference’s mapped inputs.See: RefFallbackInputProperty(minItems:1)
RefFallbackObjectMapInputProperty
string
required
Unique identifier for this input.(minLen:1)
string
required
Text shown above the form field(minLen:1)
string
Help text shown below the label
boolean
Lock this field after first deploy — prevents changes to destructive settings
string[]
Input IDs from earlier module versions whose values this input now holds.
Upgrading an existing instance to this version does not trip the immutable
input check for the listed inputs or for this one, so a module version can
rename or merge immutable inputs without forcing a destroy and recreate.
boolean
Render this field as collapsible (tag when collapsed, full field when expanded)Supported for all value-producing input types.
Consecutive collapsible fields are automatically grouped together.
Divider inputs break collapsible groups.
enum
required
Input type for structured object mapsAllowed values:
object_mapmap<string,any | null>
Default map value for the field(templateable)
boolean
Whether the field must contain at least one entry
MapKeyConfig
Metadata for the map entry key field.See: MapKeyConfig
ObjectCollectionItemTitleConfig
User-facing title template for each map item.See: ObjectCollectionItemTitleConfig
string
Label for each map item, used in add buttons and editor headers
RefFallbackInputProperty[]
required
Input definitions allowed inside a module reference’s mapped inputs.See: RefFallbackInputProperty(minItems:1)
ShowWhenComparableValue
Value or values to compare against in a show_when condition; arrays mean membership for scalar sources and contains-all for array sources. When the source value is scalar, an array condition matches any listed value. When the source value is an array, a scalar condition matches if the array contains that value. When the source value is an array, an array condition matches if the array contains all listed values.One of: string | integer | boolean, string | integer | boolean[].ShowWhenNotCondition
Negated show_when condition.string | integer | boolean | string | integer | boolean[]
required
Show the property only when the source value does not match this condition.