Skip to content

Cloud account connections, CloudFormation template management, and resource discovery.

GET/infra/connections

List cloud accounts

Returns a paginated list of cloud accounts configured for the organization.

Parameters

limitinteger
limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100
markerstring
marker

The pagination token returned from the previous list operation.

Type
string
Responses

Responses

List of External connections.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"id": "A1B2C3D4E5",
  
  
  
"name": "Production Cluster",
  
  
  
"provider": "string",
  
  
  
"providerConfig": {
  
  
  
  
"accountId": "123456789012",
  
  
  
  
"region": "us-east-1",
  
  
  
  
"roleArn": "arn:aws:iam::123456789012:role/LakeSailConnection",
  
  
  
  
"externalIdSecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:lakesail-ext-id",
  
  
  
  
"stackArn": "arn:aws:cloudformation:us-east-1:123456789012:stack/lakesail-connection/abc123"
  
  
  
},
  
  
  
"status": "active",
  
  
  
"statusMessage": "string",
  
  
  
"lastUsedAt": "string",
  
  
  
"templateSyncedAt": "string",
  
  
  
"templateSyncMessage": "string",
  
  
  
"createdAt": "string",
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
"updatedAt": "string",
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
}
  
],
  
"included": {
  
  
"operations": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"operation": "string",
  
  
  
  
"status": "string",
  
  
  
  
"result": {
  
  
  
  
  
"items": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"provider": "string",
  
  
  
  
  
  
  
"instanceType": "string",
  
  
  
  
  
  
  
"vCpus": 0,
  
  
  
  
  
  
  
"memoryMiB": 0,
  
  
  
  
  
  
  
"architecture": "string",
  
  
  
  
  
  
  
"gpuCount": 0,
  
  
  
  
  
  
  
"instanceFamily": "string",
  
  
  
  
  
  
  
"maxPods": 0,
  
  
  
  
  
  
  
"group": "string",
  
  
  
  
  
  
  
"allocatableMilliCpu": 0
  
  
  
  
  
  
}
  
  
  
  
  
],
  
  
  
  
  
"metadata": {
  
  
  
  
  
  
"provider": "string",
  
  
  
  
  
  
"systemPodsPerNode": 0,
  
  
  
  
  
  
"systemPodsPerSystemNode": 0,
  
  
  
  
  
  
"systemPodsFixed": 0,
  
  
  
  
  
  
"systemPodsPerNodeMargin": 0,
  
  
  
  
  
  
"systemPodsFixedMargin": 0,
  
  
  
  
  
  
"systemMilliCPUPerNode": 0,
  
  
  
  
  
  
"systemMilliCPUFixed": 0,
  
  
  
  
  
  
"karpenterMilliCPUPerReplica": 0,
  
  
  
  
  
  
"karpenterReplicas": 0
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"error": {
  
  
  
  
  
"code": "string",
  
  
  
  
  
"message": "string",
  
  
  
  
  
"errorType": "string",
  
  
  
  
  
"details": {
  
  
  
  
  
  
"retryable": true,
  
  
  
  
  
  
"retryAfter": 0,
  
  
  
  
  
  
"fieldErrors": {
  
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
  
},
  
  
  
  
  
  
"requestId": "string",
  
  
  
  
  
  
"causedBy": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"progress": {
  
  
  
  
  
"stage": "string",
  
  
  
  
  
"message": "string",
  
  
  
  
  
"resources": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"urn": "string",
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
"name": "string",
  
  
  
  
  
  
  
"operation": "string",
  
  
  
  
  
  
  
"status": "string",
  
  
  
  
  
  
  
"duration": 0
  
  
  
  
  
  
}
  
  
  
  
  
],
  
  
  
  
  
"summary": {
  
  
  
  
  
  
"total": 0,
  
  
  
  
  
  
"pending": 0,
  
  
  
  
  
  
"running": 0,
  
  
  
  
  
  
"succeeded": 0,
  
  
  
  
  
  
"failed": 0,
  
  
  
  
  
  
"unchanged": 0
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"resourceType": "string",
  
  
  
  
"resourceId": "A1B2C3D4E5",
  
  
  
  
"createdAt": "string",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"startedAt": "string",
  
  
  
  
"completedAt": "string"
  
  
  
}
  
  
]
  
},
  
"marker": "string"
}
POST/infra/connections

Create a cloud account

Creates a new cloud account and returns the CloudFormation template information needed for deployment.

Request Body

application/json
JSON
{
  
"name": "Production Cluster",
  
"provider": "string",
  
"providerConfig": {
  
  
"accountId": "123456789012",
  
  
"region": "us-east-1",
  
  
"roleArn": "arn:aws:iam::123456789012:role/LakeSailConnection",
  
  
"externalIdSecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:lakesail-ext-id",
  
  
"stackArn": "arn:aws:cloudformation:us-east-1:123456789012:stack/lakesail-connection/abc123"
  
}
}
Responses

Responses

External connection created successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"provider": "string",
  
"providerConfig": {
  
  
"accountId": "123456789012",
  
  
"region": "us-east-1",
  
  
"roleArn": "arn:aws:iam::123456789012:role/LakeSailConnection",
  
  
"externalIdSecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:lakesail-ext-id",
  
  
"stackArn": "arn:aws:cloudformation:us-east-1:123456789012:stack/lakesail-connection/abc123"
  
},
  
"status": "active",
  
"statusMessage": "string",
  
"lastUsedAt": "string",
  
"templateSyncedAt": "string",
  
"templateSyncMessage": "string",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}
GET/infra/connections/{connection}

Describe a cloud account

Returns the details of a cloud account, including its provider, region, deployment status, and associated resources.

Responses

Responses

External connection details.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"provider": "string",
  
"providerConfig": {
  
  
"accountId": "123456789012",
  
  
"region": "us-east-1",
  
  
"roleArn": "arn:aws:iam::123456789012:role/LakeSailConnection",
  
  
"externalIdSecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:lakesail-ext-id",
  
  
"stackArn": "arn:aws:cloudformation:us-east-1:123456789012:stack/lakesail-connection/abc123"
  
},
  
"status": "active",
  
"statusMessage": "string",
  
"lastUsedAt": "string",
  
"templateSyncedAt": "string",
  
"templateSyncMessage": "string",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}
DELETE/infra/connections/{connection}

Delete a cloud account

Permanently removes a cloud account. All associated clusters, networks, and catalogs must be destroyed before the connection can be deleted.

Responses

Responses

The requested operation was done successfully.

PATCH/infra/connections/{connection}

Update a cloud account

Modifies a cloud account's metadata such as its name.

Request Body

application/json
JSON
{
  
"name": "Production Cluster",
  
"providerConfig": {
  
  
"accountId": "123456789012",
  
  
"region": "us-east-1",
  
  
"roleArn": "arn:aws:iam::123456789012:role/LakeSailConnection",
  
  
"externalIdSecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:lakesail-ext-id",
  
  
"stackArn": "arn:aws:cloudformation:us-east-1:123456789012:stack/lakesail-connection/abc123"
  
}
}
Responses

Responses

Updated external connection.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"provider": "string",
  
"providerConfig": {
  
  
"accountId": "123456789012",
  
  
"region": "us-east-1",
  
  
"roleArn": "arn:aws:iam::123456789012:role/LakeSailConnection",
  
  
"externalIdSecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:lakesail-ext-id",
  
  
"stackArn": "arn:aws:cloudformation:us-east-1:123456789012:stack/lakesail-connection/abc123"
  
},
  
"status": "active",
  
"statusMessage": "string",
  
"lastUsedAt": "string",
  
"templateSyncedAt": "string",
  
"templateSyncMessage": "string",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}
GET/infra/connections/{connection}/instance-types

List available cloud instance types

Returns EC2 instance types available in the cloud provider account for the specified connection. Supports filtering by region, architecture, CPU, and memory.

Parameters

regionstring
region

AWS region to list instance types for. If not provided, defaults to the connection's configured region.

Type
string
limitinteger
limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100
architecturestring
architecture

Filter by architecture (x86_64 or arm64)

Type
string
Valid values
"x86_64""arm64"
minVCpusinteger
minVCpus

Minimum number of vCPUs

Type
integer
Minimum
1
minMemoryMiBinteger
minMemoryMiB

Minimum memory in MiB

Type
integer
Minimum
1024
Responses

Responses

List of available instance types for the cloud provider.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"provider": "string",
  
  
  
"instanceType": "string",
  
  
  
"vCpus": 0,
  
  
  
"memoryMiB": 0,
  
  
  
"architecture": "string",
  
  
  
"gpuCount": 0,
  
  
  
"instanceFamily": "string",
  
  
  
"maxPods": 0,
  
  
  
"group": "string",
  
  
  
"allocatableMilliCpu": 0
  
  
}
  
],
  
"metadata": {
  
  
"provider": "string",
  
  
"systemPodsPerNode": 0,
  
  
"systemPodsPerSystemNode": 0,
  
  
"systemPodsFixed": 0,
  
  
"systemPodsPerNodeMargin": 0,
  
  
"systemPodsFixedMargin": 0,
  
  
"systemMilliCPUPerNode": 0,
  
  
"systemMilliCPUFixed": 0,
  
  
"karpenterMilliCPUPerReplica": 0,
  
  
"karpenterReplicas": 0
  
}
}
GET/infra/connections/{connection}/regions

List available cloud provider regions

Returns the cloud provider regions available for provisioning external clusters and networks.

Responses

Responses

List of available cloud provider regions

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"provider": "string",
  
  
  
"regionCode": "us-east-1",
  
  
  
"regionName": "US East 1 (N. Virginia)",
  
  
  
"group": "string"
  
  
}
  
]
}
POST/infra/connections/{connection}/sync-template

Sync cloud account IaC template

Updates the CloudFormation stack for this connection with the latest template. The update runs asynchronously. Only available for active connections with a deployed stack.

Responses

Responses

Template sync operation initiated.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"organizationId": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"operation": "string",
  
"status": "string",
  
"result": {
  
  
"items": [
  
  
  
{
  
  
  
  
"provider": "string",
  
  
  
  
"instanceType": "string",
  
  
  
  
"vCpus": 0,
  
  
  
  
"memoryMiB": 0,
  
  
  
  
"architecture": "string",
  
  
  
  
"gpuCount": 0,
  
  
  
  
"instanceFamily": "string",
  
  
  
  
"maxPods": 0,
  
  
  
  
"group": "string",
  
  
  
  
"allocatableMilliCpu": 0
  
  
  
}
  
  
],
  
  
"metadata": {
  
  
  
"provider": "string",
  
  
  
"systemPodsPerNode": 0,
  
  
  
"systemPodsPerSystemNode": 0,
  
  
  
"systemPodsFixed": 0,
  
  
  
"systemPodsPerNodeMargin": 0,
  
  
  
"systemPodsFixedMargin": 0,
  
  
  
"systemMilliCPUPerNode": 0,
  
  
  
"systemMilliCPUFixed": 0,
  
  
  
"karpenterMilliCPUPerReplica": 0,
  
  
  
"karpenterReplicas": 0
  
  
}
  
},
  
"error": {
  
  
"code": "string",
  
  
"message": "string",
  
  
"errorType": "string",
  
  
"details": {
  
  
  
"retryable": true,
  
  
  
"retryAfter": 0,
  
  
  
"fieldErrors": {
  
  
  
  
"additionalProperties": "string"
  
  
  
},
  
  
  
"requestId": "string",
  
  
  
"causedBy": "string"
  
  
}
  
},
  
"progress": {
  
  
"stage": "string",
  
  
"message": "string",
  
  
"resources": [
  
  
  
{
  
  
  
  
"urn": "string",
  
  
  
  
"type": "string",
  
  
  
  
"name": "string",
  
  
  
  
"operation": "string",
  
  
  
  
"status": "string",
  
  
  
  
"duration": 0
  
  
  
}
  
  
],
  
  
"summary": {
  
  
  
"total": 0,
  
  
  
"pending": 0,
  
  
  
"running": 0,
  
  
  
"succeeded": 0,
  
  
  
"failed": 0,
  
  
  
"unchanged": 0
  
  
}
  
},
  
"resourceType": "string",
  
"resourceId": "A1B2C3D4E5",
  
"createdAt": "string",
  
"updatedAt": "string",
  
"startedAt": "string",
  
"completedAt": "string"
}
GET/infra/connections/{connection}/template

Get connection template

Returns the CloudFormation template URL and parameters needed to deploy the connection stack in the cloud account.

Responses

Responses

CloudFormation template information.

application/json
JSON
{
  
"templateUrl": "string",
  
"quickLaunchUrl": "string",
  
"downloadUrl": "string",
  
"parameters": {
  
  
"ConnectionId": "string",
  
  
"LakeSailPrincipal": "string",
  
  
"ExternalId": "string"
  
}
}
GET/infra/connections/{connection}/template/download

Download connection template

Downloads the CloudFormation template file with parameter defaults pre-filled, ready for upload to the AWS CloudFormation console. Use Get connection template for the URL and raw parameters instead.

Responses

Responses

CloudFormation template with defaults injected.

text/yaml
POST/infra/connections/{connection}/verify

Verify a cloud account

Validates that the cloud account is correctly configured. Call this after deploying the CloudFormation template.

Request Body

application/json
JSON
{
  
"roleArn": "string"
}
Responses

Responses

External connection verification result.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"provider": "string",
  
"providerConfig": {
  
  
"accountId": "123456789012",
  
  
"region": "us-east-1",
  
  
"roleArn": "arn:aws:iam::123456789012:role/LakeSailConnection",
  
  
"externalIdSecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:lakesail-ext-id",
  
  
"stackArn": "arn:aws:cloudformation:us-east-1:123456789012:stack/lakesail-connection/abc123"
  
},
  
"status": "active",
  
"statusMessage": "string",
  
"lastUsedAt": "string",
  
"templateSyncedAt": "string",
  
"templateSyncMessage": "string",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}