Skip to content

Replace BGP Routing Policy.

PUT
/api/config/namespaces/{metadata.namespace}/bgp_routing_policys/{metadata.name}
curl --request PUT \
--url https://example-corp.console.ves.volterra.io/api/v1/api/production/us-east-1/namespaces/default/api/config/namespaces/example/bgp_routing_policys/example \
--header 'Authorization: <Authorization>' \
--header 'Content-Type: application/json' \
--data '{ "metadata": { "annotations": {}, "description": "example", "disable": true, "labels": {}, "name": "example", "namespace": "example" }, "spec": { "rules": [ { "action": { "aggregate": {}, "allow": {}, "as_path": "example", "community": { "community": [ "example" ] }, "deny": {}, "local_preference": 1, "metric": 1 }, "match": { "as_path": "example", "community": { "community": [ "example" ] }, "ip_prefixes": { "prefixes": [ { "equal_or_longer_than": {}, "exact_match": {}, "ip_prefixes": "example", "longer_than": {} } ] } } } ] } }'

BGP Routing Policy is a list of rules containing match criteria and action to be applied. These rules help contol routes which are imported or exported to BGP peers.

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 ""

metadata.name
required
string

Name The configuration object to be replaced will be looked up by name.

Media typeapplication/json
ReplaceRequest is used to replace contents of a bgp_routing_policy

This is the input message of the ‘Replace’ 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
rules

A BGP Routing policy is composed of one or more rules. Note that the order of rules is critical as rules are applied top to bottom.

Required: YES.

Array<object>
>= 1 items <= 16 items
BGP Route Filter

BGP route filter is a collection of match condition and action to be taken on match. All the fields to evaluate match criteria will be extracted from BGP route being processed. IP prefix, BGP community and AS PATH, all fields which can be specified and all the fields must match with BGP route for action to be applied.

object
action
object
aggregate
object
allow
object
as_path
AS path

Exclusive with [aggregate allow community deny local_preference metric] AS-Path Prepending is generally used to influence incoming traffic.

string
<= 1024 characters
community
object
community
community

An unordered set of RFC 1997 defined 4-byte community, first 16 bits being ASN and lower 16 bits being value Required: YES.

Array<string>
>= 1 items <= 8 items
deny
object
local_preference
Local preference

Exclusive with [aggregate allow as_path community deny metric] BGP Local Preference is generally used to influence outgoing traffic.

integer format: int64
metric
Metric

Exclusive with [aggregate allow as_path community deny local_preference] The Multi-Exit Discriminator metric to indicate the preferred path to AS.

integer format: int64
match
object
as_path
AS path

Exclusive with [community ip_prefixes] AS path can also be a regex, which will be matched against route information.

string
<= 1024 characters
community
object
community
community

An unordered set of RFC 1997 defined 4-byte community, first 16 bits being ASN and lower 16 bits being value Required: YES.

Array<string>
>= 1 items <= 8 items
ip_prefixes
object
prefixes
BGP Prefix Match List

List of IP prefix

Required: YES.

Array<object>
>= 1 items <= 8 items
IP Prefix list

A list of IP prefixes amongst which atleast one should match BGP route.

object
equal_or_longer_than
object
exact_match
object
ip_prefixes
IP Prefix

IP prefix to match on BGP route.

string
<= 1024 characters
longer_than
object
Examplegenerated
{
"metadata": {
"annotations": {},
"description": "example",
"disable": true,
"labels": {},
"name": "example",
"namespace": "example"
},
"spec": {
"rules": [
{
"action": {
"aggregate": {},
"allow": {},
"as_path": "example",
"community": {
"community": [
"example"
]
},
"deny": {},
"local_preference": 1,
"metric": 1
},
"match": {
"as_path": "example",
"community": {
"community": [
"example"
]
},
"ip_prefixes": {
"prefixes": [
{
"equal_or_longer_than": {},
"exact_match": {},
"ip_prefixes": "example",
"longer_than": {}
}
]
}
}
}
]
}
}

A successful response.

Media typeapplication/json
object
Examplegenerated
{}

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