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
- https://api.cloudflare.com/client/v4
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.
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:
|
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:
|
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.
Valid values:
|
kind |
String | No |
Kind of the rollout process.
Valid values:
|
How to start integrating
- Add HTTP Task to your workflow definition.
- 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.
- Click Test request to test run your request to the API and see the API's response.