Create cluster actions
Create one or more cluster isolation actions (terminate pod, disable outbound traffic, label pod).
Actions are queued with status Pending and applied in the cluster by the rad-sync plugin.
A single disable_outbound request creates two actions: a label_pod action applying the
quarantine labels, and a disable_outbound action creating the deny-all-egress NetworkPolicy.
curl -X POST "https://api.rad.security/accounts/example_string/clusters/example_string/actions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN"
import requests
import json
url = "https://api.rad.security/accounts/example_string/clusters/example_string/actions"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
response = requests.post(url, headers=headers)
print(response.json())
const response = await fetch("https://api.rad.security/accounts/example_string/clusters/example_string/actions", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
)
func main() {
req, err := http.NewRequest("POST", "https://api.rad.security/accounts/example_string/clusters/example_string/actions", nil)
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://api.rad.security/accounts/example_string/clusters/example_string/actions')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request['Authorization'] = 'Bearer YOUR_API_TOKEN'
response = http.request(request)
puts response.body
[
{
"id": "example_string",
"cluster_id": "example_string",
"account_id": "example_string",
"action_type": "terminate_pod",
"status": "Pending",
"target_pod_name": "John Doe",
"target_namespace": "John Doe",
"parameters": {},
"result": "example_string",
"created_by": "example_string",
"created_at": "example_string",
"updated_at": "example_string",
"deleted_at": "example_string"
}
]
{
"code": "example_string",
"request_id": "example_string",
"status": 42,
"validation_details": [
{
"code": "example_string",
"field": "example_string",
"message": "example_string",
"param": "example_string"
}
]
}
POST
/accounts/{account_id}/clusters/{cluster_id}/actionsPOST
Base URLstring
Target server for requests. Edit to use your own host.
Bearer Token
Bearer Tokenstring
RequiredBearer token - just enter the token, "Bearer" prefix will be added automatically
path
account_idstring
RequiredAccount ID
path
cluster_idstring
RequiredCluster ID
Content-Typestring
RequiredThe media type of the request body
Options: application/json
No request body parameters defined
Request Preview
Response
Response will appear here after sending the request
Authentication
header
Authorizationstring
RequiredBearer token. Authentication token required.
Path Parameters
account_idstring
RequiredAccount ID
cluster_idstring
RequiredCluster ID
Body
application/json
dataarray
RequiredRaw application/json data
Responses
Was this page helpful?