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.prd.rad.security/accounts/example_string/clusters/example_string/actions" \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY"
import requests
import json
url = "https://api.prd.rad.security/accounts/example_string/clusters/example_string/actions"
headers = {
"Content-Type": "application/json",
"Authorization": "YOUR_API_KEY"
}
response = requests.post(url, headers=headers)
print(response.json())
const response = await fetch("https://api.prd.rad.security/accounts/example_string/clusters/example_string/actions", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "YOUR_API_KEY"
}
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
)
func main() {
req, err := http.NewRequest("POST", "https://api.prd.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", "YOUR_API_KEY")
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.prd.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'] = 'YOUR_API_KEY'
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.
API Key (header: Authorization)
Authorizationstring
RequiredAPI key (sent in header)
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
RequiredAPI Key for authentication. Provide your API key in the header.
Path Parameters
account_idstring
RequiredAccount ID
cluster_idstring
RequiredCluster ID
Body
application/json
dataarray
RequiredRaw application/json data
Responses
Was this page helpful?