Skip to content

Replace BGP.

PUT
/api/config/namespaces/{metadata.namespace}/bgps/{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/bgps/example \
--header 'Authorization: <Authorization>' \
--header 'Content-Type: application/json' \
--data '{ "metadata": { "annotations": {}, "description": "example", "disable": true, "labels": {}, "name": "example", "namespace": "example" }, "spec": { "bgp_parameters": { "asn": 1, "from_site": {}, "ip_address": "example", "local_address": {} }, "peers": [ { "bfd_disabled": {}, "bfd_enabled": { "multiplier": 1, "receive_interval_milliseconds": 1, "transmit_interval_milliseconds": 1 }, "disable": {}, "external": { "address": "example", "address_ipv6": "example", "asn": 1, "default_gateway": {}, "default_gateway_v6": {}, "disable": {}, "disable_v6": {}, "external_connector": {}, "family_inet": { "disable": {}, "enable": {} }, "from_site": {}, "from_site_v6": {}, "interface": { "name": "example", "namespace": "example" }, "interface_list": { "interfaces": [ { "name": "example", "namespace": "example" } ] }, "md5_auth_key": "example", "no_authentication": {}, "port": 1, "subnet_begin_offset": 1, "subnet_begin_offset_v6": 1, "subnet_end_offset": 1, "subnet_end_offset_v6": 1 }, "label": "example", "metadata": { "description": "example", "name": "example" }, "passive_mode_disabled": {}, "passive_mode_enabled": {}, "routing_policies": { "route_policy": [ { "all_nodes": {}, "inbound": {}, "node_name": { "node": [ "example" ] }, "object_refs": [ { "name": "example", "namespace": "example" } ], "outbound": {} } ] } } ], "where": { "site": { "disable_internet_vip": {}, "enable_internet_vip": {}, "network_type": "VIRTUAL_NETWORK_SITE_LOCAL", "ref": [ { "name": "example", "namespace": "example" } ] }, "virtual_site": { "disable_internet_vip": {}, "enable_internet_vip": {}, "network_type": "VIRTUAL_NETWORK_SITE_LOCAL", "ref": [ { "name": "example", "namespace": "example" } ] } } } }'

BGP object is the configuration for peering with external BGP servers. Replace BGP will replace the contents of given BGP 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 ""

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

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
bgp_parameters
object
asn
ASN

Autonomous System Number Required: YES.

integer format: int64
from_site
object
ip_address
ip_address

Exclusive with [from_site local_address] Use the configured IPv4 Address as Router ID.

string
<= 1024 characters
local_address
object
peers

List of peers

Required: YES.

Array<object>
<= 8 items
Peer

BGP Peer parameters.

object
bfd_disabled
object
bfd_enabled
object
multiplier
Multiplier

Specify Number of missed packets to bring session down” Required: YES.

integer format: int64
receive_interval_milliseconds
Receive Interval in milliseconds

BFD receive interval timer, in milliseconds Required: YES.

integer format: int64
transmit_interval_milliseconds
Transmit Interval in milliseconds

BFD transmit interval timer, in milliseconds Required: YES.

integer format: int64
disable
object
external
object
address
address

Exclusive with [default_gateway disable external_connector from_site subnet_begin_offset subnet_end_offset] Specify IPv4 peer address.

string
<= 1024 characters
address_ipv6
address_ipv6

Exclusive with [default_gateway_v6 disable_v6 from_site_v6 subnet_begin_offset_v6 subnet_end_offset_v6] Specify peer IPv6 address.

string
<= 1024 characters
asn
ASN

Autonomous System Number for BGP peer Required: YES.

integer format: int64
default_gateway
object
default_gateway_v6
object
disable
object
disable_v6
object
external_connector
object
family_inet
object
disable
object
enable
object
from_site
object
from_site_v6
object
interface
object
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. Required: YES.

string
>= 1 characters <= 128 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 <= 64 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 <= 64 characters
interface_list
object
interfaces
interface_list

List of network interfaces.

Required: YES.

Array<object>
>= 1 items <= 16 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.

object
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. Required: YES.

string
>= 1 characters <= 128 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 <= 64 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 <= 64 characters
md5_auth_key
md5_auth_key

Exclusive with [no_authentication] MD5 key for protecting BGP Sessions (RFC 2385)

string
<= 1024 characters
no_authentication
object
port
Peer Port

Peer TCP port number.

integer format: int64
>= 1 <= 65535
subnet_begin_offset
subnet_begin_offset

Exclusive with [address default_gateway disable external_connector from_site subnet_end_offset] Calculate peer address using offset from the beginning of the subnet.

integer format: int64
subnet_begin_offset_v6
subnet_begin_offset_v6

Exclusive with [address_ipv6 default_gateway_v6 disable_v6 from_site_v6 subnet_end_offset_v6] Calculate peer address using offset from the beginning of the subnet.

integer format: int64
subnet_end_offset
subnet_end_offset

Exclusive with [address default_gateway disable external_connector from_site subnet_begin_offset] Calculate peer address using offset from the end of the subnet.

integer format: int64
subnet_end_offset_v6
subnet_end_offset_v6

Exclusive with [address_ipv6 default_gateway_v6 disable_v6 from_site_v6 subnet_begin_offset_v6] Calculate peer address using offset from the end of the subnet.

integer format: int64
label
label

Specify whether this peer should be.

string
<= 1024 characters
metadata
object
description
description

Human readable description.

string
>= 21 characters <= 256 characters
name
name

This is the name of the message. The value of name has to follow DNS-1035 format. Required: YES.

string
>= 1 characters <= 1024 characters
passive_mode_disabled
object
passive_mode_enabled
object
routing_policies
object
route_policy
route_policy

Route policy to be applied.

Array<object>
<= 4 items
BGP Route policy

List of filter rules which can be applied on all or particular nodes.

object
all_nodes
object
inbound
object
node_name
object
node
Node

Select BGP Session on which policy will be applied.

Array<string>
object_refs
Policy to apply

Select route policy to apply.

Required: YES.

Array<object>
>= 1 items <= 1 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
outbound
object
where
object
site
object
disable_internet_vip
object
enable_internet_vip
object
network_type
string
default: VIRTUAL_NETWORK_SITE_LOCAL
Allowed values: VIRTUAL_NETWORK_SITE_LOCAL VIRTUAL_NETWORK_SITE_LOCAL_INSIDE VIRTUAL_NETWORK_PER_SITE VIRTUAL_NETWORK_PUBLIC VIRTUAL_NETWORK_GLOBAL VIRTUAL_NETWORK_SITE_SERVICE VIRTUAL_NETWORK_VER_INTERNAL VIRTUAL_NETWORK_SITE_LOCAL_INSIDE_OUTSIDE VIRTUAL_NETWORK_IP_AUTO VIRTUAL_NETWORK_VOLTADN_PRIVATE_NETWORK VIRTUAL_NETWORK_SRV6_NETWORK VIRTUAL_NETWORK_IP_FABRIC VIRTUAL_NETWORK_SEGMENT VIRTUAL_NETWORK_MANAGEMENT
ref
ref

A site direct reference

Required: YES.

Array<object>
<= 1 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
virtual_site
object
disable_internet_vip
object
enable_internet_vip
object
network_type
string
default: VIRTUAL_NETWORK_SITE_LOCAL
Allowed values: VIRTUAL_NETWORK_SITE_LOCAL VIRTUAL_NETWORK_SITE_LOCAL_INSIDE VIRTUAL_NETWORK_PER_SITE VIRTUAL_NETWORK_PUBLIC VIRTUAL_NETWORK_GLOBAL VIRTUAL_NETWORK_SITE_SERVICE VIRTUAL_NETWORK_VER_INTERNAL VIRTUAL_NETWORK_SITE_LOCAL_INSIDE_OUTSIDE VIRTUAL_NETWORK_IP_AUTO VIRTUAL_NETWORK_VOLTADN_PRIVATE_NETWORK VIRTUAL_NETWORK_SRV6_NETWORK VIRTUAL_NETWORK_IP_FABRIC VIRTUAL_NETWORK_SEGMENT VIRTUAL_NETWORK_MANAGEMENT
ref
ref

A virtual_site direct reference

Required: YES.

Array<object>
<= 1 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

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