POST /accounts/{account_id}/containers/applications/{application_id}/rollouts

A rollout can be used to update the application's configuration across instances with minimal downtime.

Servers

Path parameters

Name Type Required Description
application_id String Yes
account_id String Yes

Account identifier.

Request headers

Name Type Required Description
Content-Type String Yes The media type of the request body.

Default value: "application/json"

Request body fields

Name Type Required Description
target_configuration Object Yes

Properties required to modify a cloudchamber deployment specified by the user.

target_configuration.instance_type String No

The instance type will be used to configure vCPU, memory, and disk.

  • "lite": 1/16 vCPU, 256 MiB memory, 2 GB disk
  • "basic": 1/4 vCPU, 1 GiB memory, 4 GB disk
  • "standard-1": 1/2 vCPU, 4 GiB memory, 8 GB disk
  • "standard-2": 1 vCPU, 6 GiB memory, 12 GB disk
  • "standard-3": 2 vCPU, 8 GiB memory, 16 GB disk
  • "standard-4": 4 vCPU, 12 GiB memory, 20 GB disk

Default value: "lite"

target_configuration.labels[] Array No

Deployment labels

target_configuration.labels[].name String Yes

A label name

target_configuration.labels[].value String Yes

A label value

target_configuration.command[] Array No

The command to be executed when the container starts, passed to the entrypoint. This can be overridden at run-time. If only the command is overridden at run-time, it gets passed to the default entrypoint specified in the image.

target_configuration.lifecycle Object No

Lifecycle configuration for a deployment.

target_configuration.lifecycle.max_termination_duration String No

Duration string. From Go documentation: A string representing the duration in the form "3d1h3m". Leading zero units are omitted. As a special case, durations less than one second format use a smaller unit (milli-, micro-, or nanoseconds) to ensure that the leading digit is non-zero.

target_configuration.image String No

Image url

target_configuration.memory_mib Integer No

Specify the memory to be used for the deployment, in MiB. The default will be the one configured for the account.

target_configuration.observability Object No

Settings for deployment observability such as logging.

target_configuration.observability.logs Object No

Observability logging settings.

target_configuration.observability.logs.enabled Boolean No

Default value: false

target_configuration.vcpu Number No

Specify the vcpu to be used for the deployment. Vcpu must be at least 1. The input value will be rounded to the nearest 0.0001. The default will be the one configured for the account.

target_configuration.ssh_public_key_ids[] Array No

A list of SSH public key IDs from the account

target_configuration.memory String No

A memory size that specifies its unit at the end.

target_configuration.wrangler_ssh Object No

Configuration properties for SSH'ing into a container with Wrangler

target_configuration.wrangler_ssh.port Number No

Default value: 22

target_configuration.wrangler_ssh.enabled Boolean No

Default value: true

target_configuration.secrets[] Array No

A list of objects with secret names and the their access types from the account

target_configuration.secrets[].name String Yes

The name of the secret within the container

target_configuration.secrets[].type String Yes

The secret access type denotes how a secret is made available within a container. Available Options are "env".

Valid values:

  • "env"
target_configuration.secrets[].secret String Yes

Corresponding secret name from the account

target_configuration.trusted_user_ca_keys[] Array No
target_configuration.trusted_user_ca_keys[].name String No

Optional human readable name for this key

target_configuration.trusted_user_ca_keys[].public_key String Yes

An SSH public key

target_configuration.environment_variables[] Array No

Container environment variables

target_configuration.environment_variables[].name String Yes

An environment variable name

target_configuration.environment_variables[].value String Yes

An environment variable value

target_configuration.experimental_flags[] Array No

Opt-in experimental flags for this application. Only a subset of experimental flags can be set by users; unsupported values are rejected.

target_configuration.entrypoint[] Array No

The entry point for the container, specifying the executable to run when the container starts. This can be overridden at run-time. If overridden, the default command from the image is ignored. Both entrypoint and command can be specified at run-time to completely replace the image defaults.

target_configuration.metadata_service Object No

Configuration for enabling the container metadata service.

target_configuration.metadata_service.enabled Boolean Yes

Whether the metadata service should be enabled for the deployment.

target_configuration.authorized_keys[] Array No
target_configuration.authorized_keys[].name String No

Optional human readable name for this key

target_configuration.authorized_keys[].public_key String Yes

An SSH public key

target_configuration.disk Object No

The disk configuration for this deployment. By default, all containers have a disk size of 2GB.

target_configuration.disk.size String No

A disk size that specifies its unit at the end.

target_configuration.disk.size_mb Integer No

Size of the disk, in MB.

target_configuration.dns Object No

Represents the /etc/resolv.conf that will appear in the deployment. If the 'dns' property is specified, even if empty object, will override the default resolv.conf of the container. The default resolv.conf of a container is 'servers = ["1.1.1.1", "9.9.9.9", "2606:4700:4700::1111"]', only if an IPv4 is assigned. The default for a non IPv4 deployment is 'servers = ["2606:4700:4700::1111", "2620:fe::fe"]'.

target_configuration.dns.servers[] Array No

List of DNS servers that the deployment will use to resolve domain names. You can only specify a maximum of 3.

target_configuration.dns.searches[] Array No

The container resolver will append these domains to every resolve query. For example, if you have 'google.com', and your deployment queries 'web', it will append 'google.com' to 'web' in the search query before trying 'web'. Limited to 6 domains.

percentage Integer No

Initial target version percentage (0-100). Version sync will actively replace instances to match. Required when strategy is "new_instances" and kind is "full_manual". When strategy is "new_instances" and kind is "full_auto", omitted percentage starts at 10% or the smallest percentage that targets at least one instance. Not used for "rolling".

description String Yes

Description of the rollout process.

step_percentage Integer No

Percentage of rollout to increase in each step when "steps" is not specificed. Applicable values are 5, 10, 20, 25, 50, 100. These create rollouts with 20, 10, 5, 4, 2, 1 steps respectively. Only valid for "rolling" strategy.

Valid values:

  • 100
  • 25
  • 5
  • 50
  • 20
  • 10
steps[] Array No

Steps defining the rollout process, when "step_percentage" is not defined. Only one of "step_percentage" or "steps" can be defined when creating a rollout. "steps" allow granular control over each step. Only valid for "rolling" strategy.

steps[].step_size Object Yes
steps[].step_size.percentage Integer Yes

Percentage of instances affected in this step. Min 10% and Max 100%.

steps[].description String Yes

Description of the rollout step.

strategy String Yes

Strategy used for the rollout.

  • "rolling": Step-based rollout with health gates. Actively replaces instances to reach each step's target percentage.
  • "new_instances": Percentage control over version distribution. Version sync actively replaces instances to match the configured percentage. The "full_auto" kind advances through fixed percentage targets after target-version health is observed.

Valid values:

  • "rolling"
  • "new_instances"
kind String No

Kind of the rollout process.

  • "full_auto": For rolling rollouts, starts progressing steps upon rollout creation. For new_instances rollouts, advances percentage targets automatically after target-version health is observed.
  • "full_manual": Requires manually progressing each step in the rollout using the UpdateRollout's action paramater. For "new_instances" strategy, omit "kind" to preserve manual percentage behavior, or set "full_auto" to start an automatic 10% health-gated ramp.

Valid values:

  • "full_auto"
  • "full_manual"

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.