Files
operator/src/__generated__/resources/K8SVirtualServiceV1alpha3.ts
Morten Olsen 757b2fcfac lot more stuff
2025-08-04 23:44:14 +02:00

569 lines
16 KiB
TypeScript

/* eslint-disable */
/**
* This file was automatically generated by json-schema-to-typescript.
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
* and run json-schema-to-typescript to regenerate this file.
*/
export interface K8SVirtualServiceV1Alpha3 {
/**
* Configuration affecting label/content routing, sni routing, etc. See more details at: https://istio.io/docs/reference/config/networking/virtual-service.html
*/
spec?: {
/**
* A list of namespaces to which this virtual service is exported.
*/
exportTo?: string[];
/**
* The names of gateways and sidecars that should apply these routes.
*/
gateways?: string[];
/**
* The destination hosts to which traffic is being sent.
*/
hosts?: string[];
/**
* An ordered list of route rules for HTTP traffic.
*/
http?: {
/**
* Cross-Origin Resource Sharing policy (CORS).
*/
corsPolicy?: {
/**
* Indicates whether the caller is allowed to send the actual request (not the preflight) using credentials.
*/
allowCredentials?: boolean;
/**
* List of HTTP headers that can be used when requesting the resource.
*/
allowHeaders?: string[];
/**
* List of HTTP methods allowed to access the resource.
*/
allowMethods?: string[];
allowOrigin?: string[];
/**
* String patterns that match allowed origins.
*/
allowOrigins?: {
[k: string]: unknown;
}[];
/**
* A list of HTTP headers that the browsers are allowed to access.
*/
exposeHeaders?: string[];
/**
* Specifies how long the results of a preflight request can be cached.
*/
maxAge?: string;
/**
* Indicates whether preflight requests not matching the configured allowed origin shouldn't be forwarded to the upstream.
*
* Valid Options: FORWARD, IGNORE
*/
unmatchedPreflights?: "UNSPECIFIED" | "FORWARD" | "IGNORE";
};
/**
* Delegate is used to specify the particular VirtualService which can be used to define delegate HTTPRoute.
*/
delegate?: {
/**
* Name specifies the name of the delegate VirtualService.
*/
name?: string;
/**
* Namespace specifies the namespace where the delegate VirtualService resides.
*/
namespace?: string;
};
/**
* A HTTP rule can either return a direct_response, redirect or forward (default) traffic.
*/
directResponse?: {
/**
* Specifies the content of the response body.
*/
body?: {
[k: string]: unknown;
};
/**
* Specifies the HTTP response status to be returned.
*/
status: number;
};
/**
* Fault injection policy to apply on HTTP traffic at the client side.
*/
fault?: {
/**
* Abort Http request attempts and return error codes back to downstream service, giving the impression that the upstream service is faulty.
*/
abort?: {
[k: string]: unknown;
};
/**
* Delay requests before forwarding, emulating various failures such as network issues, overloaded upstream service, etc.
*/
delay?: {
[k: string]: unknown;
};
};
headers?: {
request?: {
add?: {
[k: string]: string;
};
remove?: string[];
set?: {
[k: string]: string;
};
};
response?: {
add?: {
[k: string]: string;
};
remove?: string[];
set?: {
[k: string]: string;
};
};
};
/**
* Match conditions to be satisfied for the rule to be activated.
*/
match?: {
/**
* HTTP Authority values are case-sensitive and formatted as follows: - `exact: "value"` for exact string match - `prefix: "value"` for prefix-based match - `regex: "value"` for [RE2 style regex-based match](https://github.com/google/re2/wiki/Syntax).
*/
authority?: {
[k: string]: unknown;
};
/**
* Names of gateways where the rule should be applied.
*/
gateways?: string[];
/**
* The header keys must be lowercase and use hyphen as the separator, e.g.
*/
headers?: {
[k: string]: {
[k: string]: unknown;
};
};
/**
* Flag to specify whether the URI matching should be case-insensitive.
*/
ignoreUriCase?: boolean;
/**
* HTTP Method values are case-sensitive and formatted as follows: - `exact: "value"` for exact string match - `prefix: "value"` for prefix-based match - `regex: "value"` for [RE2 style regex-based match](https://github.com/google/re2/wiki/Syntax).
*/
method?: {
[k: string]: unknown;
};
/**
* The name assigned to a match.
*/
name?: string;
/**
* Specifies the ports on the host that is being addressed.
*/
port?: number;
/**
* Query parameters for matching.
*/
queryParams?: {
[k: string]: {
[k: string]: unknown;
};
};
/**
* URI Scheme values are case-sensitive and formatted as follows: - `exact: "value"` for exact string match - `prefix: "value"` for prefix-based match - `regex: "value"` for [RE2 style regex-based match](https://github.com/google/re2/wiki/Syntax).
*/
scheme?: {
[k: string]: unknown;
};
/**
* One or more labels that constrain the applicability of a rule to source (client) workloads with the given labels.
*/
sourceLabels?: {
[k: string]: string;
};
/**
* Source namespace constraining the applicability of a rule to workloads in that namespace.
*/
sourceNamespace?: string;
/**
* The human readable prefix to use when emitting statistics for this route.
*/
statPrefix?: string;
/**
* URI to match values are case-sensitive and formatted as follows: - `exact: "value"` for exact string match - `prefix: "value"` for prefix-based match - `regex: "value"` for [RE2 style regex-based match](https://github.com/google/re2/wiki/Syntax).
*/
uri?: {
[k: string]: unknown;
};
/**
* withoutHeader has the same syntax with the header, but has opposite meaning.
*/
withoutHeaders?: {
[k: string]: {
[k: string]: unknown;
};
};
}[];
/**
* Mirror HTTP traffic to a another destination in addition to forwarding the requests to the intended destination.
*/
mirror?: {
/**
* The name of a service from the service registry.
*/
host: string;
/**
* Specifies the port on the host that is being addressed.
*/
port?: {
number?: number;
};
/**
* The name of a subset within the service.
*/
subset?: string;
};
mirrorPercent?: number;
/**
* Percentage of the traffic to be mirrored by the `mirror` field.
*/
mirrorPercentage?: {
value?: number;
};
mirror_percent?: number;
/**
* Specifies the destinations to mirror HTTP traffic in addition to the original destination.
*/
mirrors?: {
/**
* Destination specifies the target of the mirror operation.
*/
destination: {
/**
* The name of a service from the service registry.
*/
host: string;
/**
* Specifies the port on the host that is being addressed.
*/
port?: {
number?: number;
};
/**
* The name of a subset within the service.
*/
subset?: string;
};
/**
* Percentage of the traffic to be mirrored by the `destination` field.
*/
percentage?: {
value?: number;
};
}[];
/**
* The name assigned to the route for debugging purposes.
*/
name?: string;
/**
* A HTTP rule can either return a direct_response, redirect or forward (default) traffic.
*/
redirect?: {
[k: string]: unknown;
};
/**
* Retry policy for HTTP requests.
*/
retries?: {
/**
* Number of retries to be allowed for a given request.
*/
attempts?: number;
/**
* Timeout per attempt for a given request, including the initial call and any retries.
*/
perTryTimeout?: string;
/**
* Specifies the conditions under which retry takes place.
*/
retryOn?: string;
/**
* Flag to specify whether the retries should retry to other localities.
*/
retryRemoteLocalities?: boolean;
};
/**
* Rewrite HTTP URIs and Authority headers.
*/
rewrite?: {
/**
* rewrite the Authority/Host header with this value.
*/
authority?: string;
/**
* rewrite the path (or the prefix) portion of the URI with this value.
*/
uri?: string;
/**
* rewrite the path portion of the URI with the specified regex.
*/
uriRegexRewrite?: {
/**
* [RE2 style regex-based match](https://github.com/google/re2/wiki/Syntax).
*/
match?: string;
/**
* The string that should replace into matching portions of original URI.
*/
rewrite?: string;
};
};
/**
* A HTTP rule can either return a direct_response, redirect or forward (default) traffic.
*/
route?: {
/**
* Destination uniquely identifies the instances of a service to which the request/connection should be forwarded to.
*/
destination: {
/**
* The name of a service from the service registry.
*/
host: string;
/**
* Specifies the port on the host that is being addressed.
*/
port?: {
number?: number;
};
/**
* The name of a subset within the service.
*/
subset?: string;
};
headers?: {
request?: {
add?: {
[k: string]: string;
};
remove?: string[];
set?: {
[k: string]: string;
};
};
response?: {
add?: {
[k: string]: string;
};
remove?: string[];
set?: {
[k: string]: string;
};
};
};
/**
* Weight specifies the relative proportion of traffic to be forwarded to the destination.
*/
weight?: number;
}[];
/**
* Timeout for HTTP requests, default is disabled.
*/
timeout?: string;
}[];
/**
* An ordered list of route rules for opaque TCP traffic.
*/
tcp?: {
/**
* Match conditions to be satisfied for the rule to be activated.
*/
match?: {
/**
* IPv4 or IPv6 ip addresses of destination with optional subnet.
*/
destinationSubnets?: string[];
/**
* Names of gateways where the rule should be applied.
*/
gateways?: string[];
/**
* Specifies the port on the host that is being addressed.
*/
port?: number;
/**
* One or more labels that constrain the applicability of a rule to workloads with the given labels.
*/
sourceLabels?: {
[k: string]: string;
};
/**
* Source namespace constraining the applicability of a rule to workloads in that namespace.
*/
sourceNamespace?: string;
sourceSubnet?: string;
}[];
/**
* The destination to which the connection should be forwarded to.
*/
route?: {
/**
* Destination uniquely identifies the instances of a service to which the request/connection should be forwarded to.
*/
destination: {
/**
* The name of a service from the service registry.
*/
host: string;
/**
* Specifies the port on the host that is being addressed.
*/
port?: {
number?: number;
};
/**
* The name of a subset within the service.
*/
subset?: string;
};
/**
* Weight specifies the relative proportion of traffic to be forwarded to the destination.
*/
weight?: number;
}[];
}[];
/**
* An ordered list of route rule for non-terminated TLS & HTTPS traffic.
*/
tls?: {
/**
* Match conditions to be satisfied for the rule to be activated.
*/
match: {
/**
* IPv4 or IPv6 ip addresses of destination with optional subnet.
*/
destinationSubnets?: string[];
/**
* Names of gateways where the rule should be applied.
*/
gateways?: string[];
/**
* Specifies the port on the host that is being addressed.
*/
port?: number;
/**
* SNI (server name indicator) to match on.
*/
sniHosts: string[];
/**
* One or more labels that constrain the applicability of a rule to workloads with the given labels.
*/
sourceLabels?: {
[k: string]: string;
};
/**
* Source namespace constraining the applicability of a rule to workloads in that namespace.
*/
sourceNamespace?: string;
}[];
/**
* The destination to which the connection should be forwarded to.
*/
route?: {
/**
* Destination uniquely identifies the instances of a service to which the request/connection should be forwarded to.
*/
destination: {
/**
* The name of a service from the service registry.
*/
host: string;
/**
* Specifies the port on the host that is being addressed.
*/
port?: {
number?: number;
};
/**
* The name of a subset within the service.
*/
subset?: string;
};
/**
* Weight specifies the relative proportion of traffic to be forwarded to the destination.
*/
weight?: number;
}[];
}[];
};
status?: {
/**
* Current service state of the resource.
*/
conditions?: {
/**
* Last time we probed the condition.
*/
lastProbeTime?: string;
/**
* Last time the condition transitioned from one status to another.
*/
lastTransitionTime?: string;
/**
* Human-readable message indicating details about last transition.
*/
message?: string;
/**
* Unique, one-word, CamelCase reason for the condition's last transition.
*/
reason?: string;
/**
* Status is the status of the condition.
*/
status?: string;
/**
* Type is the type of the condition.
*/
type?: string;
}[];
/**
* Resource Generation to which the Reconciled Condition refers.
*/
observedGeneration?: number | string;
/**
* Includes any errors or warnings detected by Istio's analyzers.
*/
validationMessages?: {
/**
* A url pointing to the Istio documentation for this specific error type.
*/
documentationUrl?: string;
/**
* Represents how severe a message is.
*
* Valid Options: UNKNOWN, ERROR, WARNING, INFO
*/
level?: "UNKNOWN" | "ERROR" | "WARNING" | "INFO";
type?: {
/**
* A 7 character code matching `^IST[0-9]{4}$` intended to uniquely identify the message type.
*/
code?: string;
/**
* A human-readable name for the message type.
*/
name?: string;
};
}[];
};
}