Skip to content

Replace external_connector configuration.

PUT
/api/config/namespaces/{metadata.namespace}/external_connectors/{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/external_connectors/example \
--header 'Authorization: <Authorization>' \
--header 'Content-Type: application/json' \
--data '{ "metadata": { "annotations": {}, "description": "example", "disable": true, "labels": {}, "name": "example", "namespace": "example" }, "spec": { "ce_site_reference": { "name": "example", "namespace": "example" }, "ipsec": { "ike_parameters": { "dpd_disabled": {}, "dpd_keep_alive_timer": { "timeout": 1 }, "ike_phase1_profile": { "name": "example", "namespace": "example" }, "ike_phase2_profile": { "name": "example", "namespace": "example" }, "initiator": {}, "responder": {}, "rm_hostname": "example", "rm_ip_address": { "ipv4": { "addr": "example" }, "ipv6": { "addr": "example" } }, "use_default_local_ike_id": {}, "use_default_remote_ike_id": {} }, "ipsec_tunnel_parameters": { "peer_ip_address": { "addr": "example" }, "psk": "example", "segment": { "refs": [ { "name": "example", "namespace": "example" } ] }, "site_local_inside_network": {}, "site_local_network": {}, "tunnel_eps": [ { "interface": "example", "local_tunnel_ip": "example", "node": "example", "remote_tunnel_ip": "example" } ], "tunnel_mtu": 1 } }, "gre": { "gre_parameters": { "peer_ip_address": { "addr": "example" }, "segment": { "refs": [ { "name": "example", "namespace": "example" } ] }, "site_local_inside_network": {}, "site_local_network": {}, "tunnel_eps": [ { "interface": "example", "local_tunnel_ip": "example", "node": "example", "remote_tunnel_ip": "example" } ], "tunnel_mtu": 1 } } } }'

Shape of the external_connector configuration specification.

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 external_connector

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
ce_site_reference
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
ipsec
object
ike_parameters
object
dpd_disabled
object
dpd_keep_alive_timer
object
timeout
Keepalive Timer

Operation timeout duration

integer format: int64
ike_phase1_profile
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
ike_phase2_profile
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
initiator
object
responder
object
rm_hostname
Hostname

Exclusive with [rm_ip_address use_default_remote_ike_id] Configure an hostname Remote IKE ID.

string
<= 1024 characters
rm_ip_address
object
ipv4
object
addr
IPv4 Address

IPv4 Address in string form with dot-decimal notation.

string
<= 1024 characters
ipv6
object
addr
IPv6 Address

IPv6 Address in form of string. IPv6 address must be specified as hexadecimal numbers separated by ’:’ The address can be compacted by suppressing zeros e.g. ‘2001:db8:0:0:0:0:2:1’ becomes ‘2001:db8::2:1’ or ‘2001:db8:0:0:0:2:0:0’ becomes ‘2001:db8::2::’

string
<= 1024 characters
use_default_local_ike_id
object
use_default_remote_ike_id
object
ipsec_tunnel_parameters
object
peer_ip_address
object
addr
IPv4 Address

IPv4 Address in string form with dot-decimal notation.

string
<= 1024 characters
psk
Pre-Shared Key

The IKE pre-shared key (PSK) is required to ensure the IKE peers can authenticate one another within IKE phase 1 negotiation.

Required: YES.

string
<= 1024 characters
segment
object
refs
Segment

Reference to Segment Object

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
site_local_inside_network
object
site_local_network
object
tunnel_eps
Tunnel Endpoint

Configure tunnel parameters, local and remote IP addresses

Required: YES.

Array<object>
>= 1 items <= 4 items
Tunnel Endpoint

Configure tunnel endpoints, local and remote IP addresses.

object
interface
Interface

For the chosen node, specify the interface that will be the tunnel source.

Required: YES.

string
<= 1024 characters
local_tunnel_ip
Local Tunnel IP Address

For a particular tunnel on a node, specify the local tunnel IP Address i.e. The IP address of the tunnel on the CE node itself and a subnet prefix length Required: YES.

string
<= 1024 characters
node
Node

A CE site is composed of multiple nodes. Choose a node that will be part of this external connection.

Required: YES.

string
<= 1024 characters
remote_tunnel_ip
Remote Tunnel IP Address

For a particular tunnel on a node, specify the remote tunnel IP Address i.e. The IP address of the tunnel on the remote gateway and a subnet prefix length Required: YES.

string
<= 1024 characters
tunnel_mtu
MTU

The tunnel MTU defines the maximum size of the packet that can be sent through the tunnel without needing to be fragmented

Required: YES.

integer format: int64
gre
object
gre_parameters
object
peer_ip_address
object
addr
IPv4 Address

IPv4 Address in string form with dot-decimal notation.

string
<= 1024 characters
segment
object
refs
Segment

Reference to Segment Object

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
site_local_inside_network
object
site_local_network
object
tunnel_eps
Tunnel Endpoint

X-displayName: “Tunnel Endpoint” x-required Configure tunnel parameters, source, destination, IP addresses.

Array<object>
>= 1 items <= 4 items
Tunnel Endpoint

Configure tunnel endpoints, local and remote IP addresses.

object
interface
Interface

For the chosen node, specify the interface that will be the tunnel source.

Required: YES.

string
<= 1024 characters
local_tunnel_ip
Local Tunnel IP Address

For a particular tunnel on a node, specify the local tunnel IP Address i.e. The IP address of the tunnel on the CE node itself and a subnet prefix length Required: YES.

string
<= 1024 characters
node
Node

A CE site is composed of multiple nodes. Choose a node that will be part of this external connection.

Required: YES.

string
<= 1024 characters
remote_tunnel_ip
Remote Tunnel IP Address

For a particular tunnel on a node, specify the remote tunnel IP Address i.e. The IP address of the tunnel on the remote gateway and a subnet prefix length Required: YES.

string
<= 1024 characters
tunnel_mtu
Tunnel MTU

X-displayName: “Tunnel MTU” Configure MTU for the GRE tunnel interface.

integer format: int64
Examplegenerated
{
"metadata": {
"annotations": {},
"description": "example",
"disable": true,
"labels": {},
"name": "example",
"namespace": "example"
},
"spec": {
"ce_site_reference": {
"name": "example",
"namespace": "example"
},
"ipsec": {
"ike_parameters": {
"dpd_disabled": {},
"dpd_keep_alive_timer": {
"timeout": 1
},
"ike_phase1_profile": {
"name": "example",
"namespace": "example"
},
"ike_phase2_profile": {
"name": "example",
"namespace": "example"
},
"initiator": {},
"responder": {},
"rm_hostname": "example",
"rm_ip_address": {
"ipv4": {
"addr": "example"
},
"ipv6": {
"addr": "example"
}
},
"use_default_local_ike_id": {},
"use_default_remote_ike_id": {}
},
"ipsec_tunnel_parameters": {
"peer_ip_address": {
"addr": "example"
},
"psk": "example",
"segment": {
"refs": [
{
"name": "example",
"namespace": "example"
}
]
},
"site_local_inside_network": {},
"site_local_network": {},
"tunnel_eps": [
{
"interface": "example",
"local_tunnel_ip": "example",
"node": "example",
"remote_tunnel_ip": "example"
}
],
"tunnel_mtu": 1
}
},
"gre": {
"gre_parameters": {
"peer_ip_address": {
"addr": "example"
},
"segment": {
"refs": [
{
"name": "example",
"namespace": "example"
}
]
},
"site_local_inside_network": {},
"site_local_network": {},
"tunnel_eps": [
{
"interface": "example",
"local_tunnel_ip": "example",
"node": "example",
"remote_tunnel_ip": "example"
}
],
"tunnel_mtu": 1
}
}
}
}

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