Cloud connections
A cloud connection links your Ductape workspace to an external provider. Each connection has a stable tag (for example prod_aws) that you pass as cloud: '<tag>' when linking components.
See Cloud overview for the full connect → link → run flow.
Lifecycle
| Step | Method |
|---|---|
| Create | connections.create({ provider, name, scopes }) |
| Complete | connections.complete(cloudTag, input) — save provider credentials |
| Validate | connections.validate(cloudTag) — test and activate |
| Read | connections.fetch(cloudTag) / connections.list() |
| Update | connections.update(cloudTag, { display_name, description, scopes }) |
| Delete | connections.delete(cloudTag) |
Always use the connection tag in complete, validate, fetch, update, and delete — not an internal ID.
- TypeScript
- Java
- Go
- .NET
await ductape.cloud.connections.create({
provider: 'aws',
name: 'prod_aws',
scopes: ['storage', 'database'],
});
await ductape.cloud.connections.complete('prod_aws', {
role_arn: 'arn:aws:iam::123456789012:role/DuctapeAccess',
});
await ductape.cloud.connections.validate('prod_aws');
ductape.cloud.connections.create(Map.of(
"provider", "aws",
"name", "prod_aws",
scopes: ['storage', 'database'],
));
ductape.cloud.connections.complete('prod_aws', Map.of(
"role_arn", "arn:aws:iam::123456789012:role/DuctapeAccess",
));
ductape.cloud.connections.validate('prod_aws');
client.cloud.connections.create({
"provider": "aws",
"name": "prod_aws",
scopes: ['storage', 'database'],
});
client.cloud.connections.complete('prod_aws', {
"role_arn": "arn:aws:iam::123456789012:role/DuctapeAccess",
});
client.cloud.connections.validate('prod_aws');
await ductape.cloud.connections.create({
["provider"] = "aws",
["name"] = "prod_aws",
scopes: ['storage', 'database'],
});
await ductape.cloud.connections.complete('prod_aws', {
["role_arn"] = "arn:aws:iam::123456789012:role/DuctapeAccess",
});
await ductape.cloud.connections.validate('prod_aws');
Providers
| Provider | provider value | Complete input | Guide |
|---|---|---|---|
| AWS | aws | role_arn | AWS setup |
| GCP | gcp | project_id, service_account_json | GCP setup |
| Azure | azure | tenant_id, subscription_id, client_id, client_secret | Azure setup |
| MongoDB Atlas | mongodb_atlas | project_id, atlas_public_key, atlas_private_key | Atlas setup |
| Neo4j Aura | neo4j_aura | aura_client_id, aura_client_secret | Aura setup |
Workbench
| Action | Where |
|---|---|
| Create | Cloud sidebar → Add connection |
| Complete credentials | Setup tab (pending) or Settings → Credentials (active) |
| Re-validate | Connection header → Re-validate |
| Delete | Remove in the connection header |
The connection tag is fixed after creation. You can change display name and description anytime. Leave secret fields blank on credential updates to keep the stored value.
SDK parity
| Language | Complete |
|---|---|
| TypeScript | ductape.cloud.connections.complete(cloudTag, input) |
| Go | client.Cloud.Connections.Complete(ctx, cloudTag, input) |
| Java | cloudService().completeConnection(cloudTag, input) |
| .NET | ductape.Cloud.CompleteConnectionAsync(cloudTag, input) |