@rio-cloud/cdk-v2-constructs 6.21.1 → 6.22.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +1088 -154
- package/docs/API.md +1636 -65
- package/docs/changelog.md +12 -0
- package/lib/contributions/team-claid/aws-glue/csv-table.d.ts +74 -0
- package/lib/contributions/team-claid/aws-glue/csv-table.js +64 -0
- package/lib/contributions/team-claid/aws-glue/index.d.ts +3 -0
- package/lib/contributions/team-claid/aws-glue/index.js +20 -0
- package/lib/contributions/team-claid/aws-glue/schema.d.ts +27 -0
- package/lib/contributions/team-claid/aws-glue/schema.js +74 -0
- package/lib/contributions/team-claid/aws-glue/view-table.d.ts +126 -0
- package/lib/contributions/team-claid/aws-glue/view-table.js +142 -0
- package/lib/contributions/team-claid/index.d.ts +3 -0
- package/lib/contributions/team-claid/index.js +20 -0
- package/lib/contributions/team-transport-two/datadog-synthetics/datadog-synthetics-test.d.ts +2 -2
- package/lib/contributions/team-transport-two/datadog-synthetics/datadog-synthetics-test.js +1 -1
- package/lib/index.d.ts +1 -2
- package/lib/index.js +2 -3
- package/package.json +10 -2
- package/version.json +1 -1
- package/lib/contributions/team-transport-two/datadog-synthetics/datadog-synthetics-test-custom-resource/handler.d.ts +0 -4
- package/lib/contributions/team-transport-two/datadog-synthetics/datadog-synthetics-test-custom-resource/handler.js +0 -101
- package/lib/datadogv2/secret-locator-custom-resource/on-create.d.ts +0 -2
- package/lib/datadogv2/secret-locator-custom-resource/on-create.js +0 -45
- package/lib/datadogv2/service-catalog-custom-resource/on-create.d.ts +0 -12
- package/lib/datadogv2/service-catalog-custom-resource/on-create.js +0 -69
- package/lib/fargate/codedeploy-custom-resources/create-deployment-is-complete.d.ts +0 -39
- package/lib/fargate/codedeploy-custom-resources/create-deployment-is-complete.js +0 -102
- package/lib/fargate/codedeploy-custom-resources/create-deployment-on-create.d.ts +0 -10
- package/lib/fargate/codedeploy-custom-resources/create-deployment-on-create.js +0 -75
- package/lib/fargate/codedeploy-custom-resources/run-monitoring-test-suite-runner.d.ts +0 -1
- package/lib/fargate/codedeploy-custom-resources/run-monitoring-test-suite-runner.js +0 -85
- package/lib/ses/lambda/ses-logger.d.ts +0 -2
- package/lib/ses/lambda/ses-logger.js +0 -28
|
@@ -78,4 +78,4 @@ class DatadogSyntheticsTest extends constructs_1.Construct {
|
|
|
78
78
|
exports.DatadogSyntheticsTest = DatadogSyntheticsTest;
|
|
79
79
|
_a = JSII_RTTI_SYMBOL_1;
|
|
80
80
|
DatadogSyntheticsTest[_a] = { fqn: "@rio-cloud/cdk-v2-constructs.DatadogSyntheticsTest", version: "0.0.0" };
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWRvZy1zeW50aGV0aWNzLXRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29udHJpYnV0aW9ucy90ZWFtLXRyYW5zcG9ydC10d28vZGF0YWRvZy1zeW50aGV0aWNzL2RhdGFkb2ctc3ludGhldGljcy10ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0JBQTRCO0FBQzVCLDZCQUE2QjtBQUU3QixtQ0FBbUM7QUFDbkMsaURBQWlEO0FBQ2pELDZDQUE2QztBQUM3QyxnRUFBZ0U7QUFDaEUsMkNBQXVDO0FBQ3ZDLGtEQUEwRDtBQUMxRCxrREFBeUQ7QUFDekQsOERBQTJFO0FBQzNFLGdFQUEyRDtBQWtCM0Q7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBYSxxQkFBc0IsU0FBUSxzQkFBUztJQUNsRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWlDO1FBQ3pFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxhQUFhLEdBQUcsK0JBQW1CLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFbEUsTUFBTSxRQUFRLEdBQUcsaUNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDdkUsTUFBTSxjQUFjLEdBQUcsaUNBQWMsQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDbkYsTUFBTSxXQUFXLEdBQUcsaUNBQWMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFFN0UsTUFBTSxjQUFjLEdBQUcsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSwwQkFBMEIsRUFBRTtZQUMzRSxPQUFPLEVBQUUsZ0NBQW9CO1lBQzdCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFBLFdBQUksRUFBQyxTQUFTLEVBQUUseUNBQXlDLENBQUMsRUFBRTtnQkFDdEYsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQzthQUM1QixDQUFDO1lBQ0YsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUU7Z0JBQ1gsa0JBQWtCLEVBQUUsYUFBYSxDQUFDLFNBQVM7YUFDNUM7WUFDRCxZQUFZLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRO1NBQzFDLENBQUMsQ0FBQztRQUNILGFBQWEsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFeEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxlQUFlLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSwyQkFBMkIsRUFBRTtZQUMvRSxjQUFjLEVBQUUsY0FBYztTQUMvQixDQUFDLENBQUM7UUFFSCxNQUFNLFlBQVksR0FBRyxHQUFHLFFBQVEsSUFBSSxLQUFLLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakYsTUFBTSxZQUFZLEdBQUc7WUFDbkIsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxFQUFFO1lBQzlCLGNBQWMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFO1lBQzFDLGdCQUFnQixXQUFXLEVBQUU7WUFDN0IsV0FBVyxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQzlCLFFBQVEsUUFBUSxFQUFFO1lBQ2xCLG1CQUFtQixjQUFjLEVBQUU7U0FDcEMsQ0FBQztRQUNGLE1BQU0sa0JBQWtCLEdBQW1CO1lBQ3pDLEdBQUcsS0FBSyxDQUFDLFVBQVU7WUFDbkIsSUFBSSxFQUFFLFlBQVk7WUFDbEIsSUFBSSxFQUFFLFlBQVk7U0FDbkIsQ0FBQztRQUVGLElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsK0JBQStCLEVBQUU7WUFDNUQsWUFBWSxFQUFFLFFBQVEsQ0FBQyxZQUFZO1lBQ25DLFVBQVUsRUFBRTtnQkFDVixVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQzthQUMvQztTQUNGLENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkUsSUFBSSw2QkFBVyxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUU7WUFDbkMsT0FBTyxFQUFFLG9DQUFrQixDQUFDLGdCQUFnQjtZQUM1QyxXQUFXO1lBQ1gsT0FBTztZQUNQLE9BQU8sRUFBRSxPQUFPO1NBQ2pCLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBeERILHNEQXlEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpvaW4gfSBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgdHlwZSB7IFN5bnRoZXRpY3NBUElUZXN0LCBTeW50aGV0aWNzQnJvd3NlclRlc3QsIFN5bnRoZXRpY3NNb2JpbGVUZXN0IH0gZnJvbSAnQGRhdGFkb2cvZGF0YWRvZy1hcGktY2xpZW50L2Rpc3QvcGFja2FnZXMvZGF0YWRvZy1hcGktY2xpZW50LXYxJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgKiBhcyBsb2dzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCAqIGFzIGN1c3RvbVJlc291cmNlcyBmcm9tICdhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgREVGQVVMVF9OT0RFX1JVTlRJTUUgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRGF0YWRvZ1NoYXJlZFNlY3JldCB9IGZyb20gJy4uLy4uLy4uL2RhdGFkb2d2Mic7XG5pbXBvcnQgeyBDbGFpZG9tZXRlciwgQ2xhaWRvbWV0ZXJQcm9kdWN0IH0gZnJvbSAnLi4vLi4vLi4vcmlvLWNsYWlkb21ldGVyJztcbmltcG9ydCB7IFJpb0xhbmRpbmdab25lIH0gZnJvbSAnLi4vLi4vLi4vcmlvLWxhbmRpbmctem9uZSc7XG5cbnR5cGUgU3ludGhldGljc1Rlc3QgPSBTeW50aGV0aWNzQVBJVGVzdCB8IFN5bnRoZXRpY3NCcm93c2VyVGVzdCB8IFN5bnRoZXRpY3NNb2JpbGVUZXN0O1xuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFkb2dTeW50aGV0aWNzVGVzdFByb3BzIHtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHNlcnZpY2UgdG8gd2hpY2ggdGhlIHRlc3QgYmVsb25ncy5cbiAgICpcbiAgICogVXNlZCB0byBlbmhhbmNlIHRoZSB0ZXN0IG5hbWUgYW5kIGFwcGx5IHRoZSBgc2VydmljZWAgdGFnLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VydmljZU5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIEBqc2lpIGlnbm9yZVxuICAgKi9cbiAgcmVhZG9ubHkgdGVzdENvbmZpZzogU3ludGhldGljc1Rlc3Q7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIERhdGFkb2cgU3ludGhldGljcyB0ZXN0IHZpYSBEYXRhZG9nIEFQSSB0aHJvdWdoIGEgY3VzdG9tIHJlc291cmNlLlxuICpcbiAqIFNlZSBodHRwczovL2RvY3MuZGF0YWRvZ2hxLmNvbS9hcGkvbGF0ZXN0L3N5bnRoZXRpY3MvIGZvciBtb3JlIGluZm9ybWF0aW9uIChlc3BlY2lhbGx5IHRoZSB0eXBlc2NyaXB0IGV4YW1wbGVzKS5cbiAqIEN1cnJlbnRseSwgdGVzdHMgb2YgdHlwZSBgYXBpYCwgYGJyb3dzZXJgIGFuZCBgbW9iaWxlYCBhcmUgc3VwcG9ydGVkLlxuICpcbiAqIFRoZSByZXNvdXJjZSBkb2VzIHRoZSBmb2xsb3dpbmcgbW9kaWZpY2F0aW9uIHRvIHRoZSBwYXNzZWQgYHRlc3RDb25maWdgOlxuICogLSBBZGRzIHRlYW0gbmFtZSBhbmQgc2VydmljZSBuYW1lIHRvIHRoZSB0ZXN0IG5hbWUuXG4gKiAtIEFkZHMgdGhlIHVzdWFsIHRhZ3MgKGFjY291bnRfaWQsIGFjY291bnRfbmFtZSwgc2VydmljZSwgdGVhbSwgdGVhbV9pZGVudGlmaWVyKSB0byB0aGUgdGVzdCB0YWdzLlxuICovXG5leHBvcnQgY2xhc3MgRGF0YWRvZ1N5bnRoZXRpY3NUZXN0IGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERhdGFkb2dTeW50aGV0aWNzVGVzdFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGRhdGFkb2dTZWNyZXQgPSBEYXRhZG9nU2hhcmVkU2VjcmV0LmNyZWRlbnRpYWxzU2VjcmV0KHRoaXMpO1xuXG4gICAgY29uc3QgdGVhbU5hbWUgPSBSaW9MYW5kaW5nWm9uZS5nZXRUZWFtTmFtZVBhcmFtZXRlcih0aGlzKS5zdHJpbmdWYWx1ZTtcbiAgICBjb25zdCB0ZWFtSWRlbnRpZmllciA9IFJpb0xhbmRpbmdab25lLmdldFRlYW1JZGVudGlmaWVyUGFyYW1ldGVyKHRoaXMpLnN0cmluZ1ZhbHVlO1xuICAgIGNvbnN0IGFjY291bnROYW1lID0gUmlvTGFuZGluZ1pvbmUuZ2V0QWNjb3VudE5hbWVQYXJhbWV0ZXIodGhpcykuc3RyaW5nVmFsdWU7XG5cbiAgICBjb25zdCBkYXRhZG9nSGFuZGxlciA9IG5ldyBsYW1iZGEuRnVuY3Rpb24odGhpcywgJ0RhdGFkb2dTeW50aGV0aWNzSGFuZGxlcicsIHtcbiAgICAgIHJ1bnRpbWU6IERFRkFVTFRfTk9ERV9SVU5USU1FLFxuICAgICAgY29kZTogbGFtYmRhLkNvZGUuZnJvbUFzc2V0KGpvaW4oX19kaXJuYW1lLCAnZGF0YWRvZy1zeW50aGV0aWNzLXRlc3QtY3VzdG9tLXJlc291cmNlJyksIHtcbiAgICAgICAgZXhjbHVkZTogWycqLmpzJywgJyouZC50cyddLFxuICAgICAgfSksXG4gICAgICBoYW5kbGVyOiAnaGFuZGxlci5oYW5kbGVyJyxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIERBVEFET0dfU0VDUkVUX0FSTjogZGF0YWRvZ1NlY3JldC5zZWNyZXRBcm4sXG4gICAgICB9LFxuICAgICAgbG9nUmV0ZW50aW9uOiBsb2dzLlJldGVudGlvbkRheXMuT05FX1dFRUssXG4gICAgfSk7XG4gICAgZGF0YWRvZ1NlY3JldC5ncmFudFJlYWQoZGF0YWRvZ0hhbmRsZXIpO1xuXG4gICAgY29uc3QgcHJvdmlkZXIgPSBuZXcgY3VzdG9tUmVzb3VyY2VzLlByb3ZpZGVyKHRoaXMsICdEYXRhZG9nU3ludGhldGljc1Byb3ZpZGVyJywge1xuICAgICAgb25FdmVudEhhbmRsZXI6IGRhdGFkb2dIYW5kbGVyLFxuICAgIH0pO1xuXG4gICAgY29uc3QgZW5oYW5jZWROYW1lID0gYCR7dGVhbU5hbWV9ICR7cHJvcHMuc2VydmljZU5hbWV9ICR7cHJvcHMudGVzdENvbmZpZy5uYW1lfWA7XG4gICAgY29uc3QgZW5oYW5jZWRUYWdzID0gW1xuICAgICAgLi4ucHJvcHMudGVzdENvbmZpZy50YWdzID8/IFtdLFxuICAgICAgYGFjY291bnRfaWQ6JHtjZGsuU3RhY2sub2YodGhpcykuYWNjb3VudH1gLFxuICAgICAgYGFjY291bnRfbmFtZToke2FjY291bnROYW1lfWAsXG4gICAgICBgc2VydmljZToke3Byb3BzLnNlcnZpY2VOYW1lfWAsXG4gICAgICBgdGVhbToke3RlYW1OYW1lfWAsXG4gICAgICBgdGVhbV9pZGVudGlmaWVyOiR7dGVhbUlkZW50aWZpZXJ9YCxcbiAgICBdO1xuICAgIGNvbnN0IGVuaGFuY2VkVGVzdENvbmZpZzogU3ludGhldGljc1Rlc3QgPSB7XG4gICAgICAuLi5wcm9wcy50ZXN0Q29uZmlnLFxuICAgICAgbmFtZTogZW5oYW5jZWROYW1lLFxuICAgICAgdGFnczogZW5oYW5jZWRUYWdzLFxuICAgIH07XG5cbiAgICBuZXcgY2RrLkN1c3RvbVJlc291cmNlKHRoaXMsICdEYXRhZG9nU3ludGhldGljc1Rlc3RSZXNvdXJjZScsIHtcbiAgICAgIHNlcnZpY2VUb2tlbjogcHJvdmlkZXIuc2VydmljZVRva2VuLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBUZXN0Q29uZmlnOiBKU09OLnN0cmluZ2lmeShlbmhhbmNlZFRlc3RDb25maWcpLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IFtmZWF0dXJlLCBwYWNrYWdlTmFtZV0gPSBfX2Rpcm5hbWUuc3BsaXQocGF0aC5zZXApLnJldmVyc2UoKTtcbiAgICBuZXcgQ2xhaWRvbWV0ZXIodGhpcywgJ0NsYWlkb21ldGVyJywge1xuICAgICAgcHJvZHVjdDogQ2xhaWRvbWV0ZXJQcm9kdWN0LkNES19DT05UUklCVVRJT04sXG4gICAgICBwYWNrYWdlTmFtZSxcbiAgICAgIGZlYXR1cmUsXG4gICAgICB2ZXJzaW9uOiAnMC4wLjEnLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
package/lib/index.d.ts
CHANGED
|
@@ -20,8 +20,7 @@ export * from './contributions/cop-frontend/cloudfront';
|
|
|
20
20
|
export * from './contributions/team-transport-two/datadog';
|
|
21
21
|
export * from './contributions/team-transport-two/datadog-synthetics';
|
|
22
22
|
export * from './contributions/team-transport-two/pipeline';
|
|
23
|
-
export * from './contributions/team-claid
|
|
24
|
-
export * from './contributions/team-claid/datadog-usage-monitoring';
|
|
23
|
+
export * from './contributions/team-claid';
|
|
25
24
|
export * from './contributions/team-outbound-order-book/aws-ecs-abruptly-stopped-monitor';
|
|
26
25
|
export * from './backup';
|
|
27
26
|
export * as backup from './backup';
|
package/lib/index.js
CHANGED
|
@@ -37,12 +37,11 @@ __exportStar(require("./contributions/cop-frontend/cloudfront"), exports);
|
|
|
37
37
|
__exportStar(require("./contributions/team-transport-two/datadog"), exports);
|
|
38
38
|
__exportStar(require("./contributions/team-transport-two/datadog-synthetics"), exports);
|
|
39
39
|
__exportStar(require("./contributions/team-transport-two/pipeline"), exports);
|
|
40
|
-
__exportStar(require("./contributions/team-claid
|
|
41
|
-
__exportStar(require("./contributions/team-claid/datadog-usage-monitoring"), exports);
|
|
40
|
+
__exportStar(require("./contributions/team-claid"), exports);
|
|
42
41
|
__exportStar(require("./contributions/team-outbound-order-book/aws-ecs-abruptly-stopped-monitor"), exports);
|
|
43
42
|
__exportStar(require("./backup"), exports);
|
|
44
43
|
exports.backup = require("./backup");
|
|
45
44
|
exports.ecr = require("./ecr");
|
|
46
45
|
__exportStar(require("./test"), exports);
|
|
47
46
|
__exportStar(require("./contributions/smart-route/gitlab-runner"), exports);
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2Q0FBMkI7QUFFM0IsNkNBQTJDO0FBRTNDLHFEQUFtQztBQUNuQyxzREFBb0M7QUFDcEMsb0RBQWtDO0FBRWxDLGdFQUE4QztBQUM5QyxpRkFBK0Q7QUFDL0QsdUNBQXFDO0FBRXJDLHlFQUF1RDtBQUN2RCw4RUFBNEQ7QUFDNUQsK0RBQTZDO0FBRTdDLDBDQUF3QjtBQUN4QixtQ0FBaUM7QUFFakMsd0NBQXNCO0FBQ3RCLCtCQUE2QjtBQUU3Qiw0Q0FBMEI7QUFDMUIsdUNBQXFDO0FBQ3JDLDJDQUF5QztBQUV6QywwRUFBd0Q7QUFFeEQsNkVBQTJEO0FBQzNELHdGQUFzRTtBQUN0RSw4RUFBNEQ7QUFFNUQsNkRBQTJDO0FBRTNDLDRHQUEwRjtBQUUxRiwyQ0FBeUI7QUFDekIscUNBQW1DO0FBRW5DLCtCQUE2QjtBQUM3Qix5Q0FBdUI7QUFFdkIsNEVBQTBEIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi93YXRjaGZ1bCc7XG5cbmV4cG9ydCAqIGFzIHdhdGNoZnVsdjIgZnJvbSAnLi93YXRjaGZ1bHYyJztcblxuZXhwb3J0ICogZnJvbSAnLi9yaW8tbGFuZGluZy16b25lJztcbmV4cG9ydCAqIGZyb20gJy4vcmlvLWxvYWQtYmFsYW5jZXInO1xuZXhwb3J0ICogZnJvbSAnLi9yaW8tY2xhaWRvbWV0ZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2ZhcmdhdGUvcmlvLWZhcmdhdGUtc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZhcmdhdGUvcmlvLWZhcmdhdGUtc2VydmljZS1ibHVlLWdyZWVuLWFscGhhJztcbmV4cG9ydCAqIGFzIGZhcmdhdGUgZnJvbSAnLi9mYXJnYXRlJztcblxuZXhwb3J0ICogZnJvbSAnLi9waXBlbGluZS9yaW8tYml0YnVja2V0LXNvdXJjZS1hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlbGluZS9yaW8tYmFja3VwLXNlY3JldHMtcmVzdG9yZS1zdGFnZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVsaW5lL3Jpby1waXBlbGluZS10eXBlJztcblxuZXhwb3J0ICogZnJvbSAnLi9rYWZrYSc7XG5leHBvcnQgKiBhcyBrYWZrYSBmcm9tICcuL2thZmthJztcblxuZXhwb3J0ICogZnJvbSAnLi9zZXMnO1xuZXhwb3J0ICogYXMgc2VzIGZyb20gJy4vc2VzJztcblxuZXhwb3J0ICogZnJvbSAnLi9kYXRhZG9nJztcbmV4cG9ydCAqIGFzIGRhdGFkb2cgZnJvbSAnLi9kYXRhZG9nJztcbmV4cG9ydCAqIGFzIGRhdGFkb2d2MiBmcm9tICcuL2RhdGFkb2d2Mic7XG5cbmV4cG9ydCAqIGZyb20gJy4vY29udHJpYnV0aW9ucy9jb3AtZnJvbnRlbmQvY2xvdWRmcm9udCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY29udHJpYnV0aW9ucy90ZWFtLXRyYW5zcG9ydC10d28vZGF0YWRvZyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRyaWJ1dGlvbnMvdGVhbS10cmFuc3BvcnQtdHdvL2RhdGFkb2ctc3ludGhldGljcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRyaWJ1dGlvbnMvdGVhbS10cmFuc3BvcnQtdHdvL3BpcGVsaW5lJztcblxuZXhwb3J0ICogZnJvbSAnLi9jb250cmlidXRpb25zL3RlYW0tY2xhaWQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NvbnRyaWJ1dGlvbnMvdGVhbS1vdXRib3VuZC1vcmRlci1ib29rL2F3cy1lY3MtYWJydXB0bHktc3RvcHBlZC1tb25pdG9yJztcblxuZXhwb3J0ICogZnJvbSAnLi9iYWNrdXAnO1xuZXhwb3J0ICogYXMgYmFja3VwIGZyb20gJy4vYmFja3VwJztcblxuZXhwb3J0ICogYXMgZWNyIGZyb20gJy4vZWNyJztcbmV4cG9ydCAqIGZyb20gJy4vdGVzdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY29udHJpYnV0aW9ucy9zbWFydC1yb3V0ZS9naXRsYWItcnVubmVyJztcbiJdfQ==
|
package/package.json
CHANGED
|
@@ -15,18 +15,26 @@
|
|
|
15
15
|
],
|
|
16
16
|
"main": "lib/index.js",
|
|
17
17
|
"license": "Apache-2.0",
|
|
18
|
-
"version": "6.
|
|
18
|
+
"version": "6.22.0-alpha.0",
|
|
19
19
|
"types": "lib/index.d.ts",
|
|
20
20
|
"stability": "stable",
|
|
21
21
|
"exports": {
|
|
22
22
|
".": "./lib/index.js",
|
|
23
23
|
"./datadog": "./lib/datadog/index.js",
|
|
24
24
|
"./datadogv2": "./lib/datadogv2/index.js",
|
|
25
|
-
"./watchfulv2": "./lib/watchfulv2/index.js"
|
|
25
|
+
"./watchfulv2": "./lib/watchfulv2/index.js",
|
|
26
|
+
"./contributions/team-claid": "./lib/contributions/team-claid/index.js"
|
|
26
27
|
},
|
|
27
28
|
"jsii": {
|
|
28
29
|
"outdir": "dist",
|
|
29
30
|
"targets": {},
|
|
31
|
+
"excludeTypescript": [
|
|
32
|
+
"src/contributions/team-transport-two/datadog-synthetics/datadog-synthetics-test-custom-resource/*.ts",
|
|
33
|
+
"src/fargate/codedeploy-custom-resources/*.ts",
|
|
34
|
+
"src/datadogv2/secret-locator-custom-resource/*.ts",
|
|
35
|
+
"src/datadogv2/service-catalog-custom-resource/*.ts",
|
|
36
|
+
"src/ses/lambda/*.ts"
|
|
37
|
+
],
|
|
30
38
|
"tsc": {
|
|
31
39
|
"outDir": "lib",
|
|
32
40
|
"rootDir": "src"
|
package/version.json
CHANGED
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.handler = handler;
|
|
4
|
-
const secrets_1 = require("@aws-lambda-powertools/parameters/secrets");
|
|
5
|
-
const datadog_api_client_1 = require("@datadog/datadog-api-client");
|
|
6
|
-
async function handler(event, _context) {
|
|
7
|
-
const { apiKey, appKey, site: datadogSite } = await getDatadogSecret();
|
|
8
|
-
const configuration = datadog_api_client_1.client.createConfiguration({
|
|
9
|
-
authMethods: {
|
|
10
|
-
apiKeyAuth: apiKey,
|
|
11
|
-
appKeyAuth: appKey,
|
|
12
|
-
},
|
|
13
|
-
});
|
|
14
|
-
configuration.setServerVariables({ site: datadogSite });
|
|
15
|
-
const apiInstance = new datadog_api_client_1.v1.SyntheticsApi(configuration);
|
|
16
|
-
try {
|
|
17
|
-
switch (event.RequestType) {
|
|
18
|
-
case 'Create':
|
|
19
|
-
return await createSyntheticsTest(apiInstance, event);
|
|
20
|
-
case 'Update':
|
|
21
|
-
return await updateSyntheticsTest(apiInstance, event);
|
|
22
|
-
case 'Delete':
|
|
23
|
-
return await deleteSyntheticsTest(apiInstance, event);
|
|
24
|
-
default:
|
|
25
|
-
// noinspection ExceptionCaughtLocallyJS
|
|
26
|
-
throw new Error(`Unsupported request type ${event}`);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
catch (error) {
|
|
30
|
-
console.error(error);
|
|
31
|
-
throw new Error(`Failed to process request: ${error}`);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
const getDatadogSecret = async () => {
|
|
35
|
-
const datadogSecretArn = process.env.DATADOG_SECRET_ARN;
|
|
36
|
-
if (!datadogSecretArn) {
|
|
37
|
-
throw new Error('Datadog secret ARN must be set in the DATADOG_SECRET_ARN environment');
|
|
38
|
-
}
|
|
39
|
-
const secretString = await (0, secrets_1.getSecret)(datadogSecretArn);
|
|
40
|
-
const secret = JSON.parse(secretString);
|
|
41
|
-
return {
|
|
42
|
-
apiKey: secret.ApiKey,
|
|
43
|
-
appKey: secret.ApplicationKey,
|
|
44
|
-
site: secret.Site,
|
|
45
|
-
};
|
|
46
|
-
};
|
|
47
|
-
async function createSyntheticsTest(apiInstance, event) {
|
|
48
|
-
const testConfig = JSON.parse(event.ResourceProperties.TestConfig);
|
|
49
|
-
let response;
|
|
50
|
-
switch (testConfig.type) {
|
|
51
|
-
case 'api':
|
|
52
|
-
response = await apiInstance.createSyntheticsAPITest({ body: testConfig });
|
|
53
|
-
break;
|
|
54
|
-
case 'browser':
|
|
55
|
-
response = await apiInstance.createSyntheticsBrowserTest({ body: testConfig });
|
|
56
|
-
break;
|
|
57
|
-
case 'mobile':
|
|
58
|
-
response = await apiInstance.createSyntheticsMobileTest({ body: testConfig });
|
|
59
|
-
break;
|
|
60
|
-
default:
|
|
61
|
-
throw new Error(`Unsupported test type ${testConfig.type}`);
|
|
62
|
-
}
|
|
63
|
-
return { PhysicalResourceId: response.publicId };
|
|
64
|
-
}
|
|
65
|
-
async function updateSyntheticsTest(apiInstance, event) {
|
|
66
|
-
const testId = event.PhysicalResourceId;
|
|
67
|
-
const testConfig = JSON.parse(event.ResourceProperties.TestConfig);
|
|
68
|
-
switch (testConfig.type) {
|
|
69
|
-
case 'api':
|
|
70
|
-
await apiInstance.updateAPITest({
|
|
71
|
-
publicId: testId,
|
|
72
|
-
body: testConfig,
|
|
73
|
-
});
|
|
74
|
-
break;
|
|
75
|
-
case 'browser':
|
|
76
|
-
await apiInstance.updateBrowserTest({
|
|
77
|
-
publicId: testId,
|
|
78
|
-
body: testConfig,
|
|
79
|
-
});
|
|
80
|
-
break;
|
|
81
|
-
case 'mobile':
|
|
82
|
-
await apiInstance.updateMobileTest({
|
|
83
|
-
publicId: testId,
|
|
84
|
-
body: testConfig,
|
|
85
|
-
});
|
|
86
|
-
break;
|
|
87
|
-
default:
|
|
88
|
-
throw new Error(`Unsupported test type ${testConfig.type}`);
|
|
89
|
-
}
|
|
90
|
-
return { PhysicalResourceId: testId };
|
|
91
|
-
}
|
|
92
|
-
async function deleteSyntheticsTest(apiInstance, event) {
|
|
93
|
-
const testId = event.PhysicalResourceId;
|
|
94
|
-
await apiInstance.deleteTests({
|
|
95
|
-
body: {
|
|
96
|
-
publicIds: [testId],
|
|
97
|
-
},
|
|
98
|
-
});
|
|
99
|
-
return { PhysicalResourceId: testId };
|
|
100
|
-
}
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb250cmlidXRpb25zL3RlYW0tdHJhbnNwb3J0LXR3by9kYXRhZG9nLXN5bnRoZXRpY3MvZGF0YWRvZy1zeW50aGV0aWNzLXRlc3QtY3VzdG9tLXJlc291cmNlL2hhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFZQSwwQkE4QkM7QUExQ0QsdUVBQXNFO0FBQ3RFLG9FQUF3RTtBQVdqRSxLQUFLLFVBQVUsT0FBTyxDQUFDLEtBQXdDLEVBQUUsUUFBaUI7SUFFdkYsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxHQUFHLE1BQU0sZ0JBQWdCLEVBQUUsQ0FBQztJQUV2RSxNQUFNLGFBQWEsR0FBRywyQkFBTSxDQUFDLG1CQUFtQixDQUFDO1FBQy9DLFdBQVcsRUFBRTtZQUNYLFVBQVUsRUFBRSxNQUFNO1lBQ2xCLFVBQVUsRUFBRSxNQUFNO1NBQ25CO0tBQ0YsQ0FBQyxDQUFDO0lBQ0gsYUFBYSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFFeEQsTUFBTSxXQUFXLEdBQUcsSUFBSSx1QkFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUV4RCxJQUFJLENBQUM7UUFDSCxRQUFRLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMxQixLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxNQUFNLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN4RCxLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxNQUFNLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN4RCxLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxNQUFNLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN4RDtnQkFDRSx3Q0FBd0M7Z0JB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QyxDQUFDLENBQUM7WUFDSCxNQUFNO1FBQ1I7WUFDRSxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxDQUFDO0FBQ3hDLENBQUM7QUFFRCxLQUFLLFVBQVUsb0JBQW9CLENBQUMsV0FBNkIsRUFBRSxLQUE4QztJQUMvRyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUM7SUFDeEMsTUFBTSxXQUFXLENBQUMsV0FBVyxDQUFDO1FBQzVCLElBQUksRUFBRTtZQUNKLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQztTQUNwQjtLQUNGLENBQUMsQ0FBQztJQUNILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsQ0FBQztBQUN4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0U2VjcmV0IH0gZnJvbSAnQGF3cy1sYW1iZGEtcG93ZXJ0b29scy9wYXJhbWV0ZXJzL3NlY3JldHMnO1xuaW1wb3J0IHsgY2xpZW50LCB2MSBhcyBkYXRhZG9nLCB2MSB9IGZyb20gJ0BkYXRhZG9nL2RhdGFkb2ctYXBpLWNsaWVudCc7XG5pbXBvcnQge1xuICBDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlQ3JlYXRlRXZlbnQsXG4gIENsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VEZWxldGVFdmVudCxcbiAgQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZUV2ZW50LFxuICBDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlVXBkYXRlRXZlbnQsXG4gIENvbnRleHQsXG59IGZyb20gJ2F3cy1sYW1iZGEnO1xuXG50eXBlIFN5bnRoZXRpY3NUZXN0ID0gZGF0YWRvZy5TeW50aGV0aWNzQVBJVGVzdCB8IGRhdGFkb2cuU3ludGhldGljc0Jyb3dzZXJUZXN0IHwgZGF0YWRvZy5TeW50aGV0aWNzTW9iaWxlVGVzdDtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGhhbmRsZXIoZXZlbnQ6IENsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VFdmVudCwgX2NvbnRleHQ6IENvbnRleHQpIHtcblxuICBjb25zdCB7IGFwaUtleSwgYXBwS2V5LCBzaXRlOiBkYXRhZG9nU2l0ZSB9ID0gYXdhaXQgZ2V0RGF0YWRvZ1NlY3JldCgpO1xuXG4gIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSBjbGllbnQuY3JlYXRlQ29uZmlndXJhdGlvbih7XG4gICAgYXV0aE1ldGhvZHM6IHtcbiAgICAgIGFwaUtleUF1dGg6IGFwaUtleSxcbiAgICAgIGFwcEtleUF1dGg6IGFwcEtleSxcbiAgICB9LFxuICB9KTtcbiAgY29uZmlndXJhdGlvbi5zZXRTZXJ2ZXJWYXJpYWJsZXMoeyBzaXRlOiBkYXRhZG9nU2l0ZSB9KTtcblxuICBjb25zdCBhcGlJbnN0YW5jZSA9IG5ldyB2MS5TeW50aGV0aWNzQXBpKGNvbmZpZ3VyYXRpb24pO1xuXG4gIHRyeSB7XG4gICAgc3dpdGNoIChldmVudC5SZXF1ZXN0VHlwZSkge1xuICAgICAgY2FzZSAnQ3JlYXRlJzpcbiAgICAgICAgcmV0dXJuIGF3YWl0IGNyZWF0ZVN5bnRoZXRpY3NUZXN0KGFwaUluc3RhbmNlLCBldmVudCk7XG4gICAgICBjYXNlICdVcGRhdGUnOlxuICAgICAgICByZXR1cm4gYXdhaXQgdXBkYXRlU3ludGhldGljc1Rlc3QoYXBpSW5zdGFuY2UsIGV2ZW50KTtcbiAgICAgIGNhc2UgJ0RlbGV0ZSc6XG4gICAgICAgIHJldHVybiBhd2FpdCBkZWxldGVTeW50aGV0aWNzVGVzdChhcGlJbnN0YW5jZSwgZXZlbnQpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgLy8gbm9pbnNwZWN0aW9uIEV4Y2VwdGlvbkNhdWdodExvY2FsbHlKU1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIHJlcXVlc3QgdHlwZSAke2V2ZW50fWApO1xuICAgIH1cbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBwcm9jZXNzIHJlcXVlc3Q6ICR7ZXJyb3J9YCk7XG4gIH1cbn1cblxuY29uc3QgZ2V0RGF0YWRvZ1NlY3JldCA9IGFzeW5jICgpID0+IHtcbiAgY29uc3QgZGF0YWRvZ1NlY3JldEFybiA9IHByb2Nlc3MuZW52LkRBVEFET0dfU0VDUkVUX0FSTjtcblxuICBpZiAoIWRhdGFkb2dTZWNyZXRBcm4pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0RhdGFkb2cgc2VjcmV0IEFSTiBtdXN0IGJlIHNldCBpbiB0aGUgREFUQURPR19TRUNSRVRfQVJOIGVudmlyb25tZW50Jyk7XG4gIH1cbiAgY29uc3Qgc2VjcmV0U3RyaW5nID0gYXdhaXQgZ2V0U2VjcmV0KGRhdGFkb2dTZWNyZXRBcm4pO1xuICBjb25zdCBzZWNyZXQgPSBKU09OLnBhcnNlKHNlY3JldFN0cmluZyEgYXMgc3RyaW5nKTtcbiAgcmV0dXJuIHtcbiAgICBhcGlLZXk6IHNlY3JldC5BcGlLZXksXG4gICAgYXBwS2V5OiBzZWNyZXQuQXBwbGljYXRpb25LZXksXG4gICAgc2l0ZTogc2VjcmV0LlNpdGUsXG4gIH07XG59O1xuXG5hc3luYyBmdW5jdGlvbiBjcmVhdGVTeW50aGV0aWNzVGVzdChhcGlJbnN0YW5jZTogdjEuU3ludGhldGljc0FwaSwgZXZlbnQ6IENsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VDcmVhdGVFdmVudCkge1xuICBjb25zdCB0ZXN0Q29uZmlnID0gSlNPTi5wYXJzZShldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuVGVzdENvbmZpZykgYXMgU3ludGhldGljc1Rlc3Q7XG5cbiAgbGV0IHJlc3BvbnNlO1xuICBzd2l0Y2ggKHRlc3RDb25maWcudHlwZSkge1xuICAgIGNhc2UgJ2FwaSc6XG4gICAgICByZXNwb25zZSA9IGF3YWl0IGFwaUluc3RhbmNlLmNyZWF0ZVN5bnRoZXRpY3NBUElUZXN0KHsgYm9keTogdGVzdENvbmZpZyBhcyB2MS5TeW50aGV0aWNzQVBJVGVzdCB9KTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2Jyb3dzZXInOlxuICAgICAgcmVzcG9uc2UgPSBhd2FpdCBhcGlJbnN0YW5jZS5jcmVhdGVTeW50aGV0aWNzQnJvd3NlclRlc3QoeyBib2R5OiB0ZXN0Q29uZmlnIGFzIHYxLlN5bnRoZXRpY3NCcm93c2VyVGVzdCB9KTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ21vYmlsZSc6XG4gICAgICByZXNwb25zZSA9IGF3YWl0IGFwaUluc3RhbmNlLmNyZWF0ZVN5bnRoZXRpY3NNb2JpbGVUZXN0KHsgYm9keTogdGVzdENvbmZpZyBhcyB2MS5TeW50aGV0aWNzTW9iaWxlVGVzdCB9KTtcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIHRlc3QgdHlwZSAke3Rlc3RDb25maWcudHlwZX1gKTtcbiAgfVxuICByZXR1cm4geyBQaHlzaWNhbFJlc291cmNlSWQ6IHJlc3BvbnNlLnB1YmxpY0lkIH07XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHVwZGF0ZVN5bnRoZXRpY3NUZXN0KGFwaUluc3RhbmNlOiB2MS5TeW50aGV0aWNzQXBpLCBldmVudDogQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZVVwZGF0ZUV2ZW50KSB7XG4gIGNvbnN0IHRlc3RJZCA9IGV2ZW50LlBoeXNpY2FsUmVzb3VyY2VJZDtcbiAgY29uc3QgdGVzdENvbmZpZyA9IEpTT04ucGFyc2UoZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLlRlc3RDb25maWcpIGFzIFN5bnRoZXRpY3NUZXN0O1xuXG4gIHN3aXRjaCAodGVzdENvbmZpZy50eXBlKSB7XG4gICAgY2FzZSAnYXBpJzpcbiAgICAgIGF3YWl0IGFwaUluc3RhbmNlLnVwZGF0ZUFQSVRlc3Qoe1xuICAgICAgICBwdWJsaWNJZDogdGVzdElkLFxuICAgICAgICBib2R5OiB0ZXN0Q29uZmlnIGFzIHYxLlN5bnRoZXRpY3NBUElUZXN0LFxuICAgICAgfSk7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdicm93c2VyJzpcbiAgICAgIGF3YWl0IGFwaUluc3RhbmNlLnVwZGF0ZUJyb3dzZXJUZXN0KHtcbiAgICAgICAgcHVibGljSWQ6IHRlc3RJZCxcbiAgICAgICAgYm9keTogdGVzdENvbmZpZyBhcyB2MS5TeW50aGV0aWNzQnJvd3NlclRlc3QsXG4gICAgICB9KTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ21vYmlsZSc6XG4gICAgICBhd2FpdCBhcGlJbnN0YW5jZS51cGRhdGVNb2JpbGVUZXN0KHtcbiAgICAgICAgcHVibGljSWQ6IHRlc3RJZCxcbiAgICAgICAgYm9keTogdGVzdENvbmZpZyBhcyB2MS5TeW50aGV0aWNzTW9iaWxlVGVzdCxcbiAgICAgIH0pO1xuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgdGVzdCB0eXBlICR7dGVzdENvbmZpZy50eXBlfWApO1xuICB9XG5cbiAgcmV0dXJuIHsgUGh5c2ljYWxSZXNvdXJjZUlkOiB0ZXN0SWQgfTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZGVsZXRlU3ludGhldGljc1Rlc3QoYXBpSW5zdGFuY2U6IHYxLlN5bnRoZXRpY3NBcGksIGV2ZW50OiBDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlRGVsZXRlRXZlbnQpIHtcbiAgY29uc3QgdGVzdElkID0gZXZlbnQuUGh5c2ljYWxSZXNvdXJjZUlkO1xuICBhd2FpdCBhcGlJbnN0YW5jZS5kZWxldGVUZXN0cyh7XG4gICAgYm9keToge1xuICAgICAgcHVibGljSWRzOiBbdGVzdElkXSxcbiAgICB9LFxuICB9KTtcbiAgcmV0dXJuIHsgUGh5c2ljYWxSZXNvdXJjZUlkOiB0ZXN0SWQgfTtcbn1cbiJdfQ==
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.handler = void 0;
|
|
4
|
-
const org = require("@aws-sdk/client-organizations");
|
|
5
|
-
const sec = require("@aws-sdk/client-secrets-manager");
|
|
6
|
-
const util_retry_1 = require("@smithy/util-retry");
|
|
7
|
-
const organizations = new org.Organizations({
|
|
8
|
-
// Organizations allows at max 5 requests in parallel. So we allow 5 retries with a maximum delay of 2 minutes.
|
|
9
|
-
retryStrategy: new util_retry_1.ConfiguredRetryStrategy(5, (attempt) => attempt * 24 * 1000),
|
|
10
|
-
});
|
|
11
|
-
const secretsManager = new sec.SecretsManager({});
|
|
12
|
-
const handler = async (event) => {
|
|
13
|
-
const sharedLatamSecretArnPrefix = requireProperty(process.env, 'SHARED_LATAM_SECRET_ARN_PREFIX');
|
|
14
|
-
const sharedEuSecretArnPrefix = requireProperty(process.env, 'SHARED_EU_SECRET_ARN_PREFIX');
|
|
15
|
-
const latamLandingZoneOrgId = requireProperty(process.env, 'LATAM_LANDING_ZONE_ORG_ID');
|
|
16
|
-
const euLandingZoneOrgId = requireProperty(process.env, 'EU_LANDING_ZONE_ORG_ID');
|
|
17
|
-
if (event.RequestType === 'Create' || event.RequestType === 'Update') {
|
|
18
|
-
const secretName = requireProperty(event.ResourceProperties, 'SecretName');
|
|
19
|
-
const response = await organizations.describeOrganization();
|
|
20
|
-
const currentOrg = response.Organization?.Id;
|
|
21
|
-
let sharedSecretArnPrefix;
|
|
22
|
-
if (currentOrg === euLandingZoneOrgId) {
|
|
23
|
-
sharedSecretArnPrefix = sharedEuSecretArnPrefix;
|
|
24
|
-
}
|
|
25
|
-
else if (currentOrg === latamLandingZoneOrgId) {
|
|
26
|
-
sharedSecretArnPrefix = sharedLatamSecretArnPrefix;
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
throw new Error(`Unknown Organization: ${currentOrg}`);
|
|
30
|
-
}
|
|
31
|
-
const secretArn = `${sharedSecretArnPrefix}/${secretName}`;
|
|
32
|
-
const fullArnLookup = await secretsManager.describeSecret({ SecretId: secretArn });
|
|
33
|
-
return { PhysicalResourceId: event.LogicalResourceId, Data: { SecretArn: fullArnLookup.ARN } };
|
|
34
|
-
}
|
|
35
|
-
return { PhysicalResourceId: event.LogicalResourceId };
|
|
36
|
-
};
|
|
37
|
-
exports.handler = handler;
|
|
38
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
39
|
-
const requireProperty = (resourceProperties, propertyName) => {
|
|
40
|
-
const value = resourceProperties[propertyName];
|
|
41
|
-
if (value === undefined)
|
|
42
|
-
throw `Missing the required property ${propertyName}`;
|
|
43
|
-
return value;
|
|
44
|
-
};
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib24tY3JlYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RhdGFkb2d2Mi9zZWNyZXQtbG9jYXRvci1jdXN0b20tcmVzb3VyY2Uvb24tY3JlYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUFxRDtBQUNyRCx1REFBdUQ7QUFDdkQsbURBQTZEO0FBRzdELE1BQU0sYUFBYSxHQUFHLElBQUksR0FBRyxDQUFDLGFBQWEsQ0FBQztJQUMxQywrR0FBK0c7SUFDL0csYUFBYSxFQUFFLElBQUksb0NBQXVCLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztDQUNoRixDQUFDLENBQUM7QUFDSCxNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRyxDQUFDLENBQUM7QUFFNUMsTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUFFLEtBQTZCLEVBQXNDLEVBQUU7SUFFakcsTUFBTSwwQkFBMEIsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxnQ0FBZ0MsQ0FBQyxDQUFDO0lBQ2xHLE1BQU0sdUJBQXVCLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsNkJBQTZCLENBQUMsQ0FBQztJQUM1RixNQUFNLHFCQUFxQixHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLDJCQUEyQixDQUFDLENBQUM7SUFDeEYsTUFBTSxrQkFBa0IsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO0lBRWxGLElBQUksS0FBSyxDQUFDLFdBQVcsS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLFdBQVcsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNyRSxNQUFNLFVBQVUsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLGtCQUFrQixFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRTNFLE1BQU0sUUFBUSxHQUFHLE1BQU0sYUFBYSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDNUQsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUM7UUFFN0MsSUFBSSxxQkFBNkIsQ0FBQztRQUNsQyxJQUFJLFVBQVUsS0FBSyxrQkFBa0IsRUFBRSxDQUFDO1lBQ3RDLHFCQUFxQixHQUFHLHVCQUF1QixDQUFDO1FBQ2xELENBQUM7YUFBTSxJQUFJLFVBQVUsS0FBSyxxQkFBcUIsRUFBRSxDQUFDO1lBQ2hELHFCQUFxQixHQUFHLDBCQUEwQixDQUFDO1FBQ3JELENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBRUQsTUFBTSxTQUFTLEdBQUcsR0FBRyxxQkFBcUIsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUMzRCxNQUFNLGFBQWEsR0FBRyxNQUFNLGNBQWMsQ0FBQyxjQUFjLENBQUMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUVuRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixFQUFFLElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxhQUFhLENBQUMsR0FBSSxFQUFFLEVBQUUsQ0FBQztJQUNsRyxDQUFDO0lBQ0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0FBQ3pELENBQUMsQ0FBQztBQTVCVyxRQUFBLE9BQU8sV0E0QmxCO0FBRUYsOERBQThEO0FBQzlELE1BQU0sZUFBZSxHQUFHLENBQUMsa0JBQXVDLEVBQUUsWUFBb0IsRUFBVSxFQUFFO0lBQ2hHLE1BQU0sS0FBSyxHQUFHLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQy9DLElBQUksS0FBSyxLQUFLLFNBQVM7UUFBRSxNQUFNLGlDQUFpQyxZQUFZLEVBQUUsQ0FBQztJQUMvRSxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG9yZyBmcm9tICdAYXdzLXNkay9jbGllbnQtb3JnYW5pemF0aW9ucyc7XG5pbXBvcnQgKiBhcyBzZWMgZnJvbSAnQGF3cy1zZGsvY2xpZW50LXNlY3JldHMtbWFuYWdlcic7XG5pbXBvcnQgeyBDb25maWd1cmVkUmV0cnlTdHJhdGVneSB9IGZyb20gJ0BzbWl0aHkvdXRpbC1yZXRyeSc7XG5pbXBvcnQgeyBDZGtDdXN0b21SZXNvdXJjZVJlc3BvbnNlLCBDZGtDdXN0b21SZXNvdXJjZUV2ZW50IH0gZnJvbSAnYXdzLWxhbWJkYSc7XG5cbmNvbnN0IG9yZ2FuaXphdGlvbnMgPSBuZXcgb3JnLk9yZ2FuaXphdGlvbnMoe1xuICAvLyBPcmdhbml6YXRpb25zIGFsbG93cyBhdCBtYXggNSByZXF1ZXN0cyBpbiBwYXJhbGxlbC4gU28gd2UgYWxsb3cgNSByZXRyaWVzIHdpdGggYSBtYXhpbXVtIGRlbGF5IG9mIDIgbWludXRlcy5cbiAgcmV0cnlTdHJhdGVneTogbmV3IENvbmZpZ3VyZWRSZXRyeVN0cmF0ZWd5KDUsIChhdHRlbXB0KSA9PiBhdHRlbXB0ICogMjQgKiAxMDAwKSxcbn0pO1xuY29uc3Qgc2VjcmV0c01hbmFnZXIgPSBuZXcgc2VjLlNlY3JldHNNYW5hZ2VyKHsgfSk7XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVyID0gYXN5bmMgKGV2ZW50OiBDZGtDdXN0b21SZXNvdXJjZUV2ZW50KTogUHJvbWlzZTxDZGtDdXN0b21SZXNvdXJjZVJlc3BvbnNlPiA9PiB7XG5cbiAgY29uc3Qgc2hhcmVkTGF0YW1TZWNyZXRBcm5QcmVmaXggPSByZXF1aXJlUHJvcGVydHkocHJvY2Vzcy5lbnYsICdTSEFSRURfTEFUQU1fU0VDUkVUX0FSTl9QUkVGSVgnKTtcbiAgY29uc3Qgc2hhcmVkRXVTZWNyZXRBcm5QcmVmaXggPSByZXF1aXJlUHJvcGVydHkocHJvY2Vzcy5lbnYsICdTSEFSRURfRVVfU0VDUkVUX0FSTl9QUkVGSVgnKTtcbiAgY29uc3QgbGF0YW1MYW5kaW5nWm9uZU9yZ0lkID0gcmVxdWlyZVByb3BlcnR5KHByb2Nlc3MuZW52LCAnTEFUQU1fTEFORElOR19aT05FX09SR19JRCcpO1xuICBjb25zdCBldUxhbmRpbmdab25lT3JnSWQgPSByZXF1aXJlUHJvcGVydHkocHJvY2Vzcy5lbnYsICdFVV9MQU5ESU5HX1pPTkVfT1JHX0lEJyk7XG5cbiAgaWYgKGV2ZW50LlJlcXVlc3RUeXBlID09PSAnQ3JlYXRlJyB8fCBldmVudC5SZXF1ZXN0VHlwZSA9PT0gJ1VwZGF0ZScpIHtcbiAgICBjb25zdCBzZWNyZXROYW1lID0gcmVxdWlyZVByb3BlcnR5KGV2ZW50LlJlc291cmNlUHJvcGVydGllcywgJ1NlY3JldE5hbWUnKTtcblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgb3JnYW5pemF0aW9ucy5kZXNjcmliZU9yZ2FuaXphdGlvbigpO1xuICAgIGNvbnN0IGN1cnJlbnRPcmcgPSByZXNwb25zZS5Pcmdhbml6YXRpb24/LklkO1xuXG4gICAgbGV0IHNoYXJlZFNlY3JldEFyblByZWZpeDogc3RyaW5nO1xuICAgIGlmIChjdXJyZW50T3JnID09PSBldUxhbmRpbmdab25lT3JnSWQpIHtcbiAgICAgIHNoYXJlZFNlY3JldEFyblByZWZpeCA9IHNoYXJlZEV1U2VjcmV0QXJuUHJlZml4O1xuICAgIH0gZWxzZSBpZiAoY3VycmVudE9yZyA9PT0gbGF0YW1MYW5kaW5nWm9uZU9yZ0lkKSB7XG4gICAgICBzaGFyZWRTZWNyZXRBcm5QcmVmaXggPSBzaGFyZWRMYXRhbVNlY3JldEFyblByZWZpeDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIE9yZ2FuaXphdGlvbjogJHtjdXJyZW50T3JnfWApO1xuICAgIH1cblxuICAgIGNvbnN0IHNlY3JldEFybiA9IGAke3NoYXJlZFNlY3JldEFyblByZWZpeH0vJHtzZWNyZXROYW1lfWA7XG4gICAgY29uc3QgZnVsbEFybkxvb2t1cCA9IGF3YWl0IHNlY3JldHNNYW5hZ2VyLmRlc2NyaWJlU2VjcmV0KHsgU2VjcmV0SWQ6IHNlY3JldEFybiB9KTtcblxuICAgIHJldHVybiB7IFBoeXNpY2FsUmVzb3VyY2VJZDogZXZlbnQuTG9naWNhbFJlc291cmNlSWQsIERhdGE6IHsgU2VjcmV0QXJuOiBmdWxsQXJuTG9va3VwLkFSTiEgfSB9O1xuICB9XG4gIHJldHVybiB7IFBoeXNpY2FsUmVzb3VyY2VJZDogZXZlbnQuTG9naWNhbFJlc291cmNlSWQgfTtcbn07XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5jb25zdCByZXF1aXJlUHJvcGVydHkgPSAocmVzb3VyY2VQcm9wZXJ0aWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBwcm9wZXJ0eU5hbWU6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IHZhbHVlID0gcmVzb3VyY2VQcm9wZXJ0aWVzW3Byb3BlcnR5TmFtZV07XG4gIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB0aHJvdyBgTWlzc2luZyB0aGUgcmVxdWlyZWQgcHJvcGVydHkgJHtwcm9wZXJ0eU5hbWV9YDtcbiAgcmV0dXJuIHZhbHVlO1xufTtcbiJdfQ==
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { CdkCustomResourceResponse, CdkCustomResourceEvent } from 'aws-lambda';
|
|
2
|
-
type ServiceLanguage = 'dotnet' | 'go' | 'java' | 'js' | 'php' | 'python' | 'ruby' | 'c++';
|
|
3
|
-
type ServiceType = 'web' | 'db' | 'cache' | 'function' | 'browser' | 'mobile' | 'custom';
|
|
4
|
-
export interface ServiceCatalogEntryProperties {
|
|
5
|
-
readonly Team: string;
|
|
6
|
-
readonly Service: string;
|
|
7
|
-
readonly Tags?: string[];
|
|
8
|
-
readonly Type?: ServiceType;
|
|
9
|
-
readonly Languages?: ServiceLanguage[];
|
|
10
|
-
}
|
|
11
|
-
export declare const handler: (event: CdkCustomResourceEvent<ServiceCatalogEntryProperties>) => Promise<CdkCustomResourceResponse>;
|
|
12
|
-
export {};
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.handler = void 0;
|
|
4
|
-
const secrets_1 = require("@aws-lambda-powertools/parameters/secrets");
|
|
5
|
-
const handler = async (event) => {
|
|
6
|
-
console.log('Request received:\n', JSON.stringify(event));
|
|
7
|
-
const props = event.ResourceProperties;
|
|
8
|
-
try {
|
|
9
|
-
switch (event.RequestType) {
|
|
10
|
-
case 'Create':
|
|
11
|
-
case 'Update':
|
|
12
|
-
await onCreate(props);
|
|
13
|
-
break;
|
|
14
|
-
case 'Delete':
|
|
15
|
-
await onDelete(props);
|
|
16
|
-
break;
|
|
17
|
-
}
|
|
18
|
-
return { PhysicalResourceId: props.Service };
|
|
19
|
-
}
|
|
20
|
-
catch (error) {
|
|
21
|
-
console.error(error);
|
|
22
|
-
throw error;
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
exports.handler = handler;
|
|
26
|
-
const requireProperty = (resourceProperties, propertyName) => {
|
|
27
|
-
const value = resourceProperties[propertyName];
|
|
28
|
-
if (value === undefined)
|
|
29
|
-
throw `Missing the required property ${propertyName}`;
|
|
30
|
-
return value;
|
|
31
|
-
};
|
|
32
|
-
const getHeaders = async () => {
|
|
33
|
-
const datadogSecretArn = requireProperty(process.env, 'DATADOG_SECRET_ARN');
|
|
34
|
-
const secretString = await (0, secrets_1.getSecret)(datadogSecretArn);
|
|
35
|
-
const secret = JSON.parse(secretString);
|
|
36
|
-
return {
|
|
37
|
-
'Accept': 'application/json',
|
|
38
|
-
'DD-API-KEY': secret.ApiKey,
|
|
39
|
-
'DD-APPLICATION-KEY': secret.ApplicationKey,
|
|
40
|
-
};
|
|
41
|
-
};
|
|
42
|
-
const onCreate = async (event) => {
|
|
43
|
-
const payload = {
|
|
44
|
-
'schema-version': 'v2.2',
|
|
45
|
-
'dd-service': event.Service,
|
|
46
|
-
'team': event.Team,
|
|
47
|
-
'tags': event.Tags,
|
|
48
|
-
'type': event.Type,
|
|
49
|
-
'languages': event.Languages,
|
|
50
|
-
};
|
|
51
|
-
const response = await fetch('https://api.datadoghq.eu/api/v2/services/definitions', {
|
|
52
|
-
method: 'POST',
|
|
53
|
-
headers: await getHeaders(),
|
|
54
|
-
body: JSON.stringify(payload),
|
|
55
|
-
});
|
|
56
|
-
if (response.status >= 300) {
|
|
57
|
-
throw new Error(`Failed to create service: ${response.status} - ${response.statusText}`);
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
const onDelete = async (event) => {
|
|
61
|
-
const response = await fetch(`https://api.datadoghq.eu/api/v2/services/definitions/${event.Service}`, {
|
|
62
|
-
method: 'DELETE',
|
|
63
|
-
headers: await getHeaders(),
|
|
64
|
-
});
|
|
65
|
-
if (response.status >= 300) {
|
|
66
|
-
console.warn(`Failed to delete service: ${response.status} - ${response.statusText}`);
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib24tY3JlYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RhdGFkb2d2Mi9zZXJ2aWNlLWNhdGFsb2ctY3VzdG9tLXJlc291cmNlL29uLWNyZWF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1RUFBc0U7QUFjL0QsTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUFHLEtBQTRELEVBQXVDLEVBQUU7SUFDbEksT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFFMUQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDO0lBRXZDLElBQUksQ0FBQztRQUNILFFBQVEsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzFCLEtBQUssUUFBUSxDQUFDO1lBQ2QsS0FBSyxRQUFRO2dCQUNYLE1BQU0sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN0QixNQUFNO1lBQ1IsS0FBSyxRQUFRO2dCQUNYLE1BQU0sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN0QixNQUFNO1FBQ1YsQ0FBQztRQUVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLE1BQU0sS0FBSyxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUMsQ0FBQztBQXJCVyxRQUFBLE9BQU8sV0FxQmxCO0FBRUYsTUFBTSxlQUFlLEdBQUcsQ0FBQyxrQkFBdUMsRUFBRSxZQUFvQixFQUFVLEVBQUU7SUFDaEcsTUFBTSxLQUFLLEdBQUcsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0MsSUFBSSxLQUFLLEtBQUssU0FBUztRQUFFLE1BQU0saUNBQWlDLFlBQVksRUFBRSxDQUFDO0lBQy9FLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDNUIsTUFBTSxnQkFBZ0IsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0lBQzVFLE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBQSxtQkFBUyxFQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDdkQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUF1QixDQUFDLENBQUM7SUFFbkQsT0FBTztRQUNMLFFBQVEsRUFBRSxrQkFBa0I7UUFDNUIsWUFBWSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1FBQzNCLG9CQUFvQixFQUFFLE1BQU0sQ0FBQyxjQUFjO0tBQzVDLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLFFBQVEsR0FBRyxLQUFLLEVBQUUsS0FBb0MsRUFBRSxFQUFFO0lBQzlELE1BQU0sT0FBTyxHQUFHO1FBQ2QsZ0JBQWdCLEVBQUUsTUFBTTtRQUN4QixZQUFZLEVBQUUsS0FBSyxDQUFDLE9BQU87UUFDM0IsTUFBTSxFQUFFLEtBQUssQ0FBQyxJQUFJO1FBQ2xCLE1BQU0sRUFBRSxLQUFLLENBQUMsSUFBSTtRQUNsQixNQUFNLEVBQUUsS0FBSyxDQUFDLElBQUk7UUFDbEIsV0FBVyxFQUFFLEtBQUssQ0FBQyxTQUFTO0tBQzdCLENBQUM7SUFDRixNQUFNLFFBQVEsR0FBRyxNQUFNLEtBQUssQ0FBQyxzREFBc0QsRUFBRTtRQUNuRixNQUFNLEVBQUUsTUFBTTtRQUNkLE9BQU8sRUFBRSxNQUFNLFVBQVUsRUFBRTtRQUMzQixJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7S0FDOUIsQ0FBQyxDQUFDO0lBRUgsSUFBSSxRQUFRLENBQUMsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLFFBQVEsQ0FBQyxNQUFNLE1BQU0sUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDM0YsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sUUFBUSxHQUFHLEtBQUssRUFBRSxLQUFvQyxFQUFFLEVBQUU7SUFDOUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQUMsd0RBQXdELEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUNwRyxNQUFNLEVBQUUsUUFBUTtRQUNoQixPQUFPLEVBQUUsTUFBTSxVQUFVLEVBQUU7S0FDNUIsQ0FBQyxDQUFDO0lBQ0gsSUFBSSxRQUFRLENBQUMsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzNCLE9BQU8sQ0FBQyxJQUFJLENBQUMsNkJBQTZCLFFBQVEsQ0FBQyxNQUFNLE1BQU0sUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDeEYsQ0FBQztBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldFNlY3JldCB9IGZyb20gJ0Bhd3MtbGFtYmRhLXBvd2VydG9vbHMvcGFyYW1ldGVycy9zZWNyZXRzJztcbmltcG9ydCB7IENka0N1c3RvbVJlc291cmNlUmVzcG9uc2UsIENka0N1c3RvbVJlc291cmNlRXZlbnQgfSBmcm9tICdhd3MtbGFtYmRhJztcblxudHlwZSBTZXJ2aWNlTGFuZ3VhZ2UgPSAnZG90bmV0JyB8ICdnbycgfCAnamF2YScgfCAnanMnIHwgJ3BocCcgfCAncHl0aG9uJyB8ICdydWJ5JyB8ICdjKysnO1xudHlwZSBTZXJ2aWNlVHlwZSA9ICd3ZWInIHwgJ2RiJyB8ICdjYWNoZScgfCAnZnVuY3Rpb24nIHwgJ2Jyb3dzZXInIHwgJ21vYmlsZScgfCAnY3VzdG9tJztcblxuZXhwb3J0IGludGVyZmFjZSBTZXJ2aWNlQ2F0YWxvZ0VudHJ5UHJvcGVydGllcyB7XG4gIHJlYWRvbmx5IFRlYW06IHN0cmluZztcbiAgcmVhZG9ubHkgU2VydmljZTogc3RyaW5nO1xuICByZWFkb25seSBUYWdzPzogc3RyaW5nW107XG4gIHJlYWRvbmx5IFR5cGU/OiBTZXJ2aWNlVHlwZTtcbiAgcmVhZG9ubHkgTGFuZ3VhZ2VzPzogU2VydmljZUxhbmd1YWdlW107XG59XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVyID0gYXN5bmMgKCBldmVudDogQ2RrQ3VzdG9tUmVzb3VyY2VFdmVudDxTZXJ2aWNlQ2F0YWxvZ0VudHJ5UHJvcGVydGllcz4gKTogUHJvbWlzZTxDZGtDdXN0b21SZXNvdXJjZVJlc3BvbnNlPiA9PiB7XG4gIGNvbnNvbGUubG9nKCdSZXF1ZXN0IHJlY2VpdmVkOlxcbicsIEpTT04uc3RyaW5naWZ5KGV2ZW50KSk7XG5cbiAgY29uc3QgcHJvcHMgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXM7XG5cbiAgdHJ5IHtcbiAgICBzd2l0Y2ggKGV2ZW50LlJlcXVlc3RUeXBlKSB7XG4gICAgICBjYXNlICdDcmVhdGUnOlxuICAgICAgY2FzZSAnVXBkYXRlJzpcbiAgICAgICAgYXdhaXQgb25DcmVhdGUocHJvcHMpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RlbGV0ZSc6XG4gICAgICAgIGF3YWl0IG9uRGVsZXRlKHByb3BzKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgUGh5c2ljYWxSZXNvdXJjZUlkOiBwcm9wcy5TZXJ2aWNlIH07XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cbmNvbnN0IHJlcXVpcmVQcm9wZXJ0eSA9IChyZXNvdXJjZVByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIGFueT4sIHByb3BlcnR5TmFtZTogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgY29uc3QgdmFsdWUgPSByZXNvdXJjZVByb3BlcnRpZXNbcHJvcGVydHlOYW1lXTtcbiAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHRocm93IGBNaXNzaW5nIHRoZSByZXF1aXJlZCBwcm9wZXJ0eSAke3Byb3BlcnR5TmFtZX1gO1xuICByZXR1cm4gdmFsdWU7XG59O1xuXG5jb25zdCBnZXRIZWFkZXJzID0gYXN5bmMgKCkgPT4ge1xuICBjb25zdCBkYXRhZG9nU2VjcmV0QXJuID0gcmVxdWlyZVByb3BlcnR5KHByb2Nlc3MuZW52LCAnREFUQURPR19TRUNSRVRfQVJOJyk7XG4gIGNvbnN0IHNlY3JldFN0cmluZyA9IGF3YWl0IGdldFNlY3JldChkYXRhZG9nU2VjcmV0QXJuKTtcbiAgY29uc3Qgc2VjcmV0ID0gSlNPTi5wYXJzZShzZWNyZXRTdHJpbmchIGFzIHN0cmluZyk7XG5cbiAgcmV0dXJuIHtcbiAgICAnQWNjZXB0JzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICdERC1BUEktS0VZJzogc2VjcmV0LkFwaUtleSxcbiAgICAnREQtQVBQTElDQVRJT04tS0VZJzogc2VjcmV0LkFwcGxpY2F0aW9uS2V5LFxuICB9O1xufTtcblxuY29uc3Qgb25DcmVhdGUgPSBhc3luYyAoZXZlbnQ6IFNlcnZpY2VDYXRhbG9nRW50cnlQcm9wZXJ0aWVzKSA9PiB7XG4gIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgJ3NjaGVtYS12ZXJzaW9uJzogJ3YyLjInLFxuICAgICdkZC1zZXJ2aWNlJzogZXZlbnQuU2VydmljZSxcbiAgICAndGVhbSc6IGV2ZW50LlRlYW0sXG4gICAgJ3RhZ3MnOiBldmVudC5UYWdzLFxuICAgICd0eXBlJzogZXZlbnQuVHlwZSxcbiAgICAnbGFuZ3VhZ2VzJzogZXZlbnQuTGFuZ3VhZ2VzLFxuICB9O1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKCdodHRwczovL2FwaS5kYXRhZG9naHEuZXUvYXBpL3YyL3NlcnZpY2VzL2RlZmluaXRpb25zJywge1xuICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgIGhlYWRlcnM6IGF3YWl0IGdldEhlYWRlcnMoKSxcbiAgICBib2R5OiBKU09OLnN0cmluZ2lmeShwYXlsb2FkKSxcbiAgfSk7XG5cbiAgaWYgKHJlc3BvbnNlLnN0YXR1cyA+PSAzMDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBjcmVhdGUgc2VydmljZTogJHtyZXNwb25zZS5zdGF0dXN9IC0gJHtyZXNwb25zZS5zdGF0dXNUZXh0fWApO1xuICB9XG59O1xuXG5jb25zdCBvbkRlbGV0ZSA9IGFzeW5jIChldmVudDogU2VydmljZUNhdGFsb2dFbnRyeVByb3BlcnRpZXMpID0+IHtcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChgaHR0cHM6Ly9hcGkuZGF0YWRvZ2hxLmV1L2FwaS92Mi9zZXJ2aWNlcy9kZWZpbml0aW9ucy8ke2V2ZW50LlNlcnZpY2V9YCwge1xuICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgaGVhZGVyczogYXdhaXQgZ2V0SGVhZGVycygpLFxuICB9KTtcbiAgaWYgKHJlc3BvbnNlLnN0YXR1cyA+PSAzMDApIHtcbiAgICBjb25zb2xlLndhcm4oYEZhaWxlZCB0byBkZWxldGUgc2VydmljZTogJHtyZXNwb25zZS5zdGF0dXN9IC0gJHtyZXNwb25zZS5zdGF0dXNUZXh0fWApO1xuICB9XG59O1xuIl19
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
export declare enum DeploymentStatus {
|
|
2
|
-
CREATED = "Created",
|
|
3
|
-
QUEUED = "Queued",
|
|
4
|
-
IN_PROGRESS = "InProgress",
|
|
5
|
-
BAKING = "Baking",
|
|
6
|
-
SUCCEEDED = "Succeeded",
|
|
7
|
-
FAILED = "Failed",
|
|
8
|
-
STOPPED = "Stopped",
|
|
9
|
-
READY = "Ready"
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* The request object that the custom resource lamba function receives from CloudFormation.
|
|
13
|
-
*/
|
|
14
|
-
export interface IsCompleteRequest {
|
|
15
|
-
/**
|
|
16
|
-
* The type of CloudFormation request (e.g. 'Create', 'Update', or 'Delete')
|
|
17
|
-
*/
|
|
18
|
-
RequestType: string;
|
|
19
|
-
/**
|
|
20
|
-
* The physical resource id.
|
|
21
|
-
*/
|
|
22
|
-
PhysicalResourceId: string;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* The response object that the custom resource lambda function returns to CloudFormation.
|
|
26
|
-
*/
|
|
27
|
-
export interface IsCompleteResponse {
|
|
28
|
-
/**
|
|
29
|
-
* True if and only if the deployment is in a final state.
|
|
30
|
-
*/
|
|
31
|
-
IsComplete: boolean;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* The lambda function called from CloudFormation for this custom resource.
|
|
35
|
-
*
|
|
36
|
-
* @param event
|
|
37
|
-
* @returns whether the deployment is complete
|
|
38
|
-
*/
|
|
39
|
-
export declare function handler(event: IsCompleteRequest): Promise<IsCompleteResponse>;
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DeploymentStatus = void 0;
|
|
4
|
-
exports.handler = handler;
|
|
5
|
-
const client_codedeploy_1 = require("@aws-sdk/client-codedeploy");
|
|
6
|
-
var DeploymentStatus;
|
|
7
|
-
(function (DeploymentStatus) {
|
|
8
|
-
DeploymentStatus["CREATED"] = "Created";
|
|
9
|
-
DeploymentStatus["QUEUED"] = "Queued";
|
|
10
|
-
DeploymentStatus["IN_PROGRESS"] = "InProgress";
|
|
11
|
-
DeploymentStatus["BAKING"] = "Baking";
|
|
12
|
-
DeploymentStatus["SUCCEEDED"] = "Succeeded";
|
|
13
|
-
DeploymentStatus["FAILED"] = "Failed";
|
|
14
|
-
DeploymentStatus["STOPPED"] = "Stopped";
|
|
15
|
-
DeploymentStatus["READY"] = "Ready";
|
|
16
|
-
})(DeploymentStatus || (exports.DeploymentStatus = DeploymentStatus = {}));
|
|
17
|
-
/**
|
|
18
|
-
* The lambda function called from CloudFormation for this custom resource.
|
|
19
|
-
*
|
|
20
|
-
* @param event
|
|
21
|
-
* @returns whether the deployment is complete
|
|
22
|
-
*/
|
|
23
|
-
async function handler(event) {
|
|
24
|
-
console.info('Received event :', JSON.stringify(event, null, 2));
|
|
25
|
-
const codedeployClient = new client_codedeploy_1.CodeDeployClient({});
|
|
26
|
-
try {
|
|
27
|
-
const resp = await codedeployClient.send(new client_codedeploy_1.GetDeploymentCommand({ deploymentId: event.PhysicalResourceId }));
|
|
28
|
-
let rollbackResp = {};
|
|
29
|
-
if (resp.deploymentInfo?.rollbackInfo?.rollbackDeploymentId) {
|
|
30
|
-
rollbackResp = await codedeployClient.send(new client_codedeploy_1.GetDeploymentCommand({ deploymentId: resp.deploymentInfo?.rollbackInfo?.rollbackDeploymentId }));
|
|
31
|
-
}
|
|
32
|
-
console.info('Checking deployment');
|
|
33
|
-
// check if deployment id is complete
|
|
34
|
-
switch (event.RequestType) {
|
|
35
|
-
case 'Create':
|
|
36
|
-
case 'Update':
|
|
37
|
-
switch (resp.deploymentInfo?.status) {
|
|
38
|
-
case DeploymentStatus.SUCCEEDED:
|
|
39
|
-
console.info('Deployment finished successfully', { complete: true });
|
|
40
|
-
return { IsComplete: true };
|
|
41
|
-
case DeploymentStatus.FAILED:
|
|
42
|
-
case DeploymentStatus.STOPPED:
|
|
43
|
-
if (rollbackResp.deploymentInfo?.status) {
|
|
44
|
-
if (rollbackResp.deploymentInfo?.status == DeploymentStatus.SUCCEEDED ||
|
|
45
|
-
rollbackResp.deploymentInfo?.status == DeploymentStatus.FAILED ||
|
|
46
|
-
rollbackResp.deploymentInfo?.status == DeploymentStatus.STOPPED) {
|
|
47
|
-
const errInfo = resp.deploymentInfo.errorInformation;
|
|
48
|
-
const error = new Error(`Deployment ${resp.deploymentInfo.status}: [${errInfo?.code}] ${errInfo?.message}`);
|
|
49
|
-
console.error('Deployment failed', { complete: true, error });
|
|
50
|
-
throw error;
|
|
51
|
-
}
|
|
52
|
-
console.info('Waiting for final status from a rollback', { complete: false });
|
|
53
|
-
return { IsComplete: false }; // waiting for final status from rollback
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
const errInfo = resp.deploymentInfo.errorInformation;
|
|
57
|
-
const error = new Error(`Deployment ${resp.deploymentInfo.status}: [${errInfo?.code}] ${errInfo?.message}`);
|
|
58
|
-
console.error('No rollback to wait for', { complete: true, error });
|
|
59
|
-
throw error;
|
|
60
|
-
}
|
|
61
|
-
default:
|
|
62
|
-
console.info('Waiting for final status from deployment', { complete: false });
|
|
63
|
-
return { IsComplete: false };
|
|
64
|
-
}
|
|
65
|
-
case 'Delete':
|
|
66
|
-
switch (resp.deploymentInfo?.status) {
|
|
67
|
-
case DeploymentStatus.SUCCEEDED:
|
|
68
|
-
console.info('Deployment finished successfully - nothing to delete', { complete: true });
|
|
69
|
-
return { IsComplete: true };
|
|
70
|
-
case DeploymentStatus.FAILED:
|
|
71
|
-
case DeploymentStatus.STOPPED:
|
|
72
|
-
if (rollbackResp.deploymentInfo?.status) {
|
|
73
|
-
if (rollbackResp.deploymentInfo?.status == DeploymentStatus.SUCCEEDED ||
|
|
74
|
-
rollbackResp.deploymentInfo?.status == DeploymentStatus.FAILED ||
|
|
75
|
-
rollbackResp.deploymentInfo?.status == DeploymentStatus.STOPPED) {
|
|
76
|
-
console.info('Rollback in final status', { complete: true });
|
|
77
|
-
return { IsComplete: true }; // rollback finished, we're deleted
|
|
78
|
-
}
|
|
79
|
-
console.info('Waiting for final status from a rollback', { complete: false });
|
|
80
|
-
return { IsComplete: false }; // waiting for rollback
|
|
81
|
-
}
|
|
82
|
-
console.info('No rollback to wait for', { complete: true });
|
|
83
|
-
return { IsComplete: true };
|
|
84
|
-
default:
|
|
85
|
-
console.info('Waiting for final status from deployment', { complete: false });
|
|
86
|
-
return { IsComplete: false };
|
|
87
|
-
}
|
|
88
|
-
default:
|
|
89
|
-
console.error('Unknown request type');
|
|
90
|
-
throw new Error(`Unknown request type: ${event.RequestType}`);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
catch (e) {
|
|
94
|
-
console.error('Unable to determine deployment status', { error: e });
|
|
95
|
-
if (event.RequestType === 'Delete') {
|
|
96
|
-
console.warn('Ignoring error - nothing to do', { complete: true });
|
|
97
|
-
return { IsComplete: true };
|
|
98
|
-
}
|
|
99
|
-
throw e;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWRlcGxveW1lbnQtaXMtY29tcGxldGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZmFyZ2F0ZS9jb2RlZGVwbG95LWN1c3RvbS1yZXNvdXJjZXMvY3JlYXRlLWRlcGxveW1lbnQtaXMtY29tcGxldGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBNENBLDBCQXNGQztBQWxJRCxrRUFBeUc7QUFFekcsSUFBWSxnQkFTWDtBQVRELFdBQVksZ0JBQWdCO0lBQzFCLHVDQUFtQixDQUFBO0lBQ25CLHFDQUFpQixDQUFBO0lBQ2pCLDhDQUEwQixDQUFBO0lBQzFCLHFDQUFpQixDQUFBO0lBQ2pCLDJDQUF1QixDQUFBO0lBQ3ZCLHFDQUFpQixDQUFBO0lBQ2pCLHVDQUFtQixDQUFBO0lBQ25CLG1DQUFlLENBQUE7QUFDakIsQ0FBQyxFQVRXLGdCQUFnQixnQ0FBaEIsZ0JBQWdCLFFBUzNCO0FBMkJEOzs7OztHQUtHO0FBQ0ksS0FBSyxVQUFVLE9BQU8sQ0FBQyxLQUF3QjtJQUNwRCxPQUFPLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxvQ0FBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsRCxJQUFJLENBQUM7UUFDSCxNQUFNLElBQUksR0FBRyxNQUFNLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLHdDQUFvQixDQUFDLEVBQUUsWUFBWSxFQUFFLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMvRyxJQUFJLFlBQVksR0FBd0IsRUFBRSxDQUFDO1FBQzNDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQztZQUM1RCxZQUFZLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxJQUFJLENB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QUFDLENBQUM7UUFDbEUsQ0FBQztJQUNILENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQyx1Q0FBdUMsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQzlFLElBQUksS0FBSyxDQUFDLFdBQVcsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNuQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdDQUFnQyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFFbkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUM5QixDQUFDO1FBQ0QsTUFBTSxDQUFDLENBQUM7SUFDVixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvZGVEZXBsb3lDbGllbnQsIEdldERlcGxveW1lbnRDb21tYW5kLCBHZXREZXBsb3ltZW50T3V0cHV0IH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWNvZGVkZXBsb3knO1xuXG5leHBvcnQgZW51bSBEZXBsb3ltZW50U3RhdHVzIHtcbiAgQ1JFQVRFRCA9ICdDcmVhdGVkJyxcbiAgUVVFVUVEID0gJ1F1ZXVlZCcsXG4gIElOX1BST0dSRVNTID0gJ0luUHJvZ3Jlc3MnLFxuICBCQUtJTkcgPSAnQmFraW5nJyxcbiAgU1VDQ0VFREVEID0gJ1N1Y2NlZWRlZCcsXG4gIEZBSUxFRCA9ICdGYWlsZWQnLFxuICBTVE9QUEVEID0gJ1N0b3BwZWQnLFxuICBSRUFEWSA9ICdSZWFkeScsXG59XG5cbi8qKlxuICogVGhlIHJlcXVlc3Qgb2JqZWN0IHRoYXQgdGhlIGN1c3RvbSByZXNvdXJjZSBsYW1iYSBmdW5jdGlvbiByZWNlaXZlcyBmcm9tIENsb3VkRm9ybWF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElzQ29tcGxldGVSZXF1ZXN0IHtcbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIENsb3VkRm9ybWF0aW9uIHJlcXVlc3QgKGUuZy4gJ0NyZWF0ZScsICdVcGRhdGUnLCBvciAnRGVsZXRlJylcbiAgICovXG4gIFJlcXVlc3RUeXBlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwaHlzaWNhbCByZXNvdXJjZSBpZC5cbiAgICovXG4gIFBoeXNpY2FsUmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSByZXNwb25zZSBvYmplY3QgdGhhdCB0aGUgY3VzdG9tIHJlc291cmNlIGxhbWJkYSBmdW5jdGlvbiByZXR1cm5zIHRvIENsb3VkRm9ybWF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElzQ29tcGxldGVSZXNwb25zZSB7XG4gIC8qKlxuICAgKiBUcnVlIGlmIGFuZCBvbmx5IGlmIHRoZSBkZXBsb3ltZW50IGlzIGluIGEgZmluYWwgc3RhdGUuXG4gICAqL1xuICBJc0NvbXBsZXRlOiBib29sZWFuO1xufVxuXG4vKipcbiAqIFRoZSBsYW1iZGEgZnVuY3Rpb24gY2FsbGVkIGZyb20gQ2xvdWRGb3JtYXRpb24gZm9yIHRoaXMgY3VzdG9tIHJlc291cmNlLlxuICpcbiAqIEBwYXJhbSBldmVudFxuICogQHJldHVybnMgd2hldGhlciB0aGUgZGVwbG95bWVudCBpcyBjb21wbGV0ZVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaGFuZGxlcihldmVudDogSXNDb21wbGV0ZVJlcXVlc3QpOiBQcm9taXNlPElzQ29tcGxldGVSZXNwb25zZT4ge1xuICBjb25zb2xlLmluZm8oJ1JlY2VpdmVkIGV2ZW50IDonLCBKU09OLnN0cmluZ2lmeShldmVudCwgbnVsbCwgMikpO1xuICBjb25zdCBjb2RlZGVwbG95Q2xpZW50ID0gbmV3IENvZGVEZXBsb3lDbGllbnQoe30pO1xuICB0cnkge1xuICAgIGNvbnN0IHJlc3AgPSBhd2FpdCBjb2RlZGVwbG95Q2xpZW50LnNlbmQobmV3IEdldERlcGxveW1lbnRDb21tYW5kKHsgZGVwbG95bWVudElkOiBldmVudC5QaHlzaWNhbFJlc291cmNlSWQgfSkpO1xuICAgIGxldCByb2xsYmFja1Jlc3A6IEdldERlcGxveW1lbnRPdXRwdXQgPSB7fTtcbiAgICBpZiAocmVzcC5kZXBsb3ltZW50SW5mbz8ucm9sbGJhY2tJbmZvPy5yb2xsYmFja0RlcGxveW1lbnRJZCkge1xuICAgICAgcm9sbGJhY2tSZXNwID0gYXdhaXQgY29kZWRlcGxveUNsaWVudC5zZW5kKG5ldyBHZXREZXBsb3ltZW50Q29tbWFuZCh7IGRlcGxveW1lbnRJZDogcmVzcC5kZXBsb3ltZW50SW5mbz8ucm9sbGJhY2tJbmZvPy5yb2xsYmFja0RlcGxveW1lbnRJZCB9KSk7XG4gICAgfVxuICAgIGNvbnNvbGUuaW5mbygnQ2hlY2tpbmcgZGVwbG95bWVudCcpO1xuXG4gICAgLy8gY2hlY2sgaWYgZGVwbG95bWVudCBpZCBpcyBjb21wbGV0ZVxuICAgIHN3aXRjaCAoZXZlbnQuUmVxdWVzdFR5cGUpIHtcbiAgICAgIGNhc2UgJ0NyZWF0ZSc6XG4gICAgICBjYXNlICdVcGRhdGUnOlxuICAgICAgICBzd2l0Y2ggKHJlc3AuZGVwbG95bWVudEluZm8/LnN0YXR1cykge1xuICAgICAgICAgIGNhc2UgRGVwbG95bWVudFN0YXR1cy5TVUNDRUVERUQ6XG4gICAgICAgICAgICBjb25zb2xlLmluZm8oJ0RlcGxveW1lbnQgZmluaXNoZWQgc3VjY2Vzc2Z1bGx5JywgeyBjb21wbGV0ZTogdHJ1ZSB9KTtcblxuICAgICAgICAgICAgcmV0dXJuIHsgSXNDb21wbGV0ZTogdHJ1ZSB9O1xuICAgICAgICAgIGNhc2UgRGVwbG95bWVudFN0YXR1cy5GQUlMRUQ6XG4gICAgICAgICAgY2FzZSBEZXBsb3ltZW50U3RhdHVzLlNUT1BQRUQ6XG4gICAgICAgICAgICBpZiAocm9sbGJhY2tSZXNwLmRlcGxveW1lbnRJbmZvPy5zdGF0dXMpIHtcbiAgICAgICAgICAgICAgaWYgKHJvbGxiYWNrUmVzcC5kZXBsb3ltZW50SW5mbz8uc3RhdHVzID09IERlcGxveW1lbnRTdGF0dXMuU1VDQ0VFREVEIHx8XG4gICAgICAgICAgICAgICAgcm9sbGJhY2tSZXNwLmRlcGxveW1lbnRJbmZvPy5zdGF0dXMgPT0gRGVwbG95bWVudFN0YXR1cy5GQUlMRUQgfHxcbiAgICAgICAgICAgICAgICByb2xsYmFja1Jlc3AuZGVwbG95bWVudEluZm8/LnN0YXR1cyA9PSBEZXBsb3ltZW50U3RhdHVzLlNUT1BQRUQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJJbmZvID0gcmVzcC5kZXBsb3ltZW50SW5mby5lcnJvckluZm9ybWF0aW9uO1xuICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKGBEZXBsb3ltZW50ICR7cmVzcC5kZXBsb3ltZW50SW5mby5zdGF0dXN9OiBbJHtlcnJJbmZvPy5jb2RlfV0gJHtlcnJJbmZvPy5tZXNzYWdlfWApO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0RlcGxveW1lbnQgZmFpbGVkJywgeyBjb21wbGV0ZTogdHJ1ZSwgZXJyb3IgfSk7XG4gICAgICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgY29uc29sZS5pbmZvKCdXYWl0aW5nIGZvciBmaW5hbCBzdGF0dXMgZnJvbSBhIHJvbGxiYWNrJywgeyBjb21wbGV0ZTogZmFsc2UgfSk7XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHsgSXNDb21wbGV0ZTogZmFsc2UgfTsgLy8gd2FpdGluZyBmb3IgZmluYWwgc3RhdHVzIGZyb20gcm9sbGJhY2tcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbnN0IGVyckluZm8gPSByZXNwLmRlcGxveW1lbnRJbmZvLmVycm9ySW5mb3JtYXRpb247XG4gICAgICAgICAgICAgIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKGBEZXBsb3ltZW50ICR7cmVzcC5kZXBsb3ltZW50SW5mby5zdGF0dXN9OiBbJHtlcnJJbmZvPy5jb2RlfV0gJHtlcnJJbmZvPy5tZXNzYWdlfWApO1xuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdObyByb2xsYmFjayB0byB3YWl0IGZvcicsIHsgY29tcGxldGU6IHRydWUsIGVycm9yIH0pO1xuICAgICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgY29uc29sZS5pbmZvKCdXYWl0aW5nIGZvciBmaW5hbCBzdGF0dXMgZnJvbSBkZXBsb3ltZW50JywgeyBjb21wbGV0ZTogZmFsc2UgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiB7IElzQ29tcGxldGU6IGZhbHNlIH07XG4gICAgICAgIH1cbiAgICAgIGNhc2UgJ0RlbGV0ZSc6XG4gICAgICAgIHN3aXRjaCAocmVzcC5kZXBsb3ltZW50SW5mbz8uc3RhdHVzKSB7XG4gICAgICAgICAgY2FzZSBEZXBsb3ltZW50U3RhdHVzLlNVQ0NFRURFRDpcbiAgICAgICAgICAgIGNvbnNvbGUuaW5mbygnRGVwbG95bWVudCBmaW5pc2hlZCBzdWNjZXNzZnVsbHkgLSBub3RoaW5nIHRvIGRlbGV0ZScsIHsgY29tcGxldGU6IHRydWUgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiB7IElzQ29tcGxldGU6IHRydWUgfTtcbiAgICAgICAgICBjYXNlIERlcGxveW1lbnRTdGF0dXMuRkFJTEVEOlxuICAgICAgICAgIGNhc2UgRGVwbG95bWVudFN0YXR1cy5TVE9QUEVEOlxuICAgICAgICAgICAgaWYgKHJvbGxiYWNrUmVzcC5kZXBsb3ltZW50SW5mbz8uc3RhdHVzKSB7XG4gICAgICAgICAgICAgIGlmIChyb2xsYmFja1Jlc3AuZGVwbG95bWVudEluZm8/LnN0YXR1cyA9PSBEZXBsb3ltZW50U3RhdHVzLlNVQ0NFRURFRCB8fFxuICAgICAgICAgICAgICAgIHJvbGxiYWNrUmVzcC5kZXBsb3ltZW50SW5mbz8uc3RhdHVzID09IERlcGxveW1lbnRTdGF0dXMuRkFJTEVEIHx8XG4gICAgICAgICAgICAgICAgcm9sbGJhY2tSZXNwLmRlcGxveW1lbnRJbmZvPy5zdGF0dXMgPT0gRGVwbG95bWVudFN0YXR1cy5TVE9QUEVEKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5pbmZvKCdSb2xsYmFjayBpbiBmaW5hbCBzdGF0dXMnLCB7IGNvbXBsZXRlOiB0cnVlIH0pO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgSXNDb21wbGV0ZTogdHJ1ZSB9OyAvLyByb2xsYmFjayBmaW5pc2hlZCwgd2UncmUgZGVsZXRlZFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNvbnNvbGUuaW5mbygnV2FpdGluZyBmb3IgZmluYWwgc3RhdHVzIGZyb20gYSByb2xsYmFjaycsIHsgY29tcGxldGU6IGZhbHNlIH0pO1xuXG4gICAgICAgICAgICAgIHJldHVybiB7IElzQ29tcGxldGU6IGZhbHNlIH07IC8vIHdhaXRpbmcgZm9yIHJvbGxiYWNrXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zb2xlLmluZm8oJ05vIHJvbGxiYWNrIHRvIHdhaXQgZm9yJywgeyBjb21wbGV0ZTogdHJ1ZSB9KTtcblxuICAgICAgICAgICAgcmV0dXJuIHsgSXNDb21wbGV0ZTogdHJ1ZSB9O1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBjb25zb2xlLmluZm8oJ1dhaXRpbmcgZm9yIGZpbmFsIHN0YXR1cyBmcm9tIGRlcGxveW1lbnQnLCB7IGNvbXBsZXRlOiBmYWxzZSB9KTtcblxuICAgICAgICAgICAgcmV0dXJuIHsgSXNDb21wbGV0ZTogZmFsc2UgfTtcbiAgICAgICAgfVxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgY29uc29sZS5lcnJvcignVW5rbm93biByZXF1ZXN0IHR5cGUnKTtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHJlcXVlc3QgdHlwZTogJHtldmVudC5SZXF1ZXN0VHlwZX1gKTtcbiAgICB9XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25zb2xlLmVycm9yKCdVbmFibGUgdG8gZGV0ZXJtaW5lIGRlcGxveW1lbnQgc3RhdHVzJywgeyBlcnJvcjogZSBhcyBFcnJvciB9KTtcbiAgICBpZiAoZXZlbnQuUmVxdWVzdFR5cGUgPT09ICdEZWxldGUnKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ0lnbm9yaW5nIGVycm9yIC0gbm90aGluZyB0byBkbycsIHsgY29tcGxldGU6IHRydWUgfSk7XG5cbiAgICAgIHJldHVybiB7IElzQ29tcGxldGU6IHRydWUgfTtcbiAgICB9XG4gICAgdGhyb3cgZTtcbiAgfVxufSJdfQ==
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import * as lambdaEventTypes from 'aws-lambda';
|
|
2
|
-
export declare const handler: (event: lambdaEventTypes.CloudFormationCustomResourceEvent) => Promise<{
|
|
3
|
-
PhysicalResourceId: string | undefined;
|
|
4
|
-
Data: {
|
|
5
|
-
DeploymentId: string | undefined;
|
|
6
|
-
};
|
|
7
|
-
} | {
|
|
8
|
-
PhysicalResourceId?: undefined;
|
|
9
|
-
Data?: undefined;
|
|
10
|
-
}>;
|