Skip to content

Replace Virtual Network.

PUT
/api/config/namespaces/{metadata.namespace}/virtual_networks/{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/virtual_networks/example \
--header 'Authorization: <Authorization>' \
--header 'Content-Type: application/json' \
--data '{ "metadata": { "annotations": {}, "description": "example", "disable": true, "labels": {}, "name": "example", "namespace": "example" }, "spec": { "global_network": {}, "site_local_inside_network": {}, "site_local_network": {}, "static_routes": [ { "attrs": [ "ROUTE_ATTR_NO_OP" ], "default_gateway": {}, "ip_address": "example", "ip_prefixes": [ "example" ], "node_interface": { "list": [ { "interface": [ { "name": "example", "namespace": "example" } ], "node": "example" } ] } } ] }, "resource_version": "example" }'

Replace given virtual network in given namespace.

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 virtual_network

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.

string
>= 1 characters <= 63 characters /^[a-z]([-a-z0-9]*[a-z0-9])?$/
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
>= 1 characters <= 63 characters /^[a-z]([-a-z0-9]*[a-z0-9])?$/
spec
object
global_network

Select the global virtual-network scope for connectivity across participating sites.

object
site_local_inside_network

Select the site-local inside network for site-internal connectivity.

object
site_local_network

Select a site-local virtual network when connectivity must remain within one site.

object
static_routes
static_routes

List of static routes on the virtual network.

Array<object>
<= 165 items
Static Route

Defines a static route, configuring a list of prefixes and a next-hop to be used for them.

object
attrs
Attributes

List of attributes that control forwarding, dynamic routing and control plane (host) reachability.

Array<string>
<= 4 items
Allowed values: ROUTE_ATTR_NO_OP ROUTE_ATTR_ADVERTISE ROUTE_ATTR_INSTALL_HOST ROUTE_ATTR_INSTALL_FORWARDING ROUTE_ATTR_MERGE_ONLY
default_gateway
object
ip_address
IP Address

Exclusive with [default_gateway node_interface] Traffic matching the IP prefixes is sent to this IP Address.

string
<= 1024 characters
ip_prefixes
IP Prefixes

List of route prefixes that have common next hop and attributes.

Array<string>
>= 1 items <= 256 items
node_interface
object
list
NodeInterfaceInfo

On a multinode site, this list holds the nodes and corresponding networking_interface.

Array<object>
<= 8 items
NodeInterfaceInfo

On a multinode site, this list holds the nodes and corresponding tunnel transport interface.

object
interface
Interface

Interface reference on this node.

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
>= 1 characters <= 63 characters /^[a-z]([-a-z0-9]*[a-z0-9])?$/
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
>= 12 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
node
Node

Node name on this site.

string
<= 1024 characters
resource_version
string

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