Type
object

Specification

PropertyTypeDescription
specobject

Configuration affecting label/content routing, sni routing, etc. See more details at: https://istio.io/docs/reference/config/networking/virtual-service.html

statusobject

.spec

Description
Configuration affecting label/content routing, sni routing, etc. See more details at: https://istio.io/docs/reference/config/networking/virtual-service.html
Type
object
PropertyTypeDescription
exportToarray

A list of namespaces to which this virtual service is exported.

gatewaysarray

The names of gateways and sidecars that should apply these routes.

hostsarray

The destination hosts to which traffic is being sent.

httparray

An ordered list of route rules for HTTP traffic.

tcparray

An ordered list of route rules for opaque TCP traffic.

tlsarray

.spec.exportTo

Description
A list of namespaces to which this virtual service is exported.
Type
array

.spec.exportTo[]

Type
string

.spec.gateways

Description
The names of gateways and sidecars that should apply these routes.
Type
array

.spec.gateways[]

Type
string

.spec.hosts

Description
The destination hosts to which traffic is being sent.
Type
array

.spec.hosts[]

Type
string

.spec.http

Description
An ordered list of route rules for HTTP traffic.
Type
array

.spec.http[]

Type
object
PropertyTypeDescription
corsPolicyobject

Cross-Origin Resource Sharing policy (CORS).

delegateobject
directResponseobject

A HTTP rule can either return a direct_response, redirect or forward (default) traffic.

faultobject

Fault injection policy to apply on HTTP traffic at the client side.

headersobject
matcharray
mirrorobject
mirror_percentinteger

Percentage of the traffic to be mirrored by the mirror field.

mirrorPercentinteger

Percentage of the traffic to be mirrored by the mirror field.

mirrorPercentageobject

Percentage of the traffic to be mirrored by the mirror field.

namestring

The name assigned to the route for debugging purposes.

redirectobject

A HTTP rule can either return a direct_response, redirect or forward (default) traffic.

retriesobject

Retry policy for HTTP requests.

rewriteobject

Rewrite HTTP URIs and Authority headers.

routearray

A HTTP rule can either return a direct_response, redirect or forward (default) traffic.

timeoutstring

Timeout for HTTP requests, default is disabled.

.spec.http[].corsPolicy

Description
Cross-Origin Resource Sharing policy (CORS).
Type
object
PropertyTypeDescription
allowCredentialsboolean
allowHeadersarray
allowMethodsarray

List of HTTP methods allowed to access the resource.

allowOriginarray

The list of origins that are allowed to perform CORS requests.

allowOriginsarray

String patterns that match allowed origins.

exposeHeadersarray
maxAgestring

.spec.http[].corsPolicy.allowHeaders

Type
array

.spec.http[].corsPolicy.allowHeaders[]

Type
string

.spec.http[].corsPolicy.allowMethods

Description
List of HTTP methods allowed to access the resource.
Type
array

.spec.http[].corsPolicy.allowMethods[]

Type
string

.spec.http[].corsPolicy.allowOrigin

Description
The list of origins that are allowed to perform CORS requests.
Type
array

.spec.http[].corsPolicy.allowOrigin[]

Type
string

.spec.http[].corsPolicy.allowOrigins

Description
String patterns that match allowed origins.
Type
array

.spec.http[].corsPolicy.allowOrigins[]

Type
object
PropertyTypeDescription
exactstring
prefixstring
regexstring

RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).

.spec.http[].corsPolicy.exposeHeaders

Type
array

.spec.http[].corsPolicy.exposeHeaders[]

Type
string

.spec.http[].delegate

Type
object
PropertyTypeDescription
namestring

Name specifies the name of the delegate VirtualService.

namespacestring

Namespace specifies the namespace where the delegate VirtualService resides.

.spec.http[].directResponse

Description
A HTTP rule can either return a direct_response, redirect or forward (default) traffic.
Type
object
PropertyTypeDescription
bodyobject

Specifies the content of the response body.

statusinteger

Specifies the HTTP response status to be returned.

.spec.http[].directResponse.body

Description
Specifies the content of the response body.
Type
object
PropertyTypeDescription
bytesstring

response body as base64 encoded bytes.

stringstring

.spec.http[].fault

Description
Fault injection policy to apply on HTTP traffic at the client side.
Type
object
PropertyTypeDescription
abortobject
delayobject

.spec.http[].fault.abort

Type
object
PropertyTypeDescription
grpcStatusstring

GRPC status code to use to abort the request.

http2Errorstring
httpStatusinteger

HTTP status code to use to abort the Http request.

percentageobject

Percentage of requests to be aborted with the error code provided.

.spec.http[].fault.abort.percentage

Description
Percentage of requests to be aborted with the error code provided.
Type
object
PropertyTypeDescription
valuenumber

.spec.http[].fault.delay

Type
object
PropertyTypeDescription
exponentialDelaystring
fixedDelaystring

Add a fixed delay before forwarding the request.

percentinteger

Percentage of requests on which the delay will be injected (0-100).

percentageobject

Percentage of requests on which the delay will be injected.

.spec.http[].fault.delay.percentage

Description
Percentage of requests on which the delay will be injected.
Type
object
PropertyTypeDescription
valuenumber

.spec.http[].headers

Type
object
PropertyTypeDescription
requestobject
responseobject

.spec.http[].headers.request

Type
object
PropertyTypeDescription
addobject
removearray
setobject

.spec.http[].headers.request.add

Type
object

.spec.http[].headers.request.remove

Type
array

.spec.http[].headers.request.remove[]

Type
string

.spec.http[].headers.request.set

Type
object

.spec.http[].headers.response

Type
object
PropertyTypeDescription
addobject
removearray
setobject

.spec.http[].headers.response.add

Type
object

.spec.http[].headers.response.remove

Type
array

.spec.http[].headers.response.remove[]

Type
string

.spec.http[].headers.response.set

Type
object

.spec.http[].match

Type
array

.spec.http[].match[]

Type
object
PropertyTypeDescription
authorityobject
gatewaysarray

Names of gateways where the rule should be applied.

headersobject
ignoreUriCaseboolean

Flag to specify whether the URI matching should be case-insensitive.

methodobject
namestring

The name assigned to a match.

portinteger

Specifies the ports on the host that is being addressed.

queryParamsobject

Query parameters for matching.

schemeobject
sourceLabelsobject
sourceNamespacestring

Source namespace constraining the applicability of a rule to workloads in that namespace.

statPrefixstring

The human readable prefix to use when emitting statistics for this route.

uriobject
withoutHeadersobject

withoutHeader has the same syntax with the header, but has opposite meaning.

.spec.http[].match[].authority

Type
object
PropertyTypeDescription
exactstring
prefixstring
regexstring

RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).

.spec.http[].match[].gateways

Description
Names of gateways where the rule should be applied.
Type
array

.spec.http[].match[].gateways[]

Type
string

.spec.http[].match[].headers

Type
object

.spec.http[].match[].method

Type
object
PropertyTypeDescription
exactstring
prefixstring
regexstring

RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).

.spec.http[].match[].queryParams

Description
Query parameters for matching.
Type
object

.spec.http[].match[].scheme

Type
object
PropertyTypeDescription
exactstring
prefixstring
regexstring

RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).

.spec.http[].match[].sourceLabels

Type
object

.spec.http[].match[].uri

Type
object
PropertyTypeDescription
exactstring
prefixstring
regexstring

RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).

.spec.http[].match[].withoutHeaders

Description
withoutHeader has the same syntax with the header, but has opposite meaning.
Type
object

.spec.http[].mirror

Type
object
PropertyTypeDescription
hoststring

The name of a service from the service registry.

portobject

Specifies the port on the host that is being addressed.

subsetstring

The name of a subset within the service.

.spec.http[].mirror.port

Description
Specifies the port on the host that is being addressed.
Type
object
PropertyTypeDescription
numberinteger

.spec.http[].mirrorPercentage

Description
Percentage of the traffic to be mirrored by the `mirror` field.
Type
object
PropertyTypeDescription
valuenumber

.spec.http[].redirect

Description
A HTTP rule can either return a direct_response, redirect or forward (default) traffic.
Type
object
PropertyTypeDescription
authoritystring
derivePortstring
portinteger

On a redirect, overwrite the port portion of the URL with this value.

redirectCodeinteger
schemestring

On a redirect, overwrite the scheme portion of the URL with this value.

uristring

.spec.http[].retries

Description
Retry policy for HTTP requests.
Type
object
PropertyTypeDescription
attemptsinteger

Number of retries to be allowed for a given request.

perTryTimeoutstring

Timeout per attempt for a given request, including the initial call and any retries.

retryOnstring

Specifies the conditions under which retry takes place.

retryRemoteLocalitiesboolean

Flag to specify whether the retries should retry to other localities.

.spec.http[].rewrite

Description
Rewrite HTTP URIs and Authority headers.
Type
object
PropertyTypeDescription
authoritystring

rewrite the Authority/Host header with this value.

uristring

.spec.http[].route

Description
A HTTP rule can either return a direct_response, redirect or forward (default) traffic.
Type
array

.spec.http[].route[]

Type
object
PropertyTypeDescription
destinationobject
headersobject
weightinteger

Weight specifies the relative proportion of traffic to be forwarded to the destination.

.spec.http[].route[].destination

Type
object
PropertyTypeDescription
hoststring

The name of a service from the service registry.

portobject

Specifies the port on the host that is being addressed.

subsetstring

The name of a subset within the service.

.spec.http[].route[].destination.port

Description
Specifies the port on the host that is being addressed.
Type
object
PropertyTypeDescription
numberinteger

.spec.http[].route[].headers

Type
object
PropertyTypeDescription
requestobject
responseobject

.spec.http[].route[].headers.request

Type
object
PropertyTypeDescription
addobject
removearray
setobject

.spec.http[].route[].headers.request.add

Type
object

.spec.http[].route[].headers.request.remove

Type
array

.spec.http[].route[].headers.request.remove[]

Type
string

.spec.http[].route[].headers.request.set

Type
object

.spec.http[].route[].headers.response

Type
object
PropertyTypeDescription
addobject
removearray
setobject

.spec.http[].route[].headers.response.add

Type
object

.spec.http[].route[].headers.response.remove

Type
array

.spec.http[].route[].headers.response.remove[]

Type
string

.spec.http[].route[].headers.response.set

Type
object

.spec.tcp

Description
An ordered list of route rules for opaque TCP traffic.
Type
array

.spec.tcp[]

Type
object
PropertyTypeDescription
matcharray
routearray

The destination to which the connection should be forwarded to.

.spec.tcp[].match

Type
array

.spec.tcp[].match[]

Type
object
PropertyTypeDescription
destinationSubnetsarray

IPv4 or IPv6 ip addresses of destination with optional subnet.

gatewaysarray

Names of gateways where the rule should be applied.

portinteger

Specifies the port on the host that is being addressed.

sourceLabelsobject
sourceNamespacestring

Source namespace constraining the applicability of a rule to workloads in that namespace.

sourceSubnetstring

IPv4 or IPv6 ip address of source with optional subnet.

.spec.tcp[].match[].destinationSubnets

Description
IPv4 or IPv6 ip addresses of destination with optional subnet.
Type
array

.spec.tcp[].match[].destinationSubnets[]

Type
string

.spec.tcp[].match[].gateways

Description
Names of gateways where the rule should be applied.
Type
array

.spec.tcp[].match[].gateways[]

Type
string

.spec.tcp[].match[].sourceLabels

Type
object

.spec.tcp[].route

Description
The destination to which the connection should be forwarded to.
Type
array

.spec.tcp[].route[]

Type
object
PropertyTypeDescription
destinationobject
weightinteger

Weight specifies the relative proportion of traffic to be forwarded to the destination.

.spec.tcp[].route[].destination

Type
object
PropertyTypeDescription
hoststring

The name of a service from the service registry.

portobject

Specifies the port on the host that is being addressed.

subsetstring

The name of a subset within the service.

.spec.tcp[].route[].destination.port

Description
Specifies the port on the host that is being addressed.
Type
object
PropertyTypeDescription
numberinteger

.spec.tls

Type
array

.spec.tls[]

Type
object
PropertyTypeDescription
matcharray
routearray

The destination to which the connection should be forwarded to.

.spec.tls[].match

Type
array

.spec.tls[].match[]

Type
object
PropertyTypeDescription
destinationSubnetsarray

IPv4 or IPv6 ip addresses of destination with optional subnet.

gatewaysarray

Names of gateways where the rule should be applied.

portinteger

Specifies the port on the host that is being addressed.

sniHostsarray

SNI (server name indicator) to match on.

sourceLabelsobject
sourceNamespacestring

Source namespace constraining the applicability of a rule to workloads in that namespace.

.spec.tls[].match[].destinationSubnets

Description
IPv4 or IPv6 ip addresses of destination with optional subnet.
Type
array

.spec.tls[].match[].destinationSubnets[]

Type
string

.spec.tls[].match[].gateways

Description
Names of gateways where the rule should be applied.
Type
array

.spec.tls[].match[].gateways[]

Type
string

.spec.tls[].match[].sniHosts

Description
SNI (server name indicator) to match on.
Type
array

.spec.tls[].match[].sniHosts[]

Type
string

.spec.tls[].match[].sourceLabels

Type
object

.spec.tls[].route

Description
The destination to which the connection should be forwarded to.
Type
array

.spec.tls[].route[]

Type
object
PropertyTypeDescription
destinationobject
weightinteger

Weight specifies the relative proportion of traffic to be forwarded to the destination.

.spec.tls[].route[].destination

Type
object
PropertyTypeDescription
hoststring

The name of a service from the service registry.

portobject

Specifies the port on the host that is being addressed.

subsetstring

The name of a subset within the service.

.spec.tls[].route[].destination.port

Description
Specifies the port on the host that is being addressed.
Type
object
PropertyTypeDescription
numberinteger

.status

Type
object

API Endpoints

The following API endpoints are available:

  • /apis/networking.istio.io/v1alpha3/namespaces/{namespace}/virtualservices
    • DELETE: delete collection of VirtualService
    • GET: list objects of kind VirtualService
    • POST: create a new VirtualService
  • /apis/networking.istio.io/v1alpha3/namespaces/{namespace}/virtualservices/{name}
    • DELETE: delete the specified VirtualService
    • GET: read the specified VirtualService
    • PATCH: partially update the specified VirtualService
    • PUT: replace the specified VirtualService
  • /apis/networking.istio.io/v1alpha3/namespaces/{namespace}/virtualservices/{name}/status
    • GET: read status of the specified VirtualService
    • PATCH: partially update status of the specified VirtualService
    • PUT: replace status of the specified VirtualService

/apis/networking.istio.io/v1alpha3/namespaces/{namespace}/virtualservices

HTTP method
DELETE
Description
delete collection of VirtualService
HTTP responses
HTTP codeResponse body
200 - OKStatus schema
401 - UnauthorizedEmpty
HTTP method
GET
Description
list objects of kind VirtualService
HTTP responses
HTTP codeResponse body
200 - OKVirtualServiceList schema
401 - UnauthorizedEmpty
HTTP method
POST
Description
create a new VirtualService
Query parameters
ParameterTypeDescription
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
Body parameters
ParameterTypeDescription
bodyVirtualService schemaapplication/json formatted
HTTP responses
HTTP codeResponse body
200 - OKVirtualService schema
201 - CreatedVirtualService schema
202 - AcceptedVirtualService schema
401 - UnauthorizedEmpty

/apis/networking.istio.io/v1alpha3/namespaces/{namespace}/virtualservices/{name}

HTTP method
DELETE
Description
delete the specified VirtualService
Query parameters
ParameterTypeDescription
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
HTTP responses
HTTP codeResponse body
200 - OKStatus schema
202 - AcceptedStatus schema
401 - UnauthorizedEmpty
HTTP method
GET
Description
read the specified VirtualService
HTTP responses
HTTP codeResponse body
200 - OKVirtualService schema
401 - UnauthorizedEmpty
HTTP method
PATCH
Description
partially update the specified VirtualService
Query parameters
ParameterTypeDescription
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
HTTP responses
HTTP codeResponse body
200 - OKVirtualService schema
401 - UnauthorizedEmpty
HTTP method
PUT
Description
replace the specified VirtualService
Query parameters
ParameterTypeDescription
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
Body parameters
ParameterTypeDescription
bodyVirtualService schemaapplication/json formatted
HTTP responses
HTTP codeResponse body
200 - OKVirtualService schema
201 - CreatedVirtualService schema
401 - UnauthorizedEmpty

/apis/networking.istio.io/v1alpha3/namespaces/{namespace}/virtualservices/{name}/status

HTTP method
GET
Description
read status of the specified VirtualService
HTTP responses
HTTP codeResponse body
200 - OKVirtualService schema
401 - UnauthorizedEmpty
HTTP method
PATCH
Description
partially update status of the specified VirtualService
Query parameters
ParameterTypeDescription
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
HTTP responses
HTTP codeResponse body
200 - OKVirtualService schema
401 - UnauthorizedEmpty
HTTP method
PUT
Description
replace status of the specified VirtualService
Query parameters
ParameterTypeDescription
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
Body parameters
ParameterTypeDescription
bodyVirtualService schemaapplication/json formatted
HTTP responses
HTTP codeResponse body
200 - OKVirtualService schema
201 - CreatedVirtualService schema
401 - UnauthorizedEmpty