Skip to content

Replace Forward Proxy Policy.

PUT
/api/config/namespaces/{metadata.namespace}/forward_proxy_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/forward_proxy_policys/example \
--header 'Authorization: <Authorization>' \
--header 'Content-Type: application/json' \
--data '{ "metadata": { "annotations": {}, "description": "example", "disable": true, "labels": {}, "name": "example", "namespace": "example" }, "spec": { "allow_all": {}, "allow_list": { "default_action_allow": {}, "default_action_deny": {}, "default_action_next_policy": {}, "dest_list": [ { "ipv6_prefixes": [ "example" ], "port_ranges": "example", "prefixes": [ "example" ] } ], "http_list": [ { "any_path": {}, "exact_value": "example", "path_exact_value": "example", "path_prefix_value": "example", "path_regex_value": "example", "regex_value": "example", "suffix_value": "example" } ], "tls_list": [ { "exact_value": "example", "regex_value": "example", "suffix_value": "example" } ] }, "any_proxy": {}, "deny_list": { "default_action_allow": {}, "default_action_deny": {}, "default_action_next_policy": {}, "dest_list": [ { "ipv6_prefixes": [ "example" ], "port_ranges": "example", "prefixes": [ "example" ] } ], "http_list": [ { "any_path": {}, "exact_value": "example", "path_exact_value": "example", "path_prefix_value": "example", "path_regex_value": "example", "regex_value": "example", "suffix_value": "example" } ], "tls_list": [ { "exact_value": "example", "regex_value": "example", "suffix_value": "example" } ] }, "drp_http_connect": {}, "network_connector": { "name": "example", "namespace": "example" }, "proxy_label_selector": { "expressions": [ "example" ] }, "rule_list": { "rules": [ { "action": "DENY", "all_destinations": {}, "all_sources": {}, "dst_asn_list": { "as_numbers": [ 1 ] }, "dst_asn_set": { "name": "example", "namespace": "example" }, "dst_ip_prefix_set": { "name": "example", "namespace": "example" }, "dst_label_selector": { "expressions": [ "example" ] }, "dst_prefix_list": { "prefixes": [ "example" ] }, "http_list": { "http_list": [ { "any_path": {}, "exact_value": "example", "path_exact_value": "example", "path_prefix_value": "example", "path_regex_value": "example", "regex_value": "example", "suffix_value": "example" } ] }, "ip_prefix_set": { "name": "example", "namespace": "example" }, "label_selector": { "expressions": [ "example" ] }, "metadata": { "description": "example", "name": "example" }, "no_http_connect_port": {}, "port_matcher": { "invert_matcher": true, "ports": [ "example" ] }, "prefix_list": { "prefixes": [ "example" ] }, "tls_list": { "tls_list": [ { "exact_value": "example", "regex_value": "example", "suffix_value": "example" } ] }, "url_category_list": { "url_categories": [ "UNCATEGORIZED" ] } } ] } } }'

Shape of the Forward Proxy Policy replace specification.

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 forward_proxy_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
allow_all
object
allow_list
object
default_action_allow
object
default_action_deny
object
default_action_next_policy
object
dest_list
L4 Destinations

L4 destinations for non-HTTP and non-TLS connections and TLS connections without SNI.

Array<object>
<= 16 items
L4 Dest Type

L4 Destination consisting of IPv4 Prefixes and TCP Port Range.

object
ipv6_prefixes
ipv6 prefixes

Destination IPv6 prefixes.

Array<string>
<= 32 items
port_ranges
port_ranges

A string containing a comma separated list of port ranges. Each port range consists of a single port or two ports separated by ”-”. Required: YES.

string
>= 1 characters <= 512 characters
prefixes
prefixes

Destination IPv4 prefixes.

Array<string>
<= 32 items
http_list
HTTP URLs

URLs for HTTP connections.

Array<object>
<= 16 items
URL

URL strings in form “HTTP:///

object
any_path
object
exact_value
exact value

Exclusive with [regex_value suffix_value] Exact domain name.

string
>= 1 characters <= 256 characters
path_exact_value
exact value

Exclusive with [any_path path_prefix_value path_regex_value] Exact Path to match.

string
>= 1 characters <= 256 characters
path_prefix_value
Prefix value

Exclusive with [any_path path_exact_value path_regex_value] Prefix of Path e.g “/abc/xyz” will match “/abc/xyz/.*”

string
>= 1 characters <= 256 characters
path_regex_value
regex value of Paths

Exclusive with [any_path path_exact_value path_prefix_value] Regular Expression value for the Path to match.

string
>= 1 characters <= 256 characters
regex_value
regex value of Domains

Exclusive with [exact_value suffix_value] Regular Expression value for the domain name.

string
>= 1 characters <= 256 characters
suffix_value
suffix value

Exclusive with [exact_value regex_value] Suffix of domain names e.g “xyz.com” will match “*.xyz.com”

string
>= 1 characters <= 256 characters
tls_list
TLS Domains

Domains in SNI for TLS connections.

Array<object>
<= 16 items
Domains

Domains names.

object
exact_value
exact value

Exclusive with [regex_value suffix_value] Exact domain name.

string
>= 1 characters <= 256 characters
regex_value
regex values of Domains

Exclusive with [exact_value suffix_value] Regular Expression value for the domain name.

string
>= 1 characters <= 256 characters
suffix_value
suffix value

Exclusive with [exact_value regex_value] Suffix of domain name e.g “xyz.com” will match “*.xyz.com” and “xyz.com”

string
>= 1 characters <= 256 characters
any_proxy
object
deny_list
object
default_action_allow
object
default_action_deny
object
default_action_next_policy
object
dest_list
L4 Destinations

L4 destinations for non-HTTP and non-TLS connections and TLS connections without SNI.

Array<object>
<= 16 items
L4 Dest Type

L4 Destination consisting of IPv4 Prefixes and TCP Port Range.

object
ipv6_prefixes
ipv6 prefixes

Destination IPv6 prefixes.

Array<string>
<= 32 items
port_ranges
port_ranges

A string containing a comma separated list of port ranges. Each port range consists of a single port or two ports separated by ”-”. Required: YES.

string
>= 1 characters <= 512 characters
prefixes
prefixes

Destination IPv4 prefixes.

Array<string>
<= 32 items
http_list
HTTP URLs

URLs for HTTP connections.

Array<object>
<= 16 items
URL

URL strings in form “HTTP:///

object
any_path
object
exact_value
exact value

Exclusive with [regex_value suffix_value] Exact domain name.

string
>= 1 characters <= 256 characters
path_exact_value
exact value

Exclusive with [any_path path_prefix_value path_regex_value] Exact Path to match.

string
>= 1 characters <= 256 characters
path_prefix_value
Prefix value

Exclusive with [any_path path_exact_value path_regex_value] Prefix of Path e.g “/abc/xyz” will match “/abc/xyz/.*”

string
>= 1 characters <= 256 characters
path_regex_value
regex value of Paths

Exclusive with [any_path path_exact_value path_prefix_value] Regular Expression value for the Path to match.

string
>= 1 characters <= 256 characters
regex_value
regex value of Domains

Exclusive with [exact_value suffix_value] Regular Expression value for the domain name.

string
>= 1 characters <= 256 characters
suffix_value
suffix value

Exclusive with [exact_value regex_value] Suffix of domain names e.g “xyz.com” will match “*.xyz.com”

string
>= 1 characters <= 256 characters
tls_list
TLS Domains

Domains in SNI for TLS connections.

Array<object>
<= 16 items
Domains

Domains names.

object
exact_value
exact value

Exclusive with [regex_value suffix_value] Exact domain name.

string
>= 1 characters <= 256 characters
regex_value
regex values of Domains

Exclusive with [exact_value suffix_value] Regular Expression value for the domain name.

string
>= 1 characters <= 256 characters
suffix_value
suffix value

Exclusive with [exact_value regex_value] Suffix of domain name e.g “xyz.com” will match “*.xyz.com” and “xyz.com”

string
>= 1 characters <= 256 characters
drp_http_connect
object
network_connector
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
proxy_label_selector
object
expressions
expressions

Expressions contains the Kubernetes style label expression for selections. Required: YES.

Array<string>
<= 1 items
rule_list
object
rules
rules

List of custom rules

Required: YES.

Array<object>
>= 1 items <= 32 items
Forward Proxy Rule

URL(s) and domains policy for forward proxy for a connection type (TLS or HTTP)

object
action
string
default: DENY
Allowed values: DENY ALLOW NEXT_POLICY
all_destinations
object
all_sources
object
dst_asn_list
object
as_numbers
as numbers

An unordered set of RFC 6793 defined 4-byte AS numbers that can be used to create allow or deny lists for use in network policy or service policy. It can be used to create the allow list only for DNS Load Balancer. Required: YES.

Array<integer>
>= 1 items <= 16 items
dst_asn_set
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
dst_ip_prefix_set
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
dst_label_selector
object
expressions
expressions

Expressions contains the Kubernetes style label expression for selections. Required: YES.

Array<string>
<= 1 items
dst_prefix_list
object
prefixes
ipv4 prefix list

List of IPv4 prefixes that represent an endpoint.

Array<string>
<= 128 items
http_list
object
http_list
HTTP URLs

URLs for HTTP connections.

Array<object>
<= 16 items
URL

URL strings in form “HTTP:///

object
any_path
object
exact_value
exact value

Exclusive with [regex_value suffix_value] Exact domain name.

string
>= 1 characters <= 256 characters
path_exact_value
exact value

Exclusive with [any_path path_prefix_value path_regex_value] Exact Path to match.

string
>= 1 characters <= 256 characters
path_prefix_value
Prefix value

Exclusive with [any_path path_exact_value path_regex_value] Prefix of Path e.g “/abc/xyz” will match “/abc/xyz/.*”

string
>= 1 characters <= 256 characters
path_regex_value
regex value of Paths

Exclusive with [any_path path_exact_value path_prefix_value] Regular Expression value for the Path to match.

string
>= 1 characters <= 256 characters
regex_value
regex value of Domains

Exclusive with [exact_value suffix_value] Regular Expression value for the domain name.

string
>= 1 characters <= 256 characters
suffix_value
suffix value

Exclusive with [exact_value regex_value] Suffix of domain names e.g “xyz.com” will match “*.xyz.com”

string
>= 1 characters <= 256 characters
ip_prefix_set
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
label_selector
object
expressions
expressions

Expressions contains the Kubernetes style label expression for selections. Required: YES.

Array<string>
<= 1 items
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
no_http_connect_port
object
port_matcher
object
invert_matcher
invert_matcher

Invert the match result.

boolean format: boolean
ports
port ranges

A list of strings, each of which is a single port value or a tuple of start and end port values separated by ”-”. The start and end values are considered to be part of the range. Required: YES.

Array<string>
<= 16 items
prefix_list
object
prefixes
ipv4 prefix list

List of IPv4 prefixes that represent an endpoint.

Array<string>
<= 128 items
tls_list
object
tls_list
TLS Domains

Domains in SNI for TLS connections.

Array<object>
<= 16 items
Domains

Domains names.

object
exact_value
exact value

Exclusive with [regex_value suffix_value] Exact domain name.

string
>= 1 characters <= 256 characters
regex_value
regex values of Domains

Exclusive with [exact_value suffix_value] Regular Expression value for the domain name.

string
>= 1 characters <= 256 characters
suffix_value
suffix value

Exclusive with [exact_value regex_value] Suffix of domain name e.g “xyz.com” will match “*.xyz.com” and “xyz.com”

string
>= 1 characters <= 256 characters
url_category_list
object
url_categories
URL Categories

List of URL categories to be selected

Required: YES.

Array<string>
<= 128 items
Allowed values: UNCATEGORIZED REAL_ESTATE COMPUTER_AND_INTERNET_SECURITY FINANCIAL_SERVICES BUSINESS_AND_ECONOMY COMPUTER_AND_INTERNET_INFO AUCTIONS SHOPPING CULT_AND_OCCULT TRAVEL ABUSED_DRUGS ADULT_AND_PORNOGRAPHY HOME_AND_GARDEN MILITARY SOCIAL_NETWORKING DEAD_SITES INDIVIDUAL_STOCK_ADVICE_AND_TOOLS TRAINING_AND_TOOLS DATING SEX_EDUCATION RELIGION ENTERTAINMENT_AND_ARTS PERSONAL_SITES_AND_BLOGS LEGAL LOCAL_INFORMATION STREAMING_MEDIA JOB_SEARCH GAMBLING TRANSLATION REFERENCE_AND_RESEARCH SHAREWARE_AND_FREEWARE PEER_TO_PEER MARIJUANA HACKING GAMES PHILOSOPHY_AND_POLITICAL_ADVOCACY WEAPONS PAY_TO_SURF HUNTING_AND_FISHING SOCIETY EDUCATIONAL_INSTITUTIONS ONLINE_GREETING_CARDS SPORTS SWIMSUITS_AND_INTIMATE_APPAREL QUESTIONABLE KIDS HATE_AND_RACISM PERSONAL_STORAGE VIOLENCE KEYLOGGERS_AND_MONITORING SEARCH_ENGINES INTERNET_PORTALS WEB_ADVERTISEMENTS CHEATING GROSS WEB_BASED_EMAIL MALWARE_SITES PHISHING_AND_OTHER_FRAUDS PROXY_AVOIDANCE_AND_ANONYMIZERS SPYWARE_AND_ADWARE MUSIC GOVERNMENT NUDITY NEWS_AND_MEDIA ILLEGAL CONTENT_DELIVERY_NETWORKS INTERNET_COMMUNICATIONS BOT_NETS ABORTION HEALTH_AND_MEDICINE CONFIRMED_SPAM_SOURCES SPAM_URLS UNCONFIRMED_SPAM_SOURCES OPEN_HTTP_PROXIES DYNAMICALLY_GENERATED_CONTENT PARKED_DOMAINS ALCOHOL_AND_TOBACCO PRIVATE_IP_ADDRESSES IMAGE_AND_VIDEO_SEARCH FASHION_AND_BEAUTY RECREATION_AND_HOBBIES MOTOR_VEHICLES WEB_HOSTING

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