@restatedev/restate-cdk 1.1.0-rc.2 → 1.1.1-pre.6
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/.github/workflows/pr-checks.yaml +1 -3
- package/.github/workflows/publish.yml +41 -5
- package/.github/workflows/test.yml +5 -9
- package/LICENSE +1 -1
- package/README.md +13 -9
- package/dist/deployments-common.js +3 -3
- package/dist/fargate-restate-deployment.js +26 -14
- package/dist/index.d.ts +1 -0
- package/dist/index.js +4 -3
- package/dist/register-service-handler/index.d.ts +0 -2
- package/dist/register-service-handler/index.js +24 -13
- package/dist/restate-cloud-environment.d.ts +14 -4
- package/dist/restate-cloud-environment.js +33 -19
- package/dist/restate-environment.d.ts +0 -2
- package/dist/restate-environment.js +3 -3
- package/dist/service-deployer.d.ts +2 -1
- package/dist/service-deployer.js +34 -18
- package/dist/single-node-restate-deployment.d.ts +6 -0
- package/dist/single-node-restate-deployment.js +29 -12
- package/jest.config.base.js +6 -0
- package/jest.config.e2e.js +8 -0
- package/jest.config.js +6 -5
- package/package.json +9 -7
- package/test/__snapshots__/restate-constructs.test.ts.snap +441 -20
- package/test/e2e/README.md +11 -0
- package/test/handlers/build.mts +19 -0
- package/test/handlers/handler.js +2 -2
|
@@ -14,22 +14,31 @@ export interface RestateCloudEnvironmentProps {
|
|
|
14
14
|
* API key with administrative permissions. Used to manage services to the environment, see {@link ServiceDeployer}.
|
|
15
15
|
*/
|
|
16
16
|
readonly apiKey: secrets.ISecret;
|
|
17
|
+
/**
|
|
18
|
+
* Region of the environment. Defaults to `us`. Valid values: [`us`, `eu`].
|
|
19
|
+
*/
|
|
20
|
+
readonly region?: RestateCloudRegion;
|
|
21
|
+
/**
|
|
22
|
+
* Invoker role that can be assumed by Restate Cloud. If you use {@link ServiceDeployer} to register Lambda functions
|
|
23
|
+
* as handlers, the necessary invoke permissions will be granted automatically.
|
|
24
|
+
*/
|
|
25
|
+
readonly invokerRole?: iam.IRole;
|
|
17
26
|
}
|
|
18
27
|
/**
|
|
19
28
|
* A distinct Restate Cloud environment reference. This is a convenience utility for deploying to the
|
|
20
29
|
* [Restate Cloud](https://cloud.restate.dev/) hosted service.
|
|
21
30
|
*/
|
|
22
31
|
export declare class RestateCloudEnvironment extends Construct implements IRestateEnvironment {
|
|
32
|
+
readonly environmentId: EnvironmentId;
|
|
23
33
|
readonly adminUrl: string;
|
|
24
34
|
readonly ingressUrl: string;
|
|
25
35
|
readonly authToken: secrets.ISecret;
|
|
26
36
|
readonly invokerRole: iam.IRole;
|
|
37
|
+
readonly region: RestateCloudRegion;
|
|
27
38
|
/**
|
|
28
39
|
* Constructs a Restate Cloud environment reference along with invoker. Note that this construct is only a pointer to
|
|
29
|
-
* an existing Restate Cloud environment and does not create it.
|
|
30
|
-
*
|
|
31
|
-
* override the {@link createInvokerRole} method or construct one yourself and define the environment properties with
|
|
32
|
-
* {@link RestateEnvironment.fromAttributes} directly.
|
|
40
|
+
* an existing Restate Cloud environment and does not create it. Unless the `invokerRole` property is specified, it
|
|
41
|
+
* does create a new role that can be assumed by Restate Cloud, which is used to the service handlers.
|
|
33
42
|
*
|
|
34
43
|
* @param scope parent construct
|
|
35
44
|
* @param id construct id
|
|
@@ -45,3 +54,4 @@ export declare class RestateCloudEnvironment extends Construct implements IResta
|
|
|
45
54
|
protected createInvokerRole(scope: Construct, props: RestateCloudEnvironmentProps): iam.IRole;
|
|
46
55
|
}
|
|
47
56
|
export type EnvironmentId = `env_${string}`;
|
|
57
|
+
export type RestateCloudRegion = "us" | "eu";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* Copyright (c)
|
|
3
|
+
* Copyright (c) 2023-2025 - Restate Software, Inc., Restate GmbH
|
|
4
4
|
*
|
|
5
|
-
* This file is part of the Restate
|
|
5
|
+
* This file is part of the Restate CDK Construct Library,
|
|
6
6
|
* which is released under the MIT license.
|
|
7
7
|
*
|
|
8
8
|
* You can find a copy of the license in file LICENSE in the root
|
|
@@ -25,13 +25,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
25
25
|
}) : function(o, v) {
|
|
26
26
|
o["default"] = v;
|
|
27
27
|
});
|
|
28
|
-
var __importStar = (this && this.__importStar) || function (
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
};
|
|
28
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
29
|
+
var ownKeys = function(o) {
|
|
30
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
31
|
+
var ar = [];
|
|
32
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
33
|
+
return ar;
|
|
34
|
+
};
|
|
35
|
+
return ownKeys(o);
|
|
36
|
+
};
|
|
37
|
+
return function (mod) {
|
|
38
|
+
if (mod && mod.__esModule) return mod;
|
|
39
|
+
var result = {};
|
|
40
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
41
|
+
__setModuleDefault(result, mod);
|
|
42
|
+
return result;
|
|
43
|
+
};
|
|
44
|
+
})();
|
|
35
45
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
46
|
exports.RestateCloudEnvironment = void 0;
|
|
37
47
|
const iam = __importStar(require("aws-cdk-lib/aws-iam"));
|
|
@@ -43,10 +53,8 @@ const constructs_1 = require("constructs");
|
|
|
43
53
|
class RestateCloudEnvironment extends constructs_1.Construct {
|
|
44
54
|
/**
|
|
45
55
|
* Constructs a Restate Cloud environment reference along with invoker. Note that this construct is only a pointer to
|
|
46
|
-
* an existing Restate Cloud environment and does not create it.
|
|
47
|
-
*
|
|
48
|
-
* override the {@link createInvokerRole} method or construct one yourself and define the environment properties with
|
|
49
|
-
* {@link RestateEnvironment.fromAttributes} directly.
|
|
56
|
+
* an existing Restate Cloud environment and does not create it. Unless the `invokerRole` property is specified, it
|
|
57
|
+
* does create a new role that can be assumed by Restate Cloud, which is used to the service handlers.
|
|
50
58
|
*
|
|
51
59
|
* @param scope parent construct
|
|
52
60
|
* @param id construct id
|
|
@@ -55,10 +63,12 @@ class RestateCloudEnvironment extends constructs_1.Construct {
|
|
|
55
63
|
*/
|
|
56
64
|
constructor(scope, id, props) {
|
|
57
65
|
super(scope, id);
|
|
58
|
-
this.
|
|
66
|
+
this.environmentId = props.environmentId;
|
|
67
|
+
this.region = props.region ?? RESTATE_CLOUD_REGION_US;
|
|
68
|
+
this.invokerRole = props.invokerRole ?? this.createInvokerRole(this, props);
|
|
59
69
|
this.authToken = props.apiKey;
|
|
60
|
-
this.adminUrl = adminEndpoint(
|
|
61
|
-
this.ingressUrl = ingressEndpoint(
|
|
70
|
+
this.adminUrl = adminEndpoint(this.region, props.environmentId);
|
|
71
|
+
this.ingressUrl = ingressEndpoint(this.region, props.environmentId);
|
|
62
72
|
}
|
|
63
73
|
/**
|
|
64
74
|
* This role is used by Restate to invoke Lambda service handlers; see https://docs.restate.dev/deploy/cloud for
|
|
@@ -67,10 +77,10 @@ class RestateCloudEnvironment extends constructs_1.Construct {
|
|
|
67
77
|
*/
|
|
68
78
|
createInvokerRole(scope, props) {
|
|
69
79
|
const invokerRole = new iam.Role(scope, "InvokerRole", {
|
|
70
|
-
assumedBy: new iam.AccountPrincipal(CONFIG[
|
|
80
|
+
assumedBy: new iam.AccountPrincipal(CONFIG[this.region].accountId).withConditions({
|
|
71
81
|
StringEquals: {
|
|
72
82
|
"sts:ExternalId": props.environmentId,
|
|
73
|
-
"aws:PrincipalArn": CONFIG[
|
|
83
|
+
"aws:PrincipalArn": CONFIG[this.region].principalArn,
|
|
74
84
|
},
|
|
75
85
|
}),
|
|
76
86
|
});
|
|
@@ -96,5 +106,9 @@ const CONFIG = {
|
|
|
96
106
|
accountId: "654654156625",
|
|
97
107
|
principalArn: "arn:aws:iam::654654156625:role/RestateCloud",
|
|
98
108
|
},
|
|
109
|
+
eu: {
|
|
110
|
+
accountId: "654654156625",
|
|
111
|
+
principalArn: "arn:aws:iam::654654156625:role/RestateCloud",
|
|
112
|
+
},
|
|
99
113
|
};
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdGF0ZS1jbG91ZC1lbnZpcm9ubWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2xpYi9yZXN0YXRlLWNvbnN0cnVjdHMvcmVzdGF0ZS1jbG91ZC1lbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7OztHQVNHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCx5REFBMkM7QUFFM0MsMkNBQXVDO0FBOEJ2Qzs7O0dBR0c7QUFDSCxNQUFhLHVCQUF3QixTQUFRLHNCQUFTO0lBUXBEOzs7Ozs7Ozs7T0FTRztJQUNILFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBbUM7UUFDM0UsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFDekMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxJQUFJLHVCQUF1QixDQUFDO1FBQ3RELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsVUFBVSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNPLGlCQUFpQixDQUFDLEtBQWdCLEVBQUUsS0FBbUM7UUFDL0UsTUFBTSxXQUFXLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUU7WUFDckQsU0FBUyxFQUFFLElBQUksR0FBRyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsY0FBYyxDQUFDO2dCQUNoRixZQUFZLEVBQUU7b0JBQ1osZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGFBQWE7b0JBQ3JDLGtCQUFrQixFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWTtpQkFDckQ7YUFDRixDQUFDO1NBQ0gsQ0FBQyxDQUFDO1FBQ0gsV0FBVyxDQUFDLGdCQUFpQixDQUFDLGFBQWEsQ0FDekMsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO1lBQ3RCLFVBQVUsRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ3RELE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO1NBQzVCLENBQUMsQ0FDSCxDQUFDO1FBQ0YsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztDQUNGO0FBbERELDBEQWtEQztBQUVELFNBQVMsYUFBYSxDQUFDLE1BQTBCLEVBQUUsYUFBNEI7SUFDN0UsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDckQsT0FBTyxXQUFXLFNBQVMsUUFBUSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pFLENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxNQUEwQixFQUFFLGFBQTRCO0lBQy9FLE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELE9BQU8sV0FBVyxTQUFTLFFBQVEsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxDQUFDO0FBVUQsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLENBQUM7QUFFckMsTUFBTSxNQUFNLEdBQUc7SUFDYixFQUFFLEVBQUU7UUFDRixTQUFTLEVBQUUsY0FBYztRQUN6QixZQUFZLEVBQUUsNkNBQTZDO0tBQzVEO0lBQ0QsRUFBRSxFQUFFO1FBQ0YsU0FBUyxFQUFFLGNBQWM7UUFDekIsWUFBWSxFQUFFLDZDQUE2QztLQUM1RDtDQUMwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyMy0yMDI1IC0gUmVzdGF0ZSBTb2Z0d2FyZSwgSW5jLiwgUmVzdGF0ZSBHbWJIXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFJlc3RhdGUgQ0RLIENvbnN0cnVjdCBMaWJyYXJ5LFxuICogd2hpY2ggaXMgcmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuICpcbiAqIFlvdSBjYW4gZmluZCBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgaW4gZmlsZSBMSUNFTlNFIGluIHRoZSByb290XG4gKiBkaXJlY3Rvcnkgb2YgdGhpcyByZXBvc2l0b3J5IG9yIHBhY2thZ2UsIG9yIGF0XG4gKiBodHRwczovL2dpdGh1Yi5jb20vcmVzdGF0ZWRldi9zZGstdHlwZXNjcmlwdC9ibG9iL21haW4vTElDRU5TRVxuICovXG5cbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuaW1wb3J0ICogYXMgc2VjcmV0cyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNlY3JldHNtYW5hZ2VyXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgSVJlc3RhdGVFbnZpcm9ubWVudCB9IGZyb20gXCIuL3Jlc3RhdGUtZW52aXJvbm1lbnRcIjtcbmltcG9ydCB7IFNlcnZpY2VEZXBsb3llciB9IGZyb20gXCIuL3NlcnZpY2UtZGVwbG95ZXJcIjtcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBhIFJlc3RhdGUgQ2xvdWQgZW52aXJvbm1lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzdGF0ZUNsb3VkRW52aXJvbm1lbnRQcm9wcyB7XG4gIC8qKlxuICAgKiBVbmlxdWUgaWQgb2YgdGhlIGVudmlyb25tZW50IChpbmNsdWRpbmcgdGhlIGBlbnZfYCBwcmVmaXgpLlxuICAgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnRJZDogRW52aXJvbm1lbnRJZDtcblxuICAvKipcbiAgICogQVBJIGtleSB3aXRoIGFkbWluaXN0cmF0aXZlIHBlcm1pc3Npb25zLiBVc2VkIHRvIG1hbmFnZSBzZXJ2aWNlcyB0byB0aGUgZW52aXJvbm1lbnQsIHNlZSB7QGxpbmsgU2VydmljZURlcGxveWVyfS5cbiAgICovXG4gIHJlYWRvbmx5IGFwaUtleTogc2VjcmV0cy5JU2VjcmV0O1xuXG4gIC8qKlxuICAgKiBSZWdpb24gb2YgdGhlIGVudmlyb25tZW50LiBEZWZhdWx0cyB0byBgdXNgLiBWYWxpZCB2YWx1ZXM6IFtgdXNgLCBgZXVgXS5cbiAgICovXG4gIHJlYWRvbmx5IHJlZ2lvbj86IFJlc3RhdGVDbG91ZFJlZ2lvbjtcblxuICAvKipcbiAgICogSW52b2tlciByb2xlIHRoYXQgY2FuIGJlIGFzc3VtZWQgYnkgUmVzdGF0ZSBDbG91ZC4gSWYgeW91IHVzZSB7QGxpbmsgU2VydmljZURlcGxveWVyfSB0byByZWdpc3RlciBMYW1iZGEgZnVuY3Rpb25zXG4gICAqIGFzIGhhbmRsZXJzLCB0aGUgbmVjZXNzYXJ5IGludm9rZSBwZXJtaXNzaW9ucyB3aWxsIGJlIGdyYW50ZWQgYXV0b21hdGljYWxseS5cbiAgICovXG4gIHJlYWRvbmx5IGludm9rZXJSb2xlPzogaWFtLklSb2xlO1xufVxuXG4vKipcbiAqIEEgZGlzdGluY3QgUmVzdGF0ZSBDbG91ZCBlbnZpcm9ubWVudCByZWZlcmVuY2UuIFRoaXMgaXMgYSBjb252ZW5pZW5jZSB1dGlsaXR5IGZvciBkZXBsb3lpbmcgdG8gdGhlXG4gKiBbUmVzdGF0ZSBDbG91ZF0oaHR0cHM6Ly9jbG91ZC5yZXN0YXRlLmRldi8pIGhvc3RlZCBzZXJ2aWNlLlxuICovXG5leHBvcnQgY2xhc3MgUmVzdGF0ZUNsb3VkRW52aXJvbm1lbnQgZXh0ZW5kcyBDb25zdHJ1Y3QgaW1wbGVtZW50cyBJUmVzdGF0ZUVudmlyb25tZW50IHtcbiAgcmVhZG9ubHkgZW52aXJvbm1lbnRJZDogRW52aXJvbm1lbnRJZDtcbiAgcmVhZG9ubHkgYWRtaW5Vcmw6IHN0cmluZztcbiAgcmVhZG9ubHkgaW5ncmVzc1VybDogc3RyaW5nO1xuICByZWFkb25seSBhdXRoVG9rZW46IHNlY3JldHMuSVNlY3JldDtcbiAgcmVhZG9ubHkgaW52b2tlclJvbGU6IGlhbS5JUm9sZTtcbiAgcmVhZG9ubHkgcmVnaW9uOiBSZXN0YXRlQ2xvdWRSZWdpb247XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdHMgYSBSZXN0YXRlIENsb3VkIGVudmlyb25tZW50IHJlZmVyZW5jZSBhbG9uZyB3aXRoIGludm9rZXIuIE5vdGUgdGhhdCB0aGlzIGNvbnN0cnVjdCBpcyBvbmx5IGEgcG9pbnRlciB0b1xuICAgKiBhbiBleGlzdGluZyBSZXN0YXRlIENsb3VkIGVudmlyb25tZW50IGFuZCBkb2VzIG5vdCBjcmVhdGUgaXQuIFVubGVzcyB0aGUgYGludm9rZXJSb2xlYCBwcm9wZXJ0eSBpcyBzcGVjaWZpZWQsIGl0XG4gICAqIGRvZXMgY3JlYXRlIGEgbmV3IHJvbGUgdGhhdCBjYW4gYmUgYXNzdW1lZCBieSBSZXN0YXRlIENsb3VkLCB3aGljaCBpcyB1c2VkIHRvIHRoZSBzZXJ2aWNlIGhhbmRsZXJzLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgcGFyZW50IGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gaWQgY29uc3RydWN0IGlkXG4gICAqIEBwYXJhbSBwcm9wcyBlbnZpcm9ubWVudCBwcm9wZXJ0aWVzXG4gICAqIEByZXR1cm5zIFJlc3RhdGUgQ2xvdWQgZW52aXJvbm1lbnRcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSZXN0YXRlQ2xvdWRFbnZpcm9ubWVudFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICB0aGlzLmVudmlyb25tZW50SWQgPSBwcm9wcy5lbnZpcm9ubWVudElkO1xuICAgIHRoaXMucmVnaW9uID0gcHJvcHMucmVnaW9uID8/IFJFU1RBVEVfQ0xPVURfUkVHSU9OX1VTO1xuICAgIHRoaXMuaW52b2tlclJvbGUgPSBwcm9wcy5pbnZva2VyUm9sZSA/PyB0aGlzLmNyZWF0ZUludm9rZXJSb2xlKHRoaXMsIHByb3BzKTtcbiAgICB0aGlzLmF1dGhUb2tlbiA9IHByb3BzLmFwaUtleTtcbiAgICB0aGlzLmFkbWluVXJsID0gYWRtaW5FbmRwb2ludCh0aGlzLnJlZ2lvbiwgcHJvcHMuZW52aXJvbm1lbnRJZCk7XG4gICAgdGhpcy5pbmdyZXNzVXJsID0gaW5ncmVzc0VuZHBvaW50KHRoaXMucmVnaW9uLCBwcm9wcy5lbnZpcm9ubWVudElkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIHJvbGUgaXMgdXNlZCBieSBSZXN0YXRlIHRvIGludm9rZSBMYW1iZGEgc2VydmljZSBoYW5kbGVyczsgc2VlIGh0dHBzOi8vZG9jcy5yZXN0YXRlLmRldi9kZXBsb3kvY2xvdWQgZm9yXG4gICAqIGluZm9ybWF0aW9uIG9uIGRlcGxveWluZyBzZXJ2aWNlcyB0byBSZXN0YXRlIENsb3VkIGVudmlyb25tZW50cy4gRm9yIHN0YW5kYWxvbmUgZW52aXJvbm1lbnRzLCB0aGUgRUMyIGluc3RhbmNlXG4gICAqIHByb2ZpbGUgY2FuIGJlIHVzZWQgZGlyZWN0bHkgaW5zdGVhZCBvZiBjcmVhdGluZyBhIHNlcGFyYXRlIHJvbGUuXG4gICAqL1xuICBwcm90ZWN0ZWQgY3JlYXRlSW52b2tlclJvbGUoc2NvcGU6IENvbnN0cnVjdCwgcHJvcHM6IFJlc3RhdGVDbG91ZEVudmlyb25tZW50UHJvcHMpOiBpYW0uSVJvbGUge1xuICAgIGNvbnN0IGludm9rZXJSb2xlID0gbmV3IGlhbS5Sb2xlKHNjb3BlLCBcIkludm9rZXJSb2xlXCIsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5BY2NvdW50UHJpbmNpcGFsKENPTkZJR1t0aGlzLnJlZ2lvbl0uYWNjb3VudElkKS53aXRoQ29uZGl0aW9ucyh7XG4gICAgICAgIFN0cmluZ0VxdWFsczoge1xuICAgICAgICAgIFwic3RzOkV4dGVybmFsSWRcIjogcHJvcHMuZW52aXJvbm1lbnRJZCxcbiAgICAgICAgICBcImF3czpQcmluY2lwYWxBcm5cIjogQ09ORklHW3RoaXMucmVnaW9uXS5wcmluY2lwYWxBcm4sXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICB9KTtcbiAgICBpbnZva2VyUm9sZS5hc3N1bWVSb2xlUG9saWN5IS5hZGRTdGF0ZW1lbnRzKFxuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBwcmluY2lwYWxzOiBbbmV3IGlhbS5BY2NvdW50UHJpbmNpcGFsKFwiNjU0NjU0MTU2NjI1XCIpXSxcbiAgICAgICAgYWN0aW9uczogW1wic3RzOlRhZ1Nlc3Npb25cIl0sXG4gICAgICB9KSxcbiAgICApO1xuICAgIHJldHVybiBpbnZva2VyUm9sZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBhZG1pbkVuZHBvaW50KHJlZ2lvbjogUmVzdGF0ZUNsb3VkUmVnaW9uLCBlbnZpcm9ubWVudElkOiBFbnZpcm9ubWVudElkKTogc3RyaW5nIHtcbiAgY29uc3QgYmFyZUVudklkID0gZW52aXJvbm1lbnRJZC5yZXBsYWNlKC9eZW52Xy8sIFwiXCIpO1xuICByZXR1cm4gYGh0dHBzOi8vJHtiYXJlRW52SWR9LmVudi4ke3JlZ2lvbn0ucmVzdGF0ZS5jbG91ZDo5MDcwYDtcbn1cblxuZnVuY3Rpb24gaW5ncmVzc0VuZHBvaW50KHJlZ2lvbjogUmVzdGF0ZUNsb3VkUmVnaW9uLCBlbnZpcm9ubWVudElkOiBFbnZpcm9ubWVudElkKTogc3RyaW5nIHtcbiAgY29uc3QgYmFyZUVudklkID0gZW52aXJvbm1lbnRJZC5yZXBsYWNlKC9eZW52Xy8sIFwiXCIpO1xuICByZXR1cm4gYGh0dHBzOi8vJHtiYXJlRW52SWR9LmVudi4ke3JlZ2lvbn0ucmVzdGF0ZS5jbG91ZGA7XG59XG5cbmV4cG9ydCB0eXBlIEVudmlyb25tZW50SWQgPSBgZW52XyR7c3RyaW5nfWA7XG5leHBvcnQgdHlwZSBSZXN0YXRlQ2xvdWRSZWdpb24gPSBcInVzXCIgfCBcImV1XCI7XG5cbmludGVyZmFjZSBSZWdpb25Db25maWcge1xuICBhY2NvdW50SWQ6IHN0cmluZztcbiAgcHJpbmNpcGFsQXJuOiBzdHJpbmc7XG59XG5cbmNvbnN0IFJFU1RBVEVfQ0xPVURfUkVHSU9OX1VTID0gXCJ1c1wiO1xuXG5jb25zdCBDT05GSUcgPSB7XG4gIHVzOiB7XG4gICAgYWNjb3VudElkOiBcIjY1NDY1NDE1NjYyNVwiLFxuICAgIHByaW5jaXBhbEFybjogXCJhcm46YXdzOmlhbTo6NjU0NjU0MTU2NjI1OnJvbGUvUmVzdGF0ZUNsb3VkXCIsXG4gIH0sXG4gIGV1OiB7XG4gICAgYWNjb3VudElkOiBcIjY1NDY1NDE1NjYyNVwiLFxuICAgIHByaW5jaXBhbEFybjogXCJhcm46YXdzOmlhbTo6NjU0NjU0MTU2NjI1OnJvbGUvUmVzdGF0ZUNsb3VkXCIsXG4gIH0sXG59IGFzIFJlY29yZDxSZXN0YXRlQ2xvdWRSZWdpb24sIFJlZ2lvbkNvbmZpZz47XG4iXX0=
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as iam from "aws-cdk-lib/aws-iam";
|
|
2
2
|
import * as secrets from "aws-cdk-lib/aws-secretsmanager";
|
|
3
3
|
import { FunctionOptions } from "aws-cdk-lib/aws-lambda";
|
|
4
|
-
import { ServiceDeployer } from "./service-deployer";
|
|
5
4
|
/**
|
|
6
5
|
* A Restate environment is a unique deployment of the Restate service. Implementations of this interface may refer to
|
|
7
6
|
* cloud or self-managed environments.
|
|
@@ -31,7 +30,6 @@ export declare class RestateEnvironment implements IRestateEnvironment {
|
|
|
31
30
|
readonly adminUrl: string;
|
|
32
31
|
readonly authToken?: secrets.ISecret;
|
|
33
32
|
readonly invokerRole?: iam.IRole;
|
|
34
|
-
readonly serviceDeployer: ServiceDeployer;
|
|
35
33
|
private constructor();
|
|
36
34
|
static fromAttributes(props: IRestateEnvironment): IRestateEnvironment;
|
|
37
35
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* Copyright (c)
|
|
3
|
+
* Copyright (c) 2023-2025 - Restate Software, Inc., Restate GmbH
|
|
4
4
|
*
|
|
5
|
-
* This file is part of the Restate
|
|
5
|
+
* This file is part of the Restate CDK Construct Library,
|
|
6
6
|
* which is released under the MIT license.
|
|
7
7
|
*
|
|
8
8
|
* You can find a copy of the license in file LICENSE in the root
|
|
@@ -27,4 +27,4 @@ class RestateEnvironment {
|
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
exports.RestateEnvironment = RestateEnvironment;
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdGF0ZS1lbnZpcm9ubWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2xpYi9yZXN0YXRlLWNvbnN0cnVjdHMvcmVzdGF0ZS1lbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7OztHQVNHOzs7QUErQkg7Ozs7R0FJRztBQUNILE1BQWEsa0JBQWtCO0lBSzdCLFlBQW9CLEtBQTBCO1FBQzVDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO0lBQ25DLENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQTBCO1FBQzlDLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0NBQ0Y7QUFkRCxnREFjQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjMtMjAyNSAtIFJlc3RhdGUgU29mdHdhcmUsIEluYy4sIFJlc3RhdGUgR21iSFxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBSZXN0YXRlIENESyBDb25zdHJ1Y3QgTGlicmFyeSxcbiAqIHdoaWNoIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqXG4gKiBZb3UgY2FuIGZpbmQgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGluIGZpbGUgTElDRU5TRSBpbiB0aGUgcm9vdFxuICogZGlyZWN0b3J5IG9mIHRoaXMgcmVwb3NpdG9yeSBvciBwYWNrYWdlLCBvciBhdFxuICogaHR0cHM6Ly9naXRodWIuY29tL3Jlc3RhdGVkZXYvc2RrLXR5cGVzY3JpcHQvYmxvYi9tYWluL0xJQ0VOU0VcbiAqL1xuXG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCAqIGFzIHNlY3JldHMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1zZWNyZXRzbWFuYWdlclwiO1xuaW1wb3J0IHsgRnVuY3Rpb25PcHRpb25zIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIjtcbmltcG9ydCB7IFNpbmdsZU5vZGVSZXN0YXRlRGVwbG95bWVudCB9IGZyb20gXCIuL3NpbmdsZS1ub2RlLXJlc3RhdGUtZGVwbG95bWVudFwiO1xuaW1wb3J0IHsgUmVzdGF0ZUNsb3VkRW52aXJvbm1lbnQgfSBmcm9tIFwiLi9yZXN0YXRlLWNsb3VkLWVudmlyb25tZW50XCI7XG5cbi8qKlxuICogQSBSZXN0YXRlIGVudmlyb25tZW50IGlzIGEgdW5pcXVlIGRlcGxveW1lbnQgb2YgdGhlIFJlc3RhdGUgc2VydmljZS4gSW1wbGVtZW50YXRpb25zIG9mIHRoaXMgaW50ZXJmYWNlIG1heSByZWZlciB0b1xuICogY2xvdWQgb3Igc2VsZi1tYW5hZ2VkIGVudmlyb25tZW50cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUmVzdGF0ZUVudmlyb25tZW50IGV4dGVuZHMgUGljazxGdW5jdGlvbk9wdGlvbnMsIFwidnBjXCIgfCBcInZwY1N1Ym5ldHNcIiB8IFwic2VjdXJpdHlHcm91cHNcIj4ge1xuICAvKipcbiAgICogVGhlIGV4dGVybmFsIGludm9rZXIgcm9sZSB0aGF0IFJlc3RhdGUgY2FuIGFzc3VtZSB0byBleGVjdXRlIHNlcnZpY2UgaGFuZGxlcnMuIElmIGxlZnQgdW5zZXQsIGl0J3MgYXNzdW1lZCB0aGF0XG4gICAqIHRoZSBSZXN0YXRlIGRlcGxveW1lbnQgaGFzIHN1ZmZpY2llbnQgcGVybWlzc2lvbnMgdG8gaW52b2tlIHRoZSBzZXJ2aWNlIGhhbmRsZXJzIGRpcmVjdGx5LiBTZXR0aW5nIHRoaXMgcm9sZSBhbGxvd3NcbiAgICogdGhlIGNvbnN0cnVjdHMgdG8gZW5zdXJlIGFwcHJvcHJpYXRlIHBlcm1pc3Npb25zIGFyZSBncmFudGVkIHRvIGFueSBkZXBsb3llZCBzZXJ2aWNlIGhhbmRsZXJzLlxuICAgKi9cbiAgcmVhZG9ubHkgaW52b2tlclJvbGU/OiBpYW0uSVJvbGU7XG5cbiAgLyoqXG4gICAqIFRoZSBhZG1pbiBlbmRwb2ludCBvZiB0aGUgUmVzdGF0ZSBlbnZpcm9ubWVudCB3aGVyZSBzZXJ2aWNlcyB3aWxsIGJlIGRlcGxveWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYWRtaW5Vcmw6IHN0cmluZztcblxuICAvKipcbiAgICogQXV0aGVudGljYXRpb24gdG9rZW4gdG8gaW5jbHVkZSBhcyBhIGJlYXJlciB0b2tlbiBpbiByZXF1ZXN0cyB0byB0aGUgYWRtaW4gZW5kcG9pbnQuXG4gICAqL1xuICByZWFkb25seSBhdXRoVG9rZW4/OiBzZWNyZXRzLklTZWNyZXQ7XG59XG5cbi8qKlxuICogQSByZWZlcmVuY2UgdG8gYSBSZXN0YXRlIEVudmlyb25tZW50IHRoYXQgY2FuIGJlIHVzZWQgYXMgYSB0YXJnZXQgZm9yIGRlcGxveWluZyBzZXJ2aWNlcy4gVXNlIHtAbGluayBmcm9tQXR0cmlidXRlc31cbiAqIHRvIGluc3RhbnRpYXRlIGFuIGFyYml0cmFyeSBwb2ludGVyIHRvIGFuIGV4aXN0aW5nIGVudmlyb25tZW50LCBvciBvbmUgb2YgdGhlIHtAbGluayBTaW5nbGVOb2RlUmVzdGF0ZURlcGxveW1lbnR9IG9yXG4gKiB7QGxpbmsgUmVzdGF0ZUNsb3VkRW52aXJvbm1lbnR9IGNvbnZlbmllbmNlIGNsYXNzZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBSZXN0YXRlRW52aXJvbm1lbnQgaW1wbGVtZW50cyBJUmVzdGF0ZUVudmlyb25tZW50IHtcbiAgcmVhZG9ubHkgYWRtaW5Vcmw6IHN0cmluZztcbiAgcmVhZG9ubHkgYXV0aFRva2VuPzogc2VjcmV0cy5JU2VjcmV0O1xuICByZWFkb25seSBpbnZva2VyUm9sZT86IGlhbS5JUm9sZTtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKHByb3BzOiBJUmVzdGF0ZUVudmlyb25tZW50KSB7XG4gICAgdGhpcy5hZG1pblVybCA9IHByb3BzLmFkbWluVXJsO1xuICAgIHRoaXMuaW52b2tlclJvbGUgPSBwcm9wcy5pbnZva2VyUm9sZTtcbiAgICB0aGlzLmF1dGhUb2tlbiA9IHByb3BzLmF1dGhUb2tlbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQXR0cmlidXRlcyhwcm9wczogSVJlc3RhdGVFbnZpcm9ubWVudCk6IElSZXN0YXRlRW52aXJvbm1lbnQge1xuICAgIHJldHVybiBuZXcgUmVzdGF0ZUVudmlyb25tZW50KHByb3BzKTtcbiAgfVxufVxuIl19
|
|
@@ -58,13 +58,14 @@ export interface ServiceRegistrationProps {
|
|
|
58
58
|
export declare class ServiceDeployer extends Construct {
|
|
59
59
|
/** The custom resource provider for handling "deployment" resources. */
|
|
60
60
|
readonly deploymentResourceProvider: cr.Provider;
|
|
61
|
+
readonly eventHandler: lambda_node.NodejsFunction;
|
|
61
62
|
private invocationPolicy?;
|
|
62
63
|
constructor(scope: Construct, id: string,
|
|
63
64
|
/**
|
|
64
65
|
* Allows the custom resource event handler properties to be overridden. The main use case for this is specifying
|
|
65
66
|
* VPC and security group settings for Restate environments that require it.
|
|
66
67
|
*/
|
|
67
|
-
props?: Pick<
|
|
68
|
+
props?: Pick<lambda_node.NodejsFunctionProps, "allowPublicSubnet" | "architecture" | "runtime" | "bundling" | "depsLockFilePath" | "code" | "entry" | "functionName" | "logGroup" | "securityGroups" | "timeout" | "vpc" | "vpcSubnets"> & Pick<logs.LogGroupProps, "removalPolicy">);
|
|
68
69
|
/**
|
|
69
70
|
* Deploy a Lambda-backed Restate handler to a given environment.
|
|
70
71
|
*
|
package/dist/service-deployer.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* Copyright (c) 2023-
|
|
3
|
+
* Copyright (c) 2023-2025 - Restate Software, Inc., Restate GmbH
|
|
4
4
|
*
|
|
5
|
-
* This file is part of the Restate
|
|
5
|
+
* This file is part of the Restate CDK Construct Library,
|
|
6
6
|
* which is released under the MIT license.
|
|
7
7
|
*
|
|
8
8
|
* You can find a copy of the license in file LICENSE in the root
|
|
@@ -25,13 +25,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
25
25
|
}) : function(o, v) {
|
|
26
26
|
o["default"] = v;
|
|
27
27
|
});
|
|
28
|
-
var __importStar = (this && this.__importStar) || function (
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
};
|
|
28
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
29
|
+
var ownKeys = function(o) {
|
|
30
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
31
|
+
var ar = [];
|
|
32
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
33
|
+
return ar;
|
|
34
|
+
};
|
|
35
|
+
return ownKeys(o);
|
|
36
|
+
};
|
|
37
|
+
return function (mod) {
|
|
38
|
+
if (mod && mod.__esModule) return mod;
|
|
39
|
+
var result = {};
|
|
40
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
41
|
+
__setModuleDefault(result, mod);
|
|
42
|
+
return result;
|
|
43
|
+
};
|
|
44
|
+
})();
|
|
35
45
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
46
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
47
|
};
|
|
@@ -67,22 +77,26 @@ class ServiceDeployer extends constructs_1.Construct {
|
|
|
67
77
|
*/
|
|
68
78
|
props) {
|
|
69
79
|
super(scope, id);
|
|
70
|
-
|
|
80
|
+
this.eventHandler = new lambda_node.NodejsFunction(this, "EventHandler", {
|
|
71
81
|
functionName: props?.functionName,
|
|
72
82
|
logGroup: props?.logGroup,
|
|
73
83
|
description: "Restate custom registration handler",
|
|
74
84
|
entry: props?.entry ?? node_path_1.default.join(__dirname, "register-service-handler/index.js"),
|
|
75
|
-
architecture: lambda.Architecture.ARM_64,
|
|
76
|
-
runtime: lambda.Runtime.
|
|
85
|
+
architecture: props?.architecture ?? lambda.Architecture.ARM_64,
|
|
86
|
+
runtime: props?.runtime ?? lambda.Runtime.NODEJS_22_X,
|
|
77
87
|
memorySize: 128,
|
|
78
88
|
timeout: props?.timeout ?? DEFAULT_TIMEOUT,
|
|
79
89
|
environment: {
|
|
80
90
|
NODE_OPTIONS: "--enable-source-maps",
|
|
81
91
|
},
|
|
82
|
-
bundling: {
|
|
92
|
+
bundling: props?.bundling ?? {
|
|
83
93
|
minify: false,
|
|
84
94
|
sourceMap: true,
|
|
95
|
+
externalModules: ["@aws-sdk/*"],
|
|
96
|
+
platform: "node",
|
|
97
|
+
target: "node22",
|
|
85
98
|
},
|
|
99
|
+
depsLockFilePath: props?.depsLockFilePath,
|
|
86
100
|
...(props?.vpc
|
|
87
101
|
? {
|
|
88
102
|
vpc: props?.vpc,
|
|
@@ -95,12 +109,14 @@ class ServiceDeployer extends constructs_1.Construct {
|
|
|
95
109
|
if (!props?.logGroup) {
|
|
96
110
|
// By default, Lambda Functions have a log group with never-expiring retention policy.
|
|
97
111
|
new logs.LogGroup(this, "DeploymentLogs", {
|
|
98
|
-
logGroupName: `/aws/lambda/${eventHandler.functionName}`,
|
|
112
|
+
logGroupName: `/aws/lambda/${this.eventHandler.functionName}`,
|
|
99
113
|
retention: logs.RetentionDays.ONE_MONTH,
|
|
100
|
-
removalPolicy: cdk.RemovalPolicy.RETAIN_ON_UPDATE_OR_DELETE,
|
|
114
|
+
removalPolicy: props?.removalPolicy ?? cdk.RemovalPolicy.RETAIN_ON_UPDATE_OR_DELETE,
|
|
101
115
|
});
|
|
102
116
|
}
|
|
103
|
-
this.deploymentResourceProvider = new cr.Provider(this, "CustomResourceProvider", {
|
|
117
|
+
this.deploymentResourceProvider = new cr.Provider(this, "CustomResourceProvider", {
|
|
118
|
+
onEventHandler: this.eventHandler,
|
|
119
|
+
});
|
|
104
120
|
}
|
|
105
121
|
/**
|
|
106
122
|
* Deploy a Lambda-backed Restate handler to a given environment.
|
|
@@ -148,7 +164,7 @@ class ServiceDeployer extends constructs_1.Construct {
|
|
|
148
164
|
authTokenSecretArn: authToken?.secretArn,
|
|
149
165
|
serviceLambdaArn: handler.functionArn,
|
|
150
166
|
invokeRoleArn: environment.invokerRole?.roleArn,
|
|
151
|
-
removalPolicy:
|
|
167
|
+
// removalPolicy: "retain",
|
|
152
168
|
private: (options?.private ?? false).toString(),
|
|
153
169
|
configurationVersion: options?.configurationVersion || handler.functionArn.endsWith(":$LATEST")
|
|
154
170
|
? new Date().toISOString()
|
|
@@ -176,4 +192,4 @@ class ServiceDeployer extends constructs_1.Construct {
|
|
|
176
192
|
}
|
|
177
193
|
}
|
|
178
194
|
exports.ServiceDeployer = ServiceDeployer;
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1kZXBsb3llci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2xpYi9yZXN0YXRlLWNvbnN0cnVjdHMvc2VydmljZS1kZXBsb3llci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7OztHQVNHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVILDBEQUE2QjtBQUM3QiwyQ0FBdUM7QUFDdkMsaURBQW1DO0FBQ25DLGlFQUFtRDtBQUNuRCx5REFBMkM7QUFDM0MsK0RBQWlEO0FBQ2pELDJFQUE2RDtBQUM3RCwyREFBNkM7QUFLN0MsTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7QUE2Q2xEOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQWEsZUFBZ0IsU0FBUSxzQkFBUztJQU01QyxZQUNFLEtBQWdCLEVBQ2hCLEVBQVU7SUFDVjs7O09BR0c7SUFDSCxLQUsyQztRQUUzQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sWUFBWSxHQUFHLElBQUksV0FBVyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFO1lBQ3hFLFlBQVksRUFBRSxLQUFLLEVBQUUsWUFBWTtZQUNqQyxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVE7WUFDekIsV0FBVyxFQUFFLHFDQUFxQztZQUNsRCxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssSUFBSSxtQkFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsbUNBQW1DLENBQUM7WUFDaEYsWUFBWSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTTtZQUN4QyxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhO1lBQ3JDLFVBQVUsRUFBRSxHQUFHO1lBQ2YsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLElBQUksZUFBZTtZQUMxQyxXQUFXLEVBQUU7Z0JBQ1gsWUFBWSxF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RUFBRSxRQUFRLElBQUksS0FBSyxDQUFDLENBQUMsUUFBUSxFQUFzQjthQUNyQztTQUNuQyxDQUFDLENBQUM7UUFFSCxJQUFJLFdBQVcsQ0FBQyxXQUFXLElBQUksQ0FBQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQztZQUNqRSxrSEFBa0g7WUFDbEgsZ0dBQWdHO1lBQ2hHLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztnQkFDakUsK0dBQStHO2dCQUMvRyxpSEFBaUg7Z0JBQ2pILGtIQUFrSDtnQkFDbEgsNkdBQTZHO2dCQUM3RyxVQUFVLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztnQkFDckQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDOUQsQ0FBQztZQUNELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQ2pDLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztnQkFDdEIsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7Z0JBQ2xDLFNBQVMsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLDBCQUEwQjthQUNyRCxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFySkQsMENBcUpDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyMy0yMDI0IC0gUmVzdGF0ZSBTb2Z0d2FyZSwgSW5jLiwgUmVzdGF0ZSBHbWJIXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFJlc3RhdGUgU0RLIGZvciBOb2RlLmpzL1R5cGVTY3JpcHQsXG4gKiB3aGljaCBpcyByZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4gKlxuICogWW91IGNhbiBmaW5kIGEgY29weSBvZiB0aGUgbGljZW5zZSBpbiBmaWxlIExJQ0VOU0UgaW4gdGhlIHJvb3RcbiAqIGRpcmVjdG9yeSBvZiB0aGlzIHJlcG9zaXRvcnkgb3IgcGFja2FnZSwgb3IgYXRcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9yZXN0YXRlZGV2L3Nkay10eXBlc2NyaXB0L2Jsb2IvbWFpbi9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCAqIGFzIGNkayBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCAqIGFzIGNyIGZyb20gXCJhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzXCI7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiO1xuaW1wb3J0ICogYXMgbGFtYmRhX25vZGUgZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGEtbm9kZWpzXCI7XG5pbXBvcnQgKiBhcyBsb2dzIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbG9nc1wiO1xuaW1wb3J0ICogYXMgc2VjcmV0cyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNlY3JldHNtYW5hZ2VyXCI7XG5pbXBvcnQgeyBJUmVzdGF0ZUVudmlyb25tZW50IH0gZnJvbSBcIi4vcmVzdGF0ZS1lbnZpcm9ubWVudFwiO1xuaW1wb3J0IHsgUmVnaXN0cmF0aW9uUHJvcGVydGllcyB9IGZyb20gXCIuL3JlZ2lzdGVyLXNlcnZpY2UtaGFuZGxlclwiO1xuXG5jb25zdCBERUZBVUxUX1RJTUVPVVQgPSBjZGsuRHVyYXRpb24uc2Vjb25kcygxODApO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZpY2VSZWdpc3RyYXRpb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBTZWNyZXRzIE1hbmFnZXIgc2VjcmV0IEFSTiBmb3IgdGhlIGF1dGhlbnRpY2F0aW9uIHRva2VuIHRvIHVzZSB3aGVuIGNhbGxpbmcgdGhlIGFkbWluIEFQSS4gVGFrZXMgcHJlY2VkZW5jZVxuICAgKiBvdmVyIHRoZSBlbnZpcm9ubWVudCdzIHRva2VuLlxuICAgKi9cbiAgYXV0aFRva2VuPzogc2VjcmV0cy5JU2VjcmV0O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHNraXAgZ3JhbnRpbmcgdGhlIGludm9rZXIgcm9sZSBwZXJtaXNzaW9uIHRvIGludm9rZSB0aGUgc2VydmljZSBoYW5kbGVyLiBUaGUgZGVwbG95ZXIgYnkgZGVmYXVsdFxuICAgKiB3aWxsIGdyYW50IHRoZSBpbnZva2VyIHJvbGUgcGVybWlzc2lvbiB0byBpbnZva2UgdGhlIGhhbmRsZXIsIGJ1dCB5b3UgY2FuIHNldCB0aGlzIHRvIGB0cnVlYCB0byBoYW5kbGUgdGhpc1xuICAgKiBtYW51YWxseS5cbiAgICovXG4gIHNraXBJbnZva2VGdW5jdGlvbkdyYW50PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUHJpdmF0ZSBzZXJ2aWNlcyBhcmUgb25seSBhdmFpbGFibGUgdG8gb3RoZXIgUmVzdGF0ZSBzZXJ2aWNlcyBpbiB0aGUgc2FtZSBlbnZpcm9ubWVudCwgYW5kIGFyZSBub3QgYWNjZXNzaWJsZSBmb3JcbiAgICogaW5ncmVzcy1iYXNlZCBpbnZvY2F0aW9uLiBJZiBtdWx0aXBsZSBzZXJ2aWNlcyBhcmUgZXhwb3NlZCBieSB0aGUgc2FtZSBoYW5kbGVyLCBhbGwgb2YgdGhlbSB3aWxsIGJlIHVwZGF0ZWQuXG4gICAqIERlZmF1bHQ6IGBmYWxzZWAsIGkuZS4gc2VydmljZXMgd2lsbCBiZSBtYWRlIHB1YmxpYyBhbmQgcmVhY2hhYmxlIHZpYSBpbmdyZXNzIGJ5IGRlZmF1bHQuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLnJlc3RhdGUuZGV2L29wZXJhdGUvcmVnaXN0cmF0aW9uI3ByaXZhdGUtc2VydmljZXNcbiAgICovXG4gIHByaXZhdGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBIGR1bW15IHBhcmFtZXRlciB0byBmb3JjZSBDbG91ZEZvcm1hdGlvbiB0byB1cGRhdGUgdGhlIGRlcGxveW1lbnQgd2hlbiB0aGUgY29uZmlndXJhdGlvbiBjaGFuZ2VzLiBVc2VmdWwgaWZcbiAgICogeW91IHdhbnQgdG8gdGFyZ2V0IHRoZSBcImxhdGVzdCB2ZXJzaW9uXCIgb2YgYSBzZXJ2aWNlIGhhbmRsZXIgYW5kIG5lZWQgdG8gZm9yY2UgYSBkZXBsb3ltZW50IGluIG9yZGVyIHRvIHRyaWdnZXJcbiAgICogZGlzY292ZXJ5LiBTZXQgdGhpcyB0byBhIG5ldyB2YWx1ZSBldmVyeSB0aW1lIHlvdSB3YW50IHRvIGZvcmNlIGEgc2VydmljZSByZWdpc3RyYXRpb24gdG8gaGFwcGVuLCBlLmcuIGEgdGltZXN0YW1wLlxuICAgKi9cbiAgY29uZmlndXJhdGlvblZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFjY2VwdCBzZWxmLXNpZ25lZCBjZXJ0aWZpY2F0ZXMuXG4gICAqL1xuICBpbnNlY3VyZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNwZWNpZnkgYSBjdXN0b20gYWRtaW4gZW5kcG9pbnQgVVJMLCBvdmVycmlkaW5nIHRoZSBvbmUgZXhwb3NlZCBieSB0aGUgdGFyZ2V0IGVudmlyb25tZW50LiBZb3UgbWF5IG5lZWQgdGhpcyBpZlxuICAgKiB0aGUgYEVudmlyb25tZW50YCBjb25zdHJ1Y3QgaXMgcmVwb3J0aW5nIGEgZGlmZmVyZW50IFVSTCBmcm9tIHRoZSBvbmUgdGhhdCB0aGUgZGVwbG95ZXIgY2FuIHJlYWNoLCBlLmcuIGlmIHlvdXJcbiAgICogUmVzdGF0ZSBzZXJ2aWNlIGlzIGJlaGluZCBhIGxvYWQgYmFsYW5jZXIuXG4gICAqL1xuICBhZG1pblVybD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZWdpc3RlciBMYW1iZGEtYmFja2VkIHJlc3RhdGUgc2VydmljZXMgd2l0aCBSZXN0YXRlIGVudmlyb25tZW50cy5cbiAqXG4gKiBZb3UgY2FuIHJldXNlIHRoZSBzYW1lIGRlcGxveWVyIHRvIHJlZ2lzdGVyIHRoZSBzZXJ2aWNlcyBleHBvc2VkIGJ5IG11bHRpcGxlIGhhbmRsZXJzLiBZb3UgY2FuIGFsc28gcmV1c2UgdGhlXG4gKiBkZXBsb3llciB0byB0YXJnZXQgbXVsdGlwbGUgUmVzdGF0ZSBlbnZpcm9ubWVudHMsIHByb3ZpZGVkIHRoZSBjb25maWd1cmF0aW9uIG9wdGlvbnMgYXJlIGNvbXBhdGlibGUgKGUuZy4gdGhlIFJlc3RhdGVcbiAqIGVudmlyb25tZW50cyBpdCBuZWVkcyB0byBjb21tdW5pY2F0ZSB3aXRoIGFyZSBhbGwgYWNjZXNzaWJsZSBmcm9tIHRoZSBzYW1lIFZQQyBhbmQgU2VjdXJpdHkgR3JvdXBzLCBhY2NlcHQgdGhlIHNhbWVcbiAqIGF1dGhlbnRpY2F0aW9uIHRva2VuLCBhbmQgc28gb24pLiBDb252ZXJzZWx5LCB5b3UgY2FuIGNyZWF0ZSBtdWx0aXBsZSBkZXBsb3llcnMgaW4gY2FzZXMgd2hlbiB5b3UgbmVlZCB0byBkZXBsb3kgdG9cbiAqIG11bHRpcGxlIGVudmlyb25tZW50cyB0aGF0IHJlcXVpcmUgZGlzdGluY3QgY29uZmlndXJhdGlvbi5cbiAqXG4gKiBEZXBsb3ltZW50IGxvZ3MgYXJlIHJldGFpbmVkIGZvciAzMCBkYXlzIGJ5IGRlZmF1bHQuXG4gKlxuICogQHNlZSB7cmVnaXN0ZXJ9XG4gKi9cbmV4cG9ydCBjbGFzcyBTZXJ2aWNlRGVwbG95ZXIgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKiogVGhlIGN1c3RvbSByZXNvdXJjZSBwcm92aWRlciBmb3IgaGFuZGxpbmcgXCJkZXBsb3ltZW50XCIgcmVzb3VyY2VzLiAqL1xuICByZWFkb25seSBkZXBsb3ltZW50UmVzb3VyY2VQcm92aWRlcjogY3IuUHJvdmlkZXI7XG5cbiAgcHJpdmF0ZSBpbnZvY2F0aW9uUG9saWN5PzogaWFtLlBvbGljeTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogQWxsb3dzIHRoZSBjdXN0b20gcmVzb3VyY2UgZXZlbnQgaGFuZGxlciBwcm9wZXJ0aWVzIHRvIGJlIG92ZXJyaWRkZW4uIFRoZSBtYWluIHVzZSBjYXNlIGZvciB0aGlzIGlzIHNwZWNpZnlpbmdcbiAgICAgKiBWUEMgYW5kIHNlY3VyaXR5IGdyb3VwIHNldHRpbmdzIGZvciBSZXN0YXRlIGVudmlyb25tZW50cyB0aGF0IHJlcXVpcmUgaXQuXG4gICAgICovXG4gICAgcHJvcHM/OiBQaWNrPFxuICAgICAgbGFtYmRhLkZ1bmN0aW9uT3B0aW9ucyxcbiAgICAgIFwiZnVuY3Rpb25OYW1lXCIgfCBcImxvZ0dyb3VwXCIgfCBcInRpbWVvdXRcIiB8IFwidnBjXCIgfCBcInZwY1N1Ym5ldHNcIiB8IFwic2VjdXJpdHlHcm91cHNcIiB8IFwiYWxsb3dQdWJsaWNTdWJuZXRcIlxuICAgID4gJlxuICAgICAgUGljazxsYW1iZGFfbm9kZS5Ob2RlanNGdW5jdGlvblByb3BzLCBcImVudHJ5XCI+ICZcbiAgICAgIFBpY2s8bG9ncy5Mb2dHcm91cFByb3BzLCBcInJlbW92YWxQb2xpY3lcIj4sXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBldmVudEhhbmRsZXIgPSBuZXcgbGFtYmRhX25vZGUuTm9kZWpzRnVuY3Rpb24odGhpcywgXCJFdmVudEhhbmRsZXJcIiwge1xuICAgICAgZnVuY3Rpb25OYW1lOiBwcm9wcz8uZnVuY3Rpb25OYW1lLFxuICAgICAgbG9nR3JvdXA6IHByb3BzPy5sb2dHcm91cCxcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlJlc3RhdGUgY3VzdG9tIHJlZ2lzdHJhdGlvbiBoYW5kbGVyXCIsXG4gICAgICBlbnRyeTogcHJvcHM/LmVudHJ5ID8/IHBhdGguam9pbihfX2Rpcm5hbWUsIFwicmVnaXN0ZXItc2VydmljZS1oYW5kbGVyL2luZGV4LmpzXCIpLFxuICAgICAgYXJjaGl0ZWN0dXJlOiBsYW1iZGEuQXJjaGl0ZWN0dXJlLkFSTV82NCxcbiAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLk5PREVKU19MQVRFU1QsXG4gICAgICBtZW1vcnlTaXplOiAxMjgsXG4gICAgICB0aW1lb3V0OiBwcm9wcz8udGltZW91dCA/PyBERUZBVUxUX1RJTUVPVVQsXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBOT0RFX09QVElPTlM6IFwiLS1lbmFibGUtc291cmNlLW1hcHNcIixcbiAgICAgIH0sXG4gICAgICBidW5kbGluZzoge1xuICAgICAgICBtaW5pZnk6IGZhbHNlLFxuICAgICAgICBzb3VyY2VNYXA6IHRydWUsXG4gICAgICB9LFxuICAgICAgLi4uKHByb3BzPy52cGNcbiAgICAgICAgPyAoe1xuICAgICAgICAgICAgdnBjOiBwcm9wcz8udnBjLFxuICAgICAgICAgICAgdnBjU3VibmV0czogcHJvcHM/LnZwY1N1Ym5ldHMsXG4gICAgICAgICAgICBzZWN1cml0eUdyb3VwczogcHJvcHM/LnNlY3VyaXR5R3JvdXBzLFxuICAgICAgICAgIH0gc2F0aXNmaWVzIFBpY2s8bGFtYmRhLkZ1bmN0aW9uT3B0aW9ucywgXCJ2cGNcIiB8IFwidnBjU3VibmV0c1wiIHwgXCJzZWN1cml0eUdyb3Vwc1wiPilcbiAgICAgICAgOiB7fSksXG4gICAgICBhbGxvd1B1YmxpY1N1Ym5ldDogcHJvcHM/LmFsbG93UHVibGljU3VibmV0LFxuICAgIH0pO1xuXG4gICAgaWYgKCFwcm9wcz8ubG9nR3JvdXApIHtcbiAgICAgIC8vIEJ5IGRlZmF1bHQsIExhbWJkYSBGdW5jdGlvbnMgaGF2ZSBhIGxvZyBncm91cCB3aXRoIG5ldmVyLWV4cGlyaW5nIHJldGVudGlvbiBwb2xpY3kuXG4gICAgICBuZXcgbG9ncy5Mb2dHcm91cCh0aGlzLCBcIkRlcGxveW1lbnRMb2dzXCIsIHtcbiAgICAgICAgbG9nR3JvdXBOYW1lOiBgL2F3cy9sYW1iZGEvJHtldmVudEhhbmRsZXIuZnVuY3Rpb25OYW1lfWAsXG4gICAgICAgIHJldGVudGlvbjogbG9ncy5SZXRlbnRpb25EYXlzLk9ORV9NT05USCxcbiAgICAgICAgcmVtb3ZhbFBvbGljeTogY2RrLlJlbW92YWxQb2xpY3kuUkVUQUlOX09OX1VQREFURV9PUl9ERUxFVEUsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLmRlcGxveW1lbnRSZXNvdXJjZVByb3ZpZGVyID0gbmV3IGNyLlByb3ZpZGVyKHRoaXMsIFwiQ3VzdG9tUmVzb3VyY2VQcm92aWRlclwiLCB7IG9uRXZlbnRIYW5kbGVyOiBldmVudEhhbmRsZXIgfSk7XG4gIH1cblxuICAvKipcbiAgICogRGVwbG95IGEgTGFtYmRhLWJhY2tlZCBSZXN0YXRlIGhhbmRsZXIgdG8gYSBnaXZlbiBlbnZpcm9ubWVudC5cbiAgICpcbiAgICogTm90ZSB0aGF0IGEgY2hhbmdlIGluIHRoZSBoYW5kbGVyIHByb3BlcnRpZXMgaXMgbmVjZXNzYXJ5IHRvIHRyaWdnZXIgcmUtZGlzY292ZXJ5IGR1ZSB0byBob3cgQ2xvdWRGb3JtYXRpb24gdXBkYXRlc1xuICAgKiB3b3JrLiBJZiB5b3UgZGVwbG95IGEgZml4ZWQgTGFtYmRhIGFsaWFzIHN1Y2ggYXMgYCRMQVRFU1RgIHdoaWNoIGlzbid0IGNoYW5naW5nIG9uIGV2ZXJ5IGhhbmRsZXIgY29kZSBvclxuICAgKiBjb25maWd1cmF0aW9uIHVwZGF0ZSwgeW91IHdpbGwgd2FudCB0byBzZXQgdGhlIGBjb25maWd1cmF0aW9uVmVyc2lvbmAgcHJvcGVydHkgaW4gYG9wdGlvbnNgIHRvIGEgbmV3IHZhbHVlIChlLmcuIGFcbiAgICogdGltZXN0YW1wKSB0byBlbnN1cmUgYW4gdXBkYXRlIHRvIHRoZSBSZXN0YXRlIGVudmlyb25tZW50IGlzIHRyaWdnZXJlZCBvbiBzdGFjayBkZXBsb3ltZW50LlxuICAgKlxuICAgKiBAcGFyYW0gaGFuZGxlciBzZXJ2aWNlIGhhbmRsZXIgLSBtdXN0IGJlIGEgc3BlY2lmaWMgZnVuY3Rpb24gdmVyc2lvbiwgdXNlIFwibGF0ZXN0XCIgaWYgeW91IGRvbid0IGNhcmUgYWJvdXQgZXhwbGljaXQgdmVyc2lvbmluZ1xuICAgKiBAcGFyYW0gZW52aXJvbm1lbnQgdGFyZ2V0IFJlc3RhdGUgZW52aXJvbm1lbnRcbiAgICogQHBhcmFtIG9wdGlvbnMgYWRkaXRpb25hbCBvcHRpb25zOyBzZWUgZmllbGQgZG9jdW1lbnRhdGlvbiBmb3IgZGV0YWlsc1xuICAgKiBAc2VlIHtTZXJ2aWNlUmVnaXN0cmF0aW9uUHJvcHN9XG4gICAqL1xuICByZWdpc3RlcihoYW5kbGVyOiBsYW1iZGEuSVZlcnNpb24sIGVudmlyb25tZW50OiBJUmVzdGF0ZUVudmlyb25tZW50LCBvcHRpb25zPzogU2VydmljZVJlZ2lzdHJhdGlvblByb3BzKSB7XG4gICAgdGhpcy5yZWdpc3RlclNlcnZpY2VJbnRlcm5hbCh1bmRlZmluZWQsIGhhbmRsZXIsIGVudmlyb25tZW50LCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXBsb3kgYSBMYW1iZGEtYmFja2VkIFJlc3RhdGUgaGFuZGxlciB0byBhIGdpdmVuIGVudmlyb25tZW50LCBlbnN1cmluZyB0aGF0IGEgcGFydGljdWxhciBzZXJ2aWNlIG5hbWUgZXhpc3RzLlxuICAgKlxuICAgKiBOb3RlIHRoYXQgYSBjaGFuZ2UgaW4gdGhlIGhhbmRsZXIgcHJvcGVydGllcyBpcyBuZWNlc3NhcnkgdG8gdHJpZ2dlciByZS1kaXNjb3ZlcnkgZHVlIHRvIGhvdyBDbG91ZEZvcm1hdGlvbiB1cGRhdGVzXG4gICAqIHdvcmsuIElmIHlvdSBkZXBsb3kgYSBmaXhlZCBMYW1iZGEgYWxpYXMgc3VjaCBhcyBgJExBVEVTVGAgd2hpY2ggaXNuJ3QgY2hhbmdpbmcgb24gZXZlcnkgaGFuZGxlciBjb2RlIG9yXG4gICAqIGNvbmZpZ3VyYXRpb24gdXBkYXRlLCB5b3Ugd2lsbCB3YW50IHRvIHNldCB0aGUgYGNvbmZpZ3VyYXRpb25WZXJzaW9uYCBwcm9wZXJ0eSBpbiBgb3B0aW9uc2AgdG8gYSBuZXcgdmFsdWUgKGUuZy4gYVxuICAgKiB0aW1lc3RhbXApIHRvIGVuc3VyZSBhbiB1cGRhdGUgdG8gdGhlIFJlc3RhdGUgZW52aXJvbm1lbnQgaXMgdHJpZ2dlcmVkIG9uIHN0YWNrIGRlcGxveW1lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBzZXJ2aWNlTmFtZSB0aGUgc2VydmljZSBuYW1lIHdpdGhpbiBSZXN0YXRlIC0gYXMgYSBzYWZldHkgbWVjaGFuaXNtLCB0aGlzIG11c3QgbWF0Y2ggdGhlIHNlcnZpY2Unc1xuICAgKiAgICAgICAgc2VsZi1yZXBvcnRlZCBuYW1lIGR1cmluZyBkaXNjb3Zlcnk7IGlmIHRoZXJlIGFyZSBtdWx0aXBsZSBzZXJ2aWNlcywgb25lIG9mIHRoZW0gbXVzdCBtYXRjaCBvciB0aGVcbiAgICogICAgICAgIGRlcGxveW1lbnQgZmFpbHNcbiAgICogQHBhcmFtIGhhbmRsZXIgc2VydmljZSBoYW5kbGVyIC0gbXVzdCBiZSBhIHNwZWNpZmljIGZ1bmN0aW9uIHZlcnNpb24sIHVzZSBcImxhdGVzdFwiIGlmIHlvdSBkb24ndCBjYXJlIGFib3V0IGV4cGxpY2l0IHZlcnNpb25pbmdcbiAgICogQHBhcmFtIGVudmlyb25tZW50IHRhcmdldCBSZXN0YXRlIGVudmlyb25tZW50XG4gICAqIEBwYXJhbSBvcHRpb25zIGFkZGl0aW9uYWwgb3B0aW9uczsgc2VlIGZpZWxkIGRvY3VtZW50YXRpb24gZm9yIGRldGFpbHNcbiAgICovXG4gIGRlcGxveVNlcnZpY2UoXG4gICAgc2VydmljZU5hbWU6IHN0cmluZyxcbiAgICBoYW5kbGVyOiBsYW1iZGEuSVZlcnNpb24sXG4gICAgZW52aXJvbm1lbnQ6IElSZXN0YXRlRW52aXJvbm1lbnQsXG4gICAgb3B0aW9ucz86IFNlcnZpY2VSZWdpc3RyYXRpb25Qcm9wcyxcbiAgKSB7XG4gICAgdGhpcy5yZWdpc3RlclNlcnZpY2VJbnRlcm5hbChzZXJ2aWNlTmFtZSwgaGFuZGxlciwgZW52aXJvbm1lbnQsIG9wdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlclNlcnZpY2VJbnRlcm5hbChcbiAgICBzZXJ2aWNlTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIGhhbmRsZXI6IGxhbWJkYS5JVmVyc2lvbixcbiAgICBlbnZpcm9ubWVudDogSVJlc3RhdGVFbnZpcm9ubWVudCxcbiAgICBvcHRpb25zPzogU2VydmljZVJlZ2lzdHJhdGlvblByb3BzLFxuICApIHtcbiAgICBjb25zdCBhdXRoVG9rZW4gPSBvcHRpb25zPy5hdXRoVG9rZW4gPz8gZW52aXJvbm1lbnQuYXV0aFRva2VuO1xuICAgIGF1dGhUb2tlbj8uZ3JhbnRSZWFkKHRoaXMuZGVwbG95bWVudFJlc291cmNlUHJvdmlkZXIub25FdmVudEhhbmRsZXIpO1xuXG4gICAgY29uc3QgZGVwbG95bWVudCA9IG5ldyBjZGsuQ3VzdG9tUmVzb3VyY2UoaGFuZGxlciwgXCJSZXN0YXRlRGVwbG95bWVudFwiLCB7XG4gICAgICBzZXJ2aWNlVG9rZW46IHRoaXMuZGVwbG95bWVudFJlc291cmNlUHJvdmlkZXIuc2VydmljZVRva2VuLFxuICAgICAgcmVzb3VyY2VUeXBlOiBcIkN1c3RvbTo6UmVzdGF0ZVNlcnZpY2VEZXBsb3ltZW50XCIsXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIHNlcnZpY2VQYXRoOiBzZXJ2aWNlTmFtZSxcbiAgICAgICAgYWRtaW5Vcmw6IG9wdGlvbnM/LmFkbWluVXJsID8/IGVudmlyb25tZW50LmFkbWluVXJsLFxuICAgICAgICBhdXRoVG9rZW5TZWNyZXRBcm46IGF1dGhUb2tlbj8uc2VjcmV0QXJuLFxuICAgICAgICBzZXJ2aWNlTGFtYmRhQXJuOiBoYW5kbGVyLmZ1bmN0aW9uQXJuLFxuICAgICAgICBpbnZva2VSb2xlQXJuOiBlbnZpcm9ubWVudC5pbnZva2VyUm9sZT8ucm9sZUFybixcbiAgICAgICAgcmVtb3ZhbFBvbGljeTogY2RrLlJlbW92YWxQb2xpY3kuUkVUQUlOLFxuICAgICAgICBwcml2YXRlOiAob3B0aW9ucz8ucHJpdmF0ZSA/PyBmYWxzZSkudG9TdHJpbmcoKSBhcyBcInRydWVcIiB8IFwiZmFsc2VcIixcbiAgICAgICAgY29uZmlndXJhdGlvblZlcnNpb246XG4gICAgICAgICAgb3B0aW9ucz8uY29uZmlndXJhdGlvblZlcnNpb24gfHwgaGFuZGxlci5mdW5jdGlvbkFybi5lbmRzV2l0aChcIjokTEFURVNUXCIpXG4gICAgICAgICAgICA/IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIGluc2VjdXJlOiAob3B0aW9ucz8uaW5zZWN1cmUgPz8gZmFsc2UpLnRvU3RyaW5nKCkgYXMgXCJ0cnVlXCIgfCBcImZhbHNlXCIsXG4gICAgICB9IHNhdGlzZmllcyBSZWdpc3RyYXRpb25Qcm9wZXJ0aWVzLFxuICAgIH0pO1xuXG4gICAgaWYgKGVudmlyb25tZW50Lmludm9rZXJSb2xlICYmICFvcHRpb25zPy5za2lwSW52b2tlRnVuY3Rpb25HcmFudCkge1xuICAgICAgLy8gV2UgY3JlYXRlIGEgc2VwYXJhdGUgcG9saWN5IHdoaWNoIHdlJ2xsIGF0dGFjaCB0byB0aGUgcHJvdmlkZWQgaW52b2tlciByb2xlLiBUaGlzIGJyZWFrcyBhIGNpcmN1bGFyIGNyb3NzLXN0YWNrXG4gICAgICAvLyBkZXBlbmRlbmN5IHRoYXQgd291bGQgb3RoZXJ3aXNlIGJlIGNyZWF0ZWQgYmV0d2VlbiB0aGUgc2VydmljZSBkZXBsb3llciBhbmQgdGhlIGludm9rZXIgcm9sZS5cbiAgICAgIGlmICghdGhpcy5pbnZvY2F0aW9uUG9saWN5KSB7XG4gICAgICAgIHRoaXMuaW52b2NhdGlvblBvbGljeSA9IG5ldyBpYW0uUG9saWN5KHRoaXMsIFwiSW52b2NhdGlvblBvbGljeVwiKTtcbiAgICAgICAgLy8gRGVzcGl0ZSB0aGUgQVJOIHJlZmVyZW5jZSBhYm92ZSwgQ2xvdWRGb3JtYXRpb24gc29tZXRpbWVzIHRyaWVzIHRvIGludm9rZSB0aGUgY3VzdG9tIHJlc291cmNlIGhhbmRsZXIgYmVmb3JlXG4gICAgICAgIC8vIGFsbCBwZXJtaXNzaW9ucyBhcmUgYXBwbGllZC4gQWRkaW5nIGFuIGV4cGxpY2l0IGRlcGVuZGVuY3kgaW5jbHVkZXMgYSBkZXBlbmRlbmN5IG9uIGFueSBwZW5kaW5nIHBvbGljeSB1cGRhdGVzXG4gICAgICAgIC8vIGRlZmluZWQgaW4gdGhlIHNhbWUgc3RhY2sgYXMgdGhlIHNlcnZpY2UgZGVwbG95ZXIsIHdoaWNoIHNlZW1zIHRvIGhlbHAuIFNvbWUgcHJvcGFnYXRpb24gZGVsYXkgbWlnaHQgc3RpbGwgbWVhblxuICAgICAgICAvLyB3ZSBsZWFuIG9uIHJldHJpZXMgaW4gdGhlIGRlcGxveWVyIGV2ZW50IGhhbmRsZXIgaW4gYW55IGV2ZW50IGJ1dCB0aGlzIHJlZHVjZXMgdGhlIHByb2JhYmlsaXR5IG9mIGZhaWx1cmUuXG4gICAgICAgIGRlcGxveW1lbnQubm9kZS5hZGREZXBlbmRlbmN5KHRoaXMuaW52b2NhdGlvblBvbGljeSk7XG4gICAgICAgIHRoaXMuaW52b2NhdGlvblBvbGljeS5hdHRhY2hUb1JvbGUoZW52aXJvbm1lbnQuaW52b2tlclJvbGUpO1xuICAgICAgfVxuICAgICAgdGhpcy5pbnZvY2F0aW9uUG9saWN5LmFkZFN0YXRlbWVudHMoXG4gICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBhY3Rpb25zOiBbXCJsYW1iZGE6SW52b2tlRnVuY3Rpb25cIl0sXG4gICAgICAgICAgcmVzb3VyY2VzOiBoYW5kbGVyLmxhbWJkYS5yZXNvdXJjZUFybnNGb3JHcmFudEludm9rZSxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1kZXBsb3llci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2xpYi9yZXN0YXRlLWNvbnN0cnVjdHMvc2VydmljZS1kZXBsb3llci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7OztHQVNHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCwwREFBNkI7QUFDN0IsMkNBQXVDO0FBQ3ZDLGlEQUFtQztBQUNuQyxpRUFBbUQ7QUFDbkQseURBQTJDO0FBQzNDLCtEQUFpRDtBQUNqRCwyRUFBNkQ7QUFDN0QsMkRBQTZDO0FBSzdDLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBNkNsRDs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxNQUFhLGVBQWdCLFNBQVEsc0JBQVM7SUFPNUMsWUFDRSxLQUFnQixFQUNoQixFQUFVO0lBQ1Y7OztPQUdHO0lBQ0gsS0FnQjJDO1FBRTNDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLFdBQVcsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtZQUN2RSxZQUFZLEVBQUUsS0FBSyxFQUFFLFlBQVk7WUFDakMsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRO1lBQ3pCLFdBQVcsRUFBRSxxQ0FBcUM7WUFDbEQsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLElBQUksbUJBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLG1DQUFtQyxDQUFDO1lBQ2hGLFlBQVksRUFBRSxLQUFLLEVBQUUsWUFBWSxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTTtZQUMvRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVc7WUFDckQsVUFBVSxFQUFFLEdBQUc7WUFDZixPQUFPLEVB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eXJpZ2h0IChjKSAyMDIzLTIwMjUgLSBSZXN0YXRlIFNvZnR3YXJlLCBJbmMuLCBSZXN0YXRlIEdtYkhcbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgUmVzdGF0ZSBDREsgQ29uc3RydWN0IExpYnJhcnksXG4gKiB3aGljaCBpcyByZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4gKlxuICogWW91IGNhbiBmaW5kIGEgY29weSBvZiB0aGUgbGljZW5zZSBpbiBmaWxlIExJQ0VOU0UgaW4gdGhlIHJvb3RcbiAqIGRpcmVjdG9yeSBvZiB0aGlzIHJlcG9zaXRvcnkgb3IgcGFja2FnZSwgb3IgYXRcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9yZXN0YXRlZGV2L3Nkay10eXBlc2NyaXB0L2Jsb2IvbWFpbi9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCAqIGFzIGNkayBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCAqIGFzIGNyIGZyb20gXCJhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzXCI7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiO1xuaW1wb3J0ICogYXMgbGFtYmRhX25vZGUgZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGEtbm9kZWpzXCI7XG5pbXBvcnQgKiBhcyBsb2dzIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbG9nc1wiO1xuaW1wb3J0ICogYXMgc2VjcmV0cyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNlY3JldHNtYW5hZ2VyXCI7XG5pbXBvcnQgeyBJUmVzdGF0ZUVudmlyb25tZW50IH0gZnJvbSBcIi4vcmVzdGF0ZS1lbnZpcm9ubWVudFwiO1xuaW1wb3J0IHsgUmVnaXN0cmF0aW9uUHJvcGVydGllcyB9IGZyb20gXCIuL3JlZ2lzdGVyLXNlcnZpY2UtaGFuZGxlclwiO1xuXG5jb25zdCBERUZBVUxUX1RJTUVPVVQgPSBjZGsuRHVyYXRpb24uc2Vjb25kcygxODApO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZpY2VSZWdpc3RyYXRpb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBTZWNyZXRzIE1hbmFnZXIgc2VjcmV0IEFSTiBmb3IgdGhlIGF1dGhlbnRpY2F0aW9uIHRva2VuIHRvIHVzZSB3aGVuIGNhbGxpbmcgdGhlIGFkbWluIEFQSS4gVGFrZXMgcHJlY2VkZW5jZVxuICAgKiBvdmVyIHRoZSBlbnZpcm9ubWVudCdzIHRva2VuLlxuICAgKi9cbiAgYXV0aFRva2VuPzogc2VjcmV0cy5JU2VjcmV0O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHNraXAgZ3JhbnRpbmcgdGhlIGludm9rZXIgcm9sZSBwZXJtaXNzaW9uIHRvIGludm9rZSB0aGUgc2VydmljZSBoYW5kbGVyLiBUaGUgZGVwbG95ZXIgYnkgZGVmYXVsdFxuICAgKiB3aWxsIGdyYW50IHRoZSBpbnZva2VyIHJvbGUgcGVybWlzc2lvbiB0byBpbnZva2UgdGhlIGhhbmRsZXIsIGJ1dCB5b3UgY2FuIHNldCB0aGlzIHRvIGB0cnVlYCB0byBoYW5kbGUgdGhpc1xuICAgKiBtYW51YWxseS5cbiAgICovXG4gIHNraXBJbnZva2VGdW5jdGlvbkdyYW50PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUHJpdmF0ZSBzZXJ2aWNlcyBhcmUgb25seSBhdmFpbGFibGUgdG8gb3RoZXIgUmVzdGF0ZSBzZXJ2aWNlcyBpbiB0aGUgc2FtZSBlbnZpcm9ubWVudCwgYW5kIGFyZSBub3QgYWNjZXNzaWJsZSBmb3JcbiAgICogaW5ncmVzcy1iYXNlZCBpbnZvY2F0aW9uLiBJZiBtdWx0aXBsZSBzZXJ2aWNlcyBhcmUgZXhwb3NlZCBieSB0aGUgc2FtZSBoYW5kbGVyLCBhbGwgb2YgdGhlbSB3aWxsIGJlIHVwZGF0ZWQuXG4gICAqIERlZmF1bHQ6IGBmYWxzZWAsIGkuZS4gc2VydmljZXMgd2lsbCBiZSBtYWRlIHB1YmxpYyBhbmQgcmVhY2hhYmxlIHZpYSBpbmdyZXNzIGJ5IGRlZmF1bHQuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLnJlc3RhdGUuZGV2L29wZXJhdGUvcmVnaXN0cmF0aW9uI3ByaXZhdGUtc2VydmljZXNcbiAgICovXG4gIHByaXZhdGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBIGR1bW15IHBhcmFtZXRlciB0byBmb3JjZSBDbG91ZEZvcm1hdGlvbiB0byB1cGRhdGUgdGhlIGRlcGxveW1lbnQgd2hlbiB0aGUgY29uZmlndXJhdGlvbiBjaGFuZ2VzLiBVc2VmdWwgaWZcbiAgICogeW91IHdhbnQgdG8gdGFyZ2V0IHRoZSBcImxhdGVzdCB2ZXJzaW9uXCIgb2YgYSBzZXJ2aWNlIGhhbmRsZXIgYW5kIG5lZWQgdG8gZm9yY2UgYSBkZXBsb3ltZW50IGluIG9yZGVyIHRvIHRyaWdnZXJcbiAgICogZGlzY292ZXJ5LiBTZXQgdGhpcyB0byBhIG5ldyB2YWx1ZSBldmVyeSB0aW1lIHlvdSB3YW50IHRvIGZvcmNlIGEgc2VydmljZSByZWdpc3RyYXRpb24gdG8gaGFwcGVuLCBlLmcuIGEgdGltZXN0YW1wLlxuICAgKi9cbiAgY29uZmlndXJhdGlvblZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFjY2VwdCBzZWxmLXNpZ25lZCBjZXJ0aWZpY2F0ZXMuXG4gICAqL1xuICBpbnNlY3VyZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNwZWNpZnkgYSBjdXN0b20gYWRtaW4gZW5kcG9pbnQgVVJMLCBvdmVycmlkaW5nIHRoZSBvbmUgZXhwb3NlZCBieSB0aGUgdGFyZ2V0IGVudmlyb25tZW50LiBZb3UgbWF5IG5lZWQgdGhpcyBpZlxuICAgKiB0aGUgYEVudmlyb25tZW50YCBjb25zdHJ1Y3QgaXMgcmVwb3J0aW5nIGEgZGlmZmVyZW50IFVSTCBmcm9tIHRoZSBvbmUgdGhhdCB0aGUgZGVwbG95ZXIgY2FuIHJlYWNoLCBlLmcuIGlmIHlvdXJcbiAgICogUmVzdGF0ZSBzZXJ2aWNlIGlzIGJlaGluZCBhIGxvYWQgYmFsYW5jZXIuXG4gICAqL1xuICBhZG1pblVybD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZWdpc3RlciBMYW1iZGEtYmFja2VkIHJlc3RhdGUgc2VydmljZXMgd2l0aCBSZXN0YXRlIGVudmlyb25tZW50cy5cbiAqXG4gKiBZb3UgY2FuIHJldXNlIHRoZSBzYW1lIGRlcGxveWVyIHRvIHJlZ2lzdGVyIHRoZSBzZXJ2aWNlcyBleHBvc2VkIGJ5IG11bHRpcGxlIGhhbmRsZXJzLiBZb3UgY2FuIGFsc28gcmV1c2UgdGhlXG4gKiBkZXBsb3llciB0byB0YXJnZXQgbXVsdGlwbGUgUmVzdGF0ZSBlbnZpcm9ubWVudHMsIHByb3ZpZGVkIHRoZSBjb25maWd1cmF0aW9uIG9wdGlvbnMgYXJlIGNvbXBhdGlibGUgKGUuZy4gdGhlIFJlc3RhdGVcbiAqIGVudmlyb25tZW50cyBpdCBuZWVkcyB0byBjb21tdW5pY2F0ZSB3aXRoIGFyZSBhbGwgYWNjZXNzaWJsZSBmcm9tIHRoZSBzYW1lIFZQQyBhbmQgU2VjdXJpdHkgR3JvdXBzLCBhY2NlcHQgdGhlIHNhbWVcbiAqIGF1dGhlbnRpY2F0aW9uIHRva2VuLCBhbmQgc28gb24pLiBDb252ZXJzZWx5LCB5b3UgY2FuIGNyZWF0ZSBtdWx0aXBsZSBkZXBsb3llcnMgaW4gY2FzZXMgd2hlbiB5b3UgbmVlZCB0byBkZXBsb3kgdG9cbiAqIG11bHRpcGxlIGVudmlyb25tZW50cyB0aGF0IHJlcXVpcmUgZGlzdGluY3QgY29uZmlndXJhdGlvbi5cbiAqXG4gKiBEZXBsb3ltZW50IGxvZ3MgYXJlIHJldGFpbmVkIGZvciAzMCBkYXlzIGJ5IGRlZmF1bHQuXG4gKlxuICogQHNlZSB7cmVnaXN0ZXJ9XG4gKi9cbmV4cG9ydCBjbGFzcyBTZXJ2aWNlRGVwbG95ZXIgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKiogVGhlIGN1c3RvbSByZXNvdXJjZSBwcm92aWRlciBmb3IgaGFuZGxpbmcgXCJkZXBsb3ltZW50XCIgcmVzb3VyY2VzLiAqL1xuICByZWFkb25seSBkZXBsb3ltZW50UmVzb3VyY2VQcm92aWRlcjogY3IuUHJvdmlkZXI7XG4gIHJlYWRvbmx5IGV2ZW50SGFuZGxlcjogbGFtYmRhX25vZGUuTm9kZWpzRnVuY3Rpb247XG5cbiAgcHJpdmF0ZSBpbnZvY2F0aW9uUG9saWN5PzogaWFtLlBvbGljeTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogQWxsb3dzIHRoZSBjdXN0b20gcmVzb3VyY2UgZXZlbnQgaGFuZGxlciBwcm9wZXJ0aWVzIHRvIGJlIG92ZXJyaWRkZW4uIFRoZSBtYWluIHVzZSBjYXNlIGZvciB0aGlzIGlzIHNwZWNpZnlpbmdcbiAgICAgKiBWUEMgYW5kIHNlY3VyaXR5IGdyb3VwIHNldHRpbmdzIGZvciBSZXN0YXRlIGVudmlyb25tZW50cyB0aGF0IHJlcXVpcmUgaXQuXG4gICAgICovXG4gICAgcHJvcHM/OiBQaWNrPFxuICAgICAgbGFtYmRhX25vZGUuTm9kZWpzRnVuY3Rpb25Qcm9wcyxcbiAgICAgIHwgXCJhbGxvd1B1YmxpY1N1Ym5ldFwiXG4gICAgICB8IFwiYXJjaGl0ZWN0dXJlXCJcbiAgICAgIHwgXCJydW50aW1lXCJcbiAgICAgIHwgXCJidW5kbGluZ1wiXG4gICAgICB8IFwiZGVwc0xvY2tGaWxlUGF0aFwiXG4gICAgICB8IFwiY29kZVwiXG4gICAgICB8IFwiZW50cnlcIlxuICAgICAgfCBcImZ1bmN0aW9uTmFtZVwiXG4gICAgICB8IFwibG9nR3JvdXBcIlxuICAgICAgfCBcInNlY3VyaXR5R3JvdXBzXCJcbiAgICAgIHwgXCJ0aW1lb3V0XCJcbiAgICAgIHwgXCJ2cGNcIlxuICAgICAgfCBcInZwY1N1Ym5ldHNcIlxuICAgID4gJlxuICAgICAgUGljazxsb2dzLkxvZ0dyb3VwUHJvcHMsIFwicmVtb3ZhbFBvbGljeVwiPixcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMuZXZlbnRIYW5kbGVyID0gbmV3IGxhbWJkYV9ub2RlLk5vZGVqc0Z1bmN0aW9uKHRoaXMsIFwiRXZlbnRIYW5kbGVyXCIsIHtcbiAgICAgIGZ1bmN0aW9uTmFtZTogcHJvcHM/LmZ1bmN0aW9uTmFtZSxcbiAgICAgIGxvZ0dyb3VwOiBwcm9wcz8ubG9nR3JvdXAsXG4gICAgICBkZXNjcmlwdGlvbjogXCJSZXN0YXRlIGN1c3RvbSByZWdpc3RyYXRpb24gaGFuZGxlclwiLFxuICAgICAgZW50cnk6IHByb3BzPy5lbnRyeSA/PyBwYXRoLmpvaW4oX19kaXJuYW1lLCBcInJlZ2lzdGVyLXNlcnZpY2UtaGFuZGxlci9pbmRleC5qc1wiKSxcbiAgICAgIGFyY2hpdGVjdHVyZTogcHJvcHM/LmFyY2hpdGVjdHVyZSA/PyBsYW1iZGEuQXJjaGl0ZWN0dXJlLkFSTV82NCxcbiAgICAgIHJ1bnRpbWU6IHByb3BzPy5ydW50aW1lID8/IGxhbWJkYS5SdW50aW1lLk5PREVKU18yMl9YLFxuICAgICAgbWVtb3J5U2l6ZTogMTI4LFxuICAgICAgdGltZW91dDogcHJvcHM/LnRpbWVvdXQgPz8gREVGQVVMVF9USU1FT1VULFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgTk9ERV9PUFRJT05TOiBcIi0tZW5hYmxlLXNvdXJjZS1tYXBzXCIsXG4gICAgICB9LFxuICAgICAgYnVuZGxpbmc6IHByb3BzPy5idW5kbGluZyA/PyB7XG4gICAgICAgIG1pbmlmeTogZmFsc2UsXG4gICAgICAgIHNvdXJjZU1hcDogdHJ1ZSxcbiAgICAgICAgZXh0ZXJuYWxNb2R1bGVzOiBbXCJAYXdzLXNkay8qXCJdLFxuICAgICAgICBwbGF0Zm9ybTogXCJub2RlXCIsXG4gICAgICAgIHRhcmdldDogXCJub2RlMjJcIixcbiAgICAgIH0sXG4gICAgICBkZXBzTG9ja0ZpbGVQYXRoOiBwcm9wcz8uZGVwc0xvY2tGaWxlUGF0aCxcbiAgICAgIC4uLihwcm9wcz8udnBjXG4gICAgICAgID8gKHtcbiAgICAgICAgICAgIHZwYzogcHJvcHM/LnZwYyxcbiAgICAgICAgICAgIHZwY1N1Ym5ldHM6IHByb3BzPy52cGNTdWJuZXRzLFxuICAgICAgICAgICAgc2VjdXJpdHlHcm91cHM6IHByb3BzPy5zZWN1cml0eUdyb3VwcyxcbiAgICAgICAgICB9IHNhdGlzZmllcyBQaWNrPGxhbWJkYS5GdW5jdGlvbk9wdGlvbnMsIFwidnBjXCIgfCBcInZwY1N1Ym5ldHNcIiB8IFwic2VjdXJpdHlHcm91cHNcIj4pXG4gICAgICAgIDoge30pLFxuICAgICAgYWxsb3dQdWJsaWNTdWJuZXQ6IHByb3BzPy5hbGxvd1B1YmxpY1N1Ym5ldCxcbiAgICB9KTtcblxuICAgIGlmICghcHJvcHM/LmxvZ0dyb3VwKSB7XG4gICAgICAvLyBCeSBkZWZhdWx0LCBMYW1iZGEgRnVuY3Rpb25zIGhhdmUgYSBsb2cgZ3JvdXAgd2l0aCBuZXZlci1leHBpcmluZyByZXRlbnRpb24gcG9saWN5LlxuICAgICAgbmV3IGxvZ3MuTG9nR3JvdXAodGhpcywgXCJEZXBsb3ltZW50TG9nc1wiLCB7XG4gICAgICAgIGxvZ0dyb3VwTmFtZTogYC9hd3MvbGFtYmRhLyR7dGhpcy5ldmVudEhhbmRsZXIuZnVuY3Rpb25OYW1lfWAsXG4gICAgICAgIHJldGVudGlvbjogbG9ncy5SZXRlbnRpb25EYXlzLk9ORV9NT05USCxcbiAgICAgICAgcmVtb3ZhbFBvbGljeTogcHJvcHM/LnJlbW92YWxQb2xpY3kgPz8gY2RrLlJlbW92YWxQb2xpY3kuUkVUQUlOX09OX1VQREFURV9PUl9ERUxFVEUsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLmRlcGxveW1lbnRSZXNvdXJjZVByb3ZpZGVyID0gbmV3IGNyLlByb3ZpZGVyKHRoaXMsIFwiQ3VzdG9tUmVzb3VyY2VQcm92aWRlclwiLCB7XG4gICAgICBvbkV2ZW50SGFuZGxlcjogdGhpcy5ldmVudEhhbmRsZXIsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRGVwbG95IGEgTGFtYmRhLWJhY2tlZCBSZXN0YXRlIGhhbmRsZXIgdG8gYSBnaXZlbiBlbnZpcm9ubWVudC5cbiAgICpcbiAgICogTm90ZSB0aGF0IGEgY2hhbmdlIGluIHRoZSBoYW5kbGVyIHByb3BlcnRpZXMgaXMgbmVjZXNzYXJ5IHRvIHRyaWdnZXIgcmUtZGlzY292ZXJ5IGR1ZSB0byBob3cgQ2xvdWRGb3JtYXRpb24gdXBkYXRlc1xuICAgKiB3b3JrLiBJZiB5b3UgZGVwbG95IGEgZml4ZWQgTGFtYmRhIGFsaWFzIHN1Y2ggYXMgYCRMQVRFU1RgIHdoaWNoIGlzbid0IGNoYW5naW5nIG9uIGV2ZXJ5IGhhbmRsZXIgY29kZSBvclxuICAgKiBjb25maWd1cmF0aW9uIHVwZGF0ZSwgeW91IHdpbGwgd2FudCB0byBzZXQgdGhlIGBjb25maWd1cmF0aW9uVmVyc2lvbmAgcHJvcGVydHkgaW4gYG9wdGlvbnNgIHRvIGEgbmV3IHZhbHVlIChlLmcuIGFcbiAgICogdGltZXN0YW1wKSB0byBlbnN1cmUgYW4gdXBkYXRlIHRvIHRoZSBSZXN0YXRlIGVudmlyb25tZW50IGlzIHRyaWdnZXJlZCBvbiBzdGFjayBkZXBsb3ltZW50LlxuICAgKlxuICAgKiBAcGFyYW0gaGFuZGxlciBzZXJ2aWNlIGhhbmRsZXIgLSBtdXN0IGJlIGEgc3BlY2lmaWMgZnVuY3Rpb24gdmVyc2lvbiwgdXNlIFwibGF0ZXN0XCIgaWYgeW91IGRvbid0IGNhcmUgYWJvdXQgZXhwbGljaXQgdmVyc2lvbmluZ1xuICAgKiBAcGFyYW0gZW52aXJvbm1lbnQgdGFyZ2V0IFJlc3RhdGUgZW52aXJvbm1lbnRcbiAgICogQHBhcmFtIG9wdGlvbnMgYWRkaXRpb25hbCBvcHRpb25zOyBzZWUgZmllbGQgZG9jdW1lbnRhdGlvbiBmb3IgZGV0YWlsc1xuICAgKiBAc2VlIHtTZXJ2aWNlUmVnaXN0cmF0aW9uUHJvcHN9XG4gICAqL1xuICByZWdpc3RlcihoYW5kbGVyOiBsYW1iZGEuSVZlcnNpb24sIGVudmlyb25tZW50OiBJUmVzdGF0ZUVudmlyb25tZW50LCBvcHRpb25zPzogU2VydmljZVJlZ2lzdHJhdGlvblByb3BzKSB7XG4gICAgdGhpcy5yZWdpc3RlclNlcnZpY2VJbnRlcm5hbCh1bmRlZmluZWQsIGhhbmRsZXIsIGVudmlyb25tZW50LCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXBsb3kgYSBMYW1iZGEtYmFja2VkIFJlc3RhdGUgaGFuZGxlciB0byBhIGdpdmVuIGVudmlyb25tZW50LCBlbnN1cmluZyB0aGF0IGEgcGFydGljdWxhciBzZXJ2aWNlIG5hbWUgZXhpc3RzLlxuICAgKlxuICAgKiBOb3RlIHRoYXQgYSBjaGFuZ2UgaW4gdGhlIGhhbmRsZXIgcHJvcGVydGllcyBpcyBuZWNlc3NhcnkgdG8gdHJpZ2dlciByZS1kaXNjb3ZlcnkgZHVlIHRvIGhvdyBDbG91ZEZvcm1hdGlvbiB1cGRhdGVzXG4gICAqIHdvcmsuIElmIHlvdSBkZXBsb3kgYSBmaXhlZCBMYW1iZGEgYWxpYXMgc3VjaCBhcyBgJExBVEVTVGAgd2hpY2ggaXNuJ3QgY2hhbmdpbmcgb24gZXZlcnkgaGFuZGxlciBjb2RlIG9yXG4gICAqIGNvbmZpZ3VyYXRpb24gdXBkYXRlLCB5b3Ugd2lsbCB3YW50IHRvIHNldCB0aGUgYGNvbmZpZ3VyYXRpb25WZXJzaW9uYCBwcm9wZXJ0eSBpbiBgb3B0aW9uc2AgdG8gYSBuZXcgdmFsdWUgKGUuZy4gYVxuICAgKiB0aW1lc3RhbXApIHRvIGVuc3VyZSBhbiB1cGRhdGUgdG8gdGhlIFJlc3RhdGUgZW52aXJvbm1lbnQgaXMgdHJpZ2dlcmVkIG9uIHN0YWNrIGRlcGxveW1lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBzZXJ2aWNlTmFtZSB0aGUgc2VydmljZSBuYW1lIHdpdGhpbiBSZXN0YXRlIC0gYXMgYSBzYWZldHkgbWVjaGFuaXNtLCB0aGlzIG11c3QgbWF0Y2ggdGhlIHNlcnZpY2Unc1xuICAgKiAgICAgICAgc2VsZi1yZXBvcnRlZCBuYW1lIGR1cmluZyBkaXNjb3Zlcnk7IGlmIHRoZXJlIGFyZSBtdWx0aXBsZSBzZXJ2aWNlcywgb25lIG9mIHRoZW0gbXVzdCBtYXRjaCBvciB0aGVcbiAgICogICAgICAgIGRlcGxveW1lbnQgZmFpbHNcbiAgICogQHBhcmFtIGhhbmRsZXIgc2VydmljZSBoYW5kbGVyIC0gbXVzdCBiZSBhIHNwZWNpZmljIGZ1bmN0aW9uIHZlcnNpb24sIHVzZSBcImxhdGVzdFwiIGlmIHlvdSBkb24ndCBjYXJlIGFib3V0IGV4cGxpY2l0IHZlcnNpb25pbmdcbiAgICogQHBhcmFtIGVudmlyb25tZW50IHRhcmdldCBSZXN0YXRlIGVudmlyb25tZW50XG4gICAqIEBwYXJhbSBvcHRpb25zIGFkZGl0aW9uYWwgb3B0aW9uczsgc2VlIGZpZWxkIGRvY3VtZW50YXRpb24gZm9yIGRldGFpbHNcbiAgICovXG4gIGRlcGxveVNlcnZpY2UoXG4gICAgc2VydmljZU5hbWU6IHN0cmluZyxcbiAgICBoYW5kbGVyOiBsYW1iZGEuSVZlcnNpb24sXG4gICAgZW52aXJvbm1lbnQ6IElSZXN0YXRlRW52aXJvbm1lbnQsXG4gICAgb3B0aW9ucz86IFNlcnZpY2VSZWdpc3RyYXRpb25Qcm9wcyxcbiAgKSB7XG4gICAgdGhpcy5yZWdpc3RlclNlcnZpY2VJbnRlcm5hbChzZXJ2aWNlTmFtZSwgaGFuZGxlciwgZW52aXJvbm1lbnQsIG9wdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlclNlcnZpY2VJbnRlcm5hbChcbiAgICBzZXJ2aWNlTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIGhhbmRsZXI6IGxhbWJkYS5JVmVyc2lvbixcbiAgICBlbnZpcm9ubWVudDogSVJlc3RhdGVFbnZpcm9ubWVudCxcbiAgICBvcHRpb25zPzogU2VydmljZVJlZ2lzdHJhdGlvblByb3BzLFxuICApIHtcbiAgICBjb25zdCBhdXRoVG9rZW4gPSBvcHRpb25zPy5hdXRoVG9rZW4gPz8gZW52aXJvbm1lbnQuYXV0aFRva2VuO1xuICAgIGF1dGhUb2tlbj8uZ3JhbnRSZWFkKHRoaXMuZGVwbG95bWVudFJlc291cmNlUHJvdmlkZXIub25FdmVudEhhbmRsZXIpO1xuXG4gICAgY29uc3QgZGVwbG95bWVudCA9IG5ldyBjZGsuQ3VzdG9tUmVzb3VyY2UoaGFuZGxlciwgXCJSZXN0YXRlRGVwbG95bWVudFwiLCB7XG4gICAgICBzZXJ2aWNlVG9rZW46IHRoaXMuZGVwbG95bWVudFJlc291cmNlUHJvdmlkZXIuc2VydmljZVRva2VuLFxuICAgICAgcmVzb3VyY2VUeXBlOiBcIkN1c3RvbTo6UmVzdGF0ZVNlcnZpY2VEZXBsb3ltZW50XCIsXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIHNlcnZpY2VQYXRoOiBzZXJ2aWNlTmFtZSxcbiAgICAgICAgYWRtaW5Vcmw6IG9wdGlvbnM/LmFkbWluVXJsID8/IGVudmlyb25tZW50LmFkbWluVXJsLFxuICAgICAgICBhdXRoVG9rZW5TZWNyZXRBcm46IGF1dGhUb2tlbj8uc2VjcmV0QXJuLFxuICAgICAgICBzZXJ2aWNlTGFtYmRhQXJuOiBoYW5kbGVyLmZ1bmN0aW9uQXJuLFxuICAgICAgICBpbnZva2VSb2xlQXJuOiBlbnZpcm9ubWVudC5pbnZva2VyUm9sZT8ucm9sZUFybixcbiAgICAgICAgLy8gcmVtb3ZhbFBvbGljeTogXCJyZXRhaW5cIixcbiAgICAgICAgcHJpdmF0ZTogKG9wdGlvbnM/LnByaXZhdGUgPz8gZmFsc2UpLnRvU3RyaW5nKCkgYXMgXCJ0cnVlXCIgfCBcImZhbHNlXCIsXG4gICAgICAgIGNvbmZpZ3VyYXRpb25WZXJzaW9uOlxuICAgICAgICAgIG9wdGlvbnM/LmNvbmZpZ3VyYXRpb25WZXJzaW9uIHx8IGhhbmRsZXIuZnVuY3Rpb25Bcm4uZW5kc1dpdGgoXCI6JExBVEVTVFwiKVxuICAgICAgICAgICAgPyBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKClcbiAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICBpbnNlY3VyZTogKG9wdGlvbnM/Lmluc2VjdXJlID8/IGZhbHNlKS50b1N0cmluZygpIGFzIFwidHJ1ZVwiIHwgXCJmYWxzZVwiLFxuICAgICAgfSBzYXRpc2ZpZXMgUmVnaXN0cmF0aW9uUHJvcGVydGllcyxcbiAgICB9KTtcblxuICAgIGlmIChlbnZpcm9ubWVudC5pbnZva2VyUm9sZSAmJiAhb3B0aW9ucz8uc2tpcEludm9rZUZ1bmN0aW9uR3JhbnQpIHtcbiAgICAgIC8vIFdlIGNyZWF0ZSBhIHNlcGFyYXRlIHBvbGljeSB3aGljaCB3ZSdsbCBhdHRhY2ggdG8gdGhlIHByb3ZpZGVkIGludm9rZXIgcm9sZS4gVGhpcyBicmVha3MgYSBjaXJjdWxhciBjcm9zcy1zdGFja1xuICAgICAgLy8gZGVwZW5kZW5jeSB0aGF0IHdvdWxkIG90aGVyd2lzZSBiZSBjcmVhdGVkIGJldHdlZW4gdGhlIHNlcnZpY2UgZGVwbG95ZXIgYW5kIHRoZSBpbnZva2VyIHJvbGUuXG4gICAgICBpZiAoIXRoaXMuaW52b2NhdGlvblBvbGljeSkge1xuICAgICAgICB0aGlzLmludm9jYXRpb25Qb2xpY3kgPSBuZXcgaWFtLlBvbGljeSh0aGlzLCBcIkludm9jYXRpb25Qb2xpY3lcIik7XG4gICAgICAgIC8vIERlc3BpdGUgdGhlIEFSTiByZWZlcmVuY2UgYWJvdmUsIENsb3VkRm9ybWF0aW9uIHNvbWV0aW1lcyB0cmllcyB0byBpbnZva2UgdGhlIGN1c3RvbSByZXNvdXJjZSBoYW5kbGVyIGJlZm9yZVxuICAgICAgICAvLyBhbGwgcGVybWlzc2lvbnMgYXJlIGFwcGxpZWQuIEFkZGluZyBhbiBleHBsaWNpdCBkZXBlbmRlbmN5IGluY2x1ZGVzIGEgZGVwZW5kZW5jeSBvbiBhbnkgcGVuZGluZyBwb2xpY3kgdXBkYXRlc1xuICAgICAgICAvLyBkZWZpbmVkIGluIHRoZSBzYW1lIHN0YWNrIGFzIHRoZSBzZXJ2aWNlIGRlcGxveWVyLCB3aGljaCBzZWVtcyB0byBoZWxwLiBTb21lIHByb3BhZ2F0aW9uIGRlbGF5IG1pZ2h0IHN0aWxsIG1lYW5cbiAgICAgICAgLy8gd2UgbGVhbiBvbiByZXRyaWVzIGluIHRoZSBkZXBsb3llciBldmVudCBoYW5kbGVyIGluIGFueSBldmVudCBidXQgdGhpcyByZWR1Y2VzIHRoZSBwcm9iYWJpbGl0eSBvZiBmYWlsdXJlLlxuICAgICAgICBkZXBsb3ltZW50Lm5vZGUuYWRkRGVwZW5kZW5jeSh0aGlzLmludm9jYXRpb25Qb2xpY3kpO1xuICAgICAgICB0aGlzLmludm9jYXRpb25Qb2xpY3kuYXR0YWNoVG9Sb2xlKGVudmlyb25tZW50Lmludm9rZXJSb2xlKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaW52b2NhdGlvblBvbGljeS5hZGRTdGF0ZW1lbnRzKFxuICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgYWN0aW9uczogW1wibGFtYmRhOkludm9rZUZ1bmN0aW9uXCJdLFxuICAgICAgICAgIHJlc291cmNlczogaGFuZGxlci5sYW1iZGEucmVzb3VyY2VBcm5zRm9yR3JhbnRJbnZva2UsXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -58,6 +58,12 @@ export interface SingleNodeRestateProps {
|
|
|
58
58
|
totalMemorySize?: cdk.Size;
|
|
59
59
|
};
|
|
60
60
|
};
|
|
61
|
+
/**
|
|
62
|
+
* Environment properties to set for Restate. This is a simple way to pass custom configuration parameters.
|
|
63
|
+
*/
|
|
64
|
+
environment?: {
|
|
65
|
+
[key: string]: string;
|
|
66
|
+
};
|
|
61
67
|
/**
|
|
62
68
|
* Completely override the Restate server configuration. Note that other Restate configuration options
|
|
63
69
|
* will effectively be ignored if this is set. See https://docs.restate.dev/operate/configuration/server/
|