Skip to main content

Legend

Deploy

Deployment configuration for this module

ModuleDeployment

Deployment configuration — discriminated by deployment typeDiscriminated union. The type 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 when definition.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:ami
AwsAmiDeploymentInfrastructure
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 configuration
enum
required
Deployment type discriminatorAllowed values: aws:static
AwsStaticDeploymentInfrastructure
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:ec2
Pipeline.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
Image Builder components the recipe runs, in order.See: AwsAmiComponent(minItems:1; templateable)
AwsAmiParentImage
required
Image the build starts from. A lookup resolves at deploy time.See: AwsAmiParentImage(templateable)
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 resolved s3_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 the hosting/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 by runtime.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 the compute/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’s ecr 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)