Legend
Module
The root module schema.InputProperty[]
required
Input configuration defining the module’s form fieldsSee: InputProperty
ModuleStack
Stack configuration for provisioning this moduleSee: ModuleStack
ModuleBuild
Build configuration for this moduleSee: ModuleBuild
ModuleDeployment
Deployment configuration for this moduleSee: ModuleDeployment
string
Human-readable module documentation in Markdown.
Inputs
Input configuration defining the module’s form fieldsInputProperty
Union of all input property types.One of: StringInputProperty, TextInputProperty, ObjectInputProperty, ObjectMapInputProperty, ObjectArrayInputProperty, ArrayInputProperty, ArrayStringInputProperty, NumberInputProperty, BooleanInputProperty, SectionInputProperty, CompoundInputProperty, RefInputProperty, GitRepoInputProperty, KeyValueInputProperty.ArrayInputProperty
Array editor input property.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
boolean
Render this field as collapsible (tag when collapsed, full field when expanded) Supported for all value-producing input types.
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.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
boolean
Render this field as collapsible (tag when collapsed, full field when expanded) Supported for all value-producing input types.
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.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
boolean
Render this field as collapsible (tag when collapsed, full field when expanded) Supported for all value-producing input types.
enum
required
Input type for boolean toggle fieldsAllowed values:
booleanboolean
required
Default boolean value(templateable)
CompoundInputProperty
Compound select input property.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
boolean
Render this field as collapsible (tag when collapsed, full field when expanded) Supported for all value-producing input types.
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.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
boolean
Render this field as collapsible (tag when collapsed, full field when expanded) Supported for all value-producing input types.
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.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
boolean
Render this field as collapsible (tag when collapsed, full field when expanded) Supported for all value-producing input types.
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.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
boolean
Render this field as collapsible (tag when collapsed, full field when expanded) Supported for all value-producing input types.
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
boolean
Render this field as collapsible (tag when collapsed, full field when expanded) Supported for all value-producing input types.
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.(templateable)
InputProperty[]
required
ObjectInputProperty
Object editor input property.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
boolean
Render this field as collapsible (tag when collapsed, full field when expanded) Supported for all value-producing input types.
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
boolean
Render this field as collapsible (tag when collapsed, full field when expanded) Supported for all value-producing input types.
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.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
boolean
Render this field as collapsible (tag when collapsed, full field when expanded) Supported for all value-producing input types.
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 c…See: RefFallbackInputProperty
boolean
Whether the module reference is required
SectionInputProperty
Visual section separator property.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.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
boolean
Render this field as collapsible (tag when collapsed, full field when expanded) Supported for all value-producing input types.
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.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
boolean
Render this field as collapsible (tag when collapsed, full field when expanded) Supported for all value-producing input types.
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.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.One of: string, number, integer, boolean, string[].CompoundValues
Compound values - either a static array of options or a dynamic reference.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.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.Discriminated union. Thetype field selects which schema applies.RefTypeDiscriminator
Type discriminator for module references.Type: stringShowWhenCondition
A show_when condition.One of: string | integer | boolean | string | integer | boolean[], ShowWhenNotCondition.DynamicValuesRef
Dynamic values reference.Type: stringStringValueItem
A selectable option with a string value.string
Text shown in the dropdown
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.string
Text shown in the dropdown
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.string
Text shown in the dropdown
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
boolean
Render this field as collapsible (tag when collapsed, full field when expanded) Supported for all value-producing input types.
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.(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
boolean
Render this field as collapsible (tag when collapsed, full field when expanded) Supported for all value-producing input types.
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.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.
ShowWhenValue
Value that can be used in a show_when condition.One of: string, integer, boolean.Stack
Stack configuration for provisioning this moduleModuleStack
Root stack block in module.yamlenum
required
IaC stack typeAllowed values:
terraform | opentofu(templateable)StackPipelinesConfig
required
Configuration for all stack pipelinesSee: StackPipelinesConfig
string | null
The Ravion Cloud workspace name to use for state storage.(templateable)
StackPipelinesConfig
Stack pipeline configurationStackPipelineDefaults
required
Defaults applied to stack runs and merged into trigger run inputs.See: StackPipelineDefaults
StackActionPipelineConfig
required
Configuration for stack change pipelineSee: StackActionPipelineConfig
StackActionPipelineConfig
required
Configuration for stack destroy pipelineSee: StackActionPipelineConfig
StackActionPipelineConfig
Pipeline configuration for a stack actionstring
required
Pipeline ID for this stack action(minLen:1; templateable)
Pipeline.PipelineTrigger[]
Triggers that automatically start pipeline runs on webhook events.See: Pipeline.PipelineTrigger
StackPipelineDefaults
Default stack pipeline run configurationstring
required
Default variant used for stack-triggered runs(minLen:1; templateable)
map<string,any | null>
Default input values merged into each trigger run variant(templateable)
Pipeline.PipelineTrigger
Pipeline trigger definition.Discriminated union. Thetype field selects which schema applies.Pipeline.GenericPipelineTrigger
Pipeline trigger for generic webhooks.string
required
Unique identifier for this trigger
boolean
default:"true"
Whether this trigger is active. Disabled triggers are not registered.
string
required
Git repository in owner/repo or host/owner/repo format(templateable)
Pipeline.TriggerFilter
Filters to narrow which events trigger the pipelineSee: Pipeline.TriggerFilter
Pipeline.ConcurrencyConfig
Concurrency configuration for runs started by this trigger.See: Pipeline.ConcurrencyConfig
map<string,Pipeline.TriggerRunVariantConfig>
required
Maps variant IDs to run configuration — keys must match declared variant IDs.See: Pipeline.TriggerRunVariantConfig
enum
required
Webhook type for generic webhook triggers.Allowed values:
webhookPipeline.GithubPipelineTrigger
Pipeline trigger for GitHub webhooks.string
required
Unique identifier for this trigger
boolean
default:"true"
Whether this trigger is active. Disabled triggers are not registered.
string
required
Git repository in owner/repo or host/owner/repo format(templateable)
Pipeline.TriggerFilter
Filters to narrow which events trigger the pipelineSee: Pipeline.TriggerFilter
Pipeline.ConcurrencyConfig
Concurrency configuration for runs started by this trigger.See: Pipeline.ConcurrencyConfig
map<string,Pipeline.TriggerRunVariantConfig>
required
Maps variant IDs to run configuration — keys must match declared variant IDs.See: Pipeline.TriggerRunVariantConfig
enum
required
Webhook type — determines which events are supported.Allowed values:
webhook:githubenum
required
Webhook event type to listen for.Allowed values:
push | pull_request | pull_request_review | pull_request_review_comment | pull_request_review_thread | release | deploymentPipeline.GitlabPipelineTrigger
Pipeline trigger for GitLab webhooks.string
required
Unique identifier for this trigger
boolean
default:"true"
Whether this trigger is active. Disabled triggers are not registered.
string
required
Git repository in owner/repo or host/owner/repo format(templateable)
Pipeline.TriggerFilter
Filters to narrow which events trigger the pipelineSee: Pipeline.TriggerFilter
Pipeline.ConcurrencyConfig
Concurrency configuration for runs started by this trigger.See: Pipeline.ConcurrencyConfig
map<string,Pipeline.TriggerRunVariantConfig>
required
Maps variant IDs to run configuration — keys must match declared variant IDs.See: Pipeline.TriggerRunVariantConfig
enum
required
Webhook type — determines which events are supported.Allowed values:
webhook:gitlabenum
required
Webhook event type to listen for.Allowed values:
push | merge_request | tag_pushPipeline.SchedulePipelineTrigger
Pipeline trigger that starts runs on a cron schedule.string
required
Unique identifier for this trigger
boolean
default:"true"
Whether this trigger is active. Disabled triggers are not registered.
enum
required
Trigger type for cron schedule triggers.Allowed values:
schedulestring
required
Cron expression defining when the pipeline runs (UTC unless timezone is set).
string
IANA timezone for evaluating the cron expression. Defaults to UTC.
Pipeline.ConcurrencyConfig
Concurrency configuration for runs started by this trigger.See: Pipeline.ConcurrencyConfig
map<string,Pipeline.TriggerRunVariantConfig>
required
Maps variant IDs to run configuration — keys must match declared variant IDs.See: Pipeline.TriggerRunVariantConfig
Pipeline.ConcurrencyConfig
Concurrency configuration for controlling parallel executionstring
Unique identifier for the concurrency scope Triggers, steps, and blocks with the same key share a concurrency limit By default, the same key in different pip…(minLen:1)
enum
default:"pipeline"
Where the concurrency key is shared Organization-scoped concurrency requires an explicit keyAllowed values:
pipeline | organizationinteger
default:"0"
Maximum concurrent executions allowed (0 means unlimited, 1 means sequential)(format:int32,min:0)
enum
default:"queue"
Behavior when the concurrency limit is reachedAllowed values:
queue | cancel-in-progress | skipinteger
Maximum queue size when behavior is “queue” Only applies when behavior is “queue” Unset means unlimited queue depth 0 disables queueing when behavior is “queue”(format:int32,min:0)
enum
default:"oldest"
Which items to discard when queue overflows Only applies when behavior is “queue” and queue_size > 0Allowed values:
oldest | newestPipeline.TriggerFilter
Trigger filter configurationstring | null
Only trigger when this branch is pushed(templateable)
string | null
Only trigger when a tag matching this pattern is pushed(templateable)
string | string[]
Only trigger for specific webhook actions.(templateable)
string[] | null
Only trigger when files in these paths are changed(templateable)
Pipeline.PayloadCondition[]
Filter by webhook payload fields using dot-notation paths.See: Pipeline.PayloadCondition
Pipeline.TriggerRepo
Git repository identifier used by webhook triggers.Type: stringPipeline.TriggerRunVariantConfig
Per-variant run configuration for a trigger.string | null
Description for the pipeline run created by this trigger variant(templateable)
map<string,any | null>
Input overrides for this variant run(templateable)
Pipeline.GithubWebhookEvent
GitHub webhook events that can trigger a pipelineAllowed values:pushpull_requestpull_request_reviewpull_request_review_commentpull_request_review_threadreleasedeployment
Pipeline.GitlabWebhookEvent
GitLab webhook events that can trigger a pipelineAllowed values:pushmerge_requesttag_push
Pipeline.ConcurrencyBehavior
Behavior when the concurrency limit is reachedAllowed values:queuecancel-in-progressskip
Pipeline.ConcurrencyScope
Scope used to share a concurrency limitAllowed values:pipelineorganization
Pipeline.QueueOverflowDiscard
Queue overflow discard strategyAllowed values:oldestnewest
Pipeline.PayloadCondition
Condition to check against a webhook payload field.string
required
Dot-notation path to the payload field
string | null
Exact string match(templateable)
string | null
Substring match(templateable)
string | null
Glob pattern match(templateable)
string[] | null
Value must be one of these strings(templateable)
Pipeline.PayloadConditionMatcher
Negated payload field matcher. The condition fails when this matcher is true.See: Pipeline.PayloadConditionMatcher
Pipeline.PayloadConditionMatcher
Payload field matcher used by positive conditions and negated conditions.string | null
Exact string match(templateable)
string | null
Substring match(templateable)
string | null
Glob pattern match(templateable)
string[] | null
Value must be one of these strings(templateable)
Build
Build configuration for this moduleModuleBuild
Build configuration — discriminated by module build typeDiscriminated union. Thetype field selects which schema applies.DisabledModuleBuild
Disabled build configuration for a module. Additional fields are ignored.enum
required
Build type discriminatorAllowed values:
disabledImageModuleBuild
Image build configuration for a module.enum
required
Build type discriminatorAllowed values:
image(templateable)integer | null
Maximum execution time in seconds before the build is killed.(format:int32,min:1; templateable)
InputProperty[]
required
Build-specific inputs shown when running a module build.See: InputProperty
Pipeline.GitSource
required
Pipeline.ImageBuildConfig
required
Builder configuration — dockerfile, nixpacks, or railpack settings.See: Pipeline.ImageBuildConfig(templateable)
Pipeline.EnvironmentVariablesValue
Environment variables available during the build.See: Pipeline.EnvironmentVariablesValue(templateable)
boolean | null
Enable verbose build output for debugging build issues.(templateable)
Pipeline.EcrDestination[]
required
ECR destinations where the built Docker image will be pushed.See: Pipeline.EcrDestination(minItems:1; templateable)
Pipeline.StepInfrastructure
required
Execution environment configuration used for the build.See: Pipeline.StepInfrastructure(templateable)
LambdaModuleBuild
Lambda build configuration for a module. Produces a zip artifact uploaded to S3, sized for the Lambda Zip package type. Wraps the existing `Pipeline.BuildLam…enum
required
Build type discriminatorAllowed values:
lambda(templateable)integer | null
Maximum execution time in seconds before the build is killed.(format:int32,min:1; templateable)
InputProperty[]
required
Build-specific inputs shown when running a module build.See: InputProperty
Pipeline.GitSource
required
Pipeline.LambdaBuildConfig
required
Builder configuration — dockerfile or nixpacks settings for the Lambda zip build. Reuses the existing
Pipeline.LambdaBuildConfig shape so module builds and…See: Pipeline.LambdaBuildConfig(templateable)Pipeline.EnvironmentVariablesValue
Environment variables available during the build.See: Pipeline.EnvironmentVariablesValue(templateable)
boolean | null
Enable verbose build output for debugging build issues.(templateable)
Pipeline.S3Destination[]
required
S3 destinations where the Lambda deployment package will be uploaded. At least one is required; the resulting key is passed to the deploy step as `deploy.inp…See: Pipeline.S3Destination(minItems:1; templateable)
Pipeline.StepInfrastructure
required
Execution environment configuration used for the build.See: Pipeline.StepInfrastructure(templateable)
StaticModuleBuild
Static build configuration for a module.enum
required
Build type discriminatorAllowed values:
static(templateable)integer | null
Maximum execution time in seconds before the build is killed.(format:int32,min:1; templateable)
InputProperty[]
required
Build-specific inputs shown when running a module build.See: InputProperty
Pipeline.GitSource
required
Pipeline.StaticBuildConfig
required
Builder configuration — dockerfile, nixpacks, or railpack settings.See: Pipeline.StaticBuildConfig(templateable)
Pipeline.EnvironmentVariablesValue
Environment variables available during the build.See: Pipeline.EnvironmentVariablesValue(templateable)
boolean | null
Enable verbose build output for debugging build issues.(templateable)
Pipeline.S3Destination[]
required
S3 destinations where the built static assets will be uploaded.See: Pipeline.S3Destination(minItems:1; templateable)
Pipeline.StepInfrastructure
required
Execution environment configuration used for the build.See: Pipeline.StepInfrastructure(templateable)
Pipeline.EcrDestination
ECR destination for image buildsstring
required
Unique destination identifier within the build step(templateable)
enum
required
ECR destination typeAllowed values:
ecr(templateable)string
required
ECR repository ARN(templateable)
string[] | null
Docker image tags to apply in ECR after the build finishes(templateable)
Pipeline.EnvironmentVariablesValue
Environment variable map value.One of: map<string,Pipeline.EnvironmentVariable>, string.Pipeline.GitSource
Git source configuration for fetching codeenum
required
Source type identifierAllowed values:
git(templateable)string
required
Full repository URL including host(templateable)
string
required
Branch to check out(minLen:1; templateable)
string | null
Git ref to check out — branch, commit SHA, tag, or other ref. Overrides branch HEAD if set.(templateable)
string | null
default:"."
Base path within the repository to use as the working root(templateable)
Pipeline.ImageBuildConfig
Image build configuration — discriminated by build methodDiscriminated union. Thetype field selects which schema applies.Pipeline.StepInfrastructure
Step infrastructure configurationstring | null
ID or given ID of a pre-configured execution environment(templateable)
string | null
AWS account reference for automatic network selection.(templateable)
string | null
AWS region for automatic network selection(templateable)
enum
required
Instance type — “ec2” for on-demand or “ec2-spot” for cheaper spot instancesAllowed values:
ec2 | ec2-spot(templateable)string | string[]
required
Instance size — a single size like “large” or an array like [“large”, “xlarge”] for spot fallback(templateable)
string | null
AMI ID for the runner instance(templateable)
Pipeline.AwsPermissions
IAM permissions for the runner role — “attach” to add policies or “replace” to override step defaultsSee: Pipeline.AwsPermissions(templateable)
Pipeline.StorageConfig
Pipeline.LambdaBuildConfig
Lambda build configuration — discriminated by build methodDiscriminated union. Thetype field selects which schema applies.Pipeline.S3Destination
S3 destination for build artifactsstring
required
Unique destination identifier within the build step(minLen:1; templateable)
enum
required
S3 destination typeAllowed values:
s3(templateable)string
required
S3 bucket name where built assets will be uploaded(templateable)
string | null
S3 directory override for the uploaded build output.(templateable)
string
required
AWS region for the destination S3 bucket(templateable)
Pipeline.StaticBuildConfig
Static build configuration — discriminated by build methodDiscriminated union. Thetype field selects which schema applies.Pipeline.EnvironmentVariable
Environment variable — can be a plain string, Parameter Store reference, or Secrets Manager referenceOne of: string | null, Pipeline.ParameterStoreEnvVar, Pipeline.SecretsManagerEnvVar.Pipeline.DisabledBuildConfig
Disabled build configuration. Valid only for module-driven builds.enum
required
Build method — disables module build executionAllowed values:
disabled(templateable)Pipeline.ImageDockerfileBuildConfig
Dockerfile configuration for image buildsenum
required
Build method — use a custom DockerfileAllowed values:
dockerfile(templateable)string | null
default:"Dockerfile"
Path to Dockerfile relative to source.base_path(minLen:1; templateable)
string | null
default:"."
Docker build context path relative to source.base_path(templateable)
boolean | null
Whether to inject environment variables as Docker build args Accepts either a boolean literal or a full template token(templateable)
Pipeline.CacheFromConfig
Pipeline.ImageNixpacksBuildConfig
Nixpacks configuration for image buildsenum
required
Build method — use Nixpacks auto-detectionAllowed values:
nixpacks(templateable)string | null
Nixpacks version to use(templateable)
string | null
Directory to run the Nixpacks build from, relative to the repository root(templateable)
string | null
Path to the Nixpacks configuration file relative to the repository root(templateable)
string[] | null
Additional Nix packages to install(templateable)
string[] | null
Additional apt packages to install(templateable)
string[] | null
Additional Nix libraries to install(templateable)
string | null
Custom install command(templateable)
string | null
Custom build command(templateable)
string | null
Application start command(templateable)
Pipeline.CacheFromConfig
Pipeline.ImageRailpackBuildConfig
Railpack configuration for image buildsenum
required
Build method — use Railpack auto-detectionAllowed values:
railpack(templateable)string | null
Railpack version to use(templateable)
string | null
Custom install command(templateable)
string | null
Custom build command(templateable)
string | null
Application start command(templateable)
Pipeline.CacheFromConfig
Pipeline.AwsPermissions
IAM policies configuration for runner roles Used by EC2-backed steps to specify additional permissionsOne of: Pipeline.AwsPermissionsAttach, Pipeline.AwsPermissionsReplace.Pipeline.InfrastructureType
Execution environment typeAllowed values:ec2ec2-spot
Pipeline.InstanceSize
Instance size can be a single string or array of stringsOne of: string, string[].Pipeline.StorageConfig
Root volume storage configurationenum
Volume typeAllowed values:
gp3 | gp2 | io2 | io1(templateable)integer | null
Volume size in GiB(format:int32; templateable)
integer | null
Provisioned IOPS(format:int32; templateable)
integer | null
Provisioned throughput in MiB/s(format:int32; templateable)
Pipeline.LambdaDockerfileBuildConfig
Dockerfile configuration for Lambda buildsenum
required
Build method — use a custom DockerfileAllowed values:
dockerfile(templateable)string | null
default:"Dockerfile"
Path to Dockerfile relative to source.base_path(minLen:1; templateable)
string | null
default:"."
Docker build context path relative to source.base_path(templateable)
boolean | null
Whether to inject environment variables as Docker build args Accepts either a boolean literal or a full template token(templateable)
string
required
Directory inside the built image containing the Lambda package contents(minLen:1; templateable)
integer | null
default:"52428800"
Maximum allowed zip size in bytes — build fails if exceeded(format:int32; templateable)
Pipeline.LambdaNixpacksBuildConfig
Nixpacks configuration for Lambda buildsenum
required
Build method — use Nixpacks auto-detectionAllowed values:
nixpacks(templateable)string | null
Nixpacks version to use(templateable)
string | null
Directory to run the Nixpacks build from, relative to the repository root(templateable)
string | null
Path to the Nixpacks configuration file relative to the repository root(templateable)
string[] | null
Additional Nix packages to install(templateable)
string[] | null
Additional apt packages to install(templateable)
string[] | null
Additional Nix libraries to install(templateable)
string | null
Custom install command(templateable)
string | null
Custom build command(templateable)
string | null
Application start command(templateable)
string
required
Directory inside the built image containing the Lambda package contents(minLen:1; templateable)
integer | null
default:"52428800"
Maximum allowed zip size in bytes — build fails if exceeded(format:int32; templateable)
Pipeline.StaticDockerfileBuildConfig
Dockerfile configuration for static buildsenum
required
Build method — use a custom DockerfileAllowed values:
dockerfile(templateable)string | null
default:"Dockerfile"
Path to Dockerfile relative to source.base_path(minLen:1; templateable)
string | null
default:"."
Docker build context path relative to source.base_path(templateable)
boolean | null
Whether to inject environment variables as Docker build args Accepts either a boolean literal or a full template token(templateable)
string
required
Directory inside the built image containing the static assets to upload This path is resolved relative to source.base_path(minLen:1; templateable)
Pipeline.StaticNixpacksBuildConfig
Nixpacks configuration for static buildsenum
required
Build method — use Nixpacks auto-detectionAllowed values:
nixpacks(templateable)string | null
Nixpacks version to use(templateable)
string | null
Directory to run the Nixpacks build from, relative to the repository root(templateable)
string | null
Path to the Nixpacks configuration file relative to the repository root(templateable)
string[] | null
Additional Nix packages to install(templateable)
string[] | null
Additional apt packages to install(templateable)
string[] | null
Additional Nix libraries to install(templateable)
string | null
Custom install command(templateable)
string | null
Custom build command(templateable)
string
required
Directory inside the built image containing the static assets to upload This path is resolved relative to source.base_path(minLen:1; templateable)
Pipeline.StaticRailpackBuildConfig
Railpack configuration for static buildsenum
required
Build method — use Railpack auto-detectionAllowed values:
railpack(templateable)string | null
Railpack version to use(templateable)
string | null
Custom install command(templateable)
string | null
Custom build command(templateable)
string
required
Directory inside the built image containing the static assets to upload This path is resolved relative to source.base_path(minLen:1; templateable)
Pipeline.ParameterStoreEnvVar
Environment variable from AWS Parameter StorePipeline.ParameterStoreReferenceValue
required
Pipeline.SecretsManagerEnvVar
Environment variable from AWS Secrets ManagerPipeline.SecretsManagerReferenceValue
required
Pipeline.CacheFromConfig
Configuration for Docker layer cache source from ECRstring | null
Specific image digest to use for cache(templateable)
string | null
Specific image tag to use for cache(templateable)
Pipeline.AwsPermissionsAttach
IAM policies to attach alongside step default policiesstring[]
required
AWS managed policy ARNs to attach alongside step default policies(templateable)
Pipeline.AwsPermissionsReplace
IAM policies to replace step default policies entirelystring[]
required
AWS managed policy ARNs to use instead of step default policies(templateable)
Pipeline.EbsVolumeType
EBS volume type for the runner root volumeAllowed values:gp3gp2io2io1
Pipeline.ParameterStoreReferenceValue
Parameter Store reference — shorthand string or object with optional version metadataOne of: string, Pipeline.ParameterStoreReference.Pipeline.SecretsManagerReferenceValue
Secrets Manager reference — shorthand string or object with optional JSON key/version metadataOne of: string, Pipeline.SecretsManagerReference.Pipeline.ParameterStoreReference
Parameter Store reference with optional version metadatastring
required
Parameter Store parameter name or path(templateable)
string | null
Parameter version number(templateable)
Pipeline.SecretsManagerReference
Secrets Manager reference with optional JSON key and version metadatastring
required
Secret name or ARN in Secrets Manager(templateable)
string | null
JSON key to extract from a JSON-structured secret(templateable)
string | null
Secret version ID or stage(templateable)
Deploy
Deployment configuration for this moduleModuleDeployment
Deployment configuration — discriminated by deployment typeDiscriminated union. Thetype field selects which schema applies.AwsStaticModuleDeployment
AWS static site deployment configurationenum
required
Deployment type discriminatorAllowed values:
aws:staticAwsStaticDeploymentInfrastructure
required
Infrastructure resources required by the deploymentSee: AwsStaticDeploymentInfrastructure
integer
Maximum total wall-clock budget (in seconds) for a single deploy, measured from the moment the workflow starts (including time spent waiting for the deployme…(format:int32,min:60)
InputProperty[]
required
Deployment-specific inputs shown in the deploy modal.See: InputProperty
AwsStaticDeploymentDefinition
required
Per-deploy definition. Templateable — supports both module.input and deploy.input references inside string fields.See: AwsStaticDeploymentDefinition(templateable)
Ec2ModuleDeployment
AWS EC2 deployment configuration. In-place only: instances are never replaced; the module-provided SSM document performs the whole per-instance deploy and it…enum
required
Deployment type discriminatorAllowed values:
aws:ec2Pipeline.GitSource
See: Pipeline.GitSource(templateable)
Ec2DeploymentInfrastructure
required
Infrastructure resources required by the deployment.See: Ec2DeploymentInfrastructure
EcsDeployConcurrency
Concurrency policy — controls how simultaneous deploy requests are handled.See: EcsDeployConcurrency
Ec2DeploymentStrategyConfig
Rolling in-place deployment strategy. Its rollout controls map to SSM SendCommand MaxConcurrency / MaxErrors.See: Ec2DeploymentStrategyConfig(templateable)
integer
Maximum total wall-clock budget (in seconds) for a single deploy, measured from the moment the workflow starts (including time spent waiting for the deployme…(format:int32,min:60)
InputProperty[]
required
Deployment-specific inputs shown in the deploy modal.See: InputProperty
Ec2DeploymentDefinition
required
Per-deploy definition. Templateable — supports both module.input and deploy.input references inside string fields.See: Ec2DeploymentDefinition(templateable)
EcsModuleDeployment
AWS ECS deployment configurationenum
required
Deployment type discriminatorAllowed values:
aws:ecsEcsDeploymentInfrastructure
required
Infrastructure resources required by the deploymentSee: EcsDeploymentInfrastructure
EcsDeploymentStrategyConfig
Deployment strategy — rolling (default), blue_green, linear, or canary.See: EcsDeploymentStrategyConfig(templateable)
EcsDeployConcurrency
Concurrency policy — controls how simultaneous deploy requests are handled.See: EcsDeployConcurrency
integer
Maximum total wall-clock budget (in seconds) for a single deploy, measured from the moment the workflow starts (including time spent waiting for the deployme…(format:int32,min:60)
InputProperty[]
required
Deployment-specific inputs shown in the deploy modal Same types as module inputs — reuses the InputProperty unionSee: InputProperty
EcsTaskDefinition
required
AWS ECS task definition — fully typed per the RegisterTaskDefinition API Templateable — supports both module.input and deploy.input referencesSee: EcsTaskDefinition(templateable)
EcsRunTaskOverrides
See: EcsRunTaskOverrides(templateable)
EcsRunTaskOverrides
See: EcsRunTaskOverrides(templateable)
LambdaModuleDeployment
AWS Lambda deployment configuration. v1 supports UpdateFunctionCode + PublishVersion + UpdateAlias. Pre/post deploy hooks and weighted- routing alias shifts…enum
required
Deployment type discriminatorAllowed values:
aws:lambdaLambdaDeploymentInfrastructure
required
Infrastructure resources required by the deployment.See: LambdaDeploymentInfrastructure
integer
Maximum total wall-clock budget (in seconds) for a single deploy, measured from the moment the workflow starts (including time spent waiting for the deployme…(format:int32,min:60)
InputProperty[]
required
Deployment-specific inputs shown in the deploy modal.See: InputProperty
LambdaDeploymentDefinition
required
Per-deploy definition. Templateable — supports both module.input and deploy.input references inside string fields.See: LambdaDeploymentDefinition(templateable)
LambdaFunctionConfiguration
Per-deploy function-configuration overrides applied via
UpdateFunctionConfiguration before the new code is published.See: LambdaFunctionConfiguration(templateable)AwsStaticDeploymentDefinition
Per-deploy definition for AWS static deployments. The deploy manager promotes the resolveds3_directory to the active KVS key and (optionally) issues a b…string
required
S3 directory (version prefix) to promote to active.(minLen:1; templateable)
string[] | null
CloudFront cache invalidation paths to issue across every distribution after the KVS write succeeds. Runs in the background — the deploy is marked complete o…(templateable)
integer | null
Number of latest successful deploys to keep in S3. Older S3 directories are pruned in the background after a successful deploy. Omit or set to 0 to disable p…(format:int32,min:0; templateable)
AwsStaticDeploymentInfrastructure
Infrastructure resources required for AWS static site deployment.string
required
CloudFront KeyValueStore ARN that holds the active version pointer.(minLen:1; templateable)
string[]
required
CloudFront distribution ARNs that share this origin/KVS.(minItems:1; templateable)
string
required
AWS region of the S3 hosting bucket.(minLen:1; templateable)
string
required
S3 bucket name that hosts the versioned build directories.(minLen:1; templateable)
Ec2DeploymentDefinition
Per-deploy EC2 definition — discriminated byruntime.Discriminated union. The runtime field selects which schema applies.Ec2DeploymentInfrastructure
Infrastructure resources required for an AWS EC2 deployment. Not provisioned by the deploy manager — must already exist (created by thecompute/ec2_service…string
required
Name of the Auto Scaling Group whose in-service instances the deploy targets. For container deploys the module’s SSM deploy document is derived from this nam…(minLen:1; templateable)
string
required
AWS region of the Auto Scaling Group and SSM document.(minLen:1; templateable)
string
required
Ravion AWS account ID (
awsact_…, as selected from $values:ravion/aws_accounts) that owns the Auto Scaling Group — not the raw AWS account number. Unlike…(minLen:1; templateable)string | null
CloudWatch log group receiving application stdout and stderr from the EC2 instances. The deploy manager combines this with the deployment and instance IDs to…(templateable)
string | null
ARN of the service target group when the service is attached to a load balancer. Informational for the deploy manager (the SSM document owns drain/re-registe…(templateable)
Ec2DeploymentStrategyConfig
Rolling in-place deployment strategy for EC2 instances. The rollout controls map 1:1 to SSM SendCommand’s MaxConcurrency / MaxErrors semantics — values are a…enum
required
Deployment strategy. EC2 deployments currently support rolling in-place updates only.Allowed values:
rolling(templateable)string | null
How many instances run the deploy document at once. SSM SendCommand MaxConcurrency semantics.(templateable)
string | null
How many per-instance failures are tolerated before SSM stops sending the document to further instances. SSM SendCommand MaxErrors semantics.(templateable)
EcsDeployConcurrency
Concurrency policy for ECS deployments targeting this module instance.integer
Number of pending deploy requests that can wait in the queue.(format:int32,min:0)
enum
What to do when the queue is full and a new deploy request arrives.Allowed values:
oldest | newest | rejectEcsDeploymentInfrastructure
Infrastructure resources required for ECS deployment. Not provisioned by the deploy manager — must already exist.string
required
ECS cluster ARN where the service runs(minLen:1; templateable)
string
required
ECS service ARN of the service the deploy manager updates. The deploy strategy (rolling, blue/green, linear, canary) is executed natively by the ECS deployme…(minLen:1; templateable)
string | null
ARN of the main (blue / production) target group attached to the ECS service. Forwarded as the UpdateService
loadBalancers[].targetGroupArn when Ravion syn…(templateable)string | null
ARN of the alternate (green) target group ECS shifts traffic to during native traffic-shift deployments (blue_green / linear / canary). Forwarded into the Up…(templateable)
string | null
ARN of the production listener rule (ALB) or listener (NLB) ECS rewrites to shift production traffic during native traffic-shift deployments.(templateable)
string | null
ARN of the IAM infrastructure role ECS assumes to manage the load-balancer wiring (register/deregister targets, rewrite listener rules) during native traffic…(templateable)
string | null
ARN of the optional test listener rule (ALB) or listener (NLB) ECS rewrites during the TEST_TRAFFIC_SHIFT lifecycle stages to route test traffic to the green…(templateable)
EcsDeploymentStrategyConfig
Deployment strategy executed natively by the ECS deployment controller.enum
required
Deployment strategy: - rolling — in-place rolling update (default) - blue_green — full green revision, all-at-once traffic shift + bake - linear — traffic sh…Allowed values:
rolling | blue_green | linear | canary(templateable)integer | null
Minutes both revisions keep running after production traffic has fully shifted, before the old revision is terminated. Rollback during the bake window is ins…(format:int32,min:0,max:1440; templateable)
EcsCanaryConfig
EcsLinearConfig
EcsPauseStage[] | null
Native PAUSE lifecycle hooks. Each entry pauses the deployment at the given stage until continued via the dashboard or API. Max 10.See: EcsPauseStage(templateable)
EcsRunTaskOverrides
Full AWS ECS RunTask request payload — both theTaskOverride fields and the top-level RunTask parameters that aren’t part of TaskOverride (launchType, ne…EcsContainerOverride[] | null
Per-container overrides. Each entry’s
name matches a container in the task definition. AWS RunTask supports overriding any subset of containers; the array…See: EcsContainerOverride(templateable)string | null
Task-level CPU override (string for AWS compatibility — same format as task-definition
cpu, e.g. "256", "1024").(templateable)string | null
Task-level memory override (MiB, string format).(templateable)
string | null
IAM task role ARN override — what the container assumes when calling AWS APIs from inside the task.(templateable)
string | null
IAM execution role ARN override — what ECS uses to pull the image, push logs, and read secrets at task launch.(templateable)
EcsEphemeralStorage
enum | null
Launch type: FARGATE, EC2, or EXTERNAL. When omitted the hook inherits the parent service’s launch type. Mutually exclusive with
capacity_provider_strategy…Allowed values: FARGATE | EC2 | EXTERNAL(templateable)EcsCapacityProviderStrategyItem[] | null
Capacity-provider strategy — overrides
launch_type when set.See: EcsCapacityProviderStrategyItem(templateable)string | null
Fargate platform version (e.g.
"1.4.0", "LATEST").(templateable)EcsNetworkConfiguration
VPC / subnet / security-group config. Required for
awsvpc network-mode task definitions; inherited from the parent service when omitted.See: EcsNetworkConfiguration(templateable)EcsPlacementConstraint[] | null
Placement constraints — limits which container instances can run the task. EC2/EXTERNAL launch types only.See: EcsPlacementConstraint(templateable)
EcsPlacementStrategy[] | null
Placement strategy — how tasks get distributed across instances.See: EcsPlacementStrategy(templateable)
enum | null
How tags propagate from task definition / service onto the task.Allowed values:
TASK_DEFINITION | SERVICE | NONE(templateable)boolean | null
Whether to enable AWS-managed
aws:ecs: tags on the task.(templateable)boolean | null
Whether to enable ECS Exec on the task (for
aws ecs execute-command).(templateable)string | null
Logical group name — used for placement constraints (
memberOf(group:<group>)). Defaults to family:<task-def-family> when AWS picks.(templateable)string | null
Caller-supplied reference id (UUID-shaped). Echoed back on the resulting Task and useful for client-side correlation.(templateable)
EcsTaskVolumeConfiguration[] | null
Per-task volume bindings — name must match a volume in the task definition. Used for Fargate-managed ephemeral EBS volumes.See: EcsTaskVolumeConfiguration(templateable)
integer | null
Wall-clock timeout in seconds before the task is stopped and the deployment fails. Only meaningful when used as a pre/post deploy hook config — ignored on th…(format:int32,min:1; templateable)
EcsTaskDefinition
AWS ECS task definition — models the RegisterTaskDefinition API input.string
required
Task definition family name(templateable)
EcsContainerDefinition[]
required
string | null
Task-level CPU units (required for Fargate) Valid values: “256”, “512”, “1024”, “2048”, “4096” etc.(templateable)
string | null
Task-level memory in MiB (required for Fargate)(templateable)
enum | null
Network mode — “awsvpc” required for FargateAllowed values:
awsvpc | bridge | host | none(templateable)enum[FARGATE,EC2][] | null
Launch type compatibility(templateable)
string | null
IAM role ARN for task permissions (containers assume this role)(templateable)
string | null
IAM role ARN for ECS agent to pull images and write logs(templateable)
EcsRuntimePlatform
EcsEphemeralStorage
enum | null
IPC mode for containers (EC2 only)Allowed values:
host | task | none(templateable)enum | null
PID mode for containers (EC2 only)Allowed values:
host | task(templateable)EcsProxyConfiguration
EcsInferenceAccelerator[] | null
LambdaDeploymentDefinition
Per-deploy Lambda definition — discriminated bypackage_type.Discriminated union. The package_type field selects which schema applies.LambdaDeploymentInfrastructure
Infrastructure resources required for AWS Lambda deployment.string
required
Full ARN of the Lambda function the deploy targets.(minLen:1; templateable)
string
required
AWS region of the function. Mirrors
aws_static_module_deployment’s s3_region — needed because Lambda’s regional endpoint is the only thing the workflow c…(minLen:1; templateable)string | null
Alias the deploy flips after publishing the new function version.(templateable)
string | null
S3 bucket the build step uploaded the zip artifact into. Optional — captured into the deploy snapshot for audit even when the deploy itself targets an Image-…(templateable)
LambdaFunctionConfiguration
AWS Lambda function configuration — every field optional, applied as a partial update viaUpdateFunctionConfiguration. Fields the user omits are left untou…string | null
IAM execution role ARN.(templateable)
string | null
Handler entrypoint (Zip only — ignored for Image).(templateable)
string | null
Lambda runtime (Zip only — ignored for Image).(templateable)
integer | null
Memory size in MiB. 128–10240.(format:int32,min:128,max:10240; templateable)
integer | null
Wall-clock timeout in seconds. 1–900.(format:int32,min:1,max:900; templateable)
string | null
Function description shown in the AWS console.(templateable)
enum[x86_64,arm64][] | null
CPU architectures — exactly one of
x86_64 or arm64.(templateable)LambdaEnvironment
LambdaVpcConfig
VPC configuration. Setting empty arrays disconnects the function from the VPC.See: LambdaVpcConfig(templateable)
string[] | null
Lambda layer ARNs (versioned, e.g.(templateable)
LambdaEphemeralStorage
LambdaTracingConfig
string | null
Customer-managed KMS key ARN for environment variable encryption.(templateable)
LambdaDeadLetterConfig
LambdaFileSystemConfig[] | null
LambdaSnapStart
SnapStart configuration. Java-only on AWS today, but the field is forwarded as-is to Lambda.See: LambdaSnapStart(templateable)
LambdaLoggingConfig
LambdaImageConfig
Ec2ContainerDeploymentDefinition
Container-runtime EC2 deploy definition. The image must already exist (pushed by the upstream build step’secr destination, or supplied by the user for pre…enum
required
Definition type discriminator.Allowed values:
container(templateable)string
required
Full image URI to deploy. Prefer a digest-qualified URI for reproducibility. Templateable — typically combines the repository URL with a deploy input or refe…(minLen:1; templateable)
Ec2ManualDeploymentDefinition
Manual-runtime EC2 deploy definition. The deploy manager sends these shell commands to every in-service instance through the module-provided deploy document,…enum
required
Definition type discriminator.Allowed values:
manual(templateable)string[]
required
Shell commands run in order on each instance, as root. A non-zero exit fails the deploy on that instance.(minItems:1; templateable)
string | null
Long-running foreground command started after the release commands succeed. The deploy manager forwards it to the module-provided deploy document so it is ca…(templateable)
EcsCanaryConfig
Canary traffic-shift tuning. Only valid whenstrategy.type is canary.number | null
Percentage of production traffic to shift to the new service revision during the canary phase. Multiples of 0.1 from 0.1 to 100.0.(format:double,min:0.1,max:100; templateable)
integer | null
Minutes to wait during the canary phase before shifting the remaining production traffic to the new service revision.(format:int32,min:0,max:1440; templateable)
EcsLinearConfig
Linear traffic-shift tuning. Required whenstrategy.type is linear.integer
required
Percentage of production traffic shifted per step.(format:int32,min:1,max:100; templateable)
integer
required
Minutes to bake between each traffic-shift step.(format:int32,min:0,max:1440; templateable)
EcsPauseStage
A native ECS PAUSE lifecycle hook. The deployment pauses at the given stage until a continue/rollback control is sent (dashboard or `POST /deployments/{id}/c…enum
required
Lifecycle stage at which the deployment pauses.Allowed values:
RECONCILE_SERVICE | PRE_SCALE_UP | POST_SCALE_UP | POST_TEST_TRAFFIC_SHIFT | PRE_PRODUCTION_TRAFFIC_SHIFT | POST_PRODUCTION_TRAFFIC_SHIFT(templateable)integer | null
Minutes to wait for a continue before AWS applies
timeout_action.(format:int32,min:1,max:20160; templateable)enum | null
What AWS does when the pause times out. Default: ROLLBACK.Allowed values:
ROLLBACK | CONTINUE(templateable)EcsCapacityProviderStrategyItem
Capacity-provider strategy entry. Mirrors AWS exactly.string
required
Capacity provider name (e.g.
FARGATE, FARGATE_SPOT, or a custom EC2 capacity provider).(templateable)integer | null
Relative share of tasks placed onto this provider when the strategy has multiple entries.(format:int32,min:0,max:1000; templateable)
integer | null
Minimum number of tasks placed onto this provider before weighting kicks in. At most one entry in the strategy may set
base.(format:int32,min:0,max:100000; templateable)EcsContainerOverride
Per-container portion ofEcsRunTaskOverrides. Mirrors the AWS ECS RunTask ContainerOverride struct field-for-field — every override AWS supports for a co…string
required
Container name from the task definition. Required.(minLen:1; templateable)
string[] | null
Replacement command — replaces the container’s CMD array.(templateable)
EcsEnvironmentVariable[] | null
Environment variables merged on top of the task definition’s.See: EcsEnvironmentVariable(templateable)
EcsEnvironmentFile[] | null
Environment files (S3 references) layered on top of
environment.See: EcsEnvironmentFile(templateable)integer | null
CPU units override for this container.(format:int32; templateable)
integer | null
Hard memory limit (MiB) override for this container.(format:int32; templateable)
integer | null
Soft memory reservation (MiB) override for this container.(format:int32; templateable)
EcsResourceRequirement[] | null
EcsEphemeralStorage
ECS ephemeral storage configurationinteger
required
Storage size in GiB (21–200 for Fargate, minimum 20)(format:int32,min:20,max:200; templateable)
EcsNetworkConfiguration
AWS ECS network configuration. Only theawsvpc shape exists on RunTask (host / bridge networking is task-definition-driven).EcsAwsVpcConfiguration
required
EcsPlacementConstraint
AWS ECS placement constraint. EC2/EXTERNAL launch types only — Fargate ignores these.enum
required
Constraint type.
distinctInstance spreads tasks one-per-host; memberOf filters by a cluster query expression.Allowed values: distinctInstance | memberOf(templateable)string | null
Cluster query expression — required when
type is memberOf.(templateable)EcsPlacementStrategy
AWS ECS placement strategy. EC2/EXTERNAL launch types only — Fargate ignores these.enum
required
Strategy type.
random ignores field; spread and binpack require field.Allowed values: random | spread | binpack(templateable)string | null
Attribute the strategy operates on (e.g.
instanceId, attribute:ecs.availability-zone, cpu, memory).(templateable)EcsTag
AWS resource tagstring
required
Tag key(templateable)
string
required
Tag value(templateable)
EcsTaskVolumeConfiguration
Per-task volume binding for ECS-managed volumes (today: ephemeral EBS for Fargate). Thename must match a volume entry in the task definition’s volumes l…string
required
Volume name — must match a
name in the task definition.(templateable)EcsTaskManagedEBSVolumeConfiguration
EcsContainerDefinition
ECS container definition — models a single container within a task.string
required
Container name — must be unique within the task(templateable)
string
required
Docker image URI(templateable)
integer | null
Container-level CPU units(format:int32; templateable)
integer | null
Hard memory limit in MiB — container is killed if it exceeds this(format:int32; templateable)
integer | null
Soft memory limit in MiB — used for memory reservation(format:int32; templateable)
boolean | null
Whether the task should stop if this container exits(templateable)
EcsPortMapping[] | null
EcsEnvironmentVariable[] | null
string[] | null
Startup command — overrides the Docker CMD(templateable)
string[] | null
Entrypoint — overrides the Docker ENTRYPOINT(templateable)
string | null
Working directory inside the container(templateable)
EcsHealthCheck
EcsLogConfiguration
EcsLinuxParameters
map<string,string> | null
Docker labels(templateable)
boolean | null
Run as privileged (EC2 only)(templateable)
string | null
User to run as (uid or uid:gid)(templateable)
integer | null
Stop timeout in seconds before SIGKILL(format:int32; templateable)
boolean | null
Disable networking for this container(templateable)
EcsResourceRequirement[] | null
EcsMountPoint[] | null
EcsVolumeFrom[] | null
EcsContainerDependency[] | null
EcsRepositoryCredentials
EcsFirelensConfiguration
EcsSystemControl[] | null
EcsEnvironmentFile[] | null
boolean | null
Read-only root filesystem(templateable)
boolean | null
Interactive mode (stdin)(templateable)
boolean | null
Pseudo-terminal allocation(templateable)
EcsInferenceAccelerator
Inference accelerator for ML workloadsstring
required
Accelerator name(templateable)
string
required
Accelerator type(templateable)
EcsProxyConfiguration
App Mesh proxy configurationenum | null
Proxy typeAllowed values:
APPMESH(templateable)string
required
Container name for the proxy(templateable)
EcsProxyConfigurationProperty[] | null
EcsRuntimePlatform
ECS runtime platform configurationenum | null
CPU architecture — X86_64 or ARM64Allowed values:
X86_64 | ARM64(templateable)enum | null
Operating system familyAllowed values:
LINUX | WINDOWS_SERVER_2019_FULL | WINDOWS_SERVER_2019_CORE | WINDOWS_SERVER_2022_FULL | WINDOWS_SERVER_2022_CORE(templateable)EcsVolume
ECS volume — host path or Docker volumestring
required
Volume name — referenced by container mount points(templateable)
string | null
Host path for bind mounts (EC2 only)(templateable)
EcsEfsVolumeConfiguration
LambdaImageDefinition
Image-packaged Lambda deploy definition. The image must already exist in ECR (typically pushed by the upstream build step’secr destination).enum
required
Definition type discriminator.Allowed values:
image(templateable)string
required
Full ECR image URI. Prefer
<repo>@sha256:<digest> form for reproducibility — Lambda resolves a mutable tag at deploy time and silently pins it, but the dep…(minLen:1; templateable)LambdaZipDefinition
Zip-packaged Lambda deploy definition. The code object must already exist in S3 (typically uploaded by the upstream build step’ss3-zip destination).enum
required
Definition type discriminator.Allowed values:
zip(templateable)string
required
S3 key the build step uploaded into.(minLen:1; templateable)
LambdaDeadLetterConfig
Dead-letter destination for async invocations.string | null
SQS queue ARN or SNS topic ARN.(templateable)
LambdaEnvironment
Lambda function environment block. Mirrors AWS Lambda’sEnvironment shape — a single variables map of string → string.map<string,string> | null
Environment variables applied to the function. Replaces the existing variable set on AWS — the API doesn’t merge.(templateable)
LambdaEphemeralStorage
Function-level ephemeral storage (/tmp) size in MiB.integer
required
Size in MiB. 512–10240.(format:int32,min:512,max:10240; templateable)
LambdaFileSystemConfig
EFS file system attached to the function.string
required
EFS access point ARN.(templateable)
string
required
Mount path inside the container — must start with
/mnt/.(templateable)LambdaImageConfig
Container image configuration overrides — image-packaged functions only.string[] | null
Override the image’s CMD.(templateable)
string[] | null
Override the image’s ENTRYPOINT.(templateable)
string | null
Override the image’s WORKDIR.(templateable)
LambdaLoggingConfig
Function logging configuration (CloudWatch destination + log levels).enum | null
Format the logs are emitted in.Allowed values:
JSON | Text(templateable)enum | null
Application log level — only valid when
log_format is JSON.Allowed values: TRACE | DEBUG | INFO | WARN | ERROR | FATAL(templateable)enum | null
System log level — only valid when
log_format is JSON.Allowed values: DEBUG | INFO | WARN(templateable)string | null
Destination CloudWatch log group.(templateable)
LambdaSnapStart
SnapStart configuration.enum
required
When to take the snapshot.
None disables SnapStart; PublishedVersions snapshots each PublishVersion call.Allowed values: None | PublishedVersions(templateable)LambdaTracingConfig
AWS X-Ray tracing configuration.enum
required
Active samples + traces requests; PassThrough only propagates an upstream sampling decision.Allowed values:
Active | PassThrough(templateable)LambdaVpcConfig
VPC configuration for a Lambda function.string[] | null
Subnet IDs the function’s ENIs are placed into.(templateable)
string[] | null
Security group IDs attached to the function’s ENIs.(templateable)
boolean | null
Whether the function gets dual-stack IPv6 networking.(templateable)
EcsEnvironmentFile
Environment file from S3string
required
S3 ARN of the environment file(templateable)
enum
required
File typeAllowed values:
s3(templateable)EcsEnvironmentVariable
Environment variable as name-value pairstring
required
Variable name(templateable)
string
required
Variable value(templateable)
EcsResourceRequirement
GPU or other resource requirementenum
required
Resource type — currently only GPUAllowed values:
GPU | InferenceAccelerator(templateable)string
required
Number of resources(templateable)
EcsAwsVpcConfiguration
AWS VPC configuration forawsvpc-mode tasks.string[]
required
Subnet IDs the task ENI is placed into.(minItems:1; templateable)
string[] | null
Security groups attached to the task ENI.(templateable)
enum | null
Whether the task ENI gets a public IP. Required for Fargate tasks pulling images from non-VPC-routable registries (e.g.Allowed values:
ENABLED | DISABLED(templateable)EcsTaskManagedEBSVolumeConfiguration
AWS-managed Fargate ephemeral EBS volume configuration.string
required
IAM role ARN AWS uses to provision the EBS volume on the customer’s behalf. Required.(templateable)
string | null
EBS volume type (
gp3, gp2, io2, io1, sc1, st1, standard).(templateable)integer | null
Volume size (GiB). Range depends on
volume_type.(format:int32; templateable)string | null
Snapshot id to restore from.(templateable)
integer | null
Provisioned IOPS — required for
io1/io2, optional for gp3.(format:int32; templateable)integer | null
Provisioned throughput (MiB/s) —
gp3 only.(format:int32; templateable)string | null
Filesystem type to format the volume with (
ext3, ext4, xfs, ntfs). Defaults per OS family.(templateable)string | null
KMS key id (alias or ARN) for at-rest encryption.(templateable)
boolean | null
Whether the volume is encrypted at rest.(templateable)
EcsEBSTagSpecification[] | null
EcsTaskManagedEBSVolumeTerminationPolicy
Termination policy — controls whether the volume is deleted when the task stops.See: EcsTaskManagedEBSVolumeTerminationPolicy(templateable)
integer | null
Initialization rate (MiB/s) for snapshot-restored volumes — controls how fast blocks are pre-warmed.(format:int32; templateable)
EcsContainerDependency
Container dependency — controls startup orderstring
required
Name of the dependency container(templateable)
enum
required
Condition to wait forAllowed values:
START | COMPLETE | SUCCESS | HEALTHY(templateable)EcsFirelensConfiguration
Firelens log routing configurationenum
required
Router typeAllowed values:
fluentbit | fluentd(templateable)map<string,string> | null
Router options(templateable)
EcsHealthCheck
Container health check configurationstring[]
required
Command to run — prefix with CMD or CMD-SHELL(templateable)
integer | null
Interval between checks in seconds(format:int32; templateable)
integer | null
Timeout for each check in seconds(format:int32; templateable)
integer | null
Number of retries before marking unhealthy(format:int32; templateable)
integer | null
Grace period before health checks start in seconds(format:int32; templateable)
EcsLinuxParameters
Linux-specific container settingsboolean | null
Run an init process inside the container(templateable)
EcsLinuxCapabilities
Shared memory size in MiB(format:int32; templateable)
EcsLogConfiguration
Log configuration for a containerenum
required
Log driver — awslogs for CloudWatch, awsfirelens for FirelensAllowed values:
awslogs | awsfirelens | json-file | syslog | fluentd | splunk(templateable)map<string,string> | null
Driver-specific options(templateable)
EcsMountPoint
Container mount point referencing a volumestring
required
Name of the volume (must match a volume in the task definition)(templateable)
string
required
Path inside the container to mount(templateable)
boolean | null
Whether the mount is read-only(templateable)
EcsPortMapping
Port mapping for a containerinteger
required
Port on the container(format:int32; templateable)
integer | null
Port on the host (EC2) or omit for awsvpc(format:int32; templateable)
enum | null
Transport protocolAllowed values:
tcp | udp(templateable)enum | null
Application protocol for service connectAllowed values:
http | http2 | grpc(templateable)EcsRepositoryCredentials
Private registry credentialsstring
required
ARN of the Secrets Manager secret containing registry credentials(templateable)
EcsSecret
Secret injected from Parameter Store or Secrets Managerstring
required
Environment variable name in the container(templateable)
string
required
Full ARN of the secret in Parameter Store or Secrets Manager(templateable)
EcsSystemControl
System control — kernel parameter overridestring
required
Namespace (e.g., net.core.somaxconn)(templateable)
string
required
Value to set(templateable)
EcsVolumeFrom
Volume-from reference — mount volumes from another containerstring
required
Source container name(templateable)
boolean | null
Whether the mount is read-only(templateable)
EcsProxyConfigurationProperty
Proxy configuration key-value propertystring
required
Property name(templateable)
string
required
Property value(templateable)
EcsEfsVolumeConfiguration
EFS volume configuration for ECS tasksstring
required
EFS file system ID(templateable)
string | null
Root directory on the EFS file system(templateable)
enum | null
Whether to enable IAM authorizationAllowed values:
ENABLED | DISABLED(templateable)integer | null
Port for transit encryption (default 2049)(format:int32; templateable)
EcsEfsAuthorizationConfig
EcsEBSTagSpecification
Tag specification for an ECS-managed EBS volume.enum
required
Resource type the tags apply to. Currently only
volume is supported.Allowed values: volume(templateable)enum | null
Where the tags come from — explicit list, propagated from the task definition, or none.Allowed values:
TASK_DEFINITION | SERVICE | NONE(templateable)EcsTaskManagedEBSVolumeTerminationPolicy
Termination policy for an ECS-managed EBS volume.boolean
required
Whether to delete the volume when the task stops.(templateable)
EcsLinuxCapabilities
Linux kernel capabilitiesstring[] | null
Capabilities to add(templateable)
string[] | null
Capabilities to drop(templateable)
EcsTmpfs
Tmpfs mount configurationstring
required
Mount path in the container(templateable)
integer
required
Maximum size in MiB(format:int32; templateable)
string[] | null
Mount options(templateable)
EcsEfsAuthorizationConfig
EFS authorization configstring | null
EFS access point ID(templateable)
enum | null
Whether to use the task execution role for EFSAllowed values:
ENABLED | DISABLED(templateable)UI
UI configuration for links, logs, and metrics on the module dashboardModuleUI
UI configuration for the module.UILink[] | null
UILog[] | null
Log sources displayed on the module’s Logs tab. Each entry is a CloudWatch log group the module emits to.See: UILog(templateable)
UILink
A link displayed in the module UI.string
required
Display name for the link(minLen:1; templateable)
string
required
URL — can use template syntax like << output.xxx >> for dynamic values(templateable)
UILog
A log source displayed in the module UI’s Logs tab. Every field is templateable so module authors can pass an entire log definition (or individual fields) fr…string
required
Stable identifier for the log source, used as the React key / scope id.(minLen:1; templateable)
string
required
Display name for the log source (shown as the source label).(minLen:1; templateable)
LogSource
required
UIMetric
A metric displayed in the module UI.string
required
Stable identifier for the metric, used as the React key on the dashboard and in the metric query cache key. Must be unique within a module’s UI.(minLen:1; templateable)
string
required
Display name for the metric(minLen:1; templateable)
enum
required
Chart type for the metricAllowed values:
line | bar(templateable)MetricSource
required
Data source for the metric. Discriminated union — the only
type currently supported is cloudwatch. The aggregation period is chosen by the requester (fro…See: MetricSource(templateable)LogSource
A CloudWatch Logs source for a module log stream. Mirrorsenum
required
Allowed values:
cloudwatch(templateable)string
required
(minLen:1; templateable)
string
required
(minLen:1; templateable)
string
required
(minLen:1; templateable)
string | null
(templateable)
string | null
(templateable)
MetricSource
CloudWatch-backed metric source. Module authors fill this in with literal values or templated references (e.g.<< stack.output.\* >>). The server uses `aws_…enum
required
Source type discriminatorAllowed values:
cloudwatch(templateable)string
required
Ravion AWS account reference used to resolve credentials for the CloudWatch call. Accepts either the Flightcontrol AWS account database ID (e.g.
awsact_123…(minLen:1; templateable)string
required
AWS region the metric lives in.(minLen:1; templateable)
string
required
CloudWatch namespace(minLen:1; templateable)
string
required
CloudWatch metric name(minLen:1; templateable)
string
required
CloudWatch statistic to apply(minLen:1; templateable)
map<string,string>
required
Dimensions used to scope the metric. Required — no longer derived from any ARN since the source no longer carries one.(templateable)
MetricType
Allowed metric chart types.Allowed values:linebar
CloudWatchLogSource
A CloudWatch Logs source for a module log stream. Mirrorsenum
required
Allowed values:
cloudwatch(templateable)string
required
(minLen:1; templateable)
string
required
(minLen:1; templateable)
string
required
(minLen:1; templateable)
string | null
(templateable)
string | null
(templateable)
CloudWatchMetricSource
CloudWatch-backed metric source. Module authors fill this in with literal values or templated references (e.g.<< stack.output.\* >>). The server uses `aws_…enum
required
Source type discriminatorAllowed values:
cloudwatch(templateable)string
required
Ravion AWS account reference used to resolve credentials for the CloudWatch call. Accepts either the Flightcontrol AWS account database ID (e.g.
awsact_123…(minLen:1; templateable)string
required
AWS region the metric lives in.(minLen:1; templateable)
string
required
CloudWatch namespace(minLen:1; templateable)
string
required
CloudWatch metric name(minLen:1; templateable)
string
required
CloudWatch statistic to apply(minLen:1; templateable)
map<string,string>
required
Dimensions used to scope the metric. Required — no longer derived from any ARN since the source no longer carries one.(templateable)
Readme
Human-readable module documentation in Markdown.Template expressions
Fields marked templateable accept<< expression >> template tokens.-
Block mode preserves the resolved type:
-
Interpolation mode always produces a string:
+, -, *, /, %, >, <, >=, <=, ==, !=, &&, ||, !.Ternary: << condition ? trueVal : falseVal >>. Default fallback: << input.x || "fallback" >>.Access: array[0], map["key"], map.key. Functions: len(), upper(), lower().Available namespaces: module.input.*, stack.id, trigger.payload.{branch,commit,ref,repository,event,tag}.Array spreads can insert an array expression into an array field: