Skip to content

Replace CloudLink.

PUT
/api/config/namespaces/{metadata.namespace}/cloud_links/{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/cloud_links/example \
--header 'Authorization: <Authorization>' \
--header 'Content-Type: application/json' \
--data '{ "metadata": { "annotations": {}, "description": "example", "disable": true, "labels": {}, "name": "example", "namespace": "example" }, "spec": { "aws": { "aws_cred": { "name": "example", "namespace": "example" }, "byoc": { "connections": [ { "auth_key": { "blindfold_secret_info": { "decryption_provider": "example", "location": "example", "store_provider": "example" }, "clear_secret_info": { "provider": "example", "url": "https://example.com" } }, "bgp_asn": 1, "connection_id": "example", "ipv4": { "aws_router_peer_address": "example", "router_peer_address": "example" }, "metadata": { "description": "example", "name": "example" }, "region": "example", "system_generated_name": {}, "tags": {}, "user_assigned_name": "example", "virtual_interface_type": "PRIVATE", "vlan": 1 } ] }, "custom_asn": 1 }, "disabled": {}, "enabled": { "cloudlink_network_name": "example" }, "gcp": { "byoc": { "connections": [ { "interconnect_attachment_name": "example", "metadata": { "description": "example", "name": "example" }, "project": "example", "region": "example", "same_as_credential": {} } ] }, "gcp_cred": { "name": "example", "namespace": "example" } } } }'

Replaces configured CloudLink with new set of parameters.

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 cloud_link

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
aws
object
aws_cred
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
byoc
object
connections
List of Bring You Own Connections

List of Bring You Own Connections. These AWS Direct Connect connections are not managed by F5XC but will be used for connecting sites and REs.

Required: YES.

Array<object>
>= 1 items <= 10 items
Bring You Own Connection

AWS Bring You Own Connection. F5XC supports Virtual interfaces from the same AWS cloud account.

object
auth_key
object
blindfold_secret_info
object
decryption_provider
Decryption Provider

Name of the Secret Management Access object that contains information about the backend Secret Management service.

string
<= 1024 characters
location
Location

Location is the uri_ref. It could be in URL format for string:/// Or it could be a path if the store provider is an HTTP/HTTPS location Required: YES.

string
>= 4 characters <= 1024 characters
store_provider
Store Provider

Name of the Secret Management Access object that contains information about the store to GET encrypted bytes This field needs to be provided only if the URL scheme is not string:///.

string
<= 1024 characters
clear_secret_info
object
provider
Provider

Name of the Secret Management Access object that contains information about the store to GET encrypted bytes This field needs to be provided only if the URL scheme is not string:///.

string
>= 3 characters <= 1024 characters
url
URL

URL of the secret. Currently supported URL schemes is string:///. For string:/// scheme, Secret needs to be encoded Base64 format. When asked for this secret, caller will GET Secret bytes after Base64 decoding. Required: YES.

string format: uri
<= 131072 characters
bgp_asn
BGP ASN

The Border Gateway Protocol (BGP) Autonomous System Number (ASN) of your on-premises router for the new virtual interface to be configured on AWS. Required: YES.

integer format: int64
connection_id
Direct Connect Connection Id

ID of the existing AWS Direct Connect Connection Required: YES.

string
<= 64 characters
ipv4
object
aws_router_peer_address
AWS Router Peer IP/Prefix

The BGP peer IP configured on the AWS endpoint Required: YES.

string
<= 1024 characters
router_peer_address
Customer Peer IP/Prefix

The BGP peer IP configured on your (customer) endpoint Required: YES.

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
region
Region

Region where the connection is setup Required: YES.

string
<= 1024 characters
system_generated_name
object
tags
AWS Tags

AWS Tags is a label consisting of a user-defined key and value. It helps to manage, identify, organize, search for, and filter resources in AWS console. Specified tags will be added to Virtual interface along with any F5XC specific tags.

object
user_assigned_name
User Assigned

Exclusive with [system_generated_name] User is managing the AWS resource name.

string
<= 256 characters
virtual_interface_type
string
default: PRIVATE
Allowed values: PRIVATE
vlan
Virtual Local Area Network (VLAN)

Virtual Local Area Network number for the new virtual interface to be configured on the AWS. This tag is required for any traffic traversing the AWS Direct Connect connection Required: YES.

integer format: int64
custom_asn
Custom ASN

Exclusive with [] F5XC will use custom ASN to create a Direct Connect Gateway.

integer format: int64
disabled
object
enabled
object
cloudlink_network_name
Private ADN Network

Establish private connectivity with the F5 Distributed Cloud Global Network using a Private ADN network. To provision a Private ADN network, please contact F5 Distributed Cloud support. Required: YES.

string
<= 64 characters
gcp
object
byoc
object
connections
List of Bring You Own Connections

Each ‘Bring Your Own Connection’ represents a virtual connection that the customer has provisioned in the Cloud (example: AWS Direct Connect). F5XC will orchestrate networking resources in the cloud to facilitate seamless private connectivity.

Required: YES.

Array<object>
>= 1 items <= 10 items
Bring You Own Connection

GCP Bring You Own Connection.

object
interconnect_attachment_name
Interconnect Attachment Name

Name of already-existing GCP Cloud Interconnect Attachment

Required: YES.

string
>= 1 characters <= 63 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
project
Project ID

Exclusive with [same_as_credential] Specify a GCP Project for the interconnect attachment.

string
>= 4 characters <= 30 characters
region
Region

GCP Region in which the GCP Cloud Interconnect attachment is configured

Required: YES.

string
<= 1024 characters
same_as_credential
object
gcp_cred
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

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