Python
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.instances.interfaces.attach(
instance_id="bf325375-9af6-4c8b-a2fc-7f6f4ca02e2e",
project_id=1,
region_id=1,
)
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.Instances.Interfaces.Attach(
context.TODO(),
"bf325375-9af6-4c8b-a2fc-7f6f4ca02e2e",
cloud.InstanceInterfaceAttachParams{
ProjectID: gcore.Int(1),
RegionID: gcore.Int(1),
OfExternal: &cloud.InstanceInterfaceAttachParamsBodyExternal{
Type: "external",
},
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", taskIDList.Tasks)
}
curl --request POST \
--url https://api.gcore.com/cloud/v1/instances/{project_id}/{region_id}/{instance_id}/attach_interface \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"ddos_profile": {
"profile_template": 123,
"fields": [
{
"base_field": 123,
"field_value": null,
"value": "<string>"
}
],
"profile_template_name": "<string>"
},
"interface_name": "<string>",
"port_group": 0,
"security_groups": [
{
"id": "ae74714c-c380-48b4-87f8-758d656cdad6"
}
],
"type": "external"
}
'const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
ddos_profile: {
profile_template: 123,
fields: [{base_field: 123, field_value: null, value: '<string>'}],
profile_template_name: '<string>'
},
interface_name: '<string>',
port_group: 0,
security_groups: [{id: 'ae74714c-c380-48b4-87f8-758d656cdad6'}],
type: 'external'
})
};
fetch('https://api.gcore.com/cloud/v1/instances/{project_id}/{region_id}/{instance_id}/attach_interface', 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/v1/instances/{project_id}/{region_id}/{instance_id}/attach_interface",
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([
'ddos_profile' => [
'profile_template' => 123,
'fields' => [
[
'base_field' => 123,
'field_value' => null,
'value' => '<string>'
]
],
'profile_template_name' => '<string>'
],
'interface_name' => '<string>',
'port_group' => 0,
'security_groups' => [
[
'id' => 'ae74714c-c380-48b4-87f8-758d656cdad6'
]
],
'type' => 'external'
]),
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/v1/instances/{project_id}/{region_id}/{instance_id}/attach_interface")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"ddos_profile\": {\n \"profile_template\": 123,\n \"fields\": [\n {\n \"base_field\": 123,\n \"field_value\": null,\n \"value\": \"<string>\"\n }\n ],\n \"profile_template_name\": \"<string>\"\n },\n \"interface_name\": \"<string>\",\n \"port_group\": 0,\n \"security_groups\": [\n {\n \"id\": \"ae74714c-c380-48b4-87f8-758d656cdad6\"\n }\n ],\n \"type\": \"external\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gcore.com/cloud/v1/instances/{project_id}/{region_id}/{instance_id}/attach_interface")
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 \"ddos_profile\": {\n \"profile_template\": 123,\n \"fields\": [\n {\n \"base_field\": 123,\n \"field_value\": null,\n \"value\": \"<string>\"\n }\n ],\n \"profile_template_name\": \"<string>\"\n },\n \"interface_name\": \"<string>\",\n \"port_group\": 0,\n \"security_groups\": [\n {\n \"id\": \"ae74714c-c380-48b4-87f8-758d656cdad6\"\n }\n ],\n \"type\": \"external\"\n}"
response = http.request(request)
puts response.read_body{
"tasks": [
"d478ae29-dedc-4869-82f0-96104425f565"
]
}Instances
Attach interface
Attach interface to instance
POST
/
cloud
/
v1
/
instances
/
{project_id}
/
{region_id}
/
{instance_id}
/
attach_interface
Python
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.instances.interfaces.attach(
instance_id="bf325375-9af6-4c8b-a2fc-7f6f4ca02e2e",
project_id=1,
region_id=1,
)
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.Instances.Interfaces.Attach(
context.TODO(),
"bf325375-9af6-4c8b-a2fc-7f6f4ca02e2e",
cloud.InstanceInterfaceAttachParams{
ProjectID: gcore.Int(1),
RegionID: gcore.Int(1),
OfExternal: &cloud.InstanceInterfaceAttachParamsBodyExternal{
Type: "external",
},
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", taskIDList.Tasks)
}
curl --request POST \
--url https://api.gcore.com/cloud/v1/instances/{project_id}/{region_id}/{instance_id}/attach_interface \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"ddos_profile": {
"profile_template": 123,
"fields": [
{
"base_field": 123,
"field_value": null,
"value": "<string>"
}
],
"profile_template_name": "<string>"
},
"interface_name": "<string>",
"port_group": 0,
"security_groups": [
{
"id": "ae74714c-c380-48b4-87f8-758d656cdad6"
}
],
"type": "external"
}
'const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
ddos_profile: {
profile_template: 123,
fields: [{base_field: 123, field_value: null, value: '<string>'}],
profile_template_name: '<string>'
},
interface_name: '<string>',
port_group: 0,
security_groups: [{id: 'ae74714c-c380-48b4-87f8-758d656cdad6'}],
type: 'external'
})
};
fetch('https://api.gcore.com/cloud/v1/instances/{project_id}/{region_id}/{instance_id}/attach_interface', 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/v1/instances/{project_id}/{region_id}/{instance_id}/attach_interface",
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([
'ddos_profile' => [
'profile_template' => 123,
'fields' => [
[
'base_field' => 123,
'field_value' => null,
'value' => '<string>'
]
],
'profile_template_name' => '<string>'
],
'interface_name' => '<string>',
'port_group' => 0,
'security_groups' => [
[
'id' => 'ae74714c-c380-48b4-87f8-758d656cdad6'
]
],
'type' => 'external'
]),
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/v1/instances/{project_id}/{region_id}/{instance_id}/attach_interface")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"ddos_profile\": {\n \"profile_template\": 123,\n \"fields\": [\n {\n \"base_field\": 123,\n \"field_value\": null,\n \"value\": \"<string>\"\n }\n ],\n \"profile_template_name\": \"<string>\"\n },\n \"interface_name\": \"<string>\",\n \"port_group\": 0,\n \"security_groups\": [\n {\n \"id\": \"ae74714c-c380-48b4-87f8-758d656cdad6\"\n }\n ],\n \"type\": \"external\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gcore.com/cloud/v1/instances/{project_id}/{region_id}/{instance_id}/attach_interface")
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 \"ddos_profile\": {\n \"profile_template\": 123,\n \"fields\": [\n {\n \"base_field\": 123,\n \"field_value\": null,\n \"value\": \"<string>\"\n }\n ],\n \"profile_template_name\": \"<string>\"\n },\n \"interface_name\": \"<string>\",\n \"port_group\": 0,\n \"security_groups\": [\n {\n \"id\": \"ae74714c-c380-48b4-87f8-758d656cdad6\"\n }\n ],\n \"type\": \"external\"\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
Example:
1
Region ID
Example:
1
Instance ID
Example:
"bf325375-9af6-4c8b-a2fc-7f6f4ca02e2e"
Body
application/json
- AttachInterfaceExternalRequestSerializer
- AttachInterfaceSubnetRequestSerializer
- AttachInterfaceAnySubnetRequestSerializer
- AttachInterfaceReservedFixedIpRequestSerializer
Advanced DDoS protection.
Show child attributes
Show child attributes
Interface name.
Maximum string length:
37Available options:
dual, ipv4, ipv6 Each group will be added to a separate trunk.
Required range:
0 <= x <= 3Example:
0
List of security group IDs.
Show child attributes
Show child attributes
Allowed value:
"external"Response
200 - application/json
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.
Example:
["d478ae29-dedc-4869-82f0-96104425f565"]
⌘I