@k8ts/sample-interfaces 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_mix.d.ts +4 -0
- package/dist/_mix.d.ts.map +1 -0
- package/dist/_mix.js +7 -0
- package/dist/_mix.js.map +1 -0
- package/dist/acme.cert-manager.io.d.ts +4832 -0
- package/dist/acme.cert-manager.io.d.ts.map +1 -0
- package/dist/acme.cert-manager.io.js +2476 -0
- package/dist/acme.cert-manager.io.js.map +1 -0
- package/dist/gateway.networking.k8s.io.d.ts +8786 -0
- package/dist/gateway.networking.k8s.io.d.ts.map +1 -0
- package/dist/gateway.networking.k8s.io.js +3668 -0
- package/dist/gateway.networking.k8s.io.js.map +1 -0
- package/dist/helm.toolkit.fluxcd.io.d.ts +4560 -0
- package/dist/helm.toolkit.fluxcd.io.d.ts.map +1 -0
- package/dist/helm.toolkit.fluxcd.io.js +2274 -0
- package/dist/helm.toolkit.fluxcd.io.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +38 -0
- package/dist/index.js.map +1 -0
- package/dist/k8s.d.ts +18772 -0
- package/dist/k8s.d.ts.map +1 -0
- package/dist/k8s.js +12173 -0
- package/dist/k8s.js.map +1 -0
- package/dist/kustomize.toolkit.fluxcd.io.d.ts +2202 -0
- package/dist/kustomize.toolkit.fluxcd.io.d.ts.map +1 -0
- package/dist/kustomize.toolkit.fluxcd.io.js +1196 -0
- package/dist/kustomize.toolkit.fluxcd.io.js.map +1 -0
- package/dist/notification.toolkit.fluxcd.io.d.ts +1851 -0
- package/dist/notification.toolkit.fluxcd.io.d.ts.map +1 -0
- package/dist/notification.toolkit.fluxcd.io.js +1489 -0
- package/dist/notification.toolkit.fluxcd.io.js.map +1 -0
- package/dist/source.toolkit.fluxcd.io.d.ts +3733 -0
- package/dist/source.toolkit.fluxcd.io.d.ts.map +1 -0
- package/dist/source.toolkit.fluxcd.io.js +2539 -0
- package/dist/source.toolkit.fluxcd.io.js.map +1 -0
- package/package.json +68 -0
- package/src/_mix.ts +3 -0
- package/src/acme.cert-manager.io.ts +8202 -0
- package/src/gateway.networking.k8s.io.ts +12226 -0
- package/src/helm.toolkit.fluxcd.io.ts +7010 -0
- package/src/index.ts +1 -0
- package/src/k8s.ts +31018 -0
- package/src/kustomize.toolkit.fluxcd.io.ts +3560 -0
- package/src/notification.toolkit.fluxcd.io.ts +2944 -0
- package/src/source.toolkit.fluxcd.io.ts +6277 -0
- package/tsconfig.json +12 -0
|
@@ -0,0 +1,3668 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
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;
|
|
4
|
+
exports.toJson_GatewayProps = toJson_GatewayProps;
|
|
5
|
+
exports.toJson_GatewaySpec = toJson_GatewaySpec;
|
|
6
|
+
exports.toJson_GatewaySpecAddresses = toJson_GatewaySpecAddresses;
|
|
7
|
+
exports.toJson_GatewaySpecInfrastructure = toJson_GatewaySpecInfrastructure;
|
|
8
|
+
exports.toJson_GatewaySpecListeners = toJson_GatewaySpecListeners;
|
|
9
|
+
exports.toJson_GatewaySpecInfrastructureParametersRef = toJson_GatewaySpecInfrastructureParametersRef;
|
|
10
|
+
exports.toJson_GatewaySpecListenersAllowedRoutes = toJson_GatewaySpecListenersAllowedRoutes;
|
|
11
|
+
exports.toJson_GatewaySpecListenersTls = toJson_GatewaySpecListenersTls;
|
|
12
|
+
exports.toJson_GatewaySpecListenersAllowedRoutesKinds = toJson_GatewaySpecListenersAllowedRoutesKinds;
|
|
13
|
+
exports.toJson_GatewaySpecListenersAllowedRoutesNamespaces = toJson_GatewaySpecListenersAllowedRoutesNamespaces;
|
|
14
|
+
exports.toJson_GatewaySpecListenersTlsCertificateRefs = toJson_GatewaySpecListenersTlsCertificateRefs;
|
|
15
|
+
exports.toJson_GatewaySpecListenersAllowedRoutesNamespacesSelector = toJson_GatewaySpecListenersAllowedRoutesNamespacesSelector;
|
|
16
|
+
exports.toJson_GatewaySpecListenersAllowedRoutesNamespacesSelectorMatchExpressions = toJson_GatewaySpecListenersAllowedRoutesNamespacesSelectorMatchExpressions;
|
|
17
|
+
exports.toJson_GatewayV1Beta1Props = toJson_GatewayV1Beta1Props;
|
|
18
|
+
exports.toJson_GatewayV1Beta1Spec = toJson_GatewayV1Beta1Spec;
|
|
19
|
+
exports.toJson_GatewayV1Beta1SpecAddresses = toJson_GatewayV1Beta1SpecAddresses;
|
|
20
|
+
exports.toJson_GatewayV1Beta1SpecInfrastructure = toJson_GatewayV1Beta1SpecInfrastructure;
|
|
21
|
+
exports.toJson_GatewayV1Beta1SpecListeners = toJson_GatewayV1Beta1SpecListeners;
|
|
22
|
+
exports.toJson_GatewayV1Beta1SpecInfrastructureParametersRef = toJson_GatewayV1Beta1SpecInfrastructureParametersRef;
|
|
23
|
+
exports.toJson_GatewayV1Beta1SpecListenersAllowedRoutes = toJson_GatewayV1Beta1SpecListenersAllowedRoutes;
|
|
24
|
+
exports.toJson_GatewayV1Beta1SpecListenersTls = toJson_GatewayV1Beta1SpecListenersTls;
|
|
25
|
+
exports.toJson_GatewayV1Beta1SpecListenersAllowedRoutesKinds = toJson_GatewayV1Beta1SpecListenersAllowedRoutesKinds;
|
|
26
|
+
exports.toJson_GatewayV1Beta1SpecListenersAllowedRoutesNamespaces = toJson_GatewayV1Beta1SpecListenersAllowedRoutesNamespaces;
|
|
27
|
+
exports.toJson_GatewayV1Beta1SpecListenersTlsCertificateRefs = toJson_GatewayV1Beta1SpecListenersTlsCertificateRefs;
|
|
28
|
+
exports.toJson_GatewayV1Beta1SpecListenersAllowedRoutesNamespacesSelector = toJson_GatewayV1Beta1SpecListenersAllowedRoutesNamespacesSelector;
|
|
29
|
+
exports.toJson_GatewayV1Beta1SpecListenersAllowedRoutesNamespacesSelectorMatchExpressions = toJson_GatewayV1Beta1SpecListenersAllowedRoutesNamespacesSelectorMatchExpressions;
|
|
30
|
+
exports.toJson_GatewayClassProps = toJson_GatewayClassProps;
|
|
31
|
+
exports.toJson_GatewayClassSpec = toJson_GatewayClassSpec;
|
|
32
|
+
exports.toJson_GatewayClassSpecParametersRef = toJson_GatewayClassSpecParametersRef;
|
|
33
|
+
exports.toJson_GatewayClassV1Beta1Props = toJson_GatewayClassV1Beta1Props;
|
|
34
|
+
exports.toJson_GatewayClassV1Beta1Spec = toJson_GatewayClassV1Beta1Spec;
|
|
35
|
+
exports.toJson_GatewayClassV1Beta1SpecParametersRef = toJson_GatewayClassV1Beta1SpecParametersRef;
|
|
36
|
+
exports.toJson_GrpcRouteProps = toJson_GrpcRouteProps;
|
|
37
|
+
exports.toJson_GrpcRouteSpec = toJson_GrpcRouteSpec;
|
|
38
|
+
exports.toJson_GrpcRouteSpecParentRefs = toJson_GrpcRouteSpecParentRefs;
|
|
39
|
+
exports.toJson_GrpcRouteSpecRules = toJson_GrpcRouteSpecRules;
|
|
40
|
+
exports.toJson_GrpcRouteSpecRulesBackendRefs = toJson_GrpcRouteSpecRulesBackendRefs;
|
|
41
|
+
exports.toJson_GrpcRouteSpecRulesFilters = toJson_GrpcRouteSpecRulesFilters;
|
|
42
|
+
exports.toJson_GrpcRouteSpecRulesMatches = toJson_GrpcRouteSpecRulesMatches;
|
|
43
|
+
exports.toJson_GrpcRouteSpecRulesBackendRefsFilters = toJson_GrpcRouteSpecRulesBackendRefsFilters;
|
|
44
|
+
exports.toJson_GrpcRouteSpecRulesFiltersExtensionRef = toJson_GrpcRouteSpecRulesFiltersExtensionRef;
|
|
45
|
+
exports.toJson_GrpcRouteSpecRulesFiltersRequestHeaderModifier = toJson_GrpcRouteSpecRulesFiltersRequestHeaderModifier;
|
|
46
|
+
exports.toJson_GrpcRouteSpecRulesFiltersRequestMirror = toJson_GrpcRouteSpecRulesFiltersRequestMirror;
|
|
47
|
+
exports.toJson_GrpcRouteSpecRulesFiltersResponseHeaderModifier = toJson_GrpcRouteSpecRulesFiltersResponseHeaderModifier;
|
|
48
|
+
exports.toJson_GrpcRouteSpecRulesMatchesHeaders = toJson_GrpcRouteSpecRulesMatchesHeaders;
|
|
49
|
+
exports.toJson_GrpcRouteSpecRulesMatchesMethod = toJson_GrpcRouteSpecRulesMatchesMethod;
|
|
50
|
+
exports.toJson_GrpcRouteSpecRulesBackendRefsFiltersExtensionRef = toJson_GrpcRouteSpecRulesBackendRefsFiltersExtensionRef;
|
|
51
|
+
exports.toJson_GrpcRouteSpecRulesBackendRefsFiltersRequestHeaderModifier = toJson_GrpcRouteSpecRulesBackendRefsFiltersRequestHeaderModifier;
|
|
52
|
+
exports.toJson_GrpcRouteSpecRulesBackendRefsFiltersRequestMirror = toJson_GrpcRouteSpecRulesBackendRefsFiltersRequestMirror;
|
|
53
|
+
exports.toJson_GrpcRouteSpecRulesBackendRefsFiltersResponseHeaderModifier = toJson_GrpcRouteSpecRulesBackendRefsFiltersResponseHeaderModifier;
|
|
54
|
+
exports.toJson_GrpcRouteSpecRulesFiltersRequestHeaderModifierAdd = toJson_GrpcRouteSpecRulesFiltersRequestHeaderModifierAdd;
|
|
55
|
+
exports.toJson_GrpcRouteSpecRulesFiltersRequestHeaderModifierSet = toJson_GrpcRouteSpecRulesFiltersRequestHeaderModifierSet;
|
|
56
|
+
exports.toJson_GrpcRouteSpecRulesFiltersRequestMirrorBackendRef = toJson_GrpcRouteSpecRulesFiltersRequestMirrorBackendRef;
|
|
57
|
+
exports.toJson_GrpcRouteSpecRulesFiltersResponseHeaderModifierAdd = toJson_GrpcRouteSpecRulesFiltersResponseHeaderModifierAdd;
|
|
58
|
+
exports.toJson_GrpcRouteSpecRulesFiltersResponseHeaderModifierSet = toJson_GrpcRouteSpecRulesFiltersResponseHeaderModifierSet;
|
|
59
|
+
exports.toJson_GrpcRouteSpecRulesBackendRefsFiltersRequestHeaderModifierAdd = toJson_GrpcRouteSpecRulesBackendRefsFiltersRequestHeaderModifierAdd;
|
|
60
|
+
exports.toJson_GrpcRouteSpecRulesBackendRefsFiltersRequestHeaderModifierSet = toJson_GrpcRouteSpecRulesBackendRefsFiltersRequestHeaderModifierSet;
|
|
61
|
+
exports.toJson_GrpcRouteSpecRulesBackendRefsFiltersRequestMirrorBackendRef = toJson_GrpcRouteSpecRulesBackendRefsFiltersRequestMirrorBackendRef;
|
|
62
|
+
exports.toJson_GrpcRouteSpecRulesBackendRefsFiltersResponseHeaderModifierAdd = toJson_GrpcRouteSpecRulesBackendRefsFiltersResponseHeaderModifierAdd;
|
|
63
|
+
exports.toJson_GrpcRouteSpecRulesBackendRefsFiltersResponseHeaderModifierSet = toJson_GrpcRouteSpecRulesBackendRefsFiltersResponseHeaderModifierSet;
|
|
64
|
+
exports.toJson_HttpRouteProps = toJson_HttpRouteProps;
|
|
65
|
+
exports.toJson_HttpRouteSpec = toJson_HttpRouteSpec;
|
|
66
|
+
exports.toJson_HttpRouteSpecParentRefs = toJson_HttpRouteSpecParentRefs;
|
|
67
|
+
exports.toJson_HttpRouteSpecRules = toJson_HttpRouteSpecRules;
|
|
68
|
+
exports.toJson_HttpRouteSpecRulesBackendRefs = toJson_HttpRouteSpecRulesBackendRefs;
|
|
69
|
+
exports.toJson_HttpRouteSpecRulesFilters = toJson_HttpRouteSpecRulesFilters;
|
|
70
|
+
exports.toJson_HttpRouteSpecRulesMatches = toJson_HttpRouteSpecRulesMatches;
|
|
71
|
+
exports.toJson_HttpRouteSpecRulesTimeouts = toJson_HttpRouteSpecRulesTimeouts;
|
|
72
|
+
exports.toJson_HttpRouteSpecRulesBackendRefsFilters = toJson_HttpRouteSpecRulesBackendRefsFilters;
|
|
73
|
+
exports.toJson_HttpRouteSpecRulesFiltersExtensionRef = toJson_HttpRouteSpecRulesFiltersExtensionRef;
|
|
74
|
+
exports.toJson_HttpRouteSpecRulesFiltersRequestHeaderModifier = toJson_HttpRouteSpecRulesFiltersRequestHeaderModifier;
|
|
75
|
+
exports.toJson_HttpRouteSpecRulesFiltersRequestMirror = toJson_HttpRouteSpecRulesFiltersRequestMirror;
|
|
76
|
+
exports.toJson_HttpRouteSpecRulesFiltersRequestRedirect = toJson_HttpRouteSpecRulesFiltersRequestRedirect;
|
|
77
|
+
exports.toJson_HttpRouteSpecRulesFiltersResponseHeaderModifier = toJson_HttpRouteSpecRulesFiltersResponseHeaderModifier;
|
|
78
|
+
exports.toJson_HttpRouteSpecRulesFiltersUrlRewrite = toJson_HttpRouteSpecRulesFiltersUrlRewrite;
|
|
79
|
+
exports.toJson_HttpRouteSpecRulesMatchesHeaders = toJson_HttpRouteSpecRulesMatchesHeaders;
|
|
80
|
+
exports.toJson_HttpRouteSpecRulesMatchesPath = toJson_HttpRouteSpecRulesMatchesPath;
|
|
81
|
+
exports.toJson_HttpRouteSpecRulesMatchesQueryParams = toJson_HttpRouteSpecRulesMatchesQueryParams;
|
|
82
|
+
exports.toJson_HttpRouteSpecRulesBackendRefsFiltersExtensionRef = toJson_HttpRouteSpecRulesBackendRefsFiltersExtensionRef;
|
|
83
|
+
exports.toJson_HttpRouteSpecRulesBackendRefsFiltersRequestHeaderModifier = toJson_HttpRouteSpecRulesBackendRefsFiltersRequestHeaderModifier;
|
|
84
|
+
exports.toJson_HttpRouteSpecRulesBackendRefsFiltersRequestMirror = toJson_HttpRouteSpecRulesBackendRefsFiltersRequestMirror;
|
|
85
|
+
exports.toJson_HttpRouteSpecRulesBackendRefsFiltersRequestRedirect = toJson_HttpRouteSpecRulesBackendRefsFiltersRequestRedirect;
|
|
86
|
+
exports.toJson_HttpRouteSpecRulesBackendRefsFiltersResponseHeaderModifier = toJson_HttpRouteSpecRulesBackendRefsFiltersResponseHeaderModifier;
|
|
87
|
+
exports.toJson_HttpRouteSpecRulesBackendRefsFiltersUrlRewrite = toJson_HttpRouteSpecRulesBackendRefsFiltersUrlRewrite;
|
|
88
|
+
exports.toJson_HttpRouteSpecRulesFiltersRequestHeaderModifierAdd = toJson_HttpRouteSpecRulesFiltersRequestHeaderModifierAdd;
|
|
89
|
+
exports.toJson_HttpRouteSpecRulesFiltersRequestHeaderModifierSet = toJson_HttpRouteSpecRulesFiltersRequestHeaderModifierSet;
|
|
90
|
+
exports.toJson_HttpRouteSpecRulesFiltersRequestMirrorBackendRef = toJson_HttpRouteSpecRulesFiltersRequestMirrorBackendRef;
|
|
91
|
+
exports.toJson_HttpRouteSpecRulesFiltersRequestRedirectPath = toJson_HttpRouteSpecRulesFiltersRequestRedirectPath;
|
|
92
|
+
exports.toJson_HttpRouteSpecRulesFiltersResponseHeaderModifierAdd = toJson_HttpRouteSpecRulesFiltersResponseHeaderModifierAdd;
|
|
93
|
+
exports.toJson_HttpRouteSpecRulesFiltersResponseHeaderModifierSet = toJson_HttpRouteSpecRulesFiltersResponseHeaderModifierSet;
|
|
94
|
+
exports.toJson_HttpRouteSpecRulesFiltersUrlRewritePath = toJson_HttpRouteSpecRulesFiltersUrlRewritePath;
|
|
95
|
+
exports.toJson_HttpRouteSpecRulesBackendRefsFiltersRequestHeaderModifierAdd = toJson_HttpRouteSpecRulesBackendRefsFiltersRequestHeaderModifierAdd;
|
|
96
|
+
exports.toJson_HttpRouteSpecRulesBackendRefsFiltersRequestHeaderModifierSet = toJson_HttpRouteSpecRulesBackendRefsFiltersRequestHeaderModifierSet;
|
|
97
|
+
exports.toJson_HttpRouteSpecRulesBackendRefsFiltersRequestMirrorBackendRef = toJson_HttpRouteSpecRulesBackendRefsFiltersRequestMirrorBackendRef;
|
|
98
|
+
exports.toJson_HttpRouteSpecRulesBackendRefsFiltersRequestRedirectPath = toJson_HttpRouteSpecRulesBackendRefsFiltersRequestRedirectPath;
|
|
99
|
+
exports.toJson_HttpRouteSpecRulesBackendRefsFiltersResponseHeaderModifierAdd = toJson_HttpRouteSpecRulesBackendRefsFiltersResponseHeaderModifierAdd;
|
|
100
|
+
exports.toJson_HttpRouteSpecRulesBackendRefsFiltersResponseHeaderModifierSet = toJson_HttpRouteSpecRulesBackendRefsFiltersResponseHeaderModifierSet;
|
|
101
|
+
exports.toJson_HttpRouteSpecRulesBackendRefsFiltersUrlRewritePath = toJson_HttpRouteSpecRulesBackendRefsFiltersUrlRewritePath;
|
|
102
|
+
exports.toJson_HttpRouteV1Beta1Props = toJson_HttpRouteV1Beta1Props;
|
|
103
|
+
exports.toJson_HttpRouteV1Beta1Spec = toJson_HttpRouteV1Beta1Spec;
|
|
104
|
+
exports.toJson_HttpRouteV1Beta1SpecParentRefs = toJson_HttpRouteV1Beta1SpecParentRefs;
|
|
105
|
+
exports.toJson_HttpRouteV1Beta1SpecRules = toJson_HttpRouteV1Beta1SpecRules;
|
|
106
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesBackendRefs = toJson_HttpRouteV1Beta1SpecRulesBackendRefs;
|
|
107
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesFilters = toJson_HttpRouteV1Beta1SpecRulesFilters;
|
|
108
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesMatches = toJson_HttpRouteV1Beta1SpecRulesMatches;
|
|
109
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesTimeouts = toJson_HttpRouteV1Beta1SpecRulesTimeouts;
|
|
110
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesBackendRefsFilters = toJson_HttpRouteV1Beta1SpecRulesBackendRefsFilters;
|
|
111
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesFiltersExtensionRef = toJson_HttpRouteV1Beta1SpecRulesFiltersExtensionRef;
|
|
112
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesFiltersRequestHeaderModifier = toJson_HttpRouteV1Beta1SpecRulesFiltersRequestHeaderModifier;
|
|
113
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesFiltersRequestMirror = toJson_HttpRouteV1Beta1SpecRulesFiltersRequestMirror;
|
|
114
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesFiltersRequestRedirect = toJson_HttpRouteV1Beta1SpecRulesFiltersRequestRedirect;
|
|
115
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesFiltersResponseHeaderModifier = toJson_HttpRouteV1Beta1SpecRulesFiltersResponseHeaderModifier;
|
|
116
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesFiltersUrlRewrite = toJson_HttpRouteV1Beta1SpecRulesFiltersUrlRewrite;
|
|
117
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesMatchesHeaders = toJson_HttpRouteV1Beta1SpecRulesMatchesHeaders;
|
|
118
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesMatchesPath = toJson_HttpRouteV1Beta1SpecRulesMatchesPath;
|
|
119
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesMatchesQueryParams = toJson_HttpRouteV1Beta1SpecRulesMatchesQueryParams;
|
|
120
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersExtensionRef = toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersExtensionRef;
|
|
121
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestHeaderModifier = toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestHeaderModifier;
|
|
122
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestMirror = toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestMirror;
|
|
123
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirect = toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirect;
|
|
124
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersResponseHeaderModifier = toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersResponseHeaderModifier;
|
|
125
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersUrlRewrite = toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersUrlRewrite;
|
|
126
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesFiltersRequestHeaderModifierAdd = toJson_HttpRouteV1Beta1SpecRulesFiltersRequestHeaderModifierAdd;
|
|
127
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesFiltersRequestHeaderModifierSet = toJson_HttpRouteV1Beta1SpecRulesFiltersRequestHeaderModifierSet;
|
|
128
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesFiltersRequestMirrorBackendRef = toJson_HttpRouteV1Beta1SpecRulesFiltersRequestMirrorBackendRef;
|
|
129
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesFiltersRequestRedirectPath = toJson_HttpRouteV1Beta1SpecRulesFiltersRequestRedirectPath;
|
|
130
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesFiltersResponseHeaderModifierAdd = toJson_HttpRouteV1Beta1SpecRulesFiltersResponseHeaderModifierAdd;
|
|
131
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesFiltersResponseHeaderModifierSet = toJson_HttpRouteV1Beta1SpecRulesFiltersResponseHeaderModifierSet;
|
|
132
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesFiltersUrlRewritePath = toJson_HttpRouteV1Beta1SpecRulesFiltersUrlRewritePath;
|
|
133
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestHeaderModifierAdd = toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestHeaderModifierAdd;
|
|
134
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestHeaderModifierSet = toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestHeaderModifierSet;
|
|
135
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestMirrorBackendRef = toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestMirrorBackendRef;
|
|
136
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectPath = toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectPath;
|
|
137
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersResponseHeaderModifierAdd = toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersResponseHeaderModifierAdd;
|
|
138
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersResponseHeaderModifierSet = toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersResponseHeaderModifierSet;
|
|
139
|
+
exports.toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersUrlRewritePath = toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersUrlRewritePath;
|
|
140
|
+
exports.toJson_ReferenceGrantProps = toJson_ReferenceGrantProps;
|
|
141
|
+
exports.toJson_ReferenceGrantSpec = toJson_ReferenceGrantSpec;
|
|
142
|
+
exports.toJson_ReferenceGrantSpecFrom = toJson_ReferenceGrantSpecFrom;
|
|
143
|
+
exports.toJson_ReferenceGrantSpecTo = toJson_ReferenceGrantSpecTo;
|
|
144
|
+
// generated by cdk8s
|
|
145
|
+
const cdk8s_1 = require("cdk8s");
|
|
146
|
+
/**
|
|
147
|
+
* Gateway represents an instance of a service-traffic handling infrastructure by binding Listeners
|
|
148
|
+
* to a set of IP addresses.
|
|
149
|
+
*
|
|
150
|
+
* @schema Gateway
|
|
151
|
+
*/
|
|
152
|
+
class Gateway extends cdk8s_1.ApiObject {
|
|
153
|
+
/**
|
|
154
|
+
* Renders a Kubernetes manifest for "Gateway".
|
|
155
|
+
*
|
|
156
|
+
* This can be used to inline resource manifests inside other objects (e.g. as templates).
|
|
157
|
+
*
|
|
158
|
+
* @param props Initialization props
|
|
159
|
+
*/
|
|
160
|
+
static manifest(props) {
|
|
161
|
+
return {
|
|
162
|
+
...Gateway.GVK,
|
|
163
|
+
...toJson_GatewayProps(props)
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Defines a "Gateway" API object
|
|
168
|
+
*
|
|
169
|
+
* @param scope The scope in which to define this object
|
|
170
|
+
* @param id A scope-local name for the object
|
|
171
|
+
* @param props Initialization props
|
|
172
|
+
*/
|
|
173
|
+
constructor(scope, id, props) {
|
|
174
|
+
super(scope, id, {
|
|
175
|
+
...Gateway.GVK,
|
|
176
|
+
...props
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
/** Renders the object to Kubernetes JSON. */
|
|
180
|
+
toJson() {
|
|
181
|
+
const resolved = super.toJson();
|
|
182
|
+
return {
|
|
183
|
+
...Gateway.GVK,
|
|
184
|
+
...toJson_GatewayProps(resolved)
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
exports.Gateway = Gateway;
|
|
189
|
+
/** Returns the apiVersion and kind for "Gateway" */
|
|
190
|
+
Gateway.GVK = {
|
|
191
|
+
apiVersion: "gateway.networking.k8s.io/v1",
|
|
192
|
+
kind: "Gateway"
|
|
193
|
+
};
|
|
194
|
+
/** Converts an object of type 'GatewayProps' to JSON representation. */
|
|
195
|
+
/* eslint-disable max-len, quote-props */
|
|
196
|
+
function toJson_GatewayProps(obj) {
|
|
197
|
+
if (obj === undefined) {
|
|
198
|
+
return undefined;
|
|
199
|
+
}
|
|
200
|
+
const result = {
|
|
201
|
+
metadata: obj.metadata,
|
|
202
|
+
spec: toJson_GatewaySpec(obj.spec)
|
|
203
|
+
};
|
|
204
|
+
// filter undefined values
|
|
205
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
206
|
+
}
|
|
207
|
+
/** Converts an object of type 'GatewaySpec' to JSON representation. */
|
|
208
|
+
/* eslint-disable max-len, quote-props */
|
|
209
|
+
function toJson_GatewaySpec(obj) {
|
|
210
|
+
if (obj === undefined) {
|
|
211
|
+
return undefined;
|
|
212
|
+
}
|
|
213
|
+
const result = {
|
|
214
|
+
addresses: obj.addresses?.map(y => toJson_GatewaySpecAddresses(y)),
|
|
215
|
+
gatewayClassName: obj.gatewayClassName,
|
|
216
|
+
infrastructure: toJson_GatewaySpecInfrastructure(obj.infrastructure),
|
|
217
|
+
listeners: obj.listeners?.map(y => toJson_GatewaySpecListeners(y))
|
|
218
|
+
};
|
|
219
|
+
// filter undefined values
|
|
220
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
221
|
+
}
|
|
222
|
+
/** Converts an object of type 'GatewaySpecAddresses' to JSON representation. */
|
|
223
|
+
/* eslint-disable max-len, quote-props */
|
|
224
|
+
function toJson_GatewaySpecAddresses(obj) {
|
|
225
|
+
if (obj === undefined) {
|
|
226
|
+
return undefined;
|
|
227
|
+
}
|
|
228
|
+
const result = {
|
|
229
|
+
type: obj.type,
|
|
230
|
+
value: obj.value
|
|
231
|
+
};
|
|
232
|
+
// filter undefined values
|
|
233
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
234
|
+
}
|
|
235
|
+
/** Converts an object of type 'GatewaySpecInfrastructure' to JSON representation. */
|
|
236
|
+
/* eslint-disable max-len, quote-props */
|
|
237
|
+
function toJson_GatewaySpecInfrastructure(obj) {
|
|
238
|
+
if (obj === undefined) {
|
|
239
|
+
return undefined;
|
|
240
|
+
}
|
|
241
|
+
const result = {
|
|
242
|
+
annotations: obj.annotations === undefined
|
|
243
|
+
? undefined
|
|
244
|
+
: Object.entries(obj.annotations).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {}),
|
|
245
|
+
labels: obj.labels === undefined
|
|
246
|
+
? undefined
|
|
247
|
+
: Object.entries(obj.labels).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {}),
|
|
248
|
+
parametersRef: toJson_GatewaySpecInfrastructureParametersRef(obj.parametersRef)
|
|
249
|
+
};
|
|
250
|
+
// filter undefined values
|
|
251
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
252
|
+
}
|
|
253
|
+
/** Converts an object of type 'GatewaySpecListeners' to JSON representation. */
|
|
254
|
+
/* eslint-disable max-len, quote-props */
|
|
255
|
+
function toJson_GatewaySpecListeners(obj) {
|
|
256
|
+
if (obj === undefined) {
|
|
257
|
+
return undefined;
|
|
258
|
+
}
|
|
259
|
+
const result = {
|
|
260
|
+
allowedRoutes: toJson_GatewaySpecListenersAllowedRoutes(obj.allowedRoutes),
|
|
261
|
+
hostname: obj.hostname,
|
|
262
|
+
name: obj.name,
|
|
263
|
+
port: obj.port,
|
|
264
|
+
protocol: obj.protocol,
|
|
265
|
+
tls: toJson_GatewaySpecListenersTls(obj.tls)
|
|
266
|
+
};
|
|
267
|
+
// filter undefined values
|
|
268
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
269
|
+
}
|
|
270
|
+
/** Converts an object of type 'GatewaySpecInfrastructureParametersRef' to JSON representation. */
|
|
271
|
+
/* eslint-disable max-len, quote-props */
|
|
272
|
+
function toJson_GatewaySpecInfrastructureParametersRef(obj) {
|
|
273
|
+
if (obj === undefined) {
|
|
274
|
+
return undefined;
|
|
275
|
+
}
|
|
276
|
+
const result = {
|
|
277
|
+
group: obj.group,
|
|
278
|
+
kind: obj.kind,
|
|
279
|
+
name: obj.name
|
|
280
|
+
};
|
|
281
|
+
// filter undefined values
|
|
282
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
283
|
+
}
|
|
284
|
+
/** Converts an object of type 'GatewaySpecListenersAllowedRoutes' to JSON representation. */
|
|
285
|
+
/* eslint-disable max-len, quote-props */
|
|
286
|
+
function toJson_GatewaySpecListenersAllowedRoutes(obj) {
|
|
287
|
+
if (obj === undefined) {
|
|
288
|
+
return undefined;
|
|
289
|
+
}
|
|
290
|
+
const result = {
|
|
291
|
+
kinds: obj.kinds?.map(y => toJson_GatewaySpecListenersAllowedRoutesKinds(y)),
|
|
292
|
+
namespaces: toJson_GatewaySpecListenersAllowedRoutesNamespaces(obj.namespaces)
|
|
293
|
+
};
|
|
294
|
+
// filter undefined values
|
|
295
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
296
|
+
}
|
|
297
|
+
/** Converts an object of type 'GatewaySpecListenersTls' to JSON representation. */
|
|
298
|
+
/* eslint-disable max-len, quote-props */
|
|
299
|
+
function toJson_GatewaySpecListenersTls(obj) {
|
|
300
|
+
if (obj === undefined) {
|
|
301
|
+
return undefined;
|
|
302
|
+
}
|
|
303
|
+
const result = {
|
|
304
|
+
certificateRefs: obj.certificateRefs?.map(y => toJson_GatewaySpecListenersTlsCertificateRefs(y)),
|
|
305
|
+
mode: obj.mode,
|
|
306
|
+
options: obj.options === undefined
|
|
307
|
+
? undefined
|
|
308
|
+
: Object.entries(obj.options).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {})
|
|
309
|
+
};
|
|
310
|
+
// filter undefined values
|
|
311
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
312
|
+
}
|
|
313
|
+
/** Converts an object of type 'GatewaySpecListenersAllowedRoutesKinds' to JSON representation. */
|
|
314
|
+
/* eslint-disable max-len, quote-props */
|
|
315
|
+
function toJson_GatewaySpecListenersAllowedRoutesKinds(obj) {
|
|
316
|
+
if (obj === undefined) {
|
|
317
|
+
return undefined;
|
|
318
|
+
}
|
|
319
|
+
const result = {
|
|
320
|
+
group: obj.group,
|
|
321
|
+
kind: obj.kind
|
|
322
|
+
};
|
|
323
|
+
// filter undefined values
|
|
324
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
325
|
+
}
|
|
326
|
+
/** Converts an object of type 'GatewaySpecListenersAllowedRoutesNamespaces' to JSON representation. */
|
|
327
|
+
/* eslint-disable max-len, quote-props */
|
|
328
|
+
function toJson_GatewaySpecListenersAllowedRoutesNamespaces(obj) {
|
|
329
|
+
if (obj === undefined) {
|
|
330
|
+
return undefined;
|
|
331
|
+
}
|
|
332
|
+
const result = {
|
|
333
|
+
from: obj.from,
|
|
334
|
+
selector: toJson_GatewaySpecListenersAllowedRoutesNamespacesSelector(obj.selector)
|
|
335
|
+
};
|
|
336
|
+
// filter undefined values
|
|
337
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
338
|
+
}
|
|
339
|
+
/** Converts an object of type 'GatewaySpecListenersTlsCertificateRefs' to JSON representation. */
|
|
340
|
+
/* eslint-disable max-len, quote-props */
|
|
341
|
+
function toJson_GatewaySpecListenersTlsCertificateRefs(obj) {
|
|
342
|
+
if (obj === undefined) {
|
|
343
|
+
return undefined;
|
|
344
|
+
}
|
|
345
|
+
const result = {
|
|
346
|
+
group: obj.group,
|
|
347
|
+
kind: obj.kind,
|
|
348
|
+
name: obj.name,
|
|
349
|
+
namespace: obj.namespace
|
|
350
|
+
};
|
|
351
|
+
// filter undefined values
|
|
352
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
353
|
+
}
|
|
354
|
+
/* eslint-enable max-len, quote-props */
|
|
355
|
+
/**
|
|
356
|
+
* Mode defines the TLS behavior for the TLS session initiated by the client. There are two possible
|
|
357
|
+
* modes:
|
|
358
|
+
*
|
|
359
|
+
* - Terminate: The TLS session between the downstream client and the Gateway is terminated at the
|
|
360
|
+
* Gateway. This mode requires certificates to be specified in some way, such as populating the
|
|
361
|
+
* certificateRefs field.
|
|
362
|
+
* - Passthrough: The TLS session is NOT terminated by the Gateway. This implies that the Gateway
|
|
363
|
+
* can't decipher the TLS stream except for the ClientHello message of the TLS protocol. The
|
|
364
|
+
* certificateRefs field is ignored in this mode.
|
|
365
|
+
*
|
|
366
|
+
* Support: Core
|
|
367
|
+
*
|
|
368
|
+
* @schema GatewaySpecListenersTlsMode
|
|
369
|
+
*/
|
|
370
|
+
var GatewaySpecListenersTlsMode;
|
|
371
|
+
(function (GatewaySpecListenersTlsMode) {
|
|
372
|
+
/** Terminate */
|
|
373
|
+
GatewaySpecListenersTlsMode["TERMINATE"] = "Terminate";
|
|
374
|
+
/** Passthrough */
|
|
375
|
+
GatewaySpecListenersTlsMode["PASSTHROUGH"] = "Passthrough";
|
|
376
|
+
})(GatewaySpecListenersTlsMode || (exports.GatewaySpecListenersTlsMode = GatewaySpecListenersTlsMode = {}));
|
|
377
|
+
/**
|
|
378
|
+
* From indicates where Routes will be selected for this Gateway. Possible values are:
|
|
379
|
+
*
|
|
380
|
+
* - All: Routes in all namespaces may be used by this Gateway.
|
|
381
|
+
* - Selector: Routes in namespaces selected by the selector may be used by this Gateway.
|
|
382
|
+
* - Same: Only Routes in the same namespace may be used by this Gateway.
|
|
383
|
+
*
|
|
384
|
+
* Support: Core
|
|
385
|
+
*
|
|
386
|
+
* @schema GatewaySpecListenersAllowedRoutesNamespacesFrom
|
|
387
|
+
*/
|
|
388
|
+
var GatewaySpecListenersAllowedRoutesNamespacesFrom;
|
|
389
|
+
(function (GatewaySpecListenersAllowedRoutesNamespacesFrom) {
|
|
390
|
+
/** All */
|
|
391
|
+
GatewaySpecListenersAllowedRoutesNamespacesFrom["ALL"] = "All";
|
|
392
|
+
/** Selector */
|
|
393
|
+
GatewaySpecListenersAllowedRoutesNamespacesFrom["SELECTOR"] = "Selector";
|
|
394
|
+
/** Same */
|
|
395
|
+
GatewaySpecListenersAllowedRoutesNamespacesFrom["SAME"] = "Same";
|
|
396
|
+
})(GatewaySpecListenersAllowedRoutesNamespacesFrom || (exports.GatewaySpecListenersAllowedRoutesNamespacesFrom = GatewaySpecListenersAllowedRoutesNamespacesFrom = {}));
|
|
397
|
+
/**
|
|
398
|
+
* Converts an object of type 'GatewaySpecListenersAllowedRoutesNamespacesSelector' to JSON
|
|
399
|
+
* representation.
|
|
400
|
+
*/
|
|
401
|
+
/* eslint-disable max-len, quote-props */
|
|
402
|
+
function toJson_GatewaySpecListenersAllowedRoutesNamespacesSelector(obj) {
|
|
403
|
+
if (obj === undefined) {
|
|
404
|
+
return undefined;
|
|
405
|
+
}
|
|
406
|
+
const result = {
|
|
407
|
+
matchExpressions: obj.matchExpressions?.map(y => toJson_GatewaySpecListenersAllowedRoutesNamespacesSelectorMatchExpressions(y)),
|
|
408
|
+
matchLabels: obj.matchLabels === undefined
|
|
409
|
+
? undefined
|
|
410
|
+
: Object.entries(obj.matchLabels).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {})
|
|
411
|
+
};
|
|
412
|
+
// filter undefined values
|
|
413
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* Converts an object of type 'GatewaySpecListenersAllowedRoutesNamespacesSelectorMatchExpressions'
|
|
417
|
+
* to JSON representation.
|
|
418
|
+
*/
|
|
419
|
+
/* eslint-disable max-len, quote-props */
|
|
420
|
+
function toJson_GatewaySpecListenersAllowedRoutesNamespacesSelectorMatchExpressions(obj) {
|
|
421
|
+
if (obj === undefined) {
|
|
422
|
+
return undefined;
|
|
423
|
+
}
|
|
424
|
+
const result = {
|
|
425
|
+
key: obj.key,
|
|
426
|
+
operator: obj.operator,
|
|
427
|
+
values: obj.values?.map(y => y)
|
|
428
|
+
};
|
|
429
|
+
// filter undefined values
|
|
430
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
431
|
+
}
|
|
432
|
+
/* eslint-enable max-len, quote-props */
|
|
433
|
+
/**
|
|
434
|
+
* Gateway represents an instance of a service-traffic handling infrastructure by binding Listeners
|
|
435
|
+
* to a set of IP addresses.
|
|
436
|
+
*
|
|
437
|
+
* @schema GatewayV1Beta1
|
|
438
|
+
*/
|
|
439
|
+
class GatewayV1Beta1 extends cdk8s_1.ApiObject {
|
|
440
|
+
/**
|
|
441
|
+
* Renders a Kubernetes manifest for "GatewayV1Beta1".
|
|
442
|
+
*
|
|
443
|
+
* This can be used to inline resource manifests inside other objects (e.g. as templates).
|
|
444
|
+
*
|
|
445
|
+
* @param props Initialization props
|
|
446
|
+
*/
|
|
447
|
+
static manifest(props) {
|
|
448
|
+
return {
|
|
449
|
+
...GatewayV1Beta1.GVK,
|
|
450
|
+
...toJson_GatewayV1Beta1Props(props)
|
|
451
|
+
};
|
|
452
|
+
}
|
|
453
|
+
/**
|
|
454
|
+
* Defines a "GatewayV1Beta1" API object
|
|
455
|
+
*
|
|
456
|
+
* @param scope The scope in which to define this object
|
|
457
|
+
* @param id A scope-local name for the object
|
|
458
|
+
* @param props Initialization props
|
|
459
|
+
*/
|
|
460
|
+
constructor(scope, id, props) {
|
|
461
|
+
super(scope, id, {
|
|
462
|
+
...GatewayV1Beta1.GVK,
|
|
463
|
+
...props
|
|
464
|
+
});
|
|
465
|
+
}
|
|
466
|
+
/** Renders the object to Kubernetes JSON. */
|
|
467
|
+
toJson() {
|
|
468
|
+
const resolved = super.toJson();
|
|
469
|
+
return {
|
|
470
|
+
...GatewayV1Beta1.GVK,
|
|
471
|
+
...toJson_GatewayV1Beta1Props(resolved)
|
|
472
|
+
};
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
exports.GatewayV1Beta1 = GatewayV1Beta1;
|
|
476
|
+
/** Returns the apiVersion and kind for "GatewayV1Beta1" */
|
|
477
|
+
GatewayV1Beta1.GVK = {
|
|
478
|
+
apiVersion: "gateway.networking.k8s.io/v1beta1",
|
|
479
|
+
kind: "Gateway"
|
|
480
|
+
};
|
|
481
|
+
/** Converts an object of type 'GatewayV1Beta1Props' to JSON representation. */
|
|
482
|
+
/* eslint-disable max-len, quote-props */
|
|
483
|
+
function toJson_GatewayV1Beta1Props(obj) {
|
|
484
|
+
if (obj === undefined) {
|
|
485
|
+
return undefined;
|
|
486
|
+
}
|
|
487
|
+
const result = {
|
|
488
|
+
metadata: obj.metadata,
|
|
489
|
+
spec: toJson_GatewayV1Beta1Spec(obj.spec)
|
|
490
|
+
};
|
|
491
|
+
// filter undefined values
|
|
492
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
493
|
+
}
|
|
494
|
+
/** Converts an object of type 'GatewayV1Beta1Spec' to JSON representation. */
|
|
495
|
+
/* eslint-disable max-len, quote-props */
|
|
496
|
+
function toJson_GatewayV1Beta1Spec(obj) {
|
|
497
|
+
if (obj === undefined) {
|
|
498
|
+
return undefined;
|
|
499
|
+
}
|
|
500
|
+
const result = {
|
|
501
|
+
addresses: obj.addresses?.map(y => toJson_GatewayV1Beta1SpecAddresses(y)),
|
|
502
|
+
gatewayClassName: obj.gatewayClassName,
|
|
503
|
+
infrastructure: toJson_GatewayV1Beta1SpecInfrastructure(obj.infrastructure),
|
|
504
|
+
listeners: obj.listeners?.map(y => toJson_GatewayV1Beta1SpecListeners(y))
|
|
505
|
+
};
|
|
506
|
+
// filter undefined values
|
|
507
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
508
|
+
}
|
|
509
|
+
/** Converts an object of type 'GatewayV1Beta1SpecAddresses' to JSON representation. */
|
|
510
|
+
/* eslint-disable max-len, quote-props */
|
|
511
|
+
function toJson_GatewayV1Beta1SpecAddresses(obj) {
|
|
512
|
+
if (obj === undefined) {
|
|
513
|
+
return undefined;
|
|
514
|
+
}
|
|
515
|
+
const result = {
|
|
516
|
+
type: obj.type,
|
|
517
|
+
value: obj.value
|
|
518
|
+
};
|
|
519
|
+
// filter undefined values
|
|
520
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
521
|
+
}
|
|
522
|
+
/** Converts an object of type 'GatewayV1Beta1SpecInfrastructure' to JSON representation. */
|
|
523
|
+
/* eslint-disable max-len, quote-props */
|
|
524
|
+
function toJson_GatewayV1Beta1SpecInfrastructure(obj) {
|
|
525
|
+
if (obj === undefined) {
|
|
526
|
+
return undefined;
|
|
527
|
+
}
|
|
528
|
+
const result = {
|
|
529
|
+
annotations: obj.annotations === undefined
|
|
530
|
+
? undefined
|
|
531
|
+
: Object.entries(obj.annotations).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {}),
|
|
532
|
+
labels: obj.labels === undefined
|
|
533
|
+
? undefined
|
|
534
|
+
: Object.entries(obj.labels).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {}),
|
|
535
|
+
parametersRef: toJson_GatewayV1Beta1SpecInfrastructureParametersRef(obj.parametersRef)
|
|
536
|
+
};
|
|
537
|
+
// filter undefined values
|
|
538
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
539
|
+
}
|
|
540
|
+
/** Converts an object of type 'GatewayV1Beta1SpecListeners' to JSON representation. */
|
|
541
|
+
/* eslint-disable max-len, quote-props */
|
|
542
|
+
function toJson_GatewayV1Beta1SpecListeners(obj) {
|
|
543
|
+
if (obj === undefined) {
|
|
544
|
+
return undefined;
|
|
545
|
+
}
|
|
546
|
+
const result = {
|
|
547
|
+
allowedRoutes: toJson_GatewayV1Beta1SpecListenersAllowedRoutes(obj.allowedRoutes),
|
|
548
|
+
hostname: obj.hostname,
|
|
549
|
+
name: obj.name,
|
|
550
|
+
port: obj.port,
|
|
551
|
+
protocol: obj.protocol,
|
|
552
|
+
tls: toJson_GatewayV1Beta1SpecListenersTls(obj.tls)
|
|
553
|
+
};
|
|
554
|
+
// filter undefined values
|
|
555
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
556
|
+
}
|
|
557
|
+
/**
|
|
558
|
+
* Converts an object of type 'GatewayV1Beta1SpecInfrastructureParametersRef' to JSON
|
|
559
|
+
* representation.
|
|
560
|
+
*/
|
|
561
|
+
/* eslint-disable max-len, quote-props */
|
|
562
|
+
function toJson_GatewayV1Beta1SpecInfrastructureParametersRef(obj) {
|
|
563
|
+
if (obj === undefined) {
|
|
564
|
+
return undefined;
|
|
565
|
+
}
|
|
566
|
+
const result = {
|
|
567
|
+
group: obj.group,
|
|
568
|
+
kind: obj.kind,
|
|
569
|
+
name: obj.name
|
|
570
|
+
};
|
|
571
|
+
// filter undefined values
|
|
572
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
573
|
+
}
|
|
574
|
+
/** Converts an object of type 'GatewayV1Beta1SpecListenersAllowedRoutes' to JSON representation. */
|
|
575
|
+
/* eslint-disable max-len, quote-props */
|
|
576
|
+
function toJson_GatewayV1Beta1SpecListenersAllowedRoutes(obj) {
|
|
577
|
+
if (obj === undefined) {
|
|
578
|
+
return undefined;
|
|
579
|
+
}
|
|
580
|
+
const result = {
|
|
581
|
+
kinds: obj.kinds?.map(y => toJson_GatewayV1Beta1SpecListenersAllowedRoutesKinds(y)),
|
|
582
|
+
namespaces: toJson_GatewayV1Beta1SpecListenersAllowedRoutesNamespaces(obj.namespaces)
|
|
583
|
+
};
|
|
584
|
+
// filter undefined values
|
|
585
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
586
|
+
}
|
|
587
|
+
/** Converts an object of type 'GatewayV1Beta1SpecListenersTls' to JSON representation. */
|
|
588
|
+
/* eslint-disable max-len, quote-props */
|
|
589
|
+
function toJson_GatewayV1Beta1SpecListenersTls(obj) {
|
|
590
|
+
if (obj === undefined) {
|
|
591
|
+
return undefined;
|
|
592
|
+
}
|
|
593
|
+
const result = {
|
|
594
|
+
certificateRefs: obj.certificateRefs?.map(y => toJson_GatewayV1Beta1SpecListenersTlsCertificateRefs(y)),
|
|
595
|
+
mode: obj.mode,
|
|
596
|
+
options: obj.options === undefined
|
|
597
|
+
? undefined
|
|
598
|
+
: Object.entries(obj.options).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {})
|
|
599
|
+
};
|
|
600
|
+
// filter undefined values
|
|
601
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
602
|
+
}
|
|
603
|
+
/**
|
|
604
|
+
* Converts an object of type 'GatewayV1Beta1SpecListenersAllowedRoutesKinds' to JSON
|
|
605
|
+
* representation.
|
|
606
|
+
*/
|
|
607
|
+
/* eslint-disable max-len, quote-props */
|
|
608
|
+
function toJson_GatewayV1Beta1SpecListenersAllowedRoutesKinds(obj) {
|
|
609
|
+
if (obj === undefined) {
|
|
610
|
+
return undefined;
|
|
611
|
+
}
|
|
612
|
+
const result = {
|
|
613
|
+
group: obj.group,
|
|
614
|
+
kind: obj.kind
|
|
615
|
+
};
|
|
616
|
+
// filter undefined values
|
|
617
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
618
|
+
}
|
|
619
|
+
/**
|
|
620
|
+
* Converts an object of type 'GatewayV1Beta1SpecListenersAllowedRoutesNamespaces' to JSON
|
|
621
|
+
* representation.
|
|
622
|
+
*/
|
|
623
|
+
/* eslint-disable max-len, quote-props */
|
|
624
|
+
function toJson_GatewayV1Beta1SpecListenersAllowedRoutesNamespaces(obj) {
|
|
625
|
+
if (obj === undefined) {
|
|
626
|
+
return undefined;
|
|
627
|
+
}
|
|
628
|
+
const result = {
|
|
629
|
+
from: obj.from,
|
|
630
|
+
selector: toJson_GatewayV1Beta1SpecListenersAllowedRoutesNamespacesSelector(obj.selector)
|
|
631
|
+
};
|
|
632
|
+
// filter undefined values
|
|
633
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
634
|
+
}
|
|
635
|
+
/**
|
|
636
|
+
* Converts an object of type 'GatewayV1Beta1SpecListenersTlsCertificateRefs' to JSON
|
|
637
|
+
* representation.
|
|
638
|
+
*/
|
|
639
|
+
/* eslint-disable max-len, quote-props */
|
|
640
|
+
function toJson_GatewayV1Beta1SpecListenersTlsCertificateRefs(obj) {
|
|
641
|
+
if (obj === undefined) {
|
|
642
|
+
return undefined;
|
|
643
|
+
}
|
|
644
|
+
const result = {
|
|
645
|
+
group: obj.group,
|
|
646
|
+
kind: obj.kind,
|
|
647
|
+
name: obj.name,
|
|
648
|
+
namespace: obj.namespace
|
|
649
|
+
};
|
|
650
|
+
// filter undefined values
|
|
651
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
652
|
+
}
|
|
653
|
+
/* eslint-enable max-len, quote-props */
|
|
654
|
+
/**
|
|
655
|
+
* Mode defines the TLS behavior for the TLS session initiated by the client. There are two possible
|
|
656
|
+
* modes:
|
|
657
|
+
*
|
|
658
|
+
* - Terminate: The TLS session between the downstream client and the Gateway is terminated at the
|
|
659
|
+
* Gateway. This mode requires certificates to be specified in some way, such as populating the
|
|
660
|
+
* certificateRefs field.
|
|
661
|
+
* - Passthrough: The TLS session is NOT terminated by the Gateway. This implies that the Gateway
|
|
662
|
+
* can't decipher the TLS stream except for the ClientHello message of the TLS protocol. The
|
|
663
|
+
* certificateRefs field is ignored in this mode.
|
|
664
|
+
*
|
|
665
|
+
* Support: Core
|
|
666
|
+
*
|
|
667
|
+
* @schema GatewayV1Beta1SpecListenersTlsMode
|
|
668
|
+
*/
|
|
669
|
+
var GatewayV1Beta1SpecListenersTlsMode;
|
|
670
|
+
(function (GatewayV1Beta1SpecListenersTlsMode) {
|
|
671
|
+
/** Terminate */
|
|
672
|
+
GatewayV1Beta1SpecListenersTlsMode["TERMINATE"] = "Terminate";
|
|
673
|
+
/** Passthrough */
|
|
674
|
+
GatewayV1Beta1SpecListenersTlsMode["PASSTHROUGH"] = "Passthrough";
|
|
675
|
+
})(GatewayV1Beta1SpecListenersTlsMode || (exports.GatewayV1Beta1SpecListenersTlsMode = GatewayV1Beta1SpecListenersTlsMode = {}));
|
|
676
|
+
/**
|
|
677
|
+
* From indicates where Routes will be selected for this Gateway. Possible values are:
|
|
678
|
+
*
|
|
679
|
+
* - All: Routes in all namespaces may be used by this Gateway.
|
|
680
|
+
* - Selector: Routes in namespaces selected by the selector may be used by this Gateway.
|
|
681
|
+
* - Same: Only Routes in the same namespace may be used by this Gateway.
|
|
682
|
+
*
|
|
683
|
+
* Support: Core
|
|
684
|
+
*
|
|
685
|
+
* @schema GatewayV1Beta1SpecListenersAllowedRoutesNamespacesFrom
|
|
686
|
+
*/
|
|
687
|
+
var GatewayV1Beta1SpecListenersAllowedRoutesNamespacesFrom;
|
|
688
|
+
(function (GatewayV1Beta1SpecListenersAllowedRoutesNamespacesFrom) {
|
|
689
|
+
/** All */
|
|
690
|
+
GatewayV1Beta1SpecListenersAllowedRoutesNamespacesFrom["ALL"] = "All";
|
|
691
|
+
/** Selector */
|
|
692
|
+
GatewayV1Beta1SpecListenersAllowedRoutesNamespacesFrom["SELECTOR"] = "Selector";
|
|
693
|
+
/** Same */
|
|
694
|
+
GatewayV1Beta1SpecListenersAllowedRoutesNamespacesFrom["SAME"] = "Same";
|
|
695
|
+
})(GatewayV1Beta1SpecListenersAllowedRoutesNamespacesFrom || (exports.GatewayV1Beta1SpecListenersAllowedRoutesNamespacesFrom = GatewayV1Beta1SpecListenersAllowedRoutesNamespacesFrom = {}));
|
|
696
|
+
/**
|
|
697
|
+
* Converts an object of type 'GatewayV1Beta1SpecListenersAllowedRoutesNamespacesSelector' to JSON
|
|
698
|
+
* representation.
|
|
699
|
+
*/
|
|
700
|
+
/* eslint-disable max-len, quote-props */
|
|
701
|
+
function toJson_GatewayV1Beta1SpecListenersAllowedRoutesNamespacesSelector(obj) {
|
|
702
|
+
if (obj === undefined) {
|
|
703
|
+
return undefined;
|
|
704
|
+
}
|
|
705
|
+
const result = {
|
|
706
|
+
matchExpressions: obj.matchExpressions?.map(y => toJson_GatewayV1Beta1SpecListenersAllowedRoutesNamespacesSelectorMatchExpressions(y)),
|
|
707
|
+
matchLabels: obj.matchLabels === undefined
|
|
708
|
+
? undefined
|
|
709
|
+
: Object.entries(obj.matchLabels).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {})
|
|
710
|
+
};
|
|
711
|
+
// filter undefined values
|
|
712
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
713
|
+
}
|
|
714
|
+
/**
|
|
715
|
+
* Converts an object of type
|
|
716
|
+
* 'GatewayV1Beta1SpecListenersAllowedRoutesNamespacesSelectorMatchExpressions' to JSON
|
|
717
|
+
* representation.
|
|
718
|
+
*/
|
|
719
|
+
/* eslint-disable max-len, quote-props */
|
|
720
|
+
function toJson_GatewayV1Beta1SpecListenersAllowedRoutesNamespacesSelectorMatchExpressions(obj) {
|
|
721
|
+
if (obj === undefined) {
|
|
722
|
+
return undefined;
|
|
723
|
+
}
|
|
724
|
+
const result = {
|
|
725
|
+
key: obj.key,
|
|
726
|
+
operator: obj.operator,
|
|
727
|
+
values: obj.values?.map(y => y)
|
|
728
|
+
};
|
|
729
|
+
// filter undefined values
|
|
730
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
731
|
+
}
|
|
732
|
+
/* eslint-enable max-len, quote-props */
|
|
733
|
+
/**
|
|
734
|
+
* GatewayClass describes a class of Gateways available to the user for creating Gateway resources.
|
|
735
|
+
*
|
|
736
|
+
* It is recommended that this resource be used as a template for Gateways. This means that a
|
|
737
|
+
* Gateway is based on the state of the GatewayClass at the time it was created and changes to the
|
|
738
|
+
* GatewayClass or associated parameters are not propagated down to existing Gateways. This
|
|
739
|
+
* recommendation is intended to limit the blast radius of changes to GatewayClass or associated
|
|
740
|
+
* parameters. If implementations choose to propagate GatewayClass changes to existing Gateways,
|
|
741
|
+
* that MUST be clearly documented by the implementation.
|
|
742
|
+
*
|
|
743
|
+
* Whenever one or more Gateways are using a GatewayClass, implementations SHOULD add the
|
|
744
|
+
* `gateway-exists-finalizer.gateway.networking.k8s.io` finalizer on the associated GatewayClass.
|
|
745
|
+
* This ensures that a GatewayClass associated with a Gateway is not deleted while in use.
|
|
746
|
+
*
|
|
747
|
+
* GatewayClass is a Cluster level resource.
|
|
748
|
+
*
|
|
749
|
+
* @schema GatewayClass
|
|
750
|
+
*/
|
|
751
|
+
class GatewayClass extends cdk8s_1.ApiObject {
|
|
752
|
+
/**
|
|
753
|
+
* Renders a Kubernetes manifest for "GatewayClass".
|
|
754
|
+
*
|
|
755
|
+
* This can be used to inline resource manifests inside other objects (e.g. as templates).
|
|
756
|
+
*
|
|
757
|
+
* @param props Initialization props
|
|
758
|
+
*/
|
|
759
|
+
static manifest(props) {
|
|
760
|
+
return {
|
|
761
|
+
...GatewayClass.GVK,
|
|
762
|
+
...toJson_GatewayClassProps(props)
|
|
763
|
+
};
|
|
764
|
+
}
|
|
765
|
+
/**
|
|
766
|
+
* Defines a "GatewayClass" API object
|
|
767
|
+
*
|
|
768
|
+
* @param scope The scope in which to define this object
|
|
769
|
+
* @param id A scope-local name for the object
|
|
770
|
+
* @param props Initialization props
|
|
771
|
+
*/
|
|
772
|
+
constructor(scope, id, props) {
|
|
773
|
+
super(scope, id, {
|
|
774
|
+
...GatewayClass.GVK,
|
|
775
|
+
...props
|
|
776
|
+
});
|
|
777
|
+
}
|
|
778
|
+
/** Renders the object to Kubernetes JSON. */
|
|
779
|
+
toJson() {
|
|
780
|
+
const resolved = super.toJson();
|
|
781
|
+
return {
|
|
782
|
+
...GatewayClass.GVK,
|
|
783
|
+
...toJson_GatewayClassProps(resolved)
|
|
784
|
+
};
|
|
785
|
+
}
|
|
786
|
+
}
|
|
787
|
+
exports.GatewayClass = GatewayClass;
|
|
788
|
+
/** Returns the apiVersion and kind for "GatewayClass" */
|
|
789
|
+
GatewayClass.GVK = {
|
|
790
|
+
apiVersion: "gateway.networking.k8s.io/v1",
|
|
791
|
+
kind: "GatewayClass"
|
|
792
|
+
};
|
|
793
|
+
/** Converts an object of type 'GatewayClassProps' to JSON representation. */
|
|
794
|
+
/* eslint-disable max-len, quote-props */
|
|
795
|
+
function toJson_GatewayClassProps(obj) {
|
|
796
|
+
if (obj === undefined) {
|
|
797
|
+
return undefined;
|
|
798
|
+
}
|
|
799
|
+
const result = {
|
|
800
|
+
metadata: obj.metadata,
|
|
801
|
+
spec: toJson_GatewayClassSpec(obj.spec)
|
|
802
|
+
};
|
|
803
|
+
// filter undefined values
|
|
804
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
805
|
+
}
|
|
806
|
+
/** Converts an object of type 'GatewayClassSpec' to JSON representation. */
|
|
807
|
+
/* eslint-disable max-len, quote-props */
|
|
808
|
+
function toJson_GatewayClassSpec(obj) {
|
|
809
|
+
if (obj === undefined) {
|
|
810
|
+
return undefined;
|
|
811
|
+
}
|
|
812
|
+
const result = {
|
|
813
|
+
controllerName: obj.controllerName,
|
|
814
|
+
description: obj.description,
|
|
815
|
+
parametersRef: toJson_GatewayClassSpecParametersRef(obj.parametersRef)
|
|
816
|
+
};
|
|
817
|
+
// filter undefined values
|
|
818
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
819
|
+
}
|
|
820
|
+
/** Converts an object of type 'GatewayClassSpecParametersRef' to JSON representation. */
|
|
821
|
+
/* eslint-disable max-len, quote-props */
|
|
822
|
+
function toJson_GatewayClassSpecParametersRef(obj) {
|
|
823
|
+
if (obj === undefined) {
|
|
824
|
+
return undefined;
|
|
825
|
+
}
|
|
826
|
+
const result = {
|
|
827
|
+
group: obj.group,
|
|
828
|
+
kind: obj.kind,
|
|
829
|
+
name: obj.name,
|
|
830
|
+
namespace: obj.namespace
|
|
831
|
+
};
|
|
832
|
+
// filter undefined values
|
|
833
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
834
|
+
}
|
|
835
|
+
/* eslint-enable max-len, quote-props */
|
|
836
|
+
/**
|
|
837
|
+
* GatewayClass describes a class of Gateways available to the user for creating Gateway resources.
|
|
838
|
+
*
|
|
839
|
+
* It is recommended that this resource be used as a template for Gateways. This means that a
|
|
840
|
+
* Gateway is based on the state of the GatewayClass at the time it was created and changes to the
|
|
841
|
+
* GatewayClass or associated parameters are not propagated down to existing Gateways. This
|
|
842
|
+
* recommendation is intended to limit the blast radius of changes to GatewayClass or associated
|
|
843
|
+
* parameters. If implementations choose to propagate GatewayClass changes to existing Gateways,
|
|
844
|
+
* that MUST be clearly documented by the implementation.
|
|
845
|
+
*
|
|
846
|
+
* Whenever one or more Gateways are using a GatewayClass, implementations SHOULD add the
|
|
847
|
+
* `gateway-exists-finalizer.gateway.networking.k8s.io` finalizer on the associated GatewayClass.
|
|
848
|
+
* This ensures that a GatewayClass associated with a Gateway is not deleted while in use.
|
|
849
|
+
*
|
|
850
|
+
* GatewayClass is a Cluster level resource.
|
|
851
|
+
*
|
|
852
|
+
* @schema GatewayClassV1Beta1
|
|
853
|
+
*/
|
|
854
|
+
class GatewayClassV1Beta1 extends cdk8s_1.ApiObject {
|
|
855
|
+
/**
|
|
856
|
+
* Renders a Kubernetes manifest for "GatewayClassV1Beta1".
|
|
857
|
+
*
|
|
858
|
+
* This can be used to inline resource manifests inside other objects (e.g. as templates).
|
|
859
|
+
*
|
|
860
|
+
* @param props Initialization props
|
|
861
|
+
*/
|
|
862
|
+
static manifest(props) {
|
|
863
|
+
return {
|
|
864
|
+
...GatewayClassV1Beta1.GVK,
|
|
865
|
+
...toJson_GatewayClassV1Beta1Props(props)
|
|
866
|
+
};
|
|
867
|
+
}
|
|
868
|
+
/**
|
|
869
|
+
* Defines a "GatewayClassV1Beta1" API object
|
|
870
|
+
*
|
|
871
|
+
* @param scope The scope in which to define this object
|
|
872
|
+
* @param id A scope-local name for the object
|
|
873
|
+
* @param props Initialization props
|
|
874
|
+
*/
|
|
875
|
+
constructor(scope, id, props) {
|
|
876
|
+
super(scope, id, {
|
|
877
|
+
...GatewayClassV1Beta1.GVK,
|
|
878
|
+
...props
|
|
879
|
+
});
|
|
880
|
+
}
|
|
881
|
+
/** Renders the object to Kubernetes JSON. */
|
|
882
|
+
toJson() {
|
|
883
|
+
const resolved = super.toJson();
|
|
884
|
+
return {
|
|
885
|
+
...GatewayClassV1Beta1.GVK,
|
|
886
|
+
...toJson_GatewayClassV1Beta1Props(resolved)
|
|
887
|
+
};
|
|
888
|
+
}
|
|
889
|
+
}
|
|
890
|
+
exports.GatewayClassV1Beta1 = GatewayClassV1Beta1;
|
|
891
|
+
/** Returns the apiVersion and kind for "GatewayClassV1Beta1" */
|
|
892
|
+
GatewayClassV1Beta1.GVK = {
|
|
893
|
+
apiVersion: "gateway.networking.k8s.io/v1beta1",
|
|
894
|
+
kind: "GatewayClass"
|
|
895
|
+
};
|
|
896
|
+
/** Converts an object of type 'GatewayClassV1Beta1Props' to JSON representation. */
|
|
897
|
+
/* eslint-disable max-len, quote-props */
|
|
898
|
+
function toJson_GatewayClassV1Beta1Props(obj) {
|
|
899
|
+
if (obj === undefined) {
|
|
900
|
+
return undefined;
|
|
901
|
+
}
|
|
902
|
+
const result = {
|
|
903
|
+
metadata: obj.metadata,
|
|
904
|
+
spec: toJson_GatewayClassV1Beta1Spec(obj.spec)
|
|
905
|
+
};
|
|
906
|
+
// filter undefined values
|
|
907
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
908
|
+
}
|
|
909
|
+
/** Converts an object of type 'GatewayClassV1Beta1Spec' to JSON representation. */
|
|
910
|
+
/* eslint-disable max-len, quote-props */
|
|
911
|
+
function toJson_GatewayClassV1Beta1Spec(obj) {
|
|
912
|
+
if (obj === undefined) {
|
|
913
|
+
return undefined;
|
|
914
|
+
}
|
|
915
|
+
const result = {
|
|
916
|
+
controllerName: obj.controllerName,
|
|
917
|
+
description: obj.description,
|
|
918
|
+
parametersRef: toJson_GatewayClassV1Beta1SpecParametersRef(obj.parametersRef)
|
|
919
|
+
};
|
|
920
|
+
// filter undefined values
|
|
921
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
922
|
+
}
|
|
923
|
+
/** Converts an object of type 'GatewayClassV1Beta1SpecParametersRef' to JSON representation. */
|
|
924
|
+
/* eslint-disable max-len, quote-props */
|
|
925
|
+
function toJson_GatewayClassV1Beta1SpecParametersRef(obj) {
|
|
926
|
+
if (obj === undefined) {
|
|
927
|
+
return undefined;
|
|
928
|
+
}
|
|
929
|
+
const result = {
|
|
930
|
+
group: obj.group,
|
|
931
|
+
kind: obj.kind,
|
|
932
|
+
name: obj.name,
|
|
933
|
+
namespace: obj.namespace
|
|
934
|
+
};
|
|
935
|
+
// filter undefined values
|
|
936
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
937
|
+
}
|
|
938
|
+
/* eslint-enable max-len, quote-props */
|
|
939
|
+
/**
|
|
940
|
+
* GRPCRoute provides a way to route gRPC requests. This includes the capability to match requests
|
|
941
|
+
* by hostname, gRPC service, gRPC method, or HTTP/2 header. Filters can be used to specify
|
|
942
|
+
* additional processing steps. Backends specify where matching requests will be routed.
|
|
943
|
+
*
|
|
944
|
+
* GRPCRoute falls under extended support within the Gateway API. Within the following
|
|
945
|
+
* specification, the word "MUST" indicates that an implementation supporting GRPCRoute must conform
|
|
946
|
+
* to the indicated requirement, but an implementation not supporting this route type need not
|
|
947
|
+
* follow the requirement unless explicitly indicated.
|
|
948
|
+
*
|
|
949
|
+
* Implementations supporting `GRPCRoute` with the `HTTPS` `ProtocolType` MUST accept HTTP/2
|
|
950
|
+
* connections without an initial upgrade from HTTP/1.1, i.e. via ALPN. If the implementation does
|
|
951
|
+
* not support this, then it MUST set the "Accepted" condition to "False" for the affected listener
|
|
952
|
+
* with a reason of "UnsupportedProtocol". Implementations MAY also accept HTTP/2 connections with
|
|
953
|
+
* an upgrade from HTTP/1.
|
|
954
|
+
*
|
|
955
|
+
* Implementations supporting `GRPCRoute` with the `HTTP` `ProtocolType` MUST support HTTP/2 over
|
|
956
|
+
* cleartext TCP (h2c, https://www.rfc-editor.org/rfc/rfc7540#section-3.1) without an initial
|
|
957
|
+
* upgrade from HTTP/1.1, i.e. with prior knowledge
|
|
958
|
+
* (https://www.rfc-editor.org/rfc/rfc7540#section-3.4). If the implementation does not support
|
|
959
|
+
* this, then it MUST set the "Accepted" condition to "False" for the affected listener with a
|
|
960
|
+
* reason of "UnsupportedProtocol". Implementations MAY also accept HTTP/2 connections with an
|
|
961
|
+
* upgrade from HTTP/1, i.e. without prior knowledge.
|
|
962
|
+
*
|
|
963
|
+
* @schema GRPCRoute
|
|
964
|
+
*/
|
|
965
|
+
class GrpcRoute extends cdk8s_1.ApiObject {
|
|
966
|
+
/**
|
|
967
|
+
* Renders a Kubernetes manifest for "GRPCRoute".
|
|
968
|
+
*
|
|
969
|
+
* This can be used to inline resource manifests inside other objects (e.g. as templates).
|
|
970
|
+
*
|
|
971
|
+
* @param props Initialization props
|
|
972
|
+
*/
|
|
973
|
+
static manifest(props = {}) {
|
|
974
|
+
return {
|
|
975
|
+
...GrpcRoute.GVK,
|
|
976
|
+
...toJson_GrpcRouteProps(props)
|
|
977
|
+
};
|
|
978
|
+
}
|
|
979
|
+
/**
|
|
980
|
+
* Defines a "GRPCRoute" API object
|
|
981
|
+
*
|
|
982
|
+
* @param scope The scope in which to define this object
|
|
983
|
+
* @param id A scope-local name for the object
|
|
984
|
+
* @param props Initialization props
|
|
985
|
+
*/
|
|
986
|
+
constructor(scope, id, props = {}) {
|
|
987
|
+
super(scope, id, {
|
|
988
|
+
...GrpcRoute.GVK,
|
|
989
|
+
...props
|
|
990
|
+
});
|
|
991
|
+
}
|
|
992
|
+
/** Renders the object to Kubernetes JSON. */
|
|
993
|
+
toJson() {
|
|
994
|
+
const resolved = super.toJson();
|
|
995
|
+
return {
|
|
996
|
+
...GrpcRoute.GVK,
|
|
997
|
+
...toJson_GrpcRouteProps(resolved)
|
|
998
|
+
};
|
|
999
|
+
}
|
|
1000
|
+
}
|
|
1001
|
+
exports.GrpcRoute = GrpcRoute;
|
|
1002
|
+
/** Returns the apiVersion and kind for "GRPCRoute" */
|
|
1003
|
+
GrpcRoute.GVK = {
|
|
1004
|
+
apiVersion: "gateway.networking.k8s.io/v1",
|
|
1005
|
+
kind: "GRPCRoute"
|
|
1006
|
+
};
|
|
1007
|
+
/** Converts an object of type 'GrpcRouteProps' to JSON representation. */
|
|
1008
|
+
/* eslint-disable max-len, quote-props */
|
|
1009
|
+
function toJson_GrpcRouteProps(obj) {
|
|
1010
|
+
if (obj === undefined) {
|
|
1011
|
+
return undefined;
|
|
1012
|
+
}
|
|
1013
|
+
const result = {
|
|
1014
|
+
metadata: obj.metadata,
|
|
1015
|
+
spec: toJson_GrpcRouteSpec(obj.spec)
|
|
1016
|
+
};
|
|
1017
|
+
// filter undefined values
|
|
1018
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1019
|
+
}
|
|
1020
|
+
/** Converts an object of type 'GrpcRouteSpec' to JSON representation. */
|
|
1021
|
+
/* eslint-disable max-len, quote-props */
|
|
1022
|
+
function toJson_GrpcRouteSpec(obj) {
|
|
1023
|
+
if (obj === undefined) {
|
|
1024
|
+
return undefined;
|
|
1025
|
+
}
|
|
1026
|
+
const result = {
|
|
1027
|
+
hostnames: obj.hostnames?.map(y => y),
|
|
1028
|
+
parentRefs: obj.parentRefs?.map(y => toJson_GrpcRouteSpecParentRefs(y)),
|
|
1029
|
+
rules: obj.rules?.map(y => toJson_GrpcRouteSpecRules(y))
|
|
1030
|
+
};
|
|
1031
|
+
// filter undefined values
|
|
1032
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1033
|
+
}
|
|
1034
|
+
/** Converts an object of type 'GrpcRouteSpecParentRefs' to JSON representation. */
|
|
1035
|
+
/* eslint-disable max-len, quote-props */
|
|
1036
|
+
function toJson_GrpcRouteSpecParentRefs(obj) {
|
|
1037
|
+
if (obj === undefined) {
|
|
1038
|
+
return undefined;
|
|
1039
|
+
}
|
|
1040
|
+
const result = {
|
|
1041
|
+
group: obj.group,
|
|
1042
|
+
kind: obj.kind,
|
|
1043
|
+
name: obj.name,
|
|
1044
|
+
namespace: obj.namespace,
|
|
1045
|
+
port: obj.port,
|
|
1046
|
+
sectionName: obj.sectionName
|
|
1047
|
+
};
|
|
1048
|
+
// filter undefined values
|
|
1049
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1050
|
+
}
|
|
1051
|
+
/** Converts an object of type 'GrpcRouteSpecRules' to JSON representation. */
|
|
1052
|
+
/* eslint-disable max-len, quote-props */
|
|
1053
|
+
function toJson_GrpcRouteSpecRules(obj) {
|
|
1054
|
+
if (obj === undefined) {
|
|
1055
|
+
return undefined;
|
|
1056
|
+
}
|
|
1057
|
+
const result = {
|
|
1058
|
+
backendRefs: obj.backendRefs?.map(y => toJson_GrpcRouteSpecRulesBackendRefs(y)),
|
|
1059
|
+
filters: obj.filters?.map(y => toJson_GrpcRouteSpecRulesFilters(y)),
|
|
1060
|
+
matches: obj.matches?.map(y => toJson_GrpcRouteSpecRulesMatches(y))
|
|
1061
|
+
};
|
|
1062
|
+
// filter undefined values
|
|
1063
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1064
|
+
}
|
|
1065
|
+
/** Converts an object of type 'GrpcRouteSpecRulesBackendRefs' to JSON representation. */
|
|
1066
|
+
/* eslint-disable max-len, quote-props */
|
|
1067
|
+
function toJson_GrpcRouteSpecRulesBackendRefs(obj) {
|
|
1068
|
+
if (obj === undefined) {
|
|
1069
|
+
return undefined;
|
|
1070
|
+
}
|
|
1071
|
+
const result = {
|
|
1072
|
+
filters: obj.filters?.map(y => toJson_GrpcRouteSpecRulesBackendRefsFilters(y)),
|
|
1073
|
+
group: obj.group,
|
|
1074
|
+
kind: obj.kind,
|
|
1075
|
+
name: obj.name,
|
|
1076
|
+
namespace: obj.namespace,
|
|
1077
|
+
port: obj.port,
|
|
1078
|
+
weight: obj.weight
|
|
1079
|
+
};
|
|
1080
|
+
// filter undefined values
|
|
1081
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1082
|
+
}
|
|
1083
|
+
/** Converts an object of type 'GrpcRouteSpecRulesFilters' to JSON representation. */
|
|
1084
|
+
/* eslint-disable max-len, quote-props */
|
|
1085
|
+
function toJson_GrpcRouteSpecRulesFilters(obj) {
|
|
1086
|
+
if (obj === undefined) {
|
|
1087
|
+
return undefined;
|
|
1088
|
+
}
|
|
1089
|
+
const result = {
|
|
1090
|
+
extensionRef: toJson_GrpcRouteSpecRulesFiltersExtensionRef(obj.extensionRef),
|
|
1091
|
+
requestHeaderModifier: toJson_GrpcRouteSpecRulesFiltersRequestHeaderModifier(obj.requestHeaderModifier),
|
|
1092
|
+
requestMirror: toJson_GrpcRouteSpecRulesFiltersRequestMirror(obj.requestMirror),
|
|
1093
|
+
responseHeaderModifier: toJson_GrpcRouteSpecRulesFiltersResponseHeaderModifier(obj.responseHeaderModifier),
|
|
1094
|
+
type: obj.type
|
|
1095
|
+
};
|
|
1096
|
+
// filter undefined values
|
|
1097
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1098
|
+
}
|
|
1099
|
+
/** Converts an object of type 'GrpcRouteSpecRulesMatches' to JSON representation. */
|
|
1100
|
+
/* eslint-disable max-len, quote-props */
|
|
1101
|
+
function toJson_GrpcRouteSpecRulesMatches(obj) {
|
|
1102
|
+
if (obj === undefined) {
|
|
1103
|
+
return undefined;
|
|
1104
|
+
}
|
|
1105
|
+
const result = {
|
|
1106
|
+
headers: obj.headers?.map(y => toJson_GrpcRouteSpecRulesMatchesHeaders(y)),
|
|
1107
|
+
method: toJson_GrpcRouteSpecRulesMatchesMethod(obj.method)
|
|
1108
|
+
};
|
|
1109
|
+
// filter undefined values
|
|
1110
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1111
|
+
}
|
|
1112
|
+
/** Converts an object of type 'GrpcRouteSpecRulesBackendRefsFilters' to JSON representation. */
|
|
1113
|
+
/* eslint-disable max-len, quote-props */
|
|
1114
|
+
function toJson_GrpcRouteSpecRulesBackendRefsFilters(obj) {
|
|
1115
|
+
if (obj === undefined) {
|
|
1116
|
+
return undefined;
|
|
1117
|
+
}
|
|
1118
|
+
const result = {
|
|
1119
|
+
extensionRef: toJson_GrpcRouteSpecRulesBackendRefsFiltersExtensionRef(obj.extensionRef),
|
|
1120
|
+
requestHeaderModifier: toJson_GrpcRouteSpecRulesBackendRefsFiltersRequestHeaderModifier(obj.requestHeaderModifier),
|
|
1121
|
+
requestMirror: toJson_GrpcRouteSpecRulesBackendRefsFiltersRequestMirror(obj.requestMirror),
|
|
1122
|
+
responseHeaderModifier: toJson_GrpcRouteSpecRulesBackendRefsFiltersResponseHeaderModifier(obj.responseHeaderModifier),
|
|
1123
|
+
type: obj.type
|
|
1124
|
+
};
|
|
1125
|
+
// filter undefined values
|
|
1126
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1127
|
+
}
|
|
1128
|
+
/** Converts an object of type 'GrpcRouteSpecRulesFiltersExtensionRef' to JSON representation. */
|
|
1129
|
+
/* eslint-disable max-len, quote-props */
|
|
1130
|
+
function toJson_GrpcRouteSpecRulesFiltersExtensionRef(obj) {
|
|
1131
|
+
if (obj === undefined) {
|
|
1132
|
+
return undefined;
|
|
1133
|
+
}
|
|
1134
|
+
const result = {
|
|
1135
|
+
group: obj.group,
|
|
1136
|
+
kind: obj.kind,
|
|
1137
|
+
name: obj.name
|
|
1138
|
+
};
|
|
1139
|
+
// filter undefined values
|
|
1140
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1141
|
+
}
|
|
1142
|
+
/**
|
|
1143
|
+
* Converts an object of type 'GrpcRouteSpecRulesFiltersRequestHeaderModifier' to JSON
|
|
1144
|
+
* representation.
|
|
1145
|
+
*/
|
|
1146
|
+
/* eslint-disable max-len, quote-props */
|
|
1147
|
+
function toJson_GrpcRouteSpecRulesFiltersRequestHeaderModifier(obj) {
|
|
1148
|
+
if (obj === undefined) {
|
|
1149
|
+
return undefined;
|
|
1150
|
+
}
|
|
1151
|
+
const result = {
|
|
1152
|
+
add: obj.add?.map(y => toJson_GrpcRouteSpecRulesFiltersRequestHeaderModifierAdd(y)),
|
|
1153
|
+
remove: obj.remove?.map(y => y),
|
|
1154
|
+
set: obj.set?.map(y => toJson_GrpcRouteSpecRulesFiltersRequestHeaderModifierSet(y))
|
|
1155
|
+
};
|
|
1156
|
+
// filter undefined values
|
|
1157
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1158
|
+
}
|
|
1159
|
+
/** Converts an object of type 'GrpcRouteSpecRulesFiltersRequestMirror' to JSON representation. */
|
|
1160
|
+
/* eslint-disable max-len, quote-props */
|
|
1161
|
+
function toJson_GrpcRouteSpecRulesFiltersRequestMirror(obj) {
|
|
1162
|
+
if (obj === undefined) {
|
|
1163
|
+
return undefined;
|
|
1164
|
+
}
|
|
1165
|
+
const result = {
|
|
1166
|
+
backendRef: toJson_GrpcRouteSpecRulesFiltersRequestMirrorBackendRef(obj.backendRef)
|
|
1167
|
+
};
|
|
1168
|
+
// filter undefined values
|
|
1169
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1170
|
+
}
|
|
1171
|
+
/**
|
|
1172
|
+
* Converts an object of type 'GrpcRouteSpecRulesFiltersResponseHeaderModifier' to JSON
|
|
1173
|
+
* representation.
|
|
1174
|
+
*/
|
|
1175
|
+
/* eslint-disable max-len, quote-props */
|
|
1176
|
+
function toJson_GrpcRouteSpecRulesFiltersResponseHeaderModifier(obj) {
|
|
1177
|
+
if (obj === undefined) {
|
|
1178
|
+
return undefined;
|
|
1179
|
+
}
|
|
1180
|
+
const result = {
|
|
1181
|
+
add: obj.add?.map(y => toJson_GrpcRouteSpecRulesFiltersResponseHeaderModifierAdd(y)),
|
|
1182
|
+
remove: obj.remove?.map(y => y),
|
|
1183
|
+
set: obj.set?.map(y => toJson_GrpcRouteSpecRulesFiltersResponseHeaderModifierSet(y))
|
|
1184
|
+
};
|
|
1185
|
+
// filter undefined values
|
|
1186
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1187
|
+
}
|
|
1188
|
+
/* eslint-enable max-len, quote-props */
|
|
1189
|
+
/**
|
|
1190
|
+
* Type identifies the type of filter to apply. As with other API fields, types are classified into
|
|
1191
|
+
* three conformance levels:
|
|
1192
|
+
*
|
|
1193
|
+
* - Core: Filter types and their corresponding configuration defined by "Support: Core" in this
|
|
1194
|
+
* package, e.g. "RequestHeaderModifier". All implementations supporting GRPCRoute MUST support
|
|
1195
|
+
* core filters.
|
|
1196
|
+
* - Extended: Filter types and their corresponding configuration defined by "Support: Extended" in
|
|
1197
|
+
* this package, e.g. "RequestMirror". Implementers are encouraged to support extended filters.
|
|
1198
|
+
* - Implementation-specific: Filters that are defined and supported by specific vendors. In the
|
|
1199
|
+
* future, filters showing convergence in behavior across multiple implementations will be
|
|
1200
|
+
* considered for inclusion in extended or core conformance levels. Filter-specific configuration
|
|
1201
|
+
* for such filters is specified using the ExtensionRef field. `Type` MUST be set to
|
|
1202
|
+
* "ExtensionRef" for custom filters.
|
|
1203
|
+
*
|
|
1204
|
+
* Implementers are encouraged to define custom implementation types to extend the core API with
|
|
1205
|
+
* implementation-specific behavior.
|
|
1206
|
+
*
|
|
1207
|
+
* If a reference to a custom filter type cannot be resolved, the filter MUST NOT be skipped.
|
|
1208
|
+
* Instead, requests that would have been processed by that filter MUST receive a HTTP error
|
|
1209
|
+
* response.
|
|
1210
|
+
*
|
|
1211
|
+
* @schema GrpcRouteSpecRulesFiltersType
|
|
1212
|
+
*/
|
|
1213
|
+
var GrpcRouteSpecRulesFiltersType;
|
|
1214
|
+
(function (GrpcRouteSpecRulesFiltersType) {
|
|
1215
|
+
/** ResponseHeaderModifier */
|
|
1216
|
+
GrpcRouteSpecRulesFiltersType["RESPONSE_HEADER_MODIFIER"] = "ResponseHeaderModifier";
|
|
1217
|
+
/** RequestHeaderModifier */
|
|
1218
|
+
GrpcRouteSpecRulesFiltersType["REQUEST_HEADER_MODIFIER"] = "RequestHeaderModifier";
|
|
1219
|
+
/** RequestMirror */
|
|
1220
|
+
GrpcRouteSpecRulesFiltersType["REQUEST_MIRROR"] = "RequestMirror";
|
|
1221
|
+
/** ExtensionRef */
|
|
1222
|
+
GrpcRouteSpecRulesFiltersType["EXTENSION_REF"] = "ExtensionRef";
|
|
1223
|
+
})(GrpcRouteSpecRulesFiltersType || (exports.GrpcRouteSpecRulesFiltersType = GrpcRouteSpecRulesFiltersType = {}));
|
|
1224
|
+
/** Converts an object of type 'GrpcRouteSpecRulesMatchesHeaders' to JSON representation. */
|
|
1225
|
+
/* eslint-disable max-len, quote-props */
|
|
1226
|
+
function toJson_GrpcRouteSpecRulesMatchesHeaders(obj) {
|
|
1227
|
+
if (obj === undefined) {
|
|
1228
|
+
return undefined;
|
|
1229
|
+
}
|
|
1230
|
+
const result = {
|
|
1231
|
+
name: obj.name,
|
|
1232
|
+
type: obj.type,
|
|
1233
|
+
value: obj.value
|
|
1234
|
+
};
|
|
1235
|
+
// filter undefined values
|
|
1236
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1237
|
+
}
|
|
1238
|
+
/** Converts an object of type 'GrpcRouteSpecRulesMatchesMethod' to JSON representation. */
|
|
1239
|
+
/* eslint-disable max-len, quote-props */
|
|
1240
|
+
function toJson_GrpcRouteSpecRulesMatchesMethod(obj) {
|
|
1241
|
+
if (obj === undefined) {
|
|
1242
|
+
return undefined;
|
|
1243
|
+
}
|
|
1244
|
+
const result = {
|
|
1245
|
+
method: obj.method,
|
|
1246
|
+
service: obj.service,
|
|
1247
|
+
type: obj.type
|
|
1248
|
+
};
|
|
1249
|
+
// filter undefined values
|
|
1250
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1251
|
+
}
|
|
1252
|
+
/**
|
|
1253
|
+
* Converts an object of type 'GrpcRouteSpecRulesBackendRefsFiltersExtensionRef' to JSON
|
|
1254
|
+
* representation.
|
|
1255
|
+
*/
|
|
1256
|
+
/* eslint-disable max-len, quote-props */
|
|
1257
|
+
function toJson_GrpcRouteSpecRulesBackendRefsFiltersExtensionRef(obj) {
|
|
1258
|
+
if (obj === undefined) {
|
|
1259
|
+
return undefined;
|
|
1260
|
+
}
|
|
1261
|
+
const result = {
|
|
1262
|
+
group: obj.group,
|
|
1263
|
+
kind: obj.kind,
|
|
1264
|
+
name: obj.name
|
|
1265
|
+
};
|
|
1266
|
+
// filter undefined values
|
|
1267
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1268
|
+
}
|
|
1269
|
+
/**
|
|
1270
|
+
* Converts an object of type 'GrpcRouteSpecRulesBackendRefsFiltersRequestHeaderModifier' to JSON
|
|
1271
|
+
* representation.
|
|
1272
|
+
*/
|
|
1273
|
+
/* eslint-disable max-len, quote-props */
|
|
1274
|
+
function toJson_GrpcRouteSpecRulesBackendRefsFiltersRequestHeaderModifier(obj) {
|
|
1275
|
+
if (obj === undefined) {
|
|
1276
|
+
return undefined;
|
|
1277
|
+
}
|
|
1278
|
+
const result = {
|
|
1279
|
+
add: obj.add?.map(y => toJson_GrpcRouteSpecRulesBackendRefsFiltersRequestHeaderModifierAdd(y)),
|
|
1280
|
+
remove: obj.remove?.map(y => y),
|
|
1281
|
+
set: obj.set?.map(y => toJson_GrpcRouteSpecRulesBackendRefsFiltersRequestHeaderModifierSet(y))
|
|
1282
|
+
};
|
|
1283
|
+
// filter undefined values
|
|
1284
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1285
|
+
}
|
|
1286
|
+
/**
|
|
1287
|
+
* Converts an object of type 'GrpcRouteSpecRulesBackendRefsFiltersRequestMirror' to JSON
|
|
1288
|
+
* representation.
|
|
1289
|
+
*/
|
|
1290
|
+
/* eslint-disable max-len, quote-props */
|
|
1291
|
+
function toJson_GrpcRouteSpecRulesBackendRefsFiltersRequestMirror(obj) {
|
|
1292
|
+
if (obj === undefined) {
|
|
1293
|
+
return undefined;
|
|
1294
|
+
}
|
|
1295
|
+
const result = {
|
|
1296
|
+
backendRef: toJson_GrpcRouteSpecRulesBackendRefsFiltersRequestMirrorBackendRef(obj.backendRef)
|
|
1297
|
+
};
|
|
1298
|
+
// filter undefined values
|
|
1299
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1300
|
+
}
|
|
1301
|
+
/**
|
|
1302
|
+
* Converts an object of type 'GrpcRouteSpecRulesBackendRefsFiltersResponseHeaderModifier' to JSON
|
|
1303
|
+
* representation.
|
|
1304
|
+
*/
|
|
1305
|
+
/* eslint-disable max-len, quote-props */
|
|
1306
|
+
function toJson_GrpcRouteSpecRulesBackendRefsFiltersResponseHeaderModifier(obj) {
|
|
1307
|
+
if (obj === undefined) {
|
|
1308
|
+
return undefined;
|
|
1309
|
+
}
|
|
1310
|
+
const result = {
|
|
1311
|
+
add: obj.add?.map(y => toJson_GrpcRouteSpecRulesBackendRefsFiltersResponseHeaderModifierAdd(y)),
|
|
1312
|
+
remove: obj.remove?.map(y => y),
|
|
1313
|
+
set: obj.set?.map(y => toJson_GrpcRouteSpecRulesBackendRefsFiltersResponseHeaderModifierSet(y))
|
|
1314
|
+
};
|
|
1315
|
+
// filter undefined values
|
|
1316
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1317
|
+
}
|
|
1318
|
+
/* eslint-enable max-len, quote-props */
|
|
1319
|
+
/**
|
|
1320
|
+
* Type identifies the type of filter to apply. As with other API fields, types are classified into
|
|
1321
|
+
* three conformance levels:
|
|
1322
|
+
*
|
|
1323
|
+
* - Core: Filter types and their corresponding configuration defined by "Support: Core" in this
|
|
1324
|
+
* package, e.g. "RequestHeaderModifier". All implementations supporting GRPCRoute MUST support
|
|
1325
|
+
* core filters.
|
|
1326
|
+
* - Extended: Filter types and their corresponding configuration defined by "Support: Extended" in
|
|
1327
|
+
* this package, e.g. "RequestMirror". Implementers are encouraged to support extended filters.
|
|
1328
|
+
* - Implementation-specific: Filters that are defined and supported by specific vendors. In the
|
|
1329
|
+
* future, filters showing convergence in behavior across multiple implementations will be
|
|
1330
|
+
* considered for inclusion in extended or core conformance levels. Filter-specific configuration
|
|
1331
|
+
* for such filters is specified using the ExtensionRef field. `Type` MUST be set to
|
|
1332
|
+
* "ExtensionRef" for custom filters.
|
|
1333
|
+
*
|
|
1334
|
+
* Implementers are encouraged to define custom implementation types to extend the core API with
|
|
1335
|
+
* implementation-specific behavior.
|
|
1336
|
+
*
|
|
1337
|
+
* If a reference to a custom filter type cannot be resolved, the filter MUST NOT be skipped.
|
|
1338
|
+
* Instead, requests that would have been processed by that filter MUST receive a HTTP error
|
|
1339
|
+
* response.
|
|
1340
|
+
*
|
|
1341
|
+
* @schema GrpcRouteSpecRulesBackendRefsFiltersType
|
|
1342
|
+
*/
|
|
1343
|
+
var GrpcRouteSpecRulesBackendRefsFiltersType;
|
|
1344
|
+
(function (GrpcRouteSpecRulesBackendRefsFiltersType) {
|
|
1345
|
+
/** ResponseHeaderModifier */
|
|
1346
|
+
GrpcRouteSpecRulesBackendRefsFiltersType["RESPONSE_HEADER_MODIFIER"] = "ResponseHeaderModifier";
|
|
1347
|
+
/** RequestHeaderModifier */
|
|
1348
|
+
GrpcRouteSpecRulesBackendRefsFiltersType["REQUEST_HEADER_MODIFIER"] = "RequestHeaderModifier";
|
|
1349
|
+
/** RequestMirror */
|
|
1350
|
+
GrpcRouteSpecRulesBackendRefsFiltersType["REQUEST_MIRROR"] = "RequestMirror";
|
|
1351
|
+
/** ExtensionRef */
|
|
1352
|
+
GrpcRouteSpecRulesBackendRefsFiltersType["EXTENSION_REF"] = "ExtensionRef";
|
|
1353
|
+
})(GrpcRouteSpecRulesBackendRefsFiltersType || (exports.GrpcRouteSpecRulesBackendRefsFiltersType = GrpcRouteSpecRulesBackendRefsFiltersType = {}));
|
|
1354
|
+
/**
|
|
1355
|
+
* Converts an object of type 'GrpcRouteSpecRulesFiltersRequestHeaderModifierAdd' to JSON
|
|
1356
|
+
* representation.
|
|
1357
|
+
*/
|
|
1358
|
+
/* eslint-disable max-len, quote-props */
|
|
1359
|
+
function toJson_GrpcRouteSpecRulesFiltersRequestHeaderModifierAdd(obj) {
|
|
1360
|
+
if (obj === undefined) {
|
|
1361
|
+
return undefined;
|
|
1362
|
+
}
|
|
1363
|
+
const result = {
|
|
1364
|
+
name: obj.name,
|
|
1365
|
+
value: obj.value
|
|
1366
|
+
};
|
|
1367
|
+
// filter undefined values
|
|
1368
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1369
|
+
}
|
|
1370
|
+
/**
|
|
1371
|
+
* Converts an object of type 'GrpcRouteSpecRulesFiltersRequestHeaderModifierSet' to JSON
|
|
1372
|
+
* representation.
|
|
1373
|
+
*/
|
|
1374
|
+
/* eslint-disable max-len, quote-props */
|
|
1375
|
+
function toJson_GrpcRouteSpecRulesFiltersRequestHeaderModifierSet(obj) {
|
|
1376
|
+
if (obj === undefined) {
|
|
1377
|
+
return undefined;
|
|
1378
|
+
}
|
|
1379
|
+
const result = {
|
|
1380
|
+
name: obj.name,
|
|
1381
|
+
value: obj.value
|
|
1382
|
+
};
|
|
1383
|
+
// filter undefined values
|
|
1384
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1385
|
+
}
|
|
1386
|
+
/**
|
|
1387
|
+
* Converts an object of type 'GrpcRouteSpecRulesFiltersRequestMirrorBackendRef' to JSON
|
|
1388
|
+
* representation.
|
|
1389
|
+
*/
|
|
1390
|
+
/* eslint-disable max-len, quote-props */
|
|
1391
|
+
function toJson_GrpcRouteSpecRulesFiltersRequestMirrorBackendRef(obj) {
|
|
1392
|
+
if (obj === undefined) {
|
|
1393
|
+
return undefined;
|
|
1394
|
+
}
|
|
1395
|
+
const result = {
|
|
1396
|
+
group: obj.group,
|
|
1397
|
+
kind: obj.kind,
|
|
1398
|
+
name: obj.name,
|
|
1399
|
+
namespace: obj.namespace,
|
|
1400
|
+
port: obj.port
|
|
1401
|
+
};
|
|
1402
|
+
// filter undefined values
|
|
1403
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1404
|
+
}
|
|
1405
|
+
/**
|
|
1406
|
+
* Converts an object of type 'GrpcRouteSpecRulesFiltersResponseHeaderModifierAdd' to JSON
|
|
1407
|
+
* representation.
|
|
1408
|
+
*/
|
|
1409
|
+
/* eslint-disable max-len, quote-props */
|
|
1410
|
+
function toJson_GrpcRouteSpecRulesFiltersResponseHeaderModifierAdd(obj) {
|
|
1411
|
+
if (obj === undefined) {
|
|
1412
|
+
return undefined;
|
|
1413
|
+
}
|
|
1414
|
+
const result = {
|
|
1415
|
+
name: obj.name,
|
|
1416
|
+
value: obj.value
|
|
1417
|
+
};
|
|
1418
|
+
// filter undefined values
|
|
1419
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1420
|
+
}
|
|
1421
|
+
/**
|
|
1422
|
+
* Converts an object of type 'GrpcRouteSpecRulesFiltersResponseHeaderModifierSet' to JSON
|
|
1423
|
+
* representation.
|
|
1424
|
+
*/
|
|
1425
|
+
/* eslint-disable max-len, quote-props */
|
|
1426
|
+
function toJson_GrpcRouteSpecRulesFiltersResponseHeaderModifierSet(obj) {
|
|
1427
|
+
if (obj === undefined) {
|
|
1428
|
+
return undefined;
|
|
1429
|
+
}
|
|
1430
|
+
const result = {
|
|
1431
|
+
name: obj.name,
|
|
1432
|
+
value: obj.value
|
|
1433
|
+
};
|
|
1434
|
+
// filter undefined values
|
|
1435
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1436
|
+
}
|
|
1437
|
+
/* eslint-enable max-len, quote-props */
|
|
1438
|
+
/**
|
|
1439
|
+
* Type specifies how to match against the value of the header.
|
|
1440
|
+
*
|
|
1441
|
+
* @schema GrpcRouteSpecRulesMatchesHeadersType
|
|
1442
|
+
*/
|
|
1443
|
+
var GrpcRouteSpecRulesMatchesHeadersType;
|
|
1444
|
+
(function (GrpcRouteSpecRulesMatchesHeadersType) {
|
|
1445
|
+
/** Exact */
|
|
1446
|
+
GrpcRouteSpecRulesMatchesHeadersType["EXACT"] = "Exact";
|
|
1447
|
+
/** RegularExpression */
|
|
1448
|
+
GrpcRouteSpecRulesMatchesHeadersType["REGULAR_EXPRESSION"] = "RegularExpression";
|
|
1449
|
+
})(GrpcRouteSpecRulesMatchesHeadersType || (exports.GrpcRouteSpecRulesMatchesHeadersType = GrpcRouteSpecRulesMatchesHeadersType = {}));
|
|
1450
|
+
/**
|
|
1451
|
+
* Type specifies how to match against the service and/or method. Support: Core (Exact with service
|
|
1452
|
+
* and method specified)
|
|
1453
|
+
*
|
|
1454
|
+
* Support: Implementation-specific (Exact with method specified but no service specified)
|
|
1455
|
+
*
|
|
1456
|
+
* Support: Implementation-specific (RegularExpression)
|
|
1457
|
+
*
|
|
1458
|
+
* @schema GrpcRouteSpecRulesMatchesMethodType
|
|
1459
|
+
*/
|
|
1460
|
+
var GrpcRouteSpecRulesMatchesMethodType;
|
|
1461
|
+
(function (GrpcRouteSpecRulesMatchesMethodType) {
|
|
1462
|
+
/** Exact */
|
|
1463
|
+
GrpcRouteSpecRulesMatchesMethodType["EXACT"] = "Exact";
|
|
1464
|
+
/** RegularExpression */
|
|
1465
|
+
GrpcRouteSpecRulesMatchesMethodType["REGULAR_EXPRESSION"] = "RegularExpression";
|
|
1466
|
+
})(GrpcRouteSpecRulesMatchesMethodType || (exports.GrpcRouteSpecRulesMatchesMethodType = GrpcRouteSpecRulesMatchesMethodType = {}));
|
|
1467
|
+
/**
|
|
1468
|
+
* Converts an object of type 'GrpcRouteSpecRulesBackendRefsFiltersRequestHeaderModifierAdd' to JSON
|
|
1469
|
+
* representation.
|
|
1470
|
+
*/
|
|
1471
|
+
/* eslint-disable max-len, quote-props */
|
|
1472
|
+
function toJson_GrpcRouteSpecRulesBackendRefsFiltersRequestHeaderModifierAdd(obj) {
|
|
1473
|
+
if (obj === undefined) {
|
|
1474
|
+
return undefined;
|
|
1475
|
+
}
|
|
1476
|
+
const result = {
|
|
1477
|
+
name: obj.name,
|
|
1478
|
+
value: obj.value
|
|
1479
|
+
};
|
|
1480
|
+
// filter undefined values
|
|
1481
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1482
|
+
}
|
|
1483
|
+
/**
|
|
1484
|
+
* Converts an object of type 'GrpcRouteSpecRulesBackendRefsFiltersRequestHeaderModifierSet' to JSON
|
|
1485
|
+
* representation.
|
|
1486
|
+
*/
|
|
1487
|
+
/* eslint-disable max-len, quote-props */
|
|
1488
|
+
function toJson_GrpcRouteSpecRulesBackendRefsFiltersRequestHeaderModifierSet(obj) {
|
|
1489
|
+
if (obj === undefined) {
|
|
1490
|
+
return undefined;
|
|
1491
|
+
}
|
|
1492
|
+
const result = {
|
|
1493
|
+
name: obj.name,
|
|
1494
|
+
value: obj.value
|
|
1495
|
+
};
|
|
1496
|
+
// filter undefined values
|
|
1497
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1498
|
+
}
|
|
1499
|
+
/**
|
|
1500
|
+
* Converts an object of type 'GrpcRouteSpecRulesBackendRefsFiltersRequestMirrorBackendRef' to JSON
|
|
1501
|
+
* representation.
|
|
1502
|
+
*/
|
|
1503
|
+
/* eslint-disable max-len, quote-props */
|
|
1504
|
+
function toJson_GrpcRouteSpecRulesBackendRefsFiltersRequestMirrorBackendRef(obj) {
|
|
1505
|
+
if (obj === undefined) {
|
|
1506
|
+
return undefined;
|
|
1507
|
+
}
|
|
1508
|
+
const result = {
|
|
1509
|
+
group: obj.group,
|
|
1510
|
+
kind: obj.kind,
|
|
1511
|
+
name: obj.name,
|
|
1512
|
+
namespace: obj.namespace,
|
|
1513
|
+
port: obj.port
|
|
1514
|
+
};
|
|
1515
|
+
// filter undefined values
|
|
1516
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1517
|
+
}
|
|
1518
|
+
/**
|
|
1519
|
+
* Converts an object of type 'GrpcRouteSpecRulesBackendRefsFiltersResponseHeaderModifierAdd' to
|
|
1520
|
+
* JSON representation.
|
|
1521
|
+
*/
|
|
1522
|
+
/* eslint-disable max-len, quote-props */
|
|
1523
|
+
function toJson_GrpcRouteSpecRulesBackendRefsFiltersResponseHeaderModifierAdd(obj) {
|
|
1524
|
+
if (obj === undefined) {
|
|
1525
|
+
return undefined;
|
|
1526
|
+
}
|
|
1527
|
+
const result = {
|
|
1528
|
+
name: obj.name,
|
|
1529
|
+
value: obj.value
|
|
1530
|
+
};
|
|
1531
|
+
// filter undefined values
|
|
1532
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1533
|
+
}
|
|
1534
|
+
/**
|
|
1535
|
+
* Converts an object of type 'GrpcRouteSpecRulesBackendRefsFiltersResponseHeaderModifierSet' to
|
|
1536
|
+
* JSON representation.
|
|
1537
|
+
*/
|
|
1538
|
+
/* eslint-disable max-len, quote-props */
|
|
1539
|
+
function toJson_GrpcRouteSpecRulesBackendRefsFiltersResponseHeaderModifierSet(obj) {
|
|
1540
|
+
if (obj === undefined) {
|
|
1541
|
+
return undefined;
|
|
1542
|
+
}
|
|
1543
|
+
const result = {
|
|
1544
|
+
name: obj.name,
|
|
1545
|
+
value: obj.value
|
|
1546
|
+
};
|
|
1547
|
+
// filter undefined values
|
|
1548
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1549
|
+
}
|
|
1550
|
+
/* eslint-enable max-len, quote-props */
|
|
1551
|
+
/**
|
|
1552
|
+
* HTTPRoute provides a way to route HTTP requests. This includes the capability to match requests
|
|
1553
|
+
* by hostname, path, header, or query param. Filters can be used to specify additional processing
|
|
1554
|
+
* steps. Backends specify where matching requests should be routed.
|
|
1555
|
+
*
|
|
1556
|
+
* @schema HTTPRoute
|
|
1557
|
+
*/
|
|
1558
|
+
class HttpRoute extends cdk8s_1.ApiObject {
|
|
1559
|
+
/**
|
|
1560
|
+
* Renders a Kubernetes manifest for "HTTPRoute".
|
|
1561
|
+
*
|
|
1562
|
+
* This can be used to inline resource manifests inside other objects (e.g. as templates).
|
|
1563
|
+
*
|
|
1564
|
+
* @param props Initialization props
|
|
1565
|
+
*/
|
|
1566
|
+
static manifest(props) {
|
|
1567
|
+
return {
|
|
1568
|
+
...HttpRoute.GVK,
|
|
1569
|
+
...toJson_HttpRouteProps(props)
|
|
1570
|
+
};
|
|
1571
|
+
}
|
|
1572
|
+
/**
|
|
1573
|
+
* Defines a "HTTPRoute" API object
|
|
1574
|
+
*
|
|
1575
|
+
* @param scope The scope in which to define this object
|
|
1576
|
+
* @param id A scope-local name for the object
|
|
1577
|
+
* @param props Initialization props
|
|
1578
|
+
*/
|
|
1579
|
+
constructor(scope, id, props) {
|
|
1580
|
+
super(scope, id, {
|
|
1581
|
+
...HttpRoute.GVK,
|
|
1582
|
+
...props
|
|
1583
|
+
});
|
|
1584
|
+
}
|
|
1585
|
+
/** Renders the object to Kubernetes JSON. */
|
|
1586
|
+
toJson() {
|
|
1587
|
+
const resolved = super.toJson();
|
|
1588
|
+
return {
|
|
1589
|
+
...HttpRoute.GVK,
|
|
1590
|
+
...toJson_HttpRouteProps(resolved)
|
|
1591
|
+
};
|
|
1592
|
+
}
|
|
1593
|
+
}
|
|
1594
|
+
exports.HttpRoute = HttpRoute;
|
|
1595
|
+
/** Returns the apiVersion and kind for "HTTPRoute" */
|
|
1596
|
+
HttpRoute.GVK = {
|
|
1597
|
+
apiVersion: "gateway.networking.k8s.io/v1",
|
|
1598
|
+
kind: "HTTPRoute"
|
|
1599
|
+
};
|
|
1600
|
+
/** Converts an object of type 'HttpRouteProps' to JSON representation. */
|
|
1601
|
+
/* eslint-disable max-len, quote-props */
|
|
1602
|
+
function toJson_HttpRouteProps(obj) {
|
|
1603
|
+
if (obj === undefined) {
|
|
1604
|
+
return undefined;
|
|
1605
|
+
}
|
|
1606
|
+
const result = {
|
|
1607
|
+
metadata: obj.metadata,
|
|
1608
|
+
spec: toJson_HttpRouteSpec(obj.spec)
|
|
1609
|
+
};
|
|
1610
|
+
// filter undefined values
|
|
1611
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1612
|
+
}
|
|
1613
|
+
/** Converts an object of type 'HttpRouteSpec' to JSON representation. */
|
|
1614
|
+
/* eslint-disable max-len, quote-props */
|
|
1615
|
+
function toJson_HttpRouteSpec(obj) {
|
|
1616
|
+
if (obj === undefined) {
|
|
1617
|
+
return undefined;
|
|
1618
|
+
}
|
|
1619
|
+
const result = {
|
|
1620
|
+
hostnames: obj.hostnames?.map(y => y),
|
|
1621
|
+
parentRefs: obj.parentRefs?.map(y => toJson_HttpRouteSpecParentRefs(y)),
|
|
1622
|
+
rules: obj.rules?.map(y => toJson_HttpRouteSpecRules(y))
|
|
1623
|
+
};
|
|
1624
|
+
// filter undefined values
|
|
1625
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1626
|
+
}
|
|
1627
|
+
/** Converts an object of type 'HttpRouteSpecParentRefs' to JSON representation. */
|
|
1628
|
+
/* eslint-disable max-len, quote-props */
|
|
1629
|
+
function toJson_HttpRouteSpecParentRefs(obj) {
|
|
1630
|
+
if (obj === undefined) {
|
|
1631
|
+
return undefined;
|
|
1632
|
+
}
|
|
1633
|
+
const result = {
|
|
1634
|
+
group: obj.group,
|
|
1635
|
+
kind: obj.kind,
|
|
1636
|
+
name: obj.name,
|
|
1637
|
+
namespace: obj.namespace,
|
|
1638
|
+
port: obj.port,
|
|
1639
|
+
sectionName: obj.sectionName
|
|
1640
|
+
};
|
|
1641
|
+
// filter undefined values
|
|
1642
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1643
|
+
}
|
|
1644
|
+
/** Converts an object of type 'HttpRouteSpecRules' to JSON representation. */
|
|
1645
|
+
/* eslint-disable max-len, quote-props */
|
|
1646
|
+
function toJson_HttpRouteSpecRules(obj) {
|
|
1647
|
+
if (obj === undefined) {
|
|
1648
|
+
return undefined;
|
|
1649
|
+
}
|
|
1650
|
+
const result = {
|
|
1651
|
+
backendRefs: obj.backendRefs?.map(y => toJson_HttpRouteSpecRulesBackendRefs(y)),
|
|
1652
|
+
filters: obj.filters?.map(y => toJson_HttpRouteSpecRulesFilters(y)),
|
|
1653
|
+
matches: obj.matches?.map(y => toJson_HttpRouteSpecRulesMatches(y)),
|
|
1654
|
+
timeouts: toJson_HttpRouteSpecRulesTimeouts(obj.timeouts)
|
|
1655
|
+
};
|
|
1656
|
+
// filter undefined values
|
|
1657
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1658
|
+
}
|
|
1659
|
+
/** Converts an object of type 'HttpRouteSpecRulesBackendRefs' to JSON representation. */
|
|
1660
|
+
/* eslint-disable max-len, quote-props */
|
|
1661
|
+
function toJson_HttpRouteSpecRulesBackendRefs(obj) {
|
|
1662
|
+
if (obj === undefined) {
|
|
1663
|
+
return undefined;
|
|
1664
|
+
}
|
|
1665
|
+
const result = {
|
|
1666
|
+
filters: obj.filters?.map(y => toJson_HttpRouteSpecRulesBackendRefsFilters(y)),
|
|
1667
|
+
group: obj.group,
|
|
1668
|
+
kind: obj.kind,
|
|
1669
|
+
name: obj.name,
|
|
1670
|
+
namespace: obj.namespace,
|
|
1671
|
+
port: obj.port,
|
|
1672
|
+
weight: obj.weight
|
|
1673
|
+
};
|
|
1674
|
+
// filter undefined values
|
|
1675
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1676
|
+
}
|
|
1677
|
+
/** Converts an object of type 'HttpRouteSpecRulesFilters' to JSON representation. */
|
|
1678
|
+
/* eslint-disable max-len, quote-props */
|
|
1679
|
+
function toJson_HttpRouteSpecRulesFilters(obj) {
|
|
1680
|
+
if (obj === undefined) {
|
|
1681
|
+
return undefined;
|
|
1682
|
+
}
|
|
1683
|
+
const result = {
|
|
1684
|
+
extensionRef: toJson_HttpRouteSpecRulesFiltersExtensionRef(obj.extensionRef),
|
|
1685
|
+
requestHeaderModifier: toJson_HttpRouteSpecRulesFiltersRequestHeaderModifier(obj.requestHeaderModifier),
|
|
1686
|
+
requestMirror: toJson_HttpRouteSpecRulesFiltersRequestMirror(obj.requestMirror),
|
|
1687
|
+
requestRedirect: toJson_HttpRouteSpecRulesFiltersRequestRedirect(obj.requestRedirect),
|
|
1688
|
+
responseHeaderModifier: toJson_HttpRouteSpecRulesFiltersResponseHeaderModifier(obj.responseHeaderModifier),
|
|
1689
|
+
type: obj.type,
|
|
1690
|
+
urlRewrite: toJson_HttpRouteSpecRulesFiltersUrlRewrite(obj.urlRewrite)
|
|
1691
|
+
};
|
|
1692
|
+
// filter undefined values
|
|
1693
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1694
|
+
}
|
|
1695
|
+
/** Converts an object of type 'HttpRouteSpecRulesMatches' to JSON representation. */
|
|
1696
|
+
/* eslint-disable max-len, quote-props */
|
|
1697
|
+
function toJson_HttpRouteSpecRulesMatches(obj) {
|
|
1698
|
+
if (obj === undefined) {
|
|
1699
|
+
return undefined;
|
|
1700
|
+
}
|
|
1701
|
+
const result = {
|
|
1702
|
+
headers: obj.headers?.map(y => toJson_HttpRouteSpecRulesMatchesHeaders(y)),
|
|
1703
|
+
method: obj.method,
|
|
1704
|
+
path: toJson_HttpRouteSpecRulesMatchesPath(obj.path),
|
|
1705
|
+
queryParams: obj.queryParams?.map(y => toJson_HttpRouteSpecRulesMatchesQueryParams(y))
|
|
1706
|
+
};
|
|
1707
|
+
// filter undefined values
|
|
1708
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1709
|
+
}
|
|
1710
|
+
/** Converts an object of type 'HttpRouteSpecRulesTimeouts' to JSON representation. */
|
|
1711
|
+
/* eslint-disable max-len, quote-props */
|
|
1712
|
+
function toJson_HttpRouteSpecRulesTimeouts(obj) {
|
|
1713
|
+
if (obj === undefined) {
|
|
1714
|
+
return undefined;
|
|
1715
|
+
}
|
|
1716
|
+
const result = {
|
|
1717
|
+
backendRequest: obj.backendRequest,
|
|
1718
|
+
request: obj.request
|
|
1719
|
+
};
|
|
1720
|
+
// filter undefined values
|
|
1721
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1722
|
+
}
|
|
1723
|
+
/** Converts an object of type 'HttpRouteSpecRulesBackendRefsFilters' to JSON representation. */
|
|
1724
|
+
/* eslint-disable max-len, quote-props */
|
|
1725
|
+
function toJson_HttpRouteSpecRulesBackendRefsFilters(obj) {
|
|
1726
|
+
if (obj === undefined) {
|
|
1727
|
+
return undefined;
|
|
1728
|
+
}
|
|
1729
|
+
const result = {
|
|
1730
|
+
extensionRef: toJson_HttpRouteSpecRulesBackendRefsFiltersExtensionRef(obj.extensionRef),
|
|
1731
|
+
requestHeaderModifier: toJson_HttpRouteSpecRulesBackendRefsFiltersRequestHeaderModifier(obj.requestHeaderModifier),
|
|
1732
|
+
requestMirror: toJson_HttpRouteSpecRulesBackendRefsFiltersRequestMirror(obj.requestMirror),
|
|
1733
|
+
requestRedirect: toJson_HttpRouteSpecRulesBackendRefsFiltersRequestRedirect(obj.requestRedirect),
|
|
1734
|
+
responseHeaderModifier: toJson_HttpRouteSpecRulesBackendRefsFiltersResponseHeaderModifier(obj.responseHeaderModifier),
|
|
1735
|
+
type: obj.type,
|
|
1736
|
+
urlRewrite: toJson_HttpRouteSpecRulesBackendRefsFiltersUrlRewrite(obj.urlRewrite)
|
|
1737
|
+
};
|
|
1738
|
+
// filter undefined values
|
|
1739
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1740
|
+
}
|
|
1741
|
+
/** Converts an object of type 'HttpRouteSpecRulesFiltersExtensionRef' to JSON representation. */
|
|
1742
|
+
/* eslint-disable max-len, quote-props */
|
|
1743
|
+
function toJson_HttpRouteSpecRulesFiltersExtensionRef(obj) {
|
|
1744
|
+
if (obj === undefined) {
|
|
1745
|
+
return undefined;
|
|
1746
|
+
}
|
|
1747
|
+
const result = {
|
|
1748
|
+
group: obj.group,
|
|
1749
|
+
kind: obj.kind,
|
|
1750
|
+
name: obj.name
|
|
1751
|
+
};
|
|
1752
|
+
// filter undefined values
|
|
1753
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1754
|
+
}
|
|
1755
|
+
/**
|
|
1756
|
+
* Converts an object of type 'HttpRouteSpecRulesFiltersRequestHeaderModifier' to JSON
|
|
1757
|
+
* representation.
|
|
1758
|
+
*/
|
|
1759
|
+
/* eslint-disable max-len, quote-props */
|
|
1760
|
+
function toJson_HttpRouteSpecRulesFiltersRequestHeaderModifier(obj) {
|
|
1761
|
+
if (obj === undefined) {
|
|
1762
|
+
return undefined;
|
|
1763
|
+
}
|
|
1764
|
+
const result = {
|
|
1765
|
+
add: obj.add?.map(y => toJson_HttpRouteSpecRulesFiltersRequestHeaderModifierAdd(y)),
|
|
1766
|
+
remove: obj.remove?.map(y => y),
|
|
1767
|
+
set: obj.set?.map(y => toJson_HttpRouteSpecRulesFiltersRequestHeaderModifierSet(y))
|
|
1768
|
+
};
|
|
1769
|
+
// filter undefined values
|
|
1770
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1771
|
+
}
|
|
1772
|
+
/** Converts an object of type 'HttpRouteSpecRulesFiltersRequestMirror' to JSON representation. */
|
|
1773
|
+
/* eslint-disable max-len, quote-props */
|
|
1774
|
+
function toJson_HttpRouteSpecRulesFiltersRequestMirror(obj) {
|
|
1775
|
+
if (obj === undefined) {
|
|
1776
|
+
return undefined;
|
|
1777
|
+
}
|
|
1778
|
+
const result = {
|
|
1779
|
+
backendRef: toJson_HttpRouteSpecRulesFiltersRequestMirrorBackendRef(obj.backendRef)
|
|
1780
|
+
};
|
|
1781
|
+
// filter undefined values
|
|
1782
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1783
|
+
}
|
|
1784
|
+
/** Converts an object of type 'HttpRouteSpecRulesFiltersRequestRedirect' to JSON representation. */
|
|
1785
|
+
/* eslint-disable max-len, quote-props */
|
|
1786
|
+
function toJson_HttpRouteSpecRulesFiltersRequestRedirect(obj) {
|
|
1787
|
+
if (obj === undefined) {
|
|
1788
|
+
return undefined;
|
|
1789
|
+
}
|
|
1790
|
+
const result = {
|
|
1791
|
+
hostname: obj.hostname,
|
|
1792
|
+
path: toJson_HttpRouteSpecRulesFiltersRequestRedirectPath(obj.path),
|
|
1793
|
+
port: obj.port,
|
|
1794
|
+
scheme: obj.scheme,
|
|
1795
|
+
statusCode: obj.statusCode
|
|
1796
|
+
};
|
|
1797
|
+
// filter undefined values
|
|
1798
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1799
|
+
}
|
|
1800
|
+
/**
|
|
1801
|
+
* Converts an object of type 'HttpRouteSpecRulesFiltersResponseHeaderModifier' to JSON
|
|
1802
|
+
* representation.
|
|
1803
|
+
*/
|
|
1804
|
+
/* eslint-disable max-len, quote-props */
|
|
1805
|
+
function toJson_HttpRouteSpecRulesFiltersResponseHeaderModifier(obj) {
|
|
1806
|
+
if (obj === undefined) {
|
|
1807
|
+
return undefined;
|
|
1808
|
+
}
|
|
1809
|
+
const result = {
|
|
1810
|
+
add: obj.add?.map(y => toJson_HttpRouteSpecRulesFiltersResponseHeaderModifierAdd(y)),
|
|
1811
|
+
remove: obj.remove?.map(y => y),
|
|
1812
|
+
set: obj.set?.map(y => toJson_HttpRouteSpecRulesFiltersResponseHeaderModifierSet(y))
|
|
1813
|
+
};
|
|
1814
|
+
// filter undefined values
|
|
1815
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1816
|
+
}
|
|
1817
|
+
/* eslint-enable max-len, quote-props */
|
|
1818
|
+
/**
|
|
1819
|
+
* Type identifies the type of filter to apply. As with other API fields, types are classified into
|
|
1820
|
+
* three conformance levels:
|
|
1821
|
+
*
|
|
1822
|
+
* - Core: Filter types and their corresponding configuration defined by "Support: Core" in this
|
|
1823
|
+
* package, e.g. "RequestHeaderModifier". All implementations must support core filters.
|
|
1824
|
+
* - Extended: Filter types and their corresponding configuration defined by "Support: Extended" in
|
|
1825
|
+
* this package, e.g. "RequestMirror". Implementers are encouraged to support extended filters.
|
|
1826
|
+
* - Implementation-specific: Filters that are defined and supported by specific vendors. In the
|
|
1827
|
+
* future, filters showing convergence in behavior across multiple implementations will be
|
|
1828
|
+
* considered for inclusion in extended or core conformance levels. Filter-specific configuration
|
|
1829
|
+
* for such filters is specified using the ExtensionRef field. `Type` should be set to
|
|
1830
|
+
* "ExtensionRef" for custom filters.
|
|
1831
|
+
*
|
|
1832
|
+
* Implementers are encouraged to define custom implementation types to extend the core API with
|
|
1833
|
+
* implementation-specific behavior.
|
|
1834
|
+
*
|
|
1835
|
+
* If a reference to a custom filter type cannot be resolved, the filter MUST NOT be skipped.
|
|
1836
|
+
* Instead, requests that would have been processed by that filter MUST receive a HTTP error
|
|
1837
|
+
* response.
|
|
1838
|
+
*
|
|
1839
|
+
* Note that values may be added to this enum, implementations must ensure that unknown values will
|
|
1840
|
+
* not cause a crash.
|
|
1841
|
+
*
|
|
1842
|
+
* Unknown values here must result in the implementation setting the Accepted Condition for the
|
|
1843
|
+
* Route to `status: False`, with a Reason of `UnsupportedValue`.
|
|
1844
|
+
*
|
|
1845
|
+
* @schema HttpRouteSpecRulesFiltersType
|
|
1846
|
+
*/
|
|
1847
|
+
var HttpRouteSpecRulesFiltersType;
|
|
1848
|
+
(function (HttpRouteSpecRulesFiltersType) {
|
|
1849
|
+
/** RequestHeaderModifier */
|
|
1850
|
+
HttpRouteSpecRulesFiltersType["REQUEST_HEADER_MODIFIER"] = "RequestHeaderModifier";
|
|
1851
|
+
/** ResponseHeaderModifier */
|
|
1852
|
+
HttpRouteSpecRulesFiltersType["RESPONSE_HEADER_MODIFIER"] = "ResponseHeaderModifier";
|
|
1853
|
+
/** RequestMirror */
|
|
1854
|
+
HttpRouteSpecRulesFiltersType["REQUEST_MIRROR"] = "RequestMirror";
|
|
1855
|
+
/** RequestRedirect */
|
|
1856
|
+
HttpRouteSpecRulesFiltersType["REQUEST_REDIRECT"] = "RequestRedirect";
|
|
1857
|
+
/** URLRewrite */
|
|
1858
|
+
HttpRouteSpecRulesFiltersType["URL_REWRITE"] = "URLRewrite";
|
|
1859
|
+
/** ExtensionRef */
|
|
1860
|
+
HttpRouteSpecRulesFiltersType["EXTENSION_REF"] = "ExtensionRef";
|
|
1861
|
+
})(HttpRouteSpecRulesFiltersType || (exports.HttpRouteSpecRulesFiltersType = HttpRouteSpecRulesFiltersType = {}));
|
|
1862
|
+
/** Converts an object of type 'HttpRouteSpecRulesFiltersUrlRewrite' to JSON representation. */
|
|
1863
|
+
/* eslint-disable max-len, quote-props */
|
|
1864
|
+
function toJson_HttpRouteSpecRulesFiltersUrlRewrite(obj) {
|
|
1865
|
+
if (obj === undefined) {
|
|
1866
|
+
return undefined;
|
|
1867
|
+
}
|
|
1868
|
+
const result = {
|
|
1869
|
+
hostname: obj.hostname,
|
|
1870
|
+
path: toJson_HttpRouteSpecRulesFiltersUrlRewritePath(obj.path)
|
|
1871
|
+
};
|
|
1872
|
+
// filter undefined values
|
|
1873
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1874
|
+
}
|
|
1875
|
+
/** Converts an object of type 'HttpRouteSpecRulesMatchesHeaders' to JSON representation. */
|
|
1876
|
+
/* eslint-disable max-len, quote-props */
|
|
1877
|
+
function toJson_HttpRouteSpecRulesMatchesHeaders(obj) {
|
|
1878
|
+
if (obj === undefined) {
|
|
1879
|
+
return undefined;
|
|
1880
|
+
}
|
|
1881
|
+
const result = {
|
|
1882
|
+
name: obj.name,
|
|
1883
|
+
type: obj.type,
|
|
1884
|
+
value: obj.value
|
|
1885
|
+
};
|
|
1886
|
+
// filter undefined values
|
|
1887
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1888
|
+
}
|
|
1889
|
+
/* eslint-enable max-len, quote-props */
|
|
1890
|
+
/**
|
|
1891
|
+
* Method specifies HTTP method matcher. When specified, this route will be matched only if the
|
|
1892
|
+
* request has the specified method.
|
|
1893
|
+
*
|
|
1894
|
+
* Support: Extended
|
|
1895
|
+
*
|
|
1896
|
+
* @schema HttpRouteSpecRulesMatchesMethod
|
|
1897
|
+
*/
|
|
1898
|
+
var HttpRouteSpecRulesMatchesMethod;
|
|
1899
|
+
(function (HttpRouteSpecRulesMatchesMethod) {
|
|
1900
|
+
/** GET */
|
|
1901
|
+
HttpRouteSpecRulesMatchesMethod["GET"] = "GET";
|
|
1902
|
+
/** HEAD */
|
|
1903
|
+
HttpRouteSpecRulesMatchesMethod["HEAD"] = "HEAD";
|
|
1904
|
+
/** POST */
|
|
1905
|
+
HttpRouteSpecRulesMatchesMethod["POST"] = "POST";
|
|
1906
|
+
/** PUT */
|
|
1907
|
+
HttpRouteSpecRulesMatchesMethod["PUT"] = "PUT";
|
|
1908
|
+
/** DELETE */
|
|
1909
|
+
HttpRouteSpecRulesMatchesMethod["DELETE"] = "DELETE";
|
|
1910
|
+
/** CONNECT */
|
|
1911
|
+
HttpRouteSpecRulesMatchesMethod["CONNECT"] = "CONNECT";
|
|
1912
|
+
/** OPTIONS */
|
|
1913
|
+
HttpRouteSpecRulesMatchesMethod["OPTIONS"] = "OPTIONS";
|
|
1914
|
+
/** TRACE */
|
|
1915
|
+
HttpRouteSpecRulesMatchesMethod["TRACE"] = "TRACE";
|
|
1916
|
+
/** PATCH */
|
|
1917
|
+
HttpRouteSpecRulesMatchesMethod["PATCH"] = "PATCH";
|
|
1918
|
+
})(HttpRouteSpecRulesMatchesMethod || (exports.HttpRouteSpecRulesMatchesMethod = HttpRouteSpecRulesMatchesMethod = {}));
|
|
1919
|
+
/** Converts an object of type 'HttpRouteSpecRulesMatchesPath' to JSON representation. */
|
|
1920
|
+
/* eslint-disable max-len, quote-props */
|
|
1921
|
+
function toJson_HttpRouteSpecRulesMatchesPath(obj) {
|
|
1922
|
+
if (obj === undefined) {
|
|
1923
|
+
return undefined;
|
|
1924
|
+
}
|
|
1925
|
+
const result = {
|
|
1926
|
+
type: obj.type,
|
|
1927
|
+
value: obj.value
|
|
1928
|
+
};
|
|
1929
|
+
// filter undefined values
|
|
1930
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1931
|
+
}
|
|
1932
|
+
/** Converts an object of type 'HttpRouteSpecRulesMatchesQueryParams' to JSON representation. */
|
|
1933
|
+
/* eslint-disable max-len, quote-props */
|
|
1934
|
+
function toJson_HttpRouteSpecRulesMatchesQueryParams(obj) {
|
|
1935
|
+
if (obj === undefined) {
|
|
1936
|
+
return undefined;
|
|
1937
|
+
}
|
|
1938
|
+
const result = {
|
|
1939
|
+
name: obj.name,
|
|
1940
|
+
type: obj.type,
|
|
1941
|
+
value: obj.value
|
|
1942
|
+
};
|
|
1943
|
+
// filter undefined values
|
|
1944
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1945
|
+
}
|
|
1946
|
+
/**
|
|
1947
|
+
* Converts an object of type 'HttpRouteSpecRulesBackendRefsFiltersExtensionRef' to JSON
|
|
1948
|
+
* representation.
|
|
1949
|
+
*/
|
|
1950
|
+
/* eslint-disable max-len, quote-props */
|
|
1951
|
+
function toJson_HttpRouteSpecRulesBackendRefsFiltersExtensionRef(obj) {
|
|
1952
|
+
if (obj === undefined) {
|
|
1953
|
+
return undefined;
|
|
1954
|
+
}
|
|
1955
|
+
const result = {
|
|
1956
|
+
group: obj.group,
|
|
1957
|
+
kind: obj.kind,
|
|
1958
|
+
name: obj.name
|
|
1959
|
+
};
|
|
1960
|
+
// filter undefined values
|
|
1961
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1962
|
+
}
|
|
1963
|
+
/**
|
|
1964
|
+
* Converts an object of type 'HttpRouteSpecRulesBackendRefsFiltersRequestHeaderModifier' to JSON
|
|
1965
|
+
* representation.
|
|
1966
|
+
*/
|
|
1967
|
+
/* eslint-disable max-len, quote-props */
|
|
1968
|
+
function toJson_HttpRouteSpecRulesBackendRefsFiltersRequestHeaderModifier(obj) {
|
|
1969
|
+
if (obj === undefined) {
|
|
1970
|
+
return undefined;
|
|
1971
|
+
}
|
|
1972
|
+
const result = {
|
|
1973
|
+
add: obj.add?.map(y => toJson_HttpRouteSpecRulesBackendRefsFiltersRequestHeaderModifierAdd(y)),
|
|
1974
|
+
remove: obj.remove?.map(y => y),
|
|
1975
|
+
set: obj.set?.map(y => toJson_HttpRouteSpecRulesBackendRefsFiltersRequestHeaderModifierSet(y))
|
|
1976
|
+
};
|
|
1977
|
+
// filter undefined values
|
|
1978
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1979
|
+
}
|
|
1980
|
+
/**
|
|
1981
|
+
* Converts an object of type 'HttpRouteSpecRulesBackendRefsFiltersRequestMirror' to JSON
|
|
1982
|
+
* representation.
|
|
1983
|
+
*/
|
|
1984
|
+
/* eslint-disable max-len, quote-props */
|
|
1985
|
+
function toJson_HttpRouteSpecRulesBackendRefsFiltersRequestMirror(obj) {
|
|
1986
|
+
if (obj === undefined) {
|
|
1987
|
+
return undefined;
|
|
1988
|
+
}
|
|
1989
|
+
const result = {
|
|
1990
|
+
backendRef: toJson_HttpRouteSpecRulesBackendRefsFiltersRequestMirrorBackendRef(obj.backendRef)
|
|
1991
|
+
};
|
|
1992
|
+
// filter undefined values
|
|
1993
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
1994
|
+
}
|
|
1995
|
+
/**
|
|
1996
|
+
* Converts an object of type 'HttpRouteSpecRulesBackendRefsFiltersRequestRedirect' to JSON
|
|
1997
|
+
* representation.
|
|
1998
|
+
*/
|
|
1999
|
+
/* eslint-disable max-len, quote-props */
|
|
2000
|
+
function toJson_HttpRouteSpecRulesBackendRefsFiltersRequestRedirect(obj) {
|
|
2001
|
+
if (obj === undefined) {
|
|
2002
|
+
return undefined;
|
|
2003
|
+
}
|
|
2004
|
+
const result = {
|
|
2005
|
+
hostname: obj.hostname,
|
|
2006
|
+
path: toJson_HttpRouteSpecRulesBackendRefsFiltersRequestRedirectPath(obj.path),
|
|
2007
|
+
port: obj.port,
|
|
2008
|
+
scheme: obj.scheme,
|
|
2009
|
+
statusCode: obj.statusCode
|
|
2010
|
+
};
|
|
2011
|
+
// filter undefined values
|
|
2012
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2013
|
+
}
|
|
2014
|
+
/**
|
|
2015
|
+
* Converts an object of type 'HttpRouteSpecRulesBackendRefsFiltersResponseHeaderModifier' to JSON
|
|
2016
|
+
* representation.
|
|
2017
|
+
*/
|
|
2018
|
+
/* eslint-disable max-len, quote-props */
|
|
2019
|
+
function toJson_HttpRouteSpecRulesBackendRefsFiltersResponseHeaderModifier(obj) {
|
|
2020
|
+
if (obj === undefined) {
|
|
2021
|
+
return undefined;
|
|
2022
|
+
}
|
|
2023
|
+
const result = {
|
|
2024
|
+
add: obj.add?.map(y => toJson_HttpRouteSpecRulesBackendRefsFiltersResponseHeaderModifierAdd(y)),
|
|
2025
|
+
remove: obj.remove?.map(y => y),
|
|
2026
|
+
set: obj.set?.map(y => toJson_HttpRouteSpecRulesBackendRefsFiltersResponseHeaderModifierSet(y))
|
|
2027
|
+
};
|
|
2028
|
+
// filter undefined values
|
|
2029
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2030
|
+
}
|
|
2031
|
+
/* eslint-enable max-len, quote-props */
|
|
2032
|
+
/**
|
|
2033
|
+
* Type identifies the type of filter to apply. As with other API fields, types are classified into
|
|
2034
|
+
* three conformance levels:
|
|
2035
|
+
*
|
|
2036
|
+
* - Core: Filter types and their corresponding configuration defined by "Support: Core" in this
|
|
2037
|
+
* package, e.g. "RequestHeaderModifier". All implementations must support core filters.
|
|
2038
|
+
* - Extended: Filter types and their corresponding configuration defined by "Support: Extended" in
|
|
2039
|
+
* this package, e.g. "RequestMirror". Implementers are encouraged to support extended filters.
|
|
2040
|
+
* - Implementation-specific: Filters that are defined and supported by specific vendors. In the
|
|
2041
|
+
* future, filters showing convergence in behavior across multiple implementations will be
|
|
2042
|
+
* considered for inclusion in extended or core conformance levels. Filter-specific configuration
|
|
2043
|
+
* for such filters is specified using the ExtensionRef field. `Type` should be set to
|
|
2044
|
+
* "ExtensionRef" for custom filters.
|
|
2045
|
+
*
|
|
2046
|
+
* Implementers are encouraged to define custom implementation types to extend the core API with
|
|
2047
|
+
* implementation-specific behavior.
|
|
2048
|
+
*
|
|
2049
|
+
* If a reference to a custom filter type cannot be resolved, the filter MUST NOT be skipped.
|
|
2050
|
+
* Instead, requests that would have been processed by that filter MUST receive a HTTP error
|
|
2051
|
+
* response.
|
|
2052
|
+
*
|
|
2053
|
+
* Note that values may be added to this enum, implementations must ensure that unknown values will
|
|
2054
|
+
* not cause a crash.
|
|
2055
|
+
*
|
|
2056
|
+
* Unknown values here must result in the implementation setting the Accepted Condition for the
|
|
2057
|
+
* Route to `status: False`, with a Reason of `UnsupportedValue`.
|
|
2058
|
+
*
|
|
2059
|
+
* @schema HttpRouteSpecRulesBackendRefsFiltersType
|
|
2060
|
+
*/
|
|
2061
|
+
var HttpRouteSpecRulesBackendRefsFiltersType;
|
|
2062
|
+
(function (HttpRouteSpecRulesBackendRefsFiltersType) {
|
|
2063
|
+
/** RequestHeaderModifier */
|
|
2064
|
+
HttpRouteSpecRulesBackendRefsFiltersType["REQUEST_HEADER_MODIFIER"] = "RequestHeaderModifier";
|
|
2065
|
+
/** ResponseHeaderModifier */
|
|
2066
|
+
HttpRouteSpecRulesBackendRefsFiltersType["RESPONSE_HEADER_MODIFIER"] = "ResponseHeaderModifier";
|
|
2067
|
+
/** RequestMirror */
|
|
2068
|
+
HttpRouteSpecRulesBackendRefsFiltersType["REQUEST_MIRROR"] = "RequestMirror";
|
|
2069
|
+
/** RequestRedirect */
|
|
2070
|
+
HttpRouteSpecRulesBackendRefsFiltersType["REQUEST_REDIRECT"] = "RequestRedirect";
|
|
2071
|
+
/** URLRewrite */
|
|
2072
|
+
HttpRouteSpecRulesBackendRefsFiltersType["URL_REWRITE"] = "URLRewrite";
|
|
2073
|
+
/** ExtensionRef */
|
|
2074
|
+
HttpRouteSpecRulesBackendRefsFiltersType["EXTENSION_REF"] = "ExtensionRef";
|
|
2075
|
+
})(HttpRouteSpecRulesBackendRefsFiltersType || (exports.HttpRouteSpecRulesBackendRefsFiltersType = HttpRouteSpecRulesBackendRefsFiltersType = {}));
|
|
2076
|
+
/**
|
|
2077
|
+
* Converts an object of type 'HttpRouteSpecRulesBackendRefsFiltersUrlRewrite' to JSON
|
|
2078
|
+
* representation.
|
|
2079
|
+
*/
|
|
2080
|
+
/* eslint-disable max-len, quote-props */
|
|
2081
|
+
function toJson_HttpRouteSpecRulesBackendRefsFiltersUrlRewrite(obj) {
|
|
2082
|
+
if (obj === undefined) {
|
|
2083
|
+
return undefined;
|
|
2084
|
+
}
|
|
2085
|
+
const result = {
|
|
2086
|
+
hostname: obj.hostname,
|
|
2087
|
+
path: toJson_HttpRouteSpecRulesBackendRefsFiltersUrlRewritePath(obj.path)
|
|
2088
|
+
};
|
|
2089
|
+
// filter undefined values
|
|
2090
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2091
|
+
}
|
|
2092
|
+
/**
|
|
2093
|
+
* Converts an object of type 'HttpRouteSpecRulesFiltersRequestHeaderModifierAdd' to JSON
|
|
2094
|
+
* representation.
|
|
2095
|
+
*/
|
|
2096
|
+
/* eslint-disable max-len, quote-props */
|
|
2097
|
+
function toJson_HttpRouteSpecRulesFiltersRequestHeaderModifierAdd(obj) {
|
|
2098
|
+
if (obj === undefined) {
|
|
2099
|
+
return undefined;
|
|
2100
|
+
}
|
|
2101
|
+
const result = {
|
|
2102
|
+
name: obj.name,
|
|
2103
|
+
value: obj.value
|
|
2104
|
+
};
|
|
2105
|
+
// filter undefined values
|
|
2106
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2107
|
+
}
|
|
2108
|
+
/**
|
|
2109
|
+
* Converts an object of type 'HttpRouteSpecRulesFiltersRequestHeaderModifierSet' to JSON
|
|
2110
|
+
* representation.
|
|
2111
|
+
*/
|
|
2112
|
+
/* eslint-disable max-len, quote-props */
|
|
2113
|
+
function toJson_HttpRouteSpecRulesFiltersRequestHeaderModifierSet(obj) {
|
|
2114
|
+
if (obj === undefined) {
|
|
2115
|
+
return undefined;
|
|
2116
|
+
}
|
|
2117
|
+
const result = {
|
|
2118
|
+
name: obj.name,
|
|
2119
|
+
value: obj.value
|
|
2120
|
+
};
|
|
2121
|
+
// filter undefined values
|
|
2122
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2123
|
+
}
|
|
2124
|
+
/**
|
|
2125
|
+
* Converts an object of type 'HttpRouteSpecRulesFiltersRequestMirrorBackendRef' to JSON
|
|
2126
|
+
* representation.
|
|
2127
|
+
*/
|
|
2128
|
+
/* eslint-disable max-len, quote-props */
|
|
2129
|
+
function toJson_HttpRouteSpecRulesFiltersRequestMirrorBackendRef(obj) {
|
|
2130
|
+
if (obj === undefined) {
|
|
2131
|
+
return undefined;
|
|
2132
|
+
}
|
|
2133
|
+
const result = {
|
|
2134
|
+
group: obj.group,
|
|
2135
|
+
kind: obj.kind,
|
|
2136
|
+
name: obj.name,
|
|
2137
|
+
namespace: obj.namespace,
|
|
2138
|
+
port: obj.port
|
|
2139
|
+
};
|
|
2140
|
+
// filter undefined values
|
|
2141
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2142
|
+
}
|
|
2143
|
+
/** Converts an object of type 'HttpRouteSpecRulesFiltersRequestRedirectPath' to JSON representation. */
|
|
2144
|
+
/* eslint-disable max-len, quote-props */
|
|
2145
|
+
function toJson_HttpRouteSpecRulesFiltersRequestRedirectPath(obj) {
|
|
2146
|
+
if (obj === undefined) {
|
|
2147
|
+
return undefined;
|
|
2148
|
+
}
|
|
2149
|
+
const result = {
|
|
2150
|
+
replaceFullPath: obj.replaceFullPath,
|
|
2151
|
+
replacePrefixMatch: obj.replacePrefixMatch,
|
|
2152
|
+
type: obj.type
|
|
2153
|
+
};
|
|
2154
|
+
// filter undefined values
|
|
2155
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2156
|
+
}
|
|
2157
|
+
/* eslint-enable max-len, quote-props */
|
|
2158
|
+
/**
|
|
2159
|
+
* Scheme is the scheme to be used in the value of the `Location` header in the response. When
|
|
2160
|
+
* empty, the scheme of the request is used.
|
|
2161
|
+
*
|
|
2162
|
+
* Scheme redirects can affect the port of the redirect, for more information, refer to the
|
|
2163
|
+
* documentation for the port field of this filter.
|
|
2164
|
+
*
|
|
2165
|
+
* Note that values may be added to this enum, implementations must ensure that unknown values will
|
|
2166
|
+
* not cause a crash.
|
|
2167
|
+
*
|
|
2168
|
+
* Unknown values here must result in the implementation setting the Accepted Condition for the
|
|
2169
|
+
* Route to `status: False`, with a Reason of `UnsupportedValue`.
|
|
2170
|
+
*
|
|
2171
|
+
* Support: Extended
|
|
2172
|
+
*
|
|
2173
|
+
* @schema HttpRouteSpecRulesFiltersRequestRedirectScheme
|
|
2174
|
+
*/
|
|
2175
|
+
var HttpRouteSpecRulesFiltersRequestRedirectScheme;
|
|
2176
|
+
(function (HttpRouteSpecRulesFiltersRequestRedirectScheme) {
|
|
2177
|
+
/** Http */
|
|
2178
|
+
HttpRouteSpecRulesFiltersRequestRedirectScheme["HTTP"] = "http";
|
|
2179
|
+
/** Https */
|
|
2180
|
+
HttpRouteSpecRulesFiltersRequestRedirectScheme["HTTPS"] = "https";
|
|
2181
|
+
})(HttpRouteSpecRulesFiltersRequestRedirectScheme || (exports.HttpRouteSpecRulesFiltersRequestRedirectScheme = HttpRouteSpecRulesFiltersRequestRedirectScheme = {}));
|
|
2182
|
+
/**
|
|
2183
|
+
* StatusCode is the HTTP status code to be used in response.
|
|
2184
|
+
*
|
|
2185
|
+
* Note that values may be added to this enum, implementations must ensure that unknown values will
|
|
2186
|
+
* not cause a crash.
|
|
2187
|
+
*
|
|
2188
|
+
* Unknown values here must result in the implementation setting the Accepted Condition for the
|
|
2189
|
+
* Route to `status: False`, with a Reason of `UnsupportedValue`.
|
|
2190
|
+
*
|
|
2191
|
+
* Support: Core
|
|
2192
|
+
*
|
|
2193
|
+
* @schema HttpRouteSpecRulesFiltersRequestRedirectStatusCode
|
|
2194
|
+
*/
|
|
2195
|
+
var HttpRouteSpecRulesFiltersRequestRedirectStatusCode;
|
|
2196
|
+
(function (HttpRouteSpecRulesFiltersRequestRedirectStatusCode) {
|
|
2197
|
+
/** 301 */
|
|
2198
|
+
HttpRouteSpecRulesFiltersRequestRedirectStatusCode[HttpRouteSpecRulesFiltersRequestRedirectStatusCode["VALUE_301"] = 301] = "VALUE_301";
|
|
2199
|
+
/** 302 */
|
|
2200
|
+
HttpRouteSpecRulesFiltersRequestRedirectStatusCode[HttpRouteSpecRulesFiltersRequestRedirectStatusCode["VALUE_302"] = 302] = "VALUE_302";
|
|
2201
|
+
})(HttpRouteSpecRulesFiltersRequestRedirectStatusCode || (exports.HttpRouteSpecRulesFiltersRequestRedirectStatusCode = HttpRouteSpecRulesFiltersRequestRedirectStatusCode = {}));
|
|
2202
|
+
/**
|
|
2203
|
+
* Converts an object of type 'HttpRouteSpecRulesFiltersResponseHeaderModifierAdd' to JSON
|
|
2204
|
+
* representation.
|
|
2205
|
+
*/
|
|
2206
|
+
/* eslint-disable max-len, quote-props */
|
|
2207
|
+
function toJson_HttpRouteSpecRulesFiltersResponseHeaderModifierAdd(obj) {
|
|
2208
|
+
if (obj === undefined) {
|
|
2209
|
+
return undefined;
|
|
2210
|
+
}
|
|
2211
|
+
const result = {
|
|
2212
|
+
name: obj.name,
|
|
2213
|
+
value: obj.value
|
|
2214
|
+
};
|
|
2215
|
+
// filter undefined values
|
|
2216
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2217
|
+
}
|
|
2218
|
+
/**
|
|
2219
|
+
* Converts an object of type 'HttpRouteSpecRulesFiltersResponseHeaderModifierSet' to JSON
|
|
2220
|
+
* representation.
|
|
2221
|
+
*/
|
|
2222
|
+
/* eslint-disable max-len, quote-props */
|
|
2223
|
+
function toJson_HttpRouteSpecRulesFiltersResponseHeaderModifierSet(obj) {
|
|
2224
|
+
if (obj === undefined) {
|
|
2225
|
+
return undefined;
|
|
2226
|
+
}
|
|
2227
|
+
const result = {
|
|
2228
|
+
name: obj.name,
|
|
2229
|
+
value: obj.value
|
|
2230
|
+
};
|
|
2231
|
+
// filter undefined values
|
|
2232
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2233
|
+
}
|
|
2234
|
+
/** Converts an object of type 'HttpRouteSpecRulesFiltersUrlRewritePath' to JSON representation. */
|
|
2235
|
+
/* eslint-disable max-len, quote-props */
|
|
2236
|
+
function toJson_HttpRouteSpecRulesFiltersUrlRewritePath(obj) {
|
|
2237
|
+
if (obj === undefined) {
|
|
2238
|
+
return undefined;
|
|
2239
|
+
}
|
|
2240
|
+
const result = {
|
|
2241
|
+
replaceFullPath: obj.replaceFullPath,
|
|
2242
|
+
replacePrefixMatch: obj.replacePrefixMatch,
|
|
2243
|
+
type: obj.type
|
|
2244
|
+
};
|
|
2245
|
+
// filter undefined values
|
|
2246
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2247
|
+
}
|
|
2248
|
+
/* eslint-enable max-len, quote-props */
|
|
2249
|
+
/**
|
|
2250
|
+
* Type specifies how to match against the value of the header.
|
|
2251
|
+
*
|
|
2252
|
+
* Support: Core (Exact)
|
|
2253
|
+
*
|
|
2254
|
+
* Support: Implementation-specific (RegularExpression)
|
|
2255
|
+
*
|
|
2256
|
+
* Since RegularExpression HeaderMatchType has implementation-specific conformance, implementations
|
|
2257
|
+
* can support POSIX, PCRE or any other dialects of regular expressions. Please read the
|
|
2258
|
+
* implementation's documentation to determine the supported dialect.
|
|
2259
|
+
*
|
|
2260
|
+
* @schema HttpRouteSpecRulesMatchesHeadersType
|
|
2261
|
+
*/
|
|
2262
|
+
var HttpRouteSpecRulesMatchesHeadersType;
|
|
2263
|
+
(function (HttpRouteSpecRulesMatchesHeadersType) {
|
|
2264
|
+
/** Exact */
|
|
2265
|
+
HttpRouteSpecRulesMatchesHeadersType["EXACT"] = "Exact";
|
|
2266
|
+
/** RegularExpression */
|
|
2267
|
+
HttpRouteSpecRulesMatchesHeadersType["REGULAR_EXPRESSION"] = "RegularExpression";
|
|
2268
|
+
})(HttpRouteSpecRulesMatchesHeadersType || (exports.HttpRouteSpecRulesMatchesHeadersType = HttpRouteSpecRulesMatchesHeadersType = {}));
|
|
2269
|
+
/**
|
|
2270
|
+
* Type specifies how to match against the path Value.
|
|
2271
|
+
*
|
|
2272
|
+
* Support: Core (Exact, PathPrefix)
|
|
2273
|
+
*
|
|
2274
|
+
* Support: Implementation-specific (RegularExpression)
|
|
2275
|
+
*
|
|
2276
|
+
* @schema HttpRouteSpecRulesMatchesPathType
|
|
2277
|
+
*/
|
|
2278
|
+
var HttpRouteSpecRulesMatchesPathType;
|
|
2279
|
+
(function (HttpRouteSpecRulesMatchesPathType) {
|
|
2280
|
+
/** Exact */
|
|
2281
|
+
HttpRouteSpecRulesMatchesPathType["EXACT"] = "Exact";
|
|
2282
|
+
/** PathPrefix */
|
|
2283
|
+
HttpRouteSpecRulesMatchesPathType["PATH_PREFIX"] = "PathPrefix";
|
|
2284
|
+
/** RegularExpression */
|
|
2285
|
+
HttpRouteSpecRulesMatchesPathType["REGULAR_EXPRESSION"] = "RegularExpression";
|
|
2286
|
+
})(HttpRouteSpecRulesMatchesPathType || (exports.HttpRouteSpecRulesMatchesPathType = HttpRouteSpecRulesMatchesPathType = {}));
|
|
2287
|
+
/**
|
|
2288
|
+
* Type specifies how to match against the value of the query parameter.
|
|
2289
|
+
*
|
|
2290
|
+
* Support: Extended (Exact)
|
|
2291
|
+
*
|
|
2292
|
+
* Support: Implementation-specific (RegularExpression)
|
|
2293
|
+
*
|
|
2294
|
+
* Since RegularExpression QueryParamMatchType has Implementation-specific conformance,
|
|
2295
|
+
* implementations can support POSIX, PCRE or any other dialects of regular expressions. Please read
|
|
2296
|
+
* the implementation's documentation to determine the supported dialect.
|
|
2297
|
+
*
|
|
2298
|
+
* @schema HttpRouteSpecRulesMatchesQueryParamsType
|
|
2299
|
+
*/
|
|
2300
|
+
var HttpRouteSpecRulesMatchesQueryParamsType;
|
|
2301
|
+
(function (HttpRouteSpecRulesMatchesQueryParamsType) {
|
|
2302
|
+
/** Exact */
|
|
2303
|
+
HttpRouteSpecRulesMatchesQueryParamsType["EXACT"] = "Exact";
|
|
2304
|
+
/** RegularExpression */
|
|
2305
|
+
HttpRouteSpecRulesMatchesQueryParamsType["REGULAR_EXPRESSION"] = "RegularExpression";
|
|
2306
|
+
})(HttpRouteSpecRulesMatchesQueryParamsType || (exports.HttpRouteSpecRulesMatchesQueryParamsType = HttpRouteSpecRulesMatchesQueryParamsType = {}));
|
|
2307
|
+
/**
|
|
2308
|
+
* Converts an object of type 'HttpRouteSpecRulesBackendRefsFiltersRequestHeaderModifierAdd' to JSON
|
|
2309
|
+
* representation.
|
|
2310
|
+
*/
|
|
2311
|
+
/* eslint-disable max-len, quote-props */
|
|
2312
|
+
function toJson_HttpRouteSpecRulesBackendRefsFiltersRequestHeaderModifierAdd(obj) {
|
|
2313
|
+
if (obj === undefined) {
|
|
2314
|
+
return undefined;
|
|
2315
|
+
}
|
|
2316
|
+
const result = {
|
|
2317
|
+
name: obj.name,
|
|
2318
|
+
value: obj.value
|
|
2319
|
+
};
|
|
2320
|
+
// filter undefined values
|
|
2321
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2322
|
+
}
|
|
2323
|
+
/**
|
|
2324
|
+
* Converts an object of type 'HttpRouteSpecRulesBackendRefsFiltersRequestHeaderModifierSet' to JSON
|
|
2325
|
+
* representation.
|
|
2326
|
+
*/
|
|
2327
|
+
/* eslint-disable max-len, quote-props */
|
|
2328
|
+
function toJson_HttpRouteSpecRulesBackendRefsFiltersRequestHeaderModifierSet(obj) {
|
|
2329
|
+
if (obj === undefined) {
|
|
2330
|
+
return undefined;
|
|
2331
|
+
}
|
|
2332
|
+
const result = {
|
|
2333
|
+
name: obj.name,
|
|
2334
|
+
value: obj.value
|
|
2335
|
+
};
|
|
2336
|
+
// filter undefined values
|
|
2337
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2338
|
+
}
|
|
2339
|
+
/**
|
|
2340
|
+
* Converts an object of type 'HttpRouteSpecRulesBackendRefsFiltersRequestMirrorBackendRef' to JSON
|
|
2341
|
+
* representation.
|
|
2342
|
+
*/
|
|
2343
|
+
/* eslint-disable max-len, quote-props */
|
|
2344
|
+
function toJson_HttpRouteSpecRulesBackendRefsFiltersRequestMirrorBackendRef(obj) {
|
|
2345
|
+
if (obj === undefined) {
|
|
2346
|
+
return undefined;
|
|
2347
|
+
}
|
|
2348
|
+
const result = {
|
|
2349
|
+
group: obj.group,
|
|
2350
|
+
kind: obj.kind,
|
|
2351
|
+
name: obj.name,
|
|
2352
|
+
namespace: obj.namespace,
|
|
2353
|
+
port: obj.port
|
|
2354
|
+
};
|
|
2355
|
+
// filter undefined values
|
|
2356
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2357
|
+
}
|
|
2358
|
+
/**
|
|
2359
|
+
* Converts an object of type 'HttpRouteSpecRulesBackendRefsFiltersRequestRedirectPath' to JSON
|
|
2360
|
+
* representation.
|
|
2361
|
+
*/
|
|
2362
|
+
/* eslint-disable max-len, quote-props */
|
|
2363
|
+
function toJson_HttpRouteSpecRulesBackendRefsFiltersRequestRedirectPath(obj) {
|
|
2364
|
+
if (obj === undefined) {
|
|
2365
|
+
return undefined;
|
|
2366
|
+
}
|
|
2367
|
+
const result = {
|
|
2368
|
+
replaceFullPath: obj.replaceFullPath,
|
|
2369
|
+
replacePrefixMatch: obj.replacePrefixMatch,
|
|
2370
|
+
type: obj.type
|
|
2371
|
+
};
|
|
2372
|
+
// filter undefined values
|
|
2373
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2374
|
+
}
|
|
2375
|
+
/* eslint-enable max-len, quote-props */
|
|
2376
|
+
/**
|
|
2377
|
+
* Scheme is the scheme to be used in the value of the `Location` header in the response. When
|
|
2378
|
+
* empty, the scheme of the request is used.
|
|
2379
|
+
*
|
|
2380
|
+
* Scheme redirects can affect the port of the redirect, for more information, refer to the
|
|
2381
|
+
* documentation for the port field of this filter.
|
|
2382
|
+
*
|
|
2383
|
+
* Note that values may be added to this enum, implementations must ensure that unknown values will
|
|
2384
|
+
* not cause a crash.
|
|
2385
|
+
*
|
|
2386
|
+
* Unknown values here must result in the implementation setting the Accepted Condition for the
|
|
2387
|
+
* Route to `status: False`, with a Reason of `UnsupportedValue`.
|
|
2388
|
+
*
|
|
2389
|
+
* Support: Extended
|
|
2390
|
+
*
|
|
2391
|
+
* @schema HttpRouteSpecRulesBackendRefsFiltersRequestRedirectScheme
|
|
2392
|
+
*/
|
|
2393
|
+
var HttpRouteSpecRulesBackendRefsFiltersRequestRedirectScheme;
|
|
2394
|
+
(function (HttpRouteSpecRulesBackendRefsFiltersRequestRedirectScheme) {
|
|
2395
|
+
/** Http */
|
|
2396
|
+
HttpRouteSpecRulesBackendRefsFiltersRequestRedirectScheme["HTTP"] = "http";
|
|
2397
|
+
/** Https */
|
|
2398
|
+
HttpRouteSpecRulesBackendRefsFiltersRequestRedirectScheme["HTTPS"] = "https";
|
|
2399
|
+
})(HttpRouteSpecRulesBackendRefsFiltersRequestRedirectScheme || (exports.HttpRouteSpecRulesBackendRefsFiltersRequestRedirectScheme = HttpRouteSpecRulesBackendRefsFiltersRequestRedirectScheme = {}));
|
|
2400
|
+
/**
|
|
2401
|
+
* StatusCode is the HTTP status code to be used in response.
|
|
2402
|
+
*
|
|
2403
|
+
* Note that values may be added to this enum, implementations must ensure that unknown values will
|
|
2404
|
+
* not cause a crash.
|
|
2405
|
+
*
|
|
2406
|
+
* Unknown values here must result in the implementation setting the Accepted Condition for the
|
|
2407
|
+
* Route to `status: False`, with a Reason of `UnsupportedValue`.
|
|
2408
|
+
*
|
|
2409
|
+
* Support: Core
|
|
2410
|
+
*
|
|
2411
|
+
* @schema HttpRouteSpecRulesBackendRefsFiltersRequestRedirectStatusCode
|
|
2412
|
+
*/
|
|
2413
|
+
var HttpRouteSpecRulesBackendRefsFiltersRequestRedirectStatusCode;
|
|
2414
|
+
(function (HttpRouteSpecRulesBackendRefsFiltersRequestRedirectStatusCode) {
|
|
2415
|
+
/** 301 */
|
|
2416
|
+
HttpRouteSpecRulesBackendRefsFiltersRequestRedirectStatusCode[HttpRouteSpecRulesBackendRefsFiltersRequestRedirectStatusCode["VALUE_301"] = 301] = "VALUE_301";
|
|
2417
|
+
/** 302 */
|
|
2418
|
+
HttpRouteSpecRulesBackendRefsFiltersRequestRedirectStatusCode[HttpRouteSpecRulesBackendRefsFiltersRequestRedirectStatusCode["VALUE_302"] = 302] = "VALUE_302";
|
|
2419
|
+
})(HttpRouteSpecRulesBackendRefsFiltersRequestRedirectStatusCode || (exports.HttpRouteSpecRulesBackendRefsFiltersRequestRedirectStatusCode = HttpRouteSpecRulesBackendRefsFiltersRequestRedirectStatusCode = {}));
|
|
2420
|
+
/**
|
|
2421
|
+
* Converts an object of type 'HttpRouteSpecRulesBackendRefsFiltersResponseHeaderModifierAdd' to
|
|
2422
|
+
* JSON representation.
|
|
2423
|
+
*/
|
|
2424
|
+
/* eslint-disable max-len, quote-props */
|
|
2425
|
+
function toJson_HttpRouteSpecRulesBackendRefsFiltersResponseHeaderModifierAdd(obj) {
|
|
2426
|
+
if (obj === undefined) {
|
|
2427
|
+
return undefined;
|
|
2428
|
+
}
|
|
2429
|
+
const result = {
|
|
2430
|
+
name: obj.name,
|
|
2431
|
+
value: obj.value
|
|
2432
|
+
};
|
|
2433
|
+
// filter undefined values
|
|
2434
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2435
|
+
}
|
|
2436
|
+
/**
|
|
2437
|
+
* Converts an object of type 'HttpRouteSpecRulesBackendRefsFiltersResponseHeaderModifierSet' to
|
|
2438
|
+
* JSON representation.
|
|
2439
|
+
*/
|
|
2440
|
+
/* eslint-disable max-len, quote-props */
|
|
2441
|
+
function toJson_HttpRouteSpecRulesBackendRefsFiltersResponseHeaderModifierSet(obj) {
|
|
2442
|
+
if (obj === undefined) {
|
|
2443
|
+
return undefined;
|
|
2444
|
+
}
|
|
2445
|
+
const result = {
|
|
2446
|
+
name: obj.name,
|
|
2447
|
+
value: obj.value
|
|
2448
|
+
};
|
|
2449
|
+
// filter undefined values
|
|
2450
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2451
|
+
}
|
|
2452
|
+
/**
|
|
2453
|
+
* Converts an object of type 'HttpRouteSpecRulesBackendRefsFiltersUrlRewritePath' to JSON
|
|
2454
|
+
* representation.
|
|
2455
|
+
*/
|
|
2456
|
+
/* eslint-disable max-len, quote-props */
|
|
2457
|
+
function toJson_HttpRouteSpecRulesBackendRefsFiltersUrlRewritePath(obj) {
|
|
2458
|
+
if (obj === undefined) {
|
|
2459
|
+
return undefined;
|
|
2460
|
+
}
|
|
2461
|
+
const result = {
|
|
2462
|
+
replaceFullPath: obj.replaceFullPath,
|
|
2463
|
+
replacePrefixMatch: obj.replacePrefixMatch,
|
|
2464
|
+
type: obj.type
|
|
2465
|
+
};
|
|
2466
|
+
// filter undefined values
|
|
2467
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2468
|
+
}
|
|
2469
|
+
/* eslint-enable max-len, quote-props */
|
|
2470
|
+
/**
|
|
2471
|
+
* Type defines the type of path modifier. Additional types may be added in a future release of the
|
|
2472
|
+
* API.
|
|
2473
|
+
*
|
|
2474
|
+
* Note that values may be added to this enum, implementations must ensure that unknown values will
|
|
2475
|
+
* not cause a crash.
|
|
2476
|
+
*
|
|
2477
|
+
* Unknown values here must result in the implementation setting the Accepted Condition for the
|
|
2478
|
+
* Route to `status: False`, with a Reason of `UnsupportedValue`.
|
|
2479
|
+
*
|
|
2480
|
+
* @schema HttpRouteSpecRulesFiltersRequestRedirectPathType
|
|
2481
|
+
*/
|
|
2482
|
+
var HttpRouteSpecRulesFiltersRequestRedirectPathType;
|
|
2483
|
+
(function (HttpRouteSpecRulesFiltersRequestRedirectPathType) {
|
|
2484
|
+
/** ReplaceFullPath */
|
|
2485
|
+
HttpRouteSpecRulesFiltersRequestRedirectPathType["REPLACE_FULL_PATH"] = "ReplaceFullPath";
|
|
2486
|
+
/** ReplacePrefixMatch */
|
|
2487
|
+
HttpRouteSpecRulesFiltersRequestRedirectPathType["REPLACE_PREFIX_MATCH"] = "ReplacePrefixMatch";
|
|
2488
|
+
})(HttpRouteSpecRulesFiltersRequestRedirectPathType || (exports.HttpRouteSpecRulesFiltersRequestRedirectPathType = HttpRouteSpecRulesFiltersRequestRedirectPathType = {}));
|
|
2489
|
+
/**
|
|
2490
|
+
* Type defines the type of path modifier. Additional types may be added in a future release of the
|
|
2491
|
+
* API.
|
|
2492
|
+
*
|
|
2493
|
+
* Note that values may be added to this enum, implementations must ensure that unknown values will
|
|
2494
|
+
* not cause a crash.
|
|
2495
|
+
*
|
|
2496
|
+
* Unknown values here must result in the implementation setting the Accepted Condition for the
|
|
2497
|
+
* Route to `status: False`, with a Reason of `UnsupportedValue`.
|
|
2498
|
+
*
|
|
2499
|
+
* @schema HttpRouteSpecRulesFiltersUrlRewritePathType
|
|
2500
|
+
*/
|
|
2501
|
+
var HttpRouteSpecRulesFiltersUrlRewritePathType;
|
|
2502
|
+
(function (HttpRouteSpecRulesFiltersUrlRewritePathType) {
|
|
2503
|
+
/** ReplaceFullPath */
|
|
2504
|
+
HttpRouteSpecRulesFiltersUrlRewritePathType["REPLACE_FULL_PATH"] = "ReplaceFullPath";
|
|
2505
|
+
/** ReplacePrefixMatch */
|
|
2506
|
+
HttpRouteSpecRulesFiltersUrlRewritePathType["REPLACE_PREFIX_MATCH"] = "ReplacePrefixMatch";
|
|
2507
|
+
})(HttpRouteSpecRulesFiltersUrlRewritePathType || (exports.HttpRouteSpecRulesFiltersUrlRewritePathType = HttpRouteSpecRulesFiltersUrlRewritePathType = {}));
|
|
2508
|
+
/**
|
|
2509
|
+
* Type defines the type of path modifier. Additional types may be added in a future release of the
|
|
2510
|
+
* API.
|
|
2511
|
+
*
|
|
2512
|
+
* Note that values may be added to this enum, implementations must ensure that unknown values will
|
|
2513
|
+
* not cause a crash.
|
|
2514
|
+
*
|
|
2515
|
+
* Unknown values here must result in the implementation setting the Accepted Condition for the
|
|
2516
|
+
* Route to `status: False`, with a Reason of `UnsupportedValue`.
|
|
2517
|
+
*
|
|
2518
|
+
* @schema HttpRouteSpecRulesBackendRefsFiltersRequestRedirectPathType
|
|
2519
|
+
*/
|
|
2520
|
+
var HttpRouteSpecRulesBackendRefsFiltersRequestRedirectPathType;
|
|
2521
|
+
(function (HttpRouteSpecRulesBackendRefsFiltersRequestRedirectPathType) {
|
|
2522
|
+
/** ReplaceFullPath */
|
|
2523
|
+
HttpRouteSpecRulesBackendRefsFiltersRequestRedirectPathType["REPLACE_FULL_PATH"] = "ReplaceFullPath";
|
|
2524
|
+
/** ReplacePrefixMatch */
|
|
2525
|
+
HttpRouteSpecRulesBackendRefsFiltersRequestRedirectPathType["REPLACE_PREFIX_MATCH"] = "ReplacePrefixMatch";
|
|
2526
|
+
})(HttpRouteSpecRulesBackendRefsFiltersRequestRedirectPathType || (exports.HttpRouteSpecRulesBackendRefsFiltersRequestRedirectPathType = HttpRouteSpecRulesBackendRefsFiltersRequestRedirectPathType = {}));
|
|
2527
|
+
/**
|
|
2528
|
+
* Type defines the type of path modifier. Additional types may be added in a future release of the
|
|
2529
|
+
* API.
|
|
2530
|
+
*
|
|
2531
|
+
* Note that values may be added to this enum, implementations must ensure that unknown values will
|
|
2532
|
+
* not cause a crash.
|
|
2533
|
+
*
|
|
2534
|
+
* Unknown values here must result in the implementation setting the Accepted Condition for the
|
|
2535
|
+
* Route to `status: False`, with a Reason of `UnsupportedValue`.
|
|
2536
|
+
*
|
|
2537
|
+
* @schema HttpRouteSpecRulesBackendRefsFiltersUrlRewritePathType
|
|
2538
|
+
*/
|
|
2539
|
+
var HttpRouteSpecRulesBackendRefsFiltersUrlRewritePathType;
|
|
2540
|
+
(function (HttpRouteSpecRulesBackendRefsFiltersUrlRewritePathType) {
|
|
2541
|
+
/** ReplaceFullPath */
|
|
2542
|
+
HttpRouteSpecRulesBackendRefsFiltersUrlRewritePathType["REPLACE_FULL_PATH"] = "ReplaceFullPath";
|
|
2543
|
+
/** ReplacePrefixMatch */
|
|
2544
|
+
HttpRouteSpecRulesBackendRefsFiltersUrlRewritePathType["REPLACE_PREFIX_MATCH"] = "ReplacePrefixMatch";
|
|
2545
|
+
})(HttpRouteSpecRulesBackendRefsFiltersUrlRewritePathType || (exports.HttpRouteSpecRulesBackendRefsFiltersUrlRewritePathType = HttpRouteSpecRulesBackendRefsFiltersUrlRewritePathType = {}));
|
|
2546
|
+
/**
|
|
2547
|
+
* HTTPRoute provides a way to route HTTP requests. This includes the capability to match requests
|
|
2548
|
+
* by hostname, path, header, or query param. Filters can be used to specify additional processing
|
|
2549
|
+
* steps. Backends specify where matching requests should be routed.
|
|
2550
|
+
*
|
|
2551
|
+
* @schema HTTPRouteV1Beta1
|
|
2552
|
+
*/
|
|
2553
|
+
class HttpRouteV1Beta1 extends cdk8s_1.ApiObject {
|
|
2554
|
+
/**
|
|
2555
|
+
* Renders a Kubernetes manifest for "HTTPRouteV1Beta1".
|
|
2556
|
+
*
|
|
2557
|
+
* This can be used to inline resource manifests inside other objects (e.g. as templates).
|
|
2558
|
+
*
|
|
2559
|
+
* @param props Initialization props
|
|
2560
|
+
*/
|
|
2561
|
+
static manifest(props) {
|
|
2562
|
+
return {
|
|
2563
|
+
...HttpRouteV1Beta1.GVK,
|
|
2564
|
+
...toJson_HttpRouteV1Beta1Props(props)
|
|
2565
|
+
};
|
|
2566
|
+
}
|
|
2567
|
+
/**
|
|
2568
|
+
* Defines a "HTTPRouteV1Beta1" API object
|
|
2569
|
+
*
|
|
2570
|
+
* @param scope The scope in which to define this object
|
|
2571
|
+
* @param id A scope-local name for the object
|
|
2572
|
+
* @param props Initialization props
|
|
2573
|
+
*/
|
|
2574
|
+
constructor(scope, id, props) {
|
|
2575
|
+
super(scope, id, {
|
|
2576
|
+
...HttpRouteV1Beta1.GVK,
|
|
2577
|
+
...props
|
|
2578
|
+
});
|
|
2579
|
+
}
|
|
2580
|
+
/** Renders the object to Kubernetes JSON. */
|
|
2581
|
+
toJson() {
|
|
2582
|
+
const resolved = super.toJson();
|
|
2583
|
+
return {
|
|
2584
|
+
...HttpRouteV1Beta1.GVK,
|
|
2585
|
+
...toJson_HttpRouteV1Beta1Props(resolved)
|
|
2586
|
+
};
|
|
2587
|
+
}
|
|
2588
|
+
}
|
|
2589
|
+
exports.HttpRouteV1Beta1 = HttpRouteV1Beta1;
|
|
2590
|
+
/** Returns the apiVersion and kind for "HTTPRouteV1Beta1" */
|
|
2591
|
+
HttpRouteV1Beta1.GVK = {
|
|
2592
|
+
apiVersion: "gateway.networking.k8s.io/v1beta1",
|
|
2593
|
+
kind: "HTTPRoute"
|
|
2594
|
+
};
|
|
2595
|
+
/** Converts an object of type 'HttpRouteV1Beta1Props' to JSON representation. */
|
|
2596
|
+
/* eslint-disable max-len, quote-props */
|
|
2597
|
+
function toJson_HttpRouteV1Beta1Props(obj) {
|
|
2598
|
+
if (obj === undefined) {
|
|
2599
|
+
return undefined;
|
|
2600
|
+
}
|
|
2601
|
+
const result = {
|
|
2602
|
+
metadata: obj.metadata,
|
|
2603
|
+
spec: toJson_HttpRouteV1Beta1Spec(obj.spec)
|
|
2604
|
+
};
|
|
2605
|
+
// filter undefined values
|
|
2606
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2607
|
+
}
|
|
2608
|
+
/** Converts an object of type 'HttpRouteV1Beta1Spec' to JSON representation. */
|
|
2609
|
+
/* eslint-disable max-len, quote-props */
|
|
2610
|
+
function toJson_HttpRouteV1Beta1Spec(obj) {
|
|
2611
|
+
if (obj === undefined) {
|
|
2612
|
+
return undefined;
|
|
2613
|
+
}
|
|
2614
|
+
const result = {
|
|
2615
|
+
hostnames: obj.hostnames?.map(y => y),
|
|
2616
|
+
parentRefs: obj.parentRefs?.map(y => toJson_HttpRouteV1Beta1SpecParentRefs(y)),
|
|
2617
|
+
rules: obj.rules?.map(y => toJson_HttpRouteV1Beta1SpecRules(y))
|
|
2618
|
+
};
|
|
2619
|
+
// filter undefined values
|
|
2620
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2621
|
+
}
|
|
2622
|
+
/** Converts an object of type 'HttpRouteV1Beta1SpecParentRefs' to JSON representation. */
|
|
2623
|
+
/* eslint-disable max-len, quote-props */
|
|
2624
|
+
function toJson_HttpRouteV1Beta1SpecParentRefs(obj) {
|
|
2625
|
+
if (obj === undefined) {
|
|
2626
|
+
return undefined;
|
|
2627
|
+
}
|
|
2628
|
+
const result = {
|
|
2629
|
+
group: obj.group,
|
|
2630
|
+
kind: obj.kind,
|
|
2631
|
+
name: obj.name,
|
|
2632
|
+
namespace: obj.namespace,
|
|
2633
|
+
port: obj.port,
|
|
2634
|
+
sectionName: obj.sectionName
|
|
2635
|
+
};
|
|
2636
|
+
// filter undefined values
|
|
2637
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2638
|
+
}
|
|
2639
|
+
/** Converts an object of type 'HttpRouteV1Beta1SpecRules' to JSON representation. */
|
|
2640
|
+
/* eslint-disable max-len, quote-props */
|
|
2641
|
+
function toJson_HttpRouteV1Beta1SpecRules(obj) {
|
|
2642
|
+
if (obj === undefined) {
|
|
2643
|
+
return undefined;
|
|
2644
|
+
}
|
|
2645
|
+
const result = {
|
|
2646
|
+
backendRefs: obj.backendRefs?.map(y => toJson_HttpRouteV1Beta1SpecRulesBackendRefs(y)),
|
|
2647
|
+
filters: obj.filters?.map(y => toJson_HttpRouteV1Beta1SpecRulesFilters(y)),
|
|
2648
|
+
matches: obj.matches?.map(y => toJson_HttpRouteV1Beta1SpecRulesMatches(y)),
|
|
2649
|
+
timeouts: toJson_HttpRouteV1Beta1SpecRulesTimeouts(obj.timeouts)
|
|
2650
|
+
};
|
|
2651
|
+
// filter undefined values
|
|
2652
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2653
|
+
}
|
|
2654
|
+
/** Converts an object of type 'HttpRouteV1Beta1SpecRulesBackendRefs' to JSON representation. */
|
|
2655
|
+
/* eslint-disable max-len, quote-props */
|
|
2656
|
+
function toJson_HttpRouteV1Beta1SpecRulesBackendRefs(obj) {
|
|
2657
|
+
if (obj === undefined) {
|
|
2658
|
+
return undefined;
|
|
2659
|
+
}
|
|
2660
|
+
const result = {
|
|
2661
|
+
filters: obj.filters?.map(y => toJson_HttpRouteV1Beta1SpecRulesBackendRefsFilters(y)),
|
|
2662
|
+
group: obj.group,
|
|
2663
|
+
kind: obj.kind,
|
|
2664
|
+
name: obj.name,
|
|
2665
|
+
namespace: obj.namespace,
|
|
2666
|
+
port: obj.port,
|
|
2667
|
+
weight: obj.weight
|
|
2668
|
+
};
|
|
2669
|
+
// filter undefined values
|
|
2670
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2671
|
+
}
|
|
2672
|
+
/** Converts an object of type 'HttpRouteV1Beta1SpecRulesFilters' to JSON representation. */
|
|
2673
|
+
/* eslint-disable max-len, quote-props */
|
|
2674
|
+
function toJson_HttpRouteV1Beta1SpecRulesFilters(obj) {
|
|
2675
|
+
if (obj === undefined) {
|
|
2676
|
+
return undefined;
|
|
2677
|
+
}
|
|
2678
|
+
const result = {
|
|
2679
|
+
extensionRef: toJson_HttpRouteV1Beta1SpecRulesFiltersExtensionRef(obj.extensionRef),
|
|
2680
|
+
requestHeaderModifier: toJson_HttpRouteV1Beta1SpecRulesFiltersRequestHeaderModifier(obj.requestHeaderModifier),
|
|
2681
|
+
requestMirror: toJson_HttpRouteV1Beta1SpecRulesFiltersRequestMirror(obj.requestMirror),
|
|
2682
|
+
requestRedirect: toJson_HttpRouteV1Beta1SpecRulesFiltersRequestRedirect(obj.requestRedirect),
|
|
2683
|
+
responseHeaderModifier: toJson_HttpRouteV1Beta1SpecRulesFiltersResponseHeaderModifier(obj.responseHeaderModifier),
|
|
2684
|
+
type: obj.type,
|
|
2685
|
+
urlRewrite: toJson_HttpRouteV1Beta1SpecRulesFiltersUrlRewrite(obj.urlRewrite)
|
|
2686
|
+
};
|
|
2687
|
+
// filter undefined values
|
|
2688
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2689
|
+
}
|
|
2690
|
+
/** Converts an object of type 'HttpRouteV1Beta1SpecRulesMatches' to JSON representation. */
|
|
2691
|
+
/* eslint-disable max-len, quote-props */
|
|
2692
|
+
function toJson_HttpRouteV1Beta1SpecRulesMatches(obj) {
|
|
2693
|
+
if (obj === undefined) {
|
|
2694
|
+
return undefined;
|
|
2695
|
+
}
|
|
2696
|
+
const result = {
|
|
2697
|
+
headers: obj.headers?.map(y => toJson_HttpRouteV1Beta1SpecRulesMatchesHeaders(y)),
|
|
2698
|
+
method: obj.method,
|
|
2699
|
+
path: toJson_HttpRouteV1Beta1SpecRulesMatchesPath(obj.path),
|
|
2700
|
+
queryParams: obj.queryParams?.map(y => toJson_HttpRouteV1Beta1SpecRulesMatchesQueryParams(y))
|
|
2701
|
+
};
|
|
2702
|
+
// filter undefined values
|
|
2703
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2704
|
+
}
|
|
2705
|
+
/** Converts an object of type 'HttpRouteV1Beta1SpecRulesTimeouts' to JSON representation. */
|
|
2706
|
+
/* eslint-disable max-len, quote-props */
|
|
2707
|
+
function toJson_HttpRouteV1Beta1SpecRulesTimeouts(obj) {
|
|
2708
|
+
if (obj === undefined) {
|
|
2709
|
+
return undefined;
|
|
2710
|
+
}
|
|
2711
|
+
const result = {
|
|
2712
|
+
backendRequest: obj.backendRequest,
|
|
2713
|
+
request: obj.request
|
|
2714
|
+
};
|
|
2715
|
+
// filter undefined values
|
|
2716
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2717
|
+
}
|
|
2718
|
+
/** Converts an object of type 'HttpRouteV1Beta1SpecRulesBackendRefsFilters' to JSON representation. */
|
|
2719
|
+
/* eslint-disable max-len, quote-props */
|
|
2720
|
+
function toJson_HttpRouteV1Beta1SpecRulesBackendRefsFilters(obj) {
|
|
2721
|
+
if (obj === undefined) {
|
|
2722
|
+
return undefined;
|
|
2723
|
+
}
|
|
2724
|
+
const result = {
|
|
2725
|
+
extensionRef: toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersExtensionRef(obj.extensionRef),
|
|
2726
|
+
requestHeaderModifier: toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestHeaderModifier(obj.requestHeaderModifier),
|
|
2727
|
+
requestMirror: toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestMirror(obj.requestMirror),
|
|
2728
|
+
requestRedirect: toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirect(obj.requestRedirect),
|
|
2729
|
+
responseHeaderModifier: toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersResponseHeaderModifier(obj.responseHeaderModifier),
|
|
2730
|
+
type: obj.type,
|
|
2731
|
+
urlRewrite: toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersUrlRewrite(obj.urlRewrite)
|
|
2732
|
+
};
|
|
2733
|
+
// filter undefined values
|
|
2734
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2735
|
+
}
|
|
2736
|
+
/** Converts an object of type 'HttpRouteV1Beta1SpecRulesFiltersExtensionRef' to JSON representation. */
|
|
2737
|
+
/* eslint-disable max-len, quote-props */
|
|
2738
|
+
function toJson_HttpRouteV1Beta1SpecRulesFiltersExtensionRef(obj) {
|
|
2739
|
+
if (obj === undefined) {
|
|
2740
|
+
return undefined;
|
|
2741
|
+
}
|
|
2742
|
+
const result = {
|
|
2743
|
+
group: obj.group,
|
|
2744
|
+
kind: obj.kind,
|
|
2745
|
+
name: obj.name
|
|
2746
|
+
};
|
|
2747
|
+
// filter undefined values
|
|
2748
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2749
|
+
}
|
|
2750
|
+
/**
|
|
2751
|
+
* Converts an object of type 'HttpRouteV1Beta1SpecRulesFiltersRequestHeaderModifier' to JSON
|
|
2752
|
+
* representation.
|
|
2753
|
+
*/
|
|
2754
|
+
/* eslint-disable max-len, quote-props */
|
|
2755
|
+
function toJson_HttpRouteV1Beta1SpecRulesFiltersRequestHeaderModifier(obj) {
|
|
2756
|
+
if (obj === undefined) {
|
|
2757
|
+
return undefined;
|
|
2758
|
+
}
|
|
2759
|
+
const result = {
|
|
2760
|
+
add: obj.add?.map(y => toJson_HttpRouteV1Beta1SpecRulesFiltersRequestHeaderModifierAdd(y)),
|
|
2761
|
+
remove: obj.remove?.map(y => y),
|
|
2762
|
+
set: obj.set?.map(y => toJson_HttpRouteV1Beta1SpecRulesFiltersRequestHeaderModifierSet(y))
|
|
2763
|
+
};
|
|
2764
|
+
// filter undefined values
|
|
2765
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2766
|
+
}
|
|
2767
|
+
/**
|
|
2768
|
+
* Converts an object of type 'HttpRouteV1Beta1SpecRulesFiltersRequestMirror' to JSON
|
|
2769
|
+
* representation.
|
|
2770
|
+
*/
|
|
2771
|
+
/* eslint-disable max-len, quote-props */
|
|
2772
|
+
function toJson_HttpRouteV1Beta1SpecRulesFiltersRequestMirror(obj) {
|
|
2773
|
+
if (obj === undefined) {
|
|
2774
|
+
return undefined;
|
|
2775
|
+
}
|
|
2776
|
+
const result = {
|
|
2777
|
+
backendRef: toJson_HttpRouteV1Beta1SpecRulesFiltersRequestMirrorBackendRef(obj.backendRef)
|
|
2778
|
+
};
|
|
2779
|
+
// filter undefined values
|
|
2780
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2781
|
+
}
|
|
2782
|
+
/**
|
|
2783
|
+
* Converts an object of type 'HttpRouteV1Beta1SpecRulesFiltersRequestRedirect' to JSON
|
|
2784
|
+
* representation.
|
|
2785
|
+
*/
|
|
2786
|
+
/* eslint-disable max-len, quote-props */
|
|
2787
|
+
function toJson_HttpRouteV1Beta1SpecRulesFiltersRequestRedirect(obj) {
|
|
2788
|
+
if (obj === undefined) {
|
|
2789
|
+
return undefined;
|
|
2790
|
+
}
|
|
2791
|
+
const result = {
|
|
2792
|
+
hostname: obj.hostname,
|
|
2793
|
+
path: toJson_HttpRouteV1Beta1SpecRulesFiltersRequestRedirectPath(obj.path),
|
|
2794
|
+
port: obj.port,
|
|
2795
|
+
scheme: obj.scheme,
|
|
2796
|
+
statusCode: obj.statusCode
|
|
2797
|
+
};
|
|
2798
|
+
// filter undefined values
|
|
2799
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2800
|
+
}
|
|
2801
|
+
/**
|
|
2802
|
+
* Converts an object of type 'HttpRouteV1Beta1SpecRulesFiltersResponseHeaderModifier' to JSON
|
|
2803
|
+
* representation.
|
|
2804
|
+
*/
|
|
2805
|
+
/* eslint-disable max-len, quote-props */
|
|
2806
|
+
function toJson_HttpRouteV1Beta1SpecRulesFiltersResponseHeaderModifier(obj) {
|
|
2807
|
+
if (obj === undefined) {
|
|
2808
|
+
return undefined;
|
|
2809
|
+
}
|
|
2810
|
+
const result = {
|
|
2811
|
+
add: obj.add?.map(y => toJson_HttpRouteV1Beta1SpecRulesFiltersResponseHeaderModifierAdd(y)),
|
|
2812
|
+
remove: obj.remove?.map(y => y),
|
|
2813
|
+
set: obj.set?.map(y => toJson_HttpRouteV1Beta1SpecRulesFiltersResponseHeaderModifierSet(y))
|
|
2814
|
+
};
|
|
2815
|
+
// filter undefined values
|
|
2816
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2817
|
+
}
|
|
2818
|
+
/* eslint-enable max-len, quote-props */
|
|
2819
|
+
/**
|
|
2820
|
+
* Type identifies the type of filter to apply. As with other API fields, types are classified into
|
|
2821
|
+
* three conformance levels:
|
|
2822
|
+
*
|
|
2823
|
+
* - Core: Filter types and their corresponding configuration defined by "Support: Core" in this
|
|
2824
|
+
* package, e.g. "RequestHeaderModifier". All implementations must support core filters.
|
|
2825
|
+
* - Extended: Filter types and their corresponding configuration defined by "Support: Extended" in
|
|
2826
|
+
* this package, e.g. "RequestMirror". Implementers are encouraged to support extended filters.
|
|
2827
|
+
* - Implementation-specific: Filters that are defined and supported by specific vendors. In the
|
|
2828
|
+
* future, filters showing convergence in behavior across multiple implementations will be
|
|
2829
|
+
* considered for inclusion in extended or core conformance levels. Filter-specific configuration
|
|
2830
|
+
* for such filters is specified using the ExtensionRef field. `Type` should be set to
|
|
2831
|
+
* "ExtensionRef" for custom filters.
|
|
2832
|
+
*
|
|
2833
|
+
* Implementers are encouraged to define custom implementation types to extend the core API with
|
|
2834
|
+
* implementation-specific behavior.
|
|
2835
|
+
*
|
|
2836
|
+
* If a reference to a custom filter type cannot be resolved, the filter MUST NOT be skipped.
|
|
2837
|
+
* Instead, requests that would have been processed by that filter MUST receive a HTTP error
|
|
2838
|
+
* response.
|
|
2839
|
+
*
|
|
2840
|
+
* Note that values may be added to this enum, implementations must ensure that unknown values will
|
|
2841
|
+
* not cause a crash.
|
|
2842
|
+
*
|
|
2843
|
+
* Unknown values here must result in the implementation setting the Accepted Condition for the
|
|
2844
|
+
* Route to `status: False`, with a Reason of `UnsupportedValue`.
|
|
2845
|
+
*
|
|
2846
|
+
* @schema HttpRouteV1Beta1SpecRulesFiltersType
|
|
2847
|
+
*/
|
|
2848
|
+
var HttpRouteV1Beta1SpecRulesFiltersType;
|
|
2849
|
+
(function (HttpRouteV1Beta1SpecRulesFiltersType) {
|
|
2850
|
+
/** RequestHeaderModifier */
|
|
2851
|
+
HttpRouteV1Beta1SpecRulesFiltersType["REQUEST_HEADER_MODIFIER"] = "RequestHeaderModifier";
|
|
2852
|
+
/** ResponseHeaderModifier */
|
|
2853
|
+
HttpRouteV1Beta1SpecRulesFiltersType["RESPONSE_HEADER_MODIFIER"] = "ResponseHeaderModifier";
|
|
2854
|
+
/** RequestMirror */
|
|
2855
|
+
HttpRouteV1Beta1SpecRulesFiltersType["REQUEST_MIRROR"] = "RequestMirror";
|
|
2856
|
+
/** RequestRedirect */
|
|
2857
|
+
HttpRouteV1Beta1SpecRulesFiltersType["REQUEST_REDIRECT"] = "RequestRedirect";
|
|
2858
|
+
/** URLRewrite */
|
|
2859
|
+
HttpRouteV1Beta1SpecRulesFiltersType["URL_REWRITE"] = "URLRewrite";
|
|
2860
|
+
/** ExtensionRef */
|
|
2861
|
+
HttpRouteV1Beta1SpecRulesFiltersType["EXTENSION_REF"] = "ExtensionRef";
|
|
2862
|
+
})(HttpRouteV1Beta1SpecRulesFiltersType || (exports.HttpRouteV1Beta1SpecRulesFiltersType = HttpRouteV1Beta1SpecRulesFiltersType = {}));
|
|
2863
|
+
/** Converts an object of type 'HttpRouteV1Beta1SpecRulesFiltersUrlRewrite' to JSON representation. */
|
|
2864
|
+
/* eslint-disable max-len, quote-props */
|
|
2865
|
+
function toJson_HttpRouteV1Beta1SpecRulesFiltersUrlRewrite(obj) {
|
|
2866
|
+
if (obj === undefined) {
|
|
2867
|
+
return undefined;
|
|
2868
|
+
}
|
|
2869
|
+
const result = {
|
|
2870
|
+
hostname: obj.hostname,
|
|
2871
|
+
path: toJson_HttpRouteV1Beta1SpecRulesFiltersUrlRewritePath(obj.path)
|
|
2872
|
+
};
|
|
2873
|
+
// filter undefined values
|
|
2874
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2875
|
+
}
|
|
2876
|
+
/** Converts an object of type 'HttpRouteV1Beta1SpecRulesMatchesHeaders' to JSON representation. */
|
|
2877
|
+
/* eslint-disable max-len, quote-props */
|
|
2878
|
+
function toJson_HttpRouteV1Beta1SpecRulesMatchesHeaders(obj) {
|
|
2879
|
+
if (obj === undefined) {
|
|
2880
|
+
return undefined;
|
|
2881
|
+
}
|
|
2882
|
+
const result = {
|
|
2883
|
+
name: obj.name,
|
|
2884
|
+
type: obj.type,
|
|
2885
|
+
value: obj.value
|
|
2886
|
+
};
|
|
2887
|
+
// filter undefined values
|
|
2888
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2889
|
+
}
|
|
2890
|
+
/* eslint-enable max-len, quote-props */
|
|
2891
|
+
/**
|
|
2892
|
+
* Method specifies HTTP method matcher. When specified, this route will be matched only if the
|
|
2893
|
+
* request has the specified method.
|
|
2894
|
+
*
|
|
2895
|
+
* Support: Extended
|
|
2896
|
+
*
|
|
2897
|
+
* @schema HttpRouteV1Beta1SpecRulesMatchesMethod
|
|
2898
|
+
*/
|
|
2899
|
+
var HttpRouteV1Beta1SpecRulesMatchesMethod;
|
|
2900
|
+
(function (HttpRouteV1Beta1SpecRulesMatchesMethod) {
|
|
2901
|
+
/** GET */
|
|
2902
|
+
HttpRouteV1Beta1SpecRulesMatchesMethod["GET"] = "GET";
|
|
2903
|
+
/** HEAD */
|
|
2904
|
+
HttpRouteV1Beta1SpecRulesMatchesMethod["HEAD"] = "HEAD";
|
|
2905
|
+
/** POST */
|
|
2906
|
+
HttpRouteV1Beta1SpecRulesMatchesMethod["POST"] = "POST";
|
|
2907
|
+
/** PUT */
|
|
2908
|
+
HttpRouteV1Beta1SpecRulesMatchesMethod["PUT"] = "PUT";
|
|
2909
|
+
/** DELETE */
|
|
2910
|
+
HttpRouteV1Beta1SpecRulesMatchesMethod["DELETE"] = "DELETE";
|
|
2911
|
+
/** CONNECT */
|
|
2912
|
+
HttpRouteV1Beta1SpecRulesMatchesMethod["CONNECT"] = "CONNECT";
|
|
2913
|
+
/** OPTIONS */
|
|
2914
|
+
HttpRouteV1Beta1SpecRulesMatchesMethod["OPTIONS"] = "OPTIONS";
|
|
2915
|
+
/** TRACE */
|
|
2916
|
+
HttpRouteV1Beta1SpecRulesMatchesMethod["TRACE"] = "TRACE";
|
|
2917
|
+
/** PATCH */
|
|
2918
|
+
HttpRouteV1Beta1SpecRulesMatchesMethod["PATCH"] = "PATCH";
|
|
2919
|
+
})(HttpRouteV1Beta1SpecRulesMatchesMethod || (exports.HttpRouteV1Beta1SpecRulesMatchesMethod = HttpRouteV1Beta1SpecRulesMatchesMethod = {}));
|
|
2920
|
+
/** Converts an object of type 'HttpRouteV1Beta1SpecRulesMatchesPath' to JSON representation. */
|
|
2921
|
+
/* eslint-disable max-len, quote-props */
|
|
2922
|
+
function toJson_HttpRouteV1Beta1SpecRulesMatchesPath(obj) {
|
|
2923
|
+
if (obj === undefined) {
|
|
2924
|
+
return undefined;
|
|
2925
|
+
}
|
|
2926
|
+
const result = {
|
|
2927
|
+
type: obj.type,
|
|
2928
|
+
value: obj.value
|
|
2929
|
+
};
|
|
2930
|
+
// filter undefined values
|
|
2931
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2932
|
+
}
|
|
2933
|
+
/** Converts an object of type 'HttpRouteV1Beta1SpecRulesMatchesQueryParams' to JSON representation. */
|
|
2934
|
+
/* eslint-disable max-len, quote-props */
|
|
2935
|
+
function toJson_HttpRouteV1Beta1SpecRulesMatchesQueryParams(obj) {
|
|
2936
|
+
if (obj === undefined) {
|
|
2937
|
+
return undefined;
|
|
2938
|
+
}
|
|
2939
|
+
const result = {
|
|
2940
|
+
name: obj.name,
|
|
2941
|
+
type: obj.type,
|
|
2942
|
+
value: obj.value
|
|
2943
|
+
};
|
|
2944
|
+
// filter undefined values
|
|
2945
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2946
|
+
}
|
|
2947
|
+
/**
|
|
2948
|
+
* Converts an object of type 'HttpRouteV1Beta1SpecRulesBackendRefsFiltersExtensionRef' to JSON
|
|
2949
|
+
* representation.
|
|
2950
|
+
*/
|
|
2951
|
+
/* eslint-disable max-len, quote-props */
|
|
2952
|
+
function toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersExtensionRef(obj) {
|
|
2953
|
+
if (obj === undefined) {
|
|
2954
|
+
return undefined;
|
|
2955
|
+
}
|
|
2956
|
+
const result = {
|
|
2957
|
+
group: obj.group,
|
|
2958
|
+
kind: obj.kind,
|
|
2959
|
+
name: obj.name
|
|
2960
|
+
};
|
|
2961
|
+
// filter undefined values
|
|
2962
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2963
|
+
}
|
|
2964
|
+
/**
|
|
2965
|
+
* Converts an object of type 'HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestHeaderModifier' to
|
|
2966
|
+
* JSON representation.
|
|
2967
|
+
*/
|
|
2968
|
+
/* eslint-disable max-len, quote-props */
|
|
2969
|
+
function toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestHeaderModifier(obj) {
|
|
2970
|
+
if (obj === undefined) {
|
|
2971
|
+
return undefined;
|
|
2972
|
+
}
|
|
2973
|
+
const result = {
|
|
2974
|
+
add: obj.add?.map(y => toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestHeaderModifierAdd(y)),
|
|
2975
|
+
remove: obj.remove?.map(y => y),
|
|
2976
|
+
set: obj.set?.map(y => toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestHeaderModifierSet(y))
|
|
2977
|
+
};
|
|
2978
|
+
// filter undefined values
|
|
2979
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2980
|
+
}
|
|
2981
|
+
/**
|
|
2982
|
+
* Converts an object of type 'HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestMirror' to JSON
|
|
2983
|
+
* representation.
|
|
2984
|
+
*/
|
|
2985
|
+
/* eslint-disable max-len, quote-props */
|
|
2986
|
+
function toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestMirror(obj) {
|
|
2987
|
+
if (obj === undefined) {
|
|
2988
|
+
return undefined;
|
|
2989
|
+
}
|
|
2990
|
+
const result = {
|
|
2991
|
+
backendRef: toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestMirrorBackendRef(obj.backendRef)
|
|
2992
|
+
};
|
|
2993
|
+
// filter undefined values
|
|
2994
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
2995
|
+
}
|
|
2996
|
+
/**
|
|
2997
|
+
* Converts an object of type 'HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirect' to JSON
|
|
2998
|
+
* representation.
|
|
2999
|
+
*/
|
|
3000
|
+
/* eslint-disable max-len, quote-props */
|
|
3001
|
+
function toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirect(obj) {
|
|
3002
|
+
if (obj === undefined) {
|
|
3003
|
+
return undefined;
|
|
3004
|
+
}
|
|
3005
|
+
const result = {
|
|
3006
|
+
hostname: obj.hostname,
|
|
3007
|
+
path: toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectPath(obj.path),
|
|
3008
|
+
port: obj.port,
|
|
3009
|
+
scheme: obj.scheme,
|
|
3010
|
+
statusCode: obj.statusCode
|
|
3011
|
+
};
|
|
3012
|
+
// filter undefined values
|
|
3013
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
3014
|
+
}
|
|
3015
|
+
/**
|
|
3016
|
+
* Converts an object of type 'HttpRouteV1Beta1SpecRulesBackendRefsFiltersResponseHeaderModifier' to
|
|
3017
|
+
* JSON representation.
|
|
3018
|
+
*/
|
|
3019
|
+
/* eslint-disable max-len, quote-props */
|
|
3020
|
+
function toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersResponseHeaderModifier(obj) {
|
|
3021
|
+
if (obj === undefined) {
|
|
3022
|
+
return undefined;
|
|
3023
|
+
}
|
|
3024
|
+
const result = {
|
|
3025
|
+
add: obj.add?.map(y => toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersResponseHeaderModifierAdd(y)),
|
|
3026
|
+
remove: obj.remove?.map(y => y),
|
|
3027
|
+
set: obj.set?.map(y => toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersResponseHeaderModifierSet(y))
|
|
3028
|
+
};
|
|
3029
|
+
// filter undefined values
|
|
3030
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
3031
|
+
}
|
|
3032
|
+
/* eslint-enable max-len, quote-props */
|
|
3033
|
+
/**
|
|
3034
|
+
* Type identifies the type of filter to apply. As with other API fields, types are classified into
|
|
3035
|
+
* three conformance levels:
|
|
3036
|
+
*
|
|
3037
|
+
* - Core: Filter types and their corresponding configuration defined by "Support: Core" in this
|
|
3038
|
+
* package, e.g. "RequestHeaderModifier". All implementations must support core filters.
|
|
3039
|
+
* - Extended: Filter types and their corresponding configuration defined by "Support: Extended" in
|
|
3040
|
+
* this package, e.g. "RequestMirror". Implementers are encouraged to support extended filters.
|
|
3041
|
+
* - Implementation-specific: Filters that are defined and supported by specific vendors. In the
|
|
3042
|
+
* future, filters showing convergence in behavior across multiple implementations will be
|
|
3043
|
+
* considered for inclusion in extended or core conformance levels. Filter-specific configuration
|
|
3044
|
+
* for such filters is specified using the ExtensionRef field. `Type` should be set to
|
|
3045
|
+
* "ExtensionRef" for custom filters.
|
|
3046
|
+
*
|
|
3047
|
+
* Implementers are encouraged to define custom implementation types to extend the core API with
|
|
3048
|
+
* implementation-specific behavior.
|
|
3049
|
+
*
|
|
3050
|
+
* If a reference to a custom filter type cannot be resolved, the filter MUST NOT be skipped.
|
|
3051
|
+
* Instead, requests that would have been processed by that filter MUST receive a HTTP error
|
|
3052
|
+
* response.
|
|
3053
|
+
*
|
|
3054
|
+
* Note that values may be added to this enum, implementations must ensure that unknown values will
|
|
3055
|
+
* not cause a crash.
|
|
3056
|
+
*
|
|
3057
|
+
* Unknown values here must result in the implementation setting the Accepted Condition for the
|
|
3058
|
+
* Route to `status: False`, with a Reason of `UnsupportedValue`.
|
|
3059
|
+
*
|
|
3060
|
+
* @schema HttpRouteV1Beta1SpecRulesBackendRefsFiltersType
|
|
3061
|
+
*/
|
|
3062
|
+
var HttpRouteV1Beta1SpecRulesBackendRefsFiltersType;
|
|
3063
|
+
(function (HttpRouteV1Beta1SpecRulesBackendRefsFiltersType) {
|
|
3064
|
+
/** RequestHeaderModifier */
|
|
3065
|
+
HttpRouteV1Beta1SpecRulesBackendRefsFiltersType["REQUEST_HEADER_MODIFIER"] = "RequestHeaderModifier";
|
|
3066
|
+
/** ResponseHeaderModifier */
|
|
3067
|
+
HttpRouteV1Beta1SpecRulesBackendRefsFiltersType["RESPONSE_HEADER_MODIFIER"] = "ResponseHeaderModifier";
|
|
3068
|
+
/** RequestMirror */
|
|
3069
|
+
HttpRouteV1Beta1SpecRulesBackendRefsFiltersType["REQUEST_MIRROR"] = "RequestMirror";
|
|
3070
|
+
/** RequestRedirect */
|
|
3071
|
+
HttpRouteV1Beta1SpecRulesBackendRefsFiltersType["REQUEST_REDIRECT"] = "RequestRedirect";
|
|
3072
|
+
/** URLRewrite */
|
|
3073
|
+
HttpRouteV1Beta1SpecRulesBackendRefsFiltersType["URL_REWRITE"] = "URLRewrite";
|
|
3074
|
+
/** ExtensionRef */
|
|
3075
|
+
HttpRouteV1Beta1SpecRulesBackendRefsFiltersType["EXTENSION_REF"] = "ExtensionRef";
|
|
3076
|
+
})(HttpRouteV1Beta1SpecRulesBackendRefsFiltersType || (exports.HttpRouteV1Beta1SpecRulesBackendRefsFiltersType = HttpRouteV1Beta1SpecRulesBackendRefsFiltersType = {}));
|
|
3077
|
+
/**
|
|
3078
|
+
* Converts an object of type 'HttpRouteV1Beta1SpecRulesBackendRefsFiltersUrlRewrite' to JSON
|
|
3079
|
+
* representation.
|
|
3080
|
+
*/
|
|
3081
|
+
/* eslint-disable max-len, quote-props */
|
|
3082
|
+
function toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersUrlRewrite(obj) {
|
|
3083
|
+
if (obj === undefined) {
|
|
3084
|
+
return undefined;
|
|
3085
|
+
}
|
|
3086
|
+
const result = {
|
|
3087
|
+
hostname: obj.hostname,
|
|
3088
|
+
path: toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersUrlRewritePath(obj.path)
|
|
3089
|
+
};
|
|
3090
|
+
// filter undefined values
|
|
3091
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
3092
|
+
}
|
|
3093
|
+
/**
|
|
3094
|
+
* Converts an object of type 'HttpRouteV1Beta1SpecRulesFiltersRequestHeaderModifierAdd' to JSON
|
|
3095
|
+
* representation.
|
|
3096
|
+
*/
|
|
3097
|
+
/* eslint-disable max-len, quote-props */
|
|
3098
|
+
function toJson_HttpRouteV1Beta1SpecRulesFiltersRequestHeaderModifierAdd(obj) {
|
|
3099
|
+
if (obj === undefined) {
|
|
3100
|
+
return undefined;
|
|
3101
|
+
}
|
|
3102
|
+
const result = {
|
|
3103
|
+
name: obj.name,
|
|
3104
|
+
value: obj.value
|
|
3105
|
+
};
|
|
3106
|
+
// filter undefined values
|
|
3107
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
3108
|
+
}
|
|
3109
|
+
/**
|
|
3110
|
+
* Converts an object of type 'HttpRouteV1Beta1SpecRulesFiltersRequestHeaderModifierSet' to JSON
|
|
3111
|
+
* representation.
|
|
3112
|
+
*/
|
|
3113
|
+
/* eslint-disable max-len, quote-props */
|
|
3114
|
+
function toJson_HttpRouteV1Beta1SpecRulesFiltersRequestHeaderModifierSet(obj) {
|
|
3115
|
+
if (obj === undefined) {
|
|
3116
|
+
return undefined;
|
|
3117
|
+
}
|
|
3118
|
+
const result = {
|
|
3119
|
+
name: obj.name,
|
|
3120
|
+
value: obj.value
|
|
3121
|
+
};
|
|
3122
|
+
// filter undefined values
|
|
3123
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
3124
|
+
}
|
|
3125
|
+
/**
|
|
3126
|
+
* Converts an object of type 'HttpRouteV1Beta1SpecRulesFiltersRequestMirrorBackendRef' to JSON
|
|
3127
|
+
* representation.
|
|
3128
|
+
*/
|
|
3129
|
+
/* eslint-disable max-len, quote-props */
|
|
3130
|
+
function toJson_HttpRouteV1Beta1SpecRulesFiltersRequestMirrorBackendRef(obj) {
|
|
3131
|
+
if (obj === undefined) {
|
|
3132
|
+
return undefined;
|
|
3133
|
+
}
|
|
3134
|
+
const result = {
|
|
3135
|
+
group: obj.group,
|
|
3136
|
+
kind: obj.kind,
|
|
3137
|
+
name: obj.name,
|
|
3138
|
+
namespace: obj.namespace,
|
|
3139
|
+
port: obj.port
|
|
3140
|
+
};
|
|
3141
|
+
// filter undefined values
|
|
3142
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
3143
|
+
}
|
|
3144
|
+
/**
|
|
3145
|
+
* Converts an object of type 'HttpRouteV1Beta1SpecRulesFiltersRequestRedirectPath' to JSON
|
|
3146
|
+
* representation.
|
|
3147
|
+
*/
|
|
3148
|
+
/* eslint-disable max-len, quote-props */
|
|
3149
|
+
function toJson_HttpRouteV1Beta1SpecRulesFiltersRequestRedirectPath(obj) {
|
|
3150
|
+
if (obj === undefined) {
|
|
3151
|
+
return undefined;
|
|
3152
|
+
}
|
|
3153
|
+
const result = {
|
|
3154
|
+
replaceFullPath: obj.replaceFullPath,
|
|
3155
|
+
replacePrefixMatch: obj.replacePrefixMatch,
|
|
3156
|
+
type: obj.type
|
|
3157
|
+
};
|
|
3158
|
+
// filter undefined values
|
|
3159
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
3160
|
+
}
|
|
3161
|
+
/* eslint-enable max-len, quote-props */
|
|
3162
|
+
/**
|
|
3163
|
+
* Scheme is the scheme to be used in the value of the `Location` header in the response. When
|
|
3164
|
+
* empty, the scheme of the request is used.
|
|
3165
|
+
*
|
|
3166
|
+
* Scheme redirects can affect the port of the redirect, for more information, refer to the
|
|
3167
|
+
* documentation for the port field of this filter.
|
|
3168
|
+
*
|
|
3169
|
+
* Note that values may be added to this enum, implementations must ensure that unknown values will
|
|
3170
|
+
* not cause a crash.
|
|
3171
|
+
*
|
|
3172
|
+
* Unknown values here must result in the implementation setting the Accepted Condition for the
|
|
3173
|
+
* Route to `status: False`, with a Reason of `UnsupportedValue`.
|
|
3174
|
+
*
|
|
3175
|
+
* Support: Extended
|
|
3176
|
+
*
|
|
3177
|
+
* @schema HttpRouteV1Beta1SpecRulesFiltersRequestRedirectScheme
|
|
3178
|
+
*/
|
|
3179
|
+
var HttpRouteV1Beta1SpecRulesFiltersRequestRedirectScheme;
|
|
3180
|
+
(function (HttpRouteV1Beta1SpecRulesFiltersRequestRedirectScheme) {
|
|
3181
|
+
/** Http */
|
|
3182
|
+
HttpRouteV1Beta1SpecRulesFiltersRequestRedirectScheme["HTTP"] = "http";
|
|
3183
|
+
/** Https */
|
|
3184
|
+
HttpRouteV1Beta1SpecRulesFiltersRequestRedirectScheme["HTTPS"] = "https";
|
|
3185
|
+
})(HttpRouteV1Beta1SpecRulesFiltersRequestRedirectScheme || (exports.HttpRouteV1Beta1SpecRulesFiltersRequestRedirectScheme = HttpRouteV1Beta1SpecRulesFiltersRequestRedirectScheme = {}));
|
|
3186
|
+
/**
|
|
3187
|
+
* StatusCode is the HTTP status code to be used in response.
|
|
3188
|
+
*
|
|
3189
|
+
* Note that values may be added to this enum, implementations must ensure that unknown values will
|
|
3190
|
+
* not cause a crash.
|
|
3191
|
+
*
|
|
3192
|
+
* Unknown values here must result in the implementation setting the Accepted Condition for the
|
|
3193
|
+
* Route to `status: False`, with a Reason of `UnsupportedValue`.
|
|
3194
|
+
*
|
|
3195
|
+
* Support: Core
|
|
3196
|
+
*
|
|
3197
|
+
* @schema HttpRouteV1Beta1SpecRulesFiltersRequestRedirectStatusCode
|
|
3198
|
+
*/
|
|
3199
|
+
var HttpRouteV1Beta1SpecRulesFiltersRequestRedirectStatusCode;
|
|
3200
|
+
(function (HttpRouteV1Beta1SpecRulesFiltersRequestRedirectStatusCode) {
|
|
3201
|
+
/** 301 */
|
|
3202
|
+
HttpRouteV1Beta1SpecRulesFiltersRequestRedirectStatusCode[HttpRouteV1Beta1SpecRulesFiltersRequestRedirectStatusCode["VALUE_301"] = 301] = "VALUE_301";
|
|
3203
|
+
/** 302 */
|
|
3204
|
+
HttpRouteV1Beta1SpecRulesFiltersRequestRedirectStatusCode[HttpRouteV1Beta1SpecRulesFiltersRequestRedirectStatusCode["VALUE_302"] = 302] = "VALUE_302";
|
|
3205
|
+
})(HttpRouteV1Beta1SpecRulesFiltersRequestRedirectStatusCode || (exports.HttpRouteV1Beta1SpecRulesFiltersRequestRedirectStatusCode = HttpRouteV1Beta1SpecRulesFiltersRequestRedirectStatusCode = {}));
|
|
3206
|
+
/**
|
|
3207
|
+
* Converts an object of type 'HttpRouteV1Beta1SpecRulesFiltersResponseHeaderModifierAdd' to JSON
|
|
3208
|
+
* representation.
|
|
3209
|
+
*/
|
|
3210
|
+
/* eslint-disable max-len, quote-props */
|
|
3211
|
+
function toJson_HttpRouteV1Beta1SpecRulesFiltersResponseHeaderModifierAdd(obj) {
|
|
3212
|
+
if (obj === undefined) {
|
|
3213
|
+
return undefined;
|
|
3214
|
+
}
|
|
3215
|
+
const result = {
|
|
3216
|
+
name: obj.name,
|
|
3217
|
+
value: obj.value
|
|
3218
|
+
};
|
|
3219
|
+
// filter undefined values
|
|
3220
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
3221
|
+
}
|
|
3222
|
+
/**
|
|
3223
|
+
* Converts an object of type 'HttpRouteV1Beta1SpecRulesFiltersResponseHeaderModifierSet' to JSON
|
|
3224
|
+
* representation.
|
|
3225
|
+
*/
|
|
3226
|
+
/* eslint-disable max-len, quote-props */
|
|
3227
|
+
function toJson_HttpRouteV1Beta1SpecRulesFiltersResponseHeaderModifierSet(obj) {
|
|
3228
|
+
if (obj === undefined) {
|
|
3229
|
+
return undefined;
|
|
3230
|
+
}
|
|
3231
|
+
const result = {
|
|
3232
|
+
name: obj.name,
|
|
3233
|
+
value: obj.value
|
|
3234
|
+
};
|
|
3235
|
+
// filter undefined values
|
|
3236
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
3237
|
+
}
|
|
3238
|
+
/**
|
|
3239
|
+
* Converts an object of type 'HttpRouteV1Beta1SpecRulesFiltersUrlRewritePath' to JSON
|
|
3240
|
+
* representation.
|
|
3241
|
+
*/
|
|
3242
|
+
/* eslint-disable max-len, quote-props */
|
|
3243
|
+
function toJson_HttpRouteV1Beta1SpecRulesFiltersUrlRewritePath(obj) {
|
|
3244
|
+
if (obj === undefined) {
|
|
3245
|
+
return undefined;
|
|
3246
|
+
}
|
|
3247
|
+
const result = {
|
|
3248
|
+
replaceFullPath: obj.replaceFullPath,
|
|
3249
|
+
replacePrefixMatch: obj.replacePrefixMatch,
|
|
3250
|
+
type: obj.type
|
|
3251
|
+
};
|
|
3252
|
+
// filter undefined values
|
|
3253
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
3254
|
+
}
|
|
3255
|
+
/* eslint-enable max-len, quote-props */
|
|
3256
|
+
/**
|
|
3257
|
+
* Type specifies how to match against the value of the header.
|
|
3258
|
+
*
|
|
3259
|
+
* Support: Core (Exact)
|
|
3260
|
+
*
|
|
3261
|
+
* Support: Implementation-specific (RegularExpression)
|
|
3262
|
+
*
|
|
3263
|
+
* Since RegularExpression HeaderMatchType has implementation-specific conformance, implementations
|
|
3264
|
+
* can support POSIX, PCRE or any other dialects of regular expressions. Please read the
|
|
3265
|
+
* implementation's documentation to determine the supported dialect.
|
|
3266
|
+
*
|
|
3267
|
+
* @schema HttpRouteV1Beta1SpecRulesMatchesHeadersType
|
|
3268
|
+
*/
|
|
3269
|
+
var HttpRouteV1Beta1SpecRulesMatchesHeadersType;
|
|
3270
|
+
(function (HttpRouteV1Beta1SpecRulesMatchesHeadersType) {
|
|
3271
|
+
/** Exact */
|
|
3272
|
+
HttpRouteV1Beta1SpecRulesMatchesHeadersType["EXACT"] = "Exact";
|
|
3273
|
+
/** RegularExpression */
|
|
3274
|
+
HttpRouteV1Beta1SpecRulesMatchesHeadersType["REGULAR_EXPRESSION"] = "RegularExpression";
|
|
3275
|
+
})(HttpRouteV1Beta1SpecRulesMatchesHeadersType || (exports.HttpRouteV1Beta1SpecRulesMatchesHeadersType = HttpRouteV1Beta1SpecRulesMatchesHeadersType = {}));
|
|
3276
|
+
/**
|
|
3277
|
+
* Type specifies how to match against the path Value.
|
|
3278
|
+
*
|
|
3279
|
+
* Support: Core (Exact, PathPrefix)
|
|
3280
|
+
*
|
|
3281
|
+
* Support: Implementation-specific (RegularExpression)
|
|
3282
|
+
*
|
|
3283
|
+
* @schema HttpRouteV1Beta1SpecRulesMatchesPathType
|
|
3284
|
+
*/
|
|
3285
|
+
var HttpRouteV1Beta1SpecRulesMatchesPathType;
|
|
3286
|
+
(function (HttpRouteV1Beta1SpecRulesMatchesPathType) {
|
|
3287
|
+
/** Exact */
|
|
3288
|
+
HttpRouteV1Beta1SpecRulesMatchesPathType["EXACT"] = "Exact";
|
|
3289
|
+
/** PathPrefix */
|
|
3290
|
+
HttpRouteV1Beta1SpecRulesMatchesPathType["PATH_PREFIX"] = "PathPrefix";
|
|
3291
|
+
/** RegularExpression */
|
|
3292
|
+
HttpRouteV1Beta1SpecRulesMatchesPathType["REGULAR_EXPRESSION"] = "RegularExpression";
|
|
3293
|
+
})(HttpRouteV1Beta1SpecRulesMatchesPathType || (exports.HttpRouteV1Beta1SpecRulesMatchesPathType = HttpRouteV1Beta1SpecRulesMatchesPathType = {}));
|
|
3294
|
+
/**
|
|
3295
|
+
* Type specifies how to match against the value of the query parameter.
|
|
3296
|
+
*
|
|
3297
|
+
* Support: Extended (Exact)
|
|
3298
|
+
*
|
|
3299
|
+
* Support: Implementation-specific (RegularExpression)
|
|
3300
|
+
*
|
|
3301
|
+
* Since RegularExpression QueryParamMatchType has Implementation-specific conformance,
|
|
3302
|
+
* implementations can support POSIX, PCRE or any other dialects of regular expressions. Please read
|
|
3303
|
+
* the implementation's documentation to determine the supported dialect.
|
|
3304
|
+
*
|
|
3305
|
+
* @schema HttpRouteV1Beta1SpecRulesMatchesQueryParamsType
|
|
3306
|
+
*/
|
|
3307
|
+
var HttpRouteV1Beta1SpecRulesMatchesQueryParamsType;
|
|
3308
|
+
(function (HttpRouteV1Beta1SpecRulesMatchesQueryParamsType) {
|
|
3309
|
+
/** Exact */
|
|
3310
|
+
HttpRouteV1Beta1SpecRulesMatchesQueryParamsType["EXACT"] = "Exact";
|
|
3311
|
+
/** RegularExpression */
|
|
3312
|
+
HttpRouteV1Beta1SpecRulesMatchesQueryParamsType["REGULAR_EXPRESSION"] = "RegularExpression";
|
|
3313
|
+
})(HttpRouteV1Beta1SpecRulesMatchesQueryParamsType || (exports.HttpRouteV1Beta1SpecRulesMatchesQueryParamsType = HttpRouteV1Beta1SpecRulesMatchesQueryParamsType = {}));
|
|
3314
|
+
/**
|
|
3315
|
+
* Converts an object of type 'HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestHeaderModifierAdd'
|
|
3316
|
+
* to JSON representation.
|
|
3317
|
+
*/
|
|
3318
|
+
/* eslint-disable max-len, quote-props */
|
|
3319
|
+
function toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestHeaderModifierAdd(obj) {
|
|
3320
|
+
if (obj === undefined) {
|
|
3321
|
+
return undefined;
|
|
3322
|
+
}
|
|
3323
|
+
const result = {
|
|
3324
|
+
name: obj.name,
|
|
3325
|
+
value: obj.value
|
|
3326
|
+
};
|
|
3327
|
+
// filter undefined values
|
|
3328
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
3329
|
+
}
|
|
3330
|
+
/**
|
|
3331
|
+
* Converts an object of type 'HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestHeaderModifierSet'
|
|
3332
|
+
* to JSON representation.
|
|
3333
|
+
*/
|
|
3334
|
+
/* eslint-disable max-len, quote-props */
|
|
3335
|
+
function toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestHeaderModifierSet(obj) {
|
|
3336
|
+
if (obj === undefined) {
|
|
3337
|
+
return undefined;
|
|
3338
|
+
}
|
|
3339
|
+
const result = {
|
|
3340
|
+
name: obj.name,
|
|
3341
|
+
value: obj.value
|
|
3342
|
+
};
|
|
3343
|
+
// filter undefined values
|
|
3344
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
3345
|
+
}
|
|
3346
|
+
/**
|
|
3347
|
+
* Converts an object of type 'HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestMirrorBackendRef'
|
|
3348
|
+
* to JSON representation.
|
|
3349
|
+
*/
|
|
3350
|
+
/* eslint-disable max-len, quote-props */
|
|
3351
|
+
function toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestMirrorBackendRef(obj) {
|
|
3352
|
+
if (obj === undefined) {
|
|
3353
|
+
return undefined;
|
|
3354
|
+
}
|
|
3355
|
+
const result = {
|
|
3356
|
+
group: obj.group,
|
|
3357
|
+
kind: obj.kind,
|
|
3358
|
+
name: obj.name,
|
|
3359
|
+
namespace: obj.namespace,
|
|
3360
|
+
port: obj.port
|
|
3361
|
+
};
|
|
3362
|
+
// filter undefined values
|
|
3363
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
3364
|
+
}
|
|
3365
|
+
/**
|
|
3366
|
+
* Converts an object of type 'HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectPath' to
|
|
3367
|
+
* JSON representation.
|
|
3368
|
+
*/
|
|
3369
|
+
/* eslint-disable max-len, quote-props */
|
|
3370
|
+
function toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectPath(obj) {
|
|
3371
|
+
if (obj === undefined) {
|
|
3372
|
+
return undefined;
|
|
3373
|
+
}
|
|
3374
|
+
const result = {
|
|
3375
|
+
replaceFullPath: obj.replaceFullPath,
|
|
3376
|
+
replacePrefixMatch: obj.replacePrefixMatch,
|
|
3377
|
+
type: obj.type
|
|
3378
|
+
};
|
|
3379
|
+
// filter undefined values
|
|
3380
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
3381
|
+
}
|
|
3382
|
+
/* eslint-enable max-len, quote-props */
|
|
3383
|
+
/**
|
|
3384
|
+
* Scheme is the scheme to be used in the value of the `Location` header in the response. When
|
|
3385
|
+
* empty, the scheme of the request is used.
|
|
3386
|
+
*
|
|
3387
|
+
* Scheme redirects can affect the port of the redirect, for more information, refer to the
|
|
3388
|
+
* documentation for the port field of this filter.
|
|
3389
|
+
*
|
|
3390
|
+
* Note that values may be added to this enum, implementations must ensure that unknown values will
|
|
3391
|
+
* not cause a crash.
|
|
3392
|
+
*
|
|
3393
|
+
* Unknown values here must result in the implementation setting the Accepted Condition for the
|
|
3394
|
+
* Route to `status: False`, with a Reason of `UnsupportedValue`.
|
|
3395
|
+
*
|
|
3396
|
+
* Support: Extended
|
|
3397
|
+
*
|
|
3398
|
+
* @schema HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectScheme
|
|
3399
|
+
*/
|
|
3400
|
+
var HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectScheme;
|
|
3401
|
+
(function (HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectScheme) {
|
|
3402
|
+
/** Http */
|
|
3403
|
+
HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectScheme["HTTP"] = "http";
|
|
3404
|
+
/** Https */
|
|
3405
|
+
HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectScheme["HTTPS"] = "https";
|
|
3406
|
+
})(HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectScheme || (exports.HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectScheme = HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectScheme = {}));
|
|
3407
|
+
/**
|
|
3408
|
+
* StatusCode is the HTTP status code to be used in response.
|
|
3409
|
+
*
|
|
3410
|
+
* Note that values may be added to this enum, implementations must ensure that unknown values will
|
|
3411
|
+
* not cause a crash.
|
|
3412
|
+
*
|
|
3413
|
+
* Unknown values here must result in the implementation setting the Accepted Condition for the
|
|
3414
|
+
* Route to `status: False`, with a Reason of `UnsupportedValue`.
|
|
3415
|
+
*
|
|
3416
|
+
* Support: Core
|
|
3417
|
+
*
|
|
3418
|
+
* @schema HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectStatusCode
|
|
3419
|
+
*/
|
|
3420
|
+
var HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectStatusCode;
|
|
3421
|
+
(function (HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectStatusCode) {
|
|
3422
|
+
/** 301 */
|
|
3423
|
+
HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectStatusCode[HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectStatusCode["VALUE_301"] = 301] = "VALUE_301";
|
|
3424
|
+
/** 302 */
|
|
3425
|
+
HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectStatusCode[HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectStatusCode["VALUE_302"] = 302] = "VALUE_302";
|
|
3426
|
+
})(HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectStatusCode || (exports.HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectStatusCode = HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectStatusCode = {}));
|
|
3427
|
+
/**
|
|
3428
|
+
* Converts an object of type 'HttpRouteV1Beta1SpecRulesBackendRefsFiltersResponseHeaderModifierAdd'
|
|
3429
|
+
* to JSON representation.
|
|
3430
|
+
*/
|
|
3431
|
+
/* eslint-disable max-len, quote-props */
|
|
3432
|
+
function toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersResponseHeaderModifierAdd(obj) {
|
|
3433
|
+
if (obj === undefined) {
|
|
3434
|
+
return undefined;
|
|
3435
|
+
}
|
|
3436
|
+
const result = {
|
|
3437
|
+
name: obj.name,
|
|
3438
|
+
value: obj.value
|
|
3439
|
+
};
|
|
3440
|
+
// filter undefined values
|
|
3441
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
3442
|
+
}
|
|
3443
|
+
/**
|
|
3444
|
+
* Converts an object of type 'HttpRouteV1Beta1SpecRulesBackendRefsFiltersResponseHeaderModifierSet'
|
|
3445
|
+
* to JSON representation.
|
|
3446
|
+
*/
|
|
3447
|
+
/* eslint-disable max-len, quote-props */
|
|
3448
|
+
function toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersResponseHeaderModifierSet(obj) {
|
|
3449
|
+
if (obj === undefined) {
|
|
3450
|
+
return undefined;
|
|
3451
|
+
}
|
|
3452
|
+
const result = {
|
|
3453
|
+
name: obj.name,
|
|
3454
|
+
value: obj.value
|
|
3455
|
+
};
|
|
3456
|
+
// filter undefined values
|
|
3457
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
3458
|
+
}
|
|
3459
|
+
/**
|
|
3460
|
+
* Converts an object of type 'HttpRouteV1Beta1SpecRulesBackendRefsFiltersUrlRewritePath' to JSON
|
|
3461
|
+
* representation.
|
|
3462
|
+
*/
|
|
3463
|
+
/* eslint-disable max-len, quote-props */
|
|
3464
|
+
function toJson_HttpRouteV1Beta1SpecRulesBackendRefsFiltersUrlRewritePath(obj) {
|
|
3465
|
+
if (obj === undefined) {
|
|
3466
|
+
return undefined;
|
|
3467
|
+
}
|
|
3468
|
+
const result = {
|
|
3469
|
+
replaceFullPath: obj.replaceFullPath,
|
|
3470
|
+
replacePrefixMatch: obj.replacePrefixMatch,
|
|
3471
|
+
type: obj.type
|
|
3472
|
+
};
|
|
3473
|
+
// filter undefined values
|
|
3474
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
3475
|
+
}
|
|
3476
|
+
/* eslint-enable max-len, quote-props */
|
|
3477
|
+
/**
|
|
3478
|
+
* Type defines the type of path modifier. Additional types may be added in a future release of the
|
|
3479
|
+
* API.
|
|
3480
|
+
*
|
|
3481
|
+
* Note that values may be added to this enum, implementations must ensure that unknown values will
|
|
3482
|
+
* not cause a crash.
|
|
3483
|
+
*
|
|
3484
|
+
* Unknown values here must result in the implementation setting the Accepted Condition for the
|
|
3485
|
+
* Route to `status: False`, with a Reason of `UnsupportedValue`.
|
|
3486
|
+
*
|
|
3487
|
+
* @schema HttpRouteV1Beta1SpecRulesFiltersRequestRedirectPathType
|
|
3488
|
+
*/
|
|
3489
|
+
var HttpRouteV1Beta1SpecRulesFiltersRequestRedirectPathType;
|
|
3490
|
+
(function (HttpRouteV1Beta1SpecRulesFiltersRequestRedirectPathType) {
|
|
3491
|
+
/** ReplaceFullPath */
|
|
3492
|
+
HttpRouteV1Beta1SpecRulesFiltersRequestRedirectPathType["REPLACE_FULL_PATH"] = "ReplaceFullPath";
|
|
3493
|
+
/** ReplacePrefixMatch */
|
|
3494
|
+
HttpRouteV1Beta1SpecRulesFiltersRequestRedirectPathType["REPLACE_PREFIX_MATCH"] = "ReplacePrefixMatch";
|
|
3495
|
+
})(HttpRouteV1Beta1SpecRulesFiltersRequestRedirectPathType || (exports.HttpRouteV1Beta1SpecRulesFiltersRequestRedirectPathType = HttpRouteV1Beta1SpecRulesFiltersRequestRedirectPathType = {}));
|
|
3496
|
+
/**
|
|
3497
|
+
* Type defines the type of path modifier. Additional types may be added in a future release of the
|
|
3498
|
+
* API.
|
|
3499
|
+
*
|
|
3500
|
+
* Note that values may be added to this enum, implementations must ensure that unknown values will
|
|
3501
|
+
* not cause a crash.
|
|
3502
|
+
*
|
|
3503
|
+
* Unknown values here must result in the implementation setting the Accepted Condition for the
|
|
3504
|
+
* Route to `status: False`, with a Reason of `UnsupportedValue`.
|
|
3505
|
+
*
|
|
3506
|
+
* @schema HttpRouteV1Beta1SpecRulesFiltersUrlRewritePathType
|
|
3507
|
+
*/
|
|
3508
|
+
var HttpRouteV1Beta1SpecRulesFiltersUrlRewritePathType;
|
|
3509
|
+
(function (HttpRouteV1Beta1SpecRulesFiltersUrlRewritePathType) {
|
|
3510
|
+
/** ReplaceFullPath */
|
|
3511
|
+
HttpRouteV1Beta1SpecRulesFiltersUrlRewritePathType["REPLACE_FULL_PATH"] = "ReplaceFullPath";
|
|
3512
|
+
/** ReplacePrefixMatch */
|
|
3513
|
+
HttpRouteV1Beta1SpecRulesFiltersUrlRewritePathType["REPLACE_PREFIX_MATCH"] = "ReplacePrefixMatch";
|
|
3514
|
+
})(HttpRouteV1Beta1SpecRulesFiltersUrlRewritePathType || (exports.HttpRouteV1Beta1SpecRulesFiltersUrlRewritePathType = HttpRouteV1Beta1SpecRulesFiltersUrlRewritePathType = {}));
|
|
3515
|
+
/**
|
|
3516
|
+
* Type defines the type of path modifier. Additional types may be added in a future release of the
|
|
3517
|
+
* API.
|
|
3518
|
+
*
|
|
3519
|
+
* Note that values may be added to this enum, implementations must ensure that unknown values will
|
|
3520
|
+
* not cause a crash.
|
|
3521
|
+
*
|
|
3522
|
+
* Unknown values here must result in the implementation setting the Accepted Condition for the
|
|
3523
|
+
* Route to `status: False`, with a Reason of `UnsupportedValue`.
|
|
3524
|
+
*
|
|
3525
|
+
* @schema HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectPathType
|
|
3526
|
+
*/
|
|
3527
|
+
var HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectPathType;
|
|
3528
|
+
(function (HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectPathType) {
|
|
3529
|
+
/** ReplaceFullPath */
|
|
3530
|
+
HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectPathType["REPLACE_FULL_PATH"] = "ReplaceFullPath";
|
|
3531
|
+
/** ReplacePrefixMatch */
|
|
3532
|
+
HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectPathType["REPLACE_PREFIX_MATCH"] = "ReplacePrefixMatch";
|
|
3533
|
+
})(HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectPathType || (exports.HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectPathType = HttpRouteV1Beta1SpecRulesBackendRefsFiltersRequestRedirectPathType = {}));
|
|
3534
|
+
/**
|
|
3535
|
+
* Type defines the type of path modifier. Additional types may be added in a future release of the
|
|
3536
|
+
* API.
|
|
3537
|
+
*
|
|
3538
|
+
* Note that values may be added to this enum, implementations must ensure that unknown values will
|
|
3539
|
+
* not cause a crash.
|
|
3540
|
+
*
|
|
3541
|
+
* Unknown values here must result in the implementation setting the Accepted Condition for the
|
|
3542
|
+
* Route to `status: False`, with a Reason of `UnsupportedValue`.
|
|
3543
|
+
*
|
|
3544
|
+
* @schema HttpRouteV1Beta1SpecRulesBackendRefsFiltersUrlRewritePathType
|
|
3545
|
+
*/
|
|
3546
|
+
var HttpRouteV1Beta1SpecRulesBackendRefsFiltersUrlRewritePathType;
|
|
3547
|
+
(function (HttpRouteV1Beta1SpecRulesBackendRefsFiltersUrlRewritePathType) {
|
|
3548
|
+
/** ReplaceFullPath */
|
|
3549
|
+
HttpRouteV1Beta1SpecRulesBackendRefsFiltersUrlRewritePathType["REPLACE_FULL_PATH"] = "ReplaceFullPath";
|
|
3550
|
+
/** ReplacePrefixMatch */
|
|
3551
|
+
HttpRouteV1Beta1SpecRulesBackendRefsFiltersUrlRewritePathType["REPLACE_PREFIX_MATCH"] = "ReplacePrefixMatch";
|
|
3552
|
+
})(HttpRouteV1Beta1SpecRulesBackendRefsFiltersUrlRewritePathType || (exports.HttpRouteV1Beta1SpecRulesBackendRefsFiltersUrlRewritePathType = HttpRouteV1Beta1SpecRulesBackendRefsFiltersUrlRewritePathType = {}));
|
|
3553
|
+
/**
|
|
3554
|
+
* ReferenceGrant identifies kinds of resources in other namespaces that are trusted to reference
|
|
3555
|
+
* the specified kinds of resources in the same namespace as the policy.
|
|
3556
|
+
*
|
|
3557
|
+
* Each ReferenceGrant can be used to represent a unique trust relationship. Additional Reference
|
|
3558
|
+
* Grants can be used to add to the set of trusted sources of inbound references for the namespace
|
|
3559
|
+
* they are defined within.
|
|
3560
|
+
*
|
|
3561
|
+
* All cross-namespace references in Gateway API (with the exception of cross-namespace
|
|
3562
|
+
* Gateway-route attachment) require a ReferenceGrant.
|
|
3563
|
+
*
|
|
3564
|
+
* ReferenceGrant is a form of runtime verification allowing users to assert which cross-namespace
|
|
3565
|
+
* object references are permitted. Implementations that support ReferenceGrant MUST NOT permit
|
|
3566
|
+
* cross-namespace references which have no grant, and MUST respond to the removal of a grant by
|
|
3567
|
+
* revoking the access that the grant allowed.
|
|
3568
|
+
*
|
|
3569
|
+
* @schema ReferenceGrant
|
|
3570
|
+
*/
|
|
3571
|
+
class ReferenceGrant extends cdk8s_1.ApiObject {
|
|
3572
|
+
/**
|
|
3573
|
+
* Renders a Kubernetes manifest for "ReferenceGrant".
|
|
3574
|
+
*
|
|
3575
|
+
* This can be used to inline resource manifests inside other objects (e.g. as templates).
|
|
3576
|
+
*
|
|
3577
|
+
* @param props Initialization props
|
|
3578
|
+
*/
|
|
3579
|
+
static manifest(props = {}) {
|
|
3580
|
+
return {
|
|
3581
|
+
...ReferenceGrant.GVK,
|
|
3582
|
+
...toJson_ReferenceGrantProps(props)
|
|
3583
|
+
};
|
|
3584
|
+
}
|
|
3585
|
+
/**
|
|
3586
|
+
* Defines a "ReferenceGrant" API object
|
|
3587
|
+
*
|
|
3588
|
+
* @param scope The scope in which to define this object
|
|
3589
|
+
* @param id A scope-local name for the object
|
|
3590
|
+
* @param props Initialization props
|
|
3591
|
+
*/
|
|
3592
|
+
constructor(scope, id, props = {}) {
|
|
3593
|
+
super(scope, id, {
|
|
3594
|
+
...ReferenceGrant.GVK,
|
|
3595
|
+
...props
|
|
3596
|
+
});
|
|
3597
|
+
}
|
|
3598
|
+
/** Renders the object to Kubernetes JSON. */
|
|
3599
|
+
toJson() {
|
|
3600
|
+
const resolved = super.toJson();
|
|
3601
|
+
return {
|
|
3602
|
+
...ReferenceGrant.GVK,
|
|
3603
|
+
...toJson_ReferenceGrantProps(resolved)
|
|
3604
|
+
};
|
|
3605
|
+
}
|
|
3606
|
+
}
|
|
3607
|
+
exports.ReferenceGrant = ReferenceGrant;
|
|
3608
|
+
/** Returns the apiVersion and kind for "ReferenceGrant" */
|
|
3609
|
+
ReferenceGrant.GVK = {
|
|
3610
|
+
apiVersion: "gateway.networking.k8s.io/v1beta1",
|
|
3611
|
+
kind: "ReferenceGrant"
|
|
3612
|
+
};
|
|
3613
|
+
/** Converts an object of type 'ReferenceGrantProps' to JSON representation. */
|
|
3614
|
+
/* eslint-disable max-len, quote-props */
|
|
3615
|
+
function toJson_ReferenceGrantProps(obj) {
|
|
3616
|
+
if (obj === undefined) {
|
|
3617
|
+
return undefined;
|
|
3618
|
+
}
|
|
3619
|
+
const result = {
|
|
3620
|
+
metadata: obj.metadata,
|
|
3621
|
+
spec: toJson_ReferenceGrantSpec(obj.spec)
|
|
3622
|
+
};
|
|
3623
|
+
// filter undefined values
|
|
3624
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
3625
|
+
}
|
|
3626
|
+
/** Converts an object of type 'ReferenceGrantSpec' to JSON representation. */
|
|
3627
|
+
/* eslint-disable max-len, quote-props */
|
|
3628
|
+
function toJson_ReferenceGrantSpec(obj) {
|
|
3629
|
+
if (obj === undefined) {
|
|
3630
|
+
return undefined;
|
|
3631
|
+
}
|
|
3632
|
+
const result = {
|
|
3633
|
+
from: obj.from?.map(y => toJson_ReferenceGrantSpecFrom(y)),
|
|
3634
|
+
to: obj.to?.map(y => toJson_ReferenceGrantSpecTo(y))
|
|
3635
|
+
};
|
|
3636
|
+
// filter undefined values
|
|
3637
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
3638
|
+
}
|
|
3639
|
+
/** Converts an object of type 'ReferenceGrantSpecFrom' to JSON representation. */
|
|
3640
|
+
/* eslint-disable max-len, quote-props */
|
|
3641
|
+
function toJson_ReferenceGrantSpecFrom(obj) {
|
|
3642
|
+
if (obj === undefined) {
|
|
3643
|
+
return undefined;
|
|
3644
|
+
}
|
|
3645
|
+
const result = {
|
|
3646
|
+
group: obj.group,
|
|
3647
|
+
kind: obj.kind,
|
|
3648
|
+
namespace: obj.namespace
|
|
3649
|
+
};
|
|
3650
|
+
// filter undefined values
|
|
3651
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
3652
|
+
}
|
|
3653
|
+
/** Converts an object of type 'ReferenceGrantSpecTo' to JSON representation. */
|
|
3654
|
+
/* eslint-disable max-len, quote-props */
|
|
3655
|
+
function toJson_ReferenceGrantSpecTo(obj) {
|
|
3656
|
+
if (obj === undefined) {
|
|
3657
|
+
return undefined;
|
|
3658
|
+
}
|
|
3659
|
+
const result = {
|
|
3660
|
+
group: obj.group,
|
|
3661
|
+
kind: obj.kind,
|
|
3662
|
+
name: obj.name
|
|
3663
|
+
};
|
|
3664
|
+
// filter undefined values
|
|
3665
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
|
|
3666
|
+
}
|
|
3667
|
+
/* eslint-enable max-len, quote-props */
|
|
3668
|
+
//# sourceMappingURL=gateway.networking.k8s.io.js.map
|