​
Select Service
ves-io-schema-service_policy_rule-API-Replace
Published April 5, 2023 | Last modified September 15, 2026
Examples of replacing service_policy_rule
Usecase:
Replace service-policy-rule-1
Request using vesctl:
vesctl configuration replace service_policy_rule -i service_policy_rule.yaml
where file service_policy_rule.yaml has following contents (service_policy_rule.ReplaceRequest):
RequestJSON:
{ "metadata": { "name": "service-policy-rule-1", "namespace": "documentation" }, "spec": { "action": "ALLOW", "client_name_matcher": { "regex_values": [ ".+\\.ves.io" ] }, "client_role": { "match": "app-user" }, "label_matcher": { "keys": [ "ves.io/appType", "geoip.ves.io/region" ] }, "path": { "exact_values": [ "/register", "/guest-play" ] }, "headers": [ { "name": "Accept-Language", "item": { "exact_values": [ "en-US" ] } }, { "name": "Accept-Encoding", "item": { "exact_values": [ "gzip", "deflate" ] } } ], "any_ip": {}, "any_asn": {}, "waf_action": { "none": {} } }}vesctl yaml response: None
Request using curl:
curl -X 'PUT' -d '{"metadata":{"name":"service-policy-rule-1","namespace":"documentation"},"spec":{"action":"ALLOW","client_name_matcher":{"regex_values":[".+\\.ves.io"]},"client_role":{"match":"app-user"},"label_matcher":{"keys":["ves.io/appType","geoip.ves.io/region"]},"path":{"exact_values":["/register","/guest-play"]},"headers":[{"name":"Accept-Language","item":{"exact_values":["en-US"]}},{"name":"Accept-Encoding","item":{"exact_values":["gzip","deflate"]}}],"any_ip":{},"any_asn":{},"waf_action":{"none":{}}}}' -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/service_policy_rules/service-policy-rule-1'curl response:
HTTP/1.1 200 OKContent-Length: 4Content-Type: application/jsonDate: Fri, 19 Jun 2026 22:04:28 GMTVary: Accept-Encoding
{
}Usecase:
Replace service-policy-rule-2
Request using vesctl:
vesctl configuration replace service_policy_rule -i service_policy_rule.yaml
where file service_policy_rule.yaml has following contents (service_policy_rule.ReplaceRequest):
RequestJSON:
{ "metadata": { "name": "service-policy-rule-2", "namespace": "documentation" }, "spec": { "action": "ALLOW", "client_selector": { "expressions": [ "geoip.ves.io/region in (US-West, US-East), geoip.ves.io.city, geoip.ves.io.city notin (ves-io-sjc, ves-io-ny)" ] }, "client_role": { "match": "app-user" }, "label_matcher": { "keys": [ "ves.io/appType", "geoip.ves.io/region" ] }, "path": { "exact_values": [ "/register", "/guest-play" ] }, "headers": [ { "name": "Accept-Language", "item": { "exact_values": [ "en-US" ] } }, { "name": "Accept-Encoding", "item": { "exact_values": [ "gzip", "deflate" ] } } ], "any_ip": {}, "any_asn": {}, "waf_action": { "none": {} } }}vesctl yaml response: None
Request using curl:
curl -X 'PUT' -d '{"metadata":{"name":"service-policy-rule-2","namespace":"documentation"},"spec":{"action":"ALLOW","client_selector":{"expressions":["geoip.ves.io/region in (US-West, US-East), geoip.ves.io.city, geoip.ves.io.city notin (ves-io-sjc, ves-io-ny)"]},"client_role":{"match":"app-user"},"label_matcher":{"keys":["ves.io/appType","geoip.ves.io/region"]},"path":{"exact_values":["/register","/guest-play"]},"headers":[{"name":"Accept-Language","item":{"exact_values":["en-US"]}},{"name":"Accept-Encoding","item":{"exact_values":["gzip","deflate"]}}],"any_ip":{},"any_asn":{},"waf_action":{"none":{}}}}' -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/service_policy_rules/service-policy-rule-2'curl response:
HTTP/1.1 200 OKContent-Length: 4Content-Type: application/jsonDate: Fri, 19 Jun 2026 22:04:28 GMTVary: Accept-Encoding
{
}