import os
from gcore import Gcore
client = Gcore(
api_key=os.environ.get("GCORE_API_KEY"), # This is the default and can be omitted
)
client_profile = client.security.profiles.create(
fields=[{
"base_field": 1
}],
profile_template=1,
site="GNC",
)
print(client_profile.id)package main
import (
"context"
"fmt"
"github.com/G-Core/gcore-go"
"github.com/G-Core/gcore-go/option"
"github.com/G-Core/gcore-go/security"
)
func main() {
client := gcore.NewClient(
option.WithAPIKey("My API Key"),
)
clientProfile, err := client.Security.Profiles.New(context.TODO(), security.ProfileNewParams{
Fields: []security.ProfileNewParamsField{{
BaseField: 1,
}},
ProfileTemplate: 1,
Site: "GNC",
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", clientProfile.ID)
}
curl --request POST \
--url https://api.gcore.com/security/iaas/v2/profiles \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"profile_template": 1,
"fields": [
{
"base_field": 1,
"field_value": [
12,
54,
43
]
}
],
"site": "GNC",
"ip_address": "123.43.2.10"
}
'const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
profile_template: 1,
fields: [{base_field: 1, field_value: [12, 54, 43]}],
site: 'GNC',
ip_address: '123.43.2.10'
})
};
fetch('https://api.gcore.com/security/iaas/v2/profiles', 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/security/iaas/v2/profiles",
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([
'profile_template' => 1,
'fields' => [
[
'base_field' => 1,
'field_value' => [
12,
54,
43
]
]
],
'site' => 'GNC',
'ip_address' => '123.43.2.10'
]),
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/security/iaas/v2/profiles")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"profile_template\": 1,\n \"fields\": [\n {\n \"base_field\": 1,\n \"field_value\": [\n 12,\n 54,\n 43\n ]\n }\n ],\n \"site\": \"GNC\",\n \"ip_address\": \"123.43.2.10\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gcore.com/security/iaas/v2/profiles")
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 \"profile_template\": 1,\n \"fields\": [\n {\n \"base_field\": 1,\n \"field_value\": [\n 12,\n 54,\n 43\n ]\n }\n ],\n \"site\": \"GNC\",\n \"ip_address\": \"123.43.2.10\"\n}"
response = http.request(request)
puts response.read_body{
"id": 123,
"profile_template": {
"id": 123,
"name": "<string>",
"fields": [
{
"id": 123,
"name": "<string>",
"description": "<string>",
"required": true,
"default": "<string>",
"validation_schema": {}
}
],
"version": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created": "2023-11-07T05:31:56Z",
"description": "<string>",
"base_template": 123,
"template_sifter": "<string>"
},
"fields": [
{
"id": 123,
"name": "<string>",
"description": "<string>",
"field_type": "<string>",
"required": true,
"default": "<string>",
"base_field": 1,
"validation_schema": {},
"field_value": [
12,
54,
43
]
}
],
"site": "ED",
"options": {
"bgp": true,
"active": true,
"price": "<string>"
},
"protocols": [
{}
],
"status": {},
"plan": "<string>",
"ip_address": "10.32.5.12"
}Create profile
Create protection profile. Protection is enabled at the same time as profile is created
import os
from gcore import Gcore
client = Gcore(
api_key=os.environ.get("GCORE_API_KEY"), # This is the default and can be omitted
)
client_profile = client.security.profiles.create(
fields=[{
"base_field": 1
}],
profile_template=1,
site="GNC",
)
print(client_profile.id)package main
import (
"context"
"fmt"
"github.com/G-Core/gcore-go"
"github.com/G-Core/gcore-go/option"
"github.com/G-Core/gcore-go/security"
)
func main() {
client := gcore.NewClient(
option.WithAPIKey("My API Key"),
)
clientProfile, err := client.Security.Profiles.New(context.TODO(), security.ProfileNewParams{
Fields: []security.ProfileNewParamsField{{
BaseField: 1,
}},
ProfileTemplate: 1,
Site: "GNC",
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", clientProfile.ID)
}
curl --request POST \
--url https://api.gcore.com/security/iaas/v2/profiles \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"profile_template": 1,
"fields": [
{
"base_field": 1,
"field_value": [
12,
54,
43
]
}
],
"site": "GNC",
"ip_address": "123.43.2.10"
}
'const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
profile_template: 1,
fields: [{base_field: 1, field_value: [12, 54, 43]}],
site: 'GNC',
ip_address: '123.43.2.10'
})
};
fetch('https://api.gcore.com/security/iaas/v2/profiles', 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/security/iaas/v2/profiles",
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([
'profile_template' => 1,
'fields' => [
[
'base_field' => 1,
'field_value' => [
12,
54,
43
]
]
],
'site' => 'GNC',
'ip_address' => '123.43.2.10'
]),
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/security/iaas/v2/profiles")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"profile_template\": 1,\n \"fields\": [\n {\n \"base_field\": 1,\n \"field_value\": [\n 12,\n 54,\n 43\n ]\n }\n ],\n \"site\": \"GNC\",\n \"ip_address\": \"123.43.2.10\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gcore.com/security/iaas/v2/profiles")
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 \"profile_template\": 1,\n \"fields\": [\n {\n \"base_field\": 1,\n \"field_value\": [\n 12,\n 54,\n 43\n ]\n }\n ],\n \"site\": \"GNC\",\n \"ip_address\": \"123.43.2.10\"\n}"
response = http.request(request)
puts response.read_body{
"id": 123,
"profile_template": {
"id": 123,
"name": "<string>",
"fields": [
{
"id": 123,
"name": "<string>",
"description": "<string>",
"required": true,
"default": "<string>",
"validation_schema": {}
}
],
"version": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created": "2023-11-07T05:31:56Z",
"description": "<string>",
"base_template": 123,
"template_sifter": "<string>"
},
"fields": [
{
"id": 123,
"name": "<string>",
"description": "<string>",
"field_type": "<string>",
"required": true,
"default": "<string>",
"base_field": 1,
"validation_schema": {},
"field_value": [
12,
54,
43
]
}
],
"site": "ED",
"options": {
"bgp": true,
"active": true,
"price": "<string>"
},
"protocols": [
{}
],
"status": {},
"plan": "<string>",
"ip_address": "10.32.5.12"
}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
Body
1
2
Show child attributes
Show child attributes
Region where the protection profiles will be deployed
"GNC"
"CC1"
"CH1"
"DRC"
"ED"
"HK2"
"DRA5"
"THN2"
"AM3"
"FR5"
"DARZ"
"LD3"
"DRF"
"DRA4"
"DC11"
"ANX"
"DC3"
"NKF"
"SY4"
"JB1"
"ASP3"
"NHN"
"DX1"
"KAL"
"NY2"
"KX"
"MI2"
"SGC"
"SG1"
"SG2"
"DA6"
"MI1"
"PA5"
"SP3"
"FRN"
"SV5"
"SCL2"
"SV4"
"TII"
"WA2"
Required for Universal template only. Optional for all others.
50"123.43.2.10"
"123.65.9.5"
Response
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Region where the protection profiles will be deployed
"ED"
"DC3"
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
50"10.32.5.12"
"195.23.43.64"
Was this page helpful?