Skip to main content

Engines

An engine represents a Dremio Cloud entity that manages compute resources. Each engine has one or more replicas that are created for executing queries. An engine replica is a logical group of executors defined by the engine size. This API allows you to list existing engines and add, modify, enable/disable, and delete engines.

Engine Object
    "id": "e1cb20ff-a234-46f1-9f97-550e2bb5310f",
"name": "firstEngine",
"size": "XX_SMALL_V1",
"activeReplicas": 0,
"minReplicas": 0,
"maxReplicas": 10,
"autoStopDelaySeconds": 300,
"queueTimeLimitSeconds": 300,
"runtimeLimitSeconds": 0,
"drainTimeLimitSeconds": 0,
"state": "ENABLED",
"cloudTags": [],
"queriedAt": "Thu Jan 01 00:00:00 UTC 2021",
"statusChangedAt": "Thu Aug 19 14:39:40 UTC 2021",
"description": "",
"maxConcurrency": 4

Engine Attributes​

{{< api-section file="data/api/engines.json" data="engineAttributes" >}}

cloudTags​

{{< api-section file="data/api/engines.json" data="cloudTags" >}}

Listing All Engines​

Returns a list of all the engines in the specified project and the metadata for each engine.

Listing All Engines
GET /v0/projects/{project-id}/engines

Parameters​

{{< api-section file="data/api/engines.json" data="listingAllEnginesParameters" >}}

Example Request
curl -X GET 'https://api.dremio.cloud/v0/projects/02d36975-73eb-47ed-9bb5-de73060380f6/engines' \
-H 'Authorization: Bearer <personal access token>' \
-H 'Content-Type: application/json'
Example Response
{
[
{
"id": "e1cb20ff-a234-46f1-9f97-550e2bb5310f",
"name": "firstEngine",
"size": "XX_SMALL_V1",
"activeReplicas": 0,
"minReplicas": 0,
"maxReplicas": 10,
"autoStopDelaySeconds": 300,
"queueTimeLimitSeconds": 300,
"runtimeLimitSeconds": 0,
"drainTimeLimitSeconds": 0,
"state": "ENABLED",
"cloudTags": [],
"queriedAt": "Thu Jan 01 00:00:00 UTC 2021",
"statusChangedAt": "Thu Aug 19 14:39:40 UTC 2021",
"description": "",
"maxConcurrency": 4
},
{
"id": "a99eb46a-8121-4b79-b2ed-917e07f96092",
"name": "preview",
"size": "XX_SMALL_V1",
"activeReplicas": 0,
"minReplicas": 0,
"maxReplicas": 1,
"autoStopDelaySeconds": 180,
"queueTimeLimitSeconds": 300,
"runtimeLimitSeconds": 0,
"drainTimeLimitSeconds": 0,
"state": "ENABLED",
"cloudTags": [],
"queriedAt": "Thu Jan 01 00:00:00 UTC 2021",
"statusChangedAt": "Fri Aug 20 03:58:54 UTC 2021",
"description": "",
"maxConcurrency": 4
}
]

Responses​

{{< api-responses file="data/api/engines.json" data="listingAllEnginesResponses" >}}

Adding an Engine​

Add an engine to the cloud account that is associated with the specified project.

Adding an Engine
POST /v0/projects/{project-id}/engines

Parameters​

Engine​

{{< api-section file="data/api/engines.json" data="addingEngineParameters" >}}

cloudTags​

{{< api-section file="data/api/engines.json" data="addingEngineTagParameters" >}}

Example Request
curl -X POST 'https://api.dremio.cloud/v0/projects/c683b988-aa93-439c-a9ac-0d7f72b53d23/engines' \
-H 'Authorization: Bearer <personal access token>' \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"name": "newengine",
"size": "XX_SMALL_V1",
"minReplicas": 0,
"maxReplicas": 1,
"autoStopDelaySeconds": 7200,
"queueTimeLimitSeconds": 300,
"runtimeLimitSeconds": 0,
"drainTimeLimitSeconds": 1800,
"cloudTags": [
{
"key": "tag1",
"value": "value1"
}
],
"description": "engine description",
"maxConcurrency": 2,
"requestId": "d9904076-01db-11ec-9a03-0242ac130003"
}'
Example Response
{
"id": "168acd56-16a0-47df-91f8-5487a8fccfc4"
}

Responses​

{{< api-responses file="data/api/engines.json" data="addingEngineResponses" >}}

Retrieving an Engine​

Get the metadata for an existing engine by providing the project and engine IDs.

Retrieving an Engine
GET /v0/projects/{project-id}/engines/{id}

Parameters​

{{< api-section file="data/api/engines.json" data="retrievingEngineParameters" >}}

Example Request
curl -X GET 'https://api.dremio.cloud/v0/projects/c683b988-aa93-439c-a9ac-0d7f72b53d23/engines/168acd56-16a0-47df-91f8-5487a8fccfc4' \
-H 'Authorization: Bearer <personal access token>' \
-H 'Content-Type: application/json'
Example Response
{
"id": "168acd56-16a0-47df-91f8-5487a8fccfc4",
"name": "newengine",
"size": "XX_SMALL_V1",
"activeReplicas": 0,
"minReplicas": 0,
"maxReplicas": 1,
"autoStopDelaySeconds": 7200,
"queueTimeLimitSeconds": 300,
"runtimeLimitSeconds": 0,
"drainTimeLimitSeconds": 1800,
"state": "ENABLED",
"cloudTags": [
{
"key": "tag1",
"value": "value1"
}
],
"queriedAt": "Thu Jan 01 00:00:00 UTC 2021",
"statusChangedAt": "Fri Aug 20 17:29:18 UTC 2021",
"description": "engine description",
"maxConcurrency": 2
}

Responses​

{{< api-responses file="data/api/engines.json" data="retrievingEngineResponses" >}}

Modifying an Engine​

Modify the engine by providing the project and engine IDs. Parameters that are not provided will be left unchanged. The engine name cannot be modified.

Modifying an Engine
PUT /v0/projects/{project-id}/engines/{id}

Parameters​

{{< api-section file="data/api/engines.json" data="modifyingEngineParameters" >}}

cloudTags​

{{< api-section file="data/api/engines.json" data="modifyingEngineTagParameters" >}}

Example Request
curl -X PUT 'https://api.dremio.cloud/v0/projects/c683b988-aa93-439c-a9ac-0d7f72b53d23/engines/168acd56-16a0-47df-91f8-5487a8fccfc4' \
-H 'Authorization: Bearer <personal access token>' \
-H 'Content-Type: application/json' \
-d '{
"description": "modified engine description",
"size": "XX_SMALL_V1",
"autoStopDelaySeconds": 7200,
"drainTimeLimitSeconds": 1800,
"maxConcurrency": 2,
"maxReplicas": 1,
"minReplicas": 0,
"queueTimeLimitSeconds": 300,
"runtimeLimitSeconds": 0,
"cloudTags": [ ]
}'
Example Response
No response

Responses​

{{< api-responses file="data/api/engines.json" data="modifyingEngineResponses" >}}

Enabling an Engine​

Enable an engine.

Enabling an Engine
PUT /v0/projects/{project-id}/engines/{id}/enable

Parameters​

{{< api-section file="data/api/engines.json" data="enablingEngineParameters" >}}

Example Request
curl -X PUT 'https://api.dremio.cloud/v0/projects/c683b988-aa93-439c-a9ac-0d7f72b53d23/engines/168acd56-16a0-47df-91f8-5487a8fccfc4/enable' \
-H 'Authorization: Bearer <personal access token>' \
-H 'Content-Type: application/json'
Example Response
No response

Responses​

{{< api-responses file="data/api/engines.json" data="enablingEngineResponses" >}}

Disabling an Engine​

Disable an engine.

Disabling an Engine
PUT /v0/projects/{project-id}/engines/{id}/disable

Parameters​

{{< api-section file="data/api/engines.json" data="disablingEngineParameters" >}}

Example Request
curl -X PUT 'https://api.dremio.cloud/v0/projects/c683b988-aa93-439c-a9ac-0d7f72b53d23/engines/168acd56-16a0-47df-91f8-5487a8fccfc4/disable' \
-H 'Authorization: Bearer <personal access token>' \
-H 'Content-Type: application/json'
Example Response
No response

Responses​

{{< api-responses file="data/api/engines.json" data="disablingEngineResponses" >}}

Deleting an Engine​

Delete an engine by providing the project and engine ID.

Deleting an Engine
DELETE /v0/projects/{project-id}/engines/{id}

Parameters​

{{< api-section file="data/api/engines.json" data="deletingEngineParameters" >}}

Example Request
curl -X DELETE 'https://api.dremio.cloud/v0/projects/c683b988-aa93-439c-a9ac-0d7f72b53d23/engines/168acd56-16a0-47df-91f8-5487a8fccfc4' \
-H 'Authorization: Bearer <personal access token>' \
-H 'Content-Type: application/json'
Example Response
No response

Responses​

{{< api-responses file="data/api/engines.json" data="deletingEngineResponses" >}}