Skip to content

Reusable cluster, compute, library, environment, and catalog settings for workloads. Called workload configs in the API.

GET/workloads/configs

List workload configs

Returns workload configs visible to the caller. When teamId is provided, only workload configs whose cluster is linked to that team are returned. Anonymous (inline) configs are excluded.

Parameters

teamIdstring
teamId

Filter workload configs by team.

Type
string
Example"A1B2C3D4E5"
Min Length
1
Max Length
20
Pattern
"^[A-Z0-9]{1,20}$"
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​

The list of workload configs.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"id": "A1B2C3D4E5",
  
  
  
"name": "Production Cluster",
  
  
  
"workloadType": "string",
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
"config": {
  
  
  
  
"sail": {
  
  
  
  
  
"executionMode": "string",
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
"compute": {
  
  
  
  
  
  
"driver": {
  
  
  
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"worker": {
  
  
  
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"maxNodes": 4,
  
  
  
  
  
  
  
"capacityType": "on-demand"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"lakesailImageUri": "string",
  
  
  
  
  
"libraries": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"whl": "string"
  
  
  
  
  
  
}
  
  
  
  
  
],
  
  
  
  
  
"extraEnv": {
  
  
  
  
  
  
"additionalProperties": {
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
}
  
  
  
},
  
  
  
"endpointLimits": {
  
  
  
  
"spark_connect": 0
  
  
  
},
  
  
  
"createdAt": "string",
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
"updatedAt": "string",
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
"catalogs": [
  
  
  
  
{
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
}
  
  
  
],
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
"capabilities": {
  
  
  
  
"run": {
  
  
  
  
  
"allowed": true,
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"storeFiles": {
  
  
  
  
  
"allowed": true,
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"warning": {
  
  
  
  
  
"label": "string",
  
  
  
  
  
"message": "string"
  
  
  
  
}
  
  
  
},
  
  
  
"notebookCount": 0,
  
  
  
"jobCount": 0,
  
  
  
"activeWorkloadCount": 0
  
  
}
  
],
  
"marker": "string"
}
POST/workloads/configs

Create a workload config

Creates a named workload config for a cluster. It can be reused by jobs, sessions, and notebooks that have access to the cluster. Once created, workloadType and clusterId are immutable. Access follows the teams linked to the cluster; a workload config does not have a separate owning team.

Request Body​

application/json
JSON
{
  
"name": "Production Cluster",
  
"workloadType": "string",
  
"clusterId": "A1B2C3D4E5",
  
"config": {
  
  
"sail": {
  
  
  
"executionMode": "string",
  
  
  
"maxRetries": 3,
  
  
  
"compute": {
  
  
  
  
"driver": {
  
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"worker": {
  
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
},
  
  
  
  
  
"maxNodes": 4,
  
  
  
  
  
"capacityType": "on-demand"
  
  
  
  
}
  
  
  
},
  
  
  
"lakesailImageUri": "string",
  
  
  
"libraries": [
  
  
  
  
{
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
},
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
},
  
  
  
  
  
"whl": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"extraEnv": {
  
  
  
  
"additionalProperties": {
  
  
  
  
  
"type": "string",
  
  
  
  
  
"value": "string"
  
  
  
  
}
  
  
  
}
  
  
}
  
},
  
"endpointLimits": {
  
  
"spark_connect": 0
  
},
  
"catalogs": [
  
],
  
"defaultCatalogId": "A1B2C3D4E5"
}
Responses

Responses​

The workload config was created successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"workloadType": "string",
  
"clusterId": "A1B2C3D4E5",
  
"config": {
  
  
"sail": {
  
  
  
"executionMode": "string",
  
  
  
"maxRetries": 3,
  
  
  
"compute": {
  
  
  
  
"driver": {
  
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"worker": {
  
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
},
  
  
  
  
  
"maxNodes": 4,
  
  
  
  
  
"capacityType": "on-demand"
  
  
  
  
}
  
  
  
},
  
  
  
"lakesailImageUri": "string",
  
  
  
"libraries": [
  
  
  
  
{
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
},
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
},
  
  
  
  
  
"whl": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"extraEnv": {
  
  
  
  
"additionalProperties": {
  
  
  
  
  
"type": "string",
  
  
  
  
  
"value": "string"
  
  
  
  
}
  
  
  
}
  
  
}
  
},
  
"endpointLimits": {
  
  
"spark_connect": 0
  
},
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5",
  
"catalogs": [
  
],
  
"defaultCatalogId": "A1B2C3D4E5"
}
GET/workloads/configs/{workloadConfig}

Describe a workload config

Returns the full detail of a workload config.

Responses

Responses​

The workload config was retrieved successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"workloadType": "string",
  
"clusterId": "A1B2C3D4E5",
  
"config": {
  
  
"sail": {
  
  
  
"executionMode": "string",
  
  
  
"maxRetries": 3,
  
  
  
"compute": {
  
  
  
  
"driver": {
  
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"worker": {
  
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
},
  
  
  
  
  
"maxNodes": 4,
  
  
  
  
  
"capacityType": "on-demand"
  
  
  
  
}
  
  
  
},
  
  
  
"lakesailImageUri": "string",
  
  
  
"libraries": [
  
  
  
  
{
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
},
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
},
  
  
  
  
  
"whl": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"extraEnv": {
  
  
  
  
"additionalProperties": {
  
  
  
  
  
"type": "string",
  
  
  
  
  
"value": "string"
  
  
  
  
}
  
  
  
}
  
  
}
  
},
  
"endpointLimits": {
  
  
"spark_connect": 0
  
},
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5",
  
"catalogs": [
  
],
  
"defaultCatalogId": "A1B2C3D4E5"
}
DELETE/workloads/configs/{workloadConfig}

Delete a workload config

Deletes a workload config. Jobs and notebooks that reference it prevent deletion. An active runtime prevents deletion while it still depends on the config's catalogs, default catalog, or secrets. After deletion, the config is removed from listings and cannot be used by new workloads.

Responses

Responses​

The requested operation was done successfully.

PATCH/workloads/configs/{workloadConfig}

Update a workload config

Updates a workload config's mutable fields. workloadType and clusterId are immutable. Editing is rejected while an active runtime uses the config. Changes apply to future workloads; existing compute snapshots remain unchanged.

Request Body​

application/json
JSON
{
  
"name": "Production Cluster",
  
"config": {
  
  
"sail": {
  
  
  
"executionMode": "string",
  
  
  
"maxRetries": 3,
  
  
  
"compute": {
  
  
  
  
"driver": {
  
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"worker": {
  
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
},
  
  
  
  
  
"maxNodes": 4,
  
  
  
  
  
"capacityType": "on-demand"
  
  
  
  
}
  
  
  
},
  
  
  
"lakesailImageUri": "string",
  
  
  
"libraries": [
  
  
  
  
{
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
},
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
},
  
  
  
  
  
"whl": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"extraEnv": {
  
  
  
  
"additionalProperties": {
  
  
  
  
  
"type": "string",
  
  
  
  
  
"value": "string"
  
  
  
  
}
  
  
  
}
  
  
}
  
},
  
"endpointLimits": {
  
  
"spark_connect": 0
  
},
  
"catalogs": [
  
],
  
"defaultCatalogId": "A1B2C3D4E5"
}
Responses

Responses​

The workload config was updated successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"workloadType": "string",
  
"clusterId": "A1B2C3D4E5",
  
"config": {
  
  
"sail": {
  
  
  
"executionMode": "string",
  
  
  
"maxRetries": 3,
  
  
  
"compute": {
  
  
  
  
"driver": {
  
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"worker": {
  
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
},
  
  
  
  
  
"maxNodes": 4,
  
  
  
  
  
"capacityType": "on-demand"
  
  
  
  
}
  
  
  
},
  
  
  
"lakesailImageUri": "string",
  
  
  
"libraries": [
  
  
  
  
{
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
},
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
},
  
  
  
  
  
"whl": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"extraEnv": {
  
  
  
  
"additionalProperties": {
  
  
  
  
  
"type": "string",
  
  
  
  
  
"value": "string"
  
  
  
  
}
  
  
  
}
  
  
}
  
},
  
"endpointLimits": {
  
  
"spark_connect": 0
  
},
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5",
  
"catalogs": [
  
],
  
"defaultCatalogId": "A1B2C3D4E5"
}
GET/workloads/configs/{workloadConfig}/references

Get workload config references

Returns the resources that currently reference a workload config. Notebooks and jobs are durable references that prevent deletion until repointed. Active workloads block deletion while they still depend on workload config resources such as secrets, catalogs, or a default catalog.

Responses

Responses​

The workload config references were retrieved successfully.

application/json
JSON
{
  
"notebooks": {
  
  
"count": 0,
  
  
"items": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "string",
  
  
  
  
"status": "string"
  
  
  
}
  
  
],
  
  
"blocksDeletion": true
  
},
  
"jobs": {
  
  
"count": 0,
  
  
"items": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "string",
  
  
  
  
"status": "string"
  
  
  
}
  
  
],
  
  
"blocksDeletion": true
  
},
  
"activeWorkloads": {
  
  
"count": 0,
  
  
"items": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "string",
  
  
  
  
"status": "string"
  
  
  
}
  
  
],
  
  
"blocksDeletion": true
  
},
  
"deletionBlocked": true
}

Can't find the answer here? Email us: support@lakesail.com