curl --request PATCH \
--url https://api.gcore.com/cloud/v1/ddos/profiles/{project_id}/{region_id}/{profile_id} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"ip_address": "11.111.111.1",
"profile_template": 123,
"fields": [
{
"base_field": 10,
"field_value": [
45046,
45047
]
}
]
}
'import requests
url = "https://api.gcore.com/cloud/v1/ddos/profiles/{project_id}/{region_id}/{profile_id}"
payload = {
"ip_address": "11.111.111.1",
"profile_template": 123,
"fields": [
{
"base_field": 10,
"field_value": [45046, 45047]
}
]
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
ip_address: '11.111.111.1',
profile_template: 123,
fields: [{base_field: 10, field_value: [45046, 45047]}]
})
};
fetch('https://api.gcore.com/cloud/v1/ddos/profiles/{project_id}/{region_id}/{profile_id}', 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/ddos/profiles/{project_id}/{region_id}/{profile_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'ip_address' => '11.111.111.1',
'profile_template' => 123,
'fields' => [
[
'base_field' => 10,
'field_value' => [
45046,
45047
]
]
]
]),
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;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.gcore.com/cloud/v1/ddos/profiles/{project_id}/{region_id}/{profile_id}"
payload := strings.NewReader("{\n \"ip_address\": \"11.111.111.1\",\n \"profile_template\": 123,\n \"fields\": [\n {\n \"base_field\": 10,\n \"field_value\": [\n 45046,\n 45047\n ]\n }\n ]\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.gcore.com/cloud/v1/ddos/profiles/{project_id}/{region_id}/{profile_id}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"ip_address\": \"11.111.111.1\",\n \"profile_template\": 123,\n \"fields\": [\n {\n \"base_field\": 10,\n \"field_value\": [\n 45046,\n 45047\n ]\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gcore.com/cloud/v1/ddos/profiles/{project_id}/{region_id}/{profile_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ip_address\": \"11.111.111.1\",\n \"profile_template\": 123,\n \"fields\": [\n {\n \"base_field\": 10,\n \"field_value\": [\n 45046,\n 45047\n ]\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"tasks": [
"d478ae29-dedc-4869-82f0-96104425f565"
]
}Update DDoS protection profile
Updates various aspects of DDoS protection profile including profile template, field values, and activation status. The update process includes comprehensive validation to ensure changes are compatible with the existing configuration and security requirements.
curl --request PATCH \
--url https://api.gcore.com/cloud/v1/ddos/profiles/{project_id}/{region_id}/{profile_id} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"ip_address": "11.111.111.1",
"profile_template": 123,
"fields": [
{
"base_field": 10,
"field_value": [
45046,
45047
]
}
]
}
'import requests
url = "https://api.gcore.com/cloud/v1/ddos/profiles/{project_id}/{region_id}/{profile_id}"
payload = {
"ip_address": "11.111.111.1",
"profile_template": 123,
"fields": [
{
"base_field": 10,
"field_value": [45046, 45047]
}
]
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
ip_address: '11.111.111.1',
profile_template: 123,
fields: [{base_field: 10, field_value: [45046, 45047]}]
})
};
fetch('https://api.gcore.com/cloud/v1/ddos/profiles/{project_id}/{region_id}/{profile_id}', 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/ddos/profiles/{project_id}/{region_id}/{profile_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'ip_address' => '11.111.111.1',
'profile_template' => 123,
'fields' => [
[
'base_field' => 10,
'field_value' => [
45046,
45047
]
]
]
]),
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;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.gcore.com/cloud/v1/ddos/profiles/{project_id}/{region_id}/{profile_id}"
payload := strings.NewReader("{\n \"ip_address\": \"11.111.111.1\",\n \"profile_template\": 123,\n \"fields\": [\n {\n \"base_field\": 10,\n \"field_value\": [\n 45046,\n 45047\n ]\n }\n ]\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.gcore.com/cloud/v1/ddos/profiles/{project_id}/{region_id}/{profile_id}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"ip_address\": \"11.111.111.1\",\n \"profile_template\": 123,\n \"fields\": [\n {\n \"base_field\": 10,\n \"field_value\": [\n 45046,\n 45047\n ]\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gcore.com/cloud/v1/ddos/profiles/{project_id}/{region_id}/{profile_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ip_address\": \"11.111.111.1\",\n \"profile_template\": 123,\n \"fields\": [\n {\n \"base_field\": 10,\n \"field_value\": [\n 45046,\n 45047\n ]\n }\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
Unique identifier of the cloud project that owns the DDoS protection resources
1
Unique identifier of the cloud region where DDoS protection operations will be performed
1
Unique identifier of the specific DDoS protection profile to be operated on
1
Body
IP address that will be protected by the DDoS protection profile
"11.111.111.1"
Unique identifier of the DDoS protection template to use for this profile
123
List of field configurations that customize the protection parameters for this profile
Show child attributes
Show child attributes
[
{
"base_field": 10,
"field_value": [45046, 45047]
}
]
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?