UNPKG

k8ts

Version:

Powerful framework for building Kubernetes manifests in TypeScript.

967 lines 163 kB
"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