import os
from gcore import Gcore
client = Gcore(
api_key=os.environ.get("GCORE_API_KEY"), # This is the default and can be omitted
)
task_id_list = client.cloud.inference.applications.deployments.create(
project_id=1,
application_name="demo-app",
components_configuration={
"model": {
"exposed": True,
"flavor": "inference-16vcpu-232gib-1xh100-80gb",
"scale": {
"max": 1,
"min": 1,
},
}
},
name="name",
regions=[1, 2],
)
print(task_id_list.tasks)package main
import (
"context"
"fmt"
"github.com/G-Core/gcore-go"
"github.com/G-Core/gcore-go/cloud"
"github.com/G-Core/gcore-go/option"
)
func main() {
client := gcore.NewClient(
option.WithAPIKey("My API Key"),
)
taskIDList, err := client.Cloud.Inference.Applications.Deployments.New(context.TODO(), cloud.InferenceApplicationDeploymentNewParams{
ProjectID: gcore.Int(1),
ApplicationName: "demo-app",
ComponentsConfiguration: map[string]cloud.InferenceApplicationDeploymentNewParamsComponentsConfiguration{
"model": {
Exposed: true,
Flavor: "inference-16vcpu-232gib-1xh100-80gb",
Scale: cloud.InferenceApplicationDeploymentNewParamsComponentsConfigurationScale{
Max: 1,
Min: 1,
},
},
},
Name: "name",
Regions: []int64{1, 2},
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", taskIDList.Tasks)
}curl --request POST \
--url https://api.gcore.com/cloud/v3/inference/applications/{project_id}/deployments \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"application_name": "demo-app",
"components_configuration": {
"model": {
"exposed": true,
"flavor": "inference-16vcpu-232gib-1xh100-80gb",
"scale": {
"max": 1,
"min": 1
}
}
},
"name": "my-app-deployment",
"regions": [
1,
2
],
"api_keys": [
"key1",
"key2"
]
}
'const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
application_name: 'demo-app',
components_configuration: {
model: {
exposed: true,
flavor: 'inference-16vcpu-232gib-1xh100-80gb',
scale: {max: 1, min: 1}
}
},
name: 'my-app-deployment',
regions: [1, 2],
api_keys: ['key1', 'key2']
})
};
fetch('https://api.gcore.com/cloud/v3/inference/applications/{project_id}/deployments', 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.gcore.com/cloud/v3/inference/applications/{project_id}/deployments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'application_name' => 'demo-app',
'components_configuration' => [
'model' => [
'exposed' => true,
'flavor' => 'inference-16vcpu-232gib-1xh100-80gb',
'scale' => [
'max' => 1,
'min' => 1
]
]
],
'name' => 'my-app-deployment',
'regions' => [
1,
2
],
'api_keys' => [
'key1',
'key2'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.post("https://api.gcore.com/cloud/v3/inference/applications/{project_id}/deployments")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"application_name\": \"demo-app\",\n \"components_configuration\": {\n \"model\": {\n \"exposed\": true,\n \"flavor\": \"inference-16vcpu-232gib-1xh100-80gb\",\n \"scale\": {\n \"max\": 1,\n \"min\": 1\n }\n }\n },\n \"name\": \"my-app-deployment\",\n \"regions\": [\n 1,\n 2\n ],\n \"api_keys\": [\n \"key1\",\n \"key2\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gcore.com/cloud/v3/inference/applications/{project_id}/deployments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"application_name\": \"demo-app\",\n \"components_configuration\": {\n \"model\": {\n \"exposed\": true,\n \"flavor\": \"inference-16vcpu-232gib-1xh100-80gb\",\n \"scale\": {\n \"max\": 1,\n \"min\": 1\n }\n }\n },\n \"name\": \"my-app-deployment\",\n \"regions\": [\n 1,\n 2\n ],\n \"api_keys\": [\n \"key1\",\n \"key2\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"tasks": [
"d478ae29-dedc-4869-82f0-96104425f565"
]
}Create inference application deployment
Creates a new application deployment based on a selected catalog application. Specify the desired deployment name, target regions, and configuration for each component. The platform will provision the necessary resources and initialize the application accordingly.
import os
from gcore import Gcore
client = Gcore(
api_key=os.environ.get("GCORE_API_KEY"), # This is the default and can be omitted
)
task_id_list = client.cloud.inference.applications.deployments.create(
project_id=1,
application_name="demo-app",
components_configuration={
"model": {
"exposed": True,
"flavor": "inference-16vcpu-232gib-1xh100-80gb",
"scale": {
"max": 1,
"min": 1,
},
}
},
name="name",
regions=[1, 2],
)
print(task_id_list.tasks)package main
import (
"context"
"fmt"
"github.com/G-Core/gcore-go"
"github.com/G-Core/gcore-go/cloud"
"github.com/G-Core/gcore-go/option"
)
func main() {
client := gcore.NewClient(
option.WithAPIKey("My API Key"),
)
taskIDList, err := client.Cloud.Inference.Applications.Deployments.New(context.TODO(), cloud.InferenceApplicationDeploymentNewParams{
ProjectID: gcore.Int(1),
ApplicationName: "demo-app",
ComponentsConfiguration: map[string]cloud.InferenceApplicationDeploymentNewParamsComponentsConfiguration{
"model": {
Exposed: true,
Flavor: "inference-16vcpu-232gib-1xh100-80gb",
Scale: cloud.InferenceApplicationDeploymentNewParamsComponentsConfigurationScale{
Max: 1,
Min: 1,
},
},
},
Name: "name",
Regions: []int64{1, 2},
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", taskIDList.Tasks)
}curl --request POST \
--url https://api.gcore.com/cloud/v3/inference/applications/{project_id}/deployments \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"application_name": "demo-app",
"components_configuration": {
"model": {
"exposed": true,
"flavor": "inference-16vcpu-232gib-1xh100-80gb",
"scale": {
"max": 1,
"min": 1
}
}
},
"name": "my-app-deployment",
"regions": [
1,
2
],
"api_keys": [
"key1",
"key2"
]
}
'const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
application_name: 'demo-app',
components_configuration: {
model: {
exposed: true,
flavor: 'inference-16vcpu-232gib-1xh100-80gb',
scale: {max: 1, min: 1}
}
},
name: 'my-app-deployment',
regions: [1, 2],
api_keys: ['key1', 'key2']
})
};
fetch('https://api.gcore.com/cloud/v3/inference/applications/{project_id}/deployments', 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.gcore.com/cloud/v3/inference/applications/{project_id}/deployments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'application_name' => 'demo-app',
'components_configuration' => [
'model' => [
'exposed' => true,
'flavor' => 'inference-16vcpu-232gib-1xh100-80gb',
'scale' => [
'max' => 1,
'min' => 1
]
]
],
'name' => 'my-app-deployment',
'regions' => [
1,
2
],
'api_keys' => [
'key1',
'key2'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.post("https://api.gcore.com/cloud/v3/inference/applications/{project_id}/deployments")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"application_name\": \"demo-app\",\n \"components_configuration\": {\n \"model\": {\n \"exposed\": true,\n \"flavor\": \"inference-16vcpu-232gib-1xh100-80gb\",\n \"scale\": {\n \"max\": 1,\n \"min\": 1\n }\n }\n },\n \"name\": \"my-app-deployment\",\n \"regions\": [\n 1,\n 2\n ],\n \"api_keys\": [\n \"key1\",\n \"key2\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gcore.com/cloud/v3/inference/applications/{project_id}/deployments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"application_name\": \"demo-app\",\n \"components_configuration\": {\n \"model\": {\n \"exposed\": true,\n \"flavor\": \"inference-16vcpu-232gib-1xh100-80gb\",\n \"scale\": {\n \"max\": 1,\n \"min\": 1\n }\n }\n },\n \"name\": \"my-app-deployment\",\n \"regions\": [\n 1,\n 2\n ],\n \"api_keys\": [\n \"key1\",\n \"key2\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"tasks": [
"d478ae29-dedc-4869-82f0-96104425f565"
]
}Authorizations
API key for authentication. Make sure to include the word apikey, followed by a single space and then your token.
Example: apikey 1234$abcdef
Path Parameters
Project ID
1
Body
Identifier of the application from the catalog
"demo-app"
Mapping of component names to their configuration (e.g., "model": {...})
Show child attributes
Show child attributes
{
"model": {
"exposed": true,
"flavor": "inference-16vcpu-232gib-1xh100-80gb",
"scale": { "max": 1, "min": 1 }
}
}
Desired name for the new deployment
15"my-app-deployment"
Geographical regions where the deployment should be created
[1, 2]
List of API keys for the application
["key1", "key2"]
Response
OK
List of task IDs representing asynchronous operations. Use these IDs to monitor operation progress:
GET /v1/tasks/{task_id}- Check individual task status and details Poll task status until completion (FINISHED/ERROR) before proceeding with dependent operations.
["d478ae29-dedc-4869-82f0-96104425f565"]
Was this page helpful?