@fjall/components-infrastructure 0.1.35 → 0.1.37

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.
@@ -0,0 +1,16 @@
1
+ import { Construct } from "constructs";
2
+ import { Group } from "../../resources/aws/iam/identityCenter/group";
3
+ export interface User {
4
+ email: string;
5
+ firstName: string;
6
+ lastName: string;
7
+ groups: string[];
8
+ }
9
+ interface IdentityCenterUserProps {
10
+ identityStoreId: string;
11
+ identityCenterGroups: Group[];
12
+ }
13
+ export declare class IdentityCenterUser extends Construct {
14
+ constructor(scope: Construct, id: string, props: IdentityCenterUserProps);
15
+ }
16
+ export {};
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IdentityCenterUser = void 0;
4
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
5
+ const customResources = require("aws-cdk-lib/custom-resources");
6
+ const constructs_1 = require("constructs");
7
+ const awsCustomResource_1 = require("../../resources/aws/utilities/awsCustomResource");
8
+ const usersConfig_1 = require("../../utils/usersConfig");
9
+ const capitalizeString_1 = require("../../utils/capitalizeString");
10
+ class IdentityCenterUser extends constructs_1.Construct {
11
+ constructor(scope, id, props) {
12
+ super(scope, id);
13
+ const users = new usersConfig_1.default().getUsers();
14
+ const identityStoreId = props.identityStoreId;
15
+ const userCount = users.length;
16
+ for (let i = 0; i < userCount; i++) {
17
+ const user = users[i];
18
+ const givenName = (0, capitalizeString_1.capitalizeString)(user.firstName);
19
+ const familyName = (0, capitalizeString_1.capitalizeString)(user.lastName);
20
+ const userParams = {
21
+ IdentityStoreId: identityStoreId,
22
+ UserName: user.email,
23
+ DisplayName: `${givenName} ${familyName}`,
24
+ Name: {
25
+ FamilyName: user.lastName,
26
+ GivenName: user.firstName
27
+ },
28
+ Emails: [
29
+ {
30
+ Primary: true,
31
+ Value: user.email
32
+ }
33
+ ]
34
+ };
35
+ const createUser = new awsCustomResource_1.AwsCustomResource(this, `createUser${givenName}${familyName}`, {
36
+ functionName: "createUsers",
37
+ onCreate: {
38
+ service: "IdentityStore",
39
+ action: "createUser",
40
+ parameters: userParams,
41
+ physicalResourceId: customResources.PhysicalResourceId.of("createUsers")
42
+ },
43
+ onUpdate: {
44
+ service: "IdentityStore",
45
+ action: "updateUser",
46
+ parameters: userParams,
47
+ physicalResourceId: customResources.PhysicalResourceId.of("updateUsers")
48
+ },
49
+ resourceType: "Custom::IdentityCenterUsers"
50
+ });
51
+ new awsCustomResource_1.AwsCustomResource(this, `deleteUser${givenName}${familyName}`, {
52
+ functionName: "deleteUsers",
53
+ onDelete: {
54
+ service: "IdentityStore",
55
+ action: "deleteUser",
56
+ parameters: {
57
+ IdentityStoreId: identityStoreId,
58
+ UserId: createUser.getResponseField("UserId")
59
+ }
60
+ },
61
+ resourceType: "Custom::IdentityCenterUsers"
62
+ });
63
+ new aws_cdk_lib_1.CfnOutput(this, `UserId${givenName}${familyName}`, {
64
+ key: `UserId${givenName}${familyName}`,
65
+ value: createUser.getResponseField("UserId"),
66
+ exportName: `UserId${givenName}${familyName}`
67
+ });
68
+ // props.identityCenterGroups.forEach((identityCenterGroup))
69
+ user.groups.forEach((group) => {
70
+ const identityCenterGroup = props.identityCenterGroups.find((identityCenterGroup) => identityCenterGroup.displayName === group);
71
+ if (!identityCenterGroup) {
72
+ throw new Error(`Group ${group} does not exist in Identity Center Groups`);
73
+ }
74
+ const groupId = identityCenterGroup.attrGroupId;
75
+ const groupName = identityCenterGroup.displayName;
76
+ const groupMembershipId = new awsCustomResource_1.AwsCustomResource(this, `createGroupMembership${givenName}${familyName}To${groupName}`, {
77
+ functionName: "createGroupMembership",
78
+ onCreate: {
79
+ service: "IdentityStore",
80
+ action: "createGroupMembership",
81
+ parameters: {
82
+ GroupId: groupId,
83
+ IdentityStoreId: identityStoreId,
84
+ MemberId: {
85
+ UserId: createUser.getResponseField("UserId")
86
+ }
87
+ },
88
+ physicalResourceId: customResources.PhysicalResourceId.of(`createGroupMembership${groupName}`)
89
+ },
90
+ onUpdate: {
91
+ service: "IdentityStore",
92
+ action: "createGroupMembership",
93
+ parameters: {
94
+ GroupId: groupId,
95
+ IdentityStoreId: identityStoreId,
96
+ MemberId: {
97
+ UserId: createUser.getResponseField("UserId")
98
+ }
99
+ },
100
+ physicalResourceId: customResources.PhysicalResourceId.of(`updateGroupMembership${groupName}`)
101
+ }
102
+ });
103
+ new awsCustomResource_1.AwsCustomResource(this, `deleteGroupMembership${givenName}${familyName}From${groupName}`, {
104
+ functionName: "deleteGroupMembership",
105
+ onDelete: {
106
+ service: "IdentityStore",
107
+ action: "deleteGroupMembership",
108
+ parameters: {
109
+ IdentityStoreId: identityStoreId,
110
+ MembershipId: groupMembershipId.getResponseField("MembershipId")
111
+ }
112
+ },
113
+ resourceType: "Custom::IdentityCenterUsers"
114
+ });
115
+ new aws_cdk_lib_1.CfnOutput(this, `GroupMembershipId${givenName}${familyName}${groupName}`, {
116
+ key: `GroupMembershipId${givenName}${familyName}${groupName}`,
117
+ value: groupMembershipId.getResponseField("MembershipId"),
118
+ exportName: `GroupMembershipId${givenName}${familyName}${groupName}`
119
+ });
120
+ });
121
+ }
122
+ }
123
+ }
124
+ exports.IdentityCenterUser = IdentityCenterUser;
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpdHlDZW50ZXJVc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL2NvbmZpZy9hd3MvaWRlbnRpdHlDZW50ZXJVc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUF3QztBQUN4QyxnRUFBZ0U7QUFDaEUsMkNBQXVDO0FBQ3ZDLHVGQUFvRjtBQUNwRix5REFBa0Q7QUFFbEQsbUVBQWdFO0FBNEJoRSxNQUFhLGtCQUFtQixTQUFRLHNCQUFTO0lBQy9DLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBOEI7UUFDdEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLEtBQUssR0FBVyxJQUFJLHFCQUFXLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNuRCxNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDO1FBRTlDLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDL0IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNsQyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEIsTUFBTSxTQUFTLEdBQUcsSUFBQSxtQ0FBZ0IsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDbkQsTUFBTSxVQUFVLEdBQUcsSUFBQSxtQ0FBZ0IsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbkQsTUFBTSxVQUFVLEdBQXlCO2dCQUN2QyxlQUFlLEVBQUUsZUFBZTtnQkFDaEMsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNwQixXQUFXLEVBQUUsR0FBRyxTQUFTLElBQUksVUFBVSxFQUFFO2dCQUN6QyxJQUFJLEVBQUU7b0JBQ0osVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRO29CQUN6QixTQUFTLEVBQUUs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Q0FDRjtBQXZKRCxnREF1SkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5PdXRwdXQgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCAqIGFzIGN1c3RvbVJlc291cmNlcyBmcm9tIFwiYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlc1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEF3c0N1c3RvbVJlc291cmNlIH0gZnJvbSBcIi4uLy4uL3Jlc291cmNlcy9hd3MvdXRpbGl0aWVzL2F3c0N1c3RvbVJlc291cmNlXCI7XG5pbXBvcnQgVXNlcnNDb25maWcgZnJvbSBcIi4uLy4uL3V0aWxzL3VzZXJzQ29uZmlnXCI7XG5pbXBvcnQgeyBHcm91cCB9IGZyb20gXCIuLi8uLi9yZXNvdXJjZXMvYXdzL2lhbS9pZGVudGl0eUNlbnRlci9ncm91cFwiO1xuaW1wb3J0IHsgY2FwaXRhbGl6ZVN0cmluZyB9IGZyb20gXCIuLi8uLi91dGlscy9jYXBpdGFsaXplU3RyaW5nXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlciB7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIGZpcnN0TmFtZTogc3RyaW5nO1xuICBsYXN0TmFtZTogc3RyaW5nO1xuICBncm91cHM6IHN0cmluZ1tdO1xufVxuXG5pbnRlcmZhY2UgY3JlYXRlVXNlclBhcmFtZXRlcnMge1xuICBJZGVudGl0eVN0b3JlSWQ6IHN0cmluZztcbiAgVXNlck5hbWU6IHN0cmluZztcbiAgRGlzcGxheU5hbWU6IHN0cmluZztcbiAgTmFtZToge1xuICAgIEZhbWlseU5hbWU6IHN0cmluZztcbiAgICBHaXZlbk5hbWU6IHN0cmluZztcbiAgfTtcbiAgRW1haWxzOiB7XG4gICAgUHJpbWFyeTogYm9vbGVhbjtcbiAgICBWYWx1ZTogc3RyaW5nO1xuICB9W107XG59XG5cbmludGVyZmFjZSBJZGVudGl0eUNlbnRlclVzZXJQcm9wcyB7XG4gIGlkZW50aXR5U3RvcmVJZDogc3RyaW5nO1xuICBpZGVudGl0eUNlbnRlckdyb3VwczogR3JvdXBbXTtcbn1cblxuZXhwb3J0IGNsYXNzIElkZW50aXR5Q2VudGVyVXNlciBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBJZGVudGl0eUNlbnRlclVzZXJQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCB1c2VyczogVXNlcltdID0gbmV3IFVzZXJzQ29uZmlnKCkuZ2V0VXNlcnMoKTtcbiAgICBjb25zdCBpZGVudGl0eVN0b3JlSWQgPSBwcm9wcy5pZGVudGl0eVN0b3JlSWQ7XG5cbiAgICBjb25zdCB1c2VyQ291bnQgPSB1c2Vycy5sZW5ndGg7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB1c2VyQ291bnQ7IGkrKykge1xuICAgICAgY29uc3QgdXNlciA9IHVzZXJzW2ldO1xuICAgICAgY29uc3QgZ2l2ZW5OYW1lID0gY2FwaXRhbGl6ZVN0cmluZyh1c2VyLmZpcnN0TmFtZSk7XG4gICAgICBjb25zdCBmYW1pbHlOYW1lID0gY2FwaXRhbGl6ZVN0cmluZyh1c2VyLmxhc3ROYW1lKTtcbiAgICAgIGNvbnN0IHVzZXJQYXJhbXM6IGNyZWF0ZVVzZXJQYXJhbWV0ZXJzID0ge1xuICAgICAgICBJZGVudGl0eVN0b3JlSWQ6IGlkZW50aXR5U3RvcmVJZCxcbiAgICAgICAgVXNlck5hbWU6IHVzZXIuZW1haWwsXG4gICAgICAgIERpc3BsYXlOYW1lOiBgJHtnaXZlbk5hbWV9ICR7ZmFtaWx5TmFtZX1gLFxuICAgICAgICBOYW1lOiB7XG4gICAgICAgICAgRmFtaWx5TmFtZTogdXNlci5sYXN0TmFtZSxcbiAgICAgICAgICBHaXZlbk5hbWU6IHVzZXIuZmlyc3ROYW1lXG4gICAgICAgIH0sXG4gICAgICAgIEVtYWlsczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFByaW1hcnk6IHRydWUsXG4gICAgICAgICAgICBWYWx1ZTogdXNlci5lbWFpbFxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfTtcblxuICAgICAgY29uc3QgY3JlYXRlVXNlciA9IG5ldyBBd3NDdXN0b21SZXNvdXJjZShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgYGNyZWF0ZVVzZXIke2dpdmVuTmFtZX0ke2ZhbWlseU5hbWV9YCxcbiAgICAgICAge1xuICAgICAgICAgIGZ1bmN0aW9uTmFtZTogXCJjcmVhdGVVc2Vyc1wiLFxuICAgICAgICAgIG9uQ3JlYXRlOiB7XG4gICAgICAgICAgICBzZXJ2aWNlOiBcIklkZW50aXR5U3RvcmVcIixcbiAgICAgICAgICAgIGFjdGlvbjogXCJjcmVhdGVVc2VyXCIsIC8vIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NKYXZhU2NyaXB0U0RLL2xhdGVzdC9BV1MvSWRlbnRpdHlTdG9yZS5odG1sI2NyZWF0ZVVzZXItcHJvcGVydHlcbiAgICAgICAgICAgIHBhcmFtZXRlcnM6IHVzZXJQYXJhbXMsXG4gICAgICAgICAgICBwaHlzaWNhbFJlc291cmNlSWQ6XG4gICAgICAgICAgICAgIGN1c3RvbVJlc291cmNlcy5QaHlzaWNhbFJlc291cmNlSWQub2YoXCJjcmVhdGVVc2Vyc1wiKVxuICAgICAgICAgIH0sXG4gICAgICAgICAgb25VcGRhdGU6IHtcbiAgICAgICAgICAgIHNlcnZpY2U6IFwiSWRlbnRpdHlTdG9yZVwiLFxuICAgICAgICAgICAgYWN0aW9uOiBcInVwZGF0ZVVzZXJcIixcbiAgICAgICAgICAgIHBhcmFtZXRlcnM6IHVzZXJQYXJhbXMsXG4gICAgICAgICAgICBwaHlzaWNhbFJlc291cmNlSWQ6XG4gICAgICAgICAgICAgIGN1c3RvbVJlc291cmNlcy5QaHlzaWNhbFJlc291cmNlSWQub2YoXCJ1cGRhdGVVc2Vyc1wiKVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVzb3VyY2VUeXBlOiBcIkN1c3RvbTo6SWRlbnRpdHlDZW50ZXJVc2Vyc1wiXG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICAgIG5ldyBBd3NDdXN0b21SZXNvdXJjZSh0aGlzLCBgZGVsZXRlVXNlciR7Z2l2ZW5OYW1lfSR7ZmFtaWx5TmFtZX1gLCB7XG4gICAgICAgIGZ1bmN0aW9uTmFtZTogXCJkZWxldGVVc2Vyc1wiLFxuICAgICAgICBvbkRlbGV0ZToge1xuICAgICAgICAgIHNlcnZpY2U6IFwiSWRlbnRpdHlTdG9yZVwiLFxuICAgICAgICAgIGFjdGlvbjogXCJkZWxldGVVc2VyXCIsIC8vIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NKYXZhU2NyaXB0U0RLL2xhdGVzdC9BV1MvSWRlbnRpdHlTdG9yZS5odG1sI2RlbGV0ZVVzZXItcHJvcGVydHlcbiAgICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgICBJZGVudGl0eVN0b3JlSWQ6IGlkZW50aXR5U3RvcmVJZCxcbiAgICAgICAgICAgIFVzZXJJZDogY3JlYXRlVXNlci5nZXRSZXNwb25zZUZpZWxkKFwiVXNlcklkXCIpXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICByZXNvdXJjZVR5cGU6IFwiQ3VzdG9tOjpJZGVudGl0eUNlbnRlclVzZXJzXCJcbiAgICAgIH0pO1xuXG4gICAgICBuZXcgQ2ZuT3V0cHV0KHRoaXMsIGBVc2VySWQke2dpdmVuTmFtZX0ke2ZhbWlseU5hbWV9YCwge1xuICAgICAgICBrZXk6IGBVc2VySWQke2dpdmVuTmFtZX0ke2ZhbWlseU5hbWV9YCxcbiAgICAgICAgdmFsdWU6IGNyZWF0ZVVzZXIuZ2V0UmVzcG9uc2VGaWVsZChcIlVzZXJJZFwiKSxcbiAgICAgICAgZXhwb3J0TmFtZTogYFVzZXJJZCR7Z2l2ZW5OYW1lfSR7ZmFtaWx5TmFtZX1gXG4gICAgICB9KTtcblxuICAgICAgLy8gcHJvcHMuaWRlbnRpdHlDZW50ZXJHcm91cHMuZm9yRWFjaCgoaWRlbnRpdHlDZW50ZXJHcm91cCkpXG5cbiAgICAgIHVzZXIuZ3JvdXBzLmZvckVhY2goKGdyb3VwKSA9PiB7XG4gICAgICAgIGNvbnN0IGlkZW50aXR5Q2VudGVyR3JvdXAgPSBwcm9wcy5pZGVudGl0eUNlbnRlckdyb3Vwcy5maW5kKFxuICAgICAgICAgIChpZGVudGl0eUNlbnRlckdyb3VwKSA9PiBpZGVudGl0eUNlbnRlckdyb3VwLmRpc3BsYXlOYW1lID09PSBncm91cFxuICAgICAgICApO1xuXG4gICAgICAgIGlmICghaWRlbnRpdHlDZW50ZXJHcm91cCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBHcm91cCAke2dyb3VwfSBkb2VzIG5vdCBleGlzdCBpbiBJZGVudGl0eSBDZW50ZXIgR3JvdXBzYFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBncm91cElkID0gaWRlbnRpdHlDZW50ZXJHcm91cC5hdHRyR3JvdXBJZDtcbiAgICAgICAgY29uc3QgZ3JvdXBOYW1lID0gaWRlbnRpdHlDZW50ZXJHcm91cC5kaXNwbGF5TmFtZTtcblxuICAgICAgICBjb25zdCBncm91cE1lbWJlcnNoaXBJZCA9IG5ldyBBd3NDdXN0b21SZXNvdXJjZShcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIGBjcmVhdGVHcm91cE1lbWJlcnNoaXAke2dpdmVuTmFtZX0ke2ZhbWlseU5hbWV9VG8ke2dyb3VwTmFtZX1gLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZ1bmN0aW9uTmFtZTogXCJjcmVhdGVHcm91cE1lbWJlcnNoaXBcIixcbiAgICAgICAgICAgIG9uQ3JlYXRlOiB7XG4gICAgICAgICAgICAgIHNlcnZpY2U6IFwiSWRlbnRpdHlTdG9yZVwiLFxuICAgICAgICAgICAgICBhY3Rpb246IFwiY3JlYXRlR3JvdXBNZW1iZXJzaGlwXCIsXG4gICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgICBHcm91cElkOiBncm91cElkLFxuICAgICAgICAgICAgICAgIElkZW50aXR5U3RvcmVJZDogaWRlbnRpdHlTdG9yZUlkLFxuICAgICAgICAgICAgICAgIE1lbWJlcklkOiB7XG4gICAgICAgICAgICAgICAgICBVc2VySWQ6IGNyZWF0ZVVzZXIuZ2V0UmVzcG9uc2VGaWVsZChcIlVzZXJJZFwiKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgcGh5c2ljYWxSZXNvdXJjZUlkOiBjdXN0b21SZXNvdXJjZXMuUGh5c2ljYWxSZXNvdXJjZUlkLm9mKFxuICAgICAgICAgICAgICAgIGBjcmVhdGVHcm91cE1lbWJlcnNoaXAke2dyb3VwTmFtZX1gXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvblVwZGF0ZToge1xuICAgICAgICAgICAgICBzZXJ2aWNlOiBcIklkZW50aXR5U3RvcmVcIixcbiAgICAgICAgICAgICAgYWN0aW9uOiBcImNyZWF0ZUdyb3VwTWVtYmVyc2hpcFwiLFxuICAgICAgICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgICAgICAgR3JvdXBJZDogZ3JvdXBJZCxcbiAgICAgICAgICAgICAgICBJZGVudGl0eVN0b3JlSWQ6IGlkZW50aXR5U3RvcmVJZCxcbiAgICAgICAgICAgICAgICBNZW1iZXJJZDoge1xuICAgICAgICAgICAgICAgICAgVXNlcklkOiBjcmVhdGVVc2VyLmdldFJlc3BvbnNlRmllbGQoXCJVc2VySWRcIilcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHBoeXNpY2FsUmVzb3VyY2VJZDogY3VzdG9tUmVzb3VyY2VzLlBoeXNpY2FsUmVzb3VyY2VJZC5vZihcbiAgICAgICAgICAgICAgICBgdXBkYXRlR3JvdXBNZW1iZXJzaGlwJHtncm91cE5hbWV9YFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICApO1xuXG4gICAgICAgIG5ldyBBd3NDdXN0b21SZXNvdXJjZShcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIGBkZWxldGVHcm91cE1lbWJlcnNoaXAke2dpdmVuTmFtZX0ke2ZhbWlseU5hbWV9RnJvbSR7Z3JvdXBOYW1lfWAsXG4gICAgICAgICAge1xuICAgICAgICAgICAgZnVuY3Rpb25OYW1lOiBcImRlbGV0ZUdyb3VwTWVtYmVyc2hpcFwiLFxuICAgICAgICAgICAgb25EZWxldGU6IHtcbiAgICAgICAgICAgICAgc2VydmljZTogXCJJZGVudGl0eVN0b3JlXCIsXG4gICAgICAgICAgICAgIGFjdGlvbjogXCJkZWxldGVHcm91cE1lbWJlcnNoaXBcIixcbiAgICAgICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgICAgIElkZW50aXR5U3RvcmVJZDogaWRlbnRpdHlTdG9yZUlkLFxuICAgICAgICAgICAgICAgIE1lbWJlcnNoaXBJZDogZ3JvdXBNZW1iZXJzaGlwSWQuZ2V0UmVzcG9uc2VGaWVsZChcIk1lbWJlcnNoaXBJZFwiKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVzb3VyY2VUeXBlOiBcIkN1c3RvbTo6SWRlbnRpdHlDZW50ZXJVc2Vyc1wiXG4gICAgICAgICAgfVxuICAgICAgICApO1xuXG4gICAgICAgIG5ldyBDZm5PdXRwdXQoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICBgR3JvdXBNZW1iZXJzaGlwSWQke2dpdmVuTmFtZX0ke2ZhbWlseU5hbWV9JHtncm91cE5hbWV9YCxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IGBHcm91cE1lbWJlcnNoaXBJZCR7Z2l2ZW5OYW1lfSR7ZmFtaWx5TmFtZX0ke2dyb3VwTmFtZX1gLFxuICAgICAgICAgICAgdmFsdWU6IGdyb3VwTWVtYmVyc2hpcElkLmdldFJlc3BvbnNlRmllbGQoXCJNZW1iZXJzaGlwSWRcIiksXG4gICAgICAgICAgICBleHBvcnROYW1lOiBgR3JvdXBNZW1iZXJzaGlwSWQke2dpdmVuTmFtZX0ke2ZhbWlseU5hbWV9JHtncm91cE5hbWV9YFxuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,13 +1,21 @@
1
- import { Stack } from "aws-cdk-lib";
1
+ import { Stack, StackProps } from "aws-cdk-lib";
2
2
  import { Construct } from "constructs";
3
- import { Vpc } from "../../resources/aws/networking/vpc";
4
- import { Connections, IConnectable, IVpc } from "aws-cdk-lib/aws-ec2";
3
+ import { Connections, IConnectable, IVpc, SubnetType } from "aws-cdk-lib/aws-ec2";
4
+ interface ExistingVpcConfig {
5
+ vpcId?: string;
6
+ subnetType?: SubnetType;
7
+ }
8
+ interface NewVpcConfig {
9
+ subnetType?: SubnetType;
10
+ accountId: string;
11
+ }
12
+ type VpcProps = ExistingVpcConfig | NewVpcConfig;
5
13
  type DatabaseType = "Aurora" | "Instance" | "FreeTier";
6
- interface DatabaseProps {
14
+ interface DatabaseProps extends StackProps {
7
15
  type: DatabaseType;
8
16
  databaseName: string;
9
- vpc?: Vpc;
10
- tags?: {
17
+ vpc: VpcProps;
18
+ tags: {
11
19
  [key: string]: string;
12
20
  };
13
21
  }
@@ -16,6 +24,7 @@ export declare class Database extends Stack implements IConnectable {
16
24
  vpc: IVpc;
17
25
  private database;
18
26
  constructor(scope: Construct, id: string, props: DatabaseProps);
27
+ addVpc(props: DatabaseProps): void;
19
28
  addDatabase(props: DatabaseProps): void;
20
29
  }
21
30
  export {};
@@ -3,32 +3,46 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Database = void 0;
4
4
  const aws_cdk_lib_1 = require("aws-cdk-lib");
5
5
  const database_1 = require("../../resources/aws/database");
6
+ const vpc_1 = require("../../resources/aws/networking/vpc");
6
7
  class Database extends aws_cdk_lib_1.Stack {
7
8
  constructor(scope, id, props) {
8
- super(scope, id);
9
+ super(scope, id, props);
10
+ this.addVpc(props);
9
11
  this.addDatabase(props);
10
12
  }
13
+ addVpc(props) {
14
+ if ("vpcId" in props.vpc) {
15
+ const vpcConfig = props.vpc;
16
+ this.vpc = vpc_1.Vpc.fromLookup(this, `${props.databaseName}Vpc`, {
17
+ vpcId: vpcConfig.vpcId
18
+ });
19
+ }
20
+ else {
21
+ const vpcConfig = props.vpc;
22
+ this.vpc = new vpc_1.Vpc(this, `${props.databaseName}`, {
23
+ accountId: vpcConfig.accountId,
24
+ tags: props.tags
25
+ });
26
+ }
27
+ }
11
28
  addDatabase(props) {
12
29
  if (props.type === "Aurora") {
13
- if (!props.vpc) {
14
- throw new Error("VPC is required for Aurora database");
15
- }
16
30
  this.database = new database_1.RdsAurora(this, `${props.databaseName}Rds`, {
17
- vpc: props.vpc,
31
+ vpc: this.vpc,
18
32
  databaseName: props.databaseName,
19
33
  tags: props.tags || {}
20
34
  });
21
35
  }
22
36
  else if (props.type === "Instance") {
23
37
  this.database = new database_1.RdsInstance(this, `${props.databaseName}Rds`, {
24
- vpc: props.vpc,
38
+ vpc: this.vpc,
25
39
  databaseName: props.databaseName,
26
40
  tags: props.tags || {}
27
41
  });
28
42
  }
29
43
  else if (props.type === "FreeTier") {
30
44
  this.database = new database_1.RdsFreeTier(this, `${props.databaseName}Rds`, {
31
- vpc: props.vpc,
45
+ vpc: this.vpc,
32
46
  databaseName: props.databaseName,
33
47
  tags: props.tags || {}
34
48
  });
@@ -40,4 +54,4 @@ class Database extends aws_cdk_lib_1.Stack {
40
54
  }
41
55
  }
42
56
  exports.Database = Database;
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvcGF0dGVybnMvYXdzL2RhdGFiYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFvQztBQUVwQywyREFJc0M7QUFhdEMsTUFBYSxRQUFTLFNBQVEsbUJBQUs7SUFNakMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFvQjtRQUM1RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFvQjtRQUM5QixJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDZixNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7WUFDekQsQ0FBQztZQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxvQkFBUyxDQUFDLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxZQUFZLEtBQUssRUFBRTtnQkFDOUQsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO2dCQUNkLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtnQkFDaEMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksRUFBRTthQUN2QixDQUFDLENBQUM7UUFDTCxDQUFDO2FBQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxzQkFBVyxDQUFDLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxZQUFZLEtBQUssRUFBRTtnQkFDaEUsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO2dCQUNkLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtnQkFDaEMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksRUFBRTthQUN2QixDQUFDLENBQUM7UUFDTCxDQUFDO2FBQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxzQkFBVyxDQUFDLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxZQUFZLEtBQUssRUFBRTtnQkFDaEUsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO2dCQUNkLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtnQkFDaEMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksRUFBRTthQUN2QixDQUFDLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUMzQyxDQUFDO1FBRUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztJQUMvQyxDQUFDO0NBQ0Y7QUF4Q0QsNEJBd0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhY2sgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBSZHNBdXJvcmEsXG4gIFJkc0ZyZWVUaWVyLFxuICBSZHNJbnN0YW5jZVxufSBmcm9tIFwiLi4vLi4vcmVzb3VyY2VzL2F3cy9kYXRhYmFzZVwiO1xuaW1wb3J0IHsgVnBjIH0gZnJvbSBcIi4uLy4uL3Jlc291cmNlcy9hd3MvbmV0d29ya2luZy92cGNcIjtcbmltcG9ydCB7IENvbm5lY3Rpb25zLCBJQ29ubmVjdGFibGUsIElWcGMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuXG50eXBlIERhdGFiYXNlVHlwZSA9IFwiQXVyb3JhXCIgfCBcIkluc3RhbmNlXCIgfCBcIkZyZWVUaWVyXCI7XG5cbmludGVyZmFjZSBEYXRhYmFzZVByb3BzIHtcbiAgdHlwZTogRGF0YWJhc2VUeXBlO1xuICBkYXRhYmFzZU5hbWU6IHN0cmluZztcbiAgdnBjPzogVnBjO1xuICB0YWdzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGNsYXNzIERhdGFiYXNlIGV4dGVuZHMgU3RhY2sgaW1wbGVtZW50cyBJQ29ubmVjdGFibGUge1xuICBwdWJsaWMgY29ubmVjdGlvbnM6IENvbm5lY3Rpb25zO1xuICBwdWJsaWMgdnBjOiBJVnBjO1xuXG4gIHByaXZhdGUgZGF0YWJhc2U6IFJkc0F1cm9yYSB8IFJkc0luc3RhbmNlIHwgUmRzRnJlZVRpZXI7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERhdGFiYXNlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy5hZGREYXRhYmFzZShwcm9wcyk7XG4gIH1cblxuICBhZGREYXRhYmFzZShwcm9wczogRGF0YWJhc2VQcm9wcykge1xuICAgIGlmIChwcm9wcy50eXBlID09PSBcIkF1cm9yYVwiKSB7XG4gICAgICBpZiAoIXByb3BzLnZwYykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJWUEMgaXMgcmVxdWlyZWQgZm9yIEF1cm9yYSBkYXRhYmFzZVwiKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZGF0YWJhc2UgPSBuZXcgUmRzQXVyb3JhKHRoaXMsIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1SZHNgLCB7XG4gICAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgICBkYXRhYmFzZU5hbWU6IHByb3BzLmRhdGFiYXNlTmFtZSxcbiAgICAgICAgdGFnczogcHJvcHMudGFncyB8fCB7fVxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChwcm9wcy50eXBlID09PSBcIkluc3RhbmNlXCIpIHtcbiAgICAgIHRoaXMuZGF0YWJhc2UgPSBuZXcgUmRzSW5zdGFuY2UodGhpcywgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVJkc2AsIHtcbiAgICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICAgIGRhdGFiYXNlTmFtZTogcHJvcHMuZGF0YWJhc2VOYW1lLFxuICAgICAgICB0YWdzOiBwcm9wcy50YWdzIHx8IHt9XG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHByb3BzLnR5cGUgPT09IFwiRnJlZVRpZXJcIikge1xuICAgICAgdGhpcy5kYXRhYmFzZSA9IG5ldyBSZHNGcmVlVGllcih0aGlzLCBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9UmRzYCwge1xuICAgICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgICAgZGF0YWJhc2VOYW1lOiBwcm9wcy5kYXRhYmFzZU5hbWUsXG4gICAgICAgIHRhZ3M6IHByb3BzLnRhZ3MgfHwge31cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIGRhdGFiYXNlIHR5cGVcIik7XG4gICAgfVxuXG4gICAgdGhpcy5jb25uZWN0aW9ucyA9IHRoaXMuZGF0YWJhc2UuY29ubmVjdGlvbnM7XG4gIH1cbn1cbiJdfQ==
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvcGF0dGVybnMvYXdzL2RhdGFiYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFnRDtBQUVoRCwyREFJc0M7QUFDdEMsNERBQXlEO0FBNkJ6RCxNQUFhLFFBQVMsU0FBUSxtQkFBSztJQU1qQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQW9CO1FBQzVELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQW9CO1FBQ3pCLElBQUksT0FBTyxJQUFJLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUN6QixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsR0FBd0IsQ0FBQztZQUNqRCxJQUFJLENBQUMsR0FBRyxHQUFHLFNBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLFlBQVksS0FBSyxFQUFFO2dCQUMxRCxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUs7YUFDdkIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsR0FBbUIsQ0FBQztZQUM1QyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksU0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxZQUFZLEVBQUUsRUFBRTtnQkFDaEQsU0FBUyxFQUFFLFNBQVMsQ0FBQyxTQUFTO2dCQUM5QixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7YUFDakIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsS0FBb0I7UUFDOUIsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxvQkFBUyxDQUFDLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxZQUFZLEtBQUssRUFBRTtnQkFDOUQsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO2dCQUNiLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtnQkFDaEMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksRUFBRTthQUN2QixDQUFDLENBQUM7UUFDTCxDQUFDO2FBQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxzQkFBVyxDQUFDLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxZQUFZLEtBQUssRUFBRTtnQkFDaEUsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO2dCQUNiLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtnQkFDaEMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksRUFBRTthQUN2QixDQUFDLENBQUM7UUFDTCxDQUFDO2FBQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxzQkFBVyxDQUFDLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxZQUFZLEtBQUssRUFBRTtnQkFDaEUsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO2dCQUNiLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtnQkFDaEMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksRUFBRTthQUN2QixDQUFDLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUMzQyxDQUFDO1FBRUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztJQUMvQyxDQUFDO0NBQ0Y7QUFyREQsNEJBcURDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhY2ssIFN0YWNrUHJvcHMgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBSZHNBdXJvcmEsXG4gIFJkc0ZyZWVUaWVyLFxuICBSZHNJbnN0YW5jZVxufSBmcm9tIFwiLi4vLi4vcmVzb3VyY2VzL2F3cy9kYXRhYmFzZVwiO1xuaW1wb3J0IHsgVnBjIH0gZnJvbSBcIi4uLy4uL3Jlc291cmNlcy9hd3MvbmV0d29ya2luZy92cGNcIjtcbmltcG9ydCB7XG4gIENvbm5lY3Rpb25zLFxuICBJQ29ubmVjdGFibGUsXG4gIElWcGMsXG4gIFN1Ym5ldFR5cGVcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcblxuaW50ZXJmYWNlIEV4aXN0aW5nVnBjQ29uZmlnIHtcbiAgdnBjSWQ/OiBzdHJpbmc7XG4gIHN1Ym5ldFR5cGU/OiBTdWJuZXRUeXBlO1xufVxuXG5pbnRlcmZhY2UgTmV3VnBjQ29uZmlnIHtcbiAgc3VibmV0VHlwZT86IFN1Ym5ldFR5cGU7XG4gIGFjY291bnRJZDogc3RyaW5nO1xufVxuXG50eXBlIFZwY1Byb3BzID0gRXhpc3RpbmdWcGNDb25maWcgfCBOZXdWcGNDb25maWc7XG5cbnR5cGUgRGF0YWJhc2VUeXBlID0gXCJBdXJvcmFcIiB8IFwiSW5zdGFuY2VcIiB8IFwiRnJlZVRpZXJcIjtcblxuaW50ZXJmYWNlIERhdGFiYXNlUHJvcHMgZXh0ZW5kcyBTdGFja1Byb3BzIHtcbiAgdHlwZTogRGF0YWJhc2VUeXBlO1xuICBkYXRhYmFzZU5hbWU6IHN0cmluZztcbiAgdnBjOiBWcGNQcm9wcztcbiAgdGFnczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGNsYXNzIERhdGFiYXNlIGV4dGVuZHMgU3RhY2sgaW1wbGVtZW50cyBJQ29ubmVjdGFibGUge1xuICBwdWJsaWMgY29ubmVjdGlvbnM6IENvbm5lY3Rpb25zO1xuICBwdWJsaWMgdnBjOiBJVnBjO1xuXG4gIHByaXZhdGUgZGF0YWJhc2U6IFJkc0F1cm9yYSB8IFJkc0luc3RhbmNlIHwgUmRzRnJlZVRpZXI7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERhdGFiYXNlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIHRoaXMuYWRkVnBjKHByb3BzKTtcbiAgICB0aGlzLmFkZERhdGFiYXNlKHByb3BzKTtcbiAgfVxuXG4gIGFkZFZwYyhwcm9wczogRGF0YWJhc2VQcm9wcykge1xuICAgIGlmIChcInZwY0lkXCIgaW4gcHJvcHMudnBjKSB7XG4gICAgICBjb25zdCB2cGNDb25maWcgPSBwcm9wcy52cGMgYXMgRXhpc3RpbmdWcGNDb25maWc7XG4gICAgICB0aGlzLnZwYyA9IFZwYy5mcm9tTG9va3VwKHRoaXMsIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1WcGNgLCB7XG4gICAgICAgIHZwY0lkOiB2cGNDb25maWcudnBjSWRcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB2cGNDb25maWcgPSBwcm9wcy52cGMgYXMgTmV3VnBjQ29uZmlnO1xuICAgICAgdGhpcy52cGMgPSBuZXcgVnBjKHRoaXMsIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1gLCB7XG4gICAgICAgIGFjY291bnRJZDogdnBjQ29uZmlnLmFjY291bnRJZCxcbiAgICAgICAgdGFnczogcHJvcHMudGFnc1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgYWRkRGF0YWJhc2UocHJvcHM6IERhdGFiYXNlUHJvcHMpIHtcbiAgICBpZiAocHJvcHMudHlwZSA9PT0gXCJBdXJvcmFcIikge1xuICAgICAgdGhpcy5kYXRhYmFzZSA9IG5ldyBSZHNBdXJvcmEodGhpcywgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVJkc2AsIHtcbiAgICAgICAgdnBjOiB0aGlzLnZwYyxcbiAgICAgICAgZGF0YWJhc2VOYW1lOiBwcm9wcy5kYXRhYmFzZU5hbWUsXG4gICAgICAgIHRhZ3M6IHByb3BzLnRhZ3MgfHwge31cbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAocHJvcHMudHlwZSA9PT0gXCJJbnN0YW5jZVwiKSB7XG4gICAgICB0aGlzLmRhdGFiYXNlID0gbmV3IFJkc0luc3RhbmNlKHRoaXMsIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1SZHNgLCB7XG4gICAgICAgIHZwYzogdGhpcy52cGMsXG4gICAgICAgIGRhdGFiYXNlTmFtZTogcHJvcHMuZGF0YWJhc2VOYW1lLFxuICAgICAgICB0YWdzOiBwcm9wcy50YWdzIHx8IHt9XG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHByb3BzLnR5cGUgPT09IFwiRnJlZVRpZXJcIikge1xuICAgICAgdGhpcy5kYXRhYmFzZSA9IG5ldyBSZHNGcmVlVGllcih0aGlzLCBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9UmRzYCwge1xuICAgICAgICB2cGM6IHRoaXMudnBjLFxuICAgICAgICBkYXRhYmFzZU5hbWU6IHByb3BzLmRhdGFiYXNlTmFtZSxcbiAgICAgICAgdGFnczogcHJvcHMudGFncyB8fCB7fVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgZGF0YWJhc2UgdHlwZVwiKTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbm5lY3Rpb25zID0gdGhpcy5kYXRhYmFzZS5jb25uZWN0aW9ucztcbiAgfVxufVxuIl19
@@ -4,7 +4,7 @@ import { KeyValue } from "../../types";
4
4
  import { VpcProps } from "./ec2";
5
5
  import { Connections } from "aws-cdk-lib/aws-ec2";
6
6
  interface ProxyAgentProps extends StackProps {
7
- accountId: string;
7
+ accountId?: string;
8
8
  vpc: VpcProps;
9
9
  publicKey: string;
10
10
  enableSsh?: boolean;
@@ -30,4 +30,4 @@ class FivetranProxy extends aws_cdk_lib_1.Stack {
30
30
  }
31
31
  }
32
32
  exports.FivetranProxy = FivetranProxy;
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml2ZXRyYW5Qcm94eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9wYXR0ZXJucy9hd3MvZml2ZXRyYW5Qcm94eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBZ0Q7QUFDaEQsK0JBQW9DO0FBSXBDLGlEQUE0RDtBQVk1RCxNQUFhLGFBQWMsU0FBUSxtQkFBSztJQUN0QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1FBQzlELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLE1BQU0sUUFBUSxHQUFHLGtCQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFckMsUUFBUSxDQUFDLFdBQVcsQ0FDbEIsbUJBQW1CLEVBQ25CLGlDQUFpQyxFQUNqQyw4QkFBOEIsRUFDOUIsNkNBQTZDLEVBQzdDLCtCQUErQixFQUMvQixTQUFTLEtBQUssQ0FBQyxTQUFTLHlDQUF5QyxFQUNqRSw2REFBNkQsRUFDN0QsK0NBQStDLENBQ2hELENBQUM7UUFFRixJQUFJLGlCQUFXLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRTtZQUNyQyxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7WUFDMUIsV0FBVyxFQUFFLGVBQWU7WUFDNUIsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1lBQ2QsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZLElBQUksVUFBVTtZQUM5QyxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVMsSUFBSSxJQUFJO1lBQ2xDLEdBQUcsRUFBRTtnQkFDSCxPQUFPLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxPQUFPO2dCQUMzQixNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxNQUFNO2FBQzFCO1lBQ0QsUUFBUSxFQUFFLFFBQVE7WUFDbEIsSUFBSSxFQUFFO2dCQUNKLEdBQUcsS0FBSyxDQUFDLElBQUk7Z0JBQ2Isa0NBQWtDLEVBQUUsWUFBWTtnQkFDaEQsOEJBQThCLEVBQUUsVUFBVTtnQkFDMUMsNEJBQTRCLEVBQUUsTUFBTTthQUNyQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXBDRCxzQ0FvQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGFjaywgU3RhY2tQcm9wcyB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgRWMySW5zdGFuY2UgfSBmcm9tIFwiLi9lYzJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBLZXlWYWx1ZSB9IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuaW1wb3J0IHsgVnBjUHJvcHMgfSBmcm9tIFwiLi9lYzJcIjtcbmltcG9ydCB7IENvbm5lY3Rpb25zLCBVc2VyRGF0YSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5cbmludGVyZmFjZSBQcm94eUFnZW50UHJvcHMgZXh0ZW5kcyBTdGFja1Byb3BzIHtcbiAgYWNjb3VudElkOiBzdHJpbmc7XG4gIHZwYzogVnBjUHJvcHM7XG4gIHB1YmxpY0tleTogc3RyaW5nO1xuICBlbmFibGVTc2g/OiBib29sZWFuO1xuICBpbnN0YW5jZVR5cGU6IHN0cmluZztcbiAgZGF0YWJhc2VDb25uZWN0aW9uPzogQ29ubmVjdGlvbnM7XG4gIHRhZ3M/OiBLZXlWYWx1ZTtcbn1cblxuZXhwb3J0IGNsYXNzIEZpdmV0cmFuUHJveHkgZXh0ZW5kcyBTdGFjayB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQcm94eUFnZW50UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIGNvbnN0IHVzZXJEYXRhID0gVXNlckRhdGEuZm9yTGludXgoKTtcblxuICAgIHVzZXJEYXRhLmFkZENvbW1hbmRzKFxuICAgICAgXCJncm91cGFkZCBmaXZldHJhblwiLFxuICAgICAgXCJ1c2VyYWRkIC1tIC1nIGZpdmV0cmFuIGZpdmV0cmFuXCIsXG4gICAgICBcIm1rZGlyIC1wIC9ob21lL2ZpdmV0cmFuLy5zc2hcIixcbiAgICAgIFwiY2hvd24gZml2ZXRyYW46Zml2ZXRyYW4gL2hvbWUvZml2ZXRyYW4vLnNzaFwiLFxuICAgICAgXCJjaG1vZCA3MDAgL2hvbWUvZml2ZXRyYW4vLnNzaFwiLFxuICAgICAgYGVjaG8gXCIke3Byb3BzLnB1YmxpY0tleX1cIiA+IC9ob21lL2ZpdmV0cmFuLy5zc2gvYXV0aG9yaXplZF9rZXlzYCxcbiAgICAgIFwiY2hvd24gZml2ZXRyYW46Zml2ZXRyYW4gL2hvbWUvZml2ZXRyYW4vLnNzaC9hdXRob3JpemVkX2tleXNcIixcbiAgICAgIFwiY2htb2QgNjAwIC9ob21lL2ZpdmV0cmFuLy5zc2gvYXV0aG9yaXplZF9rZXlzXCJcbiAgICApO1xuXG4gICAgbmV3IEVjMkluc3RhbmNlKHRoaXMsIFwiRml2ZXRyYW5Qcm94eVwiLCB7XG4gICAgICBhY2NvdW50SWQ6IHByb3BzLmFjY291bnRJZCxcbiAgICAgIHNlcnZpY2VOYW1lOiBcImZpdmV0cmFuUHJveHlcIixcbiAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgaW5zdGFuY2VUeXBlOiBwcm9wcy5pbnN0YW5jZVR5cGUgfHwgXCJ0Mi5taWNyb1wiLFxuICAgICAgZW5hYmxlU1NIOiBwcm9wcy5lbmFibGVTc2ggfHwgdHJ1ZSxcbiAgICAgIGVudjoge1xuICAgICAgICBhY2NvdW50OiBwcm9wcy5lbnY/LmFjY291bnQsXG4gICAgICAgIHJlZ2lvbjogcHJvcHMuZW52Py5yZWdpb25cbiAgICAgIH0sXG4gICAgICB1c2VyRGF0YTogdXNlckRhdGEsXG4gICAgICB0YWdzOiB7XG4gICAgICAgIC4uLnByb3BzLnRhZ3MsXG4gICAgICAgIFwiZmphbGw6Y29zdEFsbG9jYXRpb246ZW52aXJvbm1lbnRcIjogXCJwcm9kdWN0aW9uXCIsXG4gICAgICAgIFwiZmphbGw6Y29zdEFsbG9jYXRpb246c2VydmljZVwiOiBcImZpdmV0cmFuXCIsXG4gICAgICAgIFwiZmphbGw6Y29zdEFsbG9jYXRpb246b3duZXJcIjogXCJkYXRhXCJcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml2ZXRyYW5Qcm94eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9wYXR0ZXJucy9hd3MvZml2ZXRyYW5Qcm94eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBZ0Q7QUFDaEQsK0JBQW9DO0FBSXBDLGlEQUE0RDtBQVk1RCxNQUFhLGFBQWMsU0FBUSxtQkFBSztJQUN0QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1FBQzlELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLE1BQU0sUUFBUSxHQUFHLGtCQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFckMsUUFBUSxDQUFDLFdBQVcsQ0FDbEIsbUJBQW1CLEVBQ25CLGlDQUFpQyxFQUNqQyw4QkFBOEIsRUFDOUIsNkNBQTZDLEVBQzdDLCtCQUErQixFQUMvQixTQUFTLEtBQUssQ0FBQyxTQUFTLHlDQUF5QyxFQUNqRSw2REFBNkQsRUFDN0QsK0NBQStDLENBQ2hELENBQUM7UUFFRixJQUFJLGlCQUFXLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRTtZQUNyQyxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7WUFDMUIsV0FBVyxFQUFFLGVBQWU7WUFDNUIsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1lBQ2QsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZLElBQUksVUFBVTtZQUM5QyxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVMsSUFBSSxJQUFJO1lBQ2xDLEdBQUcsRUFBRTtnQkFDSCxPQUFPLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxPQUFPO2dCQUMzQixNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxNQUFNO2FBQzFCO1lBQ0QsUUFBUSxFQUFFLFFBQVE7WUFDbEIsSUFBSSxFQUFFO2dCQUNKLEdBQUcsS0FBSyxDQUFDLElBQUk7Z0JBQ2Isa0NBQWtDLEVBQUUsWUFBWTtnQkFDaEQsOEJBQThCLEVBQUUsVUFBVTtnQkFDMUMsNEJBQTRCLEVBQUUsTUFBTTthQUNyQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXBDRCxzQ0FvQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGFjaywgU3RhY2tQcm9wcyB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgRWMySW5zdGFuY2UgfSBmcm9tIFwiLi9lYzJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBLZXlWYWx1ZSB9IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuaW1wb3J0IHsgVnBjUHJvcHMgfSBmcm9tIFwiLi9lYzJcIjtcbmltcG9ydCB7IENvbm5lY3Rpb25zLCBVc2VyRGF0YSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5cbmludGVyZmFjZSBQcm94eUFnZW50UHJvcHMgZXh0ZW5kcyBTdGFja1Byb3BzIHtcbiAgYWNjb3VudElkPzogc3RyaW5nO1xuICB2cGM6IFZwY1Byb3BzO1xuICBwdWJsaWNLZXk6IHN0cmluZztcbiAgZW5hYmxlU3NoPzogYm9vbGVhbjtcbiAgaW5zdGFuY2VUeXBlOiBzdHJpbmc7XG4gIGRhdGFiYXNlQ29ubmVjdGlvbj86IENvbm5lY3Rpb25zO1xuICB0YWdzPzogS2V5VmFsdWU7XG59XG5cbmV4cG9ydCBjbGFzcyBGaXZldHJhblByb3h5IGV4dGVuZHMgU3RhY2sge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUHJveHlBZ2VudFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICBjb25zdCB1c2VyRGF0YSA9IFVzZXJEYXRhLmZvckxpbnV4KCk7XG5cbiAgICB1c2VyRGF0YS5hZGRDb21tYW5kcyhcbiAgICAgIFwiZ3JvdXBhZGQgZml2ZXRyYW5cIixcbiAgICAgIFwidXNlcmFkZCAtbSAtZyBmaXZldHJhbiBmaXZldHJhblwiLFxuICAgICAgXCJta2RpciAtcCAvaG9tZS9maXZldHJhbi8uc3NoXCIsXG4gICAgICBcImNob3duIGZpdmV0cmFuOmZpdmV0cmFuIC9ob21lL2ZpdmV0cmFuLy5zc2hcIixcbiAgICAgIFwiY2htb2QgNzAwIC9ob21lL2ZpdmV0cmFuLy5zc2hcIixcbiAgICAgIGBlY2hvIFwiJHtwcm9wcy5wdWJsaWNLZXl9XCIgPiAvaG9tZS9maXZldHJhbi8uc3NoL2F1dGhvcml6ZWRfa2V5c2AsXG4gICAgICBcImNob3duIGZpdmV0cmFuOmZpdmV0cmFuIC9ob21lL2ZpdmV0cmFuLy5zc2gvYXV0aG9yaXplZF9rZXlzXCIsXG4gICAgICBcImNobW9kIDYwMCAvaG9tZS9maXZldHJhbi8uc3NoL2F1dGhvcml6ZWRfa2V5c1wiXG4gICAgKTtcblxuICAgIG5ldyBFYzJJbnN0YW5jZSh0aGlzLCBcIkZpdmV0cmFuUHJveHlcIiwge1xuICAgICAgYWNjb3VudElkOiBwcm9wcy5hY2NvdW50SWQsXG4gICAgICBzZXJ2aWNlTmFtZTogXCJmaXZldHJhblByb3h5XCIsXG4gICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgIGluc3RhbmNlVHlwZTogcHJvcHMuaW5zdGFuY2VUeXBlIHx8IFwidDIubWljcm9cIixcbiAgICAgIGVuYWJsZVNTSDogcHJvcHMuZW5hYmxlU3NoIHx8IHRydWUsXG4gICAgICBlbnY6IHtcbiAgICAgICAgYWNjb3VudDogcHJvcHMuZW52Py5hY2NvdW50LFxuICAgICAgICByZWdpb246IHByb3BzLmVudj8ucmVnaW9uXG4gICAgICB9LFxuICAgICAgdXNlckRhdGE6IHVzZXJEYXRhLFxuICAgICAgdGFnczoge1xuICAgICAgICAuLi5wcm9wcy50YWdzLFxuICAgICAgICBcImZqYWxsOmNvc3RBbGxvY2F0aW9uOmVudmlyb25tZW50XCI6IFwicHJvZHVjdGlvblwiLFxuICAgICAgICBcImZqYWxsOmNvc3RBbGxvY2F0aW9uOnNlcnZpY2VcIjogXCJmaXZldHJhblwiLFxuICAgICAgICBcImZqYWxsOmNvc3RBbGxvY2F0aW9uOm93bmVyXCI6IFwiZGF0YVwiXG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,41 @@
1
+ import { Stack } from "aws-cdk-lib";
2
+ import { Construct } from "constructs";
3
+ import { Repository } from "aws-cdk-lib/aws-ecr";
4
+ export interface StackBuilder {
5
+ addConstruct(resource: Construct): StackBuilder;
6
+ addResource(fn: (stackBuilder: StackBuilder) => Construct): StackBuilder;
7
+ addNetwork(resource: Construct): StackBuilder;
8
+ addNetwork(fn: (stackBuilder: StackBuilder) => Construct): StackBuilder;
9
+ addNetwork(resource: Construct | string): StackBuilder;
10
+ getStack(): Stack;
11
+ getNetwork(): Construct;
12
+ }
13
+ export interface AwsStackProps {
14
+ readonly accountId?: string;
15
+ readonly region?: string;
16
+ accountName?: string;
17
+ }
18
+ export default class AwsStack implements StackBuilder {
19
+ readonly resources: {
20
+ [key: string]: Construct;
21
+ };
22
+ private stack;
23
+ private network;
24
+ private containerRegistry;
25
+ constructor(id: string, dependencies?: AwsStack | AwsStack[], props?: AwsStackProps);
26
+ private addDependencies;
27
+ private getCdkStack;
28
+ private getStackProps;
29
+ private isConnectable;
30
+ addConstruct(construct: Construct): AwsStack;
31
+ addResource(fn: (stackBuilder: StackBuilder) => Construct): AwsStack;
32
+ addNetwork(resource: Construct): AwsStack;
33
+ addNetwork(resource: (stackBuilder: StackBuilder) => Construct): AwsStack;
34
+ addContainerRegistry(resource: Repository): AwsStack;
35
+ addContainerRegistry(resource: (stackBuilder: StackBuilder) => Repository): AwsStack;
36
+ getStack(): Stack;
37
+ getNetwork(): Construct;
38
+ getContainerRegistry(): Repository;
39
+ getResource(identifier: string): Construct;
40
+ connect(from: Construct | string, to: Construct | string, port?: number): this;
41
+ }
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
4
+ const aws_ec2_1 = require("aws-cdk-lib/aws-ec2");
5
+ const constructs_1 = require("constructs");
6
+ const app_1 = require("../../app");
7
+ const aws_ecr_1 = require("aws-cdk-lib/aws-ecr");
8
+ class AwsStack {
9
+ constructor(id, dependencies, props) {
10
+ this.resources = {};
11
+ // Create inner CDK Stack
12
+ this.stack = this.getCdkStack(id, props);
13
+ // Register all stack dependencies
14
+ this.addDependencies(dependencies);
15
+ }
16
+ addDependencies(dependencies) {
17
+ if (!dependencies)
18
+ return;
19
+ if (Array.isArray(dependencies)) {
20
+ for (const dependency of dependencies) {
21
+ this.stack.addDependency(dependency.getStack());
22
+ }
23
+ }
24
+ else {
25
+ this.stack.addDependency(dependencies.getStack());
26
+ }
27
+ }
28
+ getCdkStack(id, props) {
29
+ if (process.env.JEST_WORKER_ID !== undefined) {
30
+ return new aws_cdk_lib_1.Stack(undefined, id, this.getStackProps(props)); // Create a mock stack for testing
31
+ }
32
+ return new aws_cdk_lib_1.Stack(app_1.default.getInstance(), id, this.getStackProps(props));
33
+ }
34
+ getStackProps(props) {
35
+ if (!props)
36
+ return;
37
+ const stackProps = {
38
+ env: props.accountId && props.region
39
+ ? { account: props.accountId, region: props.region }
40
+ : undefined
41
+ };
42
+ return stackProps;
43
+ }
44
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
45
+ isConnectable(arg) {
46
+ return arg.connections;
47
+ }
48
+ addConstruct(construct) {
49
+ this.resources[construct.node.id] = construct;
50
+ return this;
51
+ }
52
+ addResource(fn) {
53
+ const resource = fn(this);
54
+ this.resources[resource.node.id] = resource;
55
+ return this;
56
+ }
57
+ addNetwork(resource) {
58
+ const resourceActual = resource instanceof constructs_1.Construct ? resource : resource(this);
59
+ this.resources[resourceActual.node.id] = resourceActual;
60
+ this.network = resourceActual;
61
+ return this;
62
+ }
63
+ addContainerRegistry(resource) {
64
+ const resourceActual = resource instanceof aws_ecr_1.Repository ? resource : resource(this);
65
+ this.resources[resourceActual.node.id] = resourceActual;
66
+ this.containerRegistry = resourceActual;
67
+ return this;
68
+ }
69
+ getStack() {
70
+ return this.stack;
71
+ }
72
+ getNetwork() {
73
+ return this.network;
74
+ }
75
+ getContainerRegistry() {
76
+ return this.containerRegistry;
77
+ }
78
+ getResource(identifier) {
79
+ return this.resources[identifier];
80
+ }
81
+ connect(from, to, port) {
82
+ if (!from || !to)
83
+ return this;
84
+ const fromResource = from instanceof constructs_1.Construct ? from : this.getResource(from);
85
+ const toResource = to instanceof constructs_1.Construct ? to : this.getResource(to);
86
+ if (!fromResource || !toResource)
87
+ return this;
88
+ if (!this.isConnectable(fromResource) || !this.isConnectable(toResource))
89
+ return this;
90
+ const portActual = port ? aws_ec2_1.Port.tcp(port) : aws_ec2_1.Port.allTcp();
91
+ fromResource.connections.allowTo(toResource, portActual);
92
+ return this;
93
+ }
94
+ }
95
+ exports.default = AwsStack;
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzU3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9hd3NTdGFjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDZDQUFnRDtBQUNoRCxpREFBeUQ7QUFDekQsMkNBQXVDO0FBRXZDLG1DQUE0QjtBQUM1QixpREFBaUQ7QUFvQmpELE1BQXFCLFFBQVE7SUFTM0IsWUFDRSxFQUFVLEVBQ1YsWUFBb0MsRUFDcEMsS0FBcUI7UUFYUCxjQUFTLEdBRXJCLEVBQUUsQ0FBQztRQVdMLHlCQUF5QjtRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXpDLGtDQUFrQztRQUNsQyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTyxlQUFlLENBQUMsWUFBb0M7UUFDMUQsSUFBSSxDQUFDLFlBQVk7WUFBRSxPQUFPO1FBRTFCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQ2hDLEtBQUssTUFBTSxVQUFVLElBQUksWUFBWSxFQUFFLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ2xELENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDSCxDQUFDO0lBRU8sV0FBVyxDQUFDLEVBQVUsRUFBRSxLQUFxQjtRQUNuRCxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzdDLE9BQU8sSUFBSSxtQkFBSyxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLGFB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Q0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXZFLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxVQUFVO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFOUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQztZQUN0RSxPQUFPLElBQUksQ0FBQztRQUVkLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3pELFlBQVksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUV6RCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRjtBQXpJRCwyQkF5SUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGFjaywgU3RhY2tQcm9wcyB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgSUNvbm5lY3RhYmxlLCBQb3J0IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbmltcG9ydCBBcHAgZnJvbSBcIi4uLy4uL2FwcFwiO1xuaW1wb3J0IHsgUmVwb3NpdG9yeSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWNyXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY2tCdWlsZGVyIHtcbiAgYWRkQ29uc3RydWN0KHJlc291cmNlOiBDb25zdHJ1Y3QpOiBTdGFja0J1aWxkZXI7XG4gIGFkZFJlc291cmNlKGZuOiAoc3RhY2tCdWlsZGVyOiBTdGFja0J1aWxkZXIpID0+IENvbnN0cnVjdCk6IFN0YWNrQnVpbGRlcjtcblxuICBhZGROZXR3b3JrKHJlc291cmNlOiBDb25zdHJ1Y3QpOiBTdGFja0J1aWxkZXI7XG4gIGFkZE5ldHdvcmsoZm46IChzdGFja0J1aWxkZXI6IFN0YWNrQnVpbGRlcikgPT4gQ29uc3RydWN0KTogU3RhY2tCdWlsZGVyO1xuICBhZGROZXR3b3JrKHJlc291cmNlOiBDb25zdHJ1Y3QgfCBzdHJpbmcpOiBTdGFja0J1aWxkZXI7XG5cbiAgZ2V0U3RhY2soKTogU3RhY2s7XG4gIGdldE5ldHdvcmsoKTogQ29uc3RydWN0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF3c1N0YWNrUHJvcHMge1xuICByZWFkb25seSBhY2NvdW50SWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcbiAgYWNjb3VudE5hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEF3c1N0YWNrIGltcGxlbWVudHMgU3RhY2tCdWlsZGVyIHtcbiAgcHVibGljIHJlYWRvbmx5IHJlc291cmNlczoge1xuICAgIFtrZXk6IHN0cmluZ106IENvbnN0cnVjdDtcbiAgfSA9IHt9O1xuXG4gIHByaXZhdGUgc3RhY2s6IFN0YWNrO1xuICBwcml2YXRlIG5ldHdvcms6IENvbnN0cnVjdDtcbiAgcHJpdmF0ZSBjb250YWluZXJSZWdpc3RyeTogUmVwb3NpdG9yeTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBpZDogc3RyaW5nLFxuICAgIGRlcGVuZGVuY2llcz86IEF3c1N0YWNrIHwgQXdzU3RhY2tbXSxcbiAgICBwcm9wcz86IEF3c1N0YWNrUHJvcHNcbiAgKSB7XG4gICAgLy8gQ3JlYXRlIGlubmVyIENESyBTdGFja1xuICAgIHRoaXMuc3RhY2sgPSB0aGlzLmdldENka1N0YWNrKGlkLCBwcm9wcyk7XG5cbiAgICAvLyBSZWdpc3RlciBhbGwgc3RhY2sgZGVwZW5kZW5jaWVzXG4gICAgdGhpcy5hZGREZXBlbmRlbmNpZXMoZGVwZW5kZW5jaWVzKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkRGVwZW5kZW5jaWVzKGRlcGVuZGVuY2llcz86IEF3c1N0YWNrIHwgQXdzU3RhY2tbXSkge1xuICAgIGlmICghZGVwZW5kZW5jaWVzKSByZXR1cm47XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShkZXBlbmRlbmNpZXMpKSB7XG4gICAgICBmb3IgKGNvbnN0IGRlcGVuZGVuY3kgb2YgZGVwZW5kZW5jaWVzKSB7XG4gICAgICAgIHRoaXMuc3RhY2suYWRkRGVwZW5kZW5jeShkZXBlbmRlbmN5LmdldFN0YWNrKCkpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0YWNrLmFkZERlcGVuZGVuY3koZGVwZW5kZW5jaWVzLmdldFN0YWNrKCkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2RrU3RhY2soaWQ6IHN0cmluZywgcHJvcHM/OiBBd3NTdGFja1Byb3BzKSB7XG4gICAgaWYgKHByb2Nlc3MuZW52LkpFU1RfV09SS0VSX0lEICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBuZXcgU3RhY2sodW5kZWZpbmVkLCBpZCwgdGhpcy5nZXRTdGFja1Byb3BzKHByb3BzKSk7IC8vIENyZWF0ZSBhIG1vY2sgc3RhY2sgZm9yIHRlc3RpbmdcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IFN0YWNrKEFwcC5nZXRJbnN0YW5jZSgpLCBpZCwgdGhpcy5nZXRTdGFja1Byb3BzKHByb3BzKSk7XG4gIH1cblxuICBwcml2YXRlIGdldFN0YWNrUHJvcHMoXG4gICAgcHJvcHM6IEF3c1N0YWNrUHJvcHMgfCB1bmRlZmluZWRcbiAgKTogU3RhY2tQcm9wcyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFwcm9wcykgcmV0dXJuO1xuXG4gICAgY29uc3Qgc3RhY2tQcm9wczogU3RhY2tQcm9wcyA9IHtcbiAgICAgIGVudjpcbiAgICAgICAgcHJvcHMuYWNjb3VudElkICYmIHByb3BzLnJlZ2lvblxuICAgICAgICAgID8geyBhY2NvdW50OiBwcm9wcy5hY2NvdW50SWQsIHJlZ2lvbjogcHJvcHMucmVnaW9uIH1cbiAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgIH07XG5cbiAgICByZXR1cm4gc3RhY2tQcm9wcztcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHByaXZhdGUgaXNDb25uZWN0YWJsZShhcmc6IGFueSk6IGFyZyBpcyBJQ29ubmVjdGFibGUge1xuICAgIHJldHVybiBhcmcuY29ubmVjdGlvbnM7XG4gIH1cblxuICBwdWJsaWMgYWRkQ29uc3RydWN0KGNvbnN0cnVjdDogQ29uc3RydWN0KTogQXdzU3RhY2sge1xuICAgIHRoaXMucmVzb3VyY2VzW2NvbnN0cnVjdC5ub2RlLmlkXSA9IGNvbnN0cnVjdDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBhZGRSZXNvdXJjZShmbjogKHN0YWNrQnVpbGRlcjogU3RhY2tCdWlsZGVyKSA9PiBDb25zdHJ1Y3QpOiBBd3NTdGFjayB7XG4gICAgY29uc3QgcmVzb3VyY2UgPSBmbih0aGlzKTtcbiAgICB0aGlzLnJlc291cmNlc1tyZXNvdXJjZS5ub2RlLmlkXSA9IHJlc291cmNlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGFkZE5ldHdvcmsocmVzb3VyY2U6IENvbnN0cnVjdCk6IEF3c1N0YWNrO1xuICBwdWJsaWMgYWRkTmV0d29yayhcbiAgICByZXNvdXJjZTogKHN0YWNrQnVpbGRlcjogU3RhY2tCdWlsZGVyKSA9PiBDb25zdHJ1Y3RcbiAgKTogQXdzU3RhY2s7XG4gIHB1YmxpYyBhZGROZXR3b3JrKFxuICAgIHJlc291cmNlOiBDb25zdHJ1Y3QgfCAoKHN0YWNrQnVpbGRlcjogU3RhY2tCdWlsZGVyKSA9PiBDb25zdHJ1Y3QpXG4gICk6IEF3c1N0YWNrIHtcbiAgICBjb25zdCByZXNvdXJjZUFjdHVhbCA9XG4gICAgICByZXNvdXJjZSBpbnN0YW5jZW9mIENvbnN0cnVjdCA/IHJlc291cmNlIDogcmVzb3VyY2UodGhpcyk7XG4gICAgdGhpcy5yZXNvdXJjZXNbcmVzb3VyY2VBY3R1YWwubm9kZS5pZF0gPSByZXNvdXJjZUFjdHVhbDtcbiAgICB0aGlzLm5ldHdvcmsgPSByZXNvdXJjZUFjdHVhbDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBhZGRDb250YWluZXJSZWdpc3RyeShyZXNvdXJjZTogUmVwb3NpdG9yeSk6IEF3c1N0YWNrO1xuICBwdWJsaWMgYWRkQ29udGFpbmVyUmVnaXN0cnkoXG4gICAgcmVzb3VyY2U6IChzdGFja0J1aWxkZXI6IFN0YWNrQnVpbGRlcikgPT4gUmVwb3NpdG9yeVxuICApOiBBd3NTdGFjaztcbiAgcHVibGljIGFkZENvbnRhaW5lclJlZ2lzdHJ5KFxuICAgIHJlc291cmNlOiBSZXBvc2l0b3J5IHwgKChzdGFja0J1aWxkZXI6IFN0YWNrQnVpbGRlcikgPT4gUmVwb3NpdG9yeSlcbiAgKTogQXdzU3RhY2sge1xuICAgIGNvbnN0IHJlc291cmNlQWN0dWFsID1cbiAgICAgIHJlc291cmNlIGluc3RhbmNlb2YgUmVwb3NpdG9yeSA/IHJlc291cmNlIDogcmVzb3VyY2UodGhpcyk7XG4gICAgdGhpcy5yZXNvdXJjZXNbcmVzb3VyY2VBY3R1YWwubm9kZS5pZF0gPSByZXNvdXJjZUFjdHVhbDtcbiAgICB0aGlzLmNvbnRhaW5lclJlZ2lzdHJ5ID0gcmVzb3VyY2VBY3R1YWw7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0U3RhY2soKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhY2s7XG4gIH1cblxuICBwdWJsaWMgZ2V0TmV0d29yaygpIHtcbiAgICByZXR1cm4gdGhpcy5uZXR3b3JrO1xuICB9XG5cbiAgcHVibGljIGdldENvbnRhaW5lclJlZ2lzdHJ5KCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRhaW5lclJlZ2lzdHJ5O1xuICB9XG5cbiAgcHVibGljIGdldFJlc291cmNlKGlkZW50aWZpZXI6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnJlc291cmNlc1tpZGVudGlmaWVyXTtcbiAgfVxuXG4gIHB1YmxpYyBjb25uZWN0KFxuICAgIGZyb206IENvbnN0cnVjdCB8IHN0cmluZyxcbiAgICB0bzogQ29uc3RydWN0IHwgc3RyaW5nLFxuICAgIHBvcnQ/OiBudW1iZXJcbiAgKSB7XG4gICAgaWYgKCFmcm9tIHx8ICF0bykgcmV0dXJuIHRoaXM7XG5cbiAgICBjb25zdCBmcm9tUmVzb3VyY2UgPVxuICAgICAgZnJvbSBpbnN0YW5jZW9mIENvbnN0cnVjdCA/IGZyb20gOiB0aGlzLmdldFJlc291cmNlKGZyb20pO1xuICAgIGNvbnN0IHRvUmVzb3VyY2UgPSB0byBpbnN0YW5jZW9mIENvbnN0cnVjdCA/IHRvIDogdGhpcy5nZXRSZXNvdXJjZSh0byk7XG5cbiAgICBpZiAoIWZyb21SZXNvdXJjZSB8fCAhdG9SZXNvdXJjZSkgcmV0dXJuIHRoaXM7XG5cbiAgICBpZiAoIXRoaXMuaXNDb25uZWN0YWJsZShmcm9tUmVzb3VyY2UpIHx8ICF0aGlzLmlzQ29ubmVjdGFibGUodG9SZXNvdXJjZSkpXG4gICAgICByZXR1cm4gdGhpcztcblxuICAgIGNvbnN0IHBvcnRBY3R1YWwgPSBwb3J0ID8gUG9ydC50Y3AocG9ydCkgOiBQb3J0LmFsbFRjcCgpO1xuICAgIGZyb21SZXNvdXJjZS5jb25uZWN0aW9ucy5hbGxvd1RvKHRvUmVzb3VyY2UsIHBvcnRBY3R1YWwpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,23 @@
1
+ import { Duration } from "aws-cdk-lib";
2
+ import { Connections, IConnectable, Vpc } from "aws-cdk-lib/aws-ec2";
3
+ import { BackupProps, ClusterInstance, IClusterEngine } from "aws-cdk-lib/aws-rds";
4
+ import { Construct } from "constructs";
5
+ import { KeyValue } from "../../../types";
6
+ interface RdsProps {
7
+ vpc: Vpc;
8
+ databaseName?: string;
9
+ engine?: IClusterEngine;
10
+ backup?: BackupProps;
11
+ clusterIdentifier?: string;
12
+ monitoringInterval?: Duration;
13
+ preferredMaintenanceWindow?: string;
14
+ port?: number;
15
+ writer?: ClusterInstance;
16
+ readers?: ClusterInstance[];
17
+ tags: KeyValue;
18
+ }
19
+ export default class Rds extends Construct implements IConnectable {
20
+ connections: Connections;
21
+ constructor(scope: Construct, id: string, props: RdsProps);
22
+ }
23
+ export {};
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
4
+ const aws_ec2_1 = require("aws-cdk-lib/aws-ec2");
5
+ const aws_rds_1 = require("aws-cdk-lib/aws-rds");
6
+ const aws_secretsmanager_1 = require("aws-cdk-lib/aws-secretsmanager");
7
+ const constructs_1 = require("constructs");
8
+ const iam_1 = require("../iam");
9
+ const secrets_1 = require("../secrets");
10
+ class Rds extends constructs_1.Construct {
11
+ constructor(scope, id, props) {
12
+ super(scope, id);
13
+ // Database Credentials
14
+ const databaseCredentials = new secrets_1.Secret(this, `${props.databaseName}Credentials`, {
15
+ secretName: `${props.databaseName}Credentials`,
16
+ generateSecretString: {
17
+ secretStringTemplate: JSON.stringify({
18
+ username: "postgres"
19
+ }),
20
+ excludePunctuation: true,
21
+ includeSpace: false,
22
+ generateStringKey: "password"
23
+ },
24
+ tags: props.tags
25
+ });
26
+ // Customer Managed Keys
27
+ const encryptionKey = new secrets_1.CustomerManagedKey(this, `${props.databaseName}ClusterEncryptionKey`, {
28
+ aliasName: `cmk/rds/${props.databaseName}/encryptionKey`,
29
+ tags: props.tags
30
+ });
31
+ const primaryReaderInsightsKey = new secrets_1.CustomerManagedKey(this, `${props.databaseName}PrimaryReaderInsightsKey`, {
32
+ aliasName: `cmk/rds/${props.databaseName}/PrimaryReaderInsightsKey`,
33
+ tags: props.tags
34
+ });
35
+ const secondaryReaderInsightsKey = new secrets_1.CustomerManagedKey(this, `${props.databaseName}SecondaryReaderInsightsKey`, {
36
+ aliasName: `cmk/rds/${props.databaseName}/SecondaryReaderInsightsKey`,
37
+ tags: props.tags
38
+ });
39
+ const primaryWriterPerformanceInsightsKey = new secrets_1.CustomerManagedKey(this, `${props.databaseName}PrimaryWriterPerformanceInsightsKey`, {
40
+ aliasName: `cmk/rds/${props.databaseName}/PrimaryWriterInsightsKey`,
41
+ tags: props.tags
42
+ });
43
+ const clusterSecurityGroup = new iam_1.SecurityGroup(this, `${id}SecurityGroup`, {
44
+ vpc: props.vpc,
45
+ description: `Security group that allows inbound access to the postgres cluster for ${props.databaseName}`
46
+ });
47
+ //TODO: Remove this line, that allows the proxy to connect to the database. Replace with seperated security groups
48
+ clusterSecurityGroup.addIngressRule(clusterSecurityGroup, aws_ec2_1.Port.tcp(5432));
49
+ this.connections = clusterSecurityGroup.connections;
50
+ // Database Cluster
51
+ const databaseCluster = new aws_rds_1.DatabaseCluster(scope, `${id}Database`, {
52
+ vpc: props.vpc,
53
+ vpcSubnets: {
54
+ subnetType: aws_ec2_1.SubnetType.PRIVATE_WITH_EGRESS
55
+ },
56
+ securityGroups: [clusterSecurityGroup],
57
+ engine: props.engine ||
58
+ aws_rds_1.DatabaseClusterEngine.auroraPostgres({
59
+ //TODO: Do we update these when we release a new version? Or try to keep them constantly updated?
60
+ version: aws_rds_1.AuroraPostgresEngineVersion.VER_15_6
61
+ }),
62
+ backup: props.backup || {
63
+ retention: aws_cdk_lib_1.Duration.days(14)
64
+ },
65
+ storageEncrypted: true,
66
+ storageEncryptionKey: encryptionKey.key,
67
+ clusterIdentifier: props.clusterIdentifier || `${props.databaseName}-cluster`,
68
+ credentials: aws_rds_1.Credentials.fromSecret(databaseCredentials.secret),
69
+ defaultDatabaseName: props.databaseName || `${id.replace("Rds", "")}`,
70
+ monitoringInterval: props.monitoringInterval || aws_cdk_lib_1.Duration.minutes(1),
71
+ preferredMaintenanceWindow: props.preferredMaintenanceWindow || "Sat:12:30-Sat:20:30",
72
+ port: props.port || 5432,
73
+ removalPolicy: aws_cdk_lib_1.RemovalPolicy.SNAPSHOT,
74
+ writer: props.writer ||
75
+ aws_rds_1.ClusterInstance.serverlessV2(`${props.databaseName}Writer`, {
76
+ enablePerformanceInsights: true,
77
+ performanceInsightEncryptionKey: primaryWriterPerformanceInsightsKey.key,
78
+ instanceIdentifier: `${props.databaseName}-primary-writer`,
79
+ //TODO: Do we update these when we release a new version? Or try to keep them constantly updated?
80
+ caCertificate: aws_rds_1.CaCertificate.RDS_CA_RSA4096_G1
81
+ }),
82
+ readers: props.readers || [
83
+ aws_rds_1.ClusterInstance.serverlessV2(`${props.databaseName}PrimaryReader`, {
84
+ scaleWithWriter: true,
85
+ enablePerformanceInsights: true,
86
+ performanceInsightEncryptionKey: primaryReaderInsightsKey.key,
87
+ instanceIdentifier: `${props.databaseName}-primary-reader`,
88
+ caCertificate: aws_rds_1.CaCertificate.RDS_CA_RSA4096_G1
89
+ }),
90
+ aws_rds_1.ClusterInstance.serverlessV2(`${props.databaseName}SecondaryReader`, {
91
+ scaleWithWriter: false,
92
+ enablePerformanceInsights: true,
93
+ performanceInsightEncryptionKey: secondaryReaderInsightsKey.key,
94
+ instanceIdentifier: `${props.databaseName}-secondary-reader`,
95
+ caCertificate: aws_rds_1.CaCertificate.RDS_CA_RSA4096_G1
96
+ })
97
+ ]
98
+ });
99
+ const databaseProxy = new aws_rds_1.DatabaseProxy(this, `${props.databaseName}DatabaseProxy`, {
100
+ proxyTarget: aws_rds_1.ProxyTarget.fromCluster(databaseCluster),
101
+ secrets: [databaseCredentials.secret],
102
+ securityGroups: [clusterSecurityGroup],
103
+ vpc: props.vpc,
104
+ vpcSubnets: {
105
+ subnetType: aws_ec2_1.SubnetType.PUBLIC
106
+ }
107
+ });
108
+ new aws_cdk_lib_1.CfnOutput(this, `${props.databaseName}ProxyEndpointOutput`, {
109
+ key: `${props.databaseName}ProxyEndpoint`,
110
+ exportName: `${props.databaseName}ProxyEndpoint`,
111
+ value: databaseProxy.endpoint
112
+ });
113
+ // Rotate the Secret every 30 days
114
+ const masterSecret = new secrets_1.Secret(this, `${props.databaseName}MasterSecret`, {
115
+ secretName: `${props.databaseName}MasterSecret`,
116
+ tags: props.tags
117
+ });
118
+ new aws_secretsmanager_1.SecretRotation(this, `${props.databaseName}SecretRotation`, {
119
+ application: new aws_secretsmanager_1.SecretRotationApplication("SecretsManagerRDSPostgreSQLRotationMultiUser", "1.1.367", {
120
+ isMultiUser: true
121
+ }),
122
+ secret: databaseCredentials.secret,
123
+ masterSecret: masterSecret.secret,
124
+ target: databaseCluster,
125
+ vpc: databaseCluster.vpc
126
+ });
127
+ }
128
+ }
129
+ exports.default = Rds;
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3Jlc291cmNlcy9hd3MvZGF0YWJhc2UvcmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsNkNBQWlFO0FBQ2pFLGlEQU02QjtBQUM3QixpREFXNkI7QUFDN0IsdUVBR3dDO0FBQ3hDLDJDQUF1QztBQUN2QyxnQ0FBdUM7QUFDdkMsd0NBQXdEO0FBaUJ4RCxNQUFxQixHQUFJLFNBQVEsc0JBQVM7SUFHeEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFlO1FBQ3ZELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsdUJBQXVCO1FBQ3ZCLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxnQkFBTSxDQUNwQyxJQUFJLEVBQ0osR0FBRyxLQUFLLENBQUMsWUFBWSxhQUFhLEVBQ2xDO1lBQ0UsVUFBVSxFQUFFLEdBQUcsS0FBSyxDQUFDLFlBQVksYUFBYTtZQUM5QyxvQkFBb0IsRUFBRTtnQkFDcEIsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztvQkFDbkMsUUFBUSxFQUFFLFVBQVU7aUJBQ3JCLENBQUM7Z0JBQ0Ysa0JBQWtCLEVBQUUsSUFBSTtnQkFDeEIsWUFBWSxFQUFFLEtBQUs7Z0JBQ25CLGlCQUFpQixFQUFFLFVBQVU7YUFDOUI7WUFDRCxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7U0FDakIsQ0FDRixDQUFDO1FBRUYsd0JBQXdCO1FBQ3hCLE1BQU0sYUFBYSxHQUFHLElBQUksNEJBQWtCLENBQzFDLElBQUksRUFDSixHQUFHLEtBQUssQ0FBQyxZQUFZLHNCQUFzQixFQUMzQztZQUNFLFNBQVMsRUFBRSxXQUFXLEtBQUssQ0FBQyxZQUFZLGdCQUFnQjtZQUN4RCxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7U0FDakIsQ0FDRixDQUFDO1FBRUYsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLDRCQUFrQixDQUNyRCxJ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QUNGLENBQ0YsQ0FBQztRQUVGLElBQUksdUJBQVMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsWUFBWSxxQkFBcUIsRUFBRTtZQUM5RCxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUMsWUFBWSxlQUFlO1lBQ3pDLFVBQVUsRUFBRSxHQUFHLEtBQUssQ0FBQyxZQUFZLGVBQWU7WUFDaEQsS0FBSyxFQUFFLGFBQWEsQ0FBQyxRQUFRO1NBQzlCLENBQUMsQ0FBQztRQUVILGtDQUFrQztRQUNsQyxNQUFNLFlBQVksR0FBRyxJQUFJLGdCQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLFlBQVksY0FBYyxFQUFFO1lBQ3pFLFVBQVUsRUFBRSxHQUFHLEtBQUssQ0FBQyxZQUFZLGNBQWM7WUFDL0MsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1NBQ2pCLENBQUMsQ0FBQztRQUVILElBQUksbUNBQWMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsWUFBWSxnQkFBZ0IsRUFBRTtZQUM5RCxXQUFXLEVBQUUsSUFBSSw4Q0FBeUIsQ0FDeEMsOENBQThDLEVBQzlDLFNBQVMsRUFDVDtnQkFDRSxXQUFXLEVBQUUsSUFBSTthQUNsQixDQUNGO1lBQ0QsTUFBTSxFQUFFLG1CQUFtQixDQUFDLE1BQU07WUFDbEMsWUFBWSxFQUFFLFlBQVksQ0FBQyxNQUFNO1lBQ2pDLE1BQU0sRUFBRSxlQUFlO1lBQ3ZCLEdBQUcsRUFBRSxlQUFlLENBQUMsR0FBRztTQUN6QixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUF0S0Qsc0JBc0tDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuT3V0cHV0LCBEdXJhdGlvbiwgUmVtb3ZhbFBvbGljeSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtcbiAgQ29ubmVjdGlvbnMsXG4gIElDb25uZWN0YWJsZSxcbiAgUG9ydCxcbiAgU3VibmV0VHlwZSxcbiAgVnBjXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQge1xuICBBdXJvcmFQb3N0Z3Jlc0VuZ2luZVZlcnNpb24sXG4gIEJhY2t1cFByb3BzLFxuICBDYUNlcnRpZmljYXRlLFxuICBDbHVzdGVySW5zdGFuY2UsXG4gIENyZWRlbnRpYWxzLFxuICBEYXRhYmFzZUNsdXN0ZXIsXG4gIERhdGFiYXNlQ2x1c3RlckVuZ2luZSxcbiAgRGF0YWJhc2VQcm94eSxcbiAgSUNsdXN0ZXJFbmdpbmUsXG4gIFByb3h5VGFyZ2V0XG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtcmRzXCI7XG5pbXBvcnQge1xuICBTZWNyZXRSb3RhdGlvbixcbiAgU2VjcmV0Um90YXRpb25BcHBsaWNhdGlvblxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNlY3JldHNtYW5hZ2VyXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgU2VjdXJpdHlHcm91cCB9IGZyb20gXCIuLi9pYW1cIjtcbmltcG9ydCB7IEN1c3RvbWVyTWFuYWdlZEtleSwgU2VjcmV0IH0gZnJvbSBcIi4uL3NlY3JldHNcIjtcbmltcG9ydCB7IEtleVZhbHVlIH0gZnJvbSBcIi4uLy4uLy4uL3R5cGVzXCI7XG5cbmludGVyZmFjZSBSZHNQcm9wcyB7XG4gIHZwYzogVnBjO1xuICBkYXRhYmFzZU5hbWU/OiBzdHJpbmc7XG4gIGVuZ2luZT86IElDbHVzdGVyRW5naW5lO1xuICBiYWNrdXA/OiBCYWNrdXBQcm9wcztcbiAgY2x1c3RlcklkZW50aWZpZXI/OiBzdHJpbmc7XG4gIG1vbml0b3JpbmdJbnRlcnZhbD86IER1cmF0aW9uO1xuICBwcmVmZXJyZWRNYWludGVuYW5jZVdpbmRvdz86IHN0cmluZztcbiAgcG9ydD86IG51bWJlcjtcbiAgd3JpdGVyPzogQ2x1c3Rlckluc3RhbmNlO1xuICByZWFkZXJzPzogQ2x1c3Rlckluc3RhbmNlW107XG4gIHRhZ3M6IEtleVZhbHVlO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSZHMgZXh0ZW5kcyBDb25zdHJ1Y3QgaW1wbGVtZW50cyBJQ29ubmVjdGFibGUge1xuICBwdWJsaWMgY29ubmVjdGlvbnM6IENvbm5lY3Rpb25zO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSZHNQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICAvLyBEYXRhYmFzZSBDcmVkZW50aWFsc1xuICAgIGNvbnN0IGRhdGFiYXNlQ3JlZGVudGlhbHMgPSBuZXcgU2VjcmV0KFxuICAgICAgdGhpcyxcbiAgICAgIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1DcmVkZW50aWFsc2AsXG4gICAgICB7XG4gICAgICAgIHNlY3JldE5hbWU6IGAke3Byb3BzLmRhdGFiYXNlTmFtZX1DcmVkZW50aWFsc2AsXG4gICAgICAgIGdlbmVyYXRlU2VjcmV0U3RyaW5nOiB7XG4gICAgICAgICAgc2VjcmV0U3RyaW5nVGVtcGxhdGU6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgIHVzZXJuYW1lOiBcInBvc3RncmVzXCJcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBleGNsdWRlUHVuY3R1YXRpb246IHRydWUsXG4gICAgICAgICAgaW5jbHVkZVNwYWNlOiBmYWxzZSxcbiAgICAgICAgICBnZW5lcmF0ZVN0cmluZ0tleTogXCJwYXNzd29yZFwiXG4gICAgICAgIH0sXG4gICAgICAgIHRhZ3M6IHByb3BzLnRhZ3NcbiAgICAgIH1cbiAgICApO1xuXG4gICAgLy8gQ3VzdG9tZXIgTWFuYWdlZCBLZXlzXG4gICAgY29uc3QgZW5jcnlwdGlvbktleSA9IG5ldyBDdXN0b21lck1hbmFnZWRLZXkoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfUNsdXN0ZXJFbmNyeXB0aW9uS2V5YCxcbiAgICAgIHtcbiAgICAgICAgYWxpYXNOYW1lOiBgY21rL3Jkcy8ke3Byb3BzLmRhdGFiYXNlTmFtZX0vZW5jcnlwdGlvbktleWAsXG4gICAgICAgIHRhZ3M6IHByb3BzLnRhZ3NcbiAgICAgIH1cbiAgICApO1xuXG4gICAgY29uc3QgcHJpbWFyeVJlYWRlckluc2lnaHRzS2V5ID0gbmV3IEN1c3RvbWVyTWFuYWdlZEtleShcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9UHJpbWFyeVJlYWRlckluc2lnaHRzS2V5YCxcbiAgICAgIHtcbiAgICAgICAgYWxpYXNOYW1lOiBgY21rL3Jkcy8ke3Byb3BzLmRhdGFiYXNlTmFtZX0vUHJpbWFyeVJlYWRlckluc2lnaHRzS2V5YCxcbiAgICAgICAgdGFnczogcHJvcHMudGFnc1xuICAgICAgfVxuICAgICk7XG5cbiAgICBjb25zdCBzZWNvbmRhcnlSZWFkZXJJbnNpZ2h0c0tleSA9IG5ldyBDdXN0b21lck1hbmFnZWRLZXkoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVNlY29uZGFyeVJlYWRlckluc2lnaHRzS2V5YCxcbiAgICAgIHtcbiAgICAgICAgYWxpYXNOYW1lOiBgY21rL3Jkcy8ke3Byb3BzLmRhdGFiYXNlTmFtZX0vU2Vjb25kYXJ5UmVhZGVySW5zaWdodHNLZXlgLFxuICAgICAgICB0YWdzOiBwcm9wcy50YWdzXG4gICAgICB9XG4gICAgKTtcblxuICAgIGNvbnN0IHByaW1hcnlXcml0ZXJQZXJmb3JtYW5jZUluc2lnaHRzS2V5ID0gbmV3IEN1c3RvbWVyTWFuYWdlZEtleShcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9UHJpbWFyeVdyaXRlclBlcmZvcm1hbmNlSW5zaWdodHNLZXlgLFxuICAgICAge1xuICAgICAgICBhbGlhc05hbWU6IGBjbWsvcmRzLyR7cHJvcHMuZGF0YWJhc2VOYW1lfS9QcmltYXJ5V3JpdGVySW5zaWdodHNLZXlgLFxuICAgICAgICB0YWdzOiBwcm9wcy50YWdzXG4gICAgICB9XG4gICAgKTtcblxuICAgIGNvbnN0IGNsdXN0ZXJTZWN1cml0eUdyb3VwID0gbmV3IFNlY3VyaXR5R3JvdXAodGhpcywgYCR7aWR9U2VjdXJpdHlHcm91cGAsIHtcbiAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgZGVzY3JpcHRpb246IGBTZWN1cml0eSBncm91cCB0aGF0IGFsbG93cyBpbmJvdW5kIGFjY2VzcyB0byB0aGUgcG9zdGdyZXMgY2x1c3RlciBmb3IgJHtwcm9wcy5kYXRhYmFzZU5hbWV9YFxuICAgIH0pO1xuXG4gICAgLy9UT0RPOiBSZW1vdmUgdGhpcyBsaW5lLCB0aGF0IGFsbG93cyB0aGUgcHJveHkgdG8gY29ubmVjdCB0byB0aGUgZGF0YWJhc2UuIFJlcGxhY2Ugd2l0aCBzZXBlcmF0ZWQgc2VjdXJpdHkgZ3JvdXBzXG4gICAgY2x1c3RlclNlY3VyaXR5R3JvdXAuYWRkSW5ncmVzc1J1bGUoY2x1c3RlclNlY3VyaXR5R3JvdXAsIFBvcnQudGNwKDU0MzIpKTtcblxuICAgIHRoaXMuY29ubmVjdGlvbnMgPSBjbHVzdGVyU2VjdXJpdHlHcm91cC5jb25uZWN0aW9ucztcblxuICAgIC8vIERhdGFiYXNlIENsdXN0ZXJcbiAgICBjb25zdCBkYXRhYmFzZUNsdXN0ZXIgPSBuZXcgRGF0YWJhc2VDbHVzdGVyKHNjb3BlLCBgJHtpZH1EYXRhYmFzZWAsIHtcbiAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgdnBjU3VibmV0czoge1xuICAgICAgICBzdWJuZXRUeXBlOiBTdWJuZXRUeXBlLlBSSVZBVEVfV0lUSF9FR1JFU1NcbiAgICAgIH0sXG4gICAgICBzZWN1cml0eUdyb3VwczogW2NsdXN0ZXJTZWN1cml0eUdyb3VwXSxcbiAgICAgIGVuZ2luZTpcbiAgICAgICAgcHJvcHMuZW5naW5lIHx8XG4gICAgICAgIERhdGFiYXNlQ2x1c3RlckVuZ2luZS5hdXJvcmFQb3N0Z3Jlcyh7XG4gICAgICAgICAgLy9UT0RPOiBEbyB3ZSB1cGRhdGUgdGhlc2Ugd2hlbiB3ZSByZWxlYXNlIGEgbmV3IHZlcnNpb24/IE9yIHRyeSB0byBrZWVwIHRoZW0gY29uc3RhbnRseSB1cGRhdGVkP1xuICAgICAgICAgIHZlcnNpb246IEF1cm9yYVBvc3RncmVzRW5naW5lVmVyc2lvbi5WRVJfMTVfNlxuICAgICAgICB9KSxcbiAgICAgIGJhY2t1cDogcHJvcHMuYmFja3VwIHx8IHtcbiAgICAgICAgcmV0ZW50aW9uOiBEdXJhdGlvbi5kYXlzKDE0KVxuICAgICAgfSxcbiAgICAgIHN0b3JhZ2VFbmNyeXB0ZWQ6IHRydWUsXG4gICAgICBzdG9yYWdlRW5jcnlwdGlvbktleTogZW5jcnlwdGlvbktleS5rZXksXG4gICAgICBjbHVzdGVySWRlbnRpZmllcjpcbiAgICAgICAgcHJvcHMuY2x1c3RlcklkZW50aWZpZXIgfHwgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfS1jbHVzdGVyYCxcbiAgICAgIGNyZWRlbnRpYWxzOiBDcmVkZW50aWFscy5mcm9tU2VjcmV0KGRhdGFiYXNlQ3JlZGVudGlhbHMuc2VjcmV0KSxcbiAgICAgIGRlZmF1bHREYXRhYmFzZU5hbWU6IHByb3BzLmRhdGFiYXNlTmFtZSB8fCBgJHtpZC5yZXBsYWNlKFwiUmRzXCIsIFwiXCIpfWAsXG4gICAgICBtb25pdG9yaW5nSW50ZXJ2YWw6IHByb3BzLm1vbml0b3JpbmdJbnRlcnZhbCB8fCBEdXJhdGlvbi5taW51dGVzKDEpLFxuICAgICAgcHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3c6XG4gICAgICAgIHByb3BzLnByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93IHx8IFwiU2F0OjEyOjMwLVNhdDoyMDozMFwiLFxuICAgICAgcG9ydDogcHJvcHMucG9ydCB8fCA1NDMyLFxuICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5TTkFQU0hPVCxcbiAgICAgIHdyaXRlcjpcbiAgICAgICAgcHJvcHMud3JpdGVyIHx8XG4gICAgICAgIENsdXN0ZXJJbnN0YW5jZS5zZXJ2ZXJsZXNzVjIoYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVdyaXRlcmAsIHtcbiAgICAgICAgICBlbmFibGVQZXJmb3JtYW5jZUluc2lnaHRzOiB0cnVlLFxuICAgICAgICAgIHBlcmZvcm1hbmNlSW5zaWdodEVuY3J5cHRpb25LZXk6XG4gICAgICAgICAgICBwcmltYXJ5V3JpdGVyUGVyZm9ybWFuY2VJbnNpZ2h0c0tleS5rZXksXG4gICAgICAgICAgaW5zdGFuY2VJZGVudGlmaWVyOiBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9LXByaW1hcnktd3JpdGVyYCxcbiAgICAgICAgICAvL1RPRE86IERvIHdlIHVwZGF0ZSB0aGVzZSB3aGVuIHdlIHJlbGVhc2UgYSBuZXcgdmVyc2lvbj8gT3IgdHJ5IHRvIGtlZXAgdGhlbSBjb25zdGFudGx5IHVwZGF0ZWQ/XG4gICAgICAgICAgY2FDZXJ0aWZpY2F0ZTogQ2FDZXJ0aWZpY2F0ZS5SRFNfQ0FfUlNBNDA5Nl9HMVxuICAgICAgICB9KSxcbiAgICAgIHJlYWRlcnM6IHByb3BzLnJlYWRlcnMgfHwgW1xuICAgICAgICBDbHVzdGVySW5zdGFuY2Uuc2VydmVybGVzc1YyKGAke3Byb3BzLmRhdGFiYXNlTmFtZX1QcmltYXJ5UmVhZGVyYCwge1xuICAgICAgICAgIHNjYWxlV2l0aFdyaXRlcjogdHJ1ZSxcbiAgICAgICAgICBlbmFibGVQZXJmb3JtYW5jZUluc2lnaHRzOiB0cnVlLFxuICAgICAgICAgIHBlcmZvcm1hbmNlSW5zaWdodEVuY3J5cHRpb25LZXk6IHByaW1hcnlSZWFkZXJJbnNpZ2h0c0tleS5rZXksXG4gICAgICAgICAgaW5zdGFuY2VJZGVudGlmaWVyOiBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9LXByaW1hcnktcmVhZGVyYCxcbiAgICAgICAgICBjYUNlcnRpZmljYXRlOiBDYUNlcnRpZmljYXRlLlJEU19DQV9SU0E0MDk2X0cxXG4gICAgICAgIH0pLFxuICAgICAgICBDbHVzdGVySW5zdGFuY2Uuc2VydmVybGVzc1YyKGAke3Byb3BzLmRhdGFiYXNlTmFtZX1TZWNvbmRhcnlSZWFkZXJgLCB7XG4gICAgICAgICAgc2NhbGVXaXRoV3JpdGVyOiBmYWxzZSxcbiAgICAgICAgICBlbmFibGVQZXJmb3JtYW5jZUluc2lnaHRzOiB0cnVlLFxuICAgICAgICAgIHBlcmZvcm1hbmNlSW5zaWdodEVuY3J5cHRpb25LZXk6IHNlY29uZGFyeVJlYWRlckluc2lnaHRzS2V5LmtleSxcbiAgICAgICAgICBpbnN0YW5jZUlkZW50aWZpZXI6IGAke3Byb3BzLmRhdGFiYXNlTmFtZX0tc2Vjb25kYXJ5LXJlYWRlcmAsXG4gICAgICAgICAgY2FDZXJ0aWZpY2F0ZTogQ2FDZXJ0aWZpY2F0ZS5SRFNfQ0FfUlNBNDA5Nl9HMVxuICAgICAgICB9KVxuICAgICAgXVxuICAgIH0pO1xuXG4gICAgY29uc3QgZGF0YWJhc2VQcm94eSA9IG5ldyBEYXRhYmFzZVByb3h5KFxuICAgICAgdGhpcyxcbiAgICAgIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1EYXRhYmFzZVByb3h5YCxcbiAgICAgIHtcbiAgICAgICAgcHJveHlUYXJnZXQ6IFByb3h5VGFyZ2V0LmZyb21DbHVzdGVyKGRhdGFiYXNlQ2x1c3RlciksXG4gICAgICAgIHNlY3JldHM6IFtkYXRhYmFzZUNyZWRlbnRpYWxzLnNlY3JldF0sXG4gICAgICAgIHNlY3VyaXR5R3JvdXBzOiBbY2x1c3RlclNlY3VyaXR5R3JvdXBdLFxuICAgICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgICAgdnBjU3VibmV0czoge1xuICAgICAgICAgIHN1Ym5ldFR5cGU6IFN1Ym5ldFR5cGUuUFVCTElDXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9UHJveHlFbmRwb2ludE91dHB1dGAsIHtcbiAgICAgIGtleTogYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVByb3h5RW5kcG9pbnRgLFxuICAgICAgZXhwb3J0TmFtZTogYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVByb3h5RW5kcG9pbnRgLFxuICAgICAgdmFsdWU6IGRhdGFiYXNlUHJveHkuZW5kcG9pbnRcbiAgICB9KTtcblxuICAgIC8vIFJvdGF0ZSB0aGUgU2VjcmV0IGV2ZXJ5IDMwIGRheXNcbiAgICBjb25zdCBtYXN0ZXJTZWNyZXQgPSBuZXcgU2VjcmV0KHRoaXMsIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1NYXN0ZXJTZWNyZXRgLCB7XG4gICAgICBzZWNyZXROYW1lOiBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9TWFzdGVyU2VjcmV0YCxcbiAgICAgIHRhZ3M6IHByb3BzLnRhZ3NcbiAgICB9KTtcblxuICAgIG5ldyBTZWNyZXRSb3RhdGlvbih0aGlzLCBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9U2VjcmV0Um90YXRpb25gLCB7XG4gICAgICBhcHBsaWNhdGlvbjogbmV3IFNlY3JldFJvdGF0aW9uQXBwbGljYXRpb24oXG4gICAgICAgIFwiU2VjcmV0c01hbmFnZXJSRFNQb3N0Z3JlU1FMUm90YXRpb25NdWx0aVVzZXJcIixcbiAgICAgICAgXCIxLjEuMzY3XCIsXG4gICAgICAgIHtcbiAgICAgICAgICBpc011bHRpVXNlcjogdHJ1ZVxuICAgICAgICB9XG4gICAgICApLFxuICAgICAgc2VjcmV0OiBkYXRhYmFzZUNyZWRlbnRpYWxzLnNlY3JldCxcbiAgICAgIG1hc3RlclNlY3JldDogbWFzdGVyU2VjcmV0LnNlY3JldCxcbiAgICAgIHRhcmdldDogZGF0YWJhc2VDbHVzdGVyLFxuICAgICAgdnBjOiBkYXRhYmFzZUNsdXN0ZXIudnBjXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,10 +1,10 @@
1
1
  import { Duration } from "aws-cdk-lib";
2
- import { Connections, IConnectable, Vpc } from "aws-cdk-lib/aws-ec2";
2
+ import { Connections, IConnectable, IVpc } from "aws-cdk-lib/aws-ec2";
3
3
  import { BackupProps, ClusterInstance, IClusterEngine } from "aws-cdk-lib/aws-rds";
4
4
  import { Construct } from "constructs";
5
5
  import { KeyValue } from "../../../types";
6
6
  interface RdsProps {
7
- vpc: Vpc;
7
+ vpc: IVpc;
8
8
  databaseName?: string;
9
9
  engine?: IClusterEngine;
10
10
  backup?: BackupProps;
@@ -128,4 +128,4 @@ class RdsAurora extends constructs_1.Construct {
128
128
  }
129
129
  }
130
130
  exports.RdsAurora = RdsAurora;
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmRzQXVyb3JhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3Jlc291cmNlcy9hd3MvZGF0YWJhc2UvcmRzQXVyb3JhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFpRTtBQUNqRSxpREFNNkI7QUFDN0IsaURBVzZCO0FBQzdCLHVFQUd3QztBQUN4QywyQ0FBdUM7QUFDdkMsZ0NBQXVDO0FBQ3ZDLHdDQUF3RDtBQWlCeEQsTUFBYSxTQUFVLFNBQVEsc0JBQVM7SUFHdEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFlO1FBQ3ZELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsdUJBQXVCO1FBQ3ZCLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxnQkFBTSxDQUNwQyxJQUFJLEVBQ0osR0FBRyxLQUFLLENBQUMsWUFBWSxhQUFhLEVBQ2xDO1lBQ0UsVUFBVSxFQUFFLEdBQUcsS0FBSyxDQUFDLFlBQVksYUFBYTtZQUM5QyxvQkFBb0IsRUFBRTtnQkFDcEIsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztvQkFDbkMsUUFBUSxFQUFFLFVBQVU7aUJBQ3JCLENBQUM7Z0JBQ0Ysa0JBQWtCLEVBQUUsSUFBSTtnQkFDeEIsWUFBWSxFQUFFLEtBQUs7Z0JBQ25CLGlCQUFpQixFQUFFLFVBQVU7YUFDOUI7WUFDRCxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7U0FDakIsQ0FDRixDQUFDO1FBRUYsd0JBQXdCO1FBQ3hCLE1BQU0sYUFBYSxHQUFHLElBQUksNEJBQWtCLENBQzFDLElBQUksRUFDSixHQUFHLEtBQUssQ0FBQyxZQUFZLHNCQUFzQixFQUMzQztZQUNFLFNBQVMsRUFBRSxXQUFXLEtBQUssQ0FBQyxZQUFZLGdCQUFnQjtZQUN4RCxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7U0FDakIsQ0FDRixDQUFDO1FBRUYsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLDRC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TUFBTTthQUM5QjtTQUNGLENBQ0YsQ0FBQztRQUVGLElBQUksdUJBQVMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsWUFBWSxxQkFBcUIsRUFBRTtZQUM5RCxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUMsWUFBWSxlQUFlO1lBQ3pDLFVBQVUsRUFBRSxHQUFHLEtBQUssQ0FBQyxZQUFZLGVBQWU7WUFDaEQsS0FBSyxFQUFFLGFBQWEsQ0FBQyxRQUFRO1NBQzlCLENBQUMsQ0FBQztRQUVILGtDQUFrQztRQUNsQyxNQUFNLFlBQVksR0FBRyxJQUFJLGdCQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLFlBQVksY0FBYyxFQUFFO1lBQ3pFLFVBQVUsRUFBRSxHQUFHLEtBQUssQ0FBQyxZQUFZLGNBQWM7WUFDL0MsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1NBQ2pCLENBQUMsQ0FBQztRQUVILElBQUksbUNBQWMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsWUFBWSxnQkFBZ0IsRUFBRTtZQUM5RCxXQUFXLEVBQUUsSUFBSSw4Q0FBeUIsQ0FDeEMsOENBQThDLEVBQzlDLFNBQVMsRUFDVDtnQkFDRSxXQUFXLEVBQUUsSUFBSTthQUNsQixDQUNGO1lBQ0QsTUFBTSxFQUFFLG1CQUFtQixDQUFDLE1BQU07WUFDbEMsWUFBWSxFQUFFLFlBQVksQ0FBQyxNQUFNO1lBQ2pDLE1BQU0sRUFBRSxlQUFlO1lBQ3ZCLEdBQUcsRUFBRSxlQUFlLENBQUMsR0FBRztTQUN6QixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUF0S0QsOEJBc0tDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuT3V0cHV0LCBEdXJhdGlvbiwgUmVtb3ZhbFBvbGljeSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtcbiAgQ29ubmVjdGlvbnMsXG4gIElDb25uZWN0YWJsZSxcbiAgUG9ydCxcbiAgU3VibmV0VHlwZSxcbiAgVnBjXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQge1xuICBBdXJvcmFQb3N0Z3Jlc0VuZ2luZVZlcnNpb24sXG4gIEJhY2t1cFByb3BzLFxuICBDYUNlcnRpZmljYXRlLFxuICBDbHVzdGVySW5zdGFuY2UsXG4gIENyZWRlbnRpYWxzLFxuICBEYXRhYmFzZUNsdXN0ZXIsXG4gIERhdGFiYXNlQ2x1c3RlckVuZ2luZSxcbiAgRGF0YWJhc2VQcm94eSxcbiAgSUNsdXN0ZXJFbmdpbmUsXG4gIFByb3h5VGFyZ2V0XG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtcmRzXCI7XG5pbXBvcnQge1xuICBTZWNyZXRSb3RhdGlvbixcbiAgU2VjcmV0Um90YXRpb25BcHBsaWNhdGlvblxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNlY3JldHNtYW5hZ2VyXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgU2VjdXJpdHlHcm91cCB9IGZyb20gXCIuLi9pYW1cIjtcbmltcG9ydCB7IEN1c3RvbWVyTWFuYWdlZEtleSwgU2VjcmV0IH0gZnJvbSBcIi4uL3NlY3JldHNcIjtcbmltcG9ydCB7IEtleVZhbHVlIH0gZnJvbSBcIi4uLy4uLy4uL3R5cGVzXCI7XG5cbmludGVyZmFjZSBSZHNQcm9wcyB7XG4gIHZwYzogVnBjO1xuICBkYXRhYmFzZU5hbWU/OiBzdHJpbmc7XG4gIGVuZ2luZT86IElDbHVzdGVyRW5naW5lO1xuICBiYWNrdXA/OiBCYWNrdXBQcm9wcztcbiAgY2x1c3RlcklkZW50aWZpZXI/OiBzdHJpbmc7XG4gIG1vbml0b3JpbmdJbnRlcnZhbD86IER1cmF0aW9uO1xuICBwcmVmZXJyZWRNYWludGVuYW5jZVdpbmRvdz86IHN0cmluZztcbiAgcG9ydD86IG51bWJlcjtcbiAgd3JpdGVyPzogQ2x1c3Rlckluc3RhbmNlO1xuICByZWFkZXJzPzogQ2x1c3Rlckluc3RhbmNlW107XG4gIHRhZ3M6IEtleVZhbHVlO1xufVxuXG5leHBvcnQgY2xhc3MgUmRzQXVyb3JhIGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSUNvbm5lY3RhYmxlIHtcbiAgcHVibGljIGNvbm5lY3Rpb25zOiBDb25uZWN0aW9ucztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUmRzUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgLy8gRGF0YWJhc2UgQ3JlZGVudGlhbHNcbiAgICBjb25zdCBkYXRhYmFzZUNyZWRlbnRpYWxzID0gbmV3IFNlY3JldChcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9Q3JlZGVudGlhbHNgLFxuICAgICAge1xuICAgICAgICBzZWNyZXROYW1lOiBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9Q3JlZGVudGlhbHNgLFxuICAgICAgICBnZW5lcmF0ZVNlY3JldFN0cmluZzoge1xuICAgICAgICAgIHNlY3JldFN0cmluZ1RlbXBsYXRlOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICB1c2VybmFtZTogXCJwb3N0Z3Jlc1wiXG4gICAgICAgICAgfSksXG4gICAgICAgICAgZXhjbHVkZVB1bmN0dWF0aW9uOiB0cnVlLFxuICAgICAgICAgIGluY2x1ZGVTcGFjZTogZmFsc2UsXG4gICAgICAgICAgZ2VuZXJhdGVTdHJpbmdLZXk6IFwicGFzc3dvcmRcIlxuICAgICAgICB9LFxuICAgICAgICB0YWdzOiBwcm9wcy50YWdzXG4gICAgICB9XG4gICAgKTtcblxuICAgIC8vIEN1c3RvbWVyIE1hbmFnZWQgS2V5c1xuICAgIGNvbnN0IGVuY3J5cHRpb25LZXkgPSBuZXcgQ3VzdG9tZXJNYW5hZ2VkS2V5KFxuICAgICAgdGhpcyxcbiAgICAgIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1DbHVzdGVyRW5jcnlwdGlvbktleWAsXG4gICAgICB7XG4gICAgICAgIGFsaWFzTmFtZTogYGNtay9yZHMvJHtwcm9wcy5kYXRhYmFzZU5hbWV9L2VuY3J5cHRpb25LZXlgLFxuICAgICAgICB0YWdzOiBwcm9wcy50YWdzXG4gICAgICB9XG4gICAgKTtcblxuICAgIGNvbnN0IHByaW1hcnlSZWFkZXJJbnNpZ2h0c0tleSA9IG5ldyBDdXN0b21lck1hbmFnZWRLZXkoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVByaW1hcnlSZWFkZXJJbnNpZ2h0c0tleWAsXG4gICAgICB7XG4gICAgICAgIGFsaWFzTmFtZTogYGNtay9yZHMvJHtwcm9wcy5kYXRhYmFzZU5hbWV9L1ByaW1hcnlSZWFkZXJJbnNpZ2h0c0tleWAsXG4gICAgICAgIHRhZ3M6IHByb3BzLnRhZ3NcbiAgICAgIH1cbiAgICApO1xuXG4gICAgY29uc3Qgc2Vjb25kYXJ5UmVhZGVySW5zaWdodHNLZXkgPSBuZXcgQ3VzdG9tZXJNYW5hZ2VkS2V5KFxuICAgICAgdGhpcyxcbiAgICAgIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1TZWNvbmRhcnlSZWFkZXJJbnNpZ2h0c0tleWAsXG4gICAgICB7XG4gICAgICAgIGFsaWFzTmFtZTogYGNtay9yZHMvJHtwcm9wcy5kYXRhYmFzZU5hbWV9L1NlY29uZGFyeVJlYWRlckluc2lnaHRzS2V5YCxcbiAgICAgICAgdGFnczogcHJvcHMudGFnc1xuICAgICAgfVxuICAgICk7XG5cbiAgICBjb25zdCBwcmltYXJ5V3JpdGVyUGVyZm9ybWFuY2VJbnNpZ2h0c0tleSA9IG5ldyBDdXN0b21lck1hbmFnZWRLZXkoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVByaW1hcnlXcml0ZXJQZXJmb3JtYW5jZUluc2lnaHRzS2V5YCxcbiAgICAgIHtcbiAgICAgICAgYWxpYXNOYW1lOiBgY21rL3Jkcy8ke3Byb3BzLmRhdGFiYXNlTmFtZX0vUHJpbWFyeVdyaXRlckluc2lnaHRzS2V5YCxcbiAgICAgICAgdGFnczogcHJvcHMudGFnc1xuICAgICAgfVxuICAgICk7XG5cbiAgICBjb25zdCBjbHVzdGVyU2VjdXJpdHlHcm91cCA9IG5ldyBTZWN1cml0eUdyb3VwKHRoaXMsIGAke2lkfVNlY3VyaXR5R3JvdXBgLCB7XG4gICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgIGRlc2NyaXB0aW9uOiBgU2VjdXJpdHkgZ3JvdXAgdGhhdCBhbGxvd3MgaW5ib3VuZCBhY2Nlc3MgdG8gdGhlIHBvc3RncmVzIGNsdXN0ZXIgZm9yICR7cHJvcHMuZGF0YWJhc2VOYW1lfWBcbiAgICB9KTtcblxuICAgIC8vVE9ETzogUmVtb3ZlIHRoaXMgbGluZSwgdGhhdCBhbGxvd3MgdGhlIHByb3h5IHRvIGNvbm5lY3QgdG8gdGhlIGRhdGFiYXNlLiBSZXBsYWNlIHdpdGggc2VwZXJhdGVkIHNlY3VyaXR5IGdyb3Vwc1xuICAgIGNsdXN0ZXJTZWN1cml0eUdyb3VwLmFkZEluZ3Jlc3NSdWxlKGNsdXN0ZXJTZWN1cml0eUdyb3VwLCBQb3J0LnRjcCg1NDMyKSk7XG5cbiAgICB0aGlzLmNvbm5lY3Rpb25zID0gY2x1c3RlclNlY3VyaXR5R3JvdXAuY29ubmVjdGlvbnM7XG5cbiAgICAvLyBEYXRhYmFzZSBDbHVzdGVyXG4gICAgY29uc3QgZGF0YWJhc2VDbHVzdGVyID0gbmV3IERhdGFiYXNlQ2x1c3RlcihzY29wZSwgYCR7aWR9RGF0YWJhc2VgLCB7XG4gICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgIHZwY1N1Ym5ldHM6IHtcbiAgICAgICAgc3VibmV0VHlwZTogU3VibmV0VHlwZS5QUklWQVRFX1dJVEhfRUdSRVNTXG4gICAgICB9LFxuICAgICAgc2VjdXJpdHlHcm91cHM6IFtjbHVzdGVyU2VjdXJpdHlHcm91cF0sXG4gICAgICBlbmdpbmU6XG4gICAgICAgIHByb3BzLmVuZ2luZSB8fFxuICAgICAgICBEYXRhYmFzZUNsdXN0ZXJFbmdpbmUuYXVyb3JhUG9zdGdyZXMoe1xuICAgICAgICAgIC8vVE9ETzogRG8gd2UgdXBkYXRlIHRoZXNlIHdoZW4gd2UgcmVsZWFzZSBhIG5ldyB2ZXJzaW9uPyBPciB0cnkgdG8ga2VlcCB0aGVtIGNvbnN0YW50bHkgdXBkYXRlZD9cbiAgICAgICAgICB2ZXJzaW9uOiBBdXJvcmFQb3N0Z3Jlc0VuZ2luZVZlcnNpb24uVkVSXzE1XzZcbiAgICAgICAgfSksXG4gICAgICBiYWNrdXA6IHByb3BzLmJhY2t1cCB8fCB7XG4gICAgICAgIHJldGVudGlvbjogRHVyYXRpb24uZGF5cygxNClcbiAgICAgIH0sXG4gICAgICBzdG9yYWdlRW5jcnlwdGVkOiB0cnVlLFxuICAgICAgc3RvcmFnZUVuY3J5cHRpb25LZXk6IGVuY3J5cHRpb25LZXkua2V5LFxuICAgICAgY2x1c3RlcklkZW50aWZpZXI6XG4gICAgICAgIHByb3BzLmNsdXN0ZXJJZGVudGlmaWVyIHx8IGAke3Byb3BzLmRhdGFiYXNlTmFtZX0tY2x1c3RlcmAsXG4gICAgICBjcmVkZW50aWFsczogQ3JlZGVudGlhbHMuZnJvbVNlY3JldChkYXRhYmFzZUNyZWRlbnRpYWxzLnNlY3JldCksXG4gICAgICBkZWZhdWx0RGF0YWJhc2VOYW1lOiBwcm9wcy5kYXRhYmFzZU5hbWUgfHwgYCR7aWQucmVwbGFjZShcIlJkc1wiLCBcIlwiKX1gLFxuICAgICAgbW9uaXRvcmluZ0ludGVydmFsOiBwcm9wcy5tb25pdG9yaW5nSW50ZXJ2YWwgfHwgRHVyYXRpb24ubWludXRlcygxKSxcbiAgICAgIHByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93OlxuICAgICAgICBwcm9wcy5wcmVmZXJyZWRNYWludGVuYW5jZVdpbmRvdyB8fCBcIlNhdDoxMjozMC1TYXQ6MjA6MzBcIixcbiAgICAgIHBvcnQ6IHByb3BzLnBvcnQgfHwgNTQzMixcbiAgICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuU05BUFNIT1QsXG4gICAgICB3cml0ZXI6XG4gICAgICAgIHByb3BzLndyaXRlciB8fFxuICAgICAgICBDbHVzdGVySW5zdGFuY2Uuc2VydmVybGVzc1YyKGAke3Byb3BzLmRhdGFiYXNlTmFtZX1Xcml0ZXJgLCB7XG4gICAgICAgICAgZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0czogdHJ1ZSxcbiAgICAgICAgICBwZXJmb3JtYW5jZUluc2lnaHRFbmNyeXB0aW9uS2V5OlxuICAgICAgICAgICAgcHJpbWFyeVdyaXRlclBlcmZvcm1hbmNlSW5zaWdodHNLZXkua2V5LFxuICAgICAgICAgIGluc3RhbmNlSWRlbnRpZmllcjogYCR7cHJvcHMuZGF0YWJhc2VOYW1lfS1wcmltYXJ5LXdyaXRlcmAsXG4gICAgICAgICAgLy9UT0RPOiBEbyB3ZSB1cGRhdGUgdGhlc2Ugd2hlbiB3ZSByZWxlYXNlIGEgbmV3IHZlcnNpb24/IE9yIHRyeSB0byBrZWVwIHRoZW0gY29uc3RhbnRseSB1cGRhdGVkP1xuICAgICAgICAgIGNhQ2VydGlmaWNhdGU6IENhQ2VydGlmaWNhdGUuUkRTX0NBX1JTQTQwOTZfRzFcbiAgICAgICAgfSksXG4gICAgICByZWFkZXJzOiBwcm9wcy5yZWFkZXJzIHx8IFtcbiAgICAgICAgQ2x1c3Rlckluc3RhbmNlLnNlcnZlcmxlc3NWMihgJHtwcm9wcy5kYXRhYmFzZU5hbWV9UHJpbWFyeVJlYWRlcmAsIHtcbiAgICAgICAgICBzY2FsZVdpdGhXcml0ZXI6IHRydWUsXG4gICAgICAgICAgZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0czogdHJ1ZSxcbiAgICAgICAgICBwZXJmb3JtYW5jZUluc2lnaHRFbmNyeXB0aW9uS2V5OiBwcmltYXJ5UmVhZGVySW5zaWdodHNLZXkua2V5LFxuICAgICAgICAgIGluc3RhbmNlSWRlbnRpZmllcjogYCR7cHJvcHMuZGF0YWJhc2VOYW1lfS1wcmltYXJ5LXJlYWRlcmAsXG4gICAgICAgICAgY2FDZXJ0aWZpY2F0ZTogQ2FDZXJ0aWZpY2F0ZS5SRFNfQ0FfUlNBNDA5Nl9HMVxuICAgICAgICB9KSxcbiAgICAgICAgQ2x1c3Rlckluc3RhbmNlLnNlcnZlcmxlc3NWMihgJHtwcm9wcy5kYXRhYmFzZU5hbWV9U2Vjb25kYXJ5UmVhZGVyYCwge1xuICAgICAgICAgIHNjYWxlV2l0aFdyaXRlcjogZmFsc2UsXG4gICAgICAgICAgZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0czogdHJ1ZSxcbiAgICAgICAgICBwZXJmb3JtYW5jZUluc2lnaHRFbmNyeXB0aW9uS2V5OiBzZWNvbmRhcnlSZWFkZXJJbnNpZ2h0c0tleS5rZXksXG4gICAgICAgICAgaW5zdGFuY2VJZGVudGlmaWVyOiBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9LXNlY29uZGFyeS1yZWFkZXJgLFxuICAgICAgICAgIGNhQ2VydGlmaWNhdGU6IENhQ2VydGlmaWNhdGUuUkRTX0NBX1JTQTQwOTZfRzFcbiAgICAgICAgfSlcbiAgICAgIF1cbiAgICB9KTtcblxuICAgIGNvbnN0IGRhdGFiYXNlUHJveHkgPSBuZXcgRGF0YWJhc2VQcm94eShcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9RGF0YWJhc2VQcm94eWAsXG4gICAgICB7XG4gICAgICAgIHByb3h5VGFyZ2V0OiBQcm94eVRhcmdldC5mcm9tQ2x1c3RlcihkYXRhYmFzZUNsdXN0ZXIpLFxuICAgICAgICBzZWNyZXRzOiBbZGF0YWJhc2VDcmVkZW50aWFscy5zZWNyZXRdLFxuICAgICAgICBzZWN1cml0eUdyb3VwczogW2NsdXN0ZXJTZWN1cml0eUdyb3VwXSxcbiAgICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICAgIHZwY1N1Ym5ldHM6IHtcbiAgICAgICAgICBzdWJuZXRUeXBlOiBTdWJuZXRUeXBlLlBVQkxJQ1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcblxuICAgIG5ldyBDZm5PdXRwdXQodGhpcywgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVByb3h5RW5kcG9pbnRPdXRwdXRgLCB7XG4gICAgICBrZXk6IGAke3Byb3BzLmRhdGFiYXNlTmFtZX1Qcm94eUVuZHBvaW50YCxcbiAgICAgIGV4cG9ydE5hbWU6IGAke3Byb3BzLmRhdGFiYXNlTmFtZX1Qcm94eUVuZHBvaW50YCxcbiAgICAgIHZhbHVlOiBkYXRhYmFzZVByb3h5LmVuZHBvaW50XG4gICAgfSk7XG5cbiAgICAvLyBSb3RhdGUgdGhlIFNlY3JldCBldmVyeSAzMCBkYXlzXG4gICAgY29uc3QgbWFzdGVyU2VjcmV0ID0gbmV3IFNlY3JldCh0aGlzLCBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9TWFzdGVyU2VjcmV0YCwge1xuICAgICAgc2VjcmV0TmFtZTogYCR7cHJvcHMuZGF0YWJhc2VOYW1lfU1hc3RlclNlY3JldGAsXG4gICAgICB0YWdzOiBwcm9wcy50YWdzXG4gICAgfSk7XG5cbiAgICBuZXcgU2VjcmV0Um90YXRpb24odGhpcywgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVNlY3JldFJvdGF0aW9uYCwge1xuICAgICAgYXBwbGljYXRpb246IG5ldyBTZWNyZXRSb3RhdGlvbkFwcGxpY2F0aW9uKFxuICAgICAgICBcIlNlY3JldHNNYW5hZ2VyUkRTUG9zdGdyZVNRTFJvdGF0aW9uTXVsdGlVc2VyXCIsXG4gICAgICAgIFwiMS4xLjM2N1wiLFxuICAgICAgICB7XG4gICAgICAgICAgaXNNdWx0aVVzZXI6IHRydWVcbiAgICAgICAgfVxuICAgICAgKSxcbiAgICAgIHNlY3JldDogZGF0YWJhc2VDcmVkZW50aWFscy5zZWNyZXQsXG4gICAgICBtYXN0ZXJTZWNyZXQ6IG1hc3RlclNlY3JldC5zZWNyZXQsXG4gICAgICB0YXJnZXQ6IGRhdGFiYXNlQ2x1c3RlcixcbiAgICAgIHZwYzogZGF0YWJhc2VDbHVzdGVyLnZwY1xuICAgIH0pO1xuICB9XG59XG4iXX0=
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmRzQXVyb3JhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3Jlc291cmNlcy9hd3MvZGF0YWJhc2UvcmRzQXVyb3JhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFpRTtBQUNqRSxpREFNNkI7QUFDN0IsaURBVzZCO0FBQzdCLHVFQUd3QztBQUN4QywyQ0FBdUM7QUFDdkMsZ0NBQXVDO0FBQ3ZDLHdDQUF3RDtBQWlCeEQsTUFBYSxTQUFVLFNBQVEsc0JBQVM7SUFHdEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFlO1FBQ3ZELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsdUJBQXVCO1FBQ3ZCLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxnQkFBTSxDQUNwQyxJQUFJLEVBQ0osR0FBRyxLQUFLLENBQUMsWUFBWSxhQUFhLEVBQ2xDO1lBQ0UsVUFBVSxFQUFFLEdBQUcsS0FBSyxDQUFDLFlBQVksYUFBYTtZQUM5QyxvQkFBb0IsRUFBRTtnQkFDcEIsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztvQkFDbkMsUUFBUSxFQUFFLFVBQVU7aUJBQ3JCLENBQUM7Z0JBQ0Ysa0JBQWtCLEVBQUUsSUFBSTtnQkFDeEIsWUFBWSxFQUFFLEtBQUs7Z0JBQ25CLGlCQUFpQixFQUFFLFVBQVU7YUFDOUI7WUFDRCxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7U0FDakIsQ0FDRixDQUFDO1FBRUYsd0JBQXdCO1FBQ3hCLE1BQU0sYUFBYSxHQUFHLElBQUksNEJBQWtCLENBQzFDLElBQUksRUFDSixHQUFHLEtBQUssQ0FBQyxZQUFZLHNCQUFzQixFQUMzQztZQUNFLFNBQVMsRUFBRSxXQUFXLEtBQUssQ0FBQyxZQUFZLGdCQUFnQjtZQUN4RCxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7U0FDakIsQ0FDRixDQUFDO1FBRUYsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLDRC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TUFBTTthQUM5QjtTQUNGLENBQ0YsQ0FBQztRQUVGLElBQUksdUJBQVMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsWUFBWSxxQkFBcUIsRUFBRTtZQUM5RCxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUMsWUFBWSxlQUFlO1lBQ3pDLFVBQVUsRUFBRSxHQUFHLEtBQUssQ0FBQyxZQUFZLGVBQWU7WUFDaEQsS0FBSyxFQUFFLGFBQWEsQ0FBQyxRQUFRO1NBQzlCLENBQUMsQ0FBQztRQUVILGtDQUFrQztRQUNsQyxNQUFNLFlBQVksR0FBRyxJQUFJLGdCQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLFlBQVksY0FBYyxFQUFFO1lBQ3pFLFVBQVUsRUFBRSxHQUFHLEtBQUssQ0FBQyxZQUFZLGNBQWM7WUFDL0MsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1NBQ2pCLENBQUMsQ0FBQztRQUVILElBQUksbUNBQWMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsWUFBWSxnQkFBZ0IsRUFBRTtZQUM5RCxXQUFXLEVBQUUsSUFBSSw4Q0FBeUIsQ0FDeEMsOENBQThDLEVBQzlDLFNBQVMsRUFDVDtnQkFDRSxXQUFXLEVBQUUsSUFBSTthQUNsQixDQUNGO1lBQ0QsTUFBTSxFQUFFLG1CQUFtQixDQUFDLE1BQU07WUFDbEMsWUFBWSxFQUFFLFlBQVksQ0FBQyxNQUFNO1lBQ2pDLE1BQU0sRUFBRSxlQUFlO1lBQ3ZCLEdBQUcsRUFBRSxlQUFlLENBQUMsR0FBRztTQUN6QixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUF0S0QsOEJBc0tDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuT3V0cHV0LCBEdXJhdGlvbiwgUmVtb3ZhbFBvbGljeSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtcbiAgQ29ubmVjdGlvbnMsXG4gIElDb25uZWN0YWJsZSxcbiAgSVZwYyxcbiAgUG9ydCxcbiAgU3VibmV0VHlwZVxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0IHtcbiAgQXVyb3JhUG9zdGdyZXNFbmdpbmVWZXJzaW9uLFxuICBCYWNrdXBQcm9wcyxcbiAgQ2FDZXJ0aWZpY2F0ZSxcbiAgQ2x1c3Rlckluc3RhbmNlLFxuICBDcmVkZW50aWFscyxcbiAgRGF0YWJhc2VDbHVzdGVyLFxuICBEYXRhYmFzZUNsdXN0ZXJFbmdpbmUsXG4gIERhdGFiYXNlUHJveHksXG4gIElDbHVzdGVyRW5naW5lLFxuICBQcm94eVRhcmdldFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJkc1wiO1xuaW1wb3J0IHtcbiAgU2VjcmV0Um90YXRpb24sXG4gIFNlY3JldFJvdGF0aW9uQXBwbGljYXRpb25cbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zZWNyZXRzbWFuYWdlclwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFNlY3VyaXR5R3JvdXAgfSBmcm9tIFwiLi4vaWFtXCI7XG5pbXBvcnQgeyBDdXN0b21lck1hbmFnZWRLZXksIFNlY3JldCB9IGZyb20gXCIuLi9zZWNyZXRzXCI7XG5pbXBvcnQgeyBLZXlWYWx1ZSB9IGZyb20gXCIuLi8uLi8uLi90eXBlc1wiO1xuXG5pbnRlcmZhY2UgUmRzUHJvcHMge1xuICB2cGM6IElWcGM7XG4gIGRhdGFiYXNlTmFtZT86IHN0cmluZztcbiAgZW5naW5lPzogSUNsdXN0ZXJFbmdpbmU7XG4gIGJhY2t1cD86IEJhY2t1cFByb3BzO1xuICBjbHVzdGVySWRlbnRpZmllcj86IHN0cmluZztcbiAgbW9uaXRvcmluZ0ludGVydmFsPzogRHVyYXRpb247XG4gIHByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93Pzogc3RyaW5nO1xuICBwb3J0PzogbnVtYmVyO1xuICB3cml0ZXI/OiBDbHVzdGVySW5zdGFuY2U7XG4gIHJlYWRlcnM/OiBDbHVzdGVySW5zdGFuY2VbXTtcbiAgdGFnczogS2V5VmFsdWU7XG59XG5cbmV4cG9ydCBjbGFzcyBSZHNBdXJvcmEgZXh0ZW5kcyBDb25zdHJ1Y3QgaW1wbGVtZW50cyBJQ29ubmVjdGFibGUge1xuICBwdWJsaWMgY29ubmVjdGlvbnM6IENvbm5lY3Rpb25zO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSZHNQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICAvLyBEYXRhYmFzZSBDcmVkZW50aWFsc1xuICAgIGNvbnN0IGRhdGFiYXNlQ3JlZGVudGlhbHMgPSBuZXcgU2VjcmV0KFxuICAgICAgdGhpcyxcbiAgICAgIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1DcmVkZW50aWFsc2AsXG4gICAgICB7XG4gICAgICAgIHNlY3JldE5hbWU6IGAke3Byb3BzLmRhdGFiYXNlTmFtZX1DcmVkZW50aWFsc2AsXG4gICAgICAgIGdlbmVyYXRlU2VjcmV0U3RyaW5nOiB7XG4gICAgICAgICAgc2VjcmV0U3RyaW5nVGVtcGxhdGU6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgIHVzZXJuYW1lOiBcInBvc3RncmVzXCJcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBleGNsdWRlUHVuY3R1YXRpb246IHRydWUsXG4gICAgICAgICAgaW5jbHVkZVNwYWNlOiBmYWxzZSxcbiAgICAgICAgICBnZW5lcmF0ZVN0cmluZ0tleTogXCJwYXNzd29yZFwiXG4gICAgICAgIH0sXG4gICAgICAgIHRhZ3M6IHByb3BzLnRhZ3NcbiAgICAgIH1cbiAgICApO1xuXG4gICAgLy8gQ3VzdG9tZXIgTWFuYWdlZCBLZXlzXG4gICAgY29uc3QgZW5jcnlwdGlvbktleSA9IG5ldyBDdXN0b21lck1hbmFnZWRLZXkoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfUNsdXN0ZXJFbmNyeXB0aW9uS2V5YCxcbiAgICAgIHtcbiAgICAgICAgYWxpYXNOYW1lOiBgY21rL3Jkcy8ke3Byb3BzLmRhdGFiYXNlTmFtZX0vZW5jcnlwdGlvbktleWAsXG4gICAgICAgIHRhZ3M6IHByb3BzLnRhZ3NcbiAgICAgIH1cbiAgICApO1xuXG4gICAgY29uc3QgcHJpbWFyeVJlYWRlckluc2lnaHRzS2V5ID0gbmV3IEN1c3RvbWVyTWFuYWdlZEtleShcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9UHJpbWFyeVJlYWRlckluc2lnaHRzS2V5YCxcbiAgICAgIHtcbiAgICAgICAgYWxpYXNOYW1lOiBgY21rL3Jkcy8ke3Byb3BzLmRhdGFiYXNlTmFtZX0vUHJpbWFyeVJlYWRlckluc2lnaHRzS2V5YCxcbiAgICAgICAgdGFnczogcHJvcHMudGFnc1xuICAgICAgfVxuICAgICk7XG5cbiAgICBjb25zdCBzZWNvbmRhcnlSZWFkZXJJbnNpZ2h0c0tleSA9IG5ldyBDdXN0b21lck1hbmFnZWRLZXkoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVNlY29uZGFyeVJlYWRlckluc2lnaHRzS2V5YCxcbiAgICAgIHtcbiAgICAgICAgYWxpYXNOYW1lOiBgY21rL3Jkcy8ke3Byb3BzLmRhdGFiYXNlTmFtZX0vU2Vjb25kYXJ5UmVhZGVySW5zaWdodHNLZXlgLFxuICAgICAgICB0YWdzOiBwcm9wcy50YWdzXG4gICAgICB9XG4gICAgKTtcblxuICAgIGNvbnN0IHByaW1hcnlXcml0ZXJQZXJmb3JtYW5jZUluc2lnaHRzS2V5ID0gbmV3IEN1c3RvbWVyTWFuYWdlZEtleShcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9UHJpbWFyeVdyaXRlclBlcmZvcm1hbmNlSW5zaWdodHNLZXlgLFxuICAgICAge1xuICAgICAgICBhbGlhc05hbWU6IGBjbWsvcmRzLyR7cHJvcHMuZGF0YWJhc2VOYW1lfS9QcmltYXJ5V3JpdGVySW5zaWdodHNLZXlgLFxuICAgICAgICB0YWdzOiBwcm9wcy50YWdzXG4gICAgICB9XG4gICAgKTtcblxuICAgIGNvbnN0IGNsdXN0ZXJTZWN1cml0eUdyb3VwID0gbmV3IFNlY3VyaXR5R3JvdXAodGhpcywgYCR7aWR9U2VjdXJpdHlHcm91cGAsIHtcbiAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgZGVzY3JpcHRpb246IGBTZWN1cml0eSBncm91cCB0aGF0IGFsbG93cyBpbmJvdW5kIGFjY2VzcyB0byB0aGUgcG9zdGdyZXMgY2x1c3RlciBmb3IgJHtwcm9wcy5kYXRhYmFzZU5hbWV9YFxuICAgIH0pO1xuXG4gICAgLy9UT0RPOiBSZW1vdmUgdGhpcyBsaW5lLCB0aGF0IGFsbG93cyB0aGUgcHJveHkgdG8gY29ubmVjdCB0byB0aGUgZGF0YWJhc2UuIFJlcGxhY2Ugd2l0aCBzZXBlcmF0ZWQgc2VjdXJpdHkgZ3JvdXBzXG4gICAgY2x1c3RlclNlY3VyaXR5R3JvdXAuYWRkSW5ncmVzc1J1bGUoY2x1c3RlclNlY3VyaXR5R3JvdXAsIFBvcnQudGNwKDU0MzIpKTtcblxuICAgIHRoaXMuY29ubmVjdGlvbnMgPSBjbHVzdGVyU2VjdXJpdHlHcm91cC5jb25uZWN0aW9ucztcblxuICAgIC8vIERhdGFiYXNlIENsdXN0ZXJcbiAgICBjb25zdCBkYXRhYmFzZUNsdXN0ZXIgPSBuZXcgRGF0YWJhc2VDbHVzdGVyKHNjb3BlLCBgJHtpZH1EYXRhYmFzZWAsIHtcbiAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgdnBjU3VibmV0czoge1xuICAgICAgICBzdWJuZXRUeXBlOiBTdWJuZXRUeXBlLlBSSVZBVEVfV0lUSF9FR1JFU1NcbiAgICAgIH0sXG4gICAgICBzZWN1cml0eUdyb3VwczogW2NsdXN0ZXJTZWN1cml0eUdyb3VwXSxcbiAgICAgIGVuZ2luZTpcbiAgICAgICAgcHJvcHMuZW5naW5lIHx8XG4gICAgICAgIERhdGFiYXNlQ2x1c3RlckVuZ2luZS5hdXJvcmFQb3N0Z3Jlcyh7XG4gICAgICAgICAgLy9UT0RPOiBEbyB3ZSB1cGRhdGUgdGhlc2Ugd2hlbiB3ZSByZWxlYXNlIGEgbmV3IHZlcnNpb24/IE9yIHRyeSB0byBrZWVwIHRoZW0gY29uc3RhbnRseSB1cGRhdGVkP1xuICAgICAgICAgIHZlcnNpb246IEF1cm9yYVBvc3RncmVzRW5naW5lVmVyc2lvbi5WRVJfMTVfNlxuICAgICAgICB9KSxcbiAgICAgIGJhY2t1cDogcHJvcHMuYmFja3VwIHx8IHtcbiAgICAgICAgcmV0ZW50aW9uOiBEdXJhdGlvbi5kYXlzKDE0KVxuICAgICAgfSxcbiAgICAgIHN0b3JhZ2VFbmNyeXB0ZWQ6IHRydWUsXG4gICAgICBzdG9yYWdlRW5jcnlwdGlvbktleTogZW5jcnlwdGlvbktleS5rZXksXG4gICAgICBjbHVzdGVySWRlbnRpZmllcjpcbiAgICAgICAgcHJvcHMuY2x1c3RlcklkZW50aWZpZXIgfHwgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfS1jbHVzdGVyYCxcbiAgICAgIGNyZWRlbnRpYWxzOiBDcmVkZW50aWFscy5mcm9tU2VjcmV0KGRhdGFiYXNlQ3JlZGVudGlhbHMuc2VjcmV0KSxcbiAgICAgIGRlZmF1bHREYXRhYmFzZU5hbWU6IHByb3BzLmRhdGFiYXNlTmFtZSB8fCBgJHtpZC5yZXBsYWNlKFwiUmRzXCIsIFwiXCIpfWAsXG4gICAgICBtb25pdG9yaW5nSW50ZXJ2YWw6IHByb3BzLm1vbml0b3JpbmdJbnRlcnZhbCB8fCBEdXJhdGlvbi5taW51dGVzKDEpLFxuICAgICAgcHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3c6XG4gICAgICAgIHByb3BzLnByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93IHx8IFwiU2F0OjEyOjMwLVNhdDoyMDozMFwiLFxuICAgICAgcG9ydDogcHJvcHMucG9ydCB8fCA1NDMyLFxuICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5TTkFQU0hPVCxcbiAgICAgIHdyaXRlcjpcbiAgICAgICAgcHJvcHMud3JpdGVyIHx8XG4gICAgICAgIENsdXN0ZXJJbnN0YW5jZS5zZXJ2ZXJsZXNzVjIoYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVdyaXRlcmAsIHtcbiAgICAgICAgICBlbmFibGVQZXJmb3JtYW5jZUluc2lnaHRzOiB0cnVlLFxuICAgICAgICAgIHBlcmZvcm1hbmNlSW5zaWdodEVuY3J5cHRpb25LZXk6XG4gICAgICAgICAgICBwcmltYXJ5V3JpdGVyUGVyZm9ybWFuY2VJbnNpZ2h0c0tleS5rZXksXG4gICAgICAgICAgaW5zdGFuY2VJZGVudGlmaWVyOiBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9LXByaW1hcnktd3JpdGVyYCxcbiAgICAgICAgICAvL1RPRE86IERvIHdlIHVwZGF0ZSB0aGVzZSB3aGVuIHdlIHJlbGVhc2UgYSBuZXcgdmVyc2lvbj8gT3IgdHJ5IHRvIGtlZXAgdGhlbSBjb25zdGFudGx5IHVwZGF0ZWQ/XG4gICAgICAgICAgY2FDZXJ0aWZpY2F0ZTogQ2FDZXJ0aWZpY2F0ZS5SRFNfQ0FfUlNBNDA5Nl9HMVxuICAgICAgICB9KSxcbiAgICAgIHJlYWRlcnM6IHByb3BzLnJlYWRlcnMgfHwgW1xuICAgICAgICBDbHVzdGVySW5zdGFuY2Uuc2VydmVybGVzc1YyKGAke3Byb3BzLmRhdGFiYXNlTmFtZX1QcmltYXJ5UmVhZGVyYCwge1xuICAgICAgICAgIHNjYWxlV2l0aFdyaXRlcjogdHJ1ZSxcbiAgICAgICAgICBlbmFibGVQZXJmb3JtYW5jZUluc2lnaHRzOiB0cnVlLFxuICAgICAgICAgIHBlcmZvcm1hbmNlSW5zaWdodEVuY3J5cHRpb25LZXk6IHByaW1hcnlSZWFkZXJJbnNpZ2h0c0tleS5rZXksXG4gICAgICAgICAgaW5zdGFuY2VJZGVudGlmaWVyOiBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9LXByaW1hcnktcmVhZGVyYCxcbiAgICAgICAgICBjYUNlcnRpZmljYXRlOiBDYUNlcnRpZmljYXRlLlJEU19DQV9SU0E0MDk2X0cxXG4gICAgICAgIH0pLFxuICAgICAgICBDbHVzdGVySW5zdGFuY2Uuc2VydmVybGVzc1YyKGAke3Byb3BzLmRhdGFiYXNlTmFtZX1TZWNvbmRhcnlSZWFkZXJgLCB7XG4gICAgICAgICAgc2NhbGVXaXRoV3JpdGVyOiBmYWxzZSxcbiAgICAgICAgICBlbmFibGVQZXJmb3JtYW5jZUluc2lnaHRzOiB0cnVlLFxuICAgICAgICAgIHBlcmZvcm1hbmNlSW5zaWdodEVuY3J5cHRpb25LZXk6IHNlY29uZGFyeVJlYWRlckluc2lnaHRzS2V5LmtleSxcbiAgICAgICAgICBpbnN0YW5jZUlkZW50aWZpZXI6IGAke3Byb3BzLmRhdGFiYXNlTmFtZX0tc2Vjb25kYXJ5LXJlYWRlcmAsXG4gICAgICAgICAgY2FDZXJ0aWZpY2F0ZTogQ2FDZXJ0aWZpY2F0ZS5SRFNfQ0FfUlNBNDA5Nl9HMVxuICAgICAgICB9KVxuICAgICAgXVxuICAgIH0pO1xuXG4gICAgY29uc3QgZGF0YWJhc2VQcm94eSA9IG5ldyBEYXRhYmFzZVByb3h5KFxuICAgICAgdGhpcyxcbiAgICAgIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1EYXRhYmFzZVByb3h5YCxcbiAgICAgIHtcbiAgICAgICAgcHJveHlUYXJnZXQ6IFByb3h5VGFyZ2V0LmZyb21DbHVzdGVyKGRhdGFiYXNlQ2x1c3RlciksXG4gICAgICAgIHNlY3JldHM6IFtkYXRhYmFzZUNyZWRlbnRpYWxzLnNlY3JldF0sXG4gICAgICAgIHNlY3VyaXR5R3JvdXBzOiBbY2x1c3RlclNlY3VyaXR5R3JvdXBdLFxuICAgICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgICAgdnBjU3VibmV0czoge1xuICAgICAgICAgIHN1Ym5ldFR5cGU6IFN1Ym5ldFR5cGUuUFVCTElDXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9UHJveHlFbmRwb2ludE91dHB1dGAsIHtcbiAgICAgIGtleTogYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVByb3h5RW5kcG9pbnRgLFxuICAgICAgZXhwb3J0TmFtZTogYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVByb3h5RW5kcG9pbnRgLFxuICAgICAgdmFsdWU6IGRhdGFiYXNlUHJveHkuZW5kcG9pbnRcbiAgICB9KTtcblxuICAgIC8vIFJvdGF0ZSB0aGUgU2VjcmV0IGV2ZXJ5IDMwIGRheXNcbiAgICBjb25zdCBtYXN0ZXJTZWNyZXQgPSBuZXcgU2VjcmV0KHRoaXMsIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1NYXN0ZXJTZWNyZXRgLCB7XG4gICAgICBzZWNyZXROYW1lOiBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9TWFzdGVyU2VjcmV0YCxcbiAgICAgIHRhZ3M6IHByb3BzLnRhZ3NcbiAgICB9KTtcblxuICAgIG5ldyBTZWNyZXRSb3RhdGlvbih0aGlzLCBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9U2VjcmV0Um90YXRpb25gLCB7XG4gICAgICBhcHBsaWNhdGlvbjogbmV3IFNlY3JldFJvdGF0aW9uQXBwbGljYXRpb24oXG4gICAgICAgIFwiU2VjcmV0c01hbmFnZXJSRFNQb3N0Z3JlU1FMUm90YXRpb25NdWx0aVVzZXJcIixcbiAgICAgICAgXCIxLjEuMzY3XCIsXG4gICAgICAgIHtcbiAgICAgICAgICBpc011bHRpVXNlcjogdHJ1ZVxuICAgICAgICB9XG4gICAgICApLFxuICAgICAgc2VjcmV0OiBkYXRhYmFzZUNyZWRlbnRpYWxzLnNlY3JldCxcbiAgICAgIG1hc3RlclNlY3JldDogbWFzdGVyU2VjcmV0LnNlY3JldCxcbiAgICAgIHRhcmdldDogZGF0YWJhc2VDbHVzdGVyLFxuICAgICAgdnBjOiBkYXRhYmFzZUNsdXN0ZXIudnBjXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -4,9 +4,8 @@ import { IInstanceEngine } from "aws-cdk-lib/aws-rds";
4
4
  import { Construct } from "constructs";
5
5
  import { SecurityGroup } from "../iam";
6
6
  import { KeyValue } from "../../../types";
7
- import { Vpc } from "../networking/vpc";
8
7
  interface RdsProps extends StackProps {
9
- vpc?: Vpc;
8
+ vpc?: IVpc;
10
9
  databaseName?: string;
11
10
  engine?: IInstanceEngine;
12
11
  instanceType?: InstanceType;
@@ -78,4 +78,4 @@ class RdsFreeTier extends constructs_1.Construct {
78
78
  }
79
79
  }
80
80
  exports.RdsFreeTier = RdsFreeTier;
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmRzRnJlZVRpZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9kYXRhYmFzZS9yZHNGcmVlVGllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBa0U7QUFDbEUsaURBUTZCO0FBQzdCLGlEQVE2QjtBQUM3QiwyQ0FBdUM7QUFDdkMsZ0NBQXVDO0FBQ3ZDLHdDQUF3RDtBQUV4RCw0REFBcUQ7QUFDckQsMkNBQXdDO0FBcUJ4QyxNQUFhLFdBQVksU0FBUSxzQkFBUztJQVV4QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWU7UUFDdkQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFlO1FBQ3BCLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUc7WUFDbEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHO1lBQ1gsQ0FBQyxDQUFDLElBQUksU0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxZQUFZLEtBQUssRUFBRTtnQkFDeEMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO2FBQ2pCLENBQUMsQ0FBQztJQUNULENBQUM7SUFDRCxXQUFXLENBQUMsS0FBZTtRQUN6Qix1QkFBdUI7UUFDdkIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksZ0JBQU0sQ0FDbkMsSUFBSSxFQUNKLEdBQUcsS0FBSyxDQUFDLFlBQVksYUFBYSxFQUNsQztZQUNFLFVBQVUsRUFBRSxHQUFHLEtBQUssQ0FBQyxZQUFZLGFBQWE7WUFDOUMsb0JBQW9CLEVBQUU7Z0JBQ3BCLG9CQUFvQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7b0JBQ25DLFFBQVEsRUFBRSxVQUFVO2lCQUNyQixDQUFDO2dCQUNGLGtCQUFrQixFQUFFLElBQUk7Z0JBQ3hCLFlBQVksRUFBRSxLQUFLO2dCQUNuQixpQkFBaUIsRUFBRSxVQUFVO2FBQzlCO1lBQ0QsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1NBQ2pCLENBQ0YsQ0FBQztRQUVGLHdCQUF3QjtRQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksNEJBQWtCLENBQ3pDLElBQUksRUFDSixHQUFHLEtBQUssQ0FBQyxZQUFZLHNCQUFzQixFQUMzQztZQUNFLFNBQVMsRUFBRSxXQUFXLEtBQUssQ0FBQyxZQUFZLGdCQUFnQjtZQUN4RCxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7U0FDakIsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksbUJBQWEsQ0FDNUMsSUFBSSxFQUNKLEdBQUcsS0FBSyxDQUFDLFlBQVksZUFBZSxFQUNwQztZQUNFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNiLFdBQVcsRUFBRSx5RUFBeUUsS0FBSyxDQUFDLFlBQVksRUFBRTtTQUMzRyxDQUNGLENBQUM7UUFFRixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLENBQUM7UUFFMUQsbUJBQW1CO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSwwQkFBZ0IsQ0FDbEMsSUFBSSxFQUNKLEdBQUcsS0FBSyxDQUFDLFlBQVksVUFBVSxFQUMvQjtZQUNFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNiLFVBQVUsRUFBRTtnQkFDVixVQUFVLEVBQUUsb0JBQVUsQ0FBQyxtQkFBbUI7YUFDM0M7WUFDRCxjQUFjLEVBQUUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUM7WUFDNUMsTUFBTSxFQUNKLEtBQUssQ0FBQyxNQUFNO2dCQUNaLGdDQUFzQixDQUFDLFFBQVEsQ0FBQztvQkFDOUIsT0FBTyxFQUFFLCtCQUFxQixDQUFDLFFBQVE7aUJBQ3hDLENBQUM7WUFDSixnQkFBZ0IsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO1lBQ3hDLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZSxJQUFJLHNCQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMzRCxnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLG9CQUFvQixFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRztZQUM1QyxXQUFXLEVBQUUscUJBQVcsQ0FBQyxHQUFHO1lBQzVCLGFBQWEsRUFBRSx1QkFBYSxDQUFDLGlCQUFpQjtZQUM5QyxhQUFhLEVBQUUsMkJBQWEsQ0FBQyxRQUFRO1lBQ3JDLHNCQUFzQixFQUFFLEtBQUs7WUFDN0IsWUFBWSxFQUNWLEtBQUssQ0FBQyxZQUFZLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFO1lBQzVELGtCQUFrQixFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQ3RDLFlBQVksRUFDVixLQUFLLENBQUMsWUFBWTtnQkFDbEIsc0JBQVksQ0FBQyxFQUFFLENBQUMsdUJBQWEsQ0FBQyxVQUFVLEVBQUUsc0JBQVksQ0FBQyxLQUFLLENBQUM7WUFDL0QsT0FBTyxFQUFFLEtBQUs7WUFDZCxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDaEIsMEJBQTBCLEVBQ3hCLEtBQUssQ0FBQywwQkFBMEIsSUFBSSxxQkFBcUI7WUFDM0QsV0FBVyxFQUFFLHFCQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUM7U0FDckUsQ0FDRixDQUFDO1FBQ0YsSUFBQSxxQkFBVyxFQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Q0FDRjtBQXJHRCxrQ0FxR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEdXJhdGlvbiwgUmVtb3ZhbFBvbGljeSwgU3RhY2tQcm9wcyB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtcbiAgQ29ubmVjdGlvbnMsXG4gIElDb25uZWN0YWJsZSxcbiAgSW5zdGFuY2VDbGFzcyxcbiAgSW5zdGFuY2VTaXplLFxuICBJbnN0YW5jZVR5cGUsXG4gIElWcGMsXG4gIFN1Ym5ldFR5cGVcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7XG4gIENhQ2VydGlmaWNhdGUsXG4gIENyZWRlbnRpYWxzLFxuICBEYXRhYmFzZUluc3RhbmNlLFxuICBEYXRhYmFzZUluc3RhbmNlRW5naW5lLFxuICBJSW5zdGFuY2VFbmdpbmUsXG4gIFBvc3RncmVzRW5naW5lVmVyc2lvbixcbiAgU3RvcmFnZVR5cGVcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yZHNcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBTZWN1cml0eUdyb3VwIH0gZnJvbSBcIi4uL2lhbVwiO1xuaW1wb3J0IHsgQ3VzdG9tZXJNYW5hZ2VkS2V5LCBTZWNyZXQgfSBmcm9tIFwiLi4vc2VjcmV0c1wiO1xuaW1wb3J0IHsgS2V5VmFsdWUgfSBmcm9tIFwiLi4vLi4vLi4vdHlwZXNcIjtcbmltcG9ydCB0YWdSZXNvdXJjZSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvdGFnUmVzb3VyY2VcIjtcbmltcG9ydCB7IFZwYyB9IGZyb20gXCIuLi9uZXR3b3JraW5nL3ZwY1wiO1xuXG5pbnRlcmZhY2UgUmRzUHJvcHMgZXh0ZW5kcyBTdGFja1Byb3BzIHtcbiAgdnBjPzogVnBjO1xuICBkYXRhYmFzZU5hbWU/OiBzdHJpbmc7XG4gIGVuZ2luZT86IElJbnN0YW5jZUVuZ2luZTtcbiAgaW5zdGFuY2VUeXBlPzogSW5zdGFuY2VUeXBlO1xuICBtYXhBbGxvY2F0ZWRTdG9yYWdlPzogbnVtYmVyO1xuICBhbGxvY2F0ZWRTdG9yYWdlPzogbnVtYmVyO1xuICBiYWNrdXBSZXRlbnRpb24/OiBEdXJhdGlvbjtcbiAgY2x1c3RlcklkZW50aWZpZXI/OiBzdHJpbmc7XG4gIG1vbml0b3JpbmdJbnRlcnZhbD86IER1cmF0aW9uO1xuICBwcmVmZXJyZWRNYWludGVuYW5jZVdpbmRvdz86IHN0cmluZztcbiAgcG9ydD86IG51bWJlcjtcbiAgZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0cz86IGJvb2xlYW47XG4gIGRhdGFiYXNlUHJveHk/OiBib29sZWFuO1xuICAvLyBUT0RPOiBUaGUgYmVsb3cgY291bGQgYmUgYSBudW1iZXIsIHRoZW4gaXQgc2NhbGVzIGJhc2VkIG9uIHRoZSBhbW91bnRcbiAgcmVhZFJlcGxpY2E/OiBib29sZWFuO1xuICB0YWdzOiBLZXlWYWx1ZTtcbn1cblxuZXhwb3J0IGNsYXNzIFJkc0ZyZWVUaWVyIGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSUNvbm5lY3RhYmxlIHtcbiAgcHVibGljIGNvbm5lY3Rpb25zOiBDb25uZWN0aW9ucztcbiAgcHVibGljIGRhdGFiYXNlU2VjdXJpdHlHcm91cDogU2VjdXJpdHlHcm91cDtcbiAgcHVibGljIHZwYzogSVZwYztcblxuICBwcml2YXRlIGRhdGFiYXNlQ3JlZGVudGlhbHM6IFNlY3JldDtcbiAgcHJpdmF0ZSBlbmNyeXB0aW9uS2V5OiBDdXN0b21lck1hbmFnZWRLZXk7XG4gIC8vIHByaXZhdGUgZGF0YWJhc2VTZWN1cml0eUdyb3VwOiBTZWN1cml0eUdyb3VwO1xuICBwcml2YXRlIGRhdGFiYXNlOiBEYXRhYmFzZUluc3RhbmNlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSZHNQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5hZGRWcGMocHJvcHMpO1xuICAgIHRoaXMuYWRkRGF0YWJhc2UocHJvcHMpO1xuICB9XG5cbiAgYWRkVnBjKHByb3BzOiBSZHNQcm9wcykge1xuICAgIHRoaXMudnBjID0gcHJvcHMudnBjXG4gICAgICA/IHByb3BzLnZwY1xuICAgICAgOiBuZXcgVnBjKHRoaXMsIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1WcGNgLCB7XG4gICAgICAgICAgdGFnczogcHJvcHMudGFnc1xuICAgICAgICB9KTtcbiAgfVxuICBhZGREYXRhYmFzZShwcm9wczogUmRzUHJvcHMpIHtcbiAgICAvLyBEYXRhYmFzZSBDcmVkZW50aWFsc1xuICAgIHRoaXMuZGF0YWJhc2VDcmVkZW50aWFscyA9IG5ldyBTZWNyZXQoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfUNyZWRlbnRpYWxzYCxcbiAgICAgIHtcbiAgICAgICAgc2VjcmV0TmFtZTogYCR7cHJvcHMuZGF0YWJhc2VOYW1lfUNyZWRlbnRpYWxzYCxcbiAgICAgICAgZ2VuZXJhdGVTZWNyZXRTdHJpbmc6IHtcbiAgICAgICAgICBzZWNyZXRTdHJpbmdUZW1wbGF0ZTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgdXNlcm5hbWU6IFwicG9zdGdyZXNcIlxuICAgICAgICAgIH0pLFxuICAgICAgICAgIGV4Y2x1ZGVQdW5jdHVhdGlvbjogdHJ1ZSxcbiAgICAgICAgICBpbmNsdWRlU3BhY2U6IGZhbHNlLFxuICAgICAgICAgIGdlbmVyYXRlU3RyaW5nS2V5OiBcInBhc3N3b3JkXCJcbiAgICAgICAgfSxcbiAgICAgICAgdGFnczogcHJvcHMudGFnc1xuICAgICAgfVxuICAgICk7XG5cbiAgICAvLyBDdXN0b21lciBNYW5hZ2VkIEtleXNcbiAgICB0aGlzLmVuY3J5cHRpb25LZXkgPSBuZXcgQ3VzdG9tZXJNYW5hZ2VkS2V5KFxuICAgICAgdGhpcyxcbiAgICAgIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1DbHVzdGVyRW5jcnlwdGlvbktleWAsXG4gICAgICB7XG4gICAgICAgIGFsaWFzTmFtZTogYGNtay9yZHMvJHtwcm9wcy5kYXRhYmFzZU5hbWV9L2VuY3J5cHRpb25LZXlgLFxuICAgICAgICB0YWdzOiBwcm9wcy50YWdzXG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMuZGF0YWJhc2VTZWN1cml0eUdyb3VwID0gbmV3IFNlY3VyaXR5R3JvdXAoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVNlY3VyaXR5R3JvdXBgLFxuICAgICAge1xuICAgICAgICB2cGM6IHRoaXMudnBjLFxuICAgICAgICBkZXNjcmlwdGlvbjogYFNlY3VyaXR5IGdyb3VwIHRoYXQgYWxsb3dzIGluYm91bmQgYWNjZXNzIHRvIHRoZSBwb3N0Z3JlcyBjbHVzdGVyIGZvciAke3Byb3BzLmRhdGFiYXNlTmFtZX1gXG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMuY29ubmVjdGlvbnMgPSB0aGlzLmRhdGFiYXNlU2VjdXJpdHlHcm91cC5jb25uZWN0aW9ucztcblxuICAgIC8vIERhdGFiYXNlIENsdXN0ZXJcbiAgICB0aGlzLmRhdGFiYXNlID0gbmV3IERhdGFiYXNlSW5zdGFuY2UoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfURhdGFiYXNlYCxcbiAgICAgIHtcbiAgICAgICAgdnBjOiB0aGlzLnZwYyxcbiAgICAgICAgdnBjU3VibmV0czoge1xuICAgICAgICAgIHN1Ym5ldFR5cGU6IFN1Ym5ldFR5cGUuUFJJVkFURV9XSVRIX0VHUkVTU1xuICAgICAgICB9LFxuICAgICAgICBzZWN1cml0eUdyb3VwczogW3RoaXMuZGF0YWJhc2VTZWN1cml0eUdyb3VwXSxcbiAgICAgICAgZW5naW5lOlxuICAgICAgICAgIHByb3BzLmVuZ2luZSB8fFxuICAgICAgICAgIERhdGFiYXNlSW5zdGFuY2VFbmdpbmUucG9zdGdyZXMoe1xuICAgICAgICAgICAgdmVyc2lvbjogUG9zdGdyZXNFbmdpbmVWZXJzaW9uLlZFUl8xNl8zXG4gICAgICAgICAgfSksXG4gICAgICAgIGFsbG9jYXRlZFN0b3JhZ2U6IHByb3BzLmFsbG9jYXRlZFN0b3JhZ2UsXG4gICAgICAgIGJhY2t1cFJldGVudGlvbjogcHJvcHMuYmFja3VwUmV0ZW50aW9uIHx8IER1cmF0aW9uLmRheXMoMTQpLFxuICAgICAgICBzdG9yYWdlRW5jcnlwdGVkOiB0cnVlLFxuICAgICAgICBzdG9yYWdlRW5jcnlwdGlvbktleTogdGhpcy5lbmNyeXB0aW9uS2V5LmtleSxcbiAgICAgICAgc3RvcmFnZVR5cGU6IFN0b3JhZ2VUeXBlLkdQMyxcbiAgICAgICAgY2FDZXJ0aWZpY2F0ZTogQ2FDZXJ0aWZpY2F0ZS5SRFNfQ0FfUlNBNDA5Nl9HMSxcbiAgICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5TTkFQU0hPVCxcbiAgICAgICAgZGVsZXRlQXV0b21hdGVkQmFja3VwczogZmFsc2UsXG4gICAgICAgIGRhdGFiYXNlTmFtZTpcbiAgICAgICAgICBwcm9wcy5kYXRhYmFzZU5hbWUgfHwgYCR7dGhpcy5ub2RlLmlkLnJlcGxhY2UoXCJSZHNcIiwgXCJcIil9YCxcbiAgICAgICAgaW5zdGFuY2VJZGVudGlmaWVyOiBwcm9wcy5kYXRhYmFzZU5hbWUsXG4gICAgICAgIGluc3RhbmNlVHlwZTpcbiAgICAgICAgICBwcm9wcy5pbnN0YW5jZVR5cGUgfHxcbiAgICAgICAgICBJbnN0YW5jZVR5cGUub2YoSW5zdGFuY2VDbGFzcy5CVVJTVEFCTEUzLCBJbnN0YW5jZVNpemUuTUlDUk8pLFxuICAgICAgICBtdWx0aUF6OiBmYWxzZSxcbiAgICAgICAgcG9ydDogcHJvcHMucG9ydCxcbiAgICAgICAgcHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3c6XG4gICAgICAgICAgcHJvcHMucHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3cgfHwgXCJTYXQ6MTI6MzAtU2F0OjIwOjMwXCIsXG4gICAgICAgIGNyZWRlbnRpYWxzOiBDcmVkZW50aWFscy5mcm9tU2VjcmV0KHRoaXMuZGF0YWJhc2VDcmVkZW50aWFscy5zZWNyZXQpXG4gICAgICB9XG4gICAgKTtcbiAgICB0YWdSZXNvdXJjZSh0aGlzLmRhdGFiYXNlLCBwcm9wcy50YWdzKTtcbiAgfVxufVxuIl19
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmRzRnJlZVRpZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9kYXRhYmFzZS9yZHNGcmVlVGllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBa0U7QUFDbEUsaURBUTZCO0FBQzdCLGlEQVE2QjtBQUM3QiwyQ0FBdUM7QUFDdkMsZ0NBQXVDO0FBQ3ZDLHdDQUF3RDtBQUV4RCw0REFBcUQ7QUFDckQsMkNBQXdDO0FBcUJ4QyxNQUFhLFdBQVksU0FBUSxzQkFBUztJQVV4QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWU7UUFDdkQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFlO1FBQ3BCLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUc7WUFDbEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHO1lBQ1gsQ0FBQyxDQUFDLElBQUksU0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxZQUFZLEtBQUssRUFBRTtnQkFDeEMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO2FBQ2pCLENBQUMsQ0FBQztJQUNULENBQUM7SUFDRCxXQUFXLENBQUMsS0FBZTtRQUN6Qix1QkFBdUI7UUFDdkIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksZ0JBQU0sQ0FDbkMsSUFBSSxFQUNKLEdBQUcsS0FBSyxDQUFDLFlBQVksYUFBYSxFQUNsQztZQUNFLFVBQVUsRUFBRSxHQUFHLEtBQUssQ0FBQyxZQUFZLGFBQWE7WUFDOUMsb0JBQW9CLEVBQUU7Z0JBQ3BCLG9CQUFvQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7b0JBQ25DLFFBQVEsRUFBRSxVQUFVO2lCQUNyQixDQUFDO2dCQUNGLGtCQUFrQixFQUFFLElBQUk7Z0JBQ3hCLFlBQVksRUFBRSxLQUFLO2dCQUNuQixpQkFBaUIsRUFBRSxVQUFVO2FBQzlCO1lBQ0QsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1NBQ2pCLENBQ0YsQ0FBQztRQUVGLHdCQUF3QjtRQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksNEJBQWtCLENBQ3pDLElBQUksRUFDSixHQUFHLEtBQUssQ0FBQyxZQUFZLHNCQUFzQixFQUMzQztZQUNFLFNBQVMsRUFBRSxXQUFXLEtBQUssQ0FBQyxZQUFZLGdCQUFnQjtZQUN4RCxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7U0FDakIsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksbUJBQWEsQ0FDNUMsSUFBSSxFQUNKLEdBQUcsS0FBSyxDQUFDLFlBQVksZUFBZSxFQUNwQztZQUNFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNiLFdBQVcsRUFBRSx5RUFBeUUsS0FBSyxDQUFDLFlBQVksRUFBRTtTQUMzRyxDQUNGLENBQUM7UUFFRixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLENBQUM7UUFFMUQsbUJBQW1CO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSwwQkFBZ0IsQ0FDbEMsSUFBSSxFQUNKLEdBQUcsS0FBSyxDQUFDLFlBQVksVUFBVSxFQUMvQjtZQUNFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNiLFVBQVUsRUFBRTtnQkFDVixVQUFVLEVBQUUsb0JBQVUsQ0FBQyxtQkFBbUI7YUFDM0M7WUFDRCxjQUFjLEVBQUUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUM7WUFDNUMsTUFBTSxFQUNKLEtBQUssQ0FBQyxNQUFNO2dCQUNaLGdDQUFzQixDQUFDLFFBQVEsQ0FBQztvQkFDOUIsT0FBTyxFQUFFLCtCQUFxQixDQUFDLFFBQVE7aUJBQ3hDLENBQUM7WUFDSixnQkFBZ0IsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO1lBQ3hDLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZSxJQUFJLHNCQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMzRCxnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLG9CQUFvQixFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRztZQUM1QyxXQUFXLEVBQUUscUJBQVcsQ0FBQyxHQUFHO1lBQzVCLGFBQWEsRUFBRSx1QkFBYSxDQUFDLGlCQUFpQjtZQUM5QyxhQUFhLEVBQUUsMkJBQWEsQ0FBQyxRQUFRO1lBQ3JDLHNCQUFzQixFQUFFLEtBQUs7WUFDN0IsWUFBWSxFQUNWLEtBQUssQ0FBQyxZQUFZLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFO1lBQzVELGtCQUFrQixFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQ3RDLFlBQVksRUFDVixLQUFLLENBQUMsWUFBWTtnQkFDbEIsc0JBQVksQ0FBQyxFQUFFLENBQUMsdUJBQWEsQ0FBQyxVQUFVLEVBQUUsc0JBQVksQ0FBQyxLQUFLLENBQUM7WUFDL0QsT0FBTyxFQUFFLEtBQUs7WUFDZCxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDaEIsMEJBQTBCLEVBQ3hCLEtBQUssQ0FBQywwQkFBMEIsSUFBSSxxQkFBcUI7WUFDM0QsV0FBVyxFQUFFLHFCQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUM7U0FDckUsQ0FDRixDQUFDO1FBQ0YsSUFBQSxxQkFBVyxFQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Q0FDRjtBQXJHRCxrQ0FxR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEdXJhdGlvbiwgUmVtb3ZhbFBvbGljeSwgU3RhY2tQcm9wcyB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtcbiAgQ29ubmVjdGlvbnMsXG4gIElDb25uZWN0YWJsZSxcbiAgSW5zdGFuY2VDbGFzcyxcbiAgSW5zdGFuY2VTaXplLFxuICBJbnN0YW5jZVR5cGUsXG4gIElWcGMsXG4gIFN1Ym5ldFR5cGVcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7XG4gIENhQ2VydGlmaWNhdGUsXG4gIENyZWRlbnRpYWxzLFxuICBEYXRhYmFzZUluc3RhbmNlLFxuICBEYXRhYmFzZUluc3RhbmNlRW5naW5lLFxuICBJSW5zdGFuY2VFbmdpbmUsXG4gIFBvc3RncmVzRW5naW5lVmVyc2lvbixcbiAgU3RvcmFnZVR5cGVcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yZHNcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBTZWN1cml0eUdyb3VwIH0gZnJvbSBcIi4uL2lhbVwiO1xuaW1wb3J0IHsgQ3VzdG9tZXJNYW5hZ2VkS2V5LCBTZWNyZXQgfSBmcm9tIFwiLi4vc2VjcmV0c1wiO1xuaW1wb3J0IHsgS2V5VmFsdWUgfSBmcm9tIFwiLi4vLi4vLi4vdHlwZXNcIjtcbmltcG9ydCB0YWdSZXNvdXJjZSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvdGFnUmVzb3VyY2VcIjtcbmltcG9ydCB7IFZwYyB9IGZyb20gXCIuLi9uZXR3b3JraW5nL3ZwY1wiO1xuXG5pbnRlcmZhY2UgUmRzUHJvcHMgZXh0ZW5kcyBTdGFja1Byb3BzIHtcbiAgdnBjPzogSVZwYztcbiAgZGF0YWJhc2VOYW1lPzogc3RyaW5nO1xuICBlbmdpbmU/OiBJSW5zdGFuY2VFbmdpbmU7XG4gIGluc3RhbmNlVHlwZT86IEluc3RhbmNlVHlwZTtcbiAgbWF4QWxsb2NhdGVkU3RvcmFnZT86IG51bWJlcjtcbiAgYWxsb2NhdGVkU3RvcmFnZT86IG51bWJlcjtcbiAgYmFja3VwUmV0ZW50aW9uPzogRHVyYXRpb247XG4gIGNsdXN0ZXJJZGVudGlmaWVyPzogc3RyaW5nO1xuICBtb25pdG9yaW5nSW50ZXJ2YWw/OiBEdXJhdGlvbjtcbiAgcHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3c/OiBzdHJpbmc7XG4gIHBvcnQ/OiBudW1iZXI7XG4gIGVuYWJsZVBlcmZvcm1hbmNlSW5zaWdodHM/OiBib29sZWFuO1xuICBkYXRhYmFzZVByb3h5PzogYm9vbGVhbjtcbiAgLy8gVE9ETzogVGhlIGJlbG93IGNvdWxkIGJlIGEgbnVtYmVyLCB0aGVuIGl0IHNjYWxlcyBiYXNlZCBvbiB0aGUgYW1vdW50XG4gIHJlYWRSZXBsaWNhPzogYm9vbGVhbjtcbiAgdGFnczogS2V5VmFsdWU7XG59XG5cbmV4cG9ydCBjbGFzcyBSZHNGcmVlVGllciBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElDb25uZWN0YWJsZSB7XG4gIHB1YmxpYyBjb25uZWN0aW9uczogQ29ubmVjdGlvbnM7XG4gIHB1YmxpYyBkYXRhYmFzZVNlY3VyaXR5R3JvdXA6IFNlY3VyaXR5R3JvdXA7XG4gIHB1YmxpYyB2cGM6IElWcGM7XG5cbiAgcHJpdmF0ZSBkYXRhYmFzZUNyZWRlbnRpYWxzOiBTZWNyZXQ7XG4gIHByaXZhdGUgZW5jcnlwdGlvbktleTogQ3VzdG9tZXJNYW5hZ2VkS2V5O1xuICAvLyBwcml2YXRlIGRhdGFiYXNlU2VjdXJpdHlHcm91cDogU2VjdXJpdHlHcm91cDtcbiAgcHJpdmF0ZSBkYXRhYmFzZTogRGF0YWJhc2VJbnN0YW5jZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUmRzUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIHRoaXMuYWRkVnBjKHByb3BzKTtcbiAgICB0aGlzLmFkZERhdGFiYXNlKHByb3BzKTtcbiAgfVxuXG4gIGFkZFZwYyhwcm9wczogUmRzUHJvcHMpIHtcbiAgICB0aGlzLnZwYyA9IHByb3BzLnZwY1xuICAgICAgPyBwcm9wcy52cGNcbiAgICAgIDogbmV3IFZwYyh0aGlzLCBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9VnBjYCwge1xuICAgICAgICAgIHRhZ3M6IHByb3BzLnRhZ3NcbiAgICAgICAgfSk7XG4gIH1cbiAgYWRkRGF0YWJhc2UocHJvcHM6IFJkc1Byb3BzKSB7XG4gICAgLy8gRGF0YWJhc2UgQ3JlZGVudGlhbHNcbiAgICB0aGlzLmRhdGFiYXNlQ3JlZGVudGlhbHMgPSBuZXcgU2VjcmV0KFxuICAgICAgdGhpcyxcbiAgICAgIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1DcmVkZW50aWFsc2AsXG4gICAgICB7XG4gICAgICAgIHNlY3JldE5hbWU6IGAke3Byb3BzLmRhdGFiYXNlTmFtZX1DcmVkZW50aWFsc2AsXG4gICAgICAgIGdlbmVyYXRlU2VjcmV0U3RyaW5nOiB7XG4gICAgICAgICAgc2VjcmV0U3RyaW5nVGVtcGxhdGU6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgIHVzZXJuYW1lOiBcInBvc3RncmVzXCJcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBleGNsdWRlUHVuY3R1YXRpb246IHRydWUsXG4gICAgICAgICAgaW5jbHVkZVNwYWNlOiBmYWxzZSxcbiAgICAgICAgICBnZW5lcmF0ZVN0cmluZ0tleTogXCJwYXNzd29yZFwiXG4gICAgICAgIH0sXG4gICAgICAgIHRhZ3M6IHByb3BzLnRhZ3NcbiAgICAgIH1cbiAgICApO1xuXG4gICAgLy8gQ3VzdG9tZXIgTWFuYWdlZCBLZXlzXG4gICAgdGhpcy5lbmNyeXB0aW9uS2V5ID0gbmV3IEN1c3RvbWVyTWFuYWdlZEtleShcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9Q2x1c3RlckVuY3J5cHRpb25LZXlgLFxuICAgICAge1xuICAgICAgICBhbGlhc05hbWU6IGBjbWsvcmRzLyR7cHJvcHMuZGF0YWJhc2VOYW1lfS9lbmNyeXB0aW9uS2V5YCxcbiAgICAgICAgdGFnczogcHJvcHMudGFnc1xuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLmRhdGFiYXNlU2VjdXJpdHlHcm91cCA9IG5ldyBTZWN1cml0eUdyb3VwKFxuICAgICAgdGhpcyxcbiAgICAgIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1TZWN1cml0eUdyb3VwYCxcbiAgICAgIHtcbiAgICAgICAgdnBjOiB0aGlzLnZwYyxcbiAgICAgICAgZGVzY3JpcHRpb246IGBTZWN1cml0eSBncm91cCB0aGF0IGFsbG93cyBpbmJvdW5kIGFjY2VzcyB0byB0aGUgcG9zdGdyZXMgY2x1c3RlciBmb3IgJHtwcm9wcy5kYXRhYmFzZU5hbWV9YFxuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLmNvbm5lY3Rpb25zID0gdGhpcy5kYXRhYmFzZVNlY3VyaXR5R3JvdXAuY29ubmVjdGlvbnM7XG5cbiAgICAvLyBEYXRhYmFzZSBDbHVzdGVyXG4gICAgdGhpcy5kYXRhYmFzZSA9IG5ldyBEYXRhYmFzZUluc3RhbmNlKFxuICAgICAgdGhpcyxcbiAgICAgIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1EYXRhYmFzZWAsXG4gICAgICB7XG4gICAgICAgIHZwYzogdGhpcy52cGMsXG4gICAgICAgIHZwY1N1Ym5ldHM6IHtcbiAgICAgICAgICBzdWJuZXRUeXBlOiBTdWJuZXRUeXBlLlBSSVZBVEVfV0lUSF9FR1JFU1NcbiAgICAgICAgfSxcbiAgICAgICAgc2VjdXJpdHlHcm91cHM6IFt0aGlzLmRhdGFiYXNlU2VjdXJpdHlHcm91cF0sXG4gICAgICAgIGVuZ2luZTpcbiAgICAgICAgICBwcm9wcy5lbmdpbmUgfHxcbiAgICAgICAgICBEYXRhYmFzZUluc3RhbmNlRW5naW5lLnBvc3RncmVzKHtcbiAgICAgICAgICAgIHZlcnNpb246IFBvc3RncmVzRW5naW5lVmVyc2lvbi5WRVJfMTZfM1xuICAgICAgICAgIH0pLFxuICAgICAgICBhbGxvY2F0ZWRTdG9yYWdlOiBwcm9wcy5hbGxvY2F0ZWRTdG9yYWdlLFxuICAgICAgICBiYWNrdXBSZXRlbnRpb246IHByb3BzLmJhY2t1cFJldGVudGlvbiB8fCBEdXJhdGlvbi5kYXlzKDE0KSxcbiAgICAgICAgc3RvcmFnZUVuY3J5cHRlZDogdHJ1ZSxcbiAgICAgICAgc3RvcmFnZUVuY3J5cHRpb25LZXk6IHRoaXMuZW5jcnlwdGlvbktleS5rZXksXG4gICAgICAgIHN0b3JhZ2VUeXBlOiBTdG9yYWdlVHlwZS5HUDMsXG4gICAgICAgIGNhQ2VydGlmaWNhdGU6IENhQ2VydGlmaWNhdGUuUkRTX0NBX1JTQTQwOTZfRzEsXG4gICAgICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuU05BUFNIT1QsXG4gICAgICAgIGRlbGV0ZUF1dG9tYXRlZEJhY2t1cHM6IGZhbHNlLFxuICAgICAgICBkYXRhYmFzZU5hbWU6XG4gICAgICAgICAgcHJvcHMuZGF0YWJhc2VOYW1lIHx8IGAke3RoaXMubm9kZS5pZC5yZXBsYWNlKFwiUmRzXCIsIFwiXCIpfWAsXG4gICAgICAgIGluc3RhbmNlSWRlbnRpZmllcjogcHJvcHMuZGF0YWJhc2VOYW1lLFxuICAgICAgICBpbnN0YW5jZVR5cGU6XG4gICAgICAgICAgcHJvcHMuaW5zdGFuY2VUeXBlIHx8XG4gICAgICAgICAgSW5zdGFuY2VUeXBlLm9mKEluc3RhbmNlQ2xhc3MuQlVSU1RBQkxFMywgSW5zdGFuY2VTaXplLk1JQ1JPKSxcbiAgICAgICAgbXVsdGlBejogZmFsc2UsXG4gICAgICAgIHBvcnQ6IHByb3BzLnBvcnQsXG4gICAgICAgIHByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93OlxuICAgICAgICAgIHByb3BzLnByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93IHx8IFwiU2F0OjEyOjMwLVNhdDoyMDozMFwiLFxuICAgICAgICBjcmVkZW50aWFsczogQ3JlZGVudGlhbHMuZnJvbVNlY3JldCh0aGlzLmRhdGFiYXNlQ3JlZGVudGlhbHMuc2VjcmV0KVxuICAgICAgfVxuICAgICk7XG4gICAgdGFnUmVzb3VyY2UodGhpcy5kYXRhYmFzZSwgcHJvcHMudGFncyk7XG4gIH1cbn1cbiJdfQ==
@@ -5,9 +5,8 @@ import { Construct } from "constructs";
5
5
  import { SecurityGroup } from "../iam";
6
6
  import { KeyValue } from "../../../types";
7
7
  import { StackBuilder } from "../base/awsStack";
8
- import { Vpc } from "../networking/vpc";
9
8
  interface RdsProps {
10
- vpc?: Vpc;
9
+ vpc?: IVpc;
11
10
  databaseName?: string;
12
11
  engine?: IInstanceEngine;
13
12
  instanceType?: InstanceType;
@@ -180,4 +180,4 @@ class RdsInstance extends aws_cdk_lib_1.Stack {
180
180
  }
181
181
  }
182
182
  exports.RdsInstance = RdsInstance;
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmRzSW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9kYXRhYmFzZS9yZHNJbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBd0U7QUFDeEUsaURBUzZCO0FBQzdCLGlEQVc2QjtBQUM3Qix1RUFHd0M7QUFFeEMsZ0NBQXVDO0FBQ3ZDLHdDQUF3RDtBQUd4RCw0REFBcUQ7QUFDckQsMkNBQXdDO0FBc0J4QyxNQUFhLFdBQVksU0FBUSxtQkFBSztJQVlwQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWU7UUFDdkQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV6QixJQUFJLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7UUFFRCxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWU7UUFDcEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRztZQUNsQixDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUc7WUFDWCxDQUFDLENBQUMsSUFBSSxTQUFHLENBQUMsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLFlBQVksS0FBSyxFQUFFO2dCQUN4QyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7YUFDakIsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztJQUVELFdBQVcsQ0FB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QUFDO1lBQ3ZFLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxtQkFBbUIsSUFBSSxHQUFHO1lBQ3JELGtCQUFrQixFQUFFLEtBQUssQ0FBQyxrQkFBa0IsSUFBSSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDbkUsT0FBTyxFQUFFLElBQUk7WUFDYixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDaEIsMEJBQTBCLEVBQ3hCLEtBQUssQ0FBQywwQkFBMEIsSUFBSSxxQkFBcUI7U0FDNUQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBVSxFQUFFLEtBQWU7UUFDdEMsT0FBTyxDQUFDLEVBQWdCLEVBQUUsRUFBRTtZQUMxQixNQUFNLFFBQVEsR0FBYTtnQkFDekIsR0FBRyxLQUFLO2dCQUNSLEdBQUc7b0JBQ0QsR0FBRyxFQUFHLEVBQUUsQ0FBQyxVQUFVLEVBQVUsSUFBSSxLQUFLLEVBQUUsR0FBRztvQkFDM0MsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixJQUFJLEVBQUU7b0JBQy9DLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWSxJQUFJLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUU7b0JBQzlELElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtpQkFDakI7YUFDRixDQUFDO1lBRUYsT0FBTyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQS9PRCxrQ0ErT0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5PdXRwdXQsIER1cmF0aW9uLCBSZW1vdmFsUG9saWN5LCBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtcbiAgQ29ubmVjdGlvbnMsXG4gIElDb25uZWN0YWJsZSxcbiAgSW5zdGFuY2VDbGFzcyxcbiAgSW5zdGFuY2VTaXplLFxuICBJbnN0YW5jZVR5cGUsXG4gIElWcGMsXG4gIFBvcnQsXG4gIFN1Ym5ldFR5cGVcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7XG4gIENhQ2VydGlmaWNhdGUsXG4gIENyZWRlbnRpYWxzLFxuICBEYXRhYmFzZUluc3RhbmNlLFxuICBEYXRhYmFzZUluc3RhbmNlRW5naW5lLFxuICBEYXRhYmFzZUluc3RhbmNlUmVhZFJlcGxpY2EsXG4gIERhdGFiYXNlUHJveHksXG4gIElJbnN0YW5jZUVuZ2luZSxcbiAgUG9zdGdyZXNFbmdpbmVWZXJzaW9uLFxuICBQcm94eVRhcmdldCxcbiAgU3RvcmFnZVR5cGVcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yZHNcIjtcbmltcG9ydCB7XG4gIFNlY3JldFJvdGF0aW9uLFxuICBTZWNyZXRSb3RhdGlvbkFwcGxpY2F0aW9uXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBTZWN1cml0eUdyb3VwIH0gZnJvbSBcIi4uL2lhbVwiO1xuaW1wb3J0IHsgQ3VzdG9tZXJNYW5hZ2VkS2V5LCBTZWNyZXQgfSBmcm9tIFwiLi4vc2VjcmV0c1wiO1xuaW1wb3J0IHsgS2V5VmFsdWUgfSBmcm9tIFwiLi4vLi4vLi4vdHlwZXNcIjtcbmltcG9ydCB7IFN0YWNrQnVpbGRlciB9IGZyb20gXCIuLi9iYXNlL2F3c1N0YWNrXCI7XG5pbXBvcnQgdGFnUmVzb3VyY2UgZnJvbSBcIi4uLy4uLy4uL3V0aWxzL3RhZ1Jlc291cmNlXCI7XG5pbXBvcnQgeyBWcGMgfSBmcm9tIFwiLi4vbmV0d29ya2luZy92cGNcIjtcblxuaW50ZXJmYWNlIFJkc1Byb3BzIHtcbiAgdnBjPzogVnBjO1xuICBkYXRhYmFzZU5hbWU/OiBzdHJpbmc7XG4gIGVuZ2luZT86IElJbnN0YW5jZUVuZ2luZTtcbiAgaW5zdGFuY2VUeXBlPzogSW5zdGFuY2VUeXBlO1xuICBtYXhBbGxvY2F0ZWRTdG9yYWdlPzogbnVtYmVyO1xuICBhbGxvY2F0ZWRTdG9yYWdlPzogbnVtYmVyO1xuICBiYWNrdXBSZXRlbnRpb24/OiBEdXJhdGlvbjtcbiAgY2x1c3RlcklkZW50aWZpZXI/OiBzdHJpbmc7XG4gIG1vbml0b3JpbmdJbnRlcnZhbD86IER1cmF0aW9uO1xuICBwcmVmZXJyZWRNYWludGVuYW5jZVdpbmRvdz86IHN0cmluZztcbiAgcG9ydD86IG51bWJlcjtcbiAgZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0cz86IGJvb2xlYW47XG4gIGRhdGFiYXNlUHJveHk/OiBib29sZWFuO1xuICAvLyBUT0RPOiBUaGUgYmVsb3cgY291bGQgYmUgYSBudW1iZXIsIHRoZW4gaXQgc2NhbGVzIGJhc2VkIG9uIHRoZSBhbW91bnRcbiAgcmVhZFJlcGxpY2E/OiBib29sZWFuO1xuICB0YWdzOiBLZXlWYWx1ZTtcbiAgc2VjdXJpdHlHcm91cElkcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgY2xhc3MgUmRzSW5zdGFuY2UgZXh0ZW5kcyBTdGFjayBpbXBsZW1lbnRzIElDb25uZWN0YWJsZSB7XG4gIHB1YmxpYyBjb25uZWN0aW9uczogQ29ubmVjdGlvbnM7XG4gIHB1YmxpYyBkYXRhYmFzZVNlY3VyaXR5R3JvdXA6IFNlY3VyaXR5R3JvdXA7XG4gIHB1YmxpYyB2cGM6IElWcGM7XG5cbiAgcHJpdmF0ZSBkYXRhYmFzZUNyZWRlbnRpYWxzOiBTZWNyZXQ7XG4gIHByaXZhdGUgZW5jcnlwdGlvbktleTogQ3VzdG9tZXJNYW5hZ2VkS2V5O1xuICBwcml2YXRlIGRhdGFiYXNlUGVyZm9ybWFuY2VJbnNpZ2h0c0tleTogQ3VzdG9tZXJNYW5hZ2VkS2V5O1xuICBwcml2YXRlIGRhdGFiYXNlOiBEYXRhYmFzZUluc3RhbmNlO1xuICBwcml2YXRlIG1hc3RlclNlY3JldDogU2VjcmV0O1xuICBwcml2YXRlIGRhdGFiYXNlUHJveHk6IERhdGFiYXNlUHJveHk7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFJkc1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMuYWRkVnBjKHByb3BzKTtcbiAgICB0aGlzLmFkZERhdGFiYXNlKHByb3BzKTtcbiAgICB0aGlzLnJvdGF0ZVNlY3JldChwcm9wcyk7XG5cbiAgICBpZiAocHJvcHMuZGF0YWJhc2VQcm94eSkge1xuICAgICAgdGhpcy5hZGRQcm94eShwcm9wcyk7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLnJlYWRSZXBsaWNhKSB7XG4gICAgICB0aGlzLmFkZFJlYWRSZXBsaWNhKHByb3BzKTtcbiAgICB9XG4gIH1cblxuICBhZGRWcGMocHJvcHM6IFJkc1Byb3BzKSB7XG4gICAgdGhpcy52cGMgPSBwcm9wcy52cGNcbiAgICAgID8gcHJvcHMudnBjXG4gICAgICA6IG5ldyBWcGModGhpcywgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVZwY2AsIHtcbiAgICAgICAgICB0YWdzOiBwcm9wcy50YWdzXG4gICAgICAgIH0pO1xuICB9XG5cbiAgYWRkRGF0YWJhc2UocHJvcHM6IFJkc1Byb3BzKSB7XG4gICAgLy8gRGF0YWJhc2UgQ3JlZGVudGlhbHNcbiAgICB0aGlzLmRhdGFiYXNlQ3JlZGVudGlhbHMgPSBuZXcgU2VjcmV0KFxuICAgICAgdGhpcyxcbiAgICAgIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1DcmVkZW50aWFsc2AsXG4gICAgICB7XG4gICAgICAgIHNlY3JldE5hbWU6IGAke3Byb3BzLmRhdGFiYXNlTmFtZX1DcmVkZW50aWFsc2AsXG4gICAgICAgIGdlbmVyYXRlU2VjcmV0U3RyaW5nOiB7XG4gICAgICAgICAgc2VjcmV0U3RyaW5nVGVtcGxhdGU6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgIHVzZXJuYW1lOiBcInBvc3RncmVzXCJcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBleGNsdWRlUHVuY3R1YXRpb246IHRydWUsXG4gICAgICAgICAgaW5jbHVkZVNwYWNlOiBmYWxzZSxcbiAgICAgICAgICBnZW5lcmF0ZVN0cmluZ0tleTogXCJwYXNzd29yZFwiXG4gICAgICAgIH0sXG4gICAgICAgIHRhZ3M6IHByb3BzLnRhZ3NcbiAgICAgIH1cbiAgICApO1xuXG4gICAgLy8gQ3VzdG9tZXIgTWFuYWdlZCBLZXlzXG4gICAgdGhpcy5lbmNyeXB0aW9uS2V5ID0gbmV3IEN1c3RvbWVyTWFuYWdlZEtleShcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9Q2x1c3RlckVuY3J5cHRpb25LZXlgLFxuICAgICAge1xuICAgICAgICBhbGlhc05hbWU6IGBjbWsvcmRzLyR7cHJvcHMuZGF0YWJhc2VOYW1lfS9lbmNyeXB0aW9uS2V5YCxcbiAgICAgICAgdGFnczogcHJvcHMudGFnc1xuICAgICAgfVxuICAgICk7XG5cbiAgICBpZiAocHJvcHMuZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0cykge1xuICAgICAgdGhpcy5kYXRhYmFzZVBlcmZvcm1hbmNlSW5zaWdodHNLZXkgPSBuZXcgQ3VzdG9tZXJNYW5hZ2VkS2V5KFxuICAgICAgICB0aGlzLFxuICAgICAgICBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9UGVyZm9ybWFuY2VJbnNpZ2h0c0tleWAsXG4gICAgICAgIHtcbiAgICAgICAgICBhbGlhc05hbWU6IGBjbWsvcmRzLyR7cHJvcHMuZGF0YWJhc2VOYW1lfS9JbnNpZ2h0c0tleWAsXG4gICAgICAgICAgdGFnczogcHJvcHMudGFnc1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuZGF0YWJhc2VTZWN1cml0eUdyb3VwID0gbmV3IFNlY3VyaXR5R3JvdXAoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVNlY3VyaXR5R3JvdXBgLFxuICAgICAge1xuICAgICAgICB2cGM6IHRoaXMudnBjLFxuICAgICAgICBkZXNjcmlwdGlvbjogYFNlY3VyaXR5IGdyb3VwIHRoYXQgYWxsb3dzIGluYm91bmQgYWNjZXNzIHRvIHRoZSBwb3N0Z3JlcyBjbHVzdGVyIGZvciAke3Byb3BzLmRhdGFiYXNlTmFtZX1gXG4gICAgICB9XG4gICAgKTtcblxuICAgIC8vVE9ETzogUmVtb3ZlIHRoaXMgbGluZSwgdGhhdCBhbGxvd3MgdGhlIHByb3h5IHRvIGNvbm5lY3QgdG8gdGhlIGRhdGFiYXNlLiBSZXBsYWNlIHdpdGggc2VwZXJhdGVkIHNlY3VyaXR5IGdyb3Vwc1xuICAgIHRoaXMuZGF0YWJhc2VTZWN1cml0eUdyb3VwLmFkZEluZ3Jlc3NSdWxlKFxuICAgICAgdGhpcy5kYXRhYmFzZVNlY3VyaXR5R3JvdXAsXG4gICAgICBQb3J0LnRjcCg1NDMyKVxuICAgICk7XG5cbiAgICB0aGlzLmNvbm5lY3Rpb25zID0gdGhpcy5kYXRhYmFzZVNlY3VyaXR5R3JvdXAuY29ubmVjdGlvbnM7XG5cbiAgICAvLyBEYXRhYmFzZSBDbHVzdGVyXG4gICAgdGhpcy5kYXRhYmFzZSA9IG5ldyBEYXRhYmFzZUluc3RhbmNlKFxuICAgICAgdGhpcyxcbiAgICAgIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1EYXRhYmFzZWAsXG4gICAgICB7XG4gICAgICAgIHZwYzogdGhpcy52cGMsXG4gICAgICAgIHZwY1N1Ym5ldHM6IHtcbiAgICAgICAgICBzdWJuZXRUeXBlOiBTdWJuZXRUeXBlLlBSSVZBVEVfV0lUSF9FR1JFU1NcbiAgICAgICAgfSxcbiAgICAgICAgc2VjdXJpdHlHcm91cHM6IFt0aGlzLmRhdGFiYXNlU2VjdXJpdHlHcm91cF0sXG4gICAgICAgIGVuZ2luZTpcbiAgICAgICAgICBwcm9wcy5lbmdpbmUgfHxcbiAgICAgICAgICBEYXRhYmFzZUluc3RhbmNlRW5naW5lLnBvc3RncmVzKHtcbiAgICAgICAgICAgIHZlcnNpb246IFBvc3RncmVzRW5naW5lVmVyc2lvbi5WRVJfMTZfM1xuICAgICAgICAgIH0pLFxuICAgICAgICBhbGxvY2F0ZWRTdG9yYWdlOiBwcm9wcy5hbGxvY2F0ZWRTdG9yYWdlLFxuICAgICAgICBiYWNrdXBSZXRlbnRpb246IHByb3BzLmJhY2t1cFJldGVudGlvbiB8fCBEdXJhdGlvbi5kYXlzKDE0KSxcbiAgICAgICAgc3RvcmFnZUVuY3J5cHRlZDogdHJ1ZSxcbiAgICAgICAgc3RvcmFnZUVuY3J5cHRpb25LZXk6IHRoaXMuZW5jcnlwdGlvbktleS5rZXksXG4gICAgICAgIHN0b3JhZ2VUeXBlOiBTdG9yYWdlVHlwZS5HUDMsXG4gICAgICAgIGNhQ2VydGlmaWNhdGU6IENhQ2VydGlmaWNhdGUuUkRTX0NBX1JTQTQwOTZfRzEsXG4gICAgICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuU05BUFNIT1QsXG4gICAgICAgIGRlbGV0ZUF1dG9tYXRlZEJhY2t1cHM6IGZhbHNlLFxuICAgICAgICBlbmFibGVQZXJmb3JtYW5jZUluc2lnaHRzOiBwcm9wcy5lbmFibGVQZXJmb3JtYW5jZUluc2lnaHRzLFxuICAgICAgICBwZXJmb3JtYW5jZUluc2lnaHRFbmNyeXB0aW9uS2V5OiBwcm9wcy5lbmFibGVQZXJmb3JtYW5jZUluc2lnaHRzXG4gICAgICAgICAgPyB0aGlzLmRhdGFiYXNlUGVyZm9ybWFuY2VJbnNpZ2h0c0tleS5rZXlcbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgZGF0YWJhc2VOYW1lOiBwcm9wcy5kYXRhYmFzZU5hbWUsXG4gICAgICAgIGluc3RhbmNlSWRlbnRpZmllcjogcHJvcHMuZGF0YWJhc2VOYW1lLFxuICAgICAgICBpbnN0YW5jZVR5cGU6XG4gICAgICAgICAgcHJvcHMuaW5zdGFuY2VUeXBlIHx8XG4gICAgICAgICAgSW5zdGFuY2VUeXBlLm9mKEluc3RhbmNlQ2xhc3MuU1RBTkRBUkQ3X0dSQVZJVE9OLCBJbnN0YW5jZVNpemUuTEFSR0UpLFxuICAgICAgICBtYXhBbGxvY2F0ZWRTdG9yYWdlOiBwcm9wcy5tYXhBbGxvY2F0ZWRTdG9yYWdlIHx8IDUwMCxcbiAgICAgICAgbW9uaXRvcmluZ0ludGVydmFsOiBwcm9wcy5tb25pdG9yaW5nSW50ZXJ2YWwgfHwgRHVyYXRpb24ubWludXRlcygxKSxcbiAgICAgICAgbXVsdGlBejogdHJ1ZSxcbiAgICAgICAgcG9ydDogcHJvcHMucG9ydCxcbiAgICAgICAgcHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3c6XG4gICAgICAgICAgcHJvcHMucHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3cgfHwgXCJTYXQ6MTI6MzAtU2F0OjIwOjMwXCIsXG4gICAgICAgIGNyZWRlbnRpYWxzOiBDcmVkZW50aWFscy5mcm9tU2VjcmV0KHRoaXMuZGF0YWJhc2VDcmVkZW50aWFscy5zZWNyZXQpXG4gICAgICB9XG4gICAgKTtcbiAgICB0YWdSZXNvdXJjZSh0aGlzLmRhdGFiYXNlLCBwcm9wcy50YWdzKTtcbiAgfVxuXG4gIHJvdGF0ZVNlY3JldChwcm9wczogUmRzUHJvcHMpIHtcbiAgICAvLyBSb3RhdGUgdGhlIFNlY3JldCBldmVyeSAzMCBkYXlzXG4gICAgdGhpcy5tYXN0ZXJTZWNyZXQgPSBuZXcgU2VjcmV0KHRoaXMsIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1NYXN0ZXJTZWNyZXRgLCB7XG4gICAgICBzZWNyZXROYW1lOiBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9TWFzdGVyU2VjcmV0YCxcbiAgICAgIHRhZ3M6IHByb3BzLnRhZ3NcbiAgICB9KTtcblxuICAgIG5ldyBTZWNyZXRSb3RhdGlvbih0aGlzLCBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9U2VjcmV0Um90YXRpb25gLCB7XG4gICAgICBhcHBsaWNhdGlvbjogbmV3IFNlY3JldFJvdGF0aW9uQXBwbGljYXRpb24oXG4gICAgICAgIFwiU2VjcmV0c01hbmFnZXJSRFNQb3N0Z3JlU1FMUm90YXRpb25NdWx0aVVzZXJcIixcbiAgICAgICAgXCIxLjEuMzY3XCIsXG4gICAgICAgIHtcbiAgICAgICAgICBpc011bHRpVXNlcjogdHJ1ZVxuICAgICAgICB9XG4gICAgICApLFxuICAgICAgc2VjcmV0OiB0aGlzLmRhdGFiYXNlQ3JlZGVudGlhbHMuc2VjcmV0LFxuICAgICAgbWFzdGVyU2VjcmV0OiB0aGlzLm1hc3RlclNlY3JldC5zZWNyZXQsXG4gICAgICB0YXJnZXQ6IHRoaXMuZGF0YWJhc2UsXG4gICAgICB2cGM6IHRoaXMuZGF0YWJhc2UudnBjXG4gICAgfSk7XG4gIH1cblxuICBhZGRQcm94eShwcm9wczogUmRzUHJvcHMpIHtcbiAgICB0aGlzLmRhdGFiYXNlUHJveHkgPSBuZXcgRGF0YWJhc2VQcm94eShcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9RGF0YWJhc2VQcm94eWAsXG4gICAgICB7XG4gICAgICAgIHByb3h5VGFyZ2V0OiBQcm94eVRhcmdldC5mcm9tSW5zdGFuY2UodGhpcy5kYXRhYmFzZSksXG4gICAgICAgIHNlY3JldHM6IFt0aGlzLmRhdGFiYXNlQ3JlZGVudGlhbHMuc2VjcmV0XSxcbiAgICAgICAgLy8gVE9ETzogQ3JlYXRlIGEgbmV3IHNlY3VyaXR5IGdyb3VwLCBhbmQgcmVtb3ZlIHRoZSBsaW5lIHRoYXQgYWxsb3dzIHRoZSBwcm94eSB0byBjb25uZWN0IHRvIHRoZSBkYXRhYmFzZVxuICAgICAgICBzZWN1cml0eUdyb3VwczogW3RoaXMuZGF0YWJhc2VTZWN1cml0eUdyb3VwXSxcbiAgICAgICAgdnBjOiB0aGlzLnZwYyxcbiAgICAgICAgdnBjU3VibmV0czoge1xuICAgICAgICAgIHN1Ym5ldFR5cGU6IFN1Ym5ldFR5cGUuUFVCTElDXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9UHJveHlFbmRwb2ludE91dHB1dGAsIHtcbiAgICAgIGtleTogYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVByb3h5RW5kcG9pbnRgLFxuICAgICAgZXhwb3J0TmFtZTogYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVByb3h5RW5kcG9pbnRgLFxuICAgICAgdmFsdWU6IHRoaXMuZGF0YWJhc2VQcm94eS5lbmRwb2ludFxuICAgIH0pO1xuICB9XG5cbiAgYWRkUmVhZFJlcGxpY2EocHJvcHM6IFJkc1Byb3BzKSB7XG4gICAgY29uc3QgcmVhZFJlcGxpY2FQZXJmb3JtYW5jZUluc2lnaHRzS2V5ID0gbmV3IEN1c3RvbWVyTWFuYWdlZEtleShcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9UmVhZFJlcGxpY2FSZWFkZXJJbnNpZ2h0c0tleWAsXG4gICAgICB7XG4gICAgICAgIGFsaWFzTmFtZTogYGNtay9yZHMvJHtwcm9wcy5kYXRhYmFzZU5hbWV9L1JlYWRSZXBsaWNhSW5zaWdodHNLZXlgLFxuICAgICAgICB0YWdzOiBwcm9wcy50YWdzXG4gICAgICB9XG4gICAgKTtcblxuICAgIG5ldyBEYXRhYmFzZUluc3RhbmNlUmVhZFJlcGxpY2EodGhpcywgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVJlYWRSZXBsaWNhYCwge1xuICAgICAgc291cmNlRGF0YWJhc2VJbnN0YW5jZTogdGhpcy5kYXRhYmFzZSxcbiAgICAgIHZwYzogdGhpcy52cGMsXG4gICAgICB2cGNTdWJuZXRzOiB7XG4gICAgICAgIHN1Ym5ldFR5cGU6IFN1Ym5ldFR5cGUuUFJJVkFURV9XSVRIX0VHUkVTU1xuICAgICAgfSxcbiAgICAgIHNlY3VyaXR5R3JvdXBzOiBbdGhpcy5kYXRhYmFzZVNlY3VyaXR5R3JvdXBdLFxuICAgICAgYWxsb2NhdGVkU3RvcmFnZTogcHJvcHMuYWxsb2NhdGVkU3RvcmFnZSxcbiAgICAgIGJhY2t1cFJldGVudGlvbjogcHJvcHMuYmFja3VwUmV0ZW50aW9uIHx8IER1cmF0aW9uLmRheXMoMTQpLFxuICAgICAgc3RvcmFnZUVuY3J5cHRlZDogdHJ1ZSxcbiAgICAgIHN0b3JhZ2VFbmNyeXB0aW9uS2V5OiB0aGlzLmVuY3J5cHRpb25LZXkua2V5LFxuICAgICAgc3RvcmFnZVR5cGU6IFN0b3JhZ2VUeXBlLkdQMyxcbiAgICAgIGNhQ2VydGlmaWNhdGU6IENhQ2VydGlmaWNhdGUuUkRTX0NBX1JTQTQwOTZfRzEsXG4gICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LlNOQVBTSE9ULFxuICAgICAgZGVsZXRlQXV0b21hdGVkQmFja3VwczogZmFsc2UsXG4gICAgICBlbmFibGVQZXJmb3JtYW5jZUluc2lnaHRzOiBwcm9wcy5lbmFibGVQZXJmb3JtYW5jZUluc2lnaHRzLFxuICAgICAgcGVyZm9ybWFuY2VJbnNpZ2h0RW5jcnlwdGlvbktleTogcHJvcHMuZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0c1xuICAgICAgICA/IHJlYWRSZXBsaWNhUGVyZm9ybWFuY2VJbnNpZ2h0c0tleS5rZXlcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICBpbnN0YW5jZUlkZW50aWZpZXI6IGAke3Byb3BzLmRhdGFiYXNlTmFtZX1gLFxuICAgICAgaW5zdGFuY2VUeXBlOlxuICAgICAgICBwcm9wcy5pbnN0YW5jZVR5cGUgfHxcbiAgICAgICAgSW5zdGFuY2VUeXBlLm9mKEluc3RhbmNlQ2xhc3MuU1RBTkRBUkQ3X0dSQVZJVE9OLCBJbnN0YW5jZVNpemUuTEFSR0UpLFxuICAgICAgbWF4QWxsb2NhdGVkU3RvcmFnZTogcHJvcHMubWF4QWxsb2NhdGVkU3RvcmFnZSB8fCA1MDAsXG4gICAgICBtb25pdG9yaW5nSW50ZXJ2YWw6IHByb3BzLm1vbml0b3JpbmdJbnRlcnZhbCB8fCBEdXJhdGlvbi5taW51dGVzKDEpLFxuICAgICAgbXVsdGlBejogdHJ1ZSxcbiAgICAgIHBvcnQ6IHByb3BzLnBvcnQsXG4gICAgICBwcmVmZXJyZWRNYWludGVuYW5jZVdpbmRvdzpcbiAgICAgICAgcHJvcHMucHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3cgfHwgXCJTYXQ6MTI6MzAtU2F0OjIwOjMwXCJcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBidWlsZChpZDogc3RyaW5nLCBwcm9wczogUmRzUHJvcHMpOiAoc2I6IFN0YWNrQnVpbGRlcikgPT4gQ29uc3RydWN0IHtcbiAgICByZXR1cm4gKHNiOiBTdGFja0J1aWxkZXIpID0+IHtcbiAgICAgIGNvbnN0IG5ld1Byb3BzOiBSZHNQcm9wcyA9IHtcbiAgICAgICAgLi4ucHJvcHMsXG4gICAgICAgIC4uLntcbiAgICAgICAgICB2cGM6IChzYi5nZXROZXR3b3JrKCkgYXMgVnBjKSB8fCBwcm9wcz8udnBjLFxuICAgICAgICAgIHNlY3VyaXR5R3JvdXBJZHM6IHByb3BzPy5zZWN1cml0eUdyb3VwSWRzID8/IFtdLFxuICAgICAgICAgIGRhdGFiYXNlTmFtZTogcHJvcHMuZGF0YWJhc2VOYW1lIHx8IGAke2lkLnJlcGxhY2UoXCJSZHNcIiwgXCJcIil9YCxcbiAgICAgICAgICB0YWdzOiBwcm9wcy50YWdzXG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIHJldHVybiBuZXcgdGhpcyhzYi5nZXRTdGFjaygpLCBpZCwgbmV3UHJvcHMpO1xuICAgIH07XG4gIH1cbn1cbiJdfQ==
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmRzSW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9kYXRhYmFzZS9yZHNJbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBd0U7QUFDeEUsaURBUzZCO0FBQzdCLGlEQVc2QjtBQUM3Qix1RUFHd0M7QUFFeEMsZ0NBQXVDO0FBQ3ZDLHdDQUF3RDtBQUd4RCw0REFBcUQ7QUFDckQsMkNBQXdDO0FBc0J4QyxNQUFhLFdBQVksU0FBUSxtQkFBSztJQVlwQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWU7UUFDdkQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV6QixJQUFJLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7UUFFRCxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWU7UUFDcEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRztZQUNsQixDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUc7WUFDWCxDQUFDLENBQUMsSUFBSSxTQUFHLENBQUMsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLFlBQVksS0FBSyxFQUFFO2dCQUN4QyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7YUFDakIsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztJQUVELFdBQVcsQ0FB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QUFDO1lBQ3ZFLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxtQkFBbUIsSUFBSSxHQUFHO1lBQ3JELGtCQUFrQixFQUFFLEtBQUssQ0FBQyxrQkFBa0IsSUFBSSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDbkUsT0FBTyxFQUFFLElBQUk7WUFDYixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDaEIsMEJBQTBCLEVBQ3hCLEtBQUssQ0FBQywwQkFBMEIsSUFBSSxxQkFBcUI7U0FDNUQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBVSxFQUFFLEtBQWU7UUFDdEMsT0FBTyxDQUFDLEVBQWdCLEVBQUUsRUFBRTtZQUMxQixNQUFNLFFBQVEsR0FBYTtnQkFDekIsR0FBRyxLQUFLO2dCQUNSLEdBQUc7b0JBQ0QsR0FBRyxFQUFHLEVBQUUsQ0FBQyxVQUFVLEVBQVUsSUFBSSxLQUFLLEVBQUUsR0FBRztvQkFDM0MsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixJQUFJLEVBQUU7b0JBQy9DLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWSxJQUFJLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUU7b0JBQzlELElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtpQkFDakI7YUFDRixDQUFDO1lBRUYsT0FBTyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQS9PRCxrQ0ErT0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5PdXRwdXQsIER1cmF0aW9uLCBSZW1vdmFsUG9saWN5LCBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtcbiAgQ29ubmVjdGlvbnMsXG4gIElDb25uZWN0YWJsZSxcbiAgSW5zdGFuY2VDbGFzcyxcbiAgSW5zdGFuY2VTaXplLFxuICBJbnN0YW5jZVR5cGUsXG4gIElWcGMsXG4gIFBvcnQsXG4gIFN1Ym5ldFR5cGVcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7XG4gIENhQ2VydGlmaWNhdGUsXG4gIENyZWRlbnRpYWxzLFxuICBEYXRhYmFzZUluc3RhbmNlLFxuICBEYXRhYmFzZUluc3RhbmNlRW5naW5lLFxuICBEYXRhYmFzZUluc3RhbmNlUmVhZFJlcGxpY2EsXG4gIERhdGFiYXNlUHJveHksXG4gIElJbnN0YW5jZUVuZ2luZSxcbiAgUG9zdGdyZXNFbmdpbmVWZXJzaW9uLFxuICBQcm94eVRhcmdldCxcbiAgU3RvcmFnZVR5cGVcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yZHNcIjtcbmltcG9ydCB7XG4gIFNlY3JldFJvdGF0aW9uLFxuICBTZWNyZXRSb3RhdGlvbkFwcGxpY2F0aW9uXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBTZWN1cml0eUdyb3VwIH0gZnJvbSBcIi4uL2lhbVwiO1xuaW1wb3J0IHsgQ3VzdG9tZXJNYW5hZ2VkS2V5LCBTZWNyZXQgfSBmcm9tIFwiLi4vc2VjcmV0c1wiO1xuaW1wb3J0IHsgS2V5VmFsdWUgfSBmcm9tIFwiLi4vLi4vLi4vdHlwZXNcIjtcbmltcG9ydCB7IFN0YWNrQnVpbGRlciB9IGZyb20gXCIuLi9iYXNlL2F3c1N0YWNrXCI7XG5pbXBvcnQgdGFnUmVzb3VyY2UgZnJvbSBcIi4uLy4uLy4uL3V0aWxzL3RhZ1Jlc291cmNlXCI7XG5pbXBvcnQgeyBWcGMgfSBmcm9tIFwiLi4vbmV0d29ya2luZy92cGNcIjtcblxuaW50ZXJmYWNlIFJkc1Byb3BzIHtcbiAgdnBjPzogSVZwYztcbiAgZGF0YWJhc2VOYW1lPzogc3RyaW5nO1xuICBlbmdpbmU/OiBJSW5zdGFuY2VFbmdpbmU7XG4gIGluc3RhbmNlVHlwZT86IEluc3RhbmNlVHlwZTtcbiAgbWF4QWxsb2NhdGVkU3RvcmFnZT86IG51bWJlcjtcbiAgYWxsb2NhdGVkU3RvcmFnZT86IG51bWJlcjtcbiAgYmFja3VwUmV0ZW50aW9uPzogRHVyYXRpb247XG4gIGNsdXN0ZXJJZGVudGlmaWVyPzogc3RyaW5nO1xuICBtb25pdG9yaW5nSW50ZXJ2YWw/OiBEdXJhdGlvbjtcbiAgcHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3c/OiBzdHJpbmc7XG4gIHBvcnQ/OiBudW1iZXI7XG4gIGVuYWJsZVBlcmZvcm1hbmNlSW5zaWdodHM/OiBib29sZWFuO1xuICBkYXRhYmFzZVByb3h5PzogYm9vbGVhbjtcbiAgLy8gVE9ETzogVGhlIGJlbG93IGNvdWxkIGJlIGEgbnVtYmVyLCB0aGVuIGl0IHNjYWxlcyBiYXNlZCBvbiB0aGUgYW1vdW50XG4gIHJlYWRSZXBsaWNhPzogYm9vbGVhbjtcbiAgdGFnczogS2V5VmFsdWU7XG4gIHNlY3VyaXR5R3JvdXBJZHM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGNsYXNzIFJkc0luc3RhbmNlIGV4dGVuZHMgU3RhY2sgaW1wbGVtZW50cyBJQ29ubmVjdGFibGUge1xuICBwdWJsaWMgY29ubmVjdGlvbnM6IENvbm5lY3Rpb25zO1xuICBwdWJsaWMgZGF0YWJhc2VTZWN1cml0eUdyb3VwOiBTZWN1cml0eUdyb3VwO1xuICBwdWJsaWMgdnBjOiBJVnBjO1xuXG4gIHByaXZhdGUgZGF0YWJhc2VDcmVkZW50aWFsczogU2VjcmV0O1xuICBwcml2YXRlIGVuY3J5cHRpb25LZXk6IEN1c3RvbWVyTWFuYWdlZEtleTtcbiAgcHJpdmF0ZSBkYXRhYmFzZVBlcmZvcm1hbmNlSW5zaWdodHNLZXk6IEN1c3RvbWVyTWFuYWdlZEtleTtcbiAgcHJpdmF0ZSBkYXRhYmFzZTogRGF0YWJhc2VJbnN0YW5jZTtcbiAgcHJpdmF0ZSBtYXN0ZXJTZWNyZXQ6IFNlY3JldDtcbiAgcHJpdmF0ZSBkYXRhYmFzZVByb3h5OiBEYXRhYmFzZVByb3h5O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSZHNQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLmFkZFZwYyhwcm9wcyk7XG4gICAgdGhpcy5hZGREYXRhYmFzZShwcm9wcyk7XG4gICAgdGhpcy5yb3RhdGVTZWNyZXQocHJvcHMpO1xuXG4gICAgaWYgKHByb3BzLmRhdGFiYXNlUHJveHkpIHtcbiAgICAgIHRoaXMuYWRkUHJveHkocHJvcHMpO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5yZWFkUmVwbGljYSkge1xuICAgICAgdGhpcy5hZGRSZWFkUmVwbGljYShwcm9wcyk7XG4gICAgfVxuICB9XG5cbiAgYWRkVnBjKHByb3BzOiBSZHNQcm9wcykge1xuICAgIHRoaXMudnBjID0gcHJvcHMudnBjXG4gICAgICA/IHByb3BzLnZwY1xuICAgICAgOiBuZXcgVnBjKHRoaXMsIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1WcGNgLCB7XG4gICAgICAgICAgdGFnczogcHJvcHMudGFnc1xuICAgICAgICB9KTtcbiAgfVxuXG4gIGFkZERhdGFiYXNlKHByb3BzOiBSZHNQcm9wcykge1xuICAgIC8vIERhdGFiYXNlIENyZWRlbnRpYWxzXG4gICAgdGhpcy5kYXRhYmFzZUNyZWRlbnRpYWxzID0gbmV3IFNlY3JldChcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9Q3JlZGVudGlhbHNgLFxuICAgICAge1xuICAgICAgICBzZWNyZXROYW1lOiBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9Q3JlZGVudGlhbHNgLFxuICAgICAgICBnZW5lcmF0ZVNlY3JldFN0cmluZzoge1xuICAgICAgICAgIHNlY3JldFN0cmluZ1RlbXBsYXRlOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICB1c2VybmFtZTogXCJwb3N0Z3Jlc1wiXG4gICAgICAgICAgfSksXG4gICAgICAgICAgZXhjbHVkZVB1bmN0dWF0aW9uOiB0cnVlLFxuICAgICAgICAgIGluY2x1ZGVTcGFjZTogZmFsc2UsXG4gICAgICAgICAgZ2VuZXJhdGVTdHJpbmdLZXk6IFwicGFzc3dvcmRcIlxuICAgICAgICB9LFxuICAgICAgICB0YWdzOiBwcm9wcy50YWdzXG4gICAgICB9XG4gICAgKTtcblxuICAgIC8vIEN1c3RvbWVyIE1hbmFnZWQgS2V5c1xuICAgIHRoaXMuZW5jcnlwdGlvbktleSA9IG5ldyBDdXN0b21lck1hbmFnZWRLZXkoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfUNsdXN0ZXJFbmNyeXB0aW9uS2V5YCxcbiAgICAgIHtcbiAgICAgICAgYWxpYXNOYW1lOiBgY21rL3Jkcy8ke3Byb3BzLmRhdGFiYXNlTmFtZX0vZW5jcnlwdGlvbktleWAsXG4gICAgICAgIHRhZ3M6IHByb3BzLnRhZ3NcbiAgICAgIH1cbiAgICApO1xuXG4gICAgaWYgKHByb3BzLmVuYWJsZVBlcmZvcm1hbmNlSW5zaWdodHMpIHtcbiAgICAgIHRoaXMuZGF0YWJhc2VQZXJmb3JtYW5jZUluc2lnaHRzS2V5ID0gbmV3IEN1c3RvbWVyTWFuYWdlZEtleShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVBlcmZvcm1hbmNlSW5zaWdodHNLZXlgLFxuICAgICAgICB7XG4gICAgICAgICAgYWxpYXNOYW1lOiBgY21rL3Jkcy8ke3Byb3BzLmRhdGFiYXNlTmFtZX0vSW5zaWdodHNLZXlgLFxuICAgICAgICAgIHRhZ3M6IHByb3BzLnRhZ3NcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmRhdGFiYXNlU2VjdXJpdHlHcm91cCA9IG5ldyBTZWN1cml0eUdyb3VwKFxuICAgICAgdGhpcyxcbiAgICAgIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1TZWN1cml0eUdyb3VwYCxcbiAgICAgIHtcbiAgICAgICAgdnBjOiB0aGlzLnZwYyxcbiAgICAgICAgZGVzY3JpcHRpb246IGBTZWN1cml0eSBncm91cCB0aGF0IGFsbG93cyBpbmJvdW5kIGFjY2VzcyB0byB0aGUgcG9zdGdyZXMgY2x1c3RlciBmb3IgJHtwcm9wcy5kYXRhYmFzZU5hbWV9YFxuICAgICAgfVxuICAgICk7XG5cbiAgICAvL1RPRE86IFJlbW92ZSB0aGlzIGxpbmUsIHRoYXQgYWxsb3dzIHRoZSBwcm94eSB0byBjb25uZWN0IHRvIHRoZSBkYXRhYmFzZS4gUmVwbGFjZSB3aXRoIHNlcGVyYXRlZCBzZWN1cml0eSBncm91cHNcbiAgICB0aGlzLmRhdGFiYXNlU2VjdXJpdHlHcm91cC5hZGRJbmdyZXNzUnVsZShcbiAgICAgIHRoaXMuZGF0YWJhc2VTZWN1cml0eUdyb3VwLFxuICAgICAgUG9ydC50Y3AoNTQzMilcbiAgICApO1xuXG4gICAgdGhpcy5jb25uZWN0aW9ucyA9IHRoaXMuZGF0YWJhc2VTZWN1cml0eUdyb3VwLmNvbm5lY3Rpb25zO1xuXG4gICAgLy8gRGF0YWJhc2UgQ2x1c3RlclxuICAgIHRoaXMuZGF0YWJhc2UgPSBuZXcgRGF0YWJhc2VJbnN0YW5jZShcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9RGF0YWJhc2VgLFxuICAgICAge1xuICAgICAgICB2cGM6IHRoaXMudnBjLFxuICAgICAgICB2cGNTdWJuZXRzOiB7XG4gICAgICAgICAgc3VibmV0VHlwZTogU3VibmV0VHlwZS5QUklWQVRFX1dJVEhfRUdSRVNTXG4gICAgICAgIH0sXG4gICAgICAgIHNlY3VyaXR5R3JvdXBzOiBbdGhpcy5kYXRhYmFzZVNlY3VyaXR5R3JvdXBdLFxuICAgICAgICBlbmdpbmU6XG4gICAgICAgICAgcHJvcHMuZW5naW5lIHx8XG4gICAgICAgICAgRGF0YWJhc2VJbnN0YW5jZUVuZ2luZS5wb3N0Z3Jlcyh7XG4gICAgICAgICAgICB2ZXJzaW9uOiBQb3N0Z3Jlc0VuZ2luZVZlcnNpb24uVkVSXzE2XzNcbiAgICAgICAgICB9KSxcbiAgICAgICAgYWxsb2NhdGVkU3RvcmFnZTogcHJvcHMuYWxsb2NhdGVkU3RvcmFnZSxcbiAgICAgICAgYmFja3VwUmV0ZW50aW9uOiBwcm9wcy5iYWNrdXBSZXRlbnRpb24gfHwgRHVyYXRpb24uZGF5cygxNCksXG4gICAgICAgIHN0b3JhZ2VFbmNyeXB0ZWQ6IHRydWUsXG4gICAgICAgIHN0b3JhZ2VFbmNyeXB0aW9uS2V5OiB0aGlzLmVuY3J5cHRpb25LZXkua2V5LFxuICAgICAgICBzdG9yYWdlVHlwZTogU3RvcmFnZVR5cGUuR1AzLFxuICAgICAgICBjYUNlcnRpZmljYXRlOiBDYUNlcnRpZmljYXRlLlJEU19DQV9SU0E0MDk2X0cxLFxuICAgICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LlNOQVBTSE9ULFxuICAgICAgICBkZWxldGVBdXRvbWF0ZWRCYWNrdXBzOiBmYWxzZSxcbiAgICAgICAgZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0czogcHJvcHMuZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0cyxcbiAgICAgICAgcGVyZm9ybWFuY2VJbnNpZ2h0RW5jcnlwdGlvbktleTogcHJvcHMuZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0c1xuICAgICAgICAgID8gdGhpcy5kYXRhYmFzZVBlcmZvcm1hbmNlSW5zaWdodHNLZXkua2V5XG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIGRhdGFiYXNlTmFtZTogcHJvcHMuZGF0YWJhc2VOYW1lLFxuICAgICAgICBpbnN0YW5jZUlkZW50aWZpZXI6IHByb3BzLmRhdGFiYXNlTmFtZSxcbiAgICAgICAgaW5zdGFuY2VUeXBlOlxuICAgICAgICAgIHByb3BzLmluc3RhbmNlVHlwZSB8fFxuICAgICAgICAgIEluc3RhbmNlVHlwZS5vZihJbnN0YW5jZUNsYXNzLlNUQU5EQVJEN19HUkFWSVRPTiwgSW5zdGFuY2VTaXplLkxBUkdFKSxcbiAgICAgICAgbWF4QWxsb2NhdGVkU3RvcmFnZTogcHJvcHMubWF4QWxsb2NhdGVkU3RvcmFnZSB8fCA1MDAsXG4gICAgICAgIG1vbml0b3JpbmdJbnRlcnZhbDogcHJvcHMubW9uaXRvcmluZ0ludGVydmFsIHx8IER1cmF0aW9uLm1pbnV0ZXMoMSksXG4gICAgICAgIG11bHRpQXo6IHRydWUsXG4gICAgICAgIHBvcnQ6IHByb3BzLnBvcnQsXG4gICAgICAgIHByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93OlxuICAgICAgICAgIHByb3BzLnByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93IHx8IFwiU2F0OjEyOjMwLVNhdDoyMDozMFwiLFxuICAgICAgICBjcmVkZW50aWFsczogQ3JlZGVudGlhbHMuZnJvbVNlY3JldCh0aGlzLmRhdGFiYXNlQ3JlZGVudGlhbHMuc2VjcmV0KVxuICAgICAgfVxuICAgICk7XG4gICAgdGFnUmVzb3VyY2UodGhpcy5kYXRhYmFzZSwgcHJvcHMudGFncyk7XG4gIH1cblxuICByb3RhdGVTZWNyZXQocHJvcHM6IFJkc1Byb3BzKSB7XG4gICAgLy8gUm90YXRlIHRoZSBTZWNyZXQgZXZlcnkgMzAgZGF5c1xuICAgIHRoaXMubWFzdGVyU2VjcmV0ID0gbmV3IFNlY3JldCh0aGlzLCBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9TWFzdGVyU2VjcmV0YCwge1xuICAgICAgc2VjcmV0TmFtZTogYCR7cHJvcHMuZGF0YWJhc2VOYW1lfU1hc3RlclNlY3JldGAsXG4gICAgICB0YWdzOiBwcm9wcy50YWdzXG4gICAgfSk7XG5cbiAgICBuZXcgU2VjcmV0Um90YXRpb24odGhpcywgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVNlY3JldFJvdGF0aW9uYCwge1xuICAgICAgYXBwbGljYXRpb246IG5ldyBTZWNyZXRSb3RhdGlvbkFwcGxpY2F0aW9uKFxuICAgICAgICBcIlNlY3JldHNNYW5hZ2VyUkRTUG9zdGdyZVNRTFJvdGF0aW9uTXVsdGlVc2VyXCIsXG4gICAgICAgIFwiMS4xLjM2N1wiLFxuICAgICAgICB7XG4gICAgICAgICAgaXNNdWx0aVVzZXI6IHRydWVcbiAgICAgICAgfVxuICAgICAgKSxcbiAgICAgIHNlY3JldDogdGhpcy5kYXRhYmFzZUNyZWRlbnRpYWxzLnNlY3JldCxcbiAgICAgIG1hc3RlclNlY3JldDogdGhpcy5tYXN0ZXJTZWNyZXQuc2VjcmV0LFxuICAgICAgdGFyZ2V0OiB0aGlzLmRhdGFiYXNlLFxuICAgICAgdnBjOiB0aGlzLmRhdGFiYXNlLnZwY1xuICAgIH0pO1xuICB9XG5cbiAgYWRkUHJveHkocHJvcHM6IFJkc1Byb3BzKSB7XG4gICAgdGhpcy5kYXRhYmFzZVByb3h5ID0gbmV3IERhdGFiYXNlUHJveHkoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfURhdGFiYXNlUHJveHlgLFxuICAgICAge1xuICAgICAgICBwcm94eVRhcmdldDogUHJveHlUYXJnZXQuZnJvbUluc3RhbmNlKHRoaXMuZGF0YWJhc2UpLFxuICAgICAgICBzZWNyZXRzOiBbdGhpcy5kYXRhYmFzZUNyZWRlbnRpYWxzLnNlY3JldF0sXG4gICAgICAgIC8vIFRPRE86IENyZWF0ZSBhIG5ldyBzZWN1cml0eSBncm91cCwgYW5kIHJlbW92ZSB0aGUgbGluZSB0aGF0IGFsbG93cyB0aGUgcHJveHkgdG8gY29ubmVjdCB0byB0aGUgZGF0YWJhc2VcbiAgICAgICAgc2VjdXJpdHlHcm91cHM6IFt0aGlzLmRhdGFiYXNlU2VjdXJpdHlHcm91cF0sXG4gICAgICAgIHZwYzogdGhpcy52cGMsXG4gICAgICAgIHZwY1N1Ym5ldHM6IHtcbiAgICAgICAgICBzdWJuZXRUeXBlOiBTdWJuZXRUeXBlLlBVQkxJQ1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcblxuICAgIG5ldyBDZm5PdXRwdXQodGhpcywgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVByb3h5RW5kcG9pbnRPdXRwdXRgLCB7XG4gICAgICBrZXk6IGAke3Byb3BzLmRhdGFiYXNlTmFtZX1Qcm94eUVuZHBvaW50YCxcbiAgICAgIGV4cG9ydE5hbWU6IGAke3Byb3BzLmRhdGFiYXNlTmFtZX1Qcm94eUVuZHBvaW50YCxcbiAgICAgIHZhbHVlOiB0aGlzLmRhdGFiYXNlUHJveHkuZW5kcG9pbnRcbiAgICB9KTtcbiAgfVxuXG4gIGFkZFJlYWRSZXBsaWNhKHByb3BzOiBSZHNQcm9wcykge1xuICAgIGNvbnN0IHJlYWRSZXBsaWNhUGVyZm9ybWFuY2VJbnNpZ2h0c0tleSA9IG5ldyBDdXN0b21lck1hbmFnZWRLZXkoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVJlYWRSZXBsaWNhUmVhZGVySW5zaWdodHNLZXlgLFxuICAgICAge1xuICAgICAgICBhbGlhc05hbWU6IGBjbWsvcmRzLyR7cHJvcHMuZGF0YWJhc2VOYW1lfS9SZWFkUmVwbGljYUluc2lnaHRzS2V5YCxcbiAgICAgICAgdGFnczogcHJvcHMudGFnc1xuICAgICAgfVxuICAgICk7XG5cbiAgICBuZXcgRGF0YWJhc2VJbnN0YW5jZVJlYWRSZXBsaWNhKHRoaXMsIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1SZWFkUmVwbGljYWAsIHtcbiAgICAgIHNvdXJjZURhdGFiYXNlSW5zdGFuY2U6IHRoaXMuZGF0YWJhc2UsXG4gICAgICB2cGM6IHRoaXMudnBjLFxuICAgICAgdnBjU3VibmV0czoge1xuICAgICAgICBzdWJuZXRUeXBlOiBTdWJuZXRUeXBlLlBSSVZBVEVfV0lUSF9FR1JFU1NcbiAgICAgIH0sXG4gICAgICBzZWN1cml0eUdyb3VwczogW3RoaXMuZGF0YWJhc2VTZWN1cml0eUdyb3VwXSxcbiAgICAgIGFsbG9jYXRlZFN0b3JhZ2U6IHByb3BzLmFsbG9jYXRlZFN0b3JhZ2UsXG4gICAgICBiYWNrdXBSZXRlbnRpb246IHByb3BzLmJhY2t1cFJldGVudGlvbiB8fCBEdXJhdGlvbi5kYXlzKDE0KSxcbiAgICAgIHN0b3JhZ2VFbmNyeXB0ZWQ6IHRydWUsXG4gICAgICBzdG9yYWdlRW5jcnlwdGlvbktleTogdGhpcy5lbmNyeXB0aW9uS2V5LmtleSxcbiAgICAgIHN0b3JhZ2VUeXBlOiBTdG9yYWdlVHlwZS5HUDMsXG4gICAgICBjYUNlcnRpZmljYXRlOiBDYUNlcnRpZmljYXRlLlJEU19DQV9SU0E0MDk2X0cxLFxuICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5TTkFQU0hPVCxcbiAgICAgIGRlbGV0ZUF1dG9tYXRlZEJhY2t1cHM6IGZhbHNlLFxuICAgICAgZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0czogcHJvcHMuZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0cyxcbiAgICAgIHBlcmZvcm1hbmNlSW5zaWdodEVuY3J5cHRpb25LZXk6IHByb3BzLmVuYWJsZVBlcmZvcm1hbmNlSW5zaWdodHNcbiAgICAgICAgPyByZWFkUmVwbGljYVBlcmZvcm1hbmNlSW5zaWdodHNLZXkua2V5XG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgaW5zdGFuY2VJZGVudGlmaWVyOiBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9YCxcbiAgICAgIGluc3RhbmNlVHlwZTpcbiAgICAgICAgcHJvcHMuaW5zdGFuY2VUeXBlIHx8XG4gICAgICAgIEluc3RhbmNlVHlwZS5vZihJbnN0YW5jZUNsYXNzLlNUQU5EQVJEN19HUkFWSVRPTiwgSW5zdGFuY2VTaXplLkxBUkdFKSxcbiAgICAgIG1heEFsbG9jYXRlZFN0b3JhZ2U6IHByb3BzLm1heEFsbG9jYXRlZFN0b3JhZ2UgfHwgNTAwLFxuICAgICAgbW9uaXRvcmluZ0ludGVydmFsOiBwcm9wcy5tb25pdG9yaW5nSW50ZXJ2YWwgfHwgRHVyYXRpb24ubWludXRlcygxKSxcbiAgICAgIG11bHRpQXo6IHRydWUsXG4gICAgICBwb3J0OiBwcm9wcy5wb3J0LFxuICAgICAgcHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3c6XG4gICAgICAgIHByb3BzLnByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93IHx8IFwiU2F0OjEyOjMwLVNhdDoyMDozMFwiXG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgYnVpbGQoaWQ6IHN0cmluZywgcHJvcHM6IFJkc1Byb3BzKTogKHNiOiBTdGFja0J1aWxkZXIpID0+IENvbnN0cnVjdCB7XG4gICAgcmV0dXJuIChzYjogU3RhY2tCdWlsZGVyKSA9PiB7XG4gICAgICBjb25zdCBuZXdQcm9wczogUmRzUHJvcHMgPSB7XG4gICAgICAgIC4uLnByb3BzLFxuICAgICAgICAuLi57XG4gICAgICAgICAgdnBjOiAoc2IuZ2V0TmV0d29yaygpIGFzIFZwYykgfHwgcHJvcHM/LnZwYyxcbiAgICAgICAgICBzZWN1cml0eUdyb3VwSWRzOiBwcm9wcz8uc2VjdXJpdHlHcm91cElkcyA/PyBbXSxcbiAgICAgICAgICBkYXRhYmFzZU5hbWU6IHByb3BzLmRhdGFiYXNlTmFtZSB8fCBgJHtpZC5yZXBsYWNlKFwiUmRzXCIsIFwiXCIpfWAsXG4gICAgICAgICAgdGFnczogcHJvcHMudGFnc1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gbmV3IHRoaXMoc2IuZ2V0U3RhY2soKSwgaWQsIG5ld1Byb3BzKTtcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,7 @@
1
+ import { User } from "../config/aws/identityCenterUser";
2
+ export default class UsersConfig {
3
+ private configFile;
4
+ users: User[];
5
+ constructor();
6
+ getUsers(): User[];
7
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const fs = require("fs");
4
+ class UsersConfig {
5
+ constructor() {
6
+ this.configFile = "fjall/users-config.json";
7
+ if (!fs.existsSync(this.configFile)) {
8
+ throw new Error(`Config file ${this.configFile} does not exist`);
9
+ }
10
+ const fileContent = fs.readFileSync(this.configFile, "utf-8");
11
+ this.users = JSON.parse(fileContent);
12
+ }
13
+ getUsers() {
14
+ return this.users;
15
+ }
16
+ }
17
+ exports.default = UsersConfig;
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnNDb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvdXRpbHMvdXNlcnNDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx5QkFBeUI7QUFHekIsTUFBcUIsV0FBVztJQUk5QjtRQUhRLGVBQVUsR0FBRyx5QkFBeUIsQ0FBQztRQUk3QyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLElBQUksQ0FBQyxVQUFVLGlCQUFpQixDQUFDLENBQUM7U0FDbEU7UUFFRCxNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7Q0FDRjtBQWhCRCw4QkFnQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCB7IFVzZXIgfSBmcm9tIFwiLi4vY29uZmlnL2F3cy9pZGVudGl0eUNlbnRlclVzZXJcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVXNlcnNDb25maWcge1xuICBwcml2YXRlIGNvbmZpZ0ZpbGUgPSBcImZqYWxsL3VzZXJzLWNvbmZpZy5qc29uXCI7XG4gIHB1YmxpYyB1c2VyczogVXNlcltdO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmICghZnMuZXhpc3RzU3luYyh0aGlzLmNvbmZpZ0ZpbGUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENvbmZpZyBmaWxlICR7dGhpcy5jb25maWdGaWxlfSBkb2VzIG5vdCBleGlzdGApO1xuICAgIH1cblxuICAgIGNvbnN0IGZpbGVDb250ZW50ID0gZnMucmVhZEZpbGVTeW5jKHRoaXMuY29uZmlnRmlsZSwgXCJ1dGYtOFwiKTtcbiAgICB0aGlzLnVzZXJzID0gSlNPTi5wYXJzZShmaWxlQ29udGVudCk7XG4gIH1cblxuICBnZXRVc2VycygpIHtcbiAgICByZXR1cm4gdGhpcy51c2VycztcbiAgfVxufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fjall/components-infrastructure",
3
- "version": "0.1.35",
3
+ "version": "0.1.37",
4
4
  "bin": {
5
5
  "infrastructure": "bin/infrastructure.js"
6
6
  },
@@ -56,7 +56,7 @@
56
56
  "dependencies": {
57
57
  "@aws-sdk/client-cost-explorer": "^3.717.0",
58
58
  "@aws-sdk/client-organizations": "^3.716.0",
59
- "@fjall/util": "^0.1.33",
59
+ "@fjall/util": "^0.1.37",
60
60
  "@pepperize/cdk-organizations": "^0.7.135",
61
61
  "aws-cdk": "^2.146.0",
62
62
  "aws-cdk-lib": "^2.146.0",
@@ -68,5 +68,5 @@
68
68
  "overrides": {
69
69
  "@smithy/core": "2.5.5"
70
70
  },
71
- "gitHead": "482d47eb8c0c6ed8def1e1b6e063e37371ba5b96"
71
+ "gitHead": "da7e6c3a822dcff7f0b83bb87b27044e673203e2"
72
72
  }