cdk8s-plus-36 0.0.1 → 2.0.0
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/.jsii +105714 -0
- package/CODE_OF_CONDUCT.md +3 -0
- package/CONTRIBUTING.md +185 -0
- package/DCO +34 -0
- package/LICENSE +202 -0
- package/NOTICE +1 -0
- package/OWNERS.md +5 -0
- package/README.md +21 -34
- package/SECURITY.md +5 -0
- package/cdk8s.yaml +13 -0
- package/docs/java.md +156096 -0
- package/docs/plus/config-map.md +98 -0
- package/docs/plus/container.md +133 -0
- package/docs/plus/cronjob.md +67 -0
- package/docs/plus/deployment.md +232 -0
- package/docs/plus/horizontal-pod-autoscaler.md +226 -0
- package/docs/plus/ingress.md +68 -0
- package/docs/plus/job.md +48 -0
- package/docs/plus/namespace.md +58 -0
- package/docs/plus/network-policy.md +341 -0
- package/docs/plus/pod.md +455 -0
- package/docs/plus/pv.md +82 -0
- package/docs/plus/pvc.md +77 -0
- package/docs/plus/rbac.md +104 -0
- package/docs/plus/secret.md +32 -0
- package/docs/plus/service-account.md +35 -0
- package/docs/plus/service.md +41 -0
- package/docs/plus/volume.md +84 -0
- package/docs/python.md +167536 -0
- package/docs/typescript.md +145485 -0
- package/git-hooks/README.md +9 -0
- package/git-hooks/prepare-commit-msg +18 -0
- package/git-hooks/setup.sh +10 -0
- package/lib/_action.d.ts +26 -0
- package/lib/_action.js +72 -0
- package/lib/api-resource.d.ts +298 -0
- package/lib/api-resource.js +438 -0
- package/lib/base.d.ts +79 -0
- package/lib/base.js +124 -0
- package/lib/config-map.d.ts +126 -0
- package/lib/config-map.js +199 -0
- package/lib/container.d.ts +1057 -0
- package/lib/container.js +944 -0
- package/lib/cron-job.d.ts +138 -0
- package/lib/cron-job.js +170 -0
- package/lib/daemon-set.d.ts +45 -0
- package/lib/daemon-set.js +91 -0
- package/lib/deployment.d.ts +235 -0
- package/lib/deployment.js +274 -0
- package/lib/handler.d.ts +62 -0
- package/lib/handler.js +88 -0
- package/lib/horizontal-pod-autoscaler.d.ts +500 -0
- package/lib/horizontal-pod-autoscaler.js +629 -0
- package/lib/imports/k8s.d.ts +27283 -0
- package/lib/imports/k8s.js +20112 -0
- package/lib/index.d.ts +26 -0
- package/lib/index.js +66 -0
- package/lib/ingress.d.ts +230 -0
- package/lib/ingress.js +282 -0
- package/lib/job.d.ts +64 -0
- package/lib/job.js +101 -0
- package/lib/namespace.d.ts +128 -0
- package/lib/namespace.js +148 -0
- package/lib/network-policy.d.ts +311 -0
- package/lib/network-policy.js +383 -0
- package/lib/pod.d.ts +1097 -0
- package/lib/pod.js +1227 -0
- package/lib/probe.d.ts +181 -0
- package/lib/probe.js +124 -0
- package/lib/pv.d.ts +375 -0
- package/lib/pv.js +387 -0
- package/lib/pvc.d.ts +163 -0
- package/lib/pvc.js +204 -0
- package/lib/role-binding.d.ts +138 -0
- package/lib/role-binding.js +207 -0
- package/lib/role.d.ts +268 -0
- package/lib/role.js +441 -0
- package/lib/secret.d.ts +195 -0
- package/lib/secret.js +221 -0
- package/lib/service-account.d.ts +83 -0
- package/lib/service-account.js +148 -0
- package/lib/service.d.ts +289 -0
- package/lib/service.js +235 -0
- package/lib/stateful-set.d.ts +206 -0
- package/lib/stateful-set.js +291 -0
- package/lib/utils.d.ts +4 -0
- package/lib/utils.js +33 -0
- package/lib/volume.d.ts +577 -0
- package/lib/volume.js +410 -0
- package/lib/workload.d.ts +121 -0
- package/lib/workload.js +158 -0
- package/node_modules/balanced-match/.github/FUNDING.yml +2 -0
- package/node_modules/balanced-match/LICENSE.md +21 -0
- package/node_modules/balanced-match/README.md +97 -0
- package/node_modules/balanced-match/index.js +62 -0
- package/node_modules/balanced-match/package.json +48 -0
- package/node_modules/brace-expansion/.github/FUNDING.yml +2 -0
- package/node_modules/brace-expansion/LICENSE +21 -0
- package/node_modules/brace-expansion/README.md +157 -0
- package/node_modules/brace-expansion/index.js +394 -0
- package/node_modules/brace-expansion/package.json +49 -0
- package/node_modules/minimatch/LICENSE +15 -0
- package/node_modules/minimatch/README.md +491 -0
- package/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts +2 -0
- package/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts.map +1 -0
- package/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js +14 -0
- package/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js.map +1 -0
- package/node_modules/minimatch/dist/commonjs/ast.d.ts +20 -0
- package/node_modules/minimatch/dist/commonjs/ast.d.ts.map +1 -0
- package/node_modules/minimatch/dist/commonjs/ast.js +747 -0
- package/node_modules/minimatch/dist/commonjs/ast.js.map +1 -0
- package/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts +8 -0
- package/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts.map +1 -0
- package/node_modules/minimatch/dist/commonjs/brace-expressions.js +152 -0
- package/node_modules/minimatch/dist/commonjs/brace-expressions.js.map +1 -0
- package/node_modules/minimatch/dist/commonjs/escape.d.ts +12 -0
- package/node_modules/minimatch/dist/commonjs/escape.d.ts.map +1 -0
- package/node_modules/minimatch/dist/commonjs/escape.js +22 -0
- package/node_modules/minimatch/dist/commonjs/escape.js.map +1 -0
- package/node_modules/minimatch/dist/commonjs/index.d.ts +98 -0
- package/node_modules/minimatch/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/minimatch/dist/commonjs/index.js +1023 -0
- package/node_modules/minimatch/dist/commonjs/index.js.map +1 -0
- package/node_modules/minimatch/dist/commonjs/package.json +3 -0
- package/node_modules/minimatch/dist/commonjs/unescape.d.ts +17 -0
- package/node_modules/minimatch/dist/commonjs/unescape.d.ts.map +1 -0
- package/node_modules/minimatch/dist/commonjs/unescape.js +24 -0
- package/node_modules/minimatch/dist/commonjs/unescape.js.map +1 -0
- package/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts +2 -0
- package/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts.map +1 -0
- package/node_modules/minimatch/dist/esm/assert-valid-pattern.js +10 -0
- package/node_modules/minimatch/dist/esm/assert-valid-pattern.js.map +1 -0
- package/node_modules/minimatch/dist/esm/ast.d.ts +20 -0
- package/node_modules/minimatch/dist/esm/ast.d.ts.map +1 -0
- package/node_modules/minimatch/dist/esm/ast.js +743 -0
- package/node_modules/minimatch/dist/esm/ast.js.map +1 -0
- package/node_modules/minimatch/dist/esm/brace-expressions.d.ts +8 -0
- package/node_modules/minimatch/dist/esm/brace-expressions.d.ts.map +1 -0
- package/node_modules/minimatch/dist/esm/brace-expressions.js +148 -0
- package/node_modules/minimatch/dist/esm/brace-expressions.js.map +1 -0
- package/node_modules/minimatch/dist/esm/escape.d.ts +12 -0
- package/node_modules/minimatch/dist/esm/escape.d.ts.map +1 -0
- package/node_modules/minimatch/dist/esm/escape.js +18 -0
- package/node_modules/minimatch/dist/esm/escape.js.map +1 -0
- package/node_modules/minimatch/dist/esm/index.d.ts +98 -0
- package/node_modules/minimatch/dist/esm/index.d.ts.map +1 -0
- package/node_modules/minimatch/dist/esm/index.js +1007 -0
- package/node_modules/minimatch/dist/esm/index.js.map +1 -0
- package/node_modules/minimatch/dist/esm/package.json +3 -0
- package/node_modules/minimatch/dist/esm/unescape.d.ts +17 -0
- package/node_modules/minimatch/dist/esm/unescape.d.ts.map +1 -0
- package/node_modules/minimatch/dist/esm/unescape.js +20 -0
- package/node_modules/minimatch/dist/esm/unescape.js.map +1 -0
- package/node_modules/minimatch/package.json +82 -0
- package/package.json +172 -6
- package/rotate.md +82 -0
package/lib/probe.d.ts
ADDED
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { Duration } from 'cdk8s';
|
|
2
|
+
import * as container from './container';
|
|
3
|
+
import * as k8s from './imports/k8s';
|
|
4
|
+
/**
|
|
5
|
+
* Probe options.
|
|
6
|
+
*/
|
|
7
|
+
export interface ProbeOptions {
|
|
8
|
+
/**
|
|
9
|
+
* Minimum consecutive failures for the probe to be considered failed after
|
|
10
|
+
* having succeeded.
|
|
11
|
+
*
|
|
12
|
+
* Defaults to 3. Minimum value is 1.
|
|
13
|
+
*
|
|
14
|
+
* @default 3
|
|
15
|
+
*/
|
|
16
|
+
readonly failureThreshold?: number;
|
|
17
|
+
/**
|
|
18
|
+
* Number of seconds after the container has started before liveness probes
|
|
19
|
+
* are initiated.
|
|
20
|
+
*
|
|
21
|
+
* @see https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
|
22
|
+
* @default - immediate
|
|
23
|
+
*/
|
|
24
|
+
readonly initialDelaySeconds?: Duration;
|
|
25
|
+
/**
|
|
26
|
+
* How often (in seconds) to perform the probe.
|
|
27
|
+
*
|
|
28
|
+
* Default to 10 seconds. Minimum value is 1.
|
|
29
|
+
*
|
|
30
|
+
* @default Duration.seconds(10) Minimum value is 1.
|
|
31
|
+
*/
|
|
32
|
+
readonly periodSeconds?: Duration;
|
|
33
|
+
/**
|
|
34
|
+
* Minimum consecutive successes for the probe to be considered successful
|
|
35
|
+
* after having failed. Defaults to 1.
|
|
36
|
+
*
|
|
37
|
+
* Must be 1 for liveness and startup. Minimum value is 1.
|
|
38
|
+
*
|
|
39
|
+
* @default 1 Must be 1 for liveness and startup. Minimum value is 1.
|
|
40
|
+
*/
|
|
41
|
+
readonly successThreshold?: number;
|
|
42
|
+
/**
|
|
43
|
+
* Number of seconds after which the probe times out.
|
|
44
|
+
*
|
|
45
|
+
* Defaults to 1 second. Minimum value is 1.
|
|
46
|
+
*
|
|
47
|
+
* @see https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
|
48
|
+
* @default Duration.seconds(1)
|
|
49
|
+
*/
|
|
50
|
+
readonly timeoutSeconds?: Duration;
|
|
51
|
+
}
|
|
52
|
+
export declare enum ConnectionScheme {
|
|
53
|
+
/**
|
|
54
|
+
* Use HTTP request for connecting to host.
|
|
55
|
+
*/
|
|
56
|
+
HTTP = "HTTP",
|
|
57
|
+
/**
|
|
58
|
+
* Use HTTPS request for connecting to host.
|
|
59
|
+
*/
|
|
60
|
+
HTTPS = "HTTPS"
|
|
61
|
+
}
|
|
62
|
+
export interface HttpHeader {
|
|
63
|
+
/**
|
|
64
|
+
* The HTTP Header name to be used
|
|
65
|
+
*/
|
|
66
|
+
readonly name: string;
|
|
67
|
+
/**
|
|
68
|
+
* The HTTP header value to be set
|
|
69
|
+
*/
|
|
70
|
+
readonly value: string;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Options for `Probe.fromHttpGet()`.
|
|
74
|
+
*/
|
|
75
|
+
export interface HttpGetProbeOptions extends ProbeOptions {
|
|
76
|
+
/**
|
|
77
|
+
* The TCP port to use when sending the GET request.
|
|
78
|
+
*
|
|
79
|
+
* @default - defaults to `container.port`.
|
|
80
|
+
*/
|
|
81
|
+
readonly port?: number;
|
|
82
|
+
/**
|
|
83
|
+
* Scheme to use for connecting to the host (HTTP or HTTPS).
|
|
84
|
+
*
|
|
85
|
+
* @default ConnectionScheme.HTTP
|
|
86
|
+
*/
|
|
87
|
+
readonly scheme?: ConnectionScheme;
|
|
88
|
+
/**
|
|
89
|
+
* The host name to connect to on the container.
|
|
90
|
+
*
|
|
91
|
+
* @default - defaults to the pod IP
|
|
92
|
+
*/
|
|
93
|
+
readonly host?: string;
|
|
94
|
+
/**
|
|
95
|
+
* Custom HTTP headers to set in the probe request. Note that HTTP allows repeated headers.
|
|
96
|
+
*
|
|
97
|
+
* @default - no custom headers are set
|
|
98
|
+
*/
|
|
99
|
+
readonly httpHeaders?: HttpHeader[];
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Options for `Probe.fromCommand()`.
|
|
103
|
+
*/
|
|
104
|
+
export interface CommandProbeOptions extends ProbeOptions {
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Options for `Probe.fromTcpSocket()`.
|
|
108
|
+
*/
|
|
109
|
+
export interface TcpSocketProbeOptions extends ProbeOptions {
|
|
110
|
+
/**
|
|
111
|
+
* The TCP port to connect to on the container.
|
|
112
|
+
*
|
|
113
|
+
* @default - defaults to `container.port`.
|
|
114
|
+
*/
|
|
115
|
+
readonly port?: number;
|
|
116
|
+
/**
|
|
117
|
+
* The host name to connect to on the container.
|
|
118
|
+
*
|
|
119
|
+
* @default - defaults to the pod IP
|
|
120
|
+
*/
|
|
121
|
+
readonly host?: string;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Options for `Probe.fromGrpc()`.
|
|
125
|
+
*/
|
|
126
|
+
export interface GrpcProbeOptions extends ProbeOptions {
|
|
127
|
+
/**
|
|
128
|
+
* The TCP port to connect to on the container.
|
|
129
|
+
*
|
|
130
|
+
* @default - defaults to `container.port`.
|
|
131
|
+
*/
|
|
132
|
+
readonly port?: number;
|
|
133
|
+
/**
|
|
134
|
+
* Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
|
|
135
|
+
*
|
|
136
|
+
* @default - If this is not specified, the default behavior is defined by gRPC.
|
|
137
|
+
*/
|
|
138
|
+
readonly service?: string;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Probe describes a health check to be performed against a container to
|
|
142
|
+
* determine whether it is alive or ready to receive traffic.
|
|
143
|
+
*/
|
|
144
|
+
export declare class Probe {
|
|
145
|
+
private readonly probeOptions;
|
|
146
|
+
private readonly tcpSocketOptions?;
|
|
147
|
+
private readonly commandOptions?;
|
|
148
|
+
private readonly httpGetOptions?;
|
|
149
|
+
private readonly grpcOptions?;
|
|
150
|
+
/**
|
|
151
|
+
* Defines a probe based on an HTTP GET request to the IP address of the container.
|
|
152
|
+
*
|
|
153
|
+
* @param path The URL path to hit
|
|
154
|
+
* @param options Options
|
|
155
|
+
*/
|
|
156
|
+
static fromHttpGet(path: string, options?: HttpGetProbeOptions): Probe;
|
|
157
|
+
/**
|
|
158
|
+
* Defines a probe based on a command which is executed within the container.
|
|
159
|
+
*
|
|
160
|
+
* @param command The command to execute
|
|
161
|
+
* @param options Options
|
|
162
|
+
*/
|
|
163
|
+
static fromCommand(command: string[], options?: CommandProbeOptions): Probe;
|
|
164
|
+
/**
|
|
165
|
+
* Defines a probe based opening a connection to a TCP socket on the container.
|
|
166
|
+
*
|
|
167
|
+
* @param options Options
|
|
168
|
+
*/
|
|
169
|
+
static fromTcpSocket(options?: TcpSocketProbeOptions): Probe;
|
|
170
|
+
/**
|
|
171
|
+
* Defines a probe based on a gRPC request to the container.
|
|
172
|
+
*
|
|
173
|
+
* @param options Options
|
|
174
|
+
*/
|
|
175
|
+
static fromGrpc(options?: GrpcProbeOptions): Probe;
|
|
176
|
+
private constructor();
|
|
177
|
+
/**
|
|
178
|
+
* @internal
|
|
179
|
+
*/
|
|
180
|
+
_toKube(cont: container.Container): k8s.Probe;
|
|
181
|
+
}
|
package/lib/probe.js
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.Probe = exports.ConnectionScheme = void 0;
|
|
37
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
38
|
+
const _action = __importStar(require("./_action"));
|
|
39
|
+
var ConnectionScheme;
|
|
40
|
+
(function (ConnectionScheme) {
|
|
41
|
+
/**
|
|
42
|
+
* Use HTTP request for connecting to host.
|
|
43
|
+
*/
|
|
44
|
+
ConnectionScheme["HTTP"] = "HTTP";
|
|
45
|
+
/**
|
|
46
|
+
* Use HTTPS request for connecting to host.
|
|
47
|
+
*/
|
|
48
|
+
ConnectionScheme["HTTPS"] = "HTTPS";
|
|
49
|
+
})(ConnectionScheme || (exports.ConnectionScheme = ConnectionScheme = {}));
|
|
50
|
+
/**
|
|
51
|
+
* Probe describes a health check to be performed against a container to
|
|
52
|
+
* determine whether it is alive or ready to receive traffic.
|
|
53
|
+
*/
|
|
54
|
+
class Probe {
|
|
55
|
+
probeOptions;
|
|
56
|
+
tcpSocketOptions;
|
|
57
|
+
commandOptions;
|
|
58
|
+
httpGetOptions;
|
|
59
|
+
grpcOptions;
|
|
60
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdk8s-plus-36.Probe", version: "2.0.0" };
|
|
61
|
+
/**
|
|
62
|
+
* Defines a probe based on an HTTP GET request to the IP address of the container.
|
|
63
|
+
*
|
|
64
|
+
* @param path The URL path to hit
|
|
65
|
+
* @param options Options
|
|
66
|
+
*/
|
|
67
|
+
static fromHttpGet(path, options = {}) {
|
|
68
|
+
return new Probe(options, undefined, undefined, { path, ...options }, undefined);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Defines a probe based on a command which is executed within the container.
|
|
72
|
+
*
|
|
73
|
+
* @param command The command to execute
|
|
74
|
+
* @param options Options
|
|
75
|
+
*/
|
|
76
|
+
static fromCommand(command, options = {}) {
|
|
77
|
+
return new Probe(options, undefined, { command, ...options }, undefined, undefined);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Defines a probe based opening a connection to a TCP socket on the container.
|
|
81
|
+
*
|
|
82
|
+
* @param options Options
|
|
83
|
+
*/
|
|
84
|
+
static fromTcpSocket(options = {}) {
|
|
85
|
+
return new Probe(options, options, undefined, undefined, undefined);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Defines a probe based on a gRPC request to the container.
|
|
89
|
+
*
|
|
90
|
+
* @param options Options
|
|
91
|
+
*/
|
|
92
|
+
static fromGrpc(options = {}) {
|
|
93
|
+
return new Probe(options, undefined, undefined, undefined, options);
|
|
94
|
+
}
|
|
95
|
+
constructor(probeOptions, tcpSocketOptions, commandOptions, httpGetOptions, grpcOptions) {
|
|
96
|
+
this.probeOptions = probeOptions;
|
|
97
|
+
this.tcpSocketOptions = tcpSocketOptions;
|
|
98
|
+
this.commandOptions = commandOptions;
|
|
99
|
+
this.httpGetOptions = httpGetOptions;
|
|
100
|
+
this.grpcOptions = grpcOptions;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* @internal
|
|
104
|
+
*/
|
|
105
|
+
_toKube(cont) {
|
|
106
|
+
const exec = this.commandOptions ? _action.Action.fromCommand(this.commandOptions.command) : undefined;
|
|
107
|
+
const httpGet = this.httpGetOptions ? _action.Action.fromHttpGet(cont, this.httpGetOptions.path, this.httpGetOptions) : undefined;
|
|
108
|
+
const tcpSocket = this.tcpSocketOptions ? _action.Action.fromTcpSocket(cont, this.tcpSocketOptions) : undefined;
|
|
109
|
+
const grpc = this.grpcOptions ? _action.Action.fromGrpc(cont, this.grpcOptions) : undefined;
|
|
110
|
+
return {
|
|
111
|
+
failureThreshold: this.probeOptions.failureThreshold ?? 3,
|
|
112
|
+
initialDelaySeconds: this.probeOptions.initialDelaySeconds ? this.probeOptions.initialDelaySeconds.toSeconds() : undefined,
|
|
113
|
+
periodSeconds: this.probeOptions.periodSeconds ? this.probeOptions.periodSeconds.toSeconds() : undefined,
|
|
114
|
+
successThreshold: this.probeOptions.successThreshold,
|
|
115
|
+
timeoutSeconds: this.probeOptions.timeoutSeconds ? this.probeOptions.timeoutSeconds.toSeconds() : undefined,
|
|
116
|
+
exec: exec,
|
|
117
|
+
httpGet,
|
|
118
|
+
tcpSocket,
|
|
119
|
+
grpc,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
exports.Probe = Probe;
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvYmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcHJvYmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLG1EQUFxQztBQXlEckMsSUFBWSxnQkFVWDtBQVZELFdBQVksZ0JBQWdCO0lBQzFCOztPQUVHO0lBQ0gsaUNBQWEsQ0FBQTtJQUViOztPQUVHO0lBQ0gsbUNBQWUsQ0FBQTtBQUNqQixDQUFDLEVBVlcsZ0JBQWdCLGdDQUFoQixnQkFBZ0IsUUFVM0I7QUE0RkQ7OztHQUdHO0FBQ0gsTUFBYSxLQUFLO0lBeUNHO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0lBM0NuQjs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBWSxFQUFFLFVBQStCLEVBQUU7UUFDdkUsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLE9BQU8sRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxXQUFXLENBQUMsT0FBaUIsRUFBRSxVQUErQixFQUFFO1FBQzVFLE9BQU8sSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxhQUFhLENBQUMsVUFBaUMsRUFBRTtRQUM3RCxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBNEIsRUFBRTtRQUNuRCxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsWUFDbUIsWUFBMEIsRUFDMUIsZ0JBQXdDLEVBQ3hDLGNBQXFELEVBQ3JELGNBQXVELEVBQ3ZELFdBQThCO1FBSjlCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBd0I7UUFDeEMsbUJBQWMsR0FBZCxjQUFjLENBQXVDO1FBQ3JELG1CQUFjLEdBQWQsY0FBYyxDQUF5QztRQUN2RCxnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7SUFBRyxDQUFDO0lBRXJEOztPQUVHO0lBQ0ksT0FBTyxDQUFDLElBQXlCO1FBRXRDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUN2RyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDbEksTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNoSCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFNUYsT0FBTztZQUNMLGdCQUFnQixFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLElBQUksQ0FBQztZQUN6RCxtQkFBbUIsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQzFILGFBQWEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDeEcsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0I7WUFDcEQsY0FBYyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUztZQUMzRyxJQUFJLEVBQUUsSUFBSTtZQUNWLE9BQU87WUFDUCxTQUFTO1lBQ1QsSUFBSTtTQUNMLENBQUM7SUFDSixDQUFDOztBQXBFSCxzQkFxRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEdXJhdGlvbiB9IGZyb20gJ2NkazhzJztcbmltcG9ydCAqIGFzIF9hY3Rpb24gZnJvbSAnLi9fYWN0aW9uJztcbmltcG9ydCAqIGFzIGNvbnRhaW5lciBmcm9tICcuL2NvbnRhaW5lcic7XG5pbXBvcnQgKiBhcyBrOHMgZnJvbSAnLi9pbXBvcnRzL2s4cyc7XG5cbi8qKlxuICogUHJvYmUgb3B0aW9ucy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9iZU9wdGlvbnMge1xuICAvKipcbiAgICogTWluaW11bSBjb25zZWN1dGl2ZSBmYWlsdXJlcyBmb3IgdGhlIHByb2JlIHRvIGJlIGNvbnNpZGVyZWQgZmFpbGVkIGFmdGVyXG4gICAqIGhhdmluZyBzdWNjZWVkZWQuXG4gICAqXG4gICAqIERlZmF1bHRzIHRvIDMuIE1pbmltdW0gdmFsdWUgaXMgMS5cbiAgICpcbiAgICogQGRlZmF1bHQgM1xuICAgKi9cbiAgcmVhZG9ubHkgZmFpbHVyZVRocmVzaG9sZD86IG51bWJlcjtcblxuICAvKipcbiAgICogTnVtYmVyIG9mIHNlY29uZHMgYWZ0ZXIgdGhlIGNvbnRhaW5lciBoYXMgc3RhcnRlZCBiZWZvcmUgbGl2ZW5lc3MgcHJvYmVzXG4gICAqIGFyZSBpbml0aWF0ZWQuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvd29ya2xvYWRzL3BvZHMvcG9kLWxpZmVjeWNsZSNjb250YWluZXItcHJvYmVzXG4gICAqIEBkZWZhdWx0IC0gaW1tZWRpYXRlXG4gICAqL1xuICByZWFkb25seSBpbml0aWFsRGVsYXlTZWNvbmRzPzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIEhvdyBvZnRlbiAoaW4gc2Vjb25kcykgdG8gcGVyZm9ybSB0aGUgcHJvYmUuXG4gICAqXG4gICAqIERlZmF1bHQgdG8gMTAgc2Vjb25kcy4gTWluaW11bSB2YWx1ZSBpcyAxLlxuICAgKlxuICAgKiBAZGVmYXVsdCBEdXJhdGlvbi5zZWNvbmRzKDEwKSBNaW5pbXVtIHZhbHVlIGlzIDEuXG4gICAqL1xuICByZWFkb25seSBwZXJpb2RTZWNvbmRzPzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIE1pbmltdW0gY29uc2VjdXRpdmUgc3VjY2Vzc2VzIGZvciB0aGUgcHJvYmUgdG8gYmUgY29uc2lkZXJlZCBzdWNjZXNzZnVsXG4gICAqIGFmdGVyIGhhdmluZyBmYWlsZWQuIERlZmF1bHRzIHRvIDEuXG4gICAqXG4gICAqIE11c3QgYmUgMSBmb3IgbGl2ZW5lc3MgYW5kIHN0YXJ0dXAuIE1pbmltdW0gdmFsdWUgaXMgMS5cbiAgICpcbiAgICogQGRlZmF1bHQgMSBNdXN0IGJlIDEgZm9yIGxpdmVuZXNzIGFuZCBzdGFydHVwLiBNaW5pbXVtIHZhbHVlIGlzIDEuXG4gICAqL1xuICByZWFkb25seSBzdWNjZXNzVGhyZXNob2xkPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBOdW1iZXIgb2Ygc2Vjb25kcyBhZnRlciB3aGljaCB0aGUgcHJvYmUgdGltZXMgb3V0LlxuICAgKlxuICAgKiBEZWZhdWx0cyB0byAxIHNlY29uZC4gTWluaW11bSB2YWx1ZSBpcyAxLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL2NvbmNlcHRzL3dvcmtsb2Fkcy9wb2RzL3BvZC1saWZlY3ljbGUjY29udGFpbmVyLXByb2Jlc1xuICAgKiBAZGVmYXVsdCBEdXJhdGlvbi5zZWNvbmRzKDEpXG4gICAqL1xuICByZWFkb25seSB0aW1lb3V0U2Vjb25kcz86IER1cmF0aW9uO1xufVxuXG5leHBvcnQgZW51bSBDb25uZWN0aW9uU2NoZW1lIHtcbiAgLyoqXG4gICAqIFVzZSBIVFRQIHJlcXVlc3QgZm9yIGNvbm5lY3RpbmcgdG8gaG9zdC5cbiAgICovXG4gIEhUVFAgPSAnSFRUUCcsXG5cbiAgLyoqXG4gICAqIFVzZSBIVFRQUyByZXF1ZXN0IGZvciBjb25uZWN0aW5nIHRvIGhvc3QuXG4gICAqL1xuICBIVFRQUyA9ICdIVFRQUycsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cEhlYWRlciB7XG4gIC8qKlxuICAgKiBUaGUgSFRUUCBIZWFkZXIgbmFtZSB0byBiZSB1c2VkXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBIVFRQIGhlYWRlciB2YWx1ZSB0byBiZSBzZXRcbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYFByb2JlLmZyb21IdHRwR2V0KClgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBHZXRQcm9iZU9wdGlvbnMgZXh0ZW5kcyBQcm9iZU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIFRDUCBwb3J0IHRvIHVzZSB3aGVuIHNlbmRpbmcgdGhlIEdFVCByZXF1ZXN0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHRzIHRvIGBjb250YWluZXIucG9ydGAuXG4gICAqL1xuICByZWFkb25seSBwb3J0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiAgU2NoZW1lIHRvIHVzZSBmb3IgY29ubmVjdGluZyB0byB0aGUgaG9zdCAoSFRUUCBvciBIVFRQUykuXG4gICAqXG4gICAqICBAZGVmYXVsdCBDb25uZWN0aW9uU2NoZW1lLkhUVFBcbiAgICovXG4gIHJlYWRvbmx5IHNjaGVtZT86IENvbm5lY3Rpb25TY2hlbWU7XG5cbiAgLyoqXG4gICAqIFRoZSBob3N0IG5hbWUgdG8gY29ubmVjdCB0byBvbiB0aGUgY29udGFpbmVyLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHRzIHRvIHRoZSBwb2QgSVBcbiAgICovXG4gIHJlYWRvbmx5IGhvc3Q/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBIVFRQIGhlYWRlcnMgdG8gc2V0IGluIHRoZSBwcm9iZSByZXF1ZXN0LiBOb3RlIHRoYXQgSFRUUCBhbGxvd3MgcmVwZWF0ZWQgaGVhZGVycy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBjdXN0b20gaGVhZGVycyBhcmUgc2V0XG4gICAqL1xuICByZWFkb25seSBodHRwSGVhZGVycz86IEh0dHBIZWFkZXJbXTtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBgUHJvYmUuZnJvbUNvbW1hbmQoKWAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tbWFuZFByb2JlT3B0aW9ucyBleHRlbmRzIFByb2JlT3B0aW9ucyB7XG5cbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBgUHJvYmUuZnJvbVRjcFNvY2tldCgpYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUY3BTb2NrZXRQcm9iZU9wdGlvbnMgZXh0ZW5kcyBQcm9iZU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIFRDUCBwb3J0IHRvIGNvbm5lY3QgdG8gb24gdGhlIGNvbnRhaW5lci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0cyB0byBgY29udGFpbmVyLnBvcnRgLlxuICAgKi9cbiAgcmVhZG9ubHkgcG9ydD86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIGhvc3QgbmFtZSB0byBjb25uZWN0IHRvIG9uIHRoZSBjb250YWluZXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdHMgdG8gdGhlIHBvZCBJUFxuICAgKi9cbiAgcmVhZG9ubHkgaG9zdD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBgUHJvYmUuZnJvbUdycGMoKWAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3JwY1Byb2JlT3B0aW9ucyBleHRlbmRzIFByb2JlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgVENQIHBvcnQgdG8gY29ubmVjdCB0byBvbiB0aGUgY29udGFpbmVyLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHRzIHRvIGBjb250YWluZXIucG9ydGAuXG4gICAqL1xuICByZWFkb25seSBwb3J0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTZXJ2aWNlIGlzIHRoZSBuYW1lIG9mIHRoZSBzZXJ2aWNlIHRvIHBsYWNlIGluIHRoZSBnUlBDIEhlYWx0aENoZWNrUmVxdWVzdCAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ncnBjL2dycGMvYmxvYi9tYXN0ZXIvZG9jL2hlYWx0aC1jaGVja2luZy5tZCkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gSWYgdGhpcyBpcyBub3Qgc3BlY2lmaWVkLCB0aGUgZGVmYXVsdCBiZWhhdmlvciBpcyBkZWZpbmVkIGJ5IGdSUEMuXG4gICAqL1xuICByZWFkb25seSBzZXJ2aWNlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb2JlIGRlc2NyaWJlcyBhIGhlYWx0aCBjaGVjayB0byBiZSBwZXJmb3JtZWQgYWdhaW5zdCBhIGNvbnRhaW5lciB0b1xuICogZGV0ZXJtaW5lIHdoZXRoZXIgaXQgaXMgYWxpdmUgb3IgcmVhZHkgdG8gcmVjZWl2ZSB0cmFmZmljLlxuICovXG5leHBvcnQgY2xhc3MgUHJvYmUge1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGEgcHJvYmUgYmFzZWQgb24gYW4gSFRUUCBHRVQgcmVxdWVzdCB0byB0aGUgSVAgYWRkcmVzcyBvZiB0aGUgY29udGFpbmVyLlxuICAgKlxuICAgKiBAcGFyYW0gcGF0aCBUaGUgVVJMIHBhdGggdG8gaGl0XG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUh0dHBHZXQocGF0aDogc3RyaW5nLCBvcHRpb25zOiBIdHRwR2V0UHJvYmVPcHRpb25zID0ge30pOiBQcm9iZSB7XG4gICAgcmV0dXJuIG5ldyBQcm9iZShvcHRpb25zLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgeyBwYXRoLCAuLi5vcHRpb25zIH0sIHVuZGVmaW5lZCk7XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lcyBhIHByb2JlIGJhc2VkIG9uIGEgY29tbWFuZCB3aGljaCBpcyBleGVjdXRlZCB3aXRoaW4gdGhlIGNvbnRhaW5lci5cbiAgICpcbiAgICogQHBhcmFtIGNvbW1hbmQgVGhlIGNvbW1hbmQgdG8gZXhlY3V0ZVxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Db21tYW5kKGNvbW1hbmQ6IHN0cmluZ1tdLCBvcHRpb25zOiBDb21tYW5kUHJvYmVPcHRpb25zID0ge30pOiBQcm9iZSB7XG4gICAgcmV0dXJuIG5ldyBQcm9iZShvcHRpb25zLCB1bmRlZmluZWQsIHsgY29tbWFuZCwgLi4ub3B0aW9ucyB9LCB1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lcyBhIHByb2JlIGJhc2VkIG9wZW5pbmcgYSBjb25uZWN0aW9uIHRvIGEgVENQIHNvY2tldCBvbiB0aGUgY29udGFpbmVyLlxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21UY3BTb2NrZXQob3B0aW9uczogVGNwU29ja2V0UHJvYmVPcHRpb25zID0ge30pOiBQcm9iZSB7XG4gICAgcmV0dXJuIG5ldyBQcm9iZShvcHRpb25zLCBvcHRpb25zLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGEgcHJvYmUgYmFzZWQgb24gYSBnUlBDIHJlcXVlc3QgdG8gdGhlIGNvbnRhaW5lci5cbiAgICpcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9uc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tR3JwYyhvcHRpb25zOiBHcnBjUHJvYmVPcHRpb25zID0ge30pOiBQcm9iZSB7XG4gICAgcmV0dXJuIG5ldyBQcm9iZShvcHRpb25zLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBvcHRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9iZU9wdGlvbnM6IFByb2JlT3B0aW9ucyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRjcFNvY2tldE9wdGlvbnM/OiBUY3BTb2NrZXRQcm9iZU9wdGlvbnMsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21tYW5kT3B0aW9ucz86IHsgY29tbWFuZDogc3RyaW5nW10gfSAmIFByb2JlT3B0aW9ucyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHBHZXRPcHRpb25zPzogeyBwYXRoOiBzdHJpbmcgfSAmIEh0dHBHZXRQcm9iZU9wdGlvbnMsXG4gICAgcHJpdmF0ZSByZWFkb25seSBncnBjT3B0aW9ucz86IEdycGNQcm9iZU9wdGlvbnMpIHt9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIF90b0t1YmUoY29udDogY29udGFpbmVyLkNvbnRhaW5lcik6IGs4cy5Qcm9iZSB7XG5cbiAgICBjb25zdCBleGVjID0gdGhpcy5jb21tYW5kT3B0aW9ucyA/IF9hY3Rpb24uQWN0aW9uLmZyb21Db21tYW5kKHRoaXMuY29tbWFuZE9wdGlvbnMuY29tbWFuZCkgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgaHR0cEdldCA9IHRoaXMuaHR0cEdldE9wdGlvbnMgPyBfYWN0aW9uLkFjdGlvbi5mcm9tSHR0cEdldChjb250LCB0aGlzLmh0dHBHZXRPcHRpb25zLnBhdGgsIHRoaXMuaHR0cEdldE9wdGlvbnMpIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IHRjcFNvY2tldCA9IHRoaXMudGNwU29ja2V0T3B0aW9ucyA/IF9hY3Rpb24uQWN0aW9uLmZyb21UY3BTb2NrZXQoY29udCwgdGhpcy50Y3BTb2NrZXRPcHRpb25zKSA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBncnBjID0gdGhpcy5ncnBjT3B0aW9ucyA/IF9hY3Rpb24uQWN0aW9uLmZyb21HcnBjKGNvbnQsIHRoaXMuZ3JwY09wdGlvbnMpIDogdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGZhaWx1cmVUaHJlc2hvbGQ6IHRoaXMucHJvYmVPcHRpb25zLmZhaWx1cmVUaHJlc2hvbGQgPz8gMyxcbiAgICAgIGluaXRpYWxEZWxheVNlY29uZHM6IHRoaXMucHJvYmVPcHRpb25zLmluaXRpYWxEZWxheVNlY29uZHMgPyB0aGlzLnByb2JlT3B0aW9ucy5pbml0aWFsRGVsYXlTZWNvbmRzLnRvU2Vjb25kcygpIDogdW5kZWZpbmVkLFxuICAgICAgcGVyaW9kU2Vjb25kczogdGhpcy5wcm9iZU9wdGlvbnMucGVyaW9kU2Vjb25kcyA/IHRoaXMucHJvYmVPcHRpb25zLnBlcmlvZFNlY29uZHMudG9TZWNvbmRzKCkgOiB1bmRlZmluZWQsXG4gICAgICBzdWNjZXNzVGhyZXNob2xkOiB0aGlzLnByb2JlT3B0aW9ucy5zdWNjZXNzVGhyZXNob2xkLFxuICAgICAgdGltZW91dFNlY29uZHM6IHRoaXMucHJvYmVPcHRpb25zLnRpbWVvdXRTZWNvbmRzID8gdGhpcy5wcm9iZU9wdGlvbnMudGltZW91dFNlY29uZHMudG9TZWNvbmRzKCkgOiB1bmRlZmluZWQsXG4gICAgICBleGVjOiBleGVjLFxuICAgICAgaHR0cEdldCxcbiAgICAgIHRjcFNvY2tldCxcbiAgICAgIGdycGMsXG4gICAgfTtcbiAgfVxufVxuIl19
|