Skip to content

Create Alert Policy.

POST
/api/config/namespaces/{metadata.namespace}/alert_policys
curl --request POST \
--url https://example-corp.console.ves.volterra.io/api/v1/api/production/us-east-1/namespaces/default/api/config/namespaces/example/alert_policys \
--header 'Authorization: <Authorization>' \
--header 'Content-Type: application/json' \
--data '{ "metadata": { "annotations": {}, "description": "example", "disable": true, "labels": {}, "name": "example", "namespace": "example" }, "spec": { "notification_parameters": { "custom": { "labels": [ "example" ] }, "default": {}, "group_interval": "example", "group_wait": "example", "individual": {}, "repeat_interval": "example", "ves_io_group": {} }, "receivers": [ { "name": "example", "namespace": "example" } ], "routes": [ { "alertname": "SITE_CUSTOMER_TUNNEL_INTERFACE_DOWN", "alertname_regex": "example", "any": {}, "custom": { "alertlabel": {}, "alertname": { "exact_match": "example", "regex_match": "example" }, "group": { "exact_match": "example", "regex_match": "example" }, "severity": { "exact_match": "example", "regex_match": "example" } }, "dont_send": {}, "group": { "groups": [ "INFRASTRUCTURE" ] }, "notification_parameters": { "custom": { "labels": [ "example" ] }, "default": {}, "group_interval": "example", "group_wait": "example", "individual": {}, "repeat_interval": "example", "ves_io_group": {} }, "send": {}, "severity": { "severities": [ "MINOR" ] } } ] } }'

Creates a new Alert Policy Object.

Examples of this operation.

metadata.namespace
required
string

Namespace This defines the workspace within which each the configuration object is to be created. Must be a DNS_LABEL format. For a namespace object itself, namespace value will be ""

Media typeapplication/json
CreateRequest is used to create an instance of alert_policy

This is the input message of the ‘Create’ RPC.

object
metadata
object
annotations
annotations

Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects.

object
description
description

Human readable description for the object.

string
>= 21 characters <= 1200 characters
disable
disable

A value of true will administratively disable the object.

boolean format: boolean
labels
labels

Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the user. Values specified here will be used by selector expression.

object
name
name

This is the name of configuration object. It has to be unique within the namespace. It can only be specified during create API and cannot be changed during replace API. The value of name has to follow DNS-1035 format. Required: YES.

string
>= 6 characters <= 1024 characters
namespace
namespace

This defines the workspace within which each the configuration object is to be created. Must be a DNS_LABEL format. For a namespace object itself, namespace value will be ""

string
>= 6 characters <= 1024 characters
spec
object
notification_parameters
object
custom
object
labels
labels

Name of labels to group/aggregate the alerts.

Array<string>
<= 5 items
default
object
group_interval
Group Interval

Group Interval is used to specify how long to wait before sending a notification about new alerts that are added to the group for which an initial notification has already been sent. Format: [0-9][smhd], where s - seconds, m - minutes, h - hours, d - days If not specified, group_interval defaults to “1m”

string
<= 1024 characters
group_wait
Group Wait

Time value used to specify how long to initially wait for an inhibiting alert to arrive or collect more alerts for the same group. Format: [0-9][smhd], where s - seconds, m - minutes, h - hours, d - days If not specified, group_wait defaults to ”30s”

string
<= 1024 characters
individual
object
repeat_interval
Repeat Interval

Repeat Interval is used to specify how long to wait before sending a notification again if it has already been sent successfully. Format: [0-9][smhd], where s - seconds, m - minutes, h - hours, d - days If not specified, group_interval defaults to “4h”

string
<= 1024 characters
ves_io_group
object
receivers

List of Alert Receivers where the alerts will be sent

Required: YES.

Array<object>
<= 4 items
ObjectRefType

This type establishes a ‘direct reference’ from one object(the referrer) to another(the referred). Such a reference is in form of tenant/namespace/name for public API and Uid for private API This type of reference is called direct because the relation is explicit and concrete (as opposed to selector reference which builds a group based on labels of selectee objects)

object
kind
kind

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then kind will hold the referred object’s kind (e.g. “route”)

string
>= 12 characters <= 1024 characters
name
name

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object’s(e.g. Route’s) name.

string
>= 6 characters <= 1024 characters
namespace
namespace

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object’s(e.g. Route’s) namespace.

string
>= 6 characters <= 1024 characters
tenant
tenant

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then tenant will hold the referred object’s(e.g. Route’s) tenant.

string
>= 6 characters <= 1024 characters
uid
uid

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then uid will hold the referred object’s(e.g. Route’s) uid.

string format: uuid
>= 36 characters <= 1024 characters
routes

Set of routes to match the incoming alert. The routes are evaluated in the specified order and terminates on the first match.

Required: YES.

Array<object>
<= 16 items
Route

Route defines the match conditions to match the incoming alert and the receiver to send the alert.

object
alertname
string
default: SITE_CUSTOMER_TUNNEL_INTERFACE_DOWN
Allowed values: SITE_CUSTOMER_TUNNEL_INTERFACE_DOWN SITE_PHYSICAL_INTERFACE_DOWN TUNNELS_TO_CUSTOMER_SITE_DOWN SERVICE_SERVER_ERROR SERVICE_CLIENT_ERROR SERVICE_HEALTH_LOW SERVICE_UNAVAILABLE SERVICE_SERVER_ERROR_PER_SOURCE_SITE SERVICE_CLIENT_ERROR_PER_SOURCE_SITE SERVICE_ENDPOINT_HEALTHCHECK_FAILURE SYNTHETIC_MONITOR_HEALTH_CRITICAL MALICIOUS_USER_DETECTED WAF_TOO_MANY_ATTACKS API_SECURITY_TOO_MANY_ATTACKS SERVICE_POLICY_TOO_MANY_ATTACKS WAF_TOO_MANY_MALICIOUS_BOTS BOT_DEFENSE_TOO_MANY_SECURITY_EVENTS THREAT_CAMPAIGN VES_CLIENT_SIDE_DEFENSE_SUSPICIOUS_DOMAIN VES_CLIENT_SIDE_DEFENSE_SENSITIVE_FIELD_READ TLS_AUTOMATIC_CERTIFICATE_RENEWAL_FAILURE TLS_AUTOMATIC_CERTIFICATE_RENEWAL_STILL_FAILING TLS_AUTOMATIC_CERTIFICATE_EXPIRED TLS_CUSTOM_CERTIFICATE_EXPIRING TLS_CUSTOM_CERTIFICATE_EXPIRING_SOON TLS_CUSTOM_CERTIFICATE_EXPIRED L7DDOS DNS_ZONE_IGNORED_DUPLICATE_RECORD API_SECURITY_UNUSED_API_DETECTED API_SECURITY_SHADOW_API_DETECTED API_SECURITY_SENSITIVE_DATA_IN_RESPONSE_DETECTED API_SECURITY_RISK_SCORE_HIGH_DETECTED ROUTED_DDOS_ALERT_NOTIFICATION ROUTED_DDOS_MITIGATION_NOTIFICATION
alertname_regex
Alertname Regex Match

Exclusive with [alertname any custom group severity] Regular Expression match for the alertname.

string
<= 1024 characters
any
object
custom
object
alertlabel
AlertLabel

AlertLabel to configure the alert policy rule.

object
alertname
object
exact_match
Exact Match

Exclusive with [regex_match] Equality match value for the label.

string
<= 1024 characters
regex_match
Regex Match

Exclusive with [exact_match] Regular expression match value for the label.

string
<= 1024 characters
group
object
exact_match
Exact Match

Exclusive with [regex_match] Equality match value for the label.

string
<= 1024 characters
regex_match
Regex Match

Exclusive with [exact_match] Regular expression match value for the label.

string
<= 1024 characters
severity
object
exact_match
Exact Match

Exclusive with [regex_match] Equality match value for the label.

string
<= 1024 characters
regex_match
Regex Match

Exclusive with [exact_match] Regular expression match value for the label.

string
<= 1024 characters
dont_send
object
group
object
groups
groups

Name of groups to match the alert.

Array<string>
Allowed values: INFRASTRUCTURE IAAS_CAAS VIRTUAL_HOST VOLT_SHARE UAM SECURITY TIMESERIES_ANOMALY SHAPE_SECURITY SECURITY_CSD CDN SYNTHETIC_MONITORS TLS SECURITY_BOT_DEFENSE CLOUD_LINK DNS ROUTED_DDOS
notification_parameters
object
custom
object
labels
labels

Name of labels to group/aggregate the alerts.

Array<string>
<= 5 items
default
object
group_interval
Group Interval

Group Interval is used to specify how long to wait before sending a notification about new alerts that are added to the group for which an initial notification has already been sent. Format: [0-9][smhd], where s - seconds, m - minutes, h - hours, d - days If not specified, group_interval defaults to “1m”

string
<= 1024 characters
group_wait
Group Wait

Time value used to specify how long to initially wait for an inhibiting alert to arrive or collect more alerts for the same group. Format: [0-9][smhd], where s - seconds, m - minutes, h - hours, d - days If not specified, group_wait defaults to ”30s”

string
<= 1024 characters
individual
object
repeat_interval
Repeat Interval

Repeat Interval is used to specify how long to wait before sending a notification again if it has already been sent successfully. Format: [0-9][smhd], where s - seconds, m - minutes, h - hours, d - days If not specified, group_interval defaults to “4h”

string
<= 1024 characters
ves_io_group
object
send
object
severity
object
severities
Severities

List of severity levels.

Array<string>
Allowed values: MINOR MAJOR CRITICAL

A successful response.

Media typeapplication/json
object
metadata
object
annotations
annotations

Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects.

object
description
description

Human readable description for the object.

string
>= 21 characters <= 1200 characters
disable
disable

A value of true will administratively disable the object.

boolean format: boolean
labels
labels

Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the user. Values specified here will be used by selector expression.

object
name
name

This is the name of configuration object. It has to be unique within the namespace. It can only be specified during create API and cannot be changed during replace API. The value of name has to follow DNS-1035 format. Required: YES.

string
>= 6 characters <= 1024 characters
namespace
namespace

This defines the workspace within which each the configuration object is to be created. Must be a DNS_LABEL format. For a namespace object itself, namespace value will be ""

string
>= 6 characters <= 1024 characters
spec
object
notification_parameters
object
custom
object
labels
labels

Name of labels to group/aggregate the alerts.

Array<string>
<= 5 items
default
object
group_interval
Group Interval

Group Interval is used to specify how long to wait before sending a notification about new alerts that are added to the group for which an initial notification has already been sent. Format: [0-9][smhd], where s - seconds, m - minutes, h - hours, d - days If not specified, group_interval defaults to “1m”

string
<= 1024 characters
group_wait
Group Wait

Time value used to specify how long to initially wait for an inhibiting alert to arrive or collect more alerts for the same group. Format: [0-9][smhd], where s - seconds, m - minutes, h - hours, d - days If not specified, group_wait defaults to ”30s”

string
<= 1024 characters
individual
object
repeat_interval
Repeat Interval

Repeat Interval is used to specify how long to wait before sending a notification again if it has already been sent successfully. Format: [0-9][smhd], where s - seconds, m - minutes, h - hours, d - days If not specified, group_interval defaults to “4h”

string
<= 1024 characters
ves_io_group
object
receivers

List of Alert Receivers where the alerts will be sent

Required: YES.

Array<object>
<= 4 items
ObjectRefType

This type establishes a ‘direct reference’ from one object(the referrer) to another(the referred). Such a reference is in form of tenant/namespace/name for public API and Uid for private API This type of reference is called direct because the relation is explicit and concrete (as opposed to selector reference which builds a group based on labels of selectee objects)

object
kind
kind

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then kind will hold the referred object’s kind (e.g. “route”)

string
>= 12 characters <= 1024 characters
name
name

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object’s(e.g. Route’s) name.

string
>= 6 characters <= 1024 characters
namespace
namespace

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object’s(e.g. Route’s) namespace.

string
>= 6 characters <= 1024 characters
tenant
tenant

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then tenant will hold the referred object’s(e.g. Route’s) tenant.

string
>= 6 characters <= 1024 characters
uid
uid

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then uid will hold the referred object’s(e.g. Route’s) uid.

string format: uuid
>= 36 characters <= 1024 characters
routes

Set of routes to match the incoming alert. The routes are evaluated in the specified order and terminates on the first match.

Required: YES.

Array<object>
<= 16 items
Route

Route defines the match conditions to match the incoming alert and the receiver to send the alert.

object
alertname
string
default: SITE_CUSTOMER_TUNNEL_INTERFACE_DOWN
Allowed values: SITE_CUSTOMER_TUNNEL_INTERFACE_DOWN SITE_PHYSICAL_INTERFACE_DOWN TUNNELS_TO_CUSTOMER_SITE_DOWN SERVICE_SERVER_ERROR SERVICE_CLIENT_ERROR SERVICE_HEALTH_LOW SERVICE_UNAVAILABLE SERVICE_SERVER_ERROR_PER_SOURCE_SITE SERVICE_CLIENT_ERROR_PER_SOURCE_SITE SERVICE_ENDPOINT_HEALTHCHECK_FAILURE SYNTHETIC_MONITOR_HEALTH_CRITICAL MALICIOUS_USER_DETECTED WAF_TOO_MANY_ATTACKS API_SECURITY_TOO_MANY_ATTACKS SERVICE_POLICY_TOO_MANY_ATTACKS WAF_TOO_MANY_MALICIOUS_BOTS BOT_DEFENSE_TOO_MANY_SECURITY_EVENTS THREAT_CAMPAIGN VES_CLIENT_SIDE_DEFENSE_SUSPICIOUS_DOMAIN VES_CLIENT_SIDE_DEFENSE_SENSITIVE_FIELD_READ TLS_AUTOMATIC_CERTIFICATE_RENEWAL_FAILURE TLS_AUTOMATIC_CERTIFICATE_RENEWAL_STILL_FAILING TLS_AUTOMATIC_CERTIFICATE_EXPIRED TLS_CUSTOM_CERTIFICATE_EXPIRING TLS_CUSTOM_CERTIFICATE_EXPIRING_SOON TLS_CUSTOM_CERTIFICATE_EXPIRED L7DDOS DNS_ZONE_IGNORED_DUPLICATE_RECORD API_SECURITY_UNUSED_API_DETECTED API_SECURITY_SHADOW_API_DETECTED API_SECURITY_SENSITIVE_DATA_IN_RESPONSE_DETECTED API_SECURITY_RISK_SCORE_HIGH_DETECTED ROUTED_DDOS_ALERT_NOTIFICATION ROUTED_DDOS_MITIGATION_NOTIFICATION
alertname_regex
Alertname Regex Match

Exclusive with [alertname any custom group severity] Regular Expression match for the alertname.

string
<= 1024 characters
any
object
custom
object
alertlabel
AlertLabel

AlertLabel to configure the alert policy rule.

object
alertname
object
exact_match
Exact Match

Exclusive with [regex_match] Equality match value for the label.

string
<= 1024 characters
regex_match
Regex Match

Exclusive with [exact_match] Regular expression match value for the label.

string
<= 1024 characters
group
object
exact_match
Exact Match

Exclusive with [regex_match] Equality match value for the label.

string
<= 1024 characters
regex_match
Regex Match

Exclusive with [exact_match] Regular expression match value for the label.

string
<= 1024 characters
severity
object
exact_match
Exact Match

Exclusive with [regex_match] Equality match value for the label.

string
<= 1024 characters
regex_match
Regex Match

Exclusive with [exact_match] Regular expression match value for the label.

string
<= 1024 characters
dont_send
object
group
object
groups
groups

Name of groups to match the alert.

Array<string>
Allowed values: INFRASTRUCTURE IAAS_CAAS VIRTUAL_HOST VOLT_SHARE UAM SECURITY TIMESERIES_ANOMALY SHAPE_SECURITY SECURITY_CSD CDN SYNTHETIC_MONITORS TLS SECURITY_BOT_DEFENSE CLOUD_LINK DNS ROUTED_DDOS
notification_parameters
object
custom
object
labels
labels

Name of labels to group/aggregate the alerts.

Array<string>
<= 5 items
default
object
group_interval
Group Interval

Group Interval is used to specify how long to wait before sending a notification about new alerts that are added to the group for which an initial notification has already been sent. Format: [0-9][smhd], where s - seconds, m - minutes, h - hours, d - days If not specified, group_interval defaults to “1m”

string
<= 1024 characters
group_wait
Group Wait

Time value used to specify how long to initially wait for an inhibiting alert to arrive or collect more alerts for the same group. Format: [0-9][smhd], where s - seconds, m - minutes, h - hours, d - days If not specified, group_wait defaults to ”30s”

string
<= 1024 characters
individual
object
repeat_interval
Repeat Interval

Repeat Interval is used to specify how long to wait before sending a notification again if it has already been sent successfully. Format: [0-9][smhd], where s - seconds, m - minutes, h - hours, d - days If not specified, group_interval defaults to “4h”

string
<= 1024 characters
ves_io_group
object
send
object
severity
object
severities
Severities

List of severity levels.

Array<string>
Allowed values: MINOR MAJOR CRITICAL
system_metadata
object
creation_timestamp
creation_timestamp

CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.

string format: date-time
<= 1024 characters
creator_class
creator_class

A value identifying the class of the user or service which created this configuration object.

string
<= 1024 characters
creator_id
creator_id

A value identifying the exact user or service that created this configuration object.

string
<= 1024 characters
deletion_timestamp
deletion_timestamp

DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.

Populated by the system when a graceful deletion is requested. Read-only.

string format: date-time
<= 1024 characters
finalizers
finalizers

Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed.

Array<string>
initializers
object
pending
pending

Pending is a list of initializers that must execute in order before this object is initialized. When the last pending initializer is removed, and no failing result is set, the initializers struct will be set to nil and the object is considered as initialized and visible to all clients.

Array<object>
InitializerType

Initializer is information about an initializer that has not yet completed.

object
name
name

Name of the service that is responsible for initializing this object.

string
>= 6 characters <= 1024 characters
result
object
code
code

Suggested HTTP return code for this status, 0 if not set.

integer format: int32
reason
reason

A human-readable description of why this operation is in the “Failure” status. If this value is empty there is no information available.

string
>= 27 characters <= 1024 characters
status
status

Status of the operation. One of: “Success” or “Failure”.

string
>= 17 characters <= 1024 characters
labels
labels

Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the operator or software. Values here can be interpreted by software(backend or frontend) to enable certain behavior e.g. Things marked as soft-deleted(restorable).

object
modification_timestamp
modification_timestamp

ModificationTimestamp is a timestamp representing the server time when this object was last modified.

string format: date-time
<= 1024 characters
object_index
object_index

Unique index for the object. Some objects need a unique integer index to be allocated for each object type. This field will be populated for all objects that need it and will be zero otherwise.

integer format: int64
owner_view
object
kind
kind

Kind of the view object.

string
>= 12 characters <= 1024 characters
name
name

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object’s(e.g. Route’s) name.

string
>= 6 characters <= 1024 characters
namespace
namespace

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object’s(e.g. Route’s) namespace.

string
>= 6 characters <= 1024 characters
uid
uid

UID of the view object.

string format: uuid
>= 36 characters <= 1024 characters
tenant
tenant

Tenant to which this configuration object belongs to. The value for this is found from presented credentials.

string
>= 6 characters <= 1024 characters
uid
uid

Uid is the unique in time and space value for this object. It is generated by the server on successful creation of an object and is not allowed to change on Replace API. The value of is taken from uid field of ObjectMetaType, if provided.

string format: uuid
>= 36 characters <= 1024 characters
Example
{
"spec": {
"routes": [
{
"alertname": "SITE_CUSTOMER_TUNNEL_INTERFACE_DOWN",
"group": {
"groups": [
"INFRASTRUCTURE"
]
},
"severity": {
"severities": [
"MINOR"
]
}
}
]
}
}

Returned when operation is not authorized.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when there is no permission to access resource.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when resource is not found.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when operation on resource is conflicting with current value.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when operation has been rejected as it is happening too frequently.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when server encountered an error in processing API.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when service is unavailable temporarily.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when server timed out processing request.

Media typeapplication/json
string format: string
Examplegenerated
example