Legend
Deploy
Deployment configuration for this moduleModuleDeployment
Deployment configuration — discriminated by deployment typeDiscriminated union. Thetype field selects which schema applies.AwsAmiModuleDeployment
AWS AMI deployment configuration. One deployment builds the image in the home region with EC2 Image Builder, copies it to every distribution region, tags it, publishes it whendefinition.publish is true, and
retires older images past the retention window. A redeploy or rollback
re-releases the source deployment’s images without rebuilding them.enum
required
Deployment type discriminatorAllowed values:
aws:amiAwsAmiDeploymentInfrastructure
required
Infrastructure resources required by the deployment.See: AwsAmiDeploymentInfrastructure
EcsDeployConcurrency
Concurrency policy — controls how simultaneous deploy requests are handled.
Omit to use defaults: queue_size=1, queue_overflow=oldest.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 deployment-manager lock). Matches the semantics of
pipeline step
timeout.
Default: unset (no wall-clock cap).(format:int32,min:60)InputProperty[]
required
Deployment-specific inputs shown in the deploy modal.
Same types as module inputs — reuses the InputProperty union.See: InputProperty
AwsAmiDeploymentDefinition
required
Per-deploy definition. Templateable — supports both module.input and
deploy.input references inside string fields.See: AwsAmiDeploymentDefinition(templateable)
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
deployment-manager lock). Matches the semantics of pipeline step
timeout.
When omitted the deploy has no explicit wall-clock limit beyond the
workflow-level activity timeouts on each phase.
Default: unset (no wall-clock cap).(format:int32,min:60)InputProperty[]
required
Deployment-specific inputs shown in the deploy modal.
Same types as module inputs — reuses the InputProperty union.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 its exit status is the per-instance verdict. Traffic-shift strategies are deliberately out of scope — rolling is the only supported deployment strategy.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.
Omit to use defaults: queue_size=1, queue_overflow=oldest.See: EcsDeployConcurrency
Ec2DeploymentStrategyConfig
Rolling in-place deployment strategy. Its rollout controls map to SSM
SendCommand MaxConcurrency / MaxErrors.
Omit for the safe default: one instance at a time, stop on first failure.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 deployment-manager lock). Matches the semantics of
pipeline step
timeout.
Default: unset (no wall-clock cap).(format:int32,min:60)InputProperty[]
required
Deployment-specific inputs shown in the deploy modal.
Same types as module inputs — reuses the InputProperty union.See: InputProperty
Ec2DeploymentDefinition
required
Per-deploy definition. Templateable — supports both module.input and
deploy.input references inside string fields.See: Ec2DeploymentDefinition(templateable)
AwsAmiDeploymentDefinition
Per-deploy AMI definition. Each deployment creates the image recipe<name>-<deploymentId> version 1.0.0 from the infrastructure’s
components with these parameters.string
required
Image recipe name prefix.(minLen:1; templateable)
map<string,map<string,string>> | null
Parameters per component, keyed by component name.(templateable)
map<string,string> | null
Tags added to every AMI and snapshot the deploy creates, beside the
ravion:* tags the deploy manager always adds.(templateable)boolean | null
Whether the deploy grants launch permission
all on its AMIs.
false keeps them private, a candidate to test before a redeploy
publishes it.(templateable)AwsAmiDeploymentInfrastructure
Infrastructure the AMI deploy builds with. Not provisioned by the deploy manager — the Image Builder infrastructure configuration, distribution configuration and components must already exist. Each deployment creates its own image recipe from these components.string
required
Ravion AWS account ID (
awsact_…, as selected from
$values:ravion/aws_accounts) that builds and owns the images — not the
raw AWS account number.(minLen:1; templateable)string
required
Home region: where the image is built and where Image Builder resources live.(minLen:1; templateable)
string
required
Image Builder infrastructure configuration ARN (instance type, subnet,
instance profile) the build runs on.(minLen:1; templateable)
string
required
Image Builder distribution configuration ARN for the home region only.
It names and tags the build’s AMI and keeps it private; the deploy
manager copies the AMI to
distribution_regions itself.(minLen:1; templateable)AwsAmiComponent[]
required
AwsAmiParentImage
required
AwsAmiBlockDeviceMapping[] | null
EBS volumes of the built image (root volume size and type).See: AwsAmiBlockDeviceMapping(templateable)
string[] | null
Regions besides the home region the built AMI is copied to.(templateable)
AwsAmiRetentionConfig
How many images each region keeps. Every deploy applies the module’s
current retention, a redeploy or rollback included.See: AwsAmiRetentionConfig(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
background CloudFront cache invalidation across all distributions.string
required
S3 directory (version prefix) to promote to active.
Templateable — typically references a deploy input that holds the version
built by the upstream pipeline step.(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 on KVS write, not on invalidation completion.
Empty list disables invalidation entirely (preferred for KVS-versioned
setups where each version flip is automatically a fresh cache key).(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 pruning entirely.(format:int32,min:0; templateable)
AwsStaticDeploymentInfrastructure
Infrastructure resources required for AWS static site deployment. Not provisioned by the deploy manager — must already exist (typically created by thehosting/static_site Terraform module). The KeyValueStore is shared
by all distributions of the module; the CloudFront viewer-request function
reads it on every request to resolve the active S3 directory.string
required
CloudFront KeyValueStore ARN that holds the active version pointer.
The deploy step writes
key="active", value=<s3_directory> to this store
via PutKey with optimistic ETag concurrency.(minLen:1; templateable)string[]
required
CloudFront distribution ARNs that share this origin/KVS.
Used for optional cache invalidation after the version flip.(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.
Build artifacts live at
s3://<s3_bucket>/<s3_directory>/....(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 Terraform module). The deploy manager runs the
module-provided SSM command document against the Auto Scaling Group’s
in-service instances; all deploy mechanics (env rebuild, target-group
drain/re-register, container/artifact swap, local health gate) live inside
the document.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 name by convention (
<name>-deploy) — the
Terraform module names both from the same input, so the document is
not part of this contract.(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 the ECS / Lambda / Static deploy
types, no EC2 infrastructure field is an ARN the account could be
parsed from, so it is declared explicitly.(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 query one exact stream per instance.(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-register); omitted for worker-mode services.(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 absolute counts (“1”, “5”) or percentages (“25%”).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.
Default: “1” — one instance at a time, so a load-balanced service keeps
serving from the untouched instances during the rollout.(templateable)
string | null
How many per-instance failures are tolerated before SSM stops sending
the document to further instances. SSM SendCommand MaxErrors semantics.
Default: “0” — the first failed instance halts the rollout.(templateable)
AwsAmiBlockDeviceMapping
One EBS volume on the built image.string
required
Device name.(minLen:1; templateable)
integer
required
Volume size in GiB.(format:int32,min:1; templateable)
enum
EBS volume type.Allowed values:
gp3 | gp2 | io2 | io1(templateable)integer | null
Provisioned IOPS, for gp3 / io1 / io2 volumes. Image Builder accepts
100 to 64,000 on an image recipe.(format:int32,min:100,max:64000; templateable)
integer | null
Provisioned throughput in MiB/s, for gp3 volumes. Image Builder accepts
125 to 1,000 on an image recipe.(format:int32,min:125,max:1000; templateable)
AwsAmiComponent
One EC2 Image Builder component the deploy’s image recipe runs, in order.string
required
Component name. Keys
definition.component_parameters.(minLen:1; templateable)string
required
Image Builder component ARN.(minLen:1; templateable)
map<string,string> | null
Default parameter values for this component. A deploy’s
definition.component_parameters overrides them key by key.(templateable)AwsAmiParentImage
The image the build starts from — an AMI id, or a lookup resolved at deploy time.One of: AwsAmiParentImageById, AwsAmiParentImageLookup.AwsAmiRetentionConfig
How many of a module instance’s images each region keeps.integer | null
Newest published images kept published per region. Older published
images are made private.
Default: 5 — the AWS quota for public AMIs per region.(format:int32,min:1; templateable)
integer | null
Private images kept past the published window per region. Older ones
are deregistered and their snapshots deleted.
Default: 10(format:int32,min:0; templateable)
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 prebuilt/disabled builds).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 references a deploy input containing the full URI.(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, which refreshes and loads the app env file (plain values and secrets) before running them — no build artifact is involved.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.
Templateable — typically references a module input.(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 captured with the release instead of the stack.(templateable)
AwsAmiParentImageById
Parent image named by its AMI id.string
required
AMI id of the parent image.(minLen:1; templateable)
AwsAmiParentImageLookup
Parent image found by name at deploy time, so each rebake picks up the newest base.AwsAmiParentImageLookupFilter
required
Lookup filter. The newest matching AMI by creation date wins.See: AwsAmiParentImageLookupFilter(templateable)
AwsAmiParentImageLookupFilter
Name filter and owners of the newest AMI to build on.string
required
AMI name filter, as
ec2:DescribeImages accepts it (* wildcards).(minLen:1; templateable)string[]
required
AMI owners (account numbers or aliases such as
amazon).(minItems:1; templateable)