- Home
- API Enriched
- Cdn
- config
- Replace CDN cache rule.
Replace CDN cache rule.
const url = 'https://example-corp.console.ves.volterra.io/api/v1/api/production/us-east-1/namespaces/default/api/config/namespaces/example/cdn_cache_rules/example';const options = { method: 'PUT', headers: {Authorization: '<Authorization>', 'Content-Type': 'application/json'}, body: '{"metadata":{"annotations":{},"description":"example","disable":true,"labels":{},"name":"example","namespace":"example"},"spec":{"cache_rules":{"cache_bypass":{},"eligible_for_cache":{"scheme_proxy_host_request_uri":{"cache_override":true,"cache_ttl":"example","ignore_response_cookie":true},"scheme_proxy_host_uri":{"cache_override":true,"cache_ttl":"example","ignore_response_cookie":true}},"rule_expression_list":[{"cache_rule_expression":[{"cache_headers":[{"name":"PROXY_HOST","operator":{"Contains":"example","DoesNotContain":"example","DoesNotEndWith":"example","DoesNotEqual":"example","DoesNotStartWith":"example","Endswith":"example","Equals":"example","MatchRegex":"example","Startswith":"example"}}],"cookie_matcher":[{"name":"example","operator":{"Contains":"example","DoesNotContain":"example","DoesNotEndWith":"example","DoesNotEqual":"example","DoesNotStartWith":"example","Endswith":"example","Equals":"example","MatchRegex":"example","Startswith":"example"}}],"path_match":{"operator":{"Contains":"example","DoesNotContain":"example","DoesNotEndWith":"example","DoesNotEqual":"example","DoesNotStartWith":"example","Endswith":"example","Equals":"example","MatchRegex":"example","Startswith":"example"}},"query_parameters":[{"key":"example","operator":{"Contains":"example","DoesNotContain":"example","DoesNotEndWith":"example","DoesNotEqual":"example","DoesNotStartWith":"example","Endswith":"example","Equals":"example","MatchRegex":"example","Startswith":"example"}}]}],"expression_name":"example"}],"rule_name":"example"}},"resource_version":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PUT \ --url https://example-corp.console.ves.volterra.io/api/v1/api/production/us-east-1/namespaces/default/api/config/namespaces/example/cdn_cache_rules/example \ --header 'Authorization: <Authorization>' \ --header 'Content-Type: application/json' \ --data '{ "metadata": { "annotations": {}, "description": "example", "disable": true, "labels": {}, "name": "example", "namespace": "example" }, "spec": { "cache_rules": { "cache_bypass": {}, "eligible_for_cache": { "scheme_proxy_host_request_uri": { "cache_override": true, "cache_ttl": "example", "ignore_response_cookie": true }, "scheme_proxy_host_uri": { "cache_override": true, "cache_ttl": "example", "ignore_response_cookie": true } }, "rule_expression_list": [ { "cache_rule_expression": [ { "cache_headers": [ { "name": "PROXY_HOST", "operator": { "Contains": "example", "DoesNotContain": "example", "DoesNotEndWith": "example", "DoesNotEqual": "example", "DoesNotStartWith": "example", "Endswith": "example", "Equals": "example", "MatchRegex": "example", "Startswith": "example" } } ], "cookie_matcher": [ { "name": "example", "operator": { "Contains": "example", "DoesNotContain": "example", "DoesNotEndWith": "example", "DoesNotEqual": "example", "DoesNotStartWith": "example", "Endswith": "example", "Equals": "example", "MatchRegex": "example", "Startswith": "example" } } ], "path_match": { "operator": { "Contains": "example", "DoesNotContain": "example", "DoesNotEndWith": "example", "DoesNotEqual": "example", "DoesNotStartWith": "example", "Endswith": "example", "Equals": "example", "MatchRegex": "example", "Startswith": "example" } }, "query_parameters": [ { "key": "example", "operator": { "Contains": "example", "DoesNotContain": "example", "DoesNotEndWith": "example", "DoesNotEqual": "example", "DoesNotStartWith": "example", "Endswith": "example", "Equals": "example", "MatchRegex": "example", "Startswith": "example" } } ] } ], "expression_name": "example" } ], "rule_name": "example" } }, "resource_version": "example" }'Shape of the CDN loadbalancer specification.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”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 “”
Name The configuration object to be replaced will be looked up by name.
Request Bodyrequired
Section titled “Request Bodyrequired”This is the input message of the ‘Replace’ RPC.
object
object
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
Human readable description for the object.
A value of true will administratively disable the object.
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
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.
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 “”
object
object
object
object
object
Honour Cache Override.
Cache TTL value is used to cache the resource/content for the specified amount of time Format: [0-9][smhd], where s - seconds, m - minutes, h - hours, d - days.
By default, response will not be cached if set-cookie header is present. This option will override the behavior and cache response even with set-cookie header present.
object
Honour Cache Override.
Cache TTL value is used to cache the resource/content for the specified amount of time Format: [0-9][smhd], where s - seconds, m - minutes, h - hours, d - days.
By default, response will not be cached if set-cookie header is present. This option will override the behavior and cache response even with set-cookie header present.
Expressions are evaluated in the order in which they are specified. The evaluation stops when the first rule match occurs..
CDN Cache Rule Expressions.
object
The Cache Rule Expression Terms that are ANDed.
Select one of the field OPTIONS.
object
Configure cache rule headers to match the criteria.
Header match is done using the name of the header and its value. The value match is done using one of the following regex match on value exact match of value presence of header
Header Match can also be inverse of above, which be used to check missing header or non-matching value.
object
object
Exclusive with [DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The header value must include the specified value as a substring.
Exclusive with [Contains DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The header value must not include the specified value as a substring.
Exclusive with [Contains DoesNotContain DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The header value must not end with the specified value.
Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotStartWith Endswith Equals MatchRegex Startswith] The header value must not match the specified value.
Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual Endswith Equals MatchRegex Startswith] The header value must not begin with the specified value.
Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Equals MatchRegex Startswith] The header value must end with the specified value.
Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith MatchRegex Startswith] The header value must exactly match the specified value.
Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals Startswith] The header value must match the specified regular expression pattern.
Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex] The header value must begin with the specified value.
A list of predicates for all cookies that need to be matched. The criteria for matching each cookie is described in individual instances of CookieMatcherType. The actual cookie values are extracted from the request API as a list of strings for each cookie name. Note that all specified cookie matcher predicates must evaluate to true.
A cookie matcher specifies the name of a single cookie and the criteria to match it. The input has a list of values for each cookie in the request. A cookie matcher can check for one of the following:
- Presence or absence of the cookie
- At least one of the values for the cookie in the request satisfies the MatcherType item.
object
Enter the name of the cookie to match.
object
Exclusive with [DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The cookie value must include the specified value as a substring.
Exclusive with [Contains DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The cookie value must not include the specified value as a substring.
Exclusive with [Contains DoesNotContain DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The cookie value must not end with the specified value.
Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotStartWith Endswith Equals MatchRegex Startswith] The cookie value must not match the specified value.
Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual Endswith Equals MatchRegex Startswith] The cookie value must not begin with the specified value.
Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Equals MatchRegex Startswith] The cookie value must end with the specified value.
Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith MatchRegex Startswith] The cookie value must exactly match the specified value.
Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals Startswith] The cookie value must match the specified regular expression pattern in PCRE format.
Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex] The cookie value must begin with the specified value.
object
object
Exclusive with [DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The path must include the specified value as a substring, up to the filename.
Exclusive with [Contains DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The path must not include the specified value as a substring, up to the filename.
Exclusive with [Contains DoesNotContain DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The path must not end with the specified value, up to the filename.
Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotStartWith Endswith Equals MatchRegex Startswith] The path must not match the specified value, up to the filename.
Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual Endswith Equals MatchRegex Startswith] The path must not begin with the specified value, up to the filename.
Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Equals MatchRegex Startswith] The path must end with the specified value, up to the filename.
Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith MatchRegex Startswith] The path must exactly match the specified value, up to the filename.
Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals Startswith] The path must match the specified regular expression pattern in PCRE format.
Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex] The path must begin with the specified value, up to the filename.
List of (key, value) query parameters.
Query parameter match can be either regex match on value or exact match of value for given key An example for HTTP request with query parameter https://gitlab.com/dashboard/issues?assignee_username=xxyyxx.
object
The name of the query parameter to match.
object
Exclusive with [DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The query parameter value must include the specified value as a substring.
Exclusive with [Contains DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The query parameter value must not include the specified value as a substring.
Exclusive with [Contains DoesNotContain DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex Startswith] The query parameter value must not end with the specified value.
Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotStartWith Endswith Equals MatchRegex Startswith] The query parameter value must not match the specified value.
Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual Endswith Equals MatchRegex Startswith] The query parameter value must not begin with the specified value.
Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Equals MatchRegex Startswith] The query parameter value must end with the specified value.
Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith MatchRegex Startswith] The query parameter value must exactly match the specified value.
Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals Startswith] The query parameter value must match the specified regular expression pattern in PCRE format.
Exclusive with [Contains DoesNotContain DoesNotEndWith DoesNotEqual DoesNotStartWith Endswith Equals MatchRegex] The query parameter value must begin with the specified value.
Name of the Expressions items that are ANDed.
Name of the Cache Rule.
Responses
Section titled “Responses”A successful response.
object
Examplegenerated
{}Returned when operation is not authorized.
Examplegenerated
exampleReturned when there is no permission to access resource.
Examplegenerated
exampleReturned when resource is not found.
Examplegenerated
exampleReturned when operation on resource is conflicting with current value.
Examplegenerated
exampleReturned when operation has been rejected as it is happening too frequently.
Examplegenerated
exampleReturned when server encountered an error in processing API.
Examplegenerated
exampleReturned when service is unavailable temporarily.
Examplegenerated
exampleReturned when server timed out processing request.
Examplegenerated
example