cloudstructs 0.4.5 → 0.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitattributes +3 -0
- package/.jsii +120 -3
- package/API.md +43 -0
- package/README.md +3 -0
- package/assets/toolkit-cleaner/clean-images.lambda/index.js +77 -0
- package/assets/toolkit-cleaner/clean-objects.lambda/index.js +85 -0
- package/assets/toolkit-cleaner/docker/Dockerfile +3 -0
- package/assets/toolkit-cleaner/docker/dummy.txt +0 -0
- package/assets/toolkit-cleaner/get-stack-names.lambda/index.js +49 -0
- package/changelog.md +2 -2
- package/lib/codecommit-mirror/index.js +2 -2
- package/lib/ecs-service-roller/index.js +2 -2
- package/lib/email-receiver/receiver.js +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/saml-identity-provider/index.js +2 -2
- package/lib/slack-app/manifest.js +1 -1
- package/lib/slack-app/slack-app.js +2 -2
- package/lib/slack-events/index.js +1 -1
- package/lib/slack-textract/index.js +1 -1
- package/lib/state-machine-cr-provider/index.js +1 -1
- package/lib/static-website/index.js +1 -1
- package/lib/toolkit-cleaner/clean-images-function.d.ts +13 -0
- package/lib/toolkit-cleaner/clean-images-function.js +22 -0
- package/lib/toolkit-cleaner/clean-images.lambda.d.ts +4 -0
- package/lib/toolkit-cleaner/clean-images.lambda.js +49 -0
- package/lib/toolkit-cleaner/clean-objects-function.d.ts +13 -0
- package/lib/toolkit-cleaner/clean-objects-function.js +22 -0
- package/lib/toolkit-cleaner/clean-objects.lambda.d.ts +4 -0
- package/lib/toolkit-cleaner/clean-objects.lambda.js +52 -0
- package/lib/toolkit-cleaner/get-stack-names-function.d.ts +13 -0
- package/lib/toolkit-cleaner/get-stack-names-function.js +22 -0
- package/lib/toolkit-cleaner/get-stack-names.lambda.d.ts +1 -0
- package/lib/toolkit-cleaner/get-stack-names.lambda.js +22 -0
- package/lib/toolkit-cleaner/index.d.ts +41 -0
- package/lib/toolkit-cleaner/index.js +118 -0
- package/lib/url-shortener/index.js +1 -1
- package/package.json +13 -1
- package/releasetag.txt +1 -1
- package/version.txt +1 -1
|
@@ -47,5 +47,5 @@ class SlackEvents extends constructs_1.Construct {
|
|
|
47
47
|
}
|
|
48
48
|
exports.SlackEvents = SlackEvents;
|
|
49
49
|
_a = JSII_RTTI_SYMBOL_1;
|
|
50
|
-
SlackEvents[_a] = { fqn: "cloudstructs.SlackEvents", version: "0.4.
|
|
50
|
+
SlackEvents[_a] = { fqn: "cloudstructs.SlackEvents", version: "0.4.6" };
|
|
51
51
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2xhY2stZXZlbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0VBQWdFO0FBQ2hFLDZFQUE2RTtBQUM3RSxtQ0FBbUM7QUFDbkMsaURBQWlEO0FBQ2pELHdEQUF3RDtBQUN4RCw2Q0FBNkM7QUFDN0MsMkNBQXVDOzs7Ozs7QUFldkMsTUFBYSxXQUFZLFNBQVEsc0JBQVM7Ozs7SUFJeEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF1QjtRQUMvRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksS0FBSyxDQUFDLGNBQWMsRUFBRTtZQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDdkQ7UUFFRCw4QkFBOEI7UUFDOUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDekQsWUFBWSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUztZQUMxQyxXQUFXLEVBQUU7Z0JBQ1gsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUU7YUFDckQ7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsT0FBTyxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3RFO1FBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUzQyxXQUFXO1FBQ1gsTUFBTSxPQUFPLEdBQUcsSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtZQUMvRCxrQkFBa0IsRUFBRSxJQUFJLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDO1lBQ2xGLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztTQUN2QixDQUFDLENBQUM7UUFFSCxJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRTtZQUNyQyxLQUFLLEVBQUUsT0FBTyxDQUFDLFdBQVc7U0FDM0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFsQ0gsa0NBbUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYXBpZ2F0ZXdheXYyIGZyb20gJ0Bhd3MtY2RrL2F3cy1hcGlnYXRld2F5djItYWxwaGEnO1xuaW1wb3J0ICogYXMgaW50ZWdyYXRpb25zIGZyb20gJ0Bhd3MtY2RrL2F3cy1hcGlnYXRld2F5djItaW50ZWdyYXRpb25zLWFscGhhJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBldmVudHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWV2ZW50cyc7XG5pbXBvcnQgKiBhcyBub2RlanMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ub2RlanMnO1xuaW1wb3J0ICogYXMgbG9ncyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbG9ncyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIFNsYWNrRXZlbnRzUHJvcHMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBzaWduaW5nU2VjcmV0OiBjZGsuU2VjcmV0VmFsdWU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGFwaU5hbWU/OiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBjdXN0b21FdmVudEJ1cz86IGJvb2xlYW47XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgU2xhY2tFdmVudHMgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IGV2ZW50QnVzPzogZXZlbnRzLkV2ZW50QnVzO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTbGFja0V2ZW50c1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGlmIChwcm9wcy5jdXN0b21FdmVudEJ1cykge1xuICAgICAgdGhpcy5ldmVudEJ1cyA9IG5ldyBldmVudHMuRXZlbnRCdXModGhpcywgJ0V2ZW50QnVzJyk7XG4gICAgfVxuXG4gICAgLy8gU2VuZCBldmVudCB0byB0aGUgZXZlbnQgYnVzXG4gICAgY29uc3QgaGFuZGxlciA9IG5ldyBub2RlanMuTm9kZWpzRnVuY3Rpb24odGhpcywgJ2hhbmRsZXInLCB7XG4gICAgICBsb2dSZXRlbnRpb246IGxvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfTU9OVEgsXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBTTEFDS19TSUdOSU5HX1NFQ1JFVDogcHJvcHMuc2lnbmluZ1NlY3JldC50b1N0cmluZygpLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmV2ZW50QnVzKSB7XG4gICAgICBoYW5kbGVyLmFkZEVudmlyb25tZW50KCdFVkVOVF9CVVNfTkFNRScsIHRoaXMuZXZlbnRCdXMuZXZlbnRCdXNOYW1lKTtcbiAgICB9XG5cbiAgICBldmVudHMuRXZlbnRCdXMuZ3JhbnRBbGxQdXRFdmVudHMoaGFuZGxlcik7XG5cbiAgICAvLyBIVFRQIEFQSVxuICAgIGNvbnN0IGh0dHBBcGkgPSBuZXcgYXBpZ2F0ZXdheXYyLkh0dHBBcGkodGhpcywgJ1NsYWNrRXZlbnRzQXBpJywge1xuICAgICAgZGVmYXVsdEludGVncmF0aW9uOiBuZXcgaW50ZWdyYXRpb25zLkh0dHBMYW1iZGFJbnRlZ3JhdGlvbignSW50ZWdyYXRpb24nLCBoYW5kbGVyKSxcbiAgICAgIGFwaU5hbWU6IHByb3BzLmFwaU5hbWUsXG4gICAgfSk7XG5cbiAgICBuZXcgY2RrLkNmbk91dHB1dCh0aGlzLCAnQXBpRW5kcG9pbnQnLCB7XG4gICAgICB2YWx1ZTogaHR0cEFwaS5hcGlFbmRwb2ludCxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -54,5 +54,5 @@ class SlackTextract extends constructs_1.Construct {
|
|
|
54
54
|
}
|
|
55
55
|
exports.SlackTextract = SlackTextract;
|
|
56
56
|
_a = JSII_RTTI_SYMBOL_1;
|
|
57
|
-
SlackTextract[_a] = { fqn: "cloudstructs.SlackTextract", version: "0.4.
|
|
57
|
+
SlackTextract[_a] = { fqn: "cloudstructs.SlackTextract", version: "0.4.6" };
|
|
58
58
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2xhY2stdGV4dHJhY3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBb0Q7QUFDcEQsaURBQWlEO0FBQ2pELDBEQUEwRDtBQUMxRCwyQ0FBMkM7QUFDM0Msd0RBQXdEO0FBQ3hELDZDQUE2QztBQUM3QywyQ0FBdUM7QUFDdkMsa0RBQThDOzs7Ozs7QUFlOUMsTUFBYSxhQUFjLFNBQVEsc0JBQVM7Ozs7SUFDMUMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF5QjtRQUNqRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sT0FBTyxHQUFHLElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQ3pELE9BQU8sRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDN0IsWUFBWSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUztZQUMxQyxXQUFXLEVBQUU7Z0JBQ1gsV0FBVyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFO2FBQ3ZDO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7WUFDOUMsT0FBTyxFQUFFLENBQUMsNkJBQTZCLENBQUM7WUFDeEMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDO1NBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBRUosSUFBSSwwQkFBVyxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUU7WUFDbkMsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhO1NBQ25DLENBQUMsQ0FBQztRQUVILE1BQU0sY0FBYyxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLEVBQUU7WUFDOUQsWUFBWSxFQUFFO2dCQUNaLE1BQU0sRUFBRTtvQkFDTixLQUFLLEVBQUU7d0JBQ0wsSUFBSSxFQUFFLENBQUMsYUFBYSxDQUFDO3FCQUN0QjtpQkFDRjtnQkFDRCxTQUFTLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO2dCQUN4QixNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUM7YUFDbEI7U0FDRixDQUFDLENBQUM7UUFFSCxjQUFjLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUU7WUFDM0QsS0FBSyxFQUFFLE1BQU0sQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDO1NBQzlELENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQzs7QUFwQ0gsc0NBcUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHVyYXRpb24sIFNlY3JldFZhbHVlIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgZXZlbnRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMnO1xuaW1wb3J0ICogYXMgdGFyZ2V0cyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZXZlbnRzLXRhcmdldHMnO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0ICogYXMgbm9kZWpzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEtbm9kZWpzJztcbmltcG9ydCAqIGFzIGxvZ3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxvZ3MnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBTbGFja0V2ZW50cyB9IGZyb20gJy4uL3NsYWNrLWV2ZW50cyc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIFNsYWNrVGV4dHJhY3RQcm9wcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHNpZ25pbmdTZWNyZXQ6IFNlY3JldFZhbHVlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGJvdFRva2VuOiBTZWNyZXRWYWx1ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgYXBwSWQ6IHN0cmluZztcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIFNsYWNrVGV4dHJhY3QgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU2xhY2tUZXh0cmFjdFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGhhbmRsZXIgPSBuZXcgbm9kZWpzLk5vZGVqc0Z1bmN0aW9uKHRoaXMsICdoYW5kbGVyJywge1xuICAgICAgdGltZW91dDogRHVyYXRpb24uc2Vjb25kcygzMCksXG4gICAgICBsb2dSZXRlbnRpb246IGxvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfTU9OVEgsXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBTTEFDS19UT0tFTjogcHJvcHMuYm90VG9rZW4udG9TdHJpbmcoKSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBoYW5kbGVyLmFkZFRvUm9sZVBvbGljeShuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBhY3Rpb25zOiBbJ3RleHRyYWN0OkRldGVjdERvY3VtZW50VGV4dCddLFxuICAgICAgcmVzb3VyY2VzOiBbJyonXSxcbiAgICB9KSk7XG5cbiAgICBuZXcgU2xhY2tFdmVudHModGhpcywgJ1NsYWNrRXZlbnRzJywge1xuICAgICAgc2lnbmluZ1NlY3JldDogcHJvcHMuc2lnbmluZ1NlY3JldCxcbiAgICB9KTtcblxuICAgIGNvbnN0IGZpbGVTaGFyZWRSdWxlID0gbmV3IGV2ZW50cy5SdWxlKHRoaXMsICdTbGFja0V2ZW50c1J1bGUnLCB7XG4gICAgICBldmVudFBhdHRlcm46IHtcbiAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgZXZlbnQ6IHtcbiAgICAgICAgICAgIHR5cGU6IFsnZmlsZV9zaGFyZWQnXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICByZXNvdXJjZXM6IFtwcm9wcy5hcHBJZF0sXG4gICAgICAgIHNvdXJjZTogWydzbGFjayddLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGZpbGVTaGFyZWRSdWxlLmFkZFRhcmdldChuZXcgdGFyZ2V0cy5MYW1iZGFGdW5jdGlvbihoYW5kbGVyLCB7XG4gICAgICBldmVudDogZXZlbnRzLlJ1bGVUYXJnZXRJbnB1dC5mcm9tRXZlbnRQYXRoKCckLmRldGFpbC5ldmVudCcpLFxuICAgIH0pKTtcbiAgfVxufVxuIl19
|
|
@@ -111,5 +111,5 @@ class StateMachineCustomResourceProvider extends constructs_1.Construct {
|
|
|
111
111
|
}
|
|
112
112
|
exports.StateMachineCustomResourceProvider = StateMachineCustomResourceProvider;
|
|
113
113
|
_a = JSII_RTTI_SYMBOL_1;
|
|
114
|
-
StateMachineCustomResourceProvider[_a] = { fqn: "cloudstructs.StateMachineCustomResourceProvider", version: "0.4.
|
|
114
|
+
StateMachineCustomResourceProvider[_a] = { fqn: "cloudstructs.StateMachineCustomResourceProvider", version: "0.4.6" };
|
|
115
115
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RhdGUtbWFjaGluZS1jci1wcm92aWRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZCQUE2QjtBQUM3Qiw2Q0FBc0U7QUFDdEUsMkNBQTJDO0FBQzNDLGlEQUFpRDtBQUNqRCwyQ0FBdUM7Ozs7OztBQWtCdkMsTUFBYSxrQ0FBbUMsU0FBUSxzQkFBUzs7OztJQUkvRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQThDOztRQUN0RixLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRS9ELE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ3RDLFNBQVMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQztTQUM1RCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztZQUN2QyxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztZQUNsQyxTQUFTLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsbUJBQW1CLENBQUMsV0FBVyxDQUFDO1NBQy9FLENBQUMsQ0FBQyxDQUFDO1FBQ0osOEVBQThFO1FBQzlFLDhIQUE4SDtRQUM5SCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztZQUN2QyxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztZQUNsQyxTQUFTLEVBQUUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FB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QkFBc0I7WUFDL0IsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVztTQUNwQyxDQUFDLENBQUM7UUFDSCxjQUFjLENBQUMsZUFBZSxDQUFDLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztZQUNyRCxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztZQUNsQyxTQUFTLEVBQUUsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDO1NBQzlCLENBQUMsQ0FBQyxDQUFDO1FBQ0osY0FBYyxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFckUsSUFBSSxDQUFDLFlBQVksR0FBRyxjQUFjLENBQUMsV0FBVyxDQUFDO0lBQ2pELENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxNQUFjO1FBQ3hDLE9BQU8sSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxjQUFjLE1BQU0sRUFBRSxFQUFFO1lBQ3ZELElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUM1RCxPQUFPLEVBQUUsb0JBQW9CLE1BQU0sRUFBRTtZQUNyQyxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXO1NBQ3BDLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBcEdILGdGQXFHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBBcm5Gb3JtYXQsIENmblJlc291cmNlLCBEdXJhdGlvbiwgU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgSVN0YXRlTWFjaGluZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgc3RhdGVNYWNoaW5lQXJuOiBzdHJpbmc7XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIFN0YXRlTWFjaGluZUN1c3RvbVJlc291cmNlUHJvdmlkZXJQcm9wcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHN0YXRlTWFjaGluZTogSVN0YXRlTWFjaGluZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSB0aW1lb3V0PzogRHVyYXRpb247XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIFN0YXRlTWFjaGluZUN1c3RvbVJlc291cmNlUHJvdmlkZXIgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgc2VydmljZVRva2VuOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFN0YXRlTWFjaGluZUN1c3RvbVJlc291cmNlUHJvdmlkZXJQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBjZm5SZXNwb25zZVN1Y2Nlc3NGbiA9IHRoaXMuY3JlYXRlQ2ZuUmVzcG9uc2VGbignU3VjY2VzcycpO1xuICAgIGNvbnN0IGNmblJlc3BvbnNlRmFpbGVkRm4gPSB0aGlzLmNyZWF0ZUNmblJlc3BvbnNlRm4oJ0ZhaWxlZCcpO1xuXG4gICAgY29uc3Qgcm9sZSA9IG5ldyBpYW0uUm9sZSh0aGlzLCAnUm9sZScsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKCdzdGF0ZXMuYW1hem9uYXdzLmNvbScpLFxuICAgIH0pO1xuICAgIHJvbGUuYWRkVG9Qb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgYWN0aW9uczogWydsYW1iZGE6SW52b2tlRnVuY3Rpb24nXSxcbiAgICAgIHJlc291cmNlczogW2NmblJlc3BvbnNlU3VjY2Vzc0ZuLmZ1bmN0aW9uQXJuLCBjZm5SZXNwb25zZUZhaWxlZEZuLmZ1bmN0aW9uQXJuXSxcbiAgICB9KSk7XG4gICAgLy8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3N0ZXAtZnVuY3Rpb25zL2xhdGVzdC9kZy9zdGVwZnVuY3Rpb25zLWlhbS5odG1sXG4gICAgLy8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3N0ZXAtZnVuY3Rpb25zL2xhdGVzdC9kZy9jb25jZXB0LWNyZWF0ZS1pYW0tYWR2YW5jZWQuaHRtbCNjb25jZXB0LWNyZWF0ZS1pYW0tYWR2YW5jZWQtZXhlY3V0aW9uXG4gICAgcm9sZS5hZGRUb1BvbGljeShuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBhY3Rpb25zOiBbJ3N0YXRlczpTdGFydEV4ZWN1dGlvbiddLFxuICAgICAgcmVzb3VyY2VzOiBbcHJvcHMuc3RhdGVNYWNoaW5lLnN0YXRlTWFjaGluZUFybl0sXG4gICAgfSkpO1xuICAgIHJvbGUuYWRkVG9Qb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgYWN0aW9uczogWydzdGF0ZXM6RGVzY3JpYmVFeGVjdXRpb24nLCAnc3RhdGVzOlN0b3BFeGVjdXRpb24nXSxcbiAgICAgIHJlc291cmNlczogW1N0YWNrLm9mKHRoaXMpLmZvcm1hdEFybih7XG4gICAgICAgIHNlcnZpY2U6ICdzdGF0ZXMnLFxuICAgICAgICByZXNvdXJjZTogJ2V4ZWN1dGlvbicsXG4gICAgICAgIGFybkZvcm1hdDogQXJuRm9ybWF0LkNPTE9OX1JFU09VUkNFX05BTUUsXG4gICAgICAgIHJlc291cmNlTmFtZTogYCR7U3RhY2sub2YodGhpcykuc3BsaXRBcm4ocHJvcHMuc3RhdGVNYWNoaW5lLnN0YXRlTWFjaGluZUFybiwgQXJuRm9ybWF0LkNPTE9OX1JFU09VUkNFX05BTUUpLnJlc291cmNlTmFtZX0qYCxcbiAgICAgIH0pXSxcbiAgICB9KSk7XG4gICAgcm9sZS5hZGRUb1BvbGljeShuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBhY3Rpb25zOiBbJ2V2ZW50czpQdXRUYXJnZXRzJywgJ2V2ZW50czpQdXRSdWxlJywgJ2V2ZW50czpEZXNjcmliZVJ1bGUnXSxcbiAgICAgIHJlc291cmNlczogW1N0YWNrLm9mKHRoaXMpLmZvcm1hdEFybih7XG4gICAgICAgIHNlcnZpY2U6ICdldmVudHMnLFxuICAgICAgICByZXNvdXJjZTogJ3J1bGUnLFxuICAgICAgICByZXNvdXJjZU5hbWU6ICdTdGVwRnVuY3Rpb25zR2V0RXZlbnRzRm9yU3RlcEZ1bmN0aW9uc0V4ZWN1dGlvblJ1bGUnLFxuICAgICAgfSldLFxuICAgIH0pKTtcblxuICAgIGNvbnN0IGRlZmluaXRpb24gPSBTdGFjay5vZih0aGlzKS50b0pzb25TdHJpbmcoe1xuICAgICAgU3RhcnRBdDogJ1N0YXJ0RXhlY3V0aW9uJyxcbiAgICAgIFN0YXRlczoge1xuICAgICAgICBTdGFydEV4ZWN1dGlvbjoge1xuICAgICAgICAgIFR5cGU6ICdUYXNrJyxcbiAgICAgICAgICBSZXNvdXJjZTogJ2Fybjphd3M6c3RhdGVzOjo6c3RhdGVzOnN0YXJ0RXhlY3V0aW9uLnN5bmM6MicsIC8vIHdpdGggc3luYzoyIHRoZSBPdXRwdXQgaXMgSlNPTiBwYXJzZWRcbiAgICAgICAgICBQYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgICAnSW5wdXQuJCc6ICckJyxcbiAgICAgICAgICAgICdTdGF0ZU1hY2hpbmVBcm4nOiBwcm9wcy5zdGF0ZU1hY2hpbmUuc3RhdGVNYWNoaW5lQXJuLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgVGltZW91dFNlY29uZHM6IChwcm9wcy50aW1lb3V0ID8/IER1cmF0aW9uLm1pbnV0ZXMoMzApKS50b1NlY29uZHMoKSxcbiAgICAgICAgICBOZXh0OiAnQ2ZuUmVzcG9uc2VTdWNjZXNzJyxcbiAgICAgICAgICBDYXRjaDogW3tcbiAgICAgICAgICAgIEVycm9yRXF1YWxzOiBbJ1N0YXRlcy5BTEwnXSxcbiAgICAgICAgICAgIE5leHQ6ICdDZm5SZXNwb25zZUZhaWxlZCcsXG4gICAgICAgICAgfV0sXG4gICAgICAgIH0sXG4gICAgICAgIENmblJlc3BvbnNlU3VjY2Vzczoge1xuICAgICAgICAgIFR5cGU6ICdUYXNrJyxcbiAgICAgICAgICBSZXNvdXJjZTogY2ZuUmVzcG9uc2VTdWNjZXNzRm4uZnVuY3Rpb25Bcm4sXG4gICAgICAgICAgRW5kOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBDZm5SZXNwb25zZUZhaWxlZDoge1xuICAgICAgICAgIFR5cGU6ICdUYXNrJyxcbiAgICAgICAgICBSZXNvdXJjZTogY2ZuUmVzcG9uc2VGYWlsZWRGbi5mdW5jdGlvbkFybixcbiAgICAgICAgICBFbmQ6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc3RhdGVNYWNoaW5lID0gbmV3IENmblJlc291cmNlKHRoaXMsICdTdGF0ZU1hY2hpbmUnLCB7XG4gICAgICB0eXBlOiAnQVdTOjpTdGVwRnVuY3Rpb25zOjpTdGF0ZU1hY2hpbmUnLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBEZWZpbml0aW9uU3RyaW5nOiBkZWZpbml0aW9uLFxuICAgICAgICBSb2xlQXJuOiByb2xlLnJvbGVBcm4sXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHN0YXRlTWFjaGluZS5ub2RlLmFkZERlcGVuZGVuY3kocm9sZSk7XG5cbiAgICBjb25zdCBzdGFydEV4ZWN1dGlvbiA9IG5ldyBsYW1iZGEuRnVuY3Rpb24odGhpcywgJ1N0YXJ0RXhlY3V0aW9uJywge1xuICAgICAgY29kZTogbGFtYmRhLkNvZGUuZnJvbUFzc2V0KHBhdGguam9pbihfX2Rpcm5hbWUsICdydW50aW1lJykpLFxuICAgICAgaGFuZGxlcjogJ2luZGV4LnN0YXJ0RXhlY3V0aW9uJyxcbiAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLk5PREVKU18xNF9YLFxuICAgIH0pO1xuICAgIHN0YXJ0RXhlY3V0aW9uLmFkZFRvUm9sZVBvbGljeShuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBhY3Rpb25zOiBbJ3N0YXRlczpTdGFydEV4ZWN1dGlvbiddLFxuICAgICAgcmVzb3VyY2VzOiBbc3RhdGVNYWNoaW5lLnJlZl0sXG4gICAgfSkpO1xuICAgIHN0YXJ0RXhlY3V0aW9uLmFkZEVudmlyb25tZW50KCdTVEFURV9NQUNISU5FX0FSTicsIHN0YXRlTWFjaGluZS5yZWYpO1xuXG4gICAgdGhpcy5zZXJ2aWNlVG9rZW4gPSBzdGFydEV4ZWN1dGlvbi5mdW5jdGlvbkFybjtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQ2ZuUmVzcG9uc2VGbihzdGF0dXM6IHN0cmluZykge1xuICAgIHJldHVybiBuZXcgbGFtYmRhLkZ1bmN0aW9uKHRoaXMsIGBDZm5SZXNwb25zZSR7c3RhdHVzfWAsIHtcbiAgICAgIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Bc3NldChwYXRoLmpvaW4oX19kaXJuYW1lLCAncnVudGltZScpKSxcbiAgICAgIGhhbmRsZXI6IGBpbmRleC5jZm5SZXNwb25zZSR7c3RhdHVzfWAsXG4gICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5OT0RFSlNfMTRfWCxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -108,7 +108,7 @@ class StaticWebsite extends constructs_1.Construct {
|
|
|
108
108
|
}
|
|
109
109
|
exports.StaticWebsite = StaticWebsite;
|
|
110
110
|
_a = JSII_RTTI_SYMBOL_1;
|
|
111
|
-
StaticWebsite[_a] = { fqn: "cloudstructs.StaticWebsite", version: "0.4.
|
|
111
|
+
StaticWebsite[_a] = { fqn: "cloudstructs.StaticWebsite", version: "0.4.6" };
|
|
112
112
|
/**
|
|
113
113
|
* Best practice security headers used as default.
|
|
114
114
|
*
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as lambda from 'aws-cdk-lib/aws-lambda';
|
|
2
|
+
import { Construct } from 'constructs';
|
|
3
|
+
/**
|
|
4
|
+
* Props for CleanImagesFunction
|
|
5
|
+
*/
|
|
6
|
+
export interface CleanImagesFunctionProps extends lambda.FunctionOptions {
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* An AWS Lambda function which executes src/toolkit-cleaner/clean-images.
|
|
10
|
+
*/
|
|
11
|
+
export declare class CleanImagesFunction extends lambda.Function {
|
|
12
|
+
constructor(scope: Construct, id: string, props?: CleanImagesFunctionProps);
|
|
13
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CleanImagesFunction = void 0;
|
|
4
|
+
// ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
|
|
5
|
+
const path = require("path");
|
|
6
|
+
const lambda = require("aws-cdk-lib/aws-lambda");
|
|
7
|
+
/**
|
|
8
|
+
* An AWS Lambda function which executes src/toolkit-cleaner/clean-images.
|
|
9
|
+
*/
|
|
10
|
+
class CleanImagesFunction extends lambda.Function {
|
|
11
|
+
constructor(scope, id, props) {
|
|
12
|
+
super(scope, id, {
|
|
13
|
+
description: 'src/toolkit-cleaner/clean-images.lambda.ts',
|
|
14
|
+
...props,
|
|
15
|
+
runtime: lambda.Runtime.NODEJS_14_X,
|
|
16
|
+
handler: 'index.handler',
|
|
17
|
+
code: lambda.Code.fromAsset(path.join(__dirname, '../../assets/toolkit-cleaner/clean-images.lambda')),
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.CleanImagesFunction = CleanImagesFunction;
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW4taW1hZ2VzLWZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rvb2xraXQtY2xlYW5lci9jbGVhbi1pbWFnZXMtZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkVBQTZFO0FBQzdFLDZCQUE2QjtBQUM3QixpREFBaUQ7QUFTakQ7O0dBRUc7QUFDSCxNQUFhLG1CQUFvQixTQUFRLE1BQU0sQ0FBQyxRQUFRO0lBQ3RELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBZ0M7UUFDeEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixXQUFXLEVBQUUsNENBQTRDO1lBQ3pELEdBQUcsS0FBSztZQUNSLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVc7WUFDbkMsT0FBTyxFQUFFLGVBQWU7WUFDeEIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGtEQUFrRCxDQUFDLENBQUM7U0FDdEcsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBVkQsa0RBVUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLmpzIGFuZCBydW4gXCJucHggcHJvamVuXCIuXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKlxuICogUHJvcHMgZm9yIENsZWFuSW1hZ2VzRnVuY3Rpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbGVhbkltYWdlc0Z1bmN0aW9uUHJvcHMgZXh0ZW5kcyBsYW1iZGEuRnVuY3Rpb25PcHRpb25zIHtcbn1cblxuLyoqXG4gKiBBbiBBV1MgTGFtYmRhIGZ1bmN0aW9uIHdoaWNoIGV4ZWN1dGVzIHNyYy90b29sa2l0LWNsZWFuZXIvY2xlYW4taW1hZ2VzLlxuICovXG5leHBvcnQgY2xhc3MgQ2xlYW5JbWFnZXNGdW5jdGlvbiBleHRlbmRzIGxhbWJkYS5GdW5jdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogQ2xlYW5JbWFnZXNGdW5jdGlvblByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ3NyYy90b29sa2l0LWNsZWFuZXIvY2xlYW4taW1hZ2VzLmxhbWJkYS50cycsXG4gICAgICAuLi5wcm9wcyxcbiAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLk5PREVKU18xNF9YLFxuICAgICAgaGFuZGxlcjogJ2luZGV4LmhhbmRsZXInLFxuICAgICAgY29kZTogbGFtYmRhLkNvZGUuZnJvbUFzc2V0KHBhdGguam9pbihfX2Rpcm5hbWUsICcuLi8uLi9hc3NldHMvdG9vbGtpdC1jbGVhbmVyL2NsZWFuLWltYWdlcy5sYW1iZGEnKSksXG4gICAgfSk7XG4gIH1cbn0iXX0=
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handler = void 0;
|
|
4
|
+
const aws_sdk_1 = require("aws-sdk"); // eslint-disable-line import/no-extraneous-dependencies
|
|
5
|
+
const ecr = new aws_sdk_1.ECR();
|
|
6
|
+
async function handler(assetHashes) {
|
|
7
|
+
var _a;
|
|
8
|
+
if (!process.env.REPOSITORY_NAME) {
|
|
9
|
+
throw new Error('Missing REPOSITORY_NAME');
|
|
10
|
+
}
|
|
11
|
+
let deleted = 0;
|
|
12
|
+
let reclaimed = 0;
|
|
13
|
+
let nextToken;
|
|
14
|
+
let finished = false;
|
|
15
|
+
while (!finished) {
|
|
16
|
+
const response = await ecr.describeImages({
|
|
17
|
+
repositoryName: process.env.REPOSITORY_NAME,
|
|
18
|
+
nextToken,
|
|
19
|
+
}).promise();
|
|
20
|
+
const toDelete = (_a = response.imageDetails) === null || _a === void 0 ? void 0 : _a.filter(x => {
|
|
21
|
+
let pred = x.imageTags && !assetHashes.includes(x.imageTags[0]);
|
|
22
|
+
if (process.env.RETAIN_MILLISECONDS) {
|
|
23
|
+
const limitDate = new Date(Date.now() - parseInt(process.env.RETAIN_MILLISECONDS));
|
|
24
|
+
pred = pred && x.imagePushedAt && x.imagePushedAt < limitDate;
|
|
25
|
+
}
|
|
26
|
+
return pred;
|
|
27
|
+
});
|
|
28
|
+
if (toDelete && toDelete.length !== 0) {
|
|
29
|
+
if (process.env.RUN) {
|
|
30
|
+
await ecr.batchDeleteImage({
|
|
31
|
+
repositoryName: process.env.REPOSITORY_NAME,
|
|
32
|
+
imageIds: toDelete.map(x => ({ imageTag: x.imageTags[0] })),
|
|
33
|
+
}).promise();
|
|
34
|
+
}
|
|
35
|
+
deleted += toDelete.length;
|
|
36
|
+
reclaimed += toDelete.reduce((acc, x) => { var _a; return acc + ((_a = x.imageSizeInBytes) !== null && _a !== void 0 ? _a : 0); }, 0);
|
|
37
|
+
}
|
|
38
|
+
nextToken = response.nextToken;
|
|
39
|
+
if (nextToken === undefined) {
|
|
40
|
+
finished = true;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
Deleted: deleted,
|
|
45
|
+
Reclaimed: reclaimed,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
exports.handler = handler;
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW4taW1hZ2VzLmxhbWJkYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b29sa2l0LWNsZWFuZXIvY2xlYW4taW1hZ2VzLmxhbWJkYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQ0FBOEIsQ0FBQyx3REFBd0Q7QUFFdkYsTUFBTSxHQUFHLEdBQUcsSUFBSSxhQUFHLEVBQUUsQ0FBQztBQUVmLEtBQUssVUFBVSxPQUFPLENBQUMsV0FBcUI7O0lBQ2pELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRTtRQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7S0FDNUM7SUFFRCxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7SUFDaEIsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBRWxCLElBQUksU0FBNkIsQ0FBQztJQUNsQyxJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDckIsT0FBTyxDQUFDLFFBQVEsRUFBRTtRQUNoQixNQUFNLFFBQVEsR0FBRyxNQUFNLEdBQUcsQ0FBQyxjQUFjLENBQUM7WUFDeEMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZTtZQUMzQyxTQUFTO1NBQ1YsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRWIsTUFBTSxRQUFRLFNBQUcsUUFBUSxDQUFDLFlBQVksMENBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2pELElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQyxTQUFTLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoRSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUU7Z0JBQ25DLE1BQU0sU0FBUyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7Z0JBQ25GLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQzthQUMvRDtZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNyQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNuQixNQUFNLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDekIsY0FBYyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZTtvQkFDM0MsUUFBUSxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxTQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUM3RCxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDZDtZQUNELE9BQU8sSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQzNCLFNBQVMsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLFdBQUMsT0FBQSxHQUFHLEdBQUcsT0FBQyxDQUFDLENBQUMsZ0JBQWdCLG1DQUFJLENBQUMsQ0FBQyxDQUFBLEVBQUEsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUM5RTtRQUVELFNBQVMsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDO1FBQy9CLElBQUksU0FBUyxLQUFLLFNBQVMsRUFBRTtZQUMzQixRQUFRLEdBQUcsSUFBSSxDQUFDO1NBQ2pCO0tBQ0Y7SUFFRCxPQUFPO1FBQ0wsT0FBTyxFQUFFLE9BQU87UUFDaEIsU0FBUyxFQUFFLFNBQVM7S0FDckIsQ0FBQztBQUNKLENBQUM7QUE5Q0QsMEJBOENDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRUNSIH0gZnJvbSAnYXdzLXNkayc7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgaW1wb3J0L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzXG5cbmNvbnN0IGVjciA9IG5ldyBFQ1IoKTtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGhhbmRsZXIoYXNzZXRIYXNoZXM6IHN0cmluZ1tdKSB7XG4gIGlmICghcHJvY2Vzcy5lbnYuUkVQT1NJVE9SWV9OQU1FKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIFJFUE9TSVRPUllfTkFNRScpO1xuICB9XG5cbiAgbGV0IGRlbGV0ZWQgPSAwO1xuICBsZXQgcmVjbGFpbWVkID0gMDtcblxuICBsZXQgbmV4dFRva2VuOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIGxldCBmaW5pc2hlZCA9IGZhbHNlO1xuICB3aGlsZSAoIWZpbmlzaGVkKSB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBlY3IuZGVzY3JpYmVJbWFnZXMoe1xuICAgICAgcmVwb3NpdG9yeU5hbWU6IHByb2Nlc3MuZW52LlJFUE9TSVRPUllfTkFNRSxcbiAgICAgIG5leHRUb2tlbixcbiAgICB9KS5wcm9taXNlKCk7XG5cbiAgICBjb25zdCB0b0RlbGV0ZSA9IHJlc3BvbnNlLmltYWdlRGV0YWlscz8uZmlsdGVyKHggPT4ge1xuICAgICAgbGV0IHByZWQgPSB4LmltYWdlVGFncyAmJiAhYXNzZXRIYXNoZXMuaW5jbHVkZXMoeC5pbWFnZVRhZ3NbMF0pO1xuICAgICAgaWYgKHByb2Nlc3MuZW52LlJFVEFJTl9NSUxMSVNFQ09ORFMpIHtcbiAgICAgICAgY29uc3QgbGltaXREYXRlID0gbmV3IERhdGUoRGF0ZS5ub3coKSAtIHBhcnNlSW50KHByb2Nlc3MuZW52LlJFVEFJTl9NSUxMSVNFQ09ORFMpKTtcbiAgICAgICAgcHJlZCA9IHByZWQgJiYgeC5pbWFnZVB1c2hlZEF0ICYmIHguaW1hZ2VQdXNoZWRBdCA8IGxpbWl0RGF0ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBwcmVkO1xuICAgIH0pO1xuXG4gICAgaWYgKHRvRGVsZXRlICYmIHRvRGVsZXRlLmxlbmd0aCAhPT0gMCkge1xuICAgICAgaWYgKHByb2Nlc3MuZW52LlJVTikge1xuICAgICAgICBhd2FpdCBlY3IuYmF0Y2hEZWxldGVJbWFnZSh7XG4gICAgICAgICAgcmVwb3NpdG9yeU5hbWU6IHByb2Nlc3MuZW52LlJFUE9TSVRPUllfTkFNRSxcbiAgICAgICAgICBpbWFnZUlkczogdG9EZWxldGUubWFwKHggPT4gKHsgaW1hZ2VUYWc6IHguaW1hZ2VUYWdzIVswXSB9KSksXG4gICAgICAgIH0pLnByb21pc2UoKTtcbiAgICAgIH1cbiAgICAgIGRlbGV0ZWQgKz0gdG9EZWxldGUubGVuZ3RoO1xuICAgICAgcmVjbGFpbWVkICs9IHRvRGVsZXRlLnJlZHVjZSgoYWNjLCB4KSA9PiBhY2MgKyAoeC5pbWFnZVNpemVJbkJ5dGVzID8/IDApLCAwKTtcbiAgICB9XG5cbiAgICBuZXh0VG9rZW4gPSByZXNwb25zZS5uZXh0VG9rZW47XG4gICAgaWYgKG5leHRUb2tlbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBmaW5pc2hlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBEZWxldGVkOiBkZWxldGVkLFxuICAgIFJlY2xhaW1lZDogcmVjbGFpbWVkLFxuICB9O1xufVxuIl19
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as lambda from 'aws-cdk-lib/aws-lambda';
|
|
2
|
+
import { Construct } from 'constructs';
|
|
3
|
+
/**
|
|
4
|
+
* Props for CleanObjectsFunction
|
|
5
|
+
*/
|
|
6
|
+
export interface CleanObjectsFunctionProps extends lambda.FunctionOptions {
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* An AWS Lambda function which executes src/toolkit-cleaner/clean-objects.
|
|
10
|
+
*/
|
|
11
|
+
export declare class CleanObjectsFunction extends lambda.Function {
|
|
12
|
+
constructor(scope: Construct, id: string, props?: CleanObjectsFunctionProps);
|
|
13
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CleanObjectsFunction = void 0;
|
|
4
|
+
// ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
|
|
5
|
+
const path = require("path");
|
|
6
|
+
const lambda = require("aws-cdk-lib/aws-lambda");
|
|
7
|
+
/**
|
|
8
|
+
* An AWS Lambda function which executes src/toolkit-cleaner/clean-objects.
|
|
9
|
+
*/
|
|
10
|
+
class CleanObjectsFunction extends lambda.Function {
|
|
11
|
+
constructor(scope, id, props) {
|
|
12
|
+
super(scope, id, {
|
|
13
|
+
description: 'src/toolkit-cleaner/clean-objects.lambda.ts',
|
|
14
|
+
...props,
|
|
15
|
+
runtime: lambda.Runtime.NODEJS_14_X,
|
|
16
|
+
handler: 'index.handler',
|
|
17
|
+
code: lambda.Code.fromAsset(path.join(__dirname, '../../assets/toolkit-cleaner/clean-objects.lambda')),
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.CleanObjectsFunction = CleanObjectsFunction;
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW4tb2JqZWN0cy1mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b29sa2l0LWNsZWFuZXIvY2xlYW4tb2JqZWN0cy1mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2RUFBNkU7QUFDN0UsNkJBQTZCO0FBQzdCLGlEQUFpRDtBQVNqRDs7R0FFRztBQUNILE1BQWEsb0JBQXFCLFNBQVEsTUFBTSxDQUFDLFFBQVE7SUFDdkQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFpQztRQUN6RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFdBQVcsRUFBRSw2Q0FBNkM7WUFDMUQsR0FBRyxLQUFLO1lBQ1IsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVztZQUNuQyxPQUFPLEVBQUUsZUFBZTtZQUN4QixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsbURBQW1ELENBQUMsQ0FBQztTQUN2RyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFWRCxvREFVQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMuanMgYW5kIHJ1biBcIm5weCBwcm9qZW5cIi5cbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuLyoqXG4gKiBQcm9wcyBmb3IgQ2xlYW5PYmplY3RzRnVuY3Rpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbGVhbk9iamVjdHNGdW5jdGlvblByb3BzIGV4dGVuZHMgbGFtYmRhLkZ1bmN0aW9uT3B0aW9ucyB7XG59XG5cbi8qKlxuICogQW4gQVdTIExhbWJkYSBmdW5jdGlvbiB3aGljaCBleGVjdXRlcyBzcmMvdG9vbGtpdC1jbGVhbmVyL2NsZWFuLW9iamVjdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBDbGVhbk9iamVjdHNGdW5jdGlvbiBleHRlbmRzIGxhbWJkYS5GdW5jdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogQ2xlYW5PYmplY3RzRnVuY3Rpb25Qcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgZGVzY3JpcHRpb246ICdzcmMvdG9vbGtpdC1jbGVhbmVyL2NsZWFuLW9iamVjdHMubGFtYmRhLnRzJyxcbiAgICAgIC4uLnByb3BzLFxuICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzE0X1gsXG4gICAgICBoYW5kbGVyOiAnaW5kZXguaGFuZGxlcicsXG4gICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uLy4uL2Fzc2V0cy90b29sa2l0LWNsZWFuZXIvY2xlYW4tb2JqZWN0cy5sYW1iZGEnKSksXG4gICAgfSk7XG4gIH1cbn0iXX0=
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handler = void 0;
|
|
4
|
+
const path = require("path");
|
|
5
|
+
const aws_sdk_1 = require("aws-sdk"); // eslint-disable-line import/no-extraneous-dependencies
|
|
6
|
+
const s3 = new aws_sdk_1.S3();
|
|
7
|
+
async function handler(assetHashes) {
|
|
8
|
+
var _a;
|
|
9
|
+
if (!process.env.BUCKET_NAME) {
|
|
10
|
+
throw new Error('Missing BUCKET_NAME');
|
|
11
|
+
}
|
|
12
|
+
let deleted = 0;
|
|
13
|
+
let reclaimed = 0;
|
|
14
|
+
let nextToken;
|
|
15
|
+
let finished = false;
|
|
16
|
+
while (!finished) {
|
|
17
|
+
const response = await s3.listObjectsV2({
|
|
18
|
+
Bucket: process.env.BUCKET_NAME,
|
|
19
|
+
ContinuationToken: nextToken,
|
|
20
|
+
}).promise();
|
|
21
|
+
const toDelete = (_a = response.Contents) === null || _a === void 0 ? void 0 : _a.filter(x => {
|
|
22
|
+
let pred = x.Key && !assetHashes.includes(path.basename(x.Key));
|
|
23
|
+
if (process.env.RETAIN_MILLISECONDS) {
|
|
24
|
+
const limitDate = new Date(Date.now() - parseInt(process.env.RETAIN_MILLISECONDS));
|
|
25
|
+
pred = pred && x.LastModified && x.LastModified < limitDate;
|
|
26
|
+
}
|
|
27
|
+
return pred;
|
|
28
|
+
});
|
|
29
|
+
if (toDelete && toDelete.length !== 0) {
|
|
30
|
+
if (process.env.RUN) {
|
|
31
|
+
await s3.deleteObjects({
|
|
32
|
+
Bucket: process.env.BUCKET_NAME,
|
|
33
|
+
Delete: {
|
|
34
|
+
Objects: toDelete.map(x => ({ Key: x.Key })),
|
|
35
|
+
},
|
|
36
|
+
}).promise();
|
|
37
|
+
}
|
|
38
|
+
deleted += toDelete.length;
|
|
39
|
+
reclaimed += toDelete.reduce((acc, x) => { var _a; return acc + ((_a = x.Size) !== null && _a !== void 0 ? _a : 0); }, 0);
|
|
40
|
+
}
|
|
41
|
+
nextToken = response.NextContinuationToken;
|
|
42
|
+
if (nextToken === undefined) {
|
|
43
|
+
finished = true;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return {
|
|
47
|
+
Deleted: deleted,
|
|
48
|
+
Reclaimed: reclaimed,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
exports.handler = handler;
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW4tb2JqZWN0cy5sYW1iZGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9vbGtpdC1jbGVhbmVyL2NsZWFuLW9iamVjdHMubGFtYmRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUE2QjtBQUM3QixxQ0FBNkIsQ0FBQyx3REFBd0Q7QUFFdEYsTUFBTSxFQUFFLEdBQUcsSUFBSSxZQUFFLEVBQUUsQ0FBQztBQUViLEtBQUssVUFBVSxPQUFPLENBQUMsV0FBcUI7O0lBQ2pELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRTtRQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7S0FDeEM7SUFFRCxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7SUFDaEIsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBRWxCLElBQUksU0FBNkIsQ0FBQztJQUNsQyxJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDckIsT0FBTyxDQUFDLFFBQVEsRUFBRTtRQUNoQixNQUFNLFFBQVEsR0FBRyxNQUFNLEVBQUUsQ0FBQyxhQUFhLENBQUM7WUFDdEMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVztZQUMvQixpQkFBaUIsRUFBRSxTQUFTO1NBQzdCLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUViLE1BQU0sUUFBUSxTQUFHLFFBQVEsQ0FBQyxRQUFRLDBDQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM3QyxJQUFJLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ2hFLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRTtnQkFDbkMsTUFBTSxTQUFTLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztnQkFDbkYsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO2FBQzdEO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ25CLE1BQU0sRUFBRSxDQUFDLGFBQWEsQ0FBQztvQkFDckIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVztvQkFDL0IsTUFBTSxFQUFFO3dCQUNOLE9BQU8sRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBSSxFQUFFLENBQUMsQ0FBQztxQkFDOUM7aUJBQ0YsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ2Q7WUFDRCxPQUFPLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUMzQixTQUFTLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxXQUFDLE9BQUEsR0FBRyxHQUFHLE9BQUMsQ0FBQyxDQUFDLElBQUksbUNBQUksQ0FBQyxDQUFDLENBQUEsRUFBQSxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ2xFO1FBRUQsU0FBUyxHQUFHLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQztRQUMzQyxJQUFJLFNBQVMsS0FBSyxTQUFTLEVBQUU7WUFDM0IsUUFBUSxHQUFHLElBQUksQ0FBQztTQUNqQjtLQUNGO0lBRUQsT0FBTztRQUNMLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFNBQVMsRUFBRSxTQUFTO0tBQ3JCLENBQUM7QUFDSixDQUFDO0FBaERELDBCQWdEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBTMyB9IGZyb20gJ2F3cy1zZGsnOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llc1xuXG5jb25zdCBzMyA9IG5ldyBTMygpO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaGFuZGxlcihhc3NldEhhc2hlczogc3RyaW5nW10pIHtcbiAgaWYgKCFwcm9jZXNzLmVudi5CVUNLRVRfTkFNRSkge1xuICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBCVUNLRVRfTkFNRScpO1xuICB9XG5cbiAgbGV0IGRlbGV0ZWQgPSAwO1xuICBsZXQgcmVjbGFpbWVkID0gMDtcblxuICBsZXQgbmV4dFRva2VuOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIGxldCBmaW5pc2hlZCA9IGZhbHNlO1xuICB3aGlsZSAoIWZpbmlzaGVkKSB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBzMy5saXN0T2JqZWN0c1YyKHtcbiAgICAgIEJ1Y2tldDogcHJvY2Vzcy5lbnYuQlVDS0VUX05BTUUsXG4gICAgICBDb250aW51YXRpb25Ub2tlbjogbmV4dFRva2VuLFxuICAgIH0pLnByb21pc2UoKTtcblxuICAgIGNvbnN0IHRvRGVsZXRlID0gcmVzcG9uc2UuQ29udGVudHM/LmZpbHRlcih4ID0+IHtcbiAgICAgIGxldCBwcmVkID0geC5LZXkgJiYgIWFzc2V0SGFzaGVzLmluY2x1ZGVzKHBhdGguYmFzZW5hbWUoeC5LZXkpKTtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5SRVRBSU5fTUlMTElTRUNPTkRTKSB7XG4gICAgICAgIGNvbnN0IGxpbWl0RGF0ZSA9IG5ldyBEYXRlKERhdGUubm93KCkgLSBwYXJzZUludChwcm9jZXNzLmVudi5SRVRBSU5fTUlMTElTRUNPTkRTKSk7XG4gICAgICAgIHByZWQgPSBwcmVkICYmIHguTGFzdE1vZGlmaWVkICYmIHguTGFzdE1vZGlmaWVkIDwgbGltaXREYXRlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHByZWQ7XG4gICAgfSk7XG5cbiAgICBpZiAodG9EZWxldGUgJiYgdG9EZWxldGUubGVuZ3RoICE9PSAwKSB7XG4gICAgICBpZiAocHJvY2Vzcy5lbnYuUlVOKSB7XG4gICAgICAgIGF3YWl0IHMzLmRlbGV0ZU9iamVjdHMoe1xuICAgICAgICAgIEJ1Y2tldDogcHJvY2Vzcy5lbnYuQlVDS0VUX05BTUUsXG4gICAgICAgICAgRGVsZXRlOiB7XG4gICAgICAgICAgICBPYmplY3RzOiB0b0RlbGV0ZS5tYXAoeCA9PiAoeyBLZXk6IHguS2V5ISB9KSksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSkucHJvbWlzZSgpO1xuICAgICAgfVxuICAgICAgZGVsZXRlZCArPSB0b0RlbGV0ZS5sZW5ndGg7XG4gICAgICByZWNsYWltZWQgKz0gdG9EZWxldGUucmVkdWNlKChhY2MsIHgpID0+IGFjYyArICh4LlNpemUgPz8gMCksIDApO1xuICAgIH1cblxuICAgIG5leHRUb2tlbiA9IHJlc3BvbnNlLk5leHRDb250aW51YXRpb25Ub2tlbjtcbiAgICBpZiAobmV4dFRva2VuID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGZpbmlzaGVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIERlbGV0ZWQ6IGRlbGV0ZWQsXG4gICAgUmVjbGFpbWVkOiByZWNsYWltZWQsXG4gIH07XG59XG4iXX0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as lambda from 'aws-cdk-lib/aws-lambda';
|
|
2
|
+
import { Construct } from 'constructs';
|
|
3
|
+
/**
|
|
4
|
+
* Props for GetStackNamesFunction
|
|
5
|
+
*/
|
|
6
|
+
export interface GetStackNamesFunctionProps extends lambda.FunctionOptions {
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* An AWS Lambda function which executes src/toolkit-cleaner/get-stack-names.
|
|
10
|
+
*/
|
|
11
|
+
export declare class GetStackNamesFunction extends lambda.Function {
|
|
12
|
+
constructor(scope: Construct, id: string, props?: GetStackNamesFunctionProps);
|
|
13
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GetStackNamesFunction = void 0;
|
|
4
|
+
// ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
|
|
5
|
+
const path = require("path");
|
|
6
|
+
const lambda = require("aws-cdk-lib/aws-lambda");
|
|
7
|
+
/**
|
|
8
|
+
* An AWS Lambda function which executes src/toolkit-cleaner/get-stack-names.
|
|
9
|
+
*/
|
|
10
|
+
class GetStackNamesFunction extends lambda.Function {
|
|
11
|
+
constructor(scope, id, props) {
|
|
12
|
+
super(scope, id, {
|
|
13
|
+
description: 'src/toolkit-cleaner/get-stack-names.lambda.ts',
|
|
14
|
+
...props,
|
|
15
|
+
runtime: lambda.Runtime.NODEJS_14_X,
|
|
16
|
+
handler: 'index.handler',
|
|
17
|
+
code: lambda.Code.fromAsset(path.join(__dirname, '../../assets/toolkit-cleaner/get-stack-names.lambda')),
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.GetStackNamesFunction = GetStackNamesFunction;
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXN0YWNrLW5hbWVzLWZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rvb2xraXQtY2xlYW5lci9nZXQtc3RhY2stbmFtZXMtZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkVBQTZFO0FBQzdFLDZCQUE2QjtBQUM3QixpREFBaUQ7QUFTakQ7O0dBRUc7QUFDSCxNQUFhLHFCQUFzQixTQUFRLE1BQU0sQ0FBQyxRQUFRO0lBQ3hELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBa0M7UUFDMUUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixXQUFXLEVBQUUsK0NBQStDO1lBQzVELEdBQUcsS0FBSztZQUNSLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVc7WUFDbkMsT0FBTyxFQUFFLGVBQWU7WUFDeEIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLHFEQUFxRCxDQUFDLENBQUM7U0FDekcsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBVkQsc0RBVUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLmpzIGFuZCBydW4gXCJucHggcHJvamVuXCIuXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKlxuICogUHJvcHMgZm9yIEdldFN0YWNrTmFtZXNGdW5jdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdldFN0YWNrTmFtZXNGdW5jdGlvblByb3BzIGV4dGVuZHMgbGFtYmRhLkZ1bmN0aW9uT3B0aW9ucyB7XG59XG5cbi8qKlxuICogQW4gQVdTIExhbWJkYSBmdW5jdGlvbiB3aGljaCBleGVjdXRlcyBzcmMvdG9vbGtpdC1jbGVhbmVyL2dldC1zdGFjay1uYW1lcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEdldFN0YWNrTmFtZXNGdW5jdGlvbiBleHRlbmRzIGxhbWJkYS5GdW5jdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogR2V0U3RhY2tOYW1lc0Z1bmN0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnc3JjL3Rvb2xraXQtY2xlYW5lci9nZXQtc3RhY2stbmFtZXMubGFtYmRhLnRzJyxcbiAgICAgIC4uLnByb3BzLFxuICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzE0X1gsXG4gICAgICBoYW5kbGVyOiAnaW5kZXguaGFuZGxlcicsXG4gICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uLy4uL2Fzc2V0cy90b29sa2l0LWNsZWFuZXIvZ2V0LXN0YWNrLW5hbWVzLmxhbWJkYScpKSxcbiAgICB9KTtcbiAgfVxufSJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function handler(): Promise<string[]>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handler = void 0;
|
|
4
|
+
const aws_sdk_1 = require("aws-sdk"); // eslint-disable-line import/no-extraneous-dependencies
|
|
5
|
+
const cloudFormation = new aws_sdk_1.CloudFormation();
|
|
6
|
+
async function handler() {
|
|
7
|
+
var _a;
|
|
8
|
+
const res = [];
|
|
9
|
+
let nextToken;
|
|
10
|
+
let finished = false;
|
|
11
|
+
while (!finished) {
|
|
12
|
+
const response = await cloudFormation.describeStacks({ NextToken: nextToken }).promise();
|
|
13
|
+
res.push(...((_a = response.Stacks) !== null && _a !== void 0 ? _a : []).map(s => s.StackName));
|
|
14
|
+
nextToken = response.NextToken;
|
|
15
|
+
if (nextToken === undefined) {
|
|
16
|
+
finished = true;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return res;
|
|
20
|
+
}
|
|
21
|
+
exports.handler = handler;
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXN0YWNrLW5hbWVzLmxhbWJkYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b29sa2l0LWNsZWFuZXIvZ2V0LXN0YWNrLW5hbWVzLmxhbWJkYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQ0FBeUMsQ0FBQyx3REFBd0Q7QUFFbEcsTUFBTSxjQUFjLEdBQUcsSUFBSSx3QkFBYyxFQUFFLENBQUM7QUFFckMsS0FBSyxVQUFVLE9BQU87O0lBQzNCLE1BQU0sR0FBRyxHQUFhLEVBQUUsQ0FBQztJQUV6QixJQUFJLFNBQTZCLENBQUM7SUFDbEMsSUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLE9BQU8sQ0FBQyxRQUFRLEVBQUU7UUFDaEIsTUFBTSxRQUFRLEdBQUcsTUFBTSxjQUFjLENBQUMsY0FBYyxDQUFDLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDekYsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQUMsUUFBUSxDQUFDLE1BQU0sbUNBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFFM0QsU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUM7UUFDL0IsSUFBSSxTQUFTLEtBQUssU0FBUyxFQUFFO1lBQzNCLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDakI7S0FDRjtJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQWhCRCwwQkFnQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbG91ZEZvcm1hdGlvbiB9IGZyb20gJ2F3cy1zZGsnOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llc1xuXG5jb25zdCBjbG91ZEZvcm1hdGlvbiA9IG5ldyBDbG91ZEZvcm1hdGlvbigpO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaGFuZGxlcigpIHtcbiAgY29uc3QgcmVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGxldCBuZXh0VG9rZW46IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgbGV0IGZpbmlzaGVkID0gZmFsc2U7XG4gIHdoaWxlICghZmluaXNoZWQpIHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsb3VkRm9ybWF0aW9uLmRlc2NyaWJlU3RhY2tzKHsgTmV4dFRva2VuOiBuZXh0VG9rZW4gfSkucHJvbWlzZSgpO1xuICAgIHJlcy5wdXNoKC4uLihyZXNwb25zZS5TdGFja3MgPz8gW10pLm1hcChzID0+IHMuU3RhY2tOYW1lKSk7XG5cbiAgICBuZXh0VG9rZW4gPSByZXNwb25zZS5OZXh0VG9rZW47XG4gICAgaWYgKG5leHRUb2tlbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBmaW5pc2hlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlcztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Duration } from 'aws-cdk-lib';
|
|
2
|
+
import { Schedule } from 'aws-cdk-lib/aws-events';
|
|
3
|
+
import { Construct } from 'constructs';
|
|
4
|
+
/**
|
|
5
|
+
* Properties for a ToolkitCleaner.
|
|
6
|
+
*
|
|
7
|
+
* @stability stable
|
|
8
|
+
*/
|
|
9
|
+
export interface ToolkitCleanerProps {
|
|
10
|
+
/**
|
|
11
|
+
* The schedule for the cleaner.
|
|
12
|
+
*
|
|
13
|
+
* @default - every day
|
|
14
|
+
* @stability stable
|
|
15
|
+
*/
|
|
16
|
+
readonly schedule?: Schedule;
|
|
17
|
+
/**
|
|
18
|
+
* Only output number of assets and total size that would be deleted but without actually deleting assets.
|
|
19
|
+
*
|
|
20
|
+
* @stability stable
|
|
21
|
+
*/
|
|
22
|
+
readonly dryRun?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Retain unused assets that were created recently.
|
|
25
|
+
*
|
|
26
|
+
* @default - all unused assets are removed
|
|
27
|
+
* @stability stable
|
|
28
|
+
*/
|
|
29
|
+
readonly retainAssetsNewerThan?: Duration;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Clean unused S3 and ECR assets from your CDK Toolkit.
|
|
33
|
+
*
|
|
34
|
+
* @stability stable
|
|
35
|
+
*/
|
|
36
|
+
export declare class ToolkitCleaner extends Construct {
|
|
37
|
+
/**
|
|
38
|
+
* @stability stable
|
|
39
|
+
*/
|
|
40
|
+
constructor(scope: Construct, id: string, props?: ToolkitCleanerProps);
|
|
41
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.ToolkitCleaner = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
const path = require("path");
|
|
7
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
8
|
+
const aws_ecr_assets_1 = require("aws-cdk-lib/aws-ecr-assets");
|
|
9
|
+
const aws_events_1 = require("aws-cdk-lib/aws-events");
|
|
10
|
+
const aws_events_targets_1 = require("aws-cdk-lib/aws-events-targets");
|
|
11
|
+
const aws_iam_1 = require("aws-cdk-lib/aws-iam");
|
|
12
|
+
const aws_s3_assets_1 = require("aws-cdk-lib/aws-s3-assets");
|
|
13
|
+
const sfn = require("aws-cdk-lib/aws-stepfunctions");
|
|
14
|
+
const tasks = require("aws-cdk-lib/aws-stepfunctions-tasks");
|
|
15
|
+
const constructs_1 = require("constructs");
|
|
16
|
+
const clean_images_function_1 = require("./clean-images-function");
|
|
17
|
+
const clean_objects_function_1 = require("./clean-objects-function");
|
|
18
|
+
const get_stack_names_function_1 = require("./get-stack-names-function");
|
|
19
|
+
/**
|
|
20
|
+
* Clean unused S3 and ECR assets from your CDK Toolkit.
|
|
21
|
+
*
|
|
22
|
+
* @stability stable
|
|
23
|
+
*/
|
|
24
|
+
class ToolkitCleaner extends constructs_1.Construct {
|
|
25
|
+
/**
|
|
26
|
+
* @stability stable
|
|
27
|
+
*/
|
|
28
|
+
constructor(scope, id, props = {}) {
|
|
29
|
+
var _b;
|
|
30
|
+
super(scope, id);
|
|
31
|
+
// Dummy assets to reference S3 bucket and ECR repository
|
|
32
|
+
const fileAsset = new aws_s3_assets_1.Asset(this, 'FileAsset', {
|
|
33
|
+
path: path.join(__dirname, '..', '..', 'assets', 'toolkit-cleaner', 'docker', 'dummy.txt'),
|
|
34
|
+
});
|
|
35
|
+
const dockerImageAsset = new aws_ecr_assets_1.DockerImageAsset(this, 'DockerImageAsset', {
|
|
36
|
+
directory: path.join(__dirname, '..', '..', 'assets', 'toolkit-cleaner', 'docker'),
|
|
37
|
+
});
|
|
38
|
+
const getStackNamesFunction = new get_stack_names_function_1.GetStackNamesFunction(this, 'GetStackNamesFunction');
|
|
39
|
+
getStackNamesFunction.addToRolePolicy(new aws_iam_1.PolicyStatement({
|
|
40
|
+
actions: ['cloudformation:DescribeStacks'],
|
|
41
|
+
resources: ['*'],
|
|
42
|
+
}));
|
|
43
|
+
const getStackNames = new tasks.LambdaInvoke(this, 'GetStackNames', {
|
|
44
|
+
lambdaFunction: getStackNamesFunction,
|
|
45
|
+
payloadResponseOnly: true,
|
|
46
|
+
});
|
|
47
|
+
const stacksMap = new sfn.Map(this, 'StacksMap', {
|
|
48
|
+
maxConcurrency: 1,
|
|
49
|
+
resultSelector: {
|
|
50
|
+
AssetHashes: sfn.JsonPath.stringAt('$'),
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
const getTemplate = new tasks.CallAwsService(this, 'GetTemplate', {
|
|
54
|
+
service: 'cloudformation',
|
|
55
|
+
action: 'getTemplate',
|
|
56
|
+
parameters: {
|
|
57
|
+
StackName: sfn.JsonPath.stringAt('$'),
|
|
58
|
+
},
|
|
59
|
+
iamResources: ['*'],
|
|
60
|
+
}).addRetry({
|
|
61
|
+
errors: ['CloudFormation.CloudFormationException'],
|
|
62
|
+
});
|
|
63
|
+
const extractHashes = new tasks.EvaluateExpression(this, 'ExtractHashes', {
|
|
64
|
+
expression: '[...new Set(($.TemplateBody).match(/[a-f0-9]{64}/g))]',
|
|
65
|
+
});
|
|
66
|
+
const flattenHashes = new tasks.EvaluateExpression(this, 'FlattenHashes', {
|
|
67
|
+
expression: '[...new Set(($.AssetHashes).flat())]',
|
|
68
|
+
});
|
|
69
|
+
const cleanObjectsFunction = new clean_objects_function_1.CleanObjectsFunction(this, 'CleanObjectsFunction', {
|
|
70
|
+
timeout: aws_cdk_lib_1.Duration.minutes(5),
|
|
71
|
+
});
|
|
72
|
+
cleanObjectsFunction.addEnvironment('BUCKET_NAME', fileAsset.bucket.bucketName);
|
|
73
|
+
fileAsset.bucket.grantRead(cleanObjectsFunction);
|
|
74
|
+
fileAsset.bucket.grantDelete(cleanObjectsFunction);
|
|
75
|
+
const cleanObjects = new tasks.LambdaInvoke(this, 'CleanObjects', {
|
|
76
|
+
lambdaFunction: cleanObjectsFunction,
|
|
77
|
+
payloadResponseOnly: true,
|
|
78
|
+
});
|
|
79
|
+
const cleanImagesFunction = new clean_images_function_1.CleanImagesFunction(this, 'CleanImagesFunction', {
|
|
80
|
+
timeout: aws_cdk_lib_1.Duration.minutes(5),
|
|
81
|
+
});
|
|
82
|
+
cleanImagesFunction.addEnvironment('REPOSITORY_NAME', dockerImageAsset.repository.repositoryName);
|
|
83
|
+
dockerImageAsset.repository.grant(cleanImagesFunction, 'ecr:DescribeImages', 'ecr:BatchDeleteImage');
|
|
84
|
+
const cleanImages = new tasks.LambdaInvoke(this, 'CleanImages', {
|
|
85
|
+
lambdaFunction: cleanImagesFunction,
|
|
86
|
+
payloadResponseOnly: true,
|
|
87
|
+
});
|
|
88
|
+
if (!props.dryRun) {
|
|
89
|
+
cleanObjectsFunction.addEnvironment('RUN', 'true');
|
|
90
|
+
cleanImagesFunction.addEnvironment('RUN', 'true');
|
|
91
|
+
}
|
|
92
|
+
if (props.retainAssetsNewerThan) {
|
|
93
|
+
const retainMilliseconds = props.retainAssetsNewerThan.toMilliseconds().toString();
|
|
94
|
+
cleanObjectsFunction.addEnvironment('RETAIN_MILLISECONDS', retainMilliseconds);
|
|
95
|
+
cleanImagesFunction.addEnvironment('RETAIN_MILLISECONDS', retainMilliseconds);
|
|
96
|
+
}
|
|
97
|
+
const sumReclaimed = new tasks.EvaluateExpression(this, 'SumReclaimed', {
|
|
98
|
+
expression: '({ Deleted: $[0].Deleted + $[1].Deleted, Reclaimed: $[0].Reclaimed + $[1].Reclaimed })',
|
|
99
|
+
});
|
|
100
|
+
const stateMachine = new sfn.StateMachine(this, 'Resource', {
|
|
101
|
+
definition: getStackNames
|
|
102
|
+
.next(stacksMap.iterator(getTemplate.next(extractHashes)))
|
|
103
|
+
.next(flattenHashes)
|
|
104
|
+
.next(new sfn.Parallel(this, 'Clean')
|
|
105
|
+
.branch(cleanObjects)
|
|
106
|
+
.branch(cleanImages))
|
|
107
|
+
.next(sumReclaimed),
|
|
108
|
+
});
|
|
109
|
+
const rule = new aws_events_1.Rule(this, 'Rule', {
|
|
110
|
+
schedule: (_b = props.schedule) !== null && _b !== void 0 ? _b : aws_events_1.Schedule.rate(aws_cdk_lib_1.Duration.days(1)),
|
|
111
|
+
});
|
|
112
|
+
rule.addTarget(new aws_events_targets_1.SfnStateMachine(stateMachine));
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
exports.ToolkitCleaner = ToolkitCleaner;
|
|
116
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
117
|
+
ToolkitCleaner[_a] = { fqn: "cloudstructs.ToolkitCleaner", version: "0.4.6" };
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9vbGtpdC1jbGVhbmVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkJBQTZCO0FBQzdCLDZDQUF1QztBQUN2QywrREFBOEQ7QUFDOUQsdURBQXdEO0FBQ3hELHVFQUFpRTtBQUNqRSxpREFBc0Q7QUFDdEQsNkRBQWtEO0FBQ2xELHFEQUFxRDtBQUNyRCw2REFBNkQ7QUFDN0QsMkNBQXVDO0FBQ3ZDLG1FQUE4RDtBQUM5RCxxRUFBZ0U7QUFDaEUseUVBQW1FOzs7Ozs7QUFlbkUsTUFBYSxjQUFlLFNBQVEsc0JBQVM7Ozs7SUFDM0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxRQUE2QixFQUFFOztRQUN2RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLHlEQUF5RDtRQUN6RCxNQUFNLFNBQVMsR0FBRyxJQUFJLHFCQUFLLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRTtZQUM3QyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLFdBQVcsQ0FBQztTQUMzRixDQUFDLENBQUM7UUFDSCxNQUFNLGdCQUFnQixHQUFHLElBQUksaUNBQWdCLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFO1lBQ3RFLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxRQUFRLENBQUM7U0FDbkYsQ0FBQyxDQUFDO1FBRUgsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLGdEQUFxQixDQUFDLElBQUksRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3ZGLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxJQUFJLHlCQUFlLENBQUM7WUFDeEQsT0FB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LENBQUM7U0FDNUQsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLG9DQUFlLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDOztBQS9GSCx3Q0FnR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgRHVyYXRpb24gfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBEb2NrZXJJbWFnZUFzc2V0IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjci1hc3NldHMnO1xuaW1wb3J0IHsgUnVsZSwgU2NoZWR1bGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZXZlbnRzJztcbmltcG9ydCB7IFNmblN0YXRlTWFjaGluZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMtdGFyZ2V0cyc7XG5pbXBvcnQgeyBQb2xpY3lTdGF0ZW1lbnQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IEFzc2V0IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzLWFzc2V0cyc7XG5pbXBvcnQgKiBhcyBzZm4gZnJvbSAnYXdzLWNkay1saWIvYXdzLXN0ZXBmdW5jdGlvbnMnO1xuaW1wb3J0ICogYXMgdGFza3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLXN0ZXBmdW5jdGlvbnMtdGFza3MnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBDbGVhbkltYWdlc0Z1bmN0aW9uIH0gZnJvbSAnLi9jbGVhbi1pbWFnZXMtZnVuY3Rpb24nO1xuaW1wb3J0IHsgQ2xlYW5PYmplY3RzRnVuY3Rpb24gfSBmcm9tICcuL2NsZWFuLW9iamVjdHMtZnVuY3Rpb24nO1xuaW1wb3J0IHsgR2V0U3RhY2tOYW1lc0Z1bmN0aW9uIH0gZnJvbSAnLi9nZXQtc3RhY2stbmFtZXMtZnVuY3Rpb24nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgVG9vbGtpdENsZWFuZXJQcm9wcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHNjaGVkdWxlPzogU2NoZWR1bGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGRyeVJ1bj86IGJvb2xlYW47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgcmV0YWluQXNzZXRzTmV3ZXJUaGFuPzogRHVyYXRpb247XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBjbGFzcyBUb29sa2l0Q2xlYW5lciBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBUb29sa2l0Q2xlYW5lclByb3BzID0ge30pIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgLy8gRHVtbXkgYXNzZXRzIHRvIHJlZmVyZW5jZSBTMyBidWNrZXQgYW5kIEVDUiByZXBvc2l0b3J5XG4gICAgY29uc3QgZmlsZUFzc2V0ID0gbmV3IEFzc2V0KHRoaXMsICdGaWxlQXNzZXQnLCB7XG4gICAgICBwYXRoOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4nLCAnLi4nLCAnYXNzZXRzJywgJ3Rvb2xraXQtY2xlYW5lcicsICdkb2NrZXInLCAnZHVtbXkudHh0JyksXG4gICAgfSk7XG4gICAgY29uc3QgZG9ja2VySW1hZ2VBc3NldCA9IG5ldyBEb2NrZXJJbWFnZUFzc2V0KHRoaXMsICdEb2NrZXJJbWFnZUFzc2V0Jywge1xuICAgICAgZGlyZWN0b3J5OiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4nLCAnLi4nLCAnYXNzZXRzJywgJ3Rvb2xraXQtY2xlYW5lcicsICdkb2NrZXInKSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGdldFN0YWNrTmFtZXNGdW5jdGlvbiA9IG5ldyBHZXRTdGFja05hbWVzRnVuY3Rpb24odGhpcywgJ0dldFN0YWNrTmFtZXNGdW5jdGlvbicpO1xuICAgIGdldFN0YWNrTmFtZXNGdW5jdGlvbi5hZGRUb1JvbGVQb2xpY3kobmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICBhY3Rpb25zOiBbJ2Nsb3VkZm9ybWF0aW9uOkRlc2NyaWJlU3RhY2tzJ10sXG4gICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgIH0pKTtcbiAgICBjb25zdCBnZXRTdGFja05hbWVzID0gbmV3IHRhc2tzLkxhbWJkYUludm9rZSh0aGlzLCAnR2V0U3RhY2tOYW1lcycsIHtcbiAgICAgIGxhbWJkYUZ1bmN0aW9uOiBnZXRTdGFja05hbWVzRnVuY3Rpb24sXG4gICAgICBwYXlsb2FkUmVzcG9uc2VPbmx5OiB0cnVlLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc3RhY2tzTWFwID0gbmV3IHNmbi5NYXAodGhpcywgJ1N0YWNrc01hcCcsIHtcbiAgICAgIG1heENvbmN1cnJlbmN5OiAxLCAvLyBBdm9pZCBcIlJhdGUgZXhjZWVkZWRcIiBlcnJvciBmcm9tIENsb3VkRm9ybWF0aW9uXG4gICAgICByZXN1bHRTZWxlY3Rvcjoge1xuICAgICAgICBBc3NldEhhc2hlczogc2ZuLkpzb25QYXRoLnN0cmluZ0F0KCckJyksXG4gICAgICB9LFxuICAgIH0pO1xuICAgIGNvbnN0IGdldFRlbXBsYXRlID0gbmV3IHRhc2tzLkNhbGxBd3NTZXJ2aWNlKHRoaXMsICdHZXRUZW1wbGF0ZScsIHtcbiAgICAgIHNlcnZpY2U6ICdjbG91ZGZvcm1hdGlvbicsXG4gICAgICBhY3Rpb246ICdnZXRUZW1wbGF0ZScsXG4gICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgIFN0YWNrTmFtZTogc2ZuLkpzb25QYXRoLnN0cmluZ0F0KCckJyksXG4gICAgICB9LFxuICAgICAgaWFtUmVzb3VyY2VzOiBbJyonXSxcbiAgICB9KS5hZGRSZXRyeSh7IC8vIEF2b2lkIFwiUmF0ZSBleGNlZWRlZFwiIGVycm9yIGZyb20gQ2xvdWRGb3JtYXRpb25cbiAgICAgIGVycm9yczogWydDbG91ZEZvcm1hdGlvbi5DbG91ZEZvcm1hdGlvbkV4Y2VwdGlvbiddLFxuICAgIH0pO1xuICAgIGNvbnN0IGV4dHJhY3RIYXNoZXMgPSBuZXcgdGFza3MuRXZhbHVhdGVFeHByZXNzaW9uKHRoaXMsICdFeHRyYWN0SGFzaGVzJywge1xuICAgICAgZXhwcmVzc2lvbjogJ1suLi5uZXcgU2V0KCgkLlRlbXBsYXRlQm9keSkubWF0Y2goL1thLWYwLTldezY0fS9nKSldJyxcbiAgICB9KTtcbiAgICBjb25zdCBmbGF0dGVuSGFzaGVzID0gbmV3IHRhc2tzLkV2YWx1YXRlRXhwcmVzc2lvbih0aGlzLCAnRmxhdHRlbkhhc2hlcycsIHtcbiAgICAgIGV4cHJlc3Npb246ICdbLi4ubmV3IFNldCgoJC5Bc3NldEhhc2hlcykuZmxhdCgpKV0nLFxuICAgIH0pO1xuXG4gICAgY29uc3QgY2xlYW5PYmplY3RzRnVuY3Rpb24gPSBuZXcgQ2xlYW5PYmplY3RzRnVuY3Rpb24odGhpcywgJ0NsZWFuT2JqZWN0c0Z1bmN0aW9uJywge1xuICAgICAgdGltZW91dDogRHVyYXRpb24ubWludXRlcyg1KSxcbiAgICB9KTtcbiAgICBjbGVhbk9iamVjdHNGdW5jdGlvbi5hZGRFbnZpcm9ubWVudCgnQlVDS0VUX05BTUUnLCBmaWxlQXNzZXQuYnVja2V0LmJ1Y2tldE5hbWUpO1xuICAgIGZpbGVBc3NldC5idWNrZXQuZ3JhbnRSZWFkKGNsZWFuT2JqZWN0c0Z1bmN0aW9uKTtcbiAgICBmaWxlQXNzZXQuYnVja2V0LmdyYW50RGVsZXRlKGNsZWFuT2JqZWN0c0Z1bmN0aW9uKTtcbiAgICBjb25zdCBjbGVhbk9iamVjdHMgPSBuZXcgdGFza3MuTGFtYmRhSW52b2tlKHRoaXMsICdDbGVhbk9iamVjdHMnLCB7XG4gICAgICBsYW1iZGFGdW5jdGlvbjogY2xlYW5PYmplY3RzRnVuY3Rpb24sXG4gICAgICBwYXlsb2FkUmVzcG9uc2VPbmx5OiB0cnVlLFxuICAgIH0pO1xuXG4gICAgY29uc3QgY2xlYW5JbWFnZXNGdW5jdGlvbiA9IG5ldyBDbGVhbkltYWdlc0Z1bmN0aW9uKHRoaXMsICdDbGVhbkltYWdlc0Z1bmN0aW9uJywge1xuICAgICAgdGltZW91dDogRHVyYXRpb24ubWludXRlcyg1KSxcbiAgICB9KTtcbiAgICBjbGVhbkltYWdlc0Z1bmN0aW9uLmFkZEVudmlyb25tZW50KCdSRVBPU0lUT1JZX05BTUUnLCBkb2NrZXJJbWFnZUFzc2V0LnJlcG9zaXRvcnkucmVwb3NpdG9yeU5hbWUpO1xuICAgIGRvY2tlckltYWdlQXNzZXQucmVwb3NpdG9yeS5ncmFudChjbGVhbkltYWdlc0Z1bmN0aW9uLCAnZWNyOkRlc2NyaWJlSW1hZ2VzJywgJ2VjcjpCYXRjaERlbGV0ZUltYWdlJyk7XG4gICAgY29uc3QgY2xlYW5JbWFnZXMgPSBuZXcgdGFza3MuTGFtYmRhSW52b2tlKHRoaXMsICdDbGVhbkltYWdlcycsIHtcbiAgICAgIGxhbWJkYUZ1bmN0aW9uOiBjbGVhbkltYWdlc0Z1bmN0aW9uLFxuICAgICAgcGF5bG9hZFJlc3BvbnNlT25seTogdHJ1ZSxcbiAgICB9KTtcblxuICAgIGlmICghcHJvcHMuZHJ5UnVuKSB7XG4gICAgICBjbGVhbk9iamVjdHNGdW5jdGlvbi5hZGRFbnZpcm9ubWVudCgnUlVOJywgJ3RydWUnKTtcbiAgICAgIGNsZWFuSW1hZ2VzRnVuY3Rpb24uYWRkRW52aXJvbm1lbnQoJ1JVTicsICd0cnVlJyk7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLnJldGFpbkFzc2V0c05ld2VyVGhhbikge1xuICAgICAgY29uc3QgcmV0YWluTWlsbGlzZWNvbmRzID0gcHJvcHMucmV0YWluQXNzZXRzTmV3ZXJUaGFuLnRvTWlsbGlzZWNvbmRzKCkudG9TdHJpbmcoKTtcbiAgICAgIGNsZWFuT2JqZWN0c0Z1bmN0aW9uLmFkZEVudmlyb25tZW50KCdSRVRBSU5fTUlMTElTRUNPTkRTJywgcmV0YWluTWlsbGlzZWNvbmRzKTtcbiAgICAgIGNsZWFuSW1hZ2VzRnVuY3Rpb24uYWRkRW52aXJvbm1lbnQoJ1JFVEFJTl9NSUxMSVNFQ09ORFMnLCByZXRhaW5NaWxsaXNlY29uZHMpO1xuICAgIH1cblxuICAgIGNvbnN0IHN1bVJlY2xhaW1lZCA9IG5ldyB0YXNrcy5FdmFsdWF0ZUV4cHJlc3Npb24odGhpcywgJ1N1bVJlY2xhaW1lZCcsIHtcbiAgICAgIGV4cHJlc3Npb246ICcoeyBEZWxldGVkOiAkWzBdLkRlbGV0ZWQgKyAkWzFdLkRlbGV0ZWQsIFJlY2xhaW1lZDogJFswXS5SZWNsYWltZWQgKyAkWzFdLlJlY2xhaW1lZCB9KScsXG4gICAgfSk7XG5cbiAgICBjb25zdCBzdGF0ZU1hY2hpbmUgPSBuZXcgc2ZuLlN0YXRlTWFjaGluZSh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBkZWZpbml0aW9uOiBnZXRTdGFja05hbWVzXG4gICAgICAgIC5uZXh0KHN0YWNrc01hcC5pdGVyYXRvcihnZXRUZW1wbGF0ZS5uZXh0KGV4dHJhY3RIYXNoZXMpKSlcbiAgICAgICAgLm5leHQoZmxhdHRlbkhhc2hlcylcbiAgICAgICAgLm5leHQobmV3IHNmbi5QYXJhbGxlbCh0aGlzLCAnQ2xlYW4nKVxuICAgICAgICAgIC5icmFuY2goY2xlYW5PYmplY3RzKVxuICAgICAgICAgIC5icmFuY2goY2xlYW5JbWFnZXMpKVxuICAgICAgICAubmV4dChzdW1SZWNsYWltZWQpLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcnVsZSA9IG5ldyBSdWxlKHRoaXMsICdSdWxlJywge1xuICAgICAgc2NoZWR1bGU6IHByb3BzLnNjaGVkdWxlID8/IFNjaGVkdWxlLnJhdGUoRHVyYXRpb24uZGF5cygxKSksXG4gICAgfSk7XG4gICAgcnVsZS5hZGRUYXJnZXQobmV3IFNmblN0YXRlTWFjaGluZShzdGF0ZU1hY2hpbmUpKTtcbiAgfVxufVxuIl19
|
|
@@ -99,5 +99,5 @@ class UrlShortener extends constructs_1.Construct {
|
|
|
99
99
|
}
|
|
100
100
|
exports.UrlShortener = UrlShortener;
|
|
101
101
|
_a = JSII_RTTI_SYMBOL_1;
|
|
102
|
-
UrlShortener[_a] = { fqn: "cloudstructs.UrlShortener", version: "0.4.
|
|
102
|
+
UrlShortener[_a] = { fqn: "cloudstructs.UrlShortener", version: "0.4.6" };
|
|
103
103
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXJsLXNob3J0ZW5lci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUEyQztBQUMzQyx5REFBeUQ7QUFDekQsMERBQTBEO0FBQzFELHlEQUF5RDtBQUN6RCw4REFBOEQ7QUFDOUQscURBQXFEO0FBRXJELDJDQUEyQztBQUMzQyx3REFBd0Q7QUFDeEQsNkNBQTZDO0FBQzdDLG1EQUFtRDtBQUNuRCwyREFBMkQ7QUFDM0QseUNBQXlDO0FBQ3pDLDJDQUF1Qzs7Ozs7O0FBZXZDLE1BQWEsWUFBYSxTQUFRLHNCQUFTOzs7O0lBT3pDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBd0I7O1FBQ2hFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsMEJBQTBCO1FBQzFCLE1BQU0sS0FBSyxHQUFHLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFO1lBQzlDLFlBQVksRUFBRTtnQkFDWixJQUFJLEVBQUUsS0FBSztnQkFDWCxJQUFJLEVBQUUsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNO2FBQ3BDO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsMkJBQTJCO1FBQzNCLE1BQU0sTUFBTSxHQUFHLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQzNDLGNBQWMsRUFBRSxDQUFDO29CQUNmLFVBQVUsUUFBRSxLQUFLLENBQUMsVUFBVSxtQ0FBSSxzQkFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7aUJBQ25ELENBQUM7WUFDRixvQkFBb0IsRUFBRSxZQUFZO1NBQ25DLENBQUMsQ0FBQztRQUVILDBCQUEwQjtRQUMxQixNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFO1lBQ3ZFLFVBQVUsRUFBRSxLQUFL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OztBQW5GSCxvQ0FvRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEdXJhdGlvbiwgRm4gfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBhcGlnYXRld2F5IGZyb20gJ2F3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5JztcbmltcG9ydCAqIGFzIGFjbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyJztcbmltcG9ydCAqIGFzIGNsb3VkZnJvbnQgZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQnO1xuaW1wb3J0ICogYXMgb3JpZ2lucyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udC1vcmlnaW5zJztcbmltcG9ydCAqIGFzIGR5bmFtb2RiIGZyb20gJ2F3cy1jZGstbGliL2F3cy1keW5hbW9kYic7XG5pbXBvcnQgKiBhcyBlYzIgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBub2RlanMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ub2RlanMnO1xuaW1wb3J0ICogYXMgbG9ncyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbG9ncyc7XG5pbXBvcnQgKiBhcyByb3V0ZTUzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1yb3V0ZTUzJztcbmltcG9ydCAqIGFzIHRhcmdldHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXJvdXRlNTMtdGFyZ2V0cyc7XG5pbXBvcnQgKiBhcyBzMyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgVXJsU2hvcnRlbmVyUHJvcHMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBob3N0ZWRab25lOiByb3V0ZTUzLklIb3N0ZWRab25lO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZXhwaXJhdGlvbj86IER1cmF0aW9uO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGFwaUdhdGV3YXlFbmRwb2ludD86IGVjMi5JSW50ZXJmYWNlVnBjRW5kcG9pbnQ7XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIFVybFNob3J0ZW5lciBleHRlbmRzIENvbnN0cnVjdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IGFwaUVuZHBvaW50OiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IGFwaTogYXBpZ2F0ZXdheS5MYW1iZGFSZXN0QXBpO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBVcmxTaG9ydGVuZXJQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICAvLyBUYWJsZSB0byBzYXZlIGEgY291bnRlclxuICAgIGNvbnN0IHRhYmxlID0gbmV3IGR5bmFtb2RiLlRhYmxlKHRoaXMsICdUYWJsZScsIHtcbiAgICAgIHBhcnRpdGlvbktleToge1xuICAgICAgICBuYW1lOiAna2V5JyxcbiAgICAgICAgdHlwZTogZHluYW1vZGIuQXR0cmlidXRlVHlwZS5TVFJJTkcsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gQnVja2V0IHRvIHNhdmUgcmVkaXJlY3RzXG4gICAgY29uc3QgYnVja2V0ID0gbmV3IHMzLkJ1Y2tldCh0aGlzLCAnQnVja2V0Jywge1xuICAgICAgbGlmZWN5Y2xlUnVsZXM6IFt7XG4gICAgICAgIGV4cGlyYXRpb246IHByb3BzLmV4cGlyYXRpb24gPz8gRHVyYXRpb24uZGF5cygzNjUpLFxuICAgICAgfV0sXG4gICAgICB3ZWJzaXRlSW5kZXhEb2N1bWVudDogJ2luZGV4Lmh0bWwnLFxuICAgIH0pO1xuXG4gICAgLy8gQ2xvdWRGcm9udCBkaXN0cmlidXRpb25cbiAgICBjb25zdCBjZXJ0aWZpY2F0ZSA9IG5ldyBhY20uRG5zVmFsaWRhdGVkQ2VydGlmaWNhdGUodGhpcywgJ0NlcnRpZmljYXRlJywge1xuICAgICAgZG9tYWluTmFtZTogcHJvcHMuaG9zdGVkWm9uZS56b25lTmFtZSxcbiAgICAgIGhvc3RlZFpvbmU6IHByb3BzLmhvc3RlZFpvbmUsXG4gICAgfSk7XG4gICAgY29uc3QgZGlzdHJpYnV0aW9uID0gbmV3IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uKHRoaXMsICdEaXN0cmlidXRpb24nLCB7XG4gICAgICBkZWZhdWx0QmVoYXZpb3I6IHtcbiAgICAgICAgb3JpZ2luOiBuZXcgb3JpZ2lucy5TM09yaWdpbihidWNrZXQpLFxuICAgICAgfSxcbiAgICAgIGNlcnRpZmljYXRlLFxuICAgICAgZG9tYWluTmFtZXM6IFtwcm9wcy5ob3N0ZWRab25lLnpvbmVOYW1lXSxcbiAgICB9KTtcblxuICAgIC8vIFJvdXRlNTMgcmVjb3Jkc1xuICAgIG5ldyByb3V0ZTUzLkFSZWNvcmQodGhpcywgJ0FSZWNvcmQnLCB7XG4gICAgICB6b25lOiBwcm9wcy5ob3N0ZWRab25lLFxuICAgICAgdGFyZ2V0OiByb3V0ZTUzLlJlY29yZFRhcmdldC5mcm9tQWxpYXMobmV3IHRhcmdldHMuQ2xvdWRGcm9udFRhcmdldChkaXN0cmlidXRpb24pKSxcbiAgICB9KTtcbiAgICBuZXcgcm91dGU1My5BYWFhUmVjb3JkKHRoaXMsICdBYWFhUmVjb3JkJywge1xuICAgICAgem9uZTogcHJvcHMuaG9zdGVkWm9uZSxcbiAgICAgIHRhcmdldDogcm91dGU1My5SZWNvcmRUYXJnZXQuZnJvbUFsaWFzKG5ldyB0YXJnZXRzLkNsb3VkRnJvbnRUYXJnZXQoZGlzdHJpYnV0aW9uKSksXG4gICAgfSk7XG5cbiAgICAvLyBMYW1iZGEgZnVuY3Rpb24gdG8gaW5jcmVtZW50IGNvdW50ZXIgYW5kIHdyaXRlIHJlZGlyZWN0IGluIGJ1Y2tldFxuICAgIGNvbnN0IGhhbmRsZXIgPSBuZXcgbm9kZWpzLk5vZGVqc0Z1bmN0aW9uKHRoaXMsICdoYW5kbGVyJywge1xuICAgICAgbG9nUmV0ZW50aW9uOiBsb2dzLlJldGVudGlvbkRheXMuT05FX01PTlRILFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgRE9NQUlOX05BTUU6IHByb3BzLmhvc3RlZFpvbmUuem9uZU5hbWUsXG4gICAgICAgIEJVQ0tFVF9OQU1FOiBidWNrZXQuYnVja2V0TmFtZSxcbiAgICAgICAgVEFCTEVfTkFNRTogdGFibGUudGFibGVOYW1lLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBidWNrZXQuZ3JhbnRQdXQoaGFuZGxlcik7XG4gICAgdGFibGUuZ3JhbnQoaGFuZGxlciwgJ2R5bmFtb2RiOlVwZGF0ZUl0ZW0nKTtcblxuICAgIC8vIEFQSVxuICAgIHRoaXMuYXBpID0gbmV3IGFwaWdhdGV3YXkuTGFtYmRhUmVzdEFwaSh0aGlzLCBgVXJsU2hvcnRlbmVyJHtwcm9wcy5ob3N0ZWRab25lLnpvbmVOYW1lfWAsIHtcbiAgICAgIGhhbmRsZXIsXG4gICAgICBlbmRwb2ludFR5cGVzOiBwcm9wcy5hcGlHYXRld2F5RW5kcG9pbnQgPyBbYXBpZ2F0ZXdheS5FbmRwb2ludFR5cGUuUFJJVkFURV0gOiB1bmRlZmluZWQsXG4gICAgICBwb2xpY3k6IHByb3BzLmFwaUdhdGV3YXlFbmRwb2ludFxuICAgICAgICA/IG5ldyBpYW0uUG9saWN5RG9jdW1lbnQoe1xuICAgICAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgICAgICAgICBhY3Rpb25zOiBbJ2V4ZWN1dGUtYXBpOkludm9rZSddLFxuICAgICAgICAgICAgICBwcmluY2lwYWxzOiBbbmV3IGlhbS5BbnlQcmluY2lwYWwoKV0sXG4gICAgICAgICAgICAgIHJlc291cmNlczogW0ZuLmpvaW4oJycsIFsnZXhlY3V0ZS1hcGk6LycsICcqJ10pXSxcbiAgICAgICAgICAgICAgY29uZGl0aW9uczoge1xuICAgICAgICAgICAgICAgIFN0cmluZ0VxdWFsczogeyAnYXdzOlNvdXJjZVZwY2UnOiBwcm9wcy5hcGlHYXRld2F5RW5kcG9pbnQudnBjRW5kcG9pbnRJZCB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgXSxcbiAgICAgICAgfSlcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgfSk7XG5cbiAgICB0aGlzLmFwaUVuZHBvaW50ID0gdGhpcy5hcGkudXJsO1xuICB9XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -8,6 +8,13 @@
|
|
|
8
8
|
"scripts": {
|
|
9
9
|
"build": "npx projen build",
|
|
10
10
|
"bump": "npx projen bump",
|
|
11
|
+
"bundle": "npx projen bundle",
|
|
12
|
+
"bundle:toolkit-cleaner/clean-images.lambda": "npx projen bundle:toolkit-cleaner/clean-images.lambda",
|
|
13
|
+
"bundle:toolkit-cleaner/clean-images.lambda:watch": "npx projen bundle:toolkit-cleaner/clean-images.lambda:watch",
|
|
14
|
+
"bundle:toolkit-cleaner/clean-objects.lambda": "npx projen bundle:toolkit-cleaner/clean-objects.lambda",
|
|
15
|
+
"bundle:toolkit-cleaner/clean-objects.lambda:watch": "npx projen bundle:toolkit-cleaner/clean-objects.lambda:watch",
|
|
16
|
+
"bundle:toolkit-cleaner/get-stack-names.lambda": "npx projen bundle:toolkit-cleaner/get-stack-names.lambda",
|
|
17
|
+
"bundle:toolkit-cleaner/get-stack-names.lambda:watch": "npx projen bundle:toolkit-cleaner/get-stack-names.lambda:watch",
|
|
11
18
|
"clobber": "npx projen clobber",
|
|
12
19
|
"compat": "npx projen compat",
|
|
13
20
|
"compile": "npx projen compile",
|
|
@@ -20,6 +27,11 @@
|
|
|
20
27
|
"integ:slack-app:snapshot": "npx projen integ:slack-app:snapshot",
|
|
21
28
|
"integ:slack-app:watch": "npx projen integ:slack-app:watch",
|
|
22
29
|
"integ:snapshot-all": "npx projen integ:snapshot-all",
|
|
30
|
+
"integ:toolkit-cleaner:assert": "npx projen integ:toolkit-cleaner:assert",
|
|
31
|
+
"integ:toolkit-cleaner:deploy": "npx projen integ:toolkit-cleaner:deploy",
|
|
32
|
+
"integ:toolkit-cleaner:destroy": "npx projen integ:toolkit-cleaner:destroy",
|
|
33
|
+
"integ:toolkit-cleaner:snapshot": "npx projen integ:toolkit-cleaner:snapshot",
|
|
34
|
+
"integ:toolkit-cleaner:watch": "npx projen integ:toolkit-cleaner:watch",
|
|
23
35
|
"package": "npx projen package",
|
|
24
36
|
"package-all": "npx projen package-all",
|
|
25
37
|
"package:js": "npx projen package:js",
|
|
@@ -93,7 +105,7 @@
|
|
|
93
105
|
],
|
|
94
106
|
"main": "lib/index.js",
|
|
95
107
|
"license": "Apache-2.0",
|
|
96
|
-
"version": "0.4.
|
|
108
|
+
"version": "0.4.6",
|
|
97
109
|
"jest": {
|
|
98
110
|
"testMatch": [
|
|
99
111
|
"<rootDir>/src/**/__tests__/**/*.ts?(x)",
|
package/releasetag.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
v0.4.
|
|
1
|
+
v0.4.6
|
package/version.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.4.
|
|
1
|
+
0.4.6
|