Skip to main content

Legend

InputProperty

Union of all input property types. Discriminated by the type 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
ShowWhen
Only show this field when another field has a specific valueSee: ShowWhen
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: array
any[] | 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
ShowWhen
Only show this field when another field has a specific valueSee: ShowWhen
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_array
string[] | 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
integer
Maximum number of items in the list. Enforces an upper bound at form-validation time and on submit. Used by cert-group domains fields (capped at 10 to match ACM’s default SAN limit). Optional.(format:int32)

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
ShowWhen
Only show this field when another field has a specific valueSee: ShowWhen
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: boolean
boolean
required
Default boolean value(templateable)

CompoundInputProperty

Compound select input property. Allows selecting from options where each option contains multiple fields. The fields 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
ShowWhen
Only show this field when another field has a specific valueSee: ShowWhen
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: compound
string[]
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
ShowWhen
Only show this field when another field has a specific valueSee: ShowWhen
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: gitrepo
string
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
ShowWhen
Only show this field when another field has a specific valueSee: ShowWhen
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: keyvalue
map<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
ShowWhen
Only show this field when another field has a specific valueSee: ShowWhen
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: number
integer | "$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
ShowWhen
Only show this field when another field has a specific valueSee: ShowWhen
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_array
ObjectArrayDefaultItem[] | null
Default array value for the fieldSee: ObjectArrayDefaultItem(templateable)
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
Input definitions for each object value in the array.See: InputProperty(minItems:1)

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
ShowWhen
Only show this field when another field has a specific valueSee: ShowWhen
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: object
any | 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
ShowWhen
Only show this field when another field has a specific valueSee: ShowWhen
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_map
map<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
Input definitions for each object value in the map.See: InputProperty(minItems:1)

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
ShowWhen
Only show this field when another field has a specific valueSee: ShowWhen
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
ShowWhen
Only show this field when another field has a specific valueSee: ShowWhen
enum
required
Input type for visual section separators — produces no valueAllowed values: section

StringInputProperty

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
ShowWhen
Only show this field when another field has a specific valueSee: ShowWhen
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: string
string | "$values:first"
Default value for the field(templateable)
string
Placeholder text when the field is empty
string
Static, non-editable text shown as an adornment before the input (left side). Use to frame the value, e.g. a wildcard prefix. May contain a << … >> template resolved against the form context.
string
Static, non-editable text shown as an adornment after the input (right side). May contain a << … >> template resolved against the form context (e.g. the platform domain apex). An unresolved/empty template renders no suffix.
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
ShowWhen
Only show this field when another field has a specific valueSee: ShowWhen
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: text
string | 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

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. The type field selects which schema applies.

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
ShowWhen
Only show this field when another field has a specific valueSee: ShowWhen
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_array
ObjectArrayDefaultItem[] | null
Default array value for the fieldSee: ObjectArrayDefaultItem(templateable)
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
ShowWhen
Only show this field when another field has a specific valueSee: ShowWhen
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_map
map<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)