UNPKG

@kubernetes-models/istio

Version:
93 lines (92 loc) 3.4 kB
import { IObjectMeta } from "@kubernetes-models/apimachinery/apis/meta/v1/ObjectMeta"; import { Model, ModelData } from "@kubernetes-models/base"; export interface IGateway { /** * Configuration affecting edge load balancer. See more details at: https://istio.io/docs/reference/config/networking/gateway.html */ "spec"?: { "selector"?: { [key: string]: string; }; /** * A list of server specifications. */ "servers"?: Array<{ "bind"?: string; "defaultEndpoint"?: string; /** * One or more hosts exposed by this gateway. */ "hosts"?: Array<string>; /** * An optional name of the server, when set must be unique across all servers. */ "name"?: string; "port"?: { /** * Label assigned to the port. */ "name"?: string; /** * A valid non-negative integer port number. */ "number"?: number; /** * The protocol exposed on the port. */ "protocol"?: string; "targetPort"?: number; }; /** * Set of TLS related options that govern the server's behavior. */ "tls"?: { /** * REQUIRED if mode is `MUTUAL`. */ "caCertificates"?: string; /** * Optional: If specified, only support the specified cipher list. */ "cipherSuites"?: Array<string>; "credentialName"?: string; "httpsRedirect"?: boolean; /** * Optional: Maximum TLS protocol version. */ "maxProtocolVersion"?: "TLS_AUTO" | "TLSV1_0" | "TLSV1_1" | "TLSV1_2" | "TLSV1_3"; /** * Optional: Minimum TLS protocol version. */ "minProtocolVersion"?: "TLS_AUTO" | "TLSV1_0" | "TLSV1_1" | "TLSV1_2" | "TLSV1_3"; "mode"?: "PASSTHROUGH" | "SIMPLE" | "MUTUAL" | "AUTO_PASSTHROUGH" | "ISTIO_MUTUAL"; /** * REQUIRED if mode is `SIMPLE` or `MUTUAL`. */ "privateKey"?: string; /** * REQUIRED if mode is `SIMPLE` or `MUTUAL`. */ "serverCertificate"?: string; "subjectAltNames"?: Array<string>; "verifyCertificateHash"?: Array<string>; "verifyCertificateSpki"?: Array<string>; }; }>; }; "status"?: {}; "apiVersion": "networking.istio.io/v1beta1"; "kind": "Gateway"; "metadata"?: IObjectMeta; } export declare class Gateway extends Model<IGateway> implements IGateway { "spec"?: IGateway["spec"]; "status"?: IGateway["status"]; "apiVersion": IGateway["apiVersion"]; "kind": IGateway["kind"]; "metadata"?: IGateway["metadata"]; static apiVersion: IGateway["apiVersion"]; static kind: IGateway["kind"]; static is: import("@kubernetes-models/base").TypeMetaGuard<IGateway>; constructor(data?: ModelData<IGateway>); }