@glicogh/healthcare-cdk 0.1.83 → 0.1.85

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.
@@ -75,12 +75,13 @@ class MicroserviceMigration extends cdk.Stack {
75
75
  functionName: 'migration-consumer',
76
76
  entry: path.join(lambdasRootDir, 'consumer', 'index.ts'),
77
77
  role: lambdaRole,
78
+ reservedConcurrentExecutions: 50,
78
79
  });
79
- consumerLambda.addEventSource(new cdk.aws_lambda_event_sources.SqsEventSource(migrationQueue, { batchSize: 10, maxConcurrency: 10 }));
80
+ consumerLambda.addEventSource(new cdk.aws_lambda_event_sources.SqsEventSource(migrationQueue, { batchSize: 20, maxConcurrency: 50, reportBatchItemFailures: true }));
80
81
  migrationQueue.grantSendMessages(producerLambda);
81
82
  migrationQueue.grantConsumeMessages(consumerLambda);
82
83
  }
83
84
  }
84
85
  }
85
86
  exports.MicroserviceMigration = MicroserviceMigration;
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9zZXJ2aWNlLW1pZ3JhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9taWNyb3NlcnZpY2UtbWlncmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFtQztBQUVuQyxpREFBbUQ7QUFDbkQsNkRBQXNEO0FBQ3RELGlEQUFrRDtBQUNsRCw2QkFBNkI7QUFDN0IseUJBQXlCO0FBRXpCLE1BQWEscUJBQXNCLFNBQVEsR0FBRyxDQUFDLEtBQUs7SUFDbEQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFzQjtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4QixJQUFJLENBQUMsNkJBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBRUQsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUU7WUFDeEQsT0FBTyxFQUFFLElBQUEsMEJBQWMsRUFBQyxPQUFPLENBQUM7U0FDakMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLDRCQUE0QixDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsRUFBRTtZQUNqSSxjQUFjLEVBQUUsRUFBRTtZQUNsQixxQkFBcUIsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7U0FDakQsQ0FBQyxDQUFDO1FBRUgsTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUscUJBQXFCLEVBQUU7WUFDbkUsUUFBUSxFQUFFLGlCQUFpQjtZQUMzQixTQUFTLEVBQUUsSUFBSSxHQUFHLENBQUMs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RSxVQUFVLEVBQUUsVUFBVSxDQUFDO2dCQUN4RCxJQUFJLEVBQUUsVUFBVTthQUNqQixDQUFDLENBQUM7WUFFSCxNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLHlCQUF5QixFQUFFO2dCQUMvRixHQUFHLFdBQVc7Z0JBQ2QsWUFBWSxFQUFFLG9CQUFvQjtnQkFDbEMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUM7Z0JBQ3hELElBQUksRUFBRSxVQUFVO2FBQ2pCLENBQUMsQ0FBQztZQUVILGNBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxHQUFHLENBQUMsd0JBQXdCLENBQUMsY0FBYyxDQUFDLGNBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUV0SSxjQUFjLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDakQsY0FBYyxDQUFDLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3RELENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFyRkQsc0RBcUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgZ2V0RW52Q29uc3RhbnQgfSBmcm9tICcuLi91dGlsL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBidWlsZENvbmZpZyB9IGZyb20gJy4uL3V0aWwvaW5pdEJ1aWxkQ29uZmlnJztcbmltcG9ydCB7IGdldExhbWJkYUVudnMgfSBmcm9tICcuLi91dGlsL21pZ3JhdGlvbic7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuXG5leHBvcnQgY2xhc3MgTWljcm9zZXJ2aWNlTWlncmF0aW9uIGV4dGVuZHMgY2RrLlN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBjZGsuU3RhY2tQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgaWYgKCFidWlsZENvbmZpZykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdCdWlsZENvbmZpZyBub3Qgc2V0Jyk7XG4gICAgfVxuXG4gICAgY29uc3QgdnBjID0gY2RrLmF3c19lYzIuVnBjLmZyb21Mb29rdXAodGhpcywgJ1ZQQ0xvb2t1cCcsIHtcbiAgICAgIHZwY05hbWU6IGdldEVudkNvbnN0YW50KCd2cGNJZCcpLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcGFyYW1zQW5kU2VjcmV0cyA9IGNkay5hd3NfbGFtYmRhLlBhcmFtc0FuZFNlY3JldHNMYXllclZlcnNpb24uZnJvbVZlcnNpb24oY2RrLmF3c19sYW1iZGEuUGFyYW1zQW5kU2VjcmV0c1ZlcnNpb25zLlYxXzBfMTAzLCB7XG4gICAgICBtYXhDb25uZWN0aW9uczogMjAsXG4gICAgICBzZWNyZXRzTWFuYWdlclRpbWVvdXQ6IGNkay5EdXJhdGlvbi5zZWNvbmRzKDMwMCksXG4gICAgfSk7XG5cbiAgICBjb25zdCBsYW1iZGFSb2xlID0gbmV3IGNkay5hd3NfaWFtLlJvbGUodGhpcywgJ01pZ3JhdGlvbkxhbWJkYVJvbGUnLCB7XG4gICAgICByb2xlTmFtZTogJ01pZ3JhdGlvbkxhbWJkYScsXG4gICAgICBhc3N1bWVkQnk6IG5ldyBjZGsuYXdzX2lhbS5TZXJ2aWNlUHJpbmNpcGFsKCdsYW1iZGEuYW1hem9uYXdzLmNvbScpLFxuICAgICAgbWFuYWdlZFBvbGljaWVzOiBbY2RrLmF3c19pYW0uTWFuYWdlZFBvbGljeS5mcm9tQXdzTWFuYWdlZFBvbGljeU5hbWUoJ3NlcnZpY2Utcm9sZS9BV1NMYW1iZGFCYXNpY0V4ZWN1dGlvblJvbGUnKV0sXG4gICAgICBpbmxpbmVQb2xpY2llczoge1xuICAgICAgICBtaWdyYXRpb25MYW1iZGFzOiBuZXcgY2RrLmF3c19pYW0uUG9saWN5RG9jdW1lbnQoe1xuICAgICAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgICAgIG5ldyBjZGsuYXdzX2lhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICBzaWQ6ICdBbGxvd0xhbWJkYVRvUmVhZFNTTVBhcmFtZXRlcnMnLFxuICAgICAgICAgICAgICByZXNvdXJjZXM6IFtgYXJuOmF3czpzc206JHtidWlsZENvbmZpZy5hd3MucmVnaW9ufToke2J1aWxkQ29uZmlnLmF3cy5hY2NvdW50fTpwYXJhbWV0ZXIvJHtidWlsZENvbmZpZy5lbnZOYW1lfS9taWNyb3NlcnZpY2VzLypgXSxcbiAgICAgICAgICAgICAgYWN0aW9uczogWydzc206R2V0UGFyYW1ldGVyKiddLFxuICAgICAgICAgICAgICBlZmZlY3Q6IGNkay5hd3NfaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGxhbWJkYXNSb290RGlyID0gcGF0aC5qb2luKHBhdGgucmVzb2x2ZSgnLi4vLi4vJyksICdsYW1iZGFzJyk7XG4gICAgaWYgKGZzLmV4aXN0c1N5bmMobGFtYmRhc1Jvb3REaXIpKSB7XG4gICAgICBjb25zdCBsYW1iZGFQcm9wczogY2RrLmF3c19sYW1iZGFfbm9kZWpzLk5vZGVqc0Z1bmN0aW9uUHJvcHMgPSB7XG4gICAgICAgIHJ1bnRpbWU6IGNkay5hd3NfbGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzIyX1gsXG4gICAgICAgIGFyY2hpdGVjdHVyZTogY2RrLmF3c19sYW1iZGEuQXJjaGl0ZWN0dXJlLlg4Nl82NCxcbiAgICAgICAgaGFuZGxlcjogJ2hhbmRsZXInLFxuICAgICAgICBkZXBzTG9ja0ZpbGVQYXRoOiBwYXRoLmpvaW4obGFtYmRhc1Jvb3REaXIsICdwYWNrYWdlLWxvY2suanNvbicpLFxuICAgICAgICBwcm9qZWN0Um9vdDogbGFtYmRhc1Jvb3REaXIsXG4gICAgICAgIGJ1bmRsaW5nOiB7XG4gICAgICAgICAgdHNjb25maWc6IHBhdGguam9pbihsYW1iZGFzUm9vdERpciwgJ3RzY29uZmlnLmpzb24nKSxcbiAgICAgICAgICBleHRlcm5hbE1vZHVsZXM6IFsnYmV0dGVyLXNxbGl0ZTMnLCAncGcnLCAnbXlzcWwnLCAnc3FsaXRlMycsICd0ZWRpb3VzJywgJ29yYWNsZWRiJywgJ3BnLXF1ZXJ5LXN0cmVhbSddLFxuICAgICAgICB9LFxuICAgICAgICBlbnZpcm9ubWVudDogZ2V0TGFtYmRhRW52cyh0aGlzKSxcbiAgICAgICAgdnBjLFxuICAgICAgICB2cGNTdWJuZXRzOiB7IHN1Ym5ldFR5cGU6IGNkay5hd3NfZWMyLlN1Ym5ldFR5cGUuUFJJVkFURV9XSVRIX0VHUkVTUyB9LFxuICAgICAgICBwYXJhbXNBbmRTZWNyZXRzLFxuICAgICAgICB0aW1lb3V0OiBjZGsuRHVyYXRpb24ubWludXRlcygxMCksXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBtaWdyYXRpb25RdWV1ZSA9IG5ldyBjZGsuYXdzX3Nxcy5RdWV1ZSh0aGlzLCAnbWlncmF0aW9uUXVldWUnLCB7XG4gICAgICAgIHF1ZXVlTmFtZTogJ21pZ3JhdGlvbi1xdWV1ZS5maWZvJyxcbiAgICAgICAgZmlmbzogdHJ1ZSxcbiAgICAgICAgZmlmb1Rocm91Z2hwdXRMaW1pdDogY2RrLmF3c19zcXMuRmlmb1Rocm91Z2hwdXRMaW1pdC5QRVJfTUVTU0FHRV9HUk9VUF9JRCxcbiAgICAgICAgZGVkdXBsaWNhdGlvblNjb3BlOiBjZGsuYXdzX3Nxcy5EZWR1cGxpY2F0aW9uU2NvcGUuTUVTU0FHRV9HUk9VUCxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAobGFtYmRhUHJvcHMuZW52aXJvbm1lbnQpIHtcbiAgICAgICAgbGFtYmRhUHJvcHMuZW52aXJvbm1lbnRbJ01JR1JBVElPTl9RVUVVRV9VUkwnXSA9IG1pZ3JhdGlvblF1ZXVlLnF1ZXVlVXJsO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBwcm9kdWNlckxhbWJkYSA9IG5ldyBjZGsuYXdzX2xhbWJkYV9ub2RlanMuTm9kZWpzRnVuY3Rpb24odGhpcywgJ21pZ3JhdGlvblByb2R1Y2VyTGFtYmRhJywge1xuICAgICAgICAuLi5sYW1iZGFQcm9wcyxcbiAgICAgICAgZnVuY3Rpb25OYW1lOiAnbWlncmF0aW9uLXByb2R1Y2VyJyxcbiAgICAgICAgZW50cnk6IHBhdGguam9pbihsYW1iZGFzUm9vdERpciwgJ3Byb2R1Y2VyJywgJ2luZGV4LnRzJyksXG4gICAgICAgIHJvbGU6IGxhbWJkYVJvbGUsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgY29uc3VtZXJMYW1iZGEgPSBuZXcgY2RrLmF3c19sYW1iZGFfbm9kZWpzLk5vZGVqc0Z1bmN0aW9uKHRoaXMsICdtaWdyYXRpb25Db25zdW1lckxhbWJkYScsIHtcbiAgICAgICAgLi4ubGFtYmRhUHJvcHMsXG4gICAgICAgIGZ1bmN0aW9uTmFtZTogJ21pZ3JhdGlvbi1jb25zdW1lcicsXG4gICAgICAgIGVudHJ5OiBwYXRoLmpvaW4obGFtYmRhc1Jvb3REaXIsICdjb25zdW1lcicsICdpbmRleC50cycpLFxuICAgICAgICByb2xlOiBsYW1iZGFSb2xlLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN1bWVyTGFtYmRhLmFkZEV2ZW50U291cmNlKG5ldyBjZGsuYXdzX2xhbWJkYV9ldmVudF9zb3VyY2VzLlNxc0V2ZW50U291cmNlKG1pZ3JhdGlvblF1ZXVlLCB7IGJhdGNoU2l6ZTogMTAsIG1heENvbmN1cnJlbmN5OiAxMCB9KSk7XG5cbiAgICAgIG1pZ3JhdGlvblF1ZXVlLmdyYW50U2VuZE1lc3NhZ2VzKHByb2R1Y2VyTGFtYmRhKTtcbiAgICAgIG1pZ3JhdGlvblF1ZXVlLmdyYW50Q29uc3VtZU1lc3NhZ2VzKGNvbnN1bWVyTGFtYmRhKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9zZXJ2aWNlLW1pZ3JhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9taWNyb3NlcnZpY2UtbWlncmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFtQztBQUVuQyxpREFBbUQ7QUFDbkQsNkRBQXNEO0FBQ3RELGlEQUFrRDtBQUNsRCw2QkFBNkI7QUFDN0IseUJBQXlCO0FBRXpCLE1BQWEscUJBQXNCLFNBQVEsR0FBRyxDQUFDLEtBQUs7SUFDbEQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFzQjtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4QixJQUFJLENBQUMsNkJBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBRUQsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUU7WUFDeEQsT0FBTyxFQUFFLElBQUEsMEJBQWMsRUFBQyxPQUFPLENBQUM7U0FDakMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLDRCQUE0QixDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsRUFBRTtZQUNqSSxjQUFjLEVBQUUsRUFBRTtZQUNsQixxQkFBcUIsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7U0FDakQsQ0FBQyxDQUFDO1FBRUgsTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUscUJBQXFCLEVBQUU7WUFDbkUsUUFBUSxFQUFFLGlCQUFpQjtZQUMzQixTQUFTLEVBQUUsSUFBSSxHQUFHLENBQUMs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RSxVQUFVLEVBQUUsVUFBVSxDQUFDO2dCQUN4RCxJQUFJLEVBQUUsVUFBVTthQUNqQixDQUFDLENBQUM7WUFFSCxNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLHlCQUF5QixFQUFFO2dCQUMvRixHQUFHLFdBQVc7Z0JBQ2QsWUFBWSxFQUFFLG9CQUFvQjtnQkFDbEMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUM7Z0JBQ3hELElBQUksRUFBRSxVQUFVO2dCQUNoQiw0QkFBNEIsRUFBRSxFQUFFO2FBQ2pDLENBQUMsQ0FBQztZQUVILGNBQWMsQ0FBQyxjQUFjLENBQzNCLElBQUksR0FBRyxDQUFDLHdCQUF3QixDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLGNBQWMsRUFBRSxFQUFFLEVBQUUsdUJBQXVCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FDdEksQ0FBQztZQUVGLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNqRCxjQUFjLENBQUMsb0JBQW9CLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdEQsQ0FBQztJQUNILENBQUM7Q0FDRjtBQXhGRCxzREF3RkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBnZXRFbnZDb25zdGFudCB9IGZyb20gJy4uL3V0aWwvY29uc3RhbnRzJztcbmltcG9ydCB7IGJ1aWxkQ29uZmlnIH0gZnJvbSAnLi4vdXRpbC9pbml0QnVpbGRDb25maWcnO1xuaW1wb3J0IHsgZ2V0TGFtYmRhRW52cyB9IGZyb20gJy4uL3V0aWwvbWlncmF0aW9uJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5cbmV4cG9ydCBjbGFzcyBNaWNyb3NlcnZpY2VNaWdyYXRpb24gZXh0ZW5kcyBjZGsuU3RhY2sge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IGNkay5TdGFja1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICBpZiAoIWJ1aWxkQ29uZmlnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0J1aWxkQ29uZmlnIG5vdCBzZXQnKTtcbiAgICB9XG5cbiAgICBjb25zdCB2cGMgPSBjZGsuYXdzX2VjMi5WcGMuZnJvbUxvb2t1cCh0aGlzLCAnVlBDTG9va3VwJywge1xuICAgICAgdnBjTmFtZTogZ2V0RW52Q29uc3RhbnQoJ3ZwY0lkJyksXG4gICAgfSk7XG5cbiAgICBjb25zdCBwYXJhbXNBbmRTZWNyZXRzID0gY2RrLmF3c19sYW1iZGEuUGFyYW1zQW5kU2VjcmV0c0xheWVyVmVyc2lvbi5mcm9tVmVyc2lvbihjZGsuYXdzX2xhbWJkYS5QYXJhbXNBbmRTZWNyZXRzVmVyc2lvbnMuVjFfMF8xMDMsIHtcbiAgICAgIG1heENvbm5lY3Rpb25zOiAyMCxcbiAgICAgIHNlY3JldHNNYW5hZ2VyVGltZW91dDogY2RrLkR1cmF0aW9uLnNlY29uZHMoMzAwKSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGxhbWJkYVJvbGUgPSBuZXcgY2RrLmF3c19pYW0uUm9sZSh0aGlzLCAnTWlncmF0aW9uTGFtYmRhUm9sZScsIHtcbiAgICAgIHJvbGVOYW1lOiAnTWlncmF0aW9uTGFtYmRhJyxcbiAgICAgIGFzc3VtZWRCeTogbmV3IGNkay5hd3NfaWFtLlNlcnZpY2VQcmluY2lwYWwoJ2xhbWJkYS5hbWF6b25hd3MuY29tJyksXG4gICAgICBtYW5hZ2VkUG9saWNpZXM6IFtjZGsuYXdzX2lhbS5NYW5hZ2VkUG9saWN5LmZyb21Bd3NNYW5hZ2VkUG9saWN5TmFtZSgnc2VydmljZS1yb2xlL0FXU0xhbWJkYUJhc2ljRXhlY3V0aW9uUm9sZScpXSxcbiAgICAgIGlubGluZVBvbGljaWVzOiB7XG4gICAgICAgIG1pZ3JhdGlvbkxhbWJkYXM6IG5ldyBjZGsuYXdzX2lhbS5Qb2xpY3lEb2N1bWVudCh7XG4gICAgICAgICAgc3RhdGVtZW50czogW1xuICAgICAgICAgICAgbmV3IGNkay5hd3NfaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgIHNpZDogJ0FsbG93TGFtYmRhVG9SZWFkU1NNUGFyYW1ldGVycycsXG4gICAgICAgICAgICAgIHJlc291cmNlczogW2Bhcm46YXdzOnNzbToke2J1aWxkQ29uZmlnLmF3cy5yZWdpb259OiR7YnVpbGRDb25maWcuYXdzLmFjY291bnR9OnBhcmFtZXRlci8ke2J1aWxkQ29uZmlnLmVudk5hbWV9L21pY3Jvc2VydmljZXMvKmBdLFxuICAgICAgICAgICAgICBhY3Rpb25zOiBbJ3NzbTpHZXRQYXJhbWV0ZXIqJ10sXG4gICAgICAgICAgICAgIGVmZmVjdDogY2RrLmF3c19pYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgXSxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3QgbGFtYmRhc1Jvb3REaXIgPSBwYXRoLmpvaW4ocGF0aC5yZXNvbHZlKCcuLi8uLi8nKSwgJ2xhbWJkYXMnKTtcbiAgICBpZiAoZnMuZXhpc3RzU3luYyhsYW1iZGFzUm9vdERpcikpIHtcbiAgICAgIGNvbnN0IGxhbWJkYVByb3BzOiBjZGsuYXdzX2xhbWJkYV9ub2RlanMuTm9kZWpzRnVuY3Rpb25Qcm9wcyA9IHtcbiAgICAgICAgcnVudGltZTogY2RrLmF3c19sYW1iZGEuUnVudGltZS5OT0RFSlNfMjJfWCxcbiAgICAgICAgYXJjaGl0ZWN0dXJlOiBjZGsuYXdzX2xhbWJkYS5BcmNoaXRlY3R1cmUuWDg2XzY0LFxuICAgICAgICBoYW5kbGVyOiAnaGFuZGxlcicsXG4gICAgICAgIGRlcHNMb2NrRmlsZVBhdGg6IHBhdGguam9pbihsYW1iZGFzUm9vdERpciwgJ3BhY2thZ2UtbG9jay5qc29uJyksXG4gICAgICAgIHByb2plY3RSb290OiBsYW1iZGFzUm9vdERpcixcbiAgICAgICAgYnVuZGxpbmc6IHtcbiAgICAgICAgICB0c2NvbmZpZzogcGF0aC5qb2luKGxhbWJkYXNSb290RGlyLCAndHNjb25maWcuanNvbicpLFxuICAgICAgICAgIGV4dGVybmFsTW9kdWxlczogWydiZXR0ZXItc3FsaXRlMycsICdwZycsICdteXNxbCcsICdzcWxpdGUzJywgJ3RlZGlvdXMnLCAnb3JhY2xlZGInLCAncGctcXVlcnktc3RyZWFtJ10sXG4gICAgICAgIH0sXG4gICAgICAgIGVudmlyb25tZW50OiBnZXRMYW1iZGFFbnZzKHRoaXMpLFxuICAgICAgICB2cGMsXG4gICAgICAgIHZwY1N1Ym5ldHM6IHsgc3VibmV0VHlwZTogY2RrLmF3c19lYzIuU3VibmV0VHlwZS5QUklWQVRFX1dJVEhfRUdSRVNTIH0sXG4gICAgICAgIHBhcmFtc0FuZFNlY3JldHMsXG4gICAgICAgIHRpbWVvdXQ6IGNkay5EdXJhdGlvbi5taW51dGVzKDEwKSxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IG1pZ3JhdGlvblF1ZXVlID0gbmV3IGNkay5hd3Nfc3FzLlF1ZXVlKHRoaXMsICdtaWdyYXRpb25RdWV1ZScsIHtcbiAgICAgICAgcXVldWVOYW1lOiAnbWlncmF0aW9uLXF1ZXVlLmZpZm8nLFxuICAgICAgICBmaWZvOiB0cnVlLFxuICAgICAgICBmaWZvVGhyb3VnaHB1dExpbWl0OiBjZGsuYXdzX3Nxcy5GaWZvVGhyb3VnaHB1dExpbWl0LlBFUl9NRVNTQUdFX0dST1VQX0lELFxuICAgICAgICBkZWR1cGxpY2F0aW9uU2NvcGU6IGNkay5hd3Nfc3FzLkRlZHVwbGljYXRpb25TY29wZS5NRVNTQUdFX0dST1VQLFxuICAgICAgfSk7XG5cbiAgICAgIGlmIChsYW1iZGFQcm9wcy5lbnZpcm9ubWVudCkge1xuICAgICAgICBsYW1iZGFQcm9wcy5lbnZpcm9ubWVudFsnTUlHUkFUSU9OX1FVRVVFX1VSTCddID0gbWlncmF0aW9uUXVldWUucXVldWVVcmw7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHByb2R1Y2VyTGFtYmRhID0gbmV3IGNkay5hd3NfbGFtYmRhX25vZGVqcy5Ob2RlanNGdW5jdGlvbih0aGlzLCAnbWlncmF0aW9uUHJvZHVjZXJMYW1iZGEnLCB7XG4gICAgICAgIC4uLmxhbWJkYVByb3BzLFxuICAgICAgICBmdW5jdGlvbk5hbWU6ICdtaWdyYXRpb24tcHJvZHVjZXInLFxuICAgICAgICBlbnRyeTogcGF0aC5qb2luKGxhbWJkYXNSb290RGlyLCAncHJvZHVjZXInLCAnaW5kZXgudHMnKSxcbiAgICAgICAgcm9sZTogbGFtYmRhUm9sZSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBjb25zdW1lckxhbWJkYSA9IG5ldyBjZGsuYXdzX2xhbWJkYV9ub2RlanMuTm9kZWpzRnVuY3Rpb24odGhpcywgJ21pZ3JhdGlvbkNvbnN1bWVyTGFtYmRhJywge1xuICAgICAgICAuLi5sYW1iZGFQcm9wcyxcbiAgICAgICAgZnVuY3Rpb25OYW1lOiAnbWlncmF0aW9uLWNvbnN1bWVyJyxcbiAgICAgICAgZW50cnk6IHBhdGguam9pbihsYW1iZGFzUm9vdERpciwgJ2NvbnN1bWVyJywgJ2luZGV4LnRzJyksXG4gICAgICAgIHJvbGU6IGxhbWJkYVJvbGUsXG4gICAgICAgIHJlc2VydmVkQ29uY3VycmVudEV4ZWN1dGlvbnM6IDUwLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN1bWVyTGFtYmRhLmFkZEV2ZW50U291cmNlKFxuICAgICAgICBuZXcgY2RrLmF3c19sYW1iZGFfZXZlbnRfc291cmNlcy5TcXNFdmVudFNvdXJjZShtaWdyYXRpb25RdWV1ZSwgeyBiYXRjaFNpemU6IDIwLCBtYXhDb25jdXJyZW5jeTogNTAsIHJlcG9ydEJhdGNoSXRlbUZhaWx1cmVzOiB0cnVlIH0pXG4gICAgICApO1xuXG4gICAgICBtaWdyYXRpb25RdWV1ZS5ncmFudFNlbmRNZXNzYWdlcyhwcm9kdWNlckxhbWJkYSk7XG4gICAgICBtaWdyYXRpb25RdWV1ZS5ncmFudENvbnN1bWVNZXNzYWdlcyhjb25zdW1lckxhbWJkYSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -107,6 +107,8 @@ class MicroserviceNetwork extends cdk.Stack {
107
107
  laravelSecGrp.addIngressRule(cdk.aws_ec2.Peer.ipv4(vpc.vpcCidrBlock), cdk.aws_ec2.Port.tcp(22), 'SSH from within VPC');
108
108
  // add rule for HTTP
109
109
  laravelSecGrp.addIngressRule(cdk.aws_ec2.Peer.ipv4(vpc.vpcCidrBlock), cdk.aws_ec2.Port.tcp(8080), 'HTTP from within VPC');
110
+ // add rule for print WebSocket
111
+ laravelSecGrp.addIngressRule(cdk.aws_ec2.Peer.ipv4(vpc.vpcCidrBlock), cdk.aws_ec2.Port.tcp(8090), 'Print WebSocket from within VPC');
110
112
  // security group for Instance Connection Endpoint
111
113
  const iceSecGrp = new cdk.aws_ec2.SecurityGroup(this, (0, constants_1.getEnvConstant)('ec2InstanceConnectEndpointSecurityGroupId'), {
112
114
  vpc,
@@ -131,4 +133,4 @@ class MicroserviceNetwork extends cdk.Stack {
131
133
  }
132
134
  }
133
135
  exports.MicroserviceNetwork = MicroserviceNetwork;
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9zZXJ2aWNlLW5ldHdvcmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvbWljcm9zZXJ2aWNlLW5ldHdvcmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQW1DO0FBRW5DLGlEQUFnRTtBQUNoRSw2REFBc0Q7QUFDdEQscUVBQWtFO0FBRWxFLE1BQWEsbUJBQW9CLFNBQVEsR0FBRyxDQUFDLEtBQUs7SUFDaEQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFzQjtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4QixJQUFJLENBQUMsNkJBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBRUQsMEJBQTBCO1FBQzFCLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1lBQzVDLFVBQVUsRUFBRSxJQUFBLHlDQUFtQixHQUFFO1lBQ2pDLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlO1lBQy9ELGFBQWEsRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLE1BQU07WUFDdkMsSUFBSSxFQUFFO2dCQUNKO29CQUNFLGNBQWMsRUFBRSxDQUFDLEdBQUcsQ0FBQztvQkFDckIsY0FBYyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7b0JBQ3hHLGNBQWMsRUFBRSxDQUFDLEdBQUcsQ0FBQztvQkFDckIsY0FBYyxFQUFFLEVBQUU7aUJBQ25CO2FBQ0Y7U0FDRixDQUFDLENB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QUFDLENBQUMsQ0FBQyxDQUFDO1FBRXZFLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQ2hDLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSztTQUNqQixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFqSkQsa0RBaUpDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgZ2V0Q29uc3RhbnQsIGdldEVudkNvbnN0YW50IH0gZnJvbSAnLi4vdXRpbC9jb25zdGFudHMnO1xuaW1wb3J0IHsgYnVpbGRDb25maWcgfSBmcm9tICcuLi91dGlsL2luaXRCdWlsZENvbmZpZyc7XG5pbXBvcnQgeyBnZXRQdWJsaWNCdWNrZXROYW1lIH0gZnJvbSAnLi4vdXRpbC9nZXRQdWJsaWNCdWNrZXROYW1lJztcblxuZXhwb3J0IGNsYXNzIE1pY3Jvc2VydmljZU5ldHdvcmsgZXh0ZW5kcyBjZGsuU3RhY2sge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IGNkay5TdGFja1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICBpZiAoIWJ1aWxkQ29uZmlnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0J1aWxkQ29uZmlnIG5vdCBzZXQnKTtcbiAgICB9XG5cbiAgICAvLyBjcmVhdGUgcHVibGljIHMzIGJ1Y2tldFxuICAgIG5ldyBjZGsuYXdzX3MzLkJ1Y2tldCh0aGlzLCAnUHVibGljUzNCdWNrZXQnLCB7XG4gICAgICBidWNrZXROYW1lOiBnZXRQdWJsaWNCdWNrZXROYW1lKCksXG4gICAgICBwdWJsaWNSZWFkQWNjZXNzOiB0cnVlLFxuICAgICAgYmxvY2tQdWJsaWNBY2Nlc3M6IGNkay5hd3NfczMuQmxvY2tQdWJsaWNBY2Nlc3MuQkxPQ0tfQUNMU19PTkxZLFxuICAgICAgcmVtb3ZhbFBvbGljeTogY2RrLlJlbW92YWxQb2xpY3kuUkVUQUlOLFxuICAgICAgY29yczogW1xuICAgICAgICB7XG4gICAgICAgICAgYWxsb3dlZEhlYWRlcnM6IFsnKiddLFxuICAgICAgICAgIGFsbG93ZWRNZXRob2RzOiBbY2RrLmF3c19zMy5IdHRwTWV0aG9kcy5QT1NULCBjZGsuYXdzX3MzLkh0dHBNZXRob2RzLlBVVCwgY2RrLmF3c19zMy5IdHRwTWV0aG9kcy5ERUxFVEVdLFxuICAgICAgICAgIGFsbG93ZWRPcmlnaW5zOiBbJyonXSxcbiAgICAgICAgICBleHBvc2VkSGVhZGVyczogW10sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgY29uc3QgdnBjID0gbmV3IGNkay5hd3NfZWMyLlZwYyh0aGlzLCBnZXRFbnZDb25zdGFudCgndnBjSWQnKSwge1xuICAgICAgdnBjTmFtZTogZ2V0RW52Q29uc3RhbnQoJ3ZwY0lkJyksXG4gICAgICBlbmFibGVEbnNIb3N0bmFtZXM6IHRydWUsXG4gICAgICBlbmFibGVEbnNTdXBwb3J0OiB0cnVlLFxuICAgICAgbWF4QXpzOiAxLFxuICAgICAgbmF0R2F0ZXdheXM6IDEsXG4gICAgICAvLyBwcm92aXNpb24gYW5kIHVzZSBhbiBFQzIgaW5zdGFuY2UgYXMgTkFUIGdhdGV3YXkgaW4gbm9uLXByb2QgZW52aXJvbm1lbnRzXG4gICAgICAvLyBpbiBwcm9kLCB0aGUgZGVmYXVsdCBtb3JlIHNjYWxhYmxlL2V4cGVuc2l2ZSBOQVQgZ2F0ZXdheSB3aWxsIGJlIHVzZWRcbiAgICAgIC4uLihidWlsZENvbmZpZy5lbnZOYW1lICE9PSAncHJvZCcgJiYge1xuICAgICAgICBuYXRHYXRld2F5UHJvdmlkZXI6IG5ldyBjZGsuYXdzX2VjMi5OYXRJbnN0YW5jZVByb3ZpZGVyVjIoe1xuICAgICAgICAgIGluc3RhbmNlVHlwZTogbmV3IGNkay5hd3NfZWMyLkluc3RhbmNlVHlwZSgndDRnLm5hbm8nKSxcbiAgICAgICAgfSksXG4gICAgICB9KSxcbiAgICAgIHJlc3RyaWN0RGVmYXVsdFNlY3VyaXR5R3JvdXA6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvLyBzZWN1cml0eSBncm91cCBmb3IgUG9ydGFsXG4gICAgY29uc3QgcG9ydGFsU2VjR3JwID0gbmV3IGNkay5hd3NfZWMyLlNlY3VyaXR5R3JvdXAodGhpcywgZ2V0RW52Q29uc3RhbnQoJ3BvcnRhbFNlY3VyaXR5R3JvdXBJZCcpLCB7XG4gICAgICB2cGMsXG4gICAgICBzZWN1cml0eUdyb3VwTmFtZTogZ2V0RW52Q29uc3RhbnQoJ3BvcnRhbFNlY3VyaXR5R3JvdXBJZCcpLFxuICAgICAgYWxsb3dBbGxPdXRib3VuZDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIC8vIGFkZCBydWxlIGZvciBIVFRQIGFjY2Vzc1xuICAgIHBvcnRhbFNlY0dycC5hZGRJbmdyZXNzUnVsZShjZGsuYXdzX2VjMi5QZWVyLmFueUlwdjQoKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoODApLCAnSFRUUCBmcm9tIGFueXdoZXJlJyk7XG4gICAgLy8gYWRkIHJ1bGUgZm9yIEhUVFBTIGFjY2Vzc1xuICAgIHBvcnRhbFNlY0dycC5hZGRJbmdyZXNzUnVsZShjZGsuYXdzX2VjMi5QZWVyLmFueUlwdjQoKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoNDQzKSwgJ0hUVFBTIGZyb20gYW55d2hlcmUnKTtcbiAgICAvLyBhZGQgcnVsZSBmb3IgU1NIIGFjY2Vzc1xuICAgIHBvcnRhbFNlY0dycC5hZGRJbmdyZXNzUnVsZShjZGsuYXdzX2VjMi5QZWVyLmlwdjQodnBjLnZwY0NpZHJCbG9jayksIGNkay5hd3NfZWMyLlBvcnQudGNwKDIyKSwgJ1NTSCBmcm9tIHdpdGhpbiBWUEMnKTtcblxuICAgIC8vIHNlY3VyaXR5IGdyb3VwIGZvciBBUEkgR2F0ZXdheVxuICAgIGNvbnN0IGFwaUdhdGV3YXlTZWNHcnAgPSBuZXcgY2RrLmF3c19lYzIuU2VjdXJpdHlHcm91cCh0aGlzLCBnZXRFbnZDb25zdGFudCgnYXBpR2F0ZXdheVNlY3VyaXR5R3JvdXBJZCcpLCB7XG4gICAgICB2cGMsXG4gICAgICBzZWN1cml0eUdyb3VwTmFtZTogZ2V0RW52Q29uc3RhbnQoJ2FwaUdhdGV3YXlTZWN1cml0eUdyb3VwSWQnKSxcbiAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvLyBhZGQgcnVsZSBmb3IgSFRUUCBhY2Nlc3NcbiAgICBhcGlHYXRld2F5U2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuYW55SXB2NCgpLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCg4MCksICdIVFRQIGZyb20gYW55d2hlcmUnKTtcbiAgICAvLyBhZGQgcnVsZSBmb3IgSFRUUFMgYWNjZXNzXG4gICAgYXBpR2F0ZXdheVNlY0dycC5hZGRJbmdyZXNzUnVsZShjZGsuYXdzX2VjMi5QZWVyLmFueUlwdjQoKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoNDQzKSwgJ0hUVFBTIGZyb20gYW55d2hlcmUnKTtcbiAgICAvLyBhZGQgcnVsZSBmb3IgU1NIIGFjY2Vzc1xuICAgIGFwaUdhdGV3YXlTZWNHcnAuYWRkSW5ncmVzc1J1bGUoY2RrLmF3c19lYzIuUGVlci5hbnlJcHY0KCksIGNkay5hd3NfZWMyLlBvcnQudGNwKDIyKSwgJ1NTSCBmcm9tIGFueXdoZXJlJyk7XG4gICAgLy8gYWRkIHJ1bGUgZm9yIGludGVybmFsIGNvbW11bmljYXRpb25cbiAgICBhcGlHYXRld2F5U2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuaXB2NCh2cGMudnBjQ2lkckJsb2NrKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoODA4MSksICdJbnRlcm5hbCBtaWNyb3NlcnZpY2UgY29tbXVuaWNhdGlvbiBmcm9tIHdpdGhpbiBWUEMnKTtcblxuICAgIC8vIHNlY3VyaXR5IGdyb3VwIGZvciBSZWRpcyBzZXJ2ZXJcbiAgICBjb25zdCByZWRpc1NlY0dycCA9IG5ldyBjZGsuYXdzX2VjMi5TZWN1cml0eUdyb3VwKHRoaXMsIGdldEVudkNvbnN0YW50KCdyZWRpc1NlY3VyaXR5R3JvdXBJZCcpLCB7XG4gICAgICB2cGMsXG4gICAgICBzZWN1cml0eUdyb3VwTmFtZTogZ2V0RW52Q29uc3RhbnQoJ3JlZGlzU2VjdXJpdHlHcm91cElkJyksXG4gICAgICBhbGxvd0FsbE91dGJvdW5kOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgLy8gYWRkIHJ1bGUgZm9yIFNTSCBhY2Nlc3NcbiAgICByZWRpc1NlY0dycC5hZGRJbmdyZXNzUnVsZShjZGsuYXdzX2VjMi5QZWVyLmlwdjQodnBjLnZwY0NpZHJCbG9jayksIGNkay5hd3NfZWMyLlBvcnQudGNwKDIyKSwgJ1NTSCBmcm9tIHdpdGhpbiBWUEMnKTtcbiAgICAvLyBhZGQgcnVsZSBmb3IgUmVkaXMgYWNjZXNzXG4gICAgcmVkaXNTZWNHcnAuYWRkSW5ncmVzc1J1bGUoY2RrLmF3c19lYzIuUGVlci5pcHY0KHZwYy52cGNDaWRyQmxvY2spLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCg2Mzc5KSwgJ1JlZGlzIGZyb20gd2l0aGluIFZQQycpO1xuXG4gICAgLy8gc2VjdXJpdHkgZ3JvdXAgZm9yIE15U1FMIHNlcnZlclxuICAgIGNvbnN0IG15c3FsU2VjR3JwID0gbmV3IGNkay5hd3NfZWMyLlNlY3VyaXR5R3JvdXAodGhpcywgZ2V0RW52Q29uc3RhbnQoJ215c3FsU2VjdXJpdHlHcm91cElkJyksIHtcbiAgICAgIHZwYyxcbiAgICAgIHNlY3VyaXR5R3JvdXBOYW1lOiBnZXRFbnZDb25zdGFudCgnbXlzcWxTZWN1cml0eUdyb3VwSWQnKSxcbiAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvLyBhZGQgcnVsZSBmb3IgU1NIIGFjY2Vzc1xuICAgIG15c3FsU2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuaXB2NCh2cGMudnBjQ2lkckJsb2NrKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoMjIpLCAnU1NIIGZyb20gd2l0aGluIFZQQycpO1xuICAgIC8vIGFkZCBydWxlIGZvciBNeVNRTCBhY2Nlc3NcbiAgICBteXNxbFNlY0dycC5hZGRJbmdyZXNzUnVsZShjZGsuYXdzX2VjMi5QZWVyLmlwdjQodnBjLnZwY0NpZHJCbG9jayksIGNkay5hd3NfZWMyLlBvcnQudGNwKDMzMDYpLCAnTXlTUUwgZnJvbSB3aXRoaW4gVlBDJyk7XG5cbiAgICAvLyBzZWN1cml0eSBncm91cCBmb3IgTm90aWZpY2F0aW9uIHNlcnZpY2VcbiAgICBjb25zdCBub3RpZmljYXRpb25TZWNHcnAgPSBuZXcgY2RrLmF3c19lYzIuU2VjdXJpdHlHcm91cCh0aGlzLCBnZXRFbnZDb25zdGFudCgnbm90aWZpY2F0aW9uU2VydmljZVNlY3VyaXR5R3JvdXBJZCcpLCB7XG4gICAgICB2cGMsXG4gICAgICBzZWN1cml0eUdyb3VwTmFtZTogZ2V0RW52Q29uc3RhbnQoJ25vdGlmaWNhdGlvblNlcnZpY2VTZWN1cml0eUdyb3VwSWQnKSxcbiAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvLyBhZGQgcnVsZSBmb3IgU1NIIGFjY2Vzc1xuICAgIG5vdGlmaWNhdGlvblNlY0dycC5hZGRJbmdyZXNzUnVsZShjZGsuYXdzX2VjMi5QZWVyLmlwdjQodnBjLnZwY0NpZHJCbG9jayksIGNkay5hd3NfZWMyLlBvcnQudGNwKDIyKSwgJ1NTSCBmcm9tIHdpdGhpbiBWUEMnKTtcbiAgICAvLyBhZGQgcnVsZSBmb3IgSFRUUCBhY2Nlc3NcbiAgICBub3RpZmljYXRpb25TZWNHcnAuYWRkSW5ncmVzc1J1bGUoY2RrLmF3c19lYzIuUGVlci5pcHY0KHZwYy52cGNDaWRyQmxvY2spLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCg4MDgwKSwgJ0hUVFAgZnJvbSB3aXRoaW4gVlBDJyk7XG5cbiAgICAvLyBzZWN1cml0eSBncm91cCBmb3IgTGFyYXZlbC1iYXNlZCBzZXJ2aWNlc1xuICAgIGNvbnN0IGxhcmF2ZWxTZWNHcnAgPSBuZXcgY2RrLmF3c19lYzIuU2VjdXJpdHlHcm91cCh0aGlzLCBnZXRFbnZDb25zdGFudCgnbGFyYXZlbEJhc2VkU2VjdXJpdHlHcm91cElkJyksIHtcbiAgICAgIHZwYyxcbiAgICAgIHNlY3VyaXR5R3JvdXBOYW1lOiBnZXRFbnZDb25zdGFudCgnbGFyYXZlbEJhc2VkU2VjdXJpdHlHcm91cElkJyksXG4gICAgICBhbGxvd0FsbE91dGJvdW5kOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgLy8gYWRkIHJ1bGUgZm9yIFNTSCBhY2Nlc3NcbiAgICBsYXJhdmVsU2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuaXB2NCh2cGMudnBjQ2lkckJsb2NrKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoMjIpLCAnU1NIIGZyb20gd2l0aGluIFZQQycpO1xuICAgIC8vIGFkZCBydWxlIGZvciBIVFRQXG4gICAgbGFyYXZlbFNlY0dycC5hZGRJbmdyZXNzUnVsZShjZGsuYXdzX2VjMi5QZWVyLmlwdjQodnBjLnZwY0NpZHJCbG9jayksIGNkay5hd3NfZWMyLlBvcnQudGNwKDgwODApLCAnSFRUUCBmcm9tIHdpdGhpbiBWUEMnKTtcblxuICAgIC8vIHNlY3VyaXR5IGdyb3VwIGZvciBJbnN0YW5jZSBDb25uZWN0aW9uIEVuZHBvaW50XG4gICAgY29uc3QgaWNlU2VjR3JwID0gbmV3IGNkay5hd3NfZWMyLlNlY3VyaXR5R3JvdXAodGhpcywgZ2V0RW52Q29uc3RhbnQoJ2VjMkluc3RhbmNlQ29ubmVjdEVuZHBvaW50U2VjdXJpdHlHcm91cElkJyksIHtcbiAgICAgIHZwYyxcbiAgICAgIHNlY3VyaXR5R3JvdXBOYW1lOiBnZXRFbnZDb25zdGFudCgnZWMySW5zdGFuY2VDb25uZWN0RW5kcG9pbnRTZWN1cml0eUdyb3VwSWQnKSxcbiAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgLy8gYWRkIHJ1bGUgZm9yIG91dGJvdW5kIFNTSFxuICAgIGljZVNlY0dycC5hZGRFZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuaXB2NCh2cGMudnBjQ2lkckJsb2NrKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoMjIpLCAnU1NIIHRvIHdpdGhpbiBWUEMnKTtcblxuICAgIG5ldyBjZGsuYXdzX2VjMi5DZm5JbnN0YW5jZUNvbm5lY3RFbmRwb2ludCh0aGlzLCBnZXRFbnZDb25zdGFudCgnZWMySW5zdGFuY2VDb25uZWN0RW5kcG9pbnRJZCcpLCB7XG4gICAgICBzZWN1cml0eUdyb3VwSWRzOiBbaWNlU2VjR3JwLnNlY3VyaXR5R3JvdXBJZF0sXG4gICAgICBzdWJuZXRJZDogdnBjLnByaXZhdGVTdWJuZXRzWzBdLnN1Ym5ldElkLFxuICAgIH0pO1xuXG4gICAgLy8gQVBJIGdhdGV3YXkncyBlbGFzdGljIElQXG4gICAgY29uc3QgYXBpR2F0ZXdheUVJUCA9IG5ldyBjZGsuYXdzX2VjMi5DZm5FSVAodGhpcywgU3RyaW5nKGdldENvbnN0YW50KCdhcGlHYXRld2F5RUlQSWQnKSksIHsgZG9tYWluOiAndnBjJyB9KTtcbiAgICBjZGsuVGFncy5vZihhcGlHYXRld2F5RUlQKS5hZGQoJ05hbWUnLCBTdHJpbmcoZ2V0Q29uc3RhbnQoJ2FwaUdhdGV3YXlFSVBJZCcpKSk7XG5cbiAgICAvLyBQb3J0YWwncyBlbGFzdGljIElQXG4gICAgY29uc3QgcG9ydGFsRUlQID0gbmV3IGNkay5hd3NfZWMyLkNmbkVJUCh0aGlzLCBTdHJpbmcoZ2V0Q29uc3RhbnQoJ3BvcnRhbEVJUElkJykpLCB7IGRvbWFpbjogJ3ZwYycgfSk7XG4gICAgY2RrLlRhZ3Mub2YocG9ydGFsRUlQKS5hZGQoJ05hbWUnLCBTdHJpbmcoZ2V0Q29uc3RhbnQoJ3BvcnRhbEVJUElkJykpKTtcblxuICAgIG5ldyBjZGsuQ2ZuT3V0cHV0KHRoaXMsICd2cGMgSUQnLCB7XG4gICAgICB2YWx1ZTogdnBjLnZwY0lkLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9zZXJ2aWNlLW5ldHdvcmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvbWljcm9zZXJ2aWNlLW5ldHdvcmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQW1DO0FBRW5DLGlEQUFnRTtBQUNoRSw2REFBc0Q7QUFDdEQscUVBQWtFO0FBRWxFLE1BQWEsbUJBQW9CLFNBQVEsR0FBRyxDQUFDLEtBQUs7SUFDaEQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFzQjtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4QixJQUFJLENBQUMsNkJBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBRUQsMEJBQTBCO1FBQzFCLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1lBQzVDLFVBQVUsRUFBRSxJQUFBLHlDQUFtQixHQUFFO1lBQ2pDLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlO1lBQy9ELGFBQWEsRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLE1BQU07WUFDdkMsSUFBSSxFQUFFO2dCQUNKO29CQUNFLGNBQWMsRUFBRSxDQUFDLEdBQUcsQ0FBQztvQkFDckIsY0FBYyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7b0JBQ3hHLGNBQWMsRUFBRSxDQUFDLEdBQUcsQ0FBQztvQkFDckIsY0FBYyxFQUFFLEVBQUU7aUJBQ25CO2FBQ0Y7U0FDRixDQUFDLENB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QyxJQUFBLHVCQUFXLEVBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3RHLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUEsdUJBQVcsRUFBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFdkUsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDaEMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLO1NBQ2pCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQW5KRCxrREFtSkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBnZXRDb25zdGFudCwgZ2V0RW52Q29uc3RhbnQgfSBmcm9tICcuLi91dGlsL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBidWlsZENvbmZpZyB9IGZyb20gJy4uL3V0aWwvaW5pdEJ1aWxkQ29uZmlnJztcbmltcG9ydCB7IGdldFB1YmxpY0J1Y2tldE5hbWUgfSBmcm9tICcuLi91dGlsL2dldFB1YmxpY0J1Y2tldE5hbWUnO1xuXG5leHBvcnQgY2xhc3MgTWljcm9zZXJ2aWNlTmV0d29yayBleHRlbmRzIGNkay5TdGFjayB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogY2RrLlN0YWNrUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIGlmICghYnVpbGRDb25maWcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQnVpbGRDb25maWcgbm90IHNldCcpO1xuICAgIH1cblxuICAgIC8vIGNyZWF0ZSBwdWJsaWMgczMgYnVja2V0XG4gICAgbmV3IGNkay5hd3NfczMuQnVja2V0KHRoaXMsICdQdWJsaWNTM0J1Y2tldCcsIHtcbiAgICAgIGJ1Y2tldE5hbWU6IGdldFB1YmxpY0J1Y2tldE5hbWUoKSxcbiAgICAgIHB1YmxpY1JlYWRBY2Nlc3M6IHRydWUsXG4gICAgICBibG9ja1B1YmxpY0FjY2VzczogY2RrLmF3c19zMy5CbG9ja1B1YmxpY0FjY2Vzcy5CTE9DS19BQ0xTX09OTFksXG4gICAgICByZW1vdmFsUG9saWN5OiBjZGsuUmVtb3ZhbFBvbGljeS5SRVRBSU4sXG4gICAgICBjb3JzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBhbGxvd2VkSGVhZGVyczogWycqJ10sXG4gICAgICAgICAgYWxsb3dlZE1ldGhvZHM6IFtjZGsuYXdzX3MzLkh0dHBNZXRob2RzLlBPU1QsIGNkay5hd3NfczMuSHR0cE1ldGhvZHMuUFVULCBjZGsuYXdzX3MzLkh0dHBNZXRob2RzLkRFTEVURV0sXG4gICAgICAgICAgYWxsb3dlZE9yaWdpbnM6IFsnKiddLFxuICAgICAgICAgIGV4cG9zZWRIZWFkZXJzOiBbXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBjb25zdCB2cGMgPSBuZXcgY2RrLmF3c19lYzIuVnBjKHRoaXMsIGdldEVudkNvbnN0YW50KCd2cGNJZCcpLCB7XG4gICAgICB2cGNOYW1lOiBnZXRFbnZDb25zdGFudCgndnBjSWQnKSxcbiAgICAgIGVuYWJsZURuc0hvc3RuYW1lczogdHJ1ZSxcbiAgICAgIGVuYWJsZURuc1N1cHBvcnQ6IHRydWUsXG4gICAgICBtYXhBenM6IDEsXG4gICAgICBuYXRHYXRld2F5czogMSxcbiAgICAgIC8vIHByb3Zpc2lvbiBhbmQgdXNlIGFuIEVDMiBpbnN0YW5jZSBhcyBOQVQgZ2F0ZXdheSBpbiBub24tcHJvZCBlbnZpcm9ubWVudHNcbiAgICAgIC8vIGluIHByb2QsIHRoZSBkZWZhdWx0IG1vcmUgc2NhbGFibGUvZXhwZW5zaXZlIE5BVCBnYXRld2F5IHdpbGwgYmUgdXNlZFxuICAgICAgLi4uKGJ1aWxkQ29uZmlnLmVudk5hbWUgIT09ICdwcm9kJyAmJiB7XG4gICAgICAgIG5hdEdhdGV3YXlQcm92aWRlcjogbmV3IGNkay5hd3NfZWMyLk5hdEluc3RhbmNlUHJvdmlkZXJWMih7XG4gICAgICAgICAgaW5zdGFuY2VUeXBlOiBuZXcgY2RrLmF3c19lYzIuSW5zdGFuY2VUeXBlKCd0NGcubmFubycpLFxuICAgICAgICB9KSxcbiAgICAgIH0pLFxuICAgICAgcmVzdHJpY3REZWZhdWx0U2VjdXJpdHlHcm91cDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIC8vIHNlY3VyaXR5IGdyb3VwIGZvciBQb3J0YWxcbiAgICBjb25zdCBwb3J0YWxTZWNHcnAgPSBuZXcgY2RrLmF3c19lYzIuU2VjdXJpdHlHcm91cCh0aGlzLCBnZXRFbnZDb25zdGFudCgncG9ydGFsU2VjdXJpdHlHcm91cElkJyksIHtcbiAgICAgIHZwYyxcbiAgICAgIHNlY3VyaXR5R3JvdXBOYW1lOiBnZXRFbnZDb25zdGFudCgncG9ydGFsU2VjdXJpdHlHcm91cElkJyksXG4gICAgICBhbGxvd0FsbE91dGJvdW5kOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgLy8gYWRkIHJ1bGUgZm9yIEhUVFAgYWNjZXNzXG4gICAgcG9ydGFsU2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuYW55SXB2NCgpLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCg4MCksICdIVFRQIGZyb20gYW55d2hlcmUnKTtcbiAgICAvLyBhZGQgcnVsZSBmb3IgSFRUUFMgYWNjZXNzXG4gICAgcG9ydGFsU2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuYW55SXB2NCgpLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCg0NDMpLCAnSFRUUFMgZnJvbSBhbnl3aGVyZScpO1xuICAgIC8vIGFkZCBydWxlIGZvciBTU0ggYWNjZXNzXG4gICAgcG9ydGFsU2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuaXB2NCh2cGMudnBjQ2lkckJsb2NrKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoMjIpLCAnU1NIIGZyb20gd2l0aGluIFZQQycpO1xuXG4gICAgLy8gc2VjdXJpdHkgZ3JvdXAgZm9yIEFQSSBHYXRld2F5XG4gICAgY29uc3QgYXBpR2F0ZXdheVNlY0dycCA9IG5ldyBjZGsuYXdzX2VjMi5TZWN1cml0eUdyb3VwKHRoaXMsIGdldEVudkNvbnN0YW50KCdhcGlHYXRld2F5U2VjdXJpdHlHcm91cElkJyksIHtcbiAgICAgIHZwYyxcbiAgICAgIHNlY3VyaXR5R3JvdXBOYW1lOiBnZXRFbnZDb25zdGFudCgnYXBpR2F0ZXdheVNlY3VyaXR5R3JvdXBJZCcpLFxuICAgICAgYWxsb3dBbGxPdXRib3VuZDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIC8vIGFkZCBydWxlIGZvciBIVFRQIGFjY2Vzc1xuICAgIGFwaUdhdGV3YXlTZWNHcnAuYWRkSW5ncmVzc1J1bGUoY2RrLmF3c19lYzIuUGVlci5hbnlJcHY0KCksIGNkay5hd3NfZWMyLlBvcnQudGNwKDgwKSwgJ0hUVFAgZnJvbSBhbnl3aGVyZScpO1xuICAgIC8vIGFkZCBydWxlIGZvciBIVFRQUyBhY2Nlc3NcbiAgICBhcGlHYXRld2F5U2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuYW55SXB2NCgpLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCg0NDMpLCAnSFRUUFMgZnJvbSBhbnl3aGVyZScpO1xuICAgIC8vIGFkZCBydWxlIGZvciBTU0ggYWNjZXNzXG4gICAgYXBpR2F0ZXdheVNlY0dycC5hZGRJbmdyZXNzUnVsZShjZGsuYXdzX2VjMi5QZWVyLmFueUlwdjQoKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoMjIpLCAnU1NIIGZyb20gYW55d2hlcmUnKTtcbiAgICAvLyBhZGQgcnVsZSBmb3IgaW50ZXJuYWwgY29tbXVuaWNhdGlvblxuICAgIGFwaUdhdGV3YXlTZWNHcnAuYWRkSW5ncmVzc1J1bGUoY2RrLmF3c19lYzIuUGVlci5pcHY0KHZwYy52cGNDaWRyQmxvY2spLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCg4MDgxKSwgJ0ludGVybmFsIG1pY3Jvc2VydmljZSBjb21tdW5pY2F0aW9uIGZyb20gd2l0aGluIFZQQycpO1xuXG4gICAgLy8gc2VjdXJpdHkgZ3JvdXAgZm9yIFJlZGlzIHNlcnZlclxuICAgIGNvbnN0IHJlZGlzU2VjR3JwID0gbmV3IGNkay5hd3NfZWMyLlNlY3VyaXR5R3JvdXAodGhpcywgZ2V0RW52Q29uc3RhbnQoJ3JlZGlzU2VjdXJpdHlHcm91cElkJyksIHtcbiAgICAgIHZwYyxcbiAgICAgIHNlY3VyaXR5R3JvdXBOYW1lOiBnZXRFbnZDb25zdGFudCgncmVkaXNTZWN1cml0eUdyb3VwSWQnKSxcbiAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvLyBhZGQgcnVsZSBmb3IgU1NIIGFjY2Vzc1xuICAgIHJlZGlzU2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuaXB2NCh2cGMudnBjQ2lkckJsb2NrKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoMjIpLCAnU1NIIGZyb20gd2l0aGluIFZQQycpO1xuICAgIC8vIGFkZCBydWxlIGZvciBSZWRpcyBhY2Nlc3NcbiAgICByZWRpc1NlY0dycC5hZGRJbmdyZXNzUnVsZShjZGsuYXdzX2VjMi5QZWVyLmlwdjQodnBjLnZwY0NpZHJCbG9jayksIGNkay5hd3NfZWMyLlBvcnQudGNwKDYzNzkpLCAnUmVkaXMgZnJvbSB3aXRoaW4gVlBDJyk7XG5cbiAgICAvLyBzZWN1cml0eSBncm91cCBmb3IgTXlTUUwgc2VydmVyXG4gICAgY29uc3QgbXlzcWxTZWNHcnAgPSBuZXcgY2RrLmF3c19lYzIuU2VjdXJpdHlHcm91cCh0aGlzLCBnZXRFbnZDb25zdGFudCgnbXlzcWxTZWN1cml0eUdyb3VwSWQnKSwge1xuICAgICAgdnBjLFxuICAgICAgc2VjdXJpdHlHcm91cE5hbWU6IGdldEVudkNvbnN0YW50KCdteXNxbFNlY3VyaXR5R3JvdXBJZCcpLFxuICAgICAgYWxsb3dBbGxPdXRib3VuZDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIC8vIGFkZCBydWxlIGZvciBTU0ggYWNjZXNzXG4gICAgbXlzcWxTZWNHcnAuYWRkSW5ncmVzc1J1bGUoY2RrLmF3c19lYzIuUGVlci5pcHY0KHZwYy52cGNDaWRyQmxvY2spLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCgyMiksICdTU0ggZnJvbSB3aXRoaW4gVlBDJyk7XG4gICAgLy8gYWRkIHJ1bGUgZm9yIE15U1FMIGFjY2Vzc1xuICAgIG15c3FsU2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuaXB2NCh2cGMudnBjQ2lkckJsb2NrKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoMzMwNiksICdNeVNRTCBmcm9tIHdpdGhpbiBWUEMnKTtcblxuICAgIC8vIHNlY3VyaXR5IGdyb3VwIGZvciBOb3RpZmljYXRpb24gc2VydmljZVxuICAgIGNvbnN0IG5vdGlmaWNhdGlvblNlY0dycCA9IG5ldyBjZGsuYXdzX2VjMi5TZWN1cml0eUdyb3VwKHRoaXMsIGdldEVudkNvbnN0YW50KCdub3RpZmljYXRpb25TZXJ2aWNlU2VjdXJpdHlHcm91cElkJyksIHtcbiAgICAgIHZwYyxcbiAgICAgIHNlY3VyaXR5R3JvdXBOYW1lOiBnZXRFbnZDb25zdGFudCgnbm90aWZpY2F0aW9uU2VydmljZVNlY3VyaXR5R3JvdXBJZCcpLFxuICAgICAgYWxsb3dBbGxPdXRib3VuZDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIC8vIGFkZCBydWxlIGZvciBTU0ggYWNjZXNzXG4gICAgbm90aWZpY2F0aW9uU2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuaXB2NCh2cGMudnBjQ2lkckJsb2NrKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoMjIpLCAnU1NIIGZyb20gd2l0aGluIFZQQycpO1xuICAgIC8vIGFkZCBydWxlIGZvciBIVFRQIGFjY2Vzc1xuICAgIG5vdGlmaWNhdGlvblNlY0dycC5hZGRJbmdyZXNzUnVsZShjZGsuYXdzX2VjMi5QZWVyLmlwdjQodnBjLnZwY0NpZHJCbG9jayksIGNkay5hd3NfZWMyLlBvcnQudGNwKDgwODApLCAnSFRUUCBmcm9tIHdpdGhpbiBWUEMnKTtcblxuICAgIC8vIHNlY3VyaXR5IGdyb3VwIGZvciBMYXJhdmVsLWJhc2VkIHNlcnZpY2VzXG4gICAgY29uc3QgbGFyYXZlbFNlY0dycCA9IG5ldyBjZGsuYXdzX2VjMi5TZWN1cml0eUdyb3VwKHRoaXMsIGdldEVudkNvbnN0YW50KCdsYXJhdmVsQmFzZWRTZWN1cml0eUdyb3VwSWQnKSwge1xuICAgICAgdnBjLFxuICAgICAgc2VjdXJpdHlHcm91cE5hbWU6IGdldEVudkNvbnN0YW50KCdsYXJhdmVsQmFzZWRTZWN1cml0eUdyb3VwSWQnKSxcbiAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvLyBhZGQgcnVsZSBmb3IgU1NIIGFjY2Vzc1xuICAgIGxhcmF2ZWxTZWNHcnAuYWRkSW5ncmVzc1J1bGUoY2RrLmF3c19lYzIuUGVlci5pcHY0KHZwYy52cGNDaWRyQmxvY2spLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCgyMiksICdTU0ggZnJvbSB3aXRoaW4gVlBDJyk7XG4gICAgLy8gYWRkIHJ1bGUgZm9yIEhUVFBcbiAgICBsYXJhdmVsU2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuaXB2NCh2cGMudnBjQ2lkckJsb2NrKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoODA4MCksICdIVFRQIGZyb20gd2l0aGluIFZQQycpO1xuICAgIC8vIGFkZCBydWxlIGZvciBwcmludCBXZWJTb2NrZXRcbiAgICBsYXJhdmVsU2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuaXB2NCh2cGMudnBjQ2lkckJsb2NrKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoODA5MCksICdQcmludCBXZWJTb2NrZXQgZnJvbSB3aXRoaW4gVlBDJyk7XG5cbiAgICAvLyBzZWN1cml0eSBncm91cCBmb3IgSW5zdGFuY2UgQ29ubmVjdGlvbiBFbmRwb2ludFxuICAgIGNvbnN0IGljZVNlY0dycCA9IG5ldyBjZGsuYXdzX2VjMi5TZWN1cml0eUdyb3VwKHRoaXMsIGdldEVudkNvbnN0YW50KCdlYzJJbnN0YW5jZUNvbm5lY3RFbmRwb2ludFNlY3VyaXR5R3JvdXBJZCcpLCB7XG4gICAgICB2cGMsXG4gICAgICBzZWN1cml0eUdyb3VwTmFtZTogZ2V0RW52Q29uc3RhbnQoJ2VjMkluc3RhbmNlQ29ubmVjdEVuZHBvaW50U2VjdXJpdHlHcm91cElkJyksXG4gICAgICBhbGxvd0FsbE91dGJvdW5kOiBmYWxzZSxcbiAgICB9KTtcblxuICAgIC8vIGFkZCBydWxlIGZvciBvdXRib3VuZCBTU0hcbiAgICBpY2VTZWNHcnAuYWRkRWdyZXNzUnVsZShjZGsuYXdzX2VjMi5QZWVyLmlwdjQodnBjLnZwY0NpZHJCbG9jayksIGNkay5hd3NfZWMyLlBvcnQudGNwKDIyKSwgJ1NTSCB0byB3aXRoaW4gVlBDJyk7XG5cbiAgICBuZXcgY2RrLmF3c19lYzIuQ2ZuSW5zdGFuY2VDb25uZWN0RW5kcG9pbnQodGhpcywgZ2V0RW52Q29uc3RhbnQoJ2VjMkluc3RhbmNlQ29ubmVjdEVuZHBvaW50SWQnKSwge1xuICAgICAgc2VjdXJpdHlHcm91cElkczogW2ljZVNlY0dycC5zZWN1cml0eUdyb3VwSWRdLFxuICAgICAgc3VibmV0SWQ6IHZwYy5wcml2YXRlU3VibmV0c1swXS5zdWJuZXRJZCxcbiAgICB9KTtcblxuICAgIC8vIEFQSSBnYXRld2F5J3MgZWxhc3RpYyBJUFxuICAgIGNvbnN0IGFwaUdhdGV3YXlFSVAgPSBuZXcgY2RrLmF3c19lYzIuQ2ZuRUlQKHRoaXMsIFN0cmluZyhnZXRDb25zdGFudCgnYXBpR2F0ZXdheUVJUElkJykpLCB7IGRvbWFpbjogJ3ZwYycgfSk7XG4gICAgY2RrLlRhZ3Mub2YoYXBpR2F0ZXdheUVJUCkuYWRkKCdOYW1lJywgU3RyaW5nKGdldENvbnN0YW50KCdhcGlHYXRld2F5RUlQSWQnKSkpO1xuXG4gICAgLy8gUG9ydGFsJ3MgZWxhc3RpYyBJUFxuICAgIGNvbnN0IHBvcnRhbEVJUCA9IG5ldyBjZGsuYXdzX2VjMi5DZm5FSVAodGhpcywgU3RyaW5nKGdldENvbnN0YW50KCdwb3J0YWxFSVBJZCcpKSwgeyBkb21haW46ICd2cGMnIH0pO1xuICAgIGNkay5UYWdzLm9mKHBvcnRhbEVJUCkuYWRkKCdOYW1lJywgU3RyaW5nKGdldENvbnN0YW50KCdwb3J0YWxFSVBJZCcpKSk7XG5cbiAgICBuZXcgY2RrLkNmbk91dHB1dCh0aGlzLCAndnBjIElEJywge1xuICAgICAgdmFsdWU6IHZwYy52cGNJZCxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -43,3 +43,37 @@ cd $service_dir/node-scripts
43
43
 
44
44
  # build
45
45
  sudo npm i
46
+
47
+ # create supervisor config for print websocket server
48
+ cat > $configuration_dir/supervisor.{{serviceName}}-service-print-server.conf <<EOL
49
+ [program:{{serviceName}}-service-print-server]
50
+ process_name=%(program_name)s_%(process_num)02d
51
+ command=php $service_dir/laravel/artisan websocket:print:serve --port=8090
52
+ autostart=true
53
+ autorestart=true
54
+ stopasgroup=true
55
+ killasgroup=true
56
+ user=ubuntu
57
+ numprocs=1
58
+ redirect_stderr=true
59
+ stdout_logfile=$logs_dir/{{serviceName}}-service-print-server.log
60
+ EOL
61
+ sudo ln -sf $configuration_dir/supervisor.{{serviceName}}-service-print-server.conf /etc/supervisor/conf.d/{{serviceName}}-service-print-server.conf
62
+
63
+ # create supervisor config for print queue worker
64
+ cat > $configuration_dir/supervisor.{{serviceName}}-service-print-queue.conf <<EOL
65
+ [program:{{serviceName}}-service-print-queue]
66
+ process_name=%(program_name)s_%(process_num)02d
67
+ command=php $service_dir/laravel/artisan queue:work redis --queue=print-jobs --tries=3 --max-jobs=10 --sleep=3
68
+ autostart=true
69
+ autorestart=true
70
+ stopasgroup=true
71
+ killasgroup=true
72
+ user=ubuntu
73
+ numprocs=1
74
+ redirect_stderr=true
75
+ stdout_logfile=$logs_dir/{{serviceName}}-service-print-queue.log
76
+ EOL
77
+ sudo ln -sf $configuration_dir/supervisor.{{serviceName}}-service-print-queue.conf /etc/supervisor/conf.d/{{serviceName}}-service-print-queue.conf
78
+
79
+ sudo systemctl restart supervisor
@@ -10,13 +10,26 @@ function getLambdaEnvs(scope) {
10
10
  'global:DB_PORT',
11
11
  'global:REDIS_HOST',
12
12
  'global:REDIS_PORT',
13
- 'migration:MIGRATION_FETCH_SIZE',
14
- 'migration:DEFAULT_INSURER_ID',
15
- 'migration:DEFAULT_INSURER_ROLE_ID',
16
13
  'portal:ACCOUNT_SERVICE_URL',
17
14
  'portal:PLAN_SERVICE_URL',
18
15
  'portal:POLICY_SERVICE_URL',
19
16
  'portal:CLAIMS_SERVICE_URL',
17
+ 'migration:MIGRATION_FETCH_SIZE',
18
+ 'migration:DEFAULT_INSURER_ID',
19
+ 'migration:DEFAULT_INSURER_ROLE_ID',
20
+ 'migration:DB_DATABASE',
21
+ 'migration:DB_POOL_MAX',
22
+ 'migration:MIGRATION_PRODUCER_CONCURRENCY',
23
+ 'migration:MIGRATION_CONSUMER_CONCURRENCY',
24
+ 'migration:MIGRATION_QUEUE_SHARDS',
25
+ 'migration:BENEFICIARY_PHOTOS_URL',
26
+ 'migration:TPA_BENEFICIARY_PHOTOS_URL',
27
+ 'migration:EXPIRED_POLICY_GRACE_PERIOD_MONTHS',
28
+ 'migration:CLAIMS_BENEFIT_TYPE_FALLBACK',
29
+ 'migration:CLAIMS_STATUS_HELD',
30
+ 'migration:HTTP_MAX_SOCKETS',
31
+ 'migration:REQUEST_TIMEOUT_MS',
32
+ 'migration:REQUEST_MAX_RETRIES',
20
33
  ];
21
34
  const ssmSecureVars = ['global:DB_PASSWORD', 'migration:MIGRATION_API_KEY'];
22
35
  const vars = {
@@ -46,4 +59,4 @@ function lookupSsmParameters(scope, keys, secure = false) {
46
59
  return acc;
47
60
  }, {});
48
61
  }
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlncmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdXRpbC9taWdyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFNQSxzQ0F3QkM7QUE5QkQsNkNBQTZDO0FBQzdDLHVEQUFnRDtBQUtoRCxTQUFnQixhQUFhLENBQUMsS0FBWTtJQUN4QyxNQUFNLGFBQWEsR0FBYTtRQUM5QixnQkFBZ0I7UUFDaEIsb0JBQW9CO1FBQ3BCLGdCQUFnQjtRQUNoQixtQkFBbUI7UUFDbkIsbUJBQW1CO1FBQ25CLGdDQUFnQztRQUNoQyw4QkFBOEI7UUFDOUIsbUNBQW1DO1FBQ25DLDRCQUE0QjtRQUM1Qix5QkFBeUI7UUFDekIsMkJBQTJCO1FBQzNCLDJCQUEyQjtLQUM1QixDQUFDO0lBQ0YsTUFBTSxhQUFhLEdBQWEsQ0FBQyxvQkFBb0IsRUFBRSw2QkFBNkIsQ0FBQyxDQUFDO0lBRXRGLE1BQU0sSUFBSSxHQUFHO1FBQ1gsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDO1FBQzVDLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUM7UUFDbEQsR0FBRyxFQUFFLE1BQU0sQ0FBQyw2QkFBVyxFQUFFLE9BQU8sQ0FBQztRQUNqQyxXQUFXLEVBQUUsV0FBVztLQUN6QixDQUFDO0lBQ0YsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FBQyxLQUFZLEVBQUUsSUFBYyxFQUFFLE1BQU0sR0FBRyxLQUFLO0lBQ3ZFLE1BQU0sR0FBRyxHQUFHLDZCQUFXLEVBQUUsT0FBTyxDQUFDO0lBQ2pDLE1BQU0sU0FBUyxHQUFxQyxFQUFFLENBQUM7SUFDdkQsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN2QixNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDckQsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxrQkFBa0IsU0FBUyxRQUFRLElBQUksRUFBRSxDQUFDO1FBQzlELFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUNyQixDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUNaLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLFNBQVMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hDLENBQUM7YUFBTSxDQUFDO1lBQ04sR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxxQkFBTyxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3RSxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLEVBQ0QsRUFBNEIsQ0FDN0IsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhd3Nfc3NtLCBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IGJ1aWxkQ29uZmlnIH0gZnJvbSAnLi9pbml0QnVpbGRDb25maWcnO1xuXG50eXBlIFNzbU5hbWVzcGFjZSA9ICdnbG9iYWwnIHwgJ21pZ3JhdGlvbicgfCAncG9ydGFsJztcbnR5cGUgU3NtS2V5ID0gYCR7U3NtTmFtZXNwYWNlfToke3N0cmluZ31gO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGFtYmRhRW52cyhzY29wZTogU3RhY2spOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgY29uc3Qgc3NtU3RyaW5nVmFyczogU3NtS2V5W10gPSBbXG4gICAgJ2dsb2JhbDpEQl9IT1NUJyxcbiAgICAnZ2xvYmFsOkRCX1VTRVJOQU1FJyxcbiAgICAnZ2xvYmFsOkRCX1BPUlQnLFxuICAgICdnbG9iYWw6UkVESVNfSE9TVCcsXG4gICAgJ2dsb2JhbDpSRURJU19QT1JUJyxcbiAgICAnbWlncmF0aW9uOk1JR1JBVElPTl9GRVRDSF9TSVpFJyxcbiAgICAnbWlncmF0aW9uOkRFRkFVTFRfSU5TVVJFUl9JRCcsXG4gICAgJ21pZ3JhdGlvbjpERUZBVUxUX0lOU1VSRVJfUk9MRV9JRCcsXG4gICAgJ3BvcnRhbDpBQ0NPVU5UX1NFUlZJQ0VfVVJMJyxcbiAgICAncG9ydGFsOlBMQU5fU0VSVklDRV9VUkwnLFxuICAgICdwb3J0YWw6UE9MSUNZX1NFUlZJQ0VfVVJMJyxcbiAgICAncG9ydGFsOkNMQUlNU19TRVJWSUNFX1VSTCcsXG4gIF07XG4gIGNvbnN0IHNzbVNlY3VyZVZhcnM6IFNzbUtleVtdID0gWydnbG9iYWw6REJfUEFTU1dPUkQnLCAnbWlncmF0aW9uOk1JR1JBVElPTl9BUElfS0VZJ107XG5cbiAgY29uc3QgdmFycyA9IHtcbiAgICAuLi5sb29rdXBTc21QYXJhbWV0ZXJzKHNjb3BlLCBzc21TdHJpbmdWYXJzKSxcbiAgICAuLi5sb29rdXBTc21QYXJhbWV0ZXJzKHNjb3BlLCBzc21TZWN1cmVWYXJzLCB0cnVlKSxcbiAgICBFTlY6IFN0cmluZyhidWlsZENvbmZpZz8uZW52TmFtZSksXG4gICAgREJfREFUQUJBU0U6ICdtaWdyYXRpb24nLFxuICB9O1xuICByZXR1cm4gdmFycztcbn1cblxuZnVuY3Rpb24gbG9va3VwU3NtUGFyYW1ldGVycyhzY29wZTogU3RhY2ssIGtleXM6IFNzbUtleVtdLCBzZWN1cmUgPSBmYWxzZSk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICBjb25zdCBlbnYgPSBidWlsZENvbmZpZz8uZW52TmFtZTtcbiAgY29uc3QgdmFyaWFibGVzOiB7IHBhdGg6IHN0cmluZzsgbmFtZTogc3RyaW5nIH1bXSA9IFtdO1xuICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgY29uc3QgbmFtZXNwYWNlID0ga2V5LnN1YnN0cmluZygwLCBrZXkuaW5kZXhPZignOicpKTtcbiAgICBjb25zdCBuYW1lID0ga2V5LnN1YnN0cmluZyhuYW1lc3BhY2UubGVuZ3RoICsgMSk7XG4gICAgY29uc3QgcGF0aCA9IGAvJHtlbnZ9L21pY3Jvc2VydmljZXMvJHtuYW1lc3BhY2V9L2Vudi8ke25hbWV9YDtcbiAgICB2YXJpYWJsZXMucHVzaCh7IHBhdGgsIG5hbWUgfSk7XG4gIH1cbiAgcmV0dXJuIHZhcmlhYmxlcy5yZWR1Y2UoXG4gICAgKGFjYywgaXRlbSkgPT4ge1xuICAgICAgaWYgKHNlY3VyZSkge1xuICAgICAgICBhY2NbaXRlbS5uYW1lXSA9IGBzc206Ly8ke2l0ZW0ucGF0aH1gO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWNjW2l0ZW0ubmFtZV0gPSBhd3Nfc3NtLlN0cmluZ1BhcmFtZXRlci52YWx1ZUZyb21Mb29rdXAoc2NvcGUsIGl0ZW0ucGF0aCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sXG4gICAge30gYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICApO1xufVxuIl19
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlncmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdXRpbC9taWdyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFNQSxzQ0F3Q0M7QUE5Q0QsNkNBQTZDO0FBQzdDLHVEQUFnRDtBQUtoRCxTQUFnQixhQUFhLENBQUMsS0FBWTtJQUN4QyxNQUFNLGFBQWEsR0FBYTtRQUM5QixnQkFBZ0I7UUFDaEIsb0JBQW9CO1FBQ3BCLGdCQUFnQjtRQUNoQixtQkFBbUI7UUFDbkIsbUJBQW1CO1FBRW5CLDRCQUE0QjtRQUM1Qix5QkFBeUI7UUFDekIsMkJBQTJCO1FBQzNCLDJCQUEyQjtRQUUzQixnQ0FBZ0M7UUFDaEMsOEJBQThCO1FBQzlCLG1DQUFtQztRQUNuQyx1QkFBdUI7UUFDdkIsdUJBQXVCO1FBQ3ZCLDBDQUEwQztRQUMxQywwQ0FBMEM7UUFDMUMsa0NBQWtDO1FBQ2xDLGtDQUFrQztRQUNsQyxzQ0FBc0M7UUFDdEMsOENBQThDO1FBQzlDLHdDQUF3QztRQUN4Qyw4QkFBOEI7UUFDOUIsNEJBQTRCO1FBQzVCLDhCQUE4QjtRQUM5QiwrQkFBK0I7S0FDaEMsQ0FBQztJQUVGLE1BQU0sYUFBYSxHQUFhLENBQUMsb0JBQW9CLEVBQUUsNkJBQTZCLENBQUMsQ0FBQztJQUV0RixNQUFNLElBQUksR0FBRztRQUNYLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQztRQUM1QyxHQUFHLG1CQUFtQixDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDO1FBQ2xELEdBQUcsRUFBRSxNQUFNLENBQUMsNkJBQVcsRUFBRSxPQUFPLENBQUM7UUFDakMsV0FBVyxFQUFFLFdBQVc7S0FDekIsQ0FBQztJQUNGLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELFNBQVMsbUJBQW1CLENBQUMsS0FBWSxFQUFFLElBQWMsRUFBRSxNQUFNLEdBQUcsS0FBSztJQUN2RSxNQUFNLEdBQUcsR0FBRyw2QkFBVyxFQUFFLE9BQU8sQ0FBQztJQUNqQyxNQUFNLFNBQVMsR0FBcUMsRUFBRSxDQUFDO0lBQ3ZELEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdkIsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNqRCxNQUFNLElBQUksR0FBRyxJQUFJLEdBQUcsa0JBQWtCLFNBQVMsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUM5RCxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNELE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FDckIsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDWixJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxTQUFTLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4QyxDQUFDO2FBQU0sQ0FBQztZQUNOLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcscUJBQU8sQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0UsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxFQUNELEVBQTRCLENBQzdCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXdzX3NzbSwgU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBidWlsZENvbmZpZyB9IGZyb20gJy4vaW5pdEJ1aWxkQ29uZmlnJztcblxudHlwZSBTc21OYW1lc3BhY2UgPSAnZ2xvYmFsJyB8ICdtaWdyYXRpb24nIHwgJ3BvcnRhbCc7XG50eXBlIFNzbUtleSA9IGAke1NzbU5hbWVzcGFjZX06JHtzdHJpbmd9YDtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldExhbWJkYUVudnMoc2NvcGU6IFN0YWNrKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG4gIGNvbnN0IHNzbVN0cmluZ1ZhcnM6IFNzbUtleVtdID0gW1xuICAgICdnbG9iYWw6REJfSE9TVCcsXG4gICAgJ2dsb2JhbDpEQl9VU0VSTkFNRScsXG4gICAgJ2dsb2JhbDpEQl9QT1JUJyxcbiAgICAnZ2xvYmFsOlJFRElTX0hPU1QnLFxuICAgICdnbG9iYWw6UkVESVNfUE9SVCcsXG5cbiAgICAncG9ydGFsOkFDQ09VTlRfU0VSVklDRV9VUkwnLFxuICAgICdwb3J0YWw6UExBTl9TRVJWSUNFX1VSTCcsXG4gICAgJ3BvcnRhbDpQT0xJQ1lfU0VSVklDRV9VUkwnLFxuICAgICdwb3J0YWw6Q0xBSU1TX1NFUlZJQ0VfVVJMJyxcblxuICAgICdtaWdyYXRpb246TUlHUkFUSU9OX0ZFVENIX1NJWkUnLFxuICAgICdtaWdyYXRpb246REVGQVVMVF9JTlNVUkVSX0lEJyxcbiAgICAnbWlncmF0aW9uOkRFRkFVTFRfSU5TVVJFUl9ST0xFX0lEJyxcbiAgICAnbWlncmF0aW9uOkRCX0RBVEFCQVNFJyxcbiAgICAnbWlncmF0aW9uOkRCX1BPT0xfTUFYJyxcbiAgICAnbWlncmF0aW9uOk1JR1JBVElPTl9QUk9EVUNFUl9DT05DVVJSRU5DWScsXG4gICAgJ21pZ3JhdGlvbjpNSUdSQVRJT05fQ09OU1VNRVJfQ09OQ1VSUkVOQ1knLFxuICAgICdtaWdyYXRpb246TUlHUkFUSU9OX1FVRVVFX1NIQVJEUycsXG4gICAgJ21pZ3JhdGlvbjpCRU5FRklDSUFSWV9QSE9UT1NfVVJMJyxcbiAgICAnbWlncmF0aW9uOlRQQV9CRU5FRklDSUFSWV9QSE9UT1NfVVJMJyxcbiAgICAnbWlncmF0aW9uOkVYUElSRURfUE9MSUNZX0dSQUNFX1BFUklPRF9NT05USFMnLFxuICAgICdtaWdyYXRpb246Q0xBSU1TX0JFTkVGSVRfVFlQRV9GQUxMQkFDSycsXG4gICAgJ21pZ3JhdGlvbjpDTEFJTVNfU1RBVFVTX0hFTEQnLFxuICAgICdtaWdyYXRpb246SFRUUF9NQVhfU09DS0VUUycsXG4gICAgJ21pZ3JhdGlvbjpSRVFVRVNUX1RJTUVPVVRfTVMnLFxuICAgICdtaWdyYXRpb246UkVRVUVTVF9NQVhfUkVUUklFUycsXG4gIF07XG5cbiAgY29uc3Qgc3NtU2VjdXJlVmFyczogU3NtS2V5W10gPSBbJ2dsb2JhbDpEQl9QQVNTV09SRCcsICdtaWdyYXRpb246TUlHUkFUSU9OX0FQSV9LRVknXTtcblxuICBjb25zdCB2YXJzID0ge1xuICAgIC4uLmxvb2t1cFNzbVBhcmFtZXRlcnMoc2NvcGUsIHNzbVN0cmluZ1ZhcnMpLFxuICAgIC4uLmxvb2t1cFNzbVBhcmFtZXRlcnMoc2NvcGUsIHNzbVNlY3VyZVZhcnMsIHRydWUpLFxuICAgIEVOVjogU3RyaW5nKGJ1aWxkQ29uZmlnPy5lbnZOYW1lKSxcbiAgICBEQl9EQVRBQkFTRTogJ21pZ3JhdGlvbicsXG4gIH07XG4gIHJldHVybiB2YXJzO1xufVxuXG5mdW5jdGlvbiBsb29rdXBTc21QYXJhbWV0ZXJzKHNjb3BlOiBTdGFjaywga2V5czogU3NtS2V5W10sIHNlY3VyZSA9IGZhbHNlKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG4gIGNvbnN0IGVudiA9IGJ1aWxkQ29uZmlnPy5lbnZOYW1lO1xuICBjb25zdCB2YXJpYWJsZXM6IHsgcGF0aDogc3RyaW5nOyBuYW1lOiBzdHJpbmcgfVtdID0gW107XG4gIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICBjb25zdCBuYW1lc3BhY2UgPSBrZXkuc3Vic3RyaW5nKDAsIGtleS5pbmRleE9mKCc6JykpO1xuICAgIGNvbnN0IG5hbWUgPSBrZXkuc3Vic3RyaW5nKG5hbWVzcGFjZS5sZW5ndGggKyAxKTtcbiAgICBjb25zdCBwYXRoID0gYC8ke2Vudn0vbWljcm9zZXJ2aWNlcy8ke25hbWVzcGFjZX0vZW52LyR7bmFtZX1gO1xuICAgIHZhcmlhYmxlcy5wdXNoKHsgcGF0aCwgbmFtZSB9KTtcbiAgfVxuICByZXR1cm4gdmFyaWFibGVzLnJlZHVjZShcbiAgICAoYWNjLCBpdGVtKSA9PiB7XG4gICAgICBpZiAoc2VjdXJlKSB7XG4gICAgICAgIGFjY1tpdGVtLm5hbWVdID0gYHNzbTovLyR7aXRlbS5wYXRofWA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhY2NbaXRlbS5uYW1lXSA9IGF3c19zc20uU3RyaW5nUGFyYW1ldGVyLnZhbHVlRnJvbUxvb2t1cChzY29wZSwgaXRlbS5wYXRoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSxcbiAgICB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gICk7XG59XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glicogh/healthcare-cdk",
3
- "version": "0.1.83",
3
+ "version": "0.1.85",
4
4
  "description": "CDK automations",
5
5
  "bin": {
6
6
  "cdk": "bin/cdk.js"
@@ -43,3 +43,37 @@ cd $service_dir/node-scripts
43
43
 
44
44
  # build
45
45
  sudo npm i
46
+
47
+ # create supervisor config for print websocket server
48
+ cat > $configuration_dir/supervisor.{{serviceName}}-service-print-server.conf <<EOL
49
+ [program:{{serviceName}}-service-print-server]
50
+ process_name=%(program_name)s_%(process_num)02d
51
+ command=php $service_dir/laravel/artisan websocket:print:serve --port=8090
52
+ autostart=true
53
+ autorestart=true
54
+ stopasgroup=true
55
+ killasgroup=true
56
+ user=ubuntu
57
+ numprocs=1
58
+ redirect_stderr=true
59
+ stdout_logfile=$logs_dir/{{serviceName}}-service-print-server.log
60
+ EOL
61
+ sudo ln -sf $configuration_dir/supervisor.{{serviceName}}-service-print-server.conf /etc/supervisor/conf.d/{{serviceName}}-service-print-server.conf
62
+
63
+ # create supervisor config for print queue worker
64
+ cat > $configuration_dir/supervisor.{{serviceName}}-service-print-queue.conf <<EOL
65
+ [program:{{serviceName}}-service-print-queue]
66
+ process_name=%(program_name)s_%(process_num)02d
67
+ command=php $service_dir/laravel/artisan queue:work redis --queue=print-jobs --tries=3 --max-jobs=10 --sleep=3
68
+ autostart=true
69
+ autorestart=true
70
+ stopasgroup=true
71
+ killasgroup=true
72
+ user=ubuntu
73
+ numprocs=1
74
+ redirect_stderr=true
75
+ stdout_logfile=$logs_dir/{{serviceName}}-service-print-queue.log
76
+ EOL
77
+ sudo ln -sf $configuration_dir/supervisor.{{serviceName}}-service-print-queue.conf /etc/supervisor/conf.d/{{serviceName}}-service-print-queue.conf
78
+
79
+ sudo systemctl restart supervisor