k8ts
Version:
Powerful framework for building Kubernetes manifests in TypeScript.
967 lines • 163 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ReferenceGrant = exports.HttpRouteV1Beta1SpecRulesBackendRefsFiltersUrlRewritePathType = exports.HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectPathType = exports.HttpRouteV1Beta1SpecRulesFiltersUrlRewritePathType = exports.HttpRouteV1Beta1SpecRulesFiltersRequestRedirectPathType = exports.HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectStatusCode = exports.HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectScheme = exports.HttpRouteV1Beta1SpecRulesMatchesQueryParamsType = exports.HttpRouteV1Beta1SpecRulesMatchesPathType = exports.HttpRouteV1Beta1SpecRulesMatchesHeadersType = exports.HttpRouteV1Beta1SpecRulesFiltersRequestRedirectStatusCode = exports.HttpRouteV1Beta1SpecRulesFiltersRequestRedirectScheme = exports.HttpRouteV1Beta1SpecRulesBackendRefsFiltersType = exports.HttpRouteV1Beta1SpecRulesMatchesMethod = exports.HttpRouteV1Beta1SpecRulesFiltersType = exports.HttpRouteV1Beta1 = exports.HttpRouteSpecRulesBackendRefsFiltersUrlRewritePathType = exports.HttpRouteSpecRulesBackendRefsFiltersRequestRedirectPathType = exports.HttpRouteSpecRulesFiltersUrlRewritePathType = exports.HttpRouteSpecRulesFiltersRequestRedirectPathType = exports.HttpRouteSpecRulesBackendRefsFiltersRequestRedirectStatusCode = exports.HttpRouteSpecRulesBackendRefsFiltersRequestRedirectScheme = exports.HttpRouteSpecRulesMatchesQueryParamsType = exports.HttpRouteSpecRulesMatchesPathType = exports.HttpRouteSpecRulesMatchesHeadersType = exports.HttpRouteSpecRulesFiltersRequestRedirectStatusCode = exports.HttpRouteSpecRulesFiltersRequestRedirectScheme = exports.HttpRouteSpecRulesBackendRefsFiltersType = exports.HttpRouteSpecRulesMatchesMethod = exports.HttpRouteSpecRulesFiltersType = exports.HttpRoute = exports.GrpcRouteSpecRulesMatchesMethodType = exports.GrpcRouteSpecRulesMatchesHeadersType = exports.GrpcRouteSpecRulesBackendRefsFiltersType = exports.GrpcRouteSpecRulesFiltersType = exports.GrpcRoute = exports.GatewayClassV1Beta1 = exports.GatewayClass = exports.GatewayV1Beta1SpecListenersAllowedRoutesNamespacesFrom = exports.GatewayV1Beta1SpecListenersTlsMode = exports.GatewayV1Beta1 = exports.GatewaySpecListenersAllowedRoutesNamespacesFrom = exports.GatewaySpecListenersTlsMode = exports.Gateway = void 0;
exports.toJson_GatewayProps = toJson_GatewayProps;
exports.toJson_GatewaySpec = toJson_GatewaySpec;
exports.toJson_GatewaySpecAddresses = toJson_GatewaySpecAddresses;
exports.toJson_GatewaySpecInfrastructure = toJson_GatewaySpecInfrastructure;
exports.toJson_GatewaySpecListeners = toJson_GatewaySpecListeners;
exports.toJson_GatewaySpecInfrastructureParametersRef = toJson_GatewaySpecInfrastructureParametersRef;
exports.toJson_GatewaySpecListenersAllowedRoutes = toJson_GatewaySpecListenersAllowedRoutes;
exports.toJson_GatewaySpecListenersTls = toJson_GatewaySpecListenersTls;
exports.toJson_GatewaySpecListenersAllowedRoutesKinds = toJson_GatewaySpecListenersAllowedRoutesKinds;
exports.toJson_GatewaySpecListenersAllowedRoutesNamespaces = toJson_GatewaySpecListenersAllowedRoutesNamespaces;
exports.toJson_GatewaySpecListenersTlsCertificateRefs = toJson_GatewaySpecListenersTlsCertificateRefs;
exports.toJson_GatewaySpecListenersAllowedRoutesNamespacesSelector = toJson_GatewaySpecListenersAllowedRoutesNamespacesSelector;
exports.toJson_GatewaySpecListenersAllowedRoutesNamespacesSelectorMatchExpressions = toJson_GatewaySpecListenersAllowedRoutesNamespacesSelectorMatchExpressions;
exports.toJson_GatewayV1Beta1Props = toJson_GatewayV1Beta1Props;
exports.toJson_GatewayV1Beta1Spec = toJson_GatewayV1Beta1Spec;
exports.toJson_GatewayV1Beta1SpecAddresses = toJson_GatewayV1Beta1SpecAddresses;
exports.toJson_GatewayV1Beta1SpecInfrastructure = toJson_GatewayV1Beta1SpecInfrastructure;
exports.toJson_GatewayV1Beta1SpecListeners = toJson_GatewayV1Beta1SpecListeners;
exports.toJson_GatewayV1Beta1SpecInfrastructureParametersRef = toJson_GatewayV1Beta1SpecInfrastructureParametersRef;
exports.toJson_GatewayV1Beta1SpecListenersAllowedRoutes = toJson_GatewayV1Beta1SpecListenersAllowedRoutes;
exports.toJson_GatewayV1Beta1SpecListenersTls = toJson_GatewayV1Beta1SpecListenersTls;
exports.toJson_GatewayV1Beta1SpecListenersAllowedRoutesKinds = toJson_GatewayV1Beta1SpecListenersAllowedRoutesKinds;
exports.toJson_GatewayV1Beta1SpecListenersAllowedRoutesNamespaces = toJson_GatewayV1Beta1SpecListenersAllowedRoutesNamespaces;
exports.toJson_GatewayV1Beta1SpecListenersTlsCertificateRefs = toJson_GatewayV1Beta1SpecListenersTlsCertificateRefs;
exports.toJson_GatewayV1Beta1SpecListenersAllowedRoutesNamespacesSelector = toJson_GatewayV1Beta1SpecListenersAllowedRoutesNamespacesSelector;
exports.toJson_GatewayV1Beta1SpecListenersAllowedRoutesNamespacesSelectorMatchExpressions = toJson_GatewayV1Beta1SpecListenersAllowedRoutesNamespacesSelectorMatchExpressions;
exports.toJson_GatewayClassProps = toJson_GatewayClassProps;
exports.toJson_GatewayClassSpec = toJson_GatewayClassSpec;
exports.toJson_GatewayClassSpecParametersRef = toJson_GatewayClassSpecParametersRef;
exports.toJson_GatewayClassV1Beta1Props = toJson_GatewayClassV1Beta1Props;
exports.toJson_GatewayClassV1Beta1Spec = toJson_GatewayClassV1Beta1Spec;
exports.toJson_GatewayClassV1Beta1SpecParametersRef = toJson_GatewayClassV1Beta1SpecParametersRef;
exports.toJson_GrpcRouteProps = toJson_GrpcRouteProps;
exports.toJson_GrpcRouteSpec = toJson_GrpcRouteSpec;
exports.toJson_GrpcRouteSpecParentRefs = toJson_GrpcRouteSpecParentRefs;
exports.toJson_GrpcRouteSpecRules = toJson_GrpcRouteSpecRules;
exports.toJson_GrpcRouteSpecRulesBackendRefs = toJson_GrpcRouteSpecRulesBackendRefs;
exports.toJson_GrpcRouteSpecRulesFilters = toJson_GrpcRouteSpecRulesFilters;
exports.toJson_GrpcRouteSpecRulesMatches = toJson_GrpcRouteSpecRulesMatches;
exports.toJson_GrpcRouteSpecRulesBackendRefsFilters = toJson_GrpcRouteSpecRulesBackendRefsFilters;
exports.toJson_GrpcRouteSpecRulesFiltersExtensionRef = toJson_GrpcRouteSpecRulesFiltersExtensionRef;
exports.toJson_GrpcRouteSpecRulesFiltersRequestHeaderModifier = toJson_GrpcRouteSpecRulesFiltersRequestHeaderModifier;
exports.toJson_GrpcRouteSpecRulesFiltersRequestMirror = toJson_GrpcRouteSpecRulesFiltersRequestMirror;
exports.toJson_GrpcRouteSpecRulesFiltersResponseHeaderModifier = toJson_GrpcRouteSpecRulesFiltersResponseHeaderModifier;
exports.toJson_GrpcRouteSpecRulesMatchesHeaders = toJson_GrpcRouteSpecRulesMatchesHeaders;
exports.toJson_GrpcRouteSpecRulesMatchesMethod = toJson_GrpcRouteSpecRulesMatchesMethod;
exports.toJson_GrpcRouteSpecRulesBackendRefsFiltersExtensionRef = toJson_GrpcRouteSpecRulesBackendRefsFiltersExtensionRef;
exports.toJson_GrpcRouteSpecRulesBackendRefsFiltersRequestHeaderModifier = toJson_GrpcRouteSpecRulesBackendRefsFiltersRequestHeaderModifier;
exports.toJson_GrpcRouteSpecRulesBackendRefsFiltersRequestMirror = toJson_GrpcRouteSpecRulesBackendRefsFiltersRequestMirror;
exports.toJson_GrpcRouteSpecRulesBackendRefsFiltersResponseHeaderModifier = toJson_GrpcRouteSpecRulesBackendRefsFiltersResponseHeaderModifier;
exports.toJson_GrpcRouteSpecRulesFiltersRequestHeaderModifierAdd = toJson_GrpcRouteSpecRulesFiltersRequestHeaderModifierAdd;
exports.toJson_GrpcRouteSpecRulesFiltersRequestHeaderModifierSet = toJson_GrpcRouteSpecRulesFiltersRequestHeaderModifierSet;
exports.toJson_GrpcRouteSpecRulesFiltersRequestMirrorBackendRef = toJson_GrpcRouteSpecRulesFiltersRequestMirrorBackendRef;
exports.toJson_GrpcRouteSpecRulesFiltersResponseHeaderModifierAdd = toJson_GrpcRouteSpecRulesFiltersResponseHeaderModifierAdd;
exports.toJson_GrpcRouteSpecRulesFiltersResponseHeaderModifierSet = toJson_GrpcRouteSpecRulesFiltersResponseHeaderModifierSet;
exports.toJson_GrpcRouteSpecRulesBackendRefsFiltersRequestHeaderModifierAdd = toJson_GrpcRouteSpecRulesBackendRefsFiltersRequestHeaderModifierAdd;
exports.toJson_GrpcRouteSpecRulesBackendRefsFiltersRequestHeaderModifierSet = toJson_GrpcRouteSpecRulesBackendRefsFiltersRequestHeaderModifierSet;
exports.toJson_GrpcRouteSpecRulesBackendRefsFiltersRequestMirrorBackendRef = toJson_GrpcRouteSpecRulesBackendRefsFiltersRequestMirrorBackendRef;
exports.toJson_GrpcRouteSpecRulesBackendRefsFiltersResponseHeaderModifierAdd = toJson_GrpcRouteSpecRulesBackendRefsFiltersResponseHeaderModifierAdd;
exports.toJson_GrpcRouteSpecRulesBackendRefsFiltersResponseHeaderModifierSet = toJson_GrpcRouteSpecRulesBackendRefsFiltersResponseHeaderModifierSet;
exports.toJson_HttpRouteProps = toJson_HttpRouteProps;
exports.toJson_HttpRouteSpec = toJson_HttpRouteSpec;
exports.toJson_HttpRouteSpecParentRefs = toJson_HttpRouteSpecParentRefs;
exports.toJson_HttpRouteSpecRules = toJson_HttpRouteSpecRules;
exports.toJson_HttpRouteSpecRulesBackendRefs = toJson_HttpRouteSpecRulesBackendRefs;
exports.toJson_HttpRouteSpecRulesFilters = toJson_HttpRouteSpecRulesFilters;
exports.toJson_HttpRouteSpecRulesMatches = toJson_HttpRouteSpecRulesMatches;
exports.toJson_HttpRouteSpecRulesTimeouts = toJson_HttpRouteSpecRulesTimeouts;
exports.toJson_HttpRouteSpecRulesBackendRefsFilters = toJson_HttpRouteSpecRulesBackendRefsFilters;
exports.toJson_HttpRouteSpecRulesFiltersExtensionRef = toJson_HttpRouteSpecRulesFiltersExtensionRef;
exports.toJson_HttpRouteSpecRulesFiltersRequestHeaderModifier = toJson_HttpRouteSpecRulesFiltersRequestHeaderModifier;
exports.toJson_HttpRouteSpecRulesFiltersRequestMirror = toJson_HttpRouteSpecRulesFiltersRequestMirror;
exports.toJson_HttpRouteSpecRulesFiltersRequestRedirect = toJson_HttpRouteSpecRulesFiltersRequestRedirect;
exports.toJson_HttpRouteSpecRulesFiltersResponseHeaderModifier = toJson_HttpRouteSpecRulesFiltersResponseHeaderModifier;
exports.toJson_HttpRouteSpecRulesFiltersUrlRewrite = toJson_HttpRouteSpecRulesFiltersUrlRewrite;
exports.toJson_HttpRouteSpecRulesMatchesHeaders = toJson_HttpRouteSpecRulesMatchesHeaders;
exports.toJson_HttpRouteSpecRulesMatchesPath = toJson_HttpRouteSpecRulesMatchesPath;
exports.toJson_HttpRouteSpecRulesMatchesQueryParams = toJson_HttpRouteSpecRulesMatchesQueryParams;
exports.toJson_HttpRouteSpecRulesBackendRefsFiltersExtensionRef = toJson_HttpRouteSpecRulesBackendRefsFiltersExtensionRef;
exports.toJson_HttpRouteSpecRulesBackendRefsFiltersRequestHeaderModifier = toJson_HttpRouteSpecRulesBackendRefsFiltersRequestHeaderModifier;
exports.toJson_HttpRouteSpecRulesBackendRefsFiltersRequestMirror = toJson_HttpRouteSpecRulesBackendRefsFiltersRequestMirror;
exports.toJson_HttpRouteSpecRulesBackendRefsFiltersRequestRedirect = toJson_HttpRouteSpecRulesBackendRefsFiltersRequestRedirect;
exports.toJson_HttpRouteSpecRulesBackendRefsFiltersResponseHeaderModifier = toJson_HttpRouteSpecRulesBackendRefsFiltersResponseHeaderModifier;
exports.toJson_HttpRouteSpecRulesBackendRefsFiltersUrlRewrite = toJson_HttpRouteSpecRulesBackendRefsFiltersUrlRewrite;
exports.toJson_HttpRouteSpecRulesFiltersRequestHeaderModifierAdd = toJson_HttpRouteSpecRulesFiltersRequestHeaderModifierAdd;
exports.toJson_HttpRouteSpecRulesFiltersRequestHeaderModifierSet = toJson_HttpRouteSpecRulesFiltersRequestHeaderModifierSet;
exports.toJson_HttpRouteSpecRulesFiltersRequestMirrorBackendRef = toJson_HttpRouteSpecRulesFiltersRequestMirrorBackendRef;
exports.toJson_HttpRouteSpecRulesFiltersRequestRedirectPath = toJson_HttpRouteSpecRulesFiltersRequestRedirectPath;
exports.toJson_HttpRouteSpecRulesFiltersResponseHeaderModifierAdd = toJson_HttpRouteSpecRulesFiltersResponseHeaderModifierAdd;
exports.toJson_HttpRouteSpecRulesFiltersResponseHeaderModifierSet = toJson_HttpRouteSpecRulesFiltersResponseHeaderModifierSet;
exports.toJson_HttpRouteSpecRulesFiltersUrlRewritePath = toJson_HttpRouteSpecRulesFiltersUrlRewritePath;
exports.toJson_HttpRouteSpecRulesBackendRefsFiltersRequestHeaderModifierAdd = toJson_HttpRouteSpecRulesBackendRefsFiltersRequestHeaderModifierAdd;
exports.toJson_HttpRouteSpecRulesBackendRefsFiltersRequestHeaderModifierSet = toJson_HttpRouteSpecRulesBackendRefsFiltersRequestHeaderModifierSet;
exports.toJson_HttpRouteSpecRulesBackendRefsFiltersRequestMirrorBackendRef = toJson_HttpRouteSpecRulesBackendRefsFiltersRequestMirrorBackendRef;
exports.toJson_HttpRouteSpecRulesBackendRefsFiltersRequestRedirectPath = toJson_HttpRouteSpecRulesBackendRefsFiltersRequestRedirectPath;
exports.toJson_HttpRouteSpecRulesBackendRefsFiltersResponseHeaderModifierAdd = toJson_HttpRouteSpecRulesBackendRefsFiltersResponseHeaderModifierAdd;
exports.toJson_HttpRouteSpecRulesBackendRefsFiltersResponseHeaderModifierSet = toJson_HttpRouteSpecRulesBackendRefsFiltersResponseHeaderModifierSet;
exports.toJson_HttpRouteSpecRulesBackendRefsFiltersUrlRewritePath = toJson_HttpRouteSpecRulesBackendRefsFiltersUrlRewritePath;
exports.toJson_HttpRouteV1Beta1Props = toJson_HttpRouteV1Beta1Props;
exports.toJson_HttpRouteV1Beta1Spec = toJson_HttpRouteV1Beta1Spec;
exports.toJson_HttpRouteV1Beta1SpecParentRefs = toJson_HttpRouteV1Beta1SpecParentRefs;
exports.toJson_HttpRouteV1Beta1SpecRules = toJson_HttpRouteV1Beta1SpecRules;
exports.toJson_HttpRouteV1Beta1SpecRulesBackendRefs = toJson_HttpRouteV1Beta1SpecRulesBackendRefs;
exports.toJson_HttpRouteV1Beta1SpecRulesFilters = toJson_HttpRouteV1Beta1SpecRulesFilters;
exports.toJson_HttpRouteV1Beta1SpecRulesMatches = toJson_HttpRouteV1Beta1SpecRulesMatches;
exports.toJson_HttpRouteV1Beta1SpecRulesTimeouts = toJson_HttpRouteV1Beta1SpecRulesTimeouts;
exports.toJson_HttpRouteV1Beta1SpecRulesBackendRefsFilters = toJson_HttpRouteV1Beta1SpecRulesBackendRefsFilters;
exports.toJson_HttpRouteV1Beta1SpecRulesFiltersExtensionRef = toJson_HttpRouteV1Beta1SpecRulesFiltersExtensionRef;
exports.toJson_HttpRouteV1Beta1SpecRulesFiltersRequestHeaderModifier = toJson_HttpRouteV1Beta1SpecRulesFiltersRequestHeaderModifier;
exports.toJson_HttpRouteV1Beta1SpecRulesFiltersRequestMirror = toJson_HttpRouteV1Beta1SpecRulesFiltersRequestMirror;
exports.toJson_HttpRouteV1Beta1SpecRulesFiltersRequestRedirect = toJson_HttpRouteV1Beta1SpecRulesFiltersRequestRedirect;
exports.toJson_HttpRouteV1Beta1SpecRulesFiltersResponseHeaderModifier = toJson_HttpRouteV1Beta1SpecRulesFiltersResponseHeaderModifier;
exports.toJson_HttpRouteV1Beta1SpecRulesFiltersUrlRewrite = toJson_HttpRouteV1Beta1SpecRulesFiltersUrlRewrite;
exports.toJson_HttpRouteV1Beta1SpecRulesMatchesHeaders = toJson_HttpRouteV1Beta1SpecRulesMatchesHeaders;
exports.toJson_HttpRouteV1Beta1SpecRulesMatchesPath = toJson_HttpRouteV1Beta1SpecRulesMatchesPath;
exports.toJson_HttpRouteV1Beta1SpecRulesMatchesQueryParams = toJson_HttpRouteV1Beta1SpecRulesMatchesQueryParams;
exports.toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersExtensionRef = toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersExtensionRef;
exports.toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestHeaderModifier = toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestHeaderModifier;
exports.toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestMirror = toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestMirror;
exports.toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirect = toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirect;
exports.toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersResponseHeaderModifier = toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersResponseHeaderModifier;
exports.toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersUrlRewrite = toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersUrlRewrite;
exports.toJson_HttpRouteV1Beta1SpecRulesFiltersRequestHeaderModifierAdd = toJson_HttpRouteV1Beta1SpecRulesFiltersRequestHeaderModifierAdd;
exports.toJson_HttpRouteV1Beta1SpecRulesFiltersRequestHeaderModifierSet = toJson_HttpRouteV1Beta1SpecRulesFiltersRequestHeaderModifierSet;
exports.toJson_HttpRouteV1Beta1SpecRulesFiltersRequestMirrorBackendRef = toJson_HttpRouteV1Beta1SpecRulesFiltersRequestMirrorBackendRef;
exports.toJson_HttpRouteV1Beta1SpecRulesFiltersRequestRedirectPath = toJson_HttpRouteV1Beta1SpecRulesFiltersRequestRedirectPath;
exports.toJson_HttpRouteV1Beta1SpecRulesFiltersResponseHeaderModifierAdd = toJson_HttpRouteV1Beta1SpecRulesFiltersResponseHeaderModifierAdd;
exports.toJson_HttpRouteV1Beta1SpecRulesFiltersResponseHeaderModifierSet = toJson_HttpRouteV1Beta1SpecRulesFiltersResponseHeaderModifierSet;
exports.toJson_HttpRouteV1Beta1SpecRulesFiltersUrlRewritePath = toJson_HttpRouteV1Beta1SpecRulesFiltersUrlRewritePath;
exports.toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestHeaderModifierAdd = toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestHeaderModifierAdd;
exports.toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestHeaderModifierSet = toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestHeaderModifierSet;
exports.toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestMirrorBackendRef = toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestMirrorBackendRef;
exports.toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectPath = toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectPath;
exports.toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersResponseHeaderModifierAdd = toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersResponseHeaderModifierAdd;
exports.toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersResponseHeaderModifierSet = toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersResponseHeaderModifierSet;
exports.toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersUrlRewritePath = toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersUrlRewritePath;
exports.toJson_ReferenceGrantProps = toJson_ReferenceGrantProps;
exports.toJson_ReferenceGrantSpec = toJson_ReferenceGrantSpec;
exports.toJson_ReferenceGrantSpecFrom = toJson_ReferenceGrantSpecFrom;
exports.toJson_ReferenceGrantSpecTo = toJson_ReferenceGrantSpecTo;
// generated by cdk8s
const cdk8s_1 = require("cdk8s");
/**
* Gateway represents an instance of a service-traffic handling infrastructure by binding Listeners
* to a set of IP addresses.
*
* @schema Gateway
*/
class Gateway extends cdk8s_1.ApiObject {
/**
* Renders a Kubernetes manifest for "Gateway".
*
* This can be used to inline resource manifests inside other objects (e.g. as templates).
*
* @param props Initialization props
*/
static manifest(props) {
return {
...Gateway.GVK,
...toJson_GatewayProps(props)
};
}
/**
* Defines a "Gateway" API object
*
* @param scope The scope in which to define this object
* @param id A scope-local name for the object
* @param props Initialization props
*/
constructor(scope, id, props) {
super(scope, id, {
...Gateway.GVK,
...props
});
}
/** Renders the object to Kubernetes JSON. */
toJson() {
const resolved = super.toJson();
return {
...Gateway.GVK,
...toJson_GatewayProps(resolved)
};
}
}
exports.Gateway = Gateway;
/** Returns the apiVersion and kind for "Gateway" */
Gateway.GVK = {
apiVersion: "gateway.networking.k8s.io/v1",
kind: "Gateway"
};
/** Converts an object of type 'GatewayProps' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_GatewayProps(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
metadata: obj.metadata,
spec: toJson_GatewaySpec(obj.spec)
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'GatewaySpec' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_GatewaySpec(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
addresses: obj.addresses?.map(y => toJson_GatewaySpecAddresses(y)),
gatewayClassName: obj.gatewayClassName,
infrastructure: toJson_GatewaySpecInfrastructure(obj.infrastructure),
listeners: obj.listeners?.map(y => toJson_GatewaySpecListeners(y))
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'GatewaySpecAddresses' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_GatewaySpecAddresses(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
type: obj.type,
value: obj.value
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'GatewaySpecInfrastructure' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_GatewaySpecInfrastructure(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
annotations: obj.annotations === undefined
? undefined
: Object.entries(obj.annotations).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {}),
labels: obj.labels === undefined
? undefined
: Object.entries(obj.labels).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {}),
parametersRef: toJson_GatewaySpecInfrastructureParametersRef(obj.parametersRef)
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'GatewaySpecListeners' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_GatewaySpecListeners(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
allowedRoutes: toJson_GatewaySpecListenersAllowedRoutes(obj.allowedRoutes),
hostname: obj.hostname,
name: obj.name,
port: obj.port,
protocol: obj.protocol,
tls: toJson_GatewaySpecListenersTls(obj.tls)
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'GatewaySpecInfrastructureParametersRef' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_GatewaySpecInfrastructureParametersRef(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
group: obj.group,
kind: obj.kind,
name: obj.name
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'GatewaySpecListenersAllowedRoutes' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_GatewaySpecListenersAllowedRoutes(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
kinds: obj.kinds?.map(y => toJson_GatewaySpecListenersAllowedRoutesKinds(y)),
namespaces: toJson_GatewaySpecListenersAllowedRoutesNamespaces(obj.namespaces)
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'GatewaySpecListenersTls' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_GatewaySpecListenersTls(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
certificateRefs: obj.certificateRefs?.map(y => toJson_GatewaySpecListenersTlsCertificateRefs(y)),
mode: obj.mode,
options: obj.options === undefined
? undefined
: Object.entries(obj.options).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {})
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'GatewaySpecListenersAllowedRoutesKinds' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_GatewaySpecListenersAllowedRoutesKinds(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
group: obj.group,
kind: obj.kind
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'GatewaySpecListenersAllowedRoutesNamespaces' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_GatewaySpecListenersAllowedRoutesNamespaces(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
from: obj.from,
selector: toJson_GatewaySpecListenersAllowedRoutesNamespacesSelector(obj.selector)
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'GatewaySpecListenersTlsCertificateRefs' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_GatewaySpecListenersTlsCertificateRefs(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
group: obj.group,
kind: obj.kind,
name: obj.name,
namespace: obj.namespace
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/* eslint-enable max-len, quote-props */
/**
* Mode defines the TLS behavior for the TLS session initiated by the client. There are two possible
* modes:
*
* - Terminate: The TLS session between the downstream client and the Gateway is terminated at the
* Gateway. This mode requires certificates to be specified in some way, such as populating the
* certificateRefs field.
* - Passthrough: The TLS session is NOT terminated by the Gateway. This implies that the Gateway
* can't decipher the TLS stream except for the ClientHello message of the TLS protocol. The
* certificateRefs field is ignored in this mode.
*
* Support: Core
*
* @schema GatewaySpecListenersTlsMode
*/
var GatewaySpecListenersTlsMode;
(function (GatewaySpecListenersTlsMode) {
/** Terminate */
GatewaySpecListenersTlsMode["TERMINATE"] = "Terminate";
/** Passthrough */
GatewaySpecListenersTlsMode["PASSTHROUGH"] = "Passthrough";
})(GatewaySpecListenersTlsMode || (exports.GatewaySpecListenersTlsMode = GatewaySpecListenersTlsMode = {}));
/**
* From indicates where Routes will be selected for this Gateway. Possible values are:
*
* - All: Routes in all namespaces may be used by this Gateway.
* - Selector: Routes in namespaces selected by the selector may be used by this Gateway.
* - Same: Only Routes in the same namespace may be used by this Gateway.
*
* Support: Core
*
* @schema GatewaySpecListenersAllowedRoutesNamespacesFrom
*/
var GatewaySpecListenersAllowedRoutesNamespacesFrom;
(function (GatewaySpecListenersAllowedRoutesNamespacesFrom) {
/** All */
GatewaySpecListenersAllowedRoutesNamespacesFrom["ALL"] = "All";
/** Selector */
GatewaySpecListenersAllowedRoutesNamespacesFrom["SELECTOR"] = "Selector";
/** Same */
GatewaySpecListenersAllowedRoutesNamespacesFrom["SAME"] = "Same";
})(GatewaySpecListenersAllowedRoutesNamespacesFrom || (exports.GatewaySpecListenersAllowedRoutesNamespacesFrom = GatewaySpecListenersAllowedRoutesNamespacesFrom = {}));
/**
* Converts an object of type 'GatewaySpecListenersAllowedRoutesNamespacesSelector' to JSON
* representation.
*/
/* eslint-disable max-len, quote-props */
function toJson_GatewaySpecListenersAllowedRoutesNamespacesSelector(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
matchExpressions: obj.matchExpressions?.map(y => toJson_GatewaySpecListenersAllowedRoutesNamespacesSelectorMatchExpressions(y)),
matchLabels: obj.matchLabels === undefined
? undefined
: Object.entries(obj.matchLabels).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {})
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
* Converts an object of type 'GatewaySpecListenersAllowedRoutesNamespacesSelectorMatchExpressions'
* to JSON representation.
*/
/* eslint-disable max-len, quote-props */
function toJson_GatewaySpecListenersAllowedRoutesNamespacesSelectorMatchExpressions(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
key: obj.key,
operator: obj.operator,
values: obj.values?.map(y => y)
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/* eslint-enable max-len, quote-props */
/**
* Gateway represents an instance of a service-traffic handling infrastructure by binding Listeners
* to a set of IP addresses.
*
* @schema GatewayV1Beta1
*/
class GatewayV1Beta1 extends cdk8s_1.ApiObject {
/**
* Renders a Kubernetes manifest for "GatewayV1Beta1".
*
* This can be used to inline resource manifests inside other objects (e.g. as templates).
*
* @param props Initialization props
*/
static manifest(props) {
return {
...GatewayV1Beta1.GVK,
...toJson_GatewayV1Beta1Props(props)
};
}
/**
* Defines a "GatewayV1Beta1" API object
*
* @param scope The scope in which to define this object
* @param id A scope-local name for the object
* @param props Initialization props
*/
constructor(scope, id, props) {
super(scope, id, {
...GatewayV1Beta1.GVK,
...props
});
}
/** Renders the object to Kubernetes JSON. */
toJson() {
const resolved = super.toJson();
return {
...GatewayV1Beta1.GVK,
...toJson_GatewayV1Beta1Props(resolved)
};
}
}
exports.GatewayV1Beta1 = GatewayV1Beta1;
/** Returns the apiVersion and kind for "GatewayV1Beta1" */
GatewayV1Beta1.GVK = {
apiVersion: "gateway.networking.k8s.io/v1beta1",
kind: "Gateway"
};
/** Converts an object of type 'GatewayV1Beta1Props' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_GatewayV1Beta1Props(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
metadata: obj.metadata,
spec: toJson_GatewayV1Beta1Spec(obj.spec)
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'GatewayV1Beta1Spec' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_GatewayV1Beta1Spec(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
addresses: obj.addresses?.map(y => toJson_GatewayV1Beta1SpecAddresses(y)),
gatewayClassName: obj.gatewayClassName,
infrastructure: toJson_GatewayV1Beta1SpecInfrastructure(obj.infrastructure),
listeners: obj.listeners?.map(y => toJson_GatewayV1Beta1SpecListeners(y))
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'GatewayV1Beta1SpecAddresses' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_GatewayV1Beta1SpecAddresses(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
type: obj.type,
value: obj.value
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'GatewayV1Beta1SpecInfrastructure' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_GatewayV1Beta1SpecInfrastructure(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
annotations: obj.annotations === undefined
? undefined
: Object.entries(obj.annotations).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {}),
labels: obj.labels === undefined
? undefined
: Object.entries(obj.labels).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {}),
parametersRef: toJson_GatewayV1Beta1SpecInfrastructureParametersRef(obj.parametersRef)
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'GatewayV1Beta1SpecListeners' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_GatewayV1Beta1SpecListeners(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
allowedRoutes: toJson_GatewayV1Beta1SpecListenersAllowedRoutes(obj.allowedRoutes),
hostname: obj.hostname,
name: obj.name,
port: obj.port,
protocol: obj.protocol,
tls: toJson_GatewayV1Beta1SpecListenersTls(obj.tls)
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
* Converts an object of type 'GatewayV1Beta1SpecInfrastructureParametersRef' to JSON
* representation.
*/
/* eslint-disable max-len, quote-props */
function toJson_GatewayV1Beta1SpecInfrastructureParametersRef(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
group: obj.group,
kind: obj.kind,
name: obj.name
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'GatewayV1Beta1SpecListenersAllowedRoutes' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_GatewayV1Beta1SpecListenersAllowedRoutes(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
kinds: obj.kinds?.map(y => toJson_GatewayV1Beta1SpecListenersAllowedRoutesKinds(y)),
namespaces: toJson_GatewayV1Beta1SpecListenersAllowedRoutesNamespaces(obj.namespaces)
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'GatewayV1Beta1SpecListenersTls' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_GatewayV1Beta1SpecListenersTls(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
certificateRefs: obj.certificateRefs?.map(y => toJson_GatewayV1Beta1SpecListenersTlsCertificateRefs(y)),
mode: obj.mode,
options: obj.options === undefined
? undefined
: Object.entries(obj.options).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {})
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
* Converts an object of type 'GatewayV1Beta1SpecListenersAllowedRoutesKinds' to JSON
* representation.
*/
/* eslint-disable max-len, quote-props */
function toJson_GatewayV1Beta1SpecListenersAllowedRoutesKinds(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
group: obj.group,
kind: obj.kind
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
* Converts an object of type 'GatewayV1Beta1SpecListenersAllowedRoutesNamespaces' to JSON
* representation.
*/
/* eslint-disable max-len, quote-props */
function toJson_GatewayV1Beta1SpecListenersAllowedRoutesNamespaces(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
from: obj.from,
selector: toJson_GatewayV1Beta1SpecListenersAllowedRoutesNamespacesSelector(obj.selector)
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
* Converts an object of type 'GatewayV1Beta1SpecListenersTlsCertificateRefs' to JSON
* representation.
*/
/* eslint-disable max-len, quote-props */
function toJson_GatewayV1Beta1SpecListenersTlsCertificateRefs(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
group: obj.group,
kind: obj.kind,
name: obj.name,
namespace: obj.namespace
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/* eslint-enable max-len, quote-props */
/**
* Mode defines the TLS behavior for the TLS session initiated by the client. There are two possible
* modes:
*
* - Terminate: The TLS session between the downstream client and the Gateway is terminated at the
* Gateway. This mode requires certificates to be specified in some way, such as populating the
* certificateRefs field.
* - Passthrough: The TLS session is NOT terminated by the Gateway. This implies that the Gateway
* can't decipher the TLS stream except for the ClientHello message of the TLS protocol. The
* certificateRefs field is ignored in this mode.
*
* Support: Core
*
* @schema GatewayV1Beta1SpecListenersTlsMode
*/
var GatewayV1Beta1SpecListenersTlsMode;
(function (GatewayV1Beta1SpecListenersTlsMode) {
/** Terminate */
GatewayV1Beta1SpecListenersTlsMode["TERMINATE"] = "Terminate";
/** Passthrough */
GatewayV1Beta1SpecListenersTlsMode["PASSTHROUGH"] = "Passthrough";
})(GatewayV1Beta1SpecListenersTlsMode || (exports.GatewayV1Beta1SpecListenersTlsMode = GatewayV1Beta1SpecListenersTlsMode = {}));
/**
* From indicates where Routes will be selected for this Gateway. Possible values are:
*
* - All: Routes in all namespaces may be used by this Gateway.
* - Selector: Routes in namespaces selected by the selector may be used by this Gateway.
* - Same: Only Routes in the same namespace may be used by this Gateway.
*
* Support: Core
*
* @schema GatewayV1Beta1SpecListenersAllowedRoutesNamespacesFrom
*/
var GatewayV1Beta1SpecListenersAllowedRoutesNamespacesFrom;
(function (GatewayV1Beta1SpecListenersAllowedRoutesNamespacesFrom) {
/** All */
GatewayV1Beta1SpecListenersAllowedRoutesNamespacesFrom["ALL"] = "All";
/** Selector */
GatewayV1Beta1SpecListenersAllowedRoutesNamespacesFrom["SELECTOR"] = "Selector";
/** Same */
GatewayV1Beta1SpecListenersAllowedRoutesNamespacesFrom["SAME"] = "Same";
})(GatewayV1Beta1SpecListenersAllowedRoutesNamespacesFrom || (exports.GatewayV1Beta1SpecListenersAllowedRoutesNamespacesFrom = GatewayV1Beta1SpecListenersAllowedRoutesNamespacesFrom = {}));
/**
* Converts an object of type 'GatewayV1Beta1SpecListenersAllowedRoutesNamespacesSelector' to JSON
* representation.
*/
/* eslint-disable max-len, quote-props */
function toJson_GatewayV1Beta1SpecListenersAllowedRoutesNamespacesSelector(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
matchExpressions: obj.matchExpressions?.map(y => toJson_GatewayV1Beta1SpecListenersAllowedRoutesNamespacesSelectorMatchExpressions(y)),
matchLabels: obj.matchLabels === undefined
? undefined
: Object.entries(obj.matchLabels).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {})
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
* Converts an object of type
* 'GatewayV1Beta1SpecListenersAllowedRoutesNamespacesSelectorMatchExpressions' to JSON
* representation.
*/
/* eslint-disable max-len, quote-props */
function toJson_GatewayV1Beta1SpecListenersAllowedRoutesNamespacesSelectorMatchExpressions(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
key: obj.key,
operator: obj.operator,
values: obj.values?.map(y => y)
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/* eslint-enable max-len, quote-props */
/**
* GatewayClass describes a class of Gateways available to the user for creating Gateway resources.
*
* It is recommended that this resource be used as a template for Gateways. This means that a
* Gateway is based on the state of the GatewayClass at the time it was created and changes to the
* GatewayClass or associated parameters are not propagated down to existing Gateways. This
* recommendation is intended to limit the blast radius of changes to GatewayClass or associated
* parameters. If implementations choose to propagate GatewayClass changes to existing Gateways,
* that MUST be clearly documented by the implementation.
*
* Whenever one or more Gateways are using a GatewayClass, implementations SHOULD add the
* `gateway-exists-finalizer.gateway.networking.k8s.io` finalizer on the associated GatewayClass.
* This ensures that a GatewayClass associated with a Gateway is not deleted while in use.
*
* GatewayClass is a Cluster level resource.
*
* @schema GatewayClass
*/
class GatewayClass extends cdk8s_1.ApiObject {
/**
* Renders a Kubernetes manifest for "GatewayClass".
*
* This can be used to inline resource manifests inside other objects (e.g. as templates).
*
* @param props Initialization props
*/
static manifest(props) {
return {
...GatewayClass.GVK,
...toJson_GatewayClassProps(props)
};
}
/**
* Defines a "GatewayClass" API object
*
* @param scope The scope in which to define this object
* @param id A scope-local name for the object
* @param props Initialization props
*/
constructor(scope, id, props) {
super(scope, id, {
...GatewayClass.GVK,
...props
});
}
/** Renders the object to Kubernetes JSON. */
toJson() {
const resolved = super.toJson();
return {
...GatewayClass.GVK,
...toJson_GatewayClassProps(resolved)
};
}
}
exports.GatewayClass = GatewayClass;
/** Returns the apiVersion and kind for "GatewayClass" */
GatewayClass.GVK = {
apiVersion: "gateway.networking.k8s.io/v1",
kind: "GatewayClass"
};
/** Converts an object of type 'GatewayClassProps' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_GatewayClassProps(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
metadata: obj.metadata,
spec: toJson_GatewayClassSpec(obj.spec)
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'GatewayClassSpec' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_GatewayClassSpec(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
controllerName: obj.controllerName,
description: obj.description,
parametersRef: toJson_GatewayClassSpecParametersRef(obj.parametersRef)
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'GatewayClassSpecParametersRef' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_GatewayClassSpecParametersRef(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
group: obj.group,
kind: obj.kind,
name: obj.name,
namespace: obj.namespace
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/* eslint-enable max-len, quote-props */
/**
* GatewayClass describes a class of Gateways available to the user for creating Gateway resources.
*
* It is recommended that this resource be used as a template for Gateways. This means that a
* Gateway is based on the state of the GatewayClass at the time it was created and changes to the
* GatewayClass or associated parameters are not propagated down to existing Gateways. This
* recommendation is intended to limit the blast radius of changes to GatewayClass or associated
* parameters. If implementations choose to propagate GatewayClass changes to existing Gateways,
* that MUST be clearly documented by the implementation.
*
* Whenever one or more Gateways are using a GatewayClass, implementations SHOULD add the
* `gateway-exists-finalizer.gateway.networking.k8s.io` finalizer on the associated GatewayClass.
* This ensures that a GatewayClass associated with a Gateway is not deleted while in use.
*
* GatewayClass is a Cluster level resource.
*
* @schema GatewayClassV1Beta1
*/
class GatewayClassV1Beta1 extends cdk8s_1.ApiObject {
/**
* Renders a Kubernetes manifest for "GatewayClassV1Beta1".
*
* This can be used to inline resource manifests inside other objects (e.g. as templates).
*
* @param props Initialization props
*/
static manifest(props) {
return {
...GatewayClassV1Beta1.GVK,
...toJson_GatewayClassV1Beta1Props(props)
};
}
/**
* Defines a "GatewayClassV1Beta1" API object
*
* @param scope The scope in which to define this object
* @param id A scope-local name for the object
* @param props Initialization props
*/
constructor(scope, id, props) {
super(scope, id, {
...GatewayClassV1Beta1.GVK,
...props
});
}
/** Renders the object to Kubernetes JSON. */
toJson() {
const resolved = super.toJson();
return {
...GatewayClassV1Beta1.GVK,
...toJson_GatewayClassV1Beta1Props(resolved)
};
}
}
exports.GatewayClassV1Beta1 = GatewayClassV1Beta1;
/** Returns the apiVersion and kind for "GatewayClassV1Beta1" */
GatewayClassV1Beta1.GVK = {
apiVersion: "gateway.networking.k8s.io/v1beta1",
kind: "GatewayClass"
};
/** Converts an object of type 'GatewayClassV1Beta1Props' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_GatewayClassV1Beta1Props(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
metadata: obj.metadata,
spec: toJson_GatewayClassV1Beta1Spec(obj.spec)
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'GatewayClassV1Beta1Spec' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_GatewayClassV1Beta1Spec(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
controllerName: obj.controllerName,
description: obj.description,
parametersRef: toJson_GatewayClassV1Beta1SpecParametersRef(obj.parametersRef)
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'GatewayClassV1Beta1SpecParametersRef' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_GatewayClassV1Beta1SpecParametersRef(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
group: obj.group,
kind: obj.kind,
name: obj.name,
namespace: obj.namespace
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/* eslint-enable max-len, quote-props */
/**
* GRPCRoute provides a way to route gRPC requests. This includes the capability to match requests
* by hostname, gRPC service, gRPC method, or HTTP/2 header. Filters can be used to specify
* additional processing steps. Backends specify where matching requests will be routed.
*
* GRPCRoute falls under extended support within the Gateway API. Within the following
* specification, the word "MUST" indicates that an implementation supporting GRPCRoute must conform
* to the indicated requirement, but an implementation not supporting this route type need not
* follow the requirement unless explicitly indicated.
*
* Implementations supporting `GRPCRoute` with the `HTTPS` `ProtocolType` MUST accept HTTP/2
* connections without an initial upgrade from HTTP/1.1, i.e. via ALPN. If the implementation does
* not support this, then it MUST set the "Accepted" condition to "False" for the affected listener
* with a reason of "UnsupportedProtocol". Implementations MAY also accept HTTP/2 connections with
* an upgrade from HTTP/1.
*
* Implementations supporting `GRPCRoute` with the `HTTP` `ProtocolType` MUST support HTTP/2 over
* cleartext TCP (h2c, https://www.rfc-editor.org/rfc/rfc7540#section-3.1) without an initial
* upgrade from HTTP/1.1, i.e. with prior knowledge
* (https://www.rfc-editor.org/rfc/rfc7540#section-3.4). If the implementation does not support
* this, then it MUST set the "Accepted" condition to "False" for the affected listener with a
* reason of "UnsupportedProtocol". Implementations MAY also accept HTTP/2 connections with an
* upgrade from HTTP/1, i.e. without prior knowledge.
*
* @schema GRPCRoute
*/
class GrpcRoute extends cdk8s_1.ApiObject {
/**
* Renders a Kubernetes mani