update-cloudflow-connection
dci update-cloudflow-connection <connectionId> [body]
Partially updates a connection. All fields are optional.
At most one of gcpConfig or awsConfig may be set per request.
connectionId— Identifier of the resource.
Pass the request body as name: value arguments or pipe JSON on stdin — see Command structure.
A connection change can disable every flow that depends on it, so the CLI classifies this
command as destructive: interactive terminals show a confirmation prompt, scripts must pass
--yes, and --dry-run prints a local preview without sending anything — see the CLI
guide's Destructive commands.
Every field is optional; omitted fields keep their current value. At most one of gcpConfig
or awsConfig may be set per request.
Examples
# Preview disabling a connection without sending anything.
dci update-cloudflow-connection <connection-id> --dry-run enabled: false
# Disable it for real in a script (flows that use it stop being able to act).
dci update-cloudflow-connection <connection-id> --yes enabled: false
# Rename and describe a connection.
dci update-cloudflow-connection <connection-id> --yes name: "AWS production", description: "Managed by FinOps"
# Add a collaborator, with the body read from a file.
dci update-cloudflow-connection <connection-id> --yes < collaborators.json
# collaborators.json
{"collaborators": [{"email": "[email protected]", "role": "editor"}, {"email": "[email protected]", "role": "owner"}]}
Request
Content-Type: application/json
| Field | Type | Required | Description |
|---|---|---|---|
name | string | ||
description | string | ||
gcpConfig | object | GCP connection configuration. Server-owned fields (status, deploymentCommand) are excluded. | |
gcpConfig.organizationId | string | ||
gcpConfig.folderId | string | ||
gcpConfig.projectId | string | ||
gcpConfig.level | string | One of: "organization", "folder", "project". | |
gcpConfig.serviceAccountName | string | ||
gcpConfig.predefinedRoles | array of string | ||
gcpConfig.customRole | object | ||
gcpConfig.customRole.roleId | string | ||
gcpConfig.customRole.permissions | array of string | ||
gcpConfig.infraManagerProject | string | ||
gcpConfig.infraManagerLocation | string | ||
gcpConfig.infraManagerServiceAccount | string | ||
awsConfig | object | AWS connection configuration. Server-owned fields (context[].status, context[].nextStackOperation, stackSet) are excluded. | |
awsConfig.context | array of object | ||
awsConfig.context[].accountId | string | ||
awsConfig.context[].regions | array of string | ||
awsConfig.roleName | string | ||
awsConfig.permissions | object | ||
awsConfig.managementAccount | string | ||
awsConfig.organizationRootId | string | ||
awsConfig.scopeTargetedOrganizationalUnitIds | array of string | ||
awsConfig.scopeExplicitAccountIds | array of string | ||
awsConfig.scopeExcludedAccountIds | array of string | ||
awsConfig.scopeManagementAccountExplicitInScope | boolean | ||
collaborators | array of object | ||
collaborators[].email | string (email) | ||
collaborators[].role | string | One of: "owner", "editor", "user". | |
enabled | boolean | Set to false to disable the connection, true to re-enable it. |
Raw JSON schema
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"gcpConfig": {
"type": "object",
"description": "GCP connection configuration. Server-owned fields (status, deploymentCommand) are excluded.",
"properties": {
"organizationId": {
"type": "string"
},
"folderId": {
"type": "string"
},
"projectId": {
"type": "string"
},
"level": {
"type": "string",
"enum": [
"organization",
"folder",
"project"
]
},
"serviceAccountName": {
"type": "string"
},
"predefinedRoles": {
"type": "array",
"items": {
"type": "string"
}
},
"customRole": {
"type": "object",
"properties": {
"roleId": {
"type": "string"
},
"permissions": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"infraManagerProject": {
"type": "string"
},
"infraManagerLocation": {
"type": "string"
},
"infraManagerServiceAccount": {
"type": "string"
}
}
},
"awsConfig": {
"type": "object",
"description": "AWS connection configuration. Server-owned fields (context[].status, context[].nextStackOperation, stackSet) are excluded.",
"properties": {
"context": {
"type": "array",
"items": {
"type": "object",
"properties": {
"accountId": {
"type": "string"
},
"regions": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"roleName": {
"type": "string"
},
"permissions": {
"type": "object"
},
"managementAccount": {
"type": "string"
},
"organizationRootId": {
"type": "string"
},
"scopeTargetedOrganizationalUnitIds": {
"type": "array",
"items": {
"type": "string"
}
},
"scopeExplicitAccountIds": {
"type": "array",
"items": {
"type": "string"
}
},
"scopeExcludedAccountIds": {
"type": "array",
"items": {
"type": "string"
}
},
"scopeManagementAccountExplicitInScope": {
"type": "boolean"
}
}
},
"collaborators": {
"type": "array",
"items": {
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email"
},
"role": {
"type": "string",
"enum": [
"owner",
"editor",
"user"
]
}
}
}
},
"enabled": {
"type": "boolean",
"description": "Set to false to disable the connection, true to re-enable it."
}
}
}
Output
OK
By default dci renders the result as a table. Use --output json to get the full structure described below — see Output formats.
| Field | Type | Description |
|---|---|---|
connectionId | string | Unique identifier for the connection. |
name | string | |
description | string | |
gcpConfig | object | GCP connection configuration. Server-owned fields (status, deploymentCommand) are excluded. |
gcpConfig.status | string | Server-managed GCP config status. |
gcpConfig.deploymentCommand | string | Generated deployment command. |
gcpConfig.organizationId | string | |
gcpConfig.folderId | string | |
gcpConfig.projectId | string | |
gcpConfig.level | string | One of: "organization", "folder", "project". |
gcpConfig.serviceAccountName | string | |
gcpConfig.predefinedRoles | array of string | |
gcpConfig.customRole | object | |
gcpConfig.customRole.roleId | string | |
gcpConfig.customRole.permissions | array of string | |
gcpConfig.infraManagerProject | string | |
gcpConfig.infraManagerLocation | string | |
gcpConfig.infraManagerServiceAccount | string | |
awsConfig | object | AWS connection configuration. Server-owned fields (context[].status, context[].nextStackOperation, stackSet) are excluded. |
awsConfig.context | array of object | |
awsConfig.context[].accountId | string | |
awsConfig.context[].regions | array of string | |
awsConfig.roleName | string | |
awsConfig.permissions | object | |
awsConfig.managementAccount | string | |
awsConfig.organizationRootId | string | |
awsConfig.scopeTargetedOrganizationalUnitIds | array of string | |
awsConfig.scopeExplicitAccountIds | array of string | |
awsConfig.scopeExcludedAccountIds | array of string | |
awsConfig.scopeManagementAccountExplicitInScope | boolean | |
collaborators | array of object | |
collaborators[].email | string (email) | |
collaborators[].role | string | One of: "owner", "editor", "user". |
enabled | boolean | false when the connection is disabled. |
status | string | Overall connection status. |
createdAt | string (date-time) | |
updatedAt | string (date-time) |
Raw JSON schema
{
"type": "object",
"description": "A cloud provider connection used in CloudFlow workflows.",
"properties": {
"connectionId": {
"type": "string",
"description": "Unique identifier for the connection."
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"gcpConfig": {
"allOf": [
{
"type": "object",
"description": "GCP connection configuration. Server-owned fields (status, deploymentCommand) are excluded.",
"properties": {
"organizationId": {
"type": "string"
},
"folderId": {
"type": "string"
},
"projectId": {
"type": "string"
},
"level": {
"type": "string",
"enum": [
"organization",
"folder",
"project"
]
},
"serviceAccountName": {
"type": "string"
},
"predefinedRoles": {
"type": "array",
"items": {
"type": "string"
}
},
"customRole": {
"type": "object",
"properties": {
"roleId": {
"type": "string"
},
"permissions": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"infraManagerProject": {
"type": "string"
},
"infraManagerLocation": {
"type": "string"
},
"infraManagerServiceAccount": {
"type": "string"
}
}
},
{
"type": "object",
"description": "Response extends request schema with server-owned read-only fields.",
"properties": {
"status": {
"type": "string",
"description": "Server-managed GCP config status."
},
"deploymentCommand": {
"type": "string",
"description": "Generated deployment command."
}
}
}
]
},
"awsConfig": {
"allOf": [
{
"type": "object",
"description": "AWS connection configuration. Server-owned fields (context[].status, context[].nextStackOperation, stackSet) are excluded.",
"properties": {
"context": {
"type": "array",
"items": {
"type": "object",
"properties": {
"accountId": {
"type": "string"
},
"regions": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"roleName": {
"type": "string"
},
"permissions": {
"type": "object"
},
"managementAccount": {
"type": "string"
},
"organizationRootId": {
"type": "string"
},
"scopeTargetedOrganizationalUnitIds": {
"type": "array",
"items": {
"type": "string"
}
},
"scopeExplicitAccountIds": {
"type": "array",
"items": {
"type": "string"
}
},
"scopeExcludedAccountIds": {
"type": "array",
"items": {
"type": "string"
}
},
"scopeManagementAccountExplicitInScope": {
"type": "boolean"
}
}
},
{
"type": "object",
"description": "Response extends request schema with server-owned read-only fields.",
"properties": {
"context": {
"type": "array",
"items": {
"type": "object",
"properties": {
"accountId": {
"type": "string"
},
"regions": {
"type": "array",
"items": {
"type": "string"
}
},
"status": {
"type": "string",
"description": "Server-managed per-account deployment status."
}
}
}
}
}
}
]
},
"collaborators": {
"type": "array",
"items": {
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email"
},
"role": {
"type": "string",
"enum": [
"owner",
"editor",
"user"
]
}
}
}
},
"enabled": {
"type": "boolean",
"description": "false when the connection is disabled."
},
"status": {
"type": "string",
"description": "Overall connection status."
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
}
}
Errors
On failure, dci prints a single error message — with a hint when one is available — and exits with a typed code your scripts can branch on. See Errors and exit codes for the full contract.
HTTP status to exit code mapping
| HTTP status | Exit code | Error code | Meaning |
|---|---|---|---|
| 400 | 30 | VALIDATION_ERROR | The arguments or request body were rejected. Review the command's flags and payload. |
| 401 | 10 | AUTHENTICATION_FAILED | Not signed in, or the API token is invalid. Run dci login or check DCI_API_KEY. |
| 403 | 11 | PERMISSION_DENIED | The DoiT user or the active customer context does not have access. |
| 404 | 20 | RESOURCE_NOT_FOUND | The requested resource does not exist. Check the identifier argument. |
| 500 | 40 | API_SERVER_ERROR | The API failed to process the request. Retryable; contact DoiT support if it persists. |
Related
- get-cloudflow-connection — Retrieve a connection
- list-cloudflow-connections — List connections
- create-cloudflow-connection — Create a connection
- delete-cloudflow-connection — Delete a connection
- API reference: PATCH /cloudflow/v1/connections/{connectionId}
Aliases: updatecloudflowconnection