/clusters/{id}/info
curl --request GET \
--url https://api.shadeform.ai/v1/clusters/{id}/info \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.shadeform.ai/v1/clusters/{id}/info"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://api.shadeform.ai/v1/clusters/{id}/info', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.shadeform.ai/v1/clusters/{id}/info",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.shadeform.ai/v1/clusters/{id}/info"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.shadeform.ai/v1/clusters/{id}/info")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.shadeform.ai/v1/clusters/{id}/info")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "8eda86fe-0f36-41ed-9837-0ccf8f6e0fcb",
"cloud": "denvr",
"name": "devnr-cluster1",
"region_info": {
"region": "houston-usa-1",
"display_name": "US, Houston, TX"
},
"status": "active",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"instances": [
{
"id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
"cloud": "hyperstack",
"region": "canada-1",
"shade_instance_type": "A6000",
"cloud_instance_type": "gpu_1x_a6000",
"cloud_assigned_id": "13b057d7-e266-4869-985f-760fe75a78b3",
"shade_cloud": true,
"name": "cool-gpu-server",
"configuration": {
"memory_in_gb": 12,
"storage_in_gb": 256,
"vcpus": 6,
"num_gpus": 1,
"gpu_type": "A100",
"interconnect": "pcie",
"vram_per_gpu_in_gb": 48,
"gpu_manufacturer": "nvidia",
"os": "ubuntu_22_shade_os",
"nvlink": true
},
"ip": "1.0.0.1",
"ssh_user": "shadeform",
"ssh_port": 22,
"status": "active",
"cost_estimate": "103.4",
"created_at": "2016-08-29T09:12:33.001Z",
"deleted_at": "2016-08-29T09:12:33.001Z",
"status_details": "downloading",
"hourly_price": 210,
"launch_configuration": {
"type": "docker",
"docker_configuration": {
"image": "vllm/vllm-openai:latest",
"args": "--model mistralai/Mistral-7B-v0.1",
"shared_memory_in_gb": 8,
"envs": [
{
"name": "HUGGING_FACE_HUB_TOKEN",
"value": "hugging_face_api_token"
}
],
"port_mappings": [
{
"host_port": 80,
"container_port": 8000
}
],
"volume_mounts": [
{
"host_path": "~/.cache/huggingface",
"container_path": "/root/.cache/huggingface"
}
],
"registry_credentials": {
"username": "username",
"password": "password"
}
},
"script_configuration": {
"base64_script": "IyEvYmluL2Jhc2gKCiMgRW5kbGVzcyBsb29wCndoaWxlIHRydWUKZG8KICAgICMgRmV0Y2ggYSBjYXQgZmFjdCB3aXRoIGEgbWF4aW11bSBsZW5ndGggb2YgMTQwIGNoYXJhY3RlcnMKICAgIGN1cmwgLS1uby1wcm9ncmVzcy1tZXRlciBodHRwczovL2NhdGZhY3QubmluamEvZmFjdD9tYXhfbGVuZ3RoPTE0MAoKICAgICMgUHJpbnQgYSBuZXdsaW5lIGZvciByZWFkYWJpbGl0eQogICAgZWNobwoKICAgICMgU2xlZXAgZm9yIDMgc2Vjb25kcyBiZWZvcmUgdGhlIG5leHQgaXRlcmF0aW9uCiAgICBzbGVlcCAzCmRvbmUKCgo="
}
},
"tags": [
"tag1"
],
"port_mappings": [
{
"internal_port": 8000,
"external_port": 80
}
],
"active_at": "2016-08-29T09:12:33.001Z",
"boot_time": {
"min_boot_in_sec": 180,
"max_boot_in_sec": 300
}
}
],
"hourly_price": 1500,
"cloud_cluster_id": "cluster-abc123",
"status_details": "Cluster is provisioning",
"cost_estimate": "$15.00",
"active_at": "2023-11-07T05:31:56Z"
}Clusters
/clusters/{id}/info
Get details for the specified, non deleted, cluster in the url.
GET
/
clusters
/
{id}
/
info
/clusters/{id}/info
curl --request GET \
--url https://api.shadeform.ai/v1/clusters/{id}/info \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.shadeform.ai/v1/clusters/{id}/info"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://api.shadeform.ai/v1/clusters/{id}/info', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.shadeform.ai/v1/clusters/{id}/info",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.shadeform.ai/v1/clusters/{id}/info"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.shadeform.ai/v1/clusters/{id}/info")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.shadeform.ai/v1/clusters/{id}/info")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "8eda86fe-0f36-41ed-9837-0ccf8f6e0fcb",
"cloud": "denvr",
"name": "devnr-cluster1",
"region_info": {
"region": "houston-usa-1",
"display_name": "US, Houston, TX"
},
"status": "active",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"instances": [
{
"id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
"cloud": "hyperstack",
"region": "canada-1",
"shade_instance_type": "A6000",
"cloud_instance_type": "gpu_1x_a6000",
"cloud_assigned_id": "13b057d7-e266-4869-985f-760fe75a78b3",
"shade_cloud": true,
"name": "cool-gpu-server",
"configuration": {
"memory_in_gb": 12,
"storage_in_gb": 256,
"vcpus": 6,
"num_gpus": 1,
"gpu_type": "A100",
"interconnect": "pcie",
"vram_per_gpu_in_gb": 48,
"gpu_manufacturer": "nvidia",
"os": "ubuntu_22_shade_os",
"nvlink": true
},
"ip": "1.0.0.1",
"ssh_user": "shadeform",
"ssh_port": 22,
"status": "active",
"cost_estimate": "103.4",
"created_at": "2016-08-29T09:12:33.001Z",
"deleted_at": "2016-08-29T09:12:33.001Z",
"status_details": "downloading",
"hourly_price": 210,
"launch_configuration": {
"type": "docker",
"docker_configuration": {
"image": "vllm/vllm-openai:latest",
"args": "--model mistralai/Mistral-7B-v0.1",
"shared_memory_in_gb": 8,
"envs": [
{
"name": "HUGGING_FACE_HUB_TOKEN",
"value": "hugging_face_api_token"
}
],
"port_mappings": [
{
"host_port": 80,
"container_port": 8000
}
],
"volume_mounts": [
{
"host_path": "~/.cache/huggingface",
"container_path": "/root/.cache/huggingface"
}
],
"registry_credentials": {
"username": "username",
"password": "password"
}
},
"script_configuration": {
"base64_script": "IyEvYmluL2Jhc2gKCiMgRW5kbGVzcyBsb29wCndoaWxlIHRydWUKZG8KICAgICMgRmV0Y2ggYSBjYXQgZmFjdCB3aXRoIGEgbWF4aW11bSBsZW5ndGggb2YgMTQwIGNoYXJhY3RlcnMKICAgIGN1cmwgLS1uby1wcm9ncmVzcy1tZXRlciBodHRwczovL2NhdGZhY3QubmluamEvZmFjdD9tYXhfbGVuZ3RoPTE0MAoKICAgICMgUHJpbnQgYSBuZXdsaW5lIGZvciByZWFkYWJpbGl0eQogICAgZWNobwoKICAgICMgU2xlZXAgZm9yIDMgc2Vjb25kcyBiZWZvcmUgdGhlIG5leHQgaXRlcmF0aW9uCiAgICBzbGVlcCAzCmRvbmUKCgo="
}
},
"tags": [
"tag1"
],
"port_mappings": [
{
"internal_port": 8000,
"external_port": 80
}
],
"active_at": "2016-08-29T09:12:33.001Z",
"boot_time": {
"min_boot_in_sec": 180,
"max_boot_in_sec": 300
}
}
],
"hourly_price": 1500,
"cloud_cluster_id": "cluster-abc123",
"status_details": "Cluster is provisioning",
"cost_estimate": "$15.00",
"active_at": "2023-11-07T05:31:56Z"
}Authorizations
Path Parameters
The cluster id
Response
200 - application/json
Return a cluster object.
The unique identifier for the cluster.
Example:
"8eda86fe-0f36-41ed-9837-0ccf8f6e0fcb"
The cloud provider for the cluster.
Example:
"denvr"
The name of the cluster.
Example:
"devnr-cluster1"
Show child attributes
Show child attributes
The current status of the cluster.
Example:
"active"
The timestamp when the cluster was created.
The timestamp when the cluster was last updated.
Array of instances in the cluster.
Show child attributes
Show child attributes
The hourly price of the cluster in cents.
Example:
1500
The cloud provider assigned cluster ID.
Example:
"cluster-abc123"
Additional details about the cluster status.
Example:
"Cluster is provisioning"
Estimated cost of the cluster.
Example:
"$15.00"
The timestamp when the cluster became active.
⌘I