​
Select Service
ves-io-schema-views-rate_limiter_policy-API-Create
Published April 5, 2023 | Last modified July 1, 2026
Examples of creating rate_limiter_policy
Usecase:
Create rate-limiter-policy-1
Request using vesctl:
vesctl configuration create rate_limiter_policy -i rate_limiter_policy.yaml
where file rate_limiter_policy.yaml has following contents (rate_limiter_policy.CreateRequest):
RequestJSON:
{ "metadata": { "name": "rate-limiter-policy-1", "namespace": "documentation" }, "spec": { "server_selector": { "expressions": [ "geoip.ves.io/region in (US-West), deployment in (testing)" ] }, "rules": [ { "metadata": { "name": "rule-1", "description": "description-1" }, "spec": { "bypass_rate_limiter": {}, "path": { "exact_values": [ "/register", "/guest-play" ] } } }, { "metadata": { "name": "rule-2", "description": "description-2" }, "spec": { "bypass_rate_limiter": {}, "path": { "exact_values": [ "/register-v2", "/guest-play-v2" ] }, "headers": [ { "name": "Accept-Language", "item": { "exact_values": [ "en-US" ] } }, { "name": "Accept-Encoding", "item": { "exact_values": [ "gzip", "deflate" ] } } ] } } ] }}vesctl yaml response:
ResponseJSON:
{ "metadata": { "name": "rate-limiter-policy-1", "namespace": "documentation", "labels": {}, "annotations": {}, "description": "", "disable": false }, "system_metadata": { "uid": "0d136b3e-9005-4b7e-8bf5-e279365666f1", "creation_timestamp": "2026-06-19T22:14:02.662738Z", "deletion_timestamp": null, "modification_timestamp": null, "initializers": null, "finalizers": [], "tenant": "acmecorp", "creator_class": "examplesvc", "creator_id": "examplesvc", "object_index": 0, "owner_view": null, "labels": {} }, "spec": { "server_selector": { "expressions": [ "geoip.ves.io/region in (US-West), deployment in (testing)" ] }, "rules": [ { "metadata": { "name": "rule-1", "description": "description-1", "disable": false }, "spec": { "bypass_rate_limiter": {}, "any_ip": {}, "any_asn": {}, "any_country": {}, "http_method": null, "domain_matcher": null, "path": { "prefix_values": [], "exact_values": [ "/register", "/guest-play" ], "regex_values": [], "suffix_values": [], "transformers": [], "invert_matcher": false, "encoded_path_matcher": false }, "headers": [], "segment_policy": null } }, { "metadata": { "name": "rule-2", "description": "description-2", "disable": false }, "spec": { "bypass_rate_limiter": {}, "any_ip": {}, "any_asn": {}, "any_country": {}, "http_method": null, "domain_matcher": null, "path": { "prefix_values": [], "exact_values": [ "/register-v2", "/guest-play-v2" ], "regex_values": [], "suffix_values": [], "transformers": [], "invert_matcher": false, "encoded_path_matcher": false }, "headers": [ { "name": "Accept-Language", "item": { "exact_values": [ "en-US" ], "regex_values": [], "transformers": [] }, "invert_matcher": false }, { "name": "Accept-Encoding", "item": { "exact_values": [ "gzip", "deflate" ], "regex_values": [], "transformers": [] }, "invert_matcher": false } ], "segment_policy": null } } ] }}Request using curl:
curl -X 'POST' -d '{"metadata":{"name":"rate-limiter-policy-1","namespace":"documentation"},"spec":{"server_selector":{"expressions":["geoip.ves.io/region in (US-West), deployment in (testing)"]},"rules":[{"metadata":{"name":"rule-1","description":"description-1"},"spec":{"bypass_rate_limiter":{},"path":{"exact_values":["/register","/guest-play"]}}},{"metadata":{"name":"rule-2","description":"description-2"},"spec":{"bypass_rate_limiter":{},"path":{"exact_values":["/register-v2","/guest-play-v2"]},"headers":[{"name":"Accept-Language","item":{"exact_values":["en-US"]}},{"name":"Accept-Encoding","item":{"exact_values":["gzip","deflate"]}}]}}]}}' -H 'Content-Type: application/json' -H 'X-Volterra-Useragent: v1/pgm=_var_folders_q2_3kp8z3zs0x5_m7pk1bgb0_ph0000gp_T_go-build1655461974_b001_apidocs.test/host=MTY6VVHQPH/svc=S:examplesvc/site=mytestce01' 'https://acmecorp.console.ves.volterra.io/api/config/namespaces/documentation/rate_limiter_policys'curl response:
HTTP/1.1 200 OKContent-Type: application/jsonDate: Fri, 19 Jun 2026 22:14:02 GMTVary: Accept-Encoding
{ "metadata": { "name": "rate-limiter-policy-1", "namespace": "documentation", "labels": { }, "annotations": { }, "description": "", "disable": false }, "system_metadata": { "uid": "0d136b3e-9005-4b7e-8bf5-e279365666f1", "creation_timestamp": "2026-06-19T22:14:02.662738Z", "deletion_timestamp": null, "modification_timestamp": null, "initializers": null, "finalizers": [ ], "tenant": "acmecorp", "creator_class": "examplesvc", "creator_id": "examplesvc", "object_index": 0, "owner_view": null, "labels": { } }, "spec": { "server_selector": { "expressions": [ "geoip.ves.io/region in (US-West), deployment in (testing)" ] }, "rules": [ { "metadata": { "name": "rule-1", "description": "description-1", "disable": false }, "spec": { "bypass_rate_limiter": {
}, "any_ip": {
}, "any_asn": {
}, "any_country": {
}, "http_method": null, "domain_matcher": null, "path": { "prefix_values": [ ], "exact_values": [ "/register", "/guest-play" ], "regex_values": [ ], "suffix_values": [ ], "transformers": [ ], "invert_matcher": false, "encoded_path_matcher": false }, "headers": [ ], "segment_policy": null } }, { "metadata": { "name": "rule-2", "description": "description-2", "disable": false }, "spec": { "bypass_rate_limiter": {
}, "any_ip": {
}, "any_asn": {
}, "any_country": {
}, "http_method": null, "domain_matcher": null, "path": { "prefix_values": [ ], "exact_values": [ "/register-v2", "/guest-play-v2" ], "regex_values": [ ], "suffix_values": [ ], "transformers": [ ], "invert_matcher": false, "encoded_path_matcher": false }, "headers": [ { "name": "Accept-Language", "item": { "exact_values": [ "en-US" ], "regex_values": [ ], "transformers": [ ] }, "invert_matcher": false }, { "name": "Accept-Encoding", "item": { "exact_values": [ "gzip", "deflate" ], "regex_values": [ ], "transformers": [ ] }, "invert_matcher": false } ], "segment_policy": null } } ] }}