eoapi-cdk 11.4.1 → 11.6.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 +38 -23
- package/README.md +2 -0
- package/lib/bastion-host/index.js +1 -1
- package/lib/database/index.js +1 -1
- package/lib/ingestor-api/index.d.ts +4 -0
- package/lib/ingestor-api/index.js +8 -3
- package/lib/ingestor-api/runtime/Dockerfile +13 -9
- package/lib/ingestor-api/runtime/pyproject.toml +37 -0
- package/lib/ingestor-api/runtime/src/config.py +9 -0
- package/lib/ingestor-api/runtime/src/handler.py +27 -4
- package/lib/ingestor-api/runtime/src/ingestor.py +1 -1
- package/lib/ingestor-api/runtime/src/schemas.py +11 -19
- package/lib/ingestor-api/runtime/src/services.py +4 -2
- package/lib/ingestor-api/runtime/uv.lock +1313 -0
- package/lib/lambda-api-gateway/index.js +1 -1
- package/lib/lambda-api-gateway-private/index.js +1 -1
- package/lib/stac-api/index.js +2 -2
- package/lib/stac-api/runtime/README.md +36 -0
- package/lib/stac-api/runtime/pyproject.toml +2 -2
- package/lib/stac-api/runtime/src/stac_api/handler.py +82 -86
- package/lib/stac-api/runtime/uv.lock +206 -182
- package/lib/stac-auth-proxy/index.js +2 -2
- package/lib/stac-auth-proxy/runtime/pyproject.toml +2 -2
- package/lib/stac-auth-proxy/runtime/src/stac_auth_proxy_api/handler.py +25 -2
- package/lib/stac-auth-proxy/runtime/uv.lock +174 -248
- package/lib/stac-browser/index.js +1 -1
- package/lib/stac-loader/index.js +2 -2
- package/lib/stac-loader/runtime/Dockerfile +1 -0
- package/lib/stac-loader/runtime/src/stac_loader/handler.py +2 -25
- package/lib/stac-loader/runtime/uv.lock +251 -252
- package/lib/stactools-item-generator/index.js +1 -1
- package/lib/stactools-item-generator/runtime/uv.lock +79 -75
- package/lib/tipg-api/index.js +2 -2
- package/lib/tipg-api/runtime/pyproject.toml +1 -1
- package/lib/tipg-api/runtime/src/tipg_api/handler.py +85 -75
- package/lib/tipg-api/runtime/uv.lock +248 -243
- package/lib/titiler-pgstac-api/index.js +2 -2
- package/lib/titiler-pgstac-api/runtime/pyproject.toml +2 -2
- package/lib/titiler-pgstac-api/runtime/src/titiler_pgstac_api/handler.py +79 -50
- package/lib/titiler-pgstac-api/runtime/uv.lock +319 -280
- package/lib/utils/utils.py +49 -15
- package/package.json +4 -4
- package/pyproject.toml +4 -0
- package/uv.lock +475 -73
- package/lib/ingestor-api/runtime/dev_requirements.txt +0 -4
- package/lib/ingestor-api/runtime/requirements.txt +0 -10
|
@@ -91,5 +91,5 @@ class StacBrowser extends constructs_1.Construct {
|
|
|
91
91
|
}
|
|
92
92
|
exports.StacBrowser = StacBrowser;
|
|
93
93
|
_a = JSII_RTTI_SYMBOL_1;
|
|
94
|
-
StacBrowser[_a] = { fqn: "eoapi-cdk.StacBrowser", version: "11.
|
|
94
|
+
StacBrowser[_a] = { fqn: "eoapi-cdk.StacBrowser", version: "11.6.0" };
|
|
95
95
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUFxRjtBQUNyRiw2Q0FBdUQ7QUFDdkQsaURBQWdGO0FBRWhGLDJDQUF1QztBQUN2QyxpREFBeUM7QUFDekMseUJBQXlCO0FBRXpCLE1BQU0sdUJBQXVCLEdBQUcsZ0JBQWdCLENBQUM7QUFFakQsTUFBYSxXQUFZLFNBQVEsc0JBQVM7SUFLdEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF1QjtRQUM3RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxjQUFjLElBQUksdUJBQXVCLENBQUMsQ0FBQztRQUV4RixpRkFBaUY7UUFDakYsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxvQkFBRSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0UsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksb0JBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtnQkFDeEMsYUFBYSxFQUFFLG9CQUFFLENBQUMsbUJBQW1CLENBQUMsT0FBTztnQkFDN0MsYUFBYSxFQUFFLDJCQUFhLENBQUMsT0FBTztnQkFDcEMsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLG9CQUFvQjthQUNuRCxDQUFDLENBQUE7UUFDTixDQUFDO1FBRUQsOEpBQThKO1FBQzlKLElBQUksS0FBSyxDQUFDLHlCQUF5QixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3RELElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMs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LENBQUMsQ0FBQztZQUN6SCxDQUFDO1lBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsS0FBSyxDQUFDLGNBQWMsT0FBTyxjQUFjLFlBQVksQ0FBQyxDQUFBO1lBQ3pGLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxHQUFHLGNBQWMsWUFBWSxDQUFDLENBQUM7UUFDekUsQ0FBQztRQUVELGdDQUFnQztRQUNoQyxPQUFPLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxLQUFLLENBQUMsY0FBYyxTQUFTLGNBQWMsRUFBRSxDQUFDLENBQUE7UUFDMUYsSUFBQSx3QkFBUSxFQUFDLGlDQUFpQyxLQUFLLENBQUMsY0FBYyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUUzRixPQUFPLHFCQUFxQixDQUFBO0lBRWhDLENBQUM7O0FBcEdMLGtDQXVHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YWNrLCBhd3NfczMgYXMgczMsIGF3c19zM19kZXBsb3ltZW50IGFzIHMzX2RlcGxveW1lbnR9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgUmVtb3ZhbFBvbGljeSwgQ2ZuT3V0cHV0IH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBQb2xpY3lTdGF0ZW1lbnQsIFNlcnZpY2VQcmluY2lwYWwsIEVmZmVjdCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCI7XG5cbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBleGVjU3luYyB9IGZyb20gXCJjaGlsZF9wcm9jZXNzXCI7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5cbmNvbnN0IERFRkFVTFRfQ0xPTkVfRElSRUNUT1JZID0gJy4vc3RhYy1icm93c2VyJztcblxuZXhwb3J0IGNsYXNzIFN0YWNCcm93c2VyIGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICAgIHB1YmxpYyBidWNrZXQ6IHMzLklCdWNrZXQ7XG4gICAgcHVibGljIGJ1Y2tldERlcGxveW1lbnQ6IHMzX2RlcGxveW1lbnQuQnVja2V0RGVwbG95bWVudDtcblxuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTdGFjQnJvd3NlclByb3BzKSB7XG4gICAgICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICAgICAgY29uc3QgYnVpbGRQYXRoID0gdGhpcy5idWlsZEFwcChwcm9wcywgcHJvcHMuY2xvbmVEaXJlY3RvcnkgfHwgREVGQVVMVF9DTE9ORV9ESVJFQ1RPUlkpO1xuXG4gICAgICAgIC8vIGltcG9ydCBhIGJ1Y2tldCBmcm9tIHByb3BzLmJ1Y2tldEFybiBpZiBkZWZpbmVkLCBvdGhlcndpc2UgY3JlYXRlIGEgbmV3IGJ1Y2tldFxuICAgICAgICBpZiAocHJvcHMuYnVja2V0QXJuKSB7XG4gICAgICAgICAgICB0aGlzLmJ1Y2tldCA9IHMzLkJ1Y2tldC5mcm9tQnVja2V0QXJuKHRoaXMsICdCdWNrZXQnLCBwcm9wcy5idWNrZXRBcm4pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5idWNrZXQgPSBuZXcgczMuQnVja2V0KHRoaXMsICdCdWNrZXQnLCB7XG4gICAgICAgICAgICAgICAgYWNjZXNzQ29udHJvbDogczMuQnVja2V0QWNjZXNzQ29udHJvbC5QUklWQVRFLFxuICAgICAgICAgICAgICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICAgICAgICAgICAgICB3ZWJzaXRlSW5kZXhEb2N1bWVudDogcHJvcHMud2Vic2l0ZUluZGV4RG9jdW1lbnRcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuICAgICAgICAvLyBpZiBwcm9wcy5jbG91ZEZyb250RGlzdHJpYnV0aW9uQXJuIGlzIGRlZmluZWQgYW5kIHByb3BzLmJ1Y2tldEFybiBpcyBub3QgZGVmaW5lZCwgYWRkIGEgYnVja2V0IHBvbGljeSB0byBhbGxvdyByZWFkIGFjY2VzcyBmcm9tIHRoZSBjbG91ZGZyb250IGRpc3RyaWJ1dGlvblxuICAgICAgICBpZiAocHJvcHMuY2xvdWRGcm9udERpc3RyaWJ1dGlvbkFybiAmJiAhcHJvcHMuYnVja2V0QXJuKSB7XG4gICAgICAgICAgICB0aGlzLmJ1Y2tldC5hZGRUb1Jlc291cmNlUG9saWN5KG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgc2lkOiAnQWxsb3dDbG91ZEZyb250U2VydmljZVByaW5jaXBhbCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnM6IFsnczM6R2V0T2JqZWN0J10sXG4gICAgICAgICAgICAgICAgICAgICAgICBwcmluY2lwYWxzOiBbbmV3IFNlcnZpY2VQcmluY2lwYWwoJ2Nsb3VkZnJvbnQuYW1hem9uYXdzLmNvbScpXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlczogW3RoaXMuYnVja2V0LmFybkZvck9iamVjdHMoJyonKV0sXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0cmluZ0VxdWFscyc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2F3czpTb3VyY2VBcm4nOiBwcm9wcy5jbG91ZEZyb250RGlzdHJpYnV0aW9uQXJuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBhZGQgdGhlIGNvbXBpbGVkIGNvZGUgdG8gdGhlIGJ1Y2tldCBhcyBhIGJ1Y2tldCBkZXBsb3ltZW50XG4gICAgICAgIHRoaXMuYnVja2V0RGVwbG95bWVudCA9IG5ldyBzM19kZXBsb3ltZW50LkJ1Y2tldERlcGxveW1lbnQodGhpcywgJ0J1Y2tldERlcGxveW1lbnQnLCB7XG4gICAgICAgICAgICBkZXN0aW5hdGlvbkJ1Y2tldDogdGhpcy5idWNrZXQsXG4gICAgICAgICAgICBzb3VyY2VzOiBbczNfZGVwbG95bWVudC5Tb3VyY2UuYXNzZXQoYnVpbGRQYXRoKV1cbiAgICAgICAgICB9KTtcblxuICAgICAgICBuZXcgQ2ZuT3V0cHV0KHRoaXMsIFwiYnVja2V0LW5hbWVcIiwge1xuICAgICAgICBleHBvcnROYW1lOiBgJHtTdGFjay5vZih0aGlzKS5zdGFja05hbWV9LWJ1Y2tldC1uYW1lYCxcbiAgICAgICAgdmFsdWU6IHRoaXMuYnVja2V0LmJ1Y2tldE5hbWUsXG4gICAgICAgIH0pO1xuXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBidWlsZEFwcChwcm9wczogU3RhY0Jyb3dzZXJQcm9wcywgY2xvbmVEaXJlY3Rvcnk6IHN0cmluZyk6IHN0cmluZyB7XG5cbiAgICAgICAgLy8gRGVmaW5lIHdoZXJlIHRvIGNsb25lIGFuZCBidWlsZFxuICAgICAgICBjb25zdCBnaXRodWJSZXBvVXJsID0gJ2h0dHBzOi8vZ2l0aHViLmNvbS9yYWRpYW50ZWFydGgvc3RhYy1icm93c2VyLmdpdCc7XG5cblxuICAgICAgICAvLyBNYXliZSB0aGUgcmVwbyBhbHJlYWR5IGV4aXN0cyBpbiBjbG9uZURpcmVjdG9yeS4gVHJ5IGNoZWNraW5nIG91dCB0aGUgZGVzaXJlZCB2ZXJzaW9uIGFuZCBpZiBpdCBmYWlscywgZGVsZXRlIGFuZCByZWNsb25lLlxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coYENoZWNraW5nIGlmIGEgdmFsaWQgY2xvbmVkIHJlcG8gZXhpc3RzIHdpdGggdmVyc2lvbiAke3Byb3BzLmdpdGh1YlJlcG9UYWd9Li4uYClcbiAgICAgICAgICAgIGV4ZWNTeW5jKGBnaXQgY2hlY2tvdXQgdGFncy8ke3Byb3BzLmdpdGh1YlJlcG9UYWd9YCwgeyBjd2Q6IGNsb25lRGlyZWN0b3J5IH0pO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuXG4gICAgICAgICAgICAvLyBpZiBkaXJlY3RvcnkgZXhpc3RzLCByYWlzZSBhbiBlcnJvclxuICAgICAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmMoY2xvbmVEaXJlY3RvcnkpKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBEaXJlY3RvcnkgJHtjbG9uZURpcmVjdG9yeX0gYWxyZWFkeSBleGlzdHMgYW5kIGlzIG5vdCBhIHZhbGlkIGNsb25lIG9mICR7Z2l0aHViUmVwb1VybH0uIFBsZWFzZSBkZWxldGUgdGhpcyBkaXJlY3Rvcnkgb3Igc3BlY2lmeSBhIGRpZmZlcmVudCBjbG9uZURpcmVjdG9yeS5gKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gZWxzZSwgd2UgY2xvbmUgYW5kIGNoZWNrIG91dCB0aGUgdmVyc2lvbi5cblxuICAgICAgICAgICAgLy8gQ2xvbmUgdGhlIHJlcG9cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBDbG9uaW5nICR7Z2l0aHViUmVwb1VybH0gaW50byAke2Nsb25lRGlyZWN0b3J5fS4uLmApXG4gICAgICAgICAgICBleGVjU3luYyhgZ2l0IGNsb25lICR7Z2l0aHViUmVwb1VybH0gJHtjbG9uZURpcmVjdG9yeX1gKTtcblxuICAgICAgICAgICAgLy8gQ2hlY2sgb3V0IHRoZSBkZXNpcmVkIHZlcnNpb25cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBDaGVja2luZyBvdXQgdmVyc2lvbiAke3Byb3BzLmdpdGh1YlJlcG9UYWd9Li4uYClcbiAgICAgICAgICAgIGV4ZWNTeW5jKGBnaXQgY2hlY2tvdXQgdGFncy8ke3Byb3BzLmdpdGh1YlJlcG9UYWd9YCwgeyBjd2Q6IGNsb25lRGlyZWN0b3J5IH0pO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbnN0YWxsIHRoZSBkZXBlbmRlbmNpZXMgYW5kIGJ1aWxkIHRoZSBhcHBsaWNhdGlvblxuICAgICAgICBjb25zb2xlLmxvZyhgSW5zdGFsbGluZyBkZXBlbmRlbmNpZXNgKVxuICAgICAgICBleGVjU3luYygnbnBtIGluc3RhbGwnLCB7IGN3ZDogY2xvbmVEaXJlY3RvcnkgfSk7XG5cbiAgICAgICAgLy8gSWYgYSBjb25maWcgZmlsZSBpcyBwcm92aWRlZCwgY29weSBpdCB0byB0aGUgc3RhYy1icm93c2VyIGRpcmVjdG9yeSBhdCBcImNvbmZpZy5qc1wiLCByZXBsYWNlcyB0aGUgZGVmYXVsdCBjb25maWcuanMuXG4gICAgICAgIGlmIChwcm9wcy5jb25maWdGaWxlUGF0aCkge1xuICAgICAgICAgICAgLy8gY2hlY2sgdGhhdCB0aGUgZmlsZSBleGlzdHMgYXQgdGhpcyBsb2NhdGlvbi4gaWYgbm90LCByYWlzZSBhbiBlcnJvciBhbmQgcHJpbnQgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5cbiAgICAgICAgICAgIGlmICghZnMuZXhpc3RzU3luYyhwcm9wcy5jb25maWdGaWxlUGF0aCkpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvbmZpZyBmaWxlICR7cHJvcHMuY29uZmlnRmlsZVBhdGh9IGRvZXMgbm90IGV4aXN0LiBDdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IGlzICR7cHJvY2Vzcy5jd2QoKX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBDb3B5aW5nIGNvbmZpZyBmaWxlICR7cHJvcHMuY29uZmlnRmlsZVBhdGh9IHRvICR7Y2xvbmVEaXJlY3Rvcnl9L2NvbmZpZy5qc2ApXG4gICAgICAgICAgICBmcy5jb3B5RmlsZVN5bmMocHJvcHMuY29uZmlnRmlsZVBhdGgsIGAke2Nsb25lRGlyZWN0b3J5fS9jb25maWcuanNgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEJ1aWxkIHRoZSBhcHAgd2l0aCBjYXRhbG9nVXJsXG4gICAgICAgIGNvbnNvbGUubG9nKGBCdWlsZGluZyBhcHAgd2l0aCBjYXRhbG9nVXJsPSR7cHJvcHMuc3RhY0NhdGFsb2dVcmx9IGludG8gJHtjbG9uZURpcmVjdG9yeX1gKVxuICAgICAgICBleGVjU3luYyhgbnBtIHJ1biBidWlsZCAtLSAtLWNhdGFsb2dVcmw9JHtwcm9wcy5zdGFjQ2F0YWxvZ1VybH1gLCB7IGN3ZDogY2xvbmVEaXJlY3RvcnkgfSk7XG5cbiAgICAgICAgcmV0dXJuICcuL3N0YWMtYnJvd3Nlci9kaXN0J1xuXG4gICAgfVxuXG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGFjQnJvd3NlclByb3BzIHtcblxuICAgIC8qKlxuICAgICAqIEJ1Y2tldCBBUk4uIElmIHNwZWNpZmllZCwgdGhlIGlkZW50aXR5IHVzZWQgdG8gZGVwbG95IHRoZSBzdGFjayBtdXN0IGhhdmUgdGhlIGFwcHJvcHJpYXRlIHBlcm1pc3Npb25zIHRvIGNyZWF0ZSBhIGRlcGxveW1lbnQgZm9yIHRoaXMgYnVja2V0LlxuICAgICAqIEluIGFkZGl0aW9uLCBpZiBzcGVjaWZpZWQsIGBjbG91ZEZyb250RGlzdHJpYnV0aW9uQXJuYCBpcyBpZ25vcmVkIHNpbmNlIHRoZSBwb2xpY3kgb2YgYW4gaW1wb3J0ZWQgcmVzb3VyY2UgY2FuJ3QgYmUgbW9kaWZpZWQuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAtIE5vIGJ1Y2tldCBBUk4uIEEgbmV3IGJ1Y2tldCB3aWxsIGJlIGNyZWF0ZWQuXG4gICAgICovXG5cbiAgICByZWFkb25seSBidWNrZXRBcm4/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBTVEFDIGNhdGFsb2cgVVJMLiBPdmVycmlkZXMgdGhlIGNhdGFsb2cgVVJMIGluIHRoZSBzdGFjLWJyb3dzZXIgY29uZmlndXJhdGlvbi5cbiAgICAgKi9cbiAgICByZWFkb25seSBzdGFjQ2F0YWxvZ1VybDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogUGF0aCB0byBjb25maWcgZmlsZSBmb3IgdGhlIFNUQUMgYnJvd3Nlci4gSWYgbm90IHByb3ZpZGVkLCBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gaW4gdGhlIFNUQUMgYnJvd3NlclxuICAgICAqIHJlcG9zaXRvcnkgaXMgdXNlZC5cbiAgICAgKi9cbiAgICByZWFkb25seSBjb25maWdGaWxlUGF0aD86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRhZyBvZiB0aGUgcmFkaWFudCBlYXJ0aCBzdGFjLWJyb3dzZXIgcmVwbyB0byB1c2UgdG8gYnVpbGQgdGhlIGFwcC5cbiAgICAgKi9cbiAgICByZWFkb25seSBnaXRodWJSZXBvVGFnOiBzdHJpbmc7XG5cblxuICAgIC8qKlxuICAgICAqIFRoZSBBUk4gb2YgdGhlIGNsb3VkZnJvbnQgZGlzdHJpYnV0aW9uIHRoYXQgd2lsbCBiZSBhZGRlZCB0byB0aGUgYnVja2V0IHBvbGljeSB3aXRoIHJlYWQgYWNjZXNzLlxuICAgICAqIElmIGBidWNrZXRBcm5gIGlzIHNwZWNpZmllZCwgdGhpcyBwYXJhbWV0ZXIgaXMgaWdub3JlZCBzaW5jZSB0aGUgcG9saWN5IG9mIGFuIGltcG9ydGVkIGJ1Y2tldCBjYW4ndCBiZSBtb2RpZmllZC5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gTm8gY2xvdWRmcm9udCBkaXN0cmlidXRpb24gQVJOLiBUaGUgYnVja2V0IHBvbGljeSB3aWxsIG5vdCBiZSBtb2RpZmllZC5cbiAgICAgKi9cbiAgICByZWFkb25seSBjbG91ZEZyb250RGlzdHJpYnV0aW9uQXJuPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIGluZGV4IGRvY3VtZW50IChlLmcuIFwiaW5kZXguaHRtbFwiKSBmb3IgdGhlIHdlYnNpdGUuIEVuYWJsZXMgc3RhdGljIHdlYnNpdGVcbiAgICAgKiBob3N0aW5nIGZvciB0aGlzIGJ1Y2tldC5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gTm8gaW5kZXggZG9jdW1lbnQuXG4gICAgICovXG4gICAgcmVhZG9ubHkgd2Vic2l0ZUluZGV4RG9jdW1lbnQ/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBMb2NhdGlvbiBpbiB0aGUgZmlsZXN5c3RlbSB3aGVyZSB0byBjb21waWxlIHRoZSBicm93c2VyIGNvZGUuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAtIERFRkFVTFRfQ0xPTkVfRElSRUNUT1JZXG4gICAgICovXG4gICAgcmVhZG9ubHkgY2xvbmVEaXJlY3Rvcnk/OiBzdHJpbmc7XG5cbn1cbiJdfQ==
|
package/lib/stac-loader/index.js
CHANGED
|
@@ -293,7 +293,7 @@ class StacLoader extends constructs_1.Construct {
|
|
|
293
293
|
}
|
|
294
294
|
exports.StacLoader = StacLoader;
|
|
295
295
|
_a = JSII_RTTI_SYMBOL_1;
|
|
296
|
-
StacLoader[_a] = { fqn: "eoapi-cdk.StacLoader", version: "11.
|
|
296
|
+
StacLoader[_a] = { fqn: "eoapi-cdk.StacLoader", version: "11.6.0" };
|
|
297
297
|
/**
|
|
298
298
|
* @deprecated Use StacLoader instead. StacItemLoader will be removed in a future version.
|
|
299
299
|
*/
|
|
@@ -306,5 +306,5 @@ class StacItemLoader extends StacLoader {
|
|
|
306
306
|
}
|
|
307
307
|
exports.StacItemLoader = StacItemLoader;
|
|
308
308
|
_b = JSII_RTTI_SYMBOL_1;
|
|
309
|
-
StacItemLoader[_b] = { fqn: "eoapi-cdk.StacItemLoader", version: "11.
|
|
309
|
+
StacItemLoader[_b] = { fqn: "eoapi-cdk.StacItemLoader", version: "11.6.0" };
|
|
310
310
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQVdxQjtBQUNyQiwyQ0FBdUM7QUFDdkMsNkJBQTZCO0FBRTdCLG9DQUF3RTtBQXlJeEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1TUc7QUFDSCxNQUFhLFVBQVcsU0FBUSxzQkFBUztJQW9EdkMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFzQjtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxvQkFBb0IsSUFBSSxHQUFHLENBQUM7UUFDekQsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsSUFBSSx3QkFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDeEUsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUM7UUFFakQsMkJBQTJCO1FBQzNCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxxQkFBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLEVBQUU7WUFDNUQsZUFBZSxFQUFFLHNCQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztTQUNuQyxDQUFDLENBQUM7UUFFSCxvQkFBb0I7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLHFCQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUU7WUFDeEMsaUJBQWlCLEVBQUUsc0JBQVEs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QUFFLGlDQUFpQztZQUM5QyxVQUFVLEVBQUUsR0FBRyxZQUFZLHdCQUF3QjtTQUNwRCxDQUFDLENBQUM7UUFFSCxJQUFJLHVCQUFTLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUM5QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRO1lBQzFCLFdBQVcsRUFBRSxpQ0FBaUM7WUFDOUMsVUFBVSxFQUFFLEdBQUcsWUFBWSx3QkFBd0I7U0FDcEQsQ0FBQyxDQUFDO1FBRUgsSUFBSSx1QkFBUyxDQUFDLElBQUksRUFBRSxvQkFBb0IsRUFBRTtZQUN4QyxLQUFLLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRO1lBQ3BDLFdBQVcsRUFBRSx5Q0FBeUM7WUFDdEQsVUFBVSxFQUFFLEdBQUcsWUFBWSxtQ0FBbUM7U0FDL0QsQ0FBQyxDQUFDO1FBRUgsSUFBSSx1QkFBUyxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7WUFDbEMsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWTtZQUN2QyxXQUFXLEVBQUUsd0NBQXdDO1lBQ3JELFVBQVUsRUFBRSxHQUFHLFlBQVksNEJBQTRCO1NBQ3hELENBQUMsQ0FBQztJQUNMLENBQUM7O0FBekpILGdDQTBKQzs7O0FBRUQ7O0dBRUc7QUFDSCxNQUFhLGNBQWUsU0FBUSxVQUFVO0lBQzVDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBc0I7UUFDOUQsT0FBTyxDQUFDLElBQUksQ0FDViwrREFBK0Q7WUFDN0QscURBQXFELENBQ3hELENBQUM7UUFFRixLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDOztBQVJILHdDQVNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2ZuT3V0cHV0LFxuICBEdXJhdGlvbixcbiAgYXdzX2VjMiBhcyBlYzIsXG4gIGF3c19sYW1iZGEgYXMgbGFtYmRhLFxuICBhd3NfbGFtYmRhX2V2ZW50X3NvdXJjZXMgYXMgbGFtYmRhRXZlbnRTb3VyY2VzLFxuICBhd3NfbG9ncyBhcyBsb2dzLFxuICBhd3Nfc25zIGFzIHNucyxcbiAgYXdzX3Nuc19zdWJzY3JpcHRpb25zIGFzIHNuc1N1YnNjcmlwdGlvbnMsXG4gIGF3c19zcXMgYXMgc3FzLFxuICBTdGFjayxcbn0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgUGdTdGFjRGF0YWJhc2UgfSBmcm9tIFwiLi4vZGF0YWJhc2VcIjtcbmltcG9ydCB7IEN1c3RvbUxhbWJkYUZ1bmN0aW9uUHJvcHMsIHJlc29sdmVMYW1iZGFDb2RlIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIGZvciB0aGUgU3RhY0xvYWRlciBjb25zdHJ1Y3QuXG4gKlxuICogVGhlIFN0YWNMb2FkZXIgaXMgcGFydCBvZiBhIHR3by1waGFzZSBzZXJ2ZXJsZXNzIFNUQUMgaW5nZXN0aW9uIHBpcGVsaW5lXG4gKiB0aGF0IGxvYWRzIFNUQUMgY29sbGVjdGlvbnMgYW5kIGl0ZW1zIGludG8gYSBwZ3N0YWMgZGF0YWJhc2UuIFRoaXMgY29uc3RydWN0IGNyZWF0ZXNcbiAqIHRoZSBpbmZyYXN0cnVjdHVyZSBmb3IgcmVjZWl2aW5nIFNUQUMgb2JqZWN0cyBmcm9tIG11bHRpcGxlIHNvdXJjZXM6XG4gKiAxLiBTTlMgbWVzc2FnZXMgY29udGFpbmluZyBTVEFDIG1ldGFkYXRhIChkaXJlY3QgaW5nZXN0aW9uKVxuICogMi4gUzMgZXZlbnQgbm90aWZpY2F0aW9ucyBmb3IgU1RBQyBvYmplY3RzIHVwbG9hZGVkIHRvIFMzIGJ1Y2tldHNcbiAqXG4gKiBPYmplY3RzIGZyb20gYm90aCBzb3VyY2VzIGFyZSBiYXRjaGVkIGFuZCBpbnNlcnRlZCBpbnRvIFBvc3RncmVTUUwgd2l0aCB0aGUgcGdzdGFjIGV4dGVuc2lvbi5cbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3QgbG9hZGVyID0gbmV3IFN0YWNMb2FkZXIodGhpcywgJ1N0YWNMb2FkZXInLCB7XG4gKiAgIHBnc3RhY0RiOiBkYXRhYmFzZSxcbiAqICAgYmF0Y2hTaXplOiAxMDAwLFxuICogICBtYXhCYXRjaGluZ1dpbmRvd01pbnV0ZXM6IDEsXG4gKiAgIGxhbWJkYVRpbWVvdXRTZWNvbmRzOiAzMDBcbiAqIH0pO1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YWNMb2FkZXJQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgUGdTVEFDIGRhdGFiYXNlIGluc3RhbmNlIHRvIGxvYWQgZGF0YSBpbnRvLlxuICAgKlxuICAgKiBUaGlzIGRhdGFiYXNlIG11c3QgaGF2ZSB0aGUgcGdzdGFjIGV4dGVuc2lvbiBpbnN0YWxsZWQgYW5kIGJlIHByb3Blcmx5XG4gICAqIGNvbmZpZ3VyZWQgd2l0aCBjb2xsZWN0aW9ucyBiZWZvcmUgb2JqZWN0cyBjYW4gYmUgbG9hZGVkLiBUaGUgbG9hZGVyIHdpbGxcbiAgICogdXNlIEFXUyBTZWNyZXRzIE1hbmFnZXIgdG8gc2VjdXJlbHkgYWNjZXNzIGRhdGFiYXNlIGNyZWRlbnRpYWxzLlxuICAgKi9cbiAgcmVhZG9ubHkgcGdzdGFjRGI6IFBnU3RhY0RhdGFiYXNlO1xuXG4gIC8qKlxuICAgKiBWUEMgaW50byB3aGljaCB0aGUgbGFtYmRhIHNob3VsZCBiZSBkZXBsb3llZC5cbiAgICovXG4gIHJlYWRvbmx5IHZwYz86IGVjMi5JVnBjO1xuXG4gIC8qKlxuICAgKiBTdWJuZXQgaW50byB3aGljaCB0aGUgbGFtYmRhIHNob3VsZCBiZSBkZXBsb3llZC5cbiAgICovXG4gIHJlYWRvbmx5IHN1Ym5ldFNlbGVjdGlvbj86IGVjMi5TdWJuZXRTZWxlY3Rpb247XG5cbiAgLyoqXG4gICAqIFRoZSBsYW1iZGEgcnVudGltZSB0byB1c2UgZm9yIHRoZSBpdGVtIGxvYWRpbmcgZnVuY3Rpb24uXG4gICAqXG4gICAqIFRoZSBmdW5jdGlvbiBpcyBpbXBsZW1lbnRlZCBpbiBQeXRob24gYW5kIHVzZXMgcHlwZ3N0YWMgZm9yIGRhdGFiYXNlXG4gICAqIG9wZXJhdGlvbnMuIEVuc3VyZSB0aGUgcnVudGltZSB2ZXJzaW9uIGlzIGNvbXBhdGlibGUgd2l0aCB0aGUgcGdzdGFjXG4gICAqIHZlcnNpb24gc3BlY2lmaWVkIGluIHRoZSBkYXRhYmFzZSBjb25maWd1cmF0aW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCBsYW1iZGEuUnVudGltZS5QWVRIT05fM18xMlxuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhUnVudGltZT86IGxhbWJkYS5SdW50aW1lO1xuXG4gIC8qKlxuICAgKiBUaGUgdGltZW91dCBmb3IgdGhlIGl0ZW0gbG9hZCBsYW1iZGEgaW4gc2Vjb25kcy5cbiAgICpcbiAgICogVGhpcyBzaG91bGQgYWNjb21tb2RhdGUgdGhlIHRpbWUgbmVlZGVkIHRvIHByb2Nlc3MgdXAgdG8gYGJhdGNoU2l6ZWBcbiAgICogb2JqZWN0cyBhbmQgcGVyZm9ybSBkYXRhYmFzZSBpbnNlcnRpb25zLiBUaGUgU1FTIHZpc2liaWxpdHkgdGltZW91dFxuICAgKiB3aWxsIGJlIHNldCB0byB0aGlzIHZhbHVlIHBsdXMgMTAgc2Vjb25kcy5cbiAgICpcbiAgICogQGRlZmF1bHQgMzAwXG4gICAqL1xuICByZWFkb25seSBsYW1iZGFUaW1lb3V0U2Vjb25kcz86IG51bWJlcjtcblxuICAvKipcbiAgICogTWVtb3J5IHNpemUgZm9yIHRoZSBsYW1iZGEgZnVuY3Rpb24gaW4gTUIuXG4gICAqXG4gICAqIEhpZ2hlciBtZW1vcnkgYWxsb2NhdGlvbiBtYXkgaW1wcm92ZSBwZXJmb3JtYW5jZSB3aGVuIHByb2Nlc3NpbmdcbiAgICogbGFyZ2UgYmF0Y2hlcyBvZiBTVEFDIG9iamVjdHMsIGVzcGVjaWFsbHkgZm9yIG1lbW9yeS1pbnRlbnNpdmVcbiAgICogZGF0YWJhc2Ugb3BlcmF0aW9ucy5cbiAgICpcbiAgICogQGRlZmF1bHQgMTAyNFxuICAgKi9cbiAgcmVhZG9ubHkgbWVtb3J5U2l6ZT86IG51bWJlcjtcblxuICAvKipcbiAgICogU1FTIGJhdGNoIHNpemUgZm9yIGxhbWJkYSBldmVudCBzb3VyY2UuXG4gICAqXG4gICAqIFRoaXMgZGV0ZXJtaW5lcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgU1RBQyBvYmplY3RzIHRoYXQgd2lsbCBiZVxuICAgKiBwcm9jZXNzZWQgdG9nZXRoZXIgaW4gYSBzaW5nbGUgbGFtYmRhIGludm9jYXRpb24uIExhcmdlciBiYXRjaFxuICAgKiBzaXplcyBpbXByb3ZlIGRhdGFiYXNlIGluc2VydGlvbiBlZmZpY2llbmN5IGJ1dCByZXF1aXJlIG1vcmVcbiAgICogbWVtb3J5IGFuZCBsb25nZXIgcHJvY2Vzc2luZyB0aW1lLlxuICAgKlxuICAgKiAqKkJhdGNoaW5nIEJlaGF2aW9yKio6IFNRUyB3aWxsIHdhaXQgdG8gYWNjdW11bGF0ZSB1cCB0byB0aGlzIG1hbnlcbiAgICogbWVzc2FnZXMgYmVmb3JlIHRyaWdnZXJpbmcgdGhlIExhbWJkYSwgT1IgdW50aWwgdGhlIG1heEJhdGNoaW5nV2luZG93XG4gICAqIHRpbWVvdXQgaXMgcmVhY2hlZCwgd2hpY2hldmVyIGNvbWVzIGZpcnN0LiBUaGlzIGNyZWF0ZXMgYW4gZWZmaWNpZW50XG4gICAqIGJhbGFuY2UgYmV0d2VlbiB0aHJvdWdocHV0IGFuZCBsYXRlbmN5LlxuICAgKlxuICAgKiBAZGVmYXVsdCA1MDBcbiAgICovXG4gIHJlYWRvbmx5IGJhdGNoU2l6ZT86IG51bWJlcjtcblxuICAvKipcbiAgICogTWF4aW11bSBiYXRjaGluZyB3aW5kb3cgaW4gbWludXRlcy5cbiAgICpcbiAgICogRXZlbiBpZiB0aGUgYmF0Y2ggc2l6ZSBpc24ndCByZWFjaGVkLCB0aGUgbGFtYmRhIHdpbGwgYmUgdHJpZ2dlcmVkXG4gICAqIGFmdGVyIHRoaXMgdGltZSBwZXJpb2QgdG8gZW5zdXJlIHRpbWVseSBwcm9jZXNzaW5nIG9mIG9iamVjdHMuXG4gICAqIFRoaXMgcHJldmVudHMgb2JqZWN0cyBmcm9tIHdhaXRpbmcgaW5kZWZpbml0ZWx5IGluIGxvdy12b2x1bWUgc2NlbmFyaW9zLlxuICAgKlxuICAgKiAqKkltcG9ydGFudCoqOiBUaGlzIHRpbWVvdXQgd29ya3MgaW4gY29uanVuY3Rpb24gd2l0aCBiYXRjaFNpemUgLSBTUVNcbiAgICogd2lsbCB0cmlnZ2VyIHRoZSBMYW1iZGEgd2hlbiBFSVRIRVIgdGhlIGJhdGNoIHNpemUgaXMgcmVhY2hlZCBPUiB0aGlzXG4gICAqIHRpbWUgd2luZG93IGV4cGlyZXMsIGVuc3VyaW5nIG9iamVjdHMgYXJlIHByb2Nlc3NlZCBpbiBhIHRpbWVseSBtYW5uZXJcbiAgICogcmVnYXJkbGVzcyBvZiB2b2x1bWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IDFcbiAgICovXG4gIHJlYWRvbmx5IG1heEJhdGNoaW5nV2luZG93TWludXRlcz86IG51bWJlcjtcblxuICAvKipcbiAgICogTWF4aW11bSBjb25jdXJyZW50IGV4ZWN1dGlvbnMgZm9yIHRoZSBTdGFjTG9hZGVyIExhbWJkYSBmdW5jdGlvblxuICAgKlxuICAgKiBUaGlzIGxpbWl0IHdpbGwgYmUgYXBwbGllZCB0byB0aGUgTGFtYmRhIGZ1bmN0aW9uIGFuZCB3aWxsIGNvbnRyb2wgaG93XG4gICAqIG1hbnkgY29uY3VycmVudCBiYXRjaGVzIHdpbGwgYmUgcmVsZWFzZWQgZnJvbSB0aGUgU1FTIHF1ZXVlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAyXG4gICAqL1xuICByZWFkb25seSBtYXhDb25jdXJyZW5jeT86IG51bWJlcjtcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgZm9yIHRoZSBsYW1iZGEgZnVuY3Rpb24uXG4gICAqXG4gICAqIFRoZXNlIHdpbGwgYmUgbWVyZ2VkIHdpdGggdGhlIGRlZmF1bHQgZW52aXJvbm1lbnQgdmFyaWFibGVzIGluY2x1ZGluZ1xuICAgKiBQR1NUQUNfU0VDUkVUX0FSTi4gVXNlIHRoaXMgZm9yIGN1c3RvbSBjb25maWd1cmF0aW9uIG9yIGRlYnVnZ2luZyBmbGFncy5cbiAgICpcbiAgICogSWYgeW91IHdhbnQgdG8gZW5hYmxlIHRoZSBvcHRpb24gdG8gdXBsb2FkIGEgYm9pbGVycGxhdGUgY29sbGVjdGlvbiByZWNvcmRcbiAgICogaW4gdGhlIGV2ZW50IHRoYXQgdGhlIGNvbGxlY3Rpb24gcmVjb3JkIGRvZXMgbm90IHlldCBleGlzdCBmb3IgYW4gaXRlbSB0aGF0XG4gICAqIGlzIHNldCB0byBiZSBsb2FkZWQsIHNldCB0aGUgdmFyaWFibGUgYFwiQ1JFQVRFX0NPTExFQ1RJT05TX0lGX01JU1NJTkdcIjogXCJUUlVFXCJgLlxuICAgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnQ/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBDYW4gYmUgdXNlZCB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBsYW1iZGEgZnVuY3Rpb24gcHJvcGVydGllcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBkZWZpbmVkIGluIHRoZSBjb25zdHJ1Y3QuXG4gICAqL1xuICByZWFkb25seSBsYW1iZGFGdW5jdGlvbk9wdGlvbnM/OiBDdXN0b21MYW1iZGFGdW5jdGlvblByb3BzO1xufVxuXG4vKipcbiAqIEFXUyBDREsgQ29uc3RydWN0IGZvciBTVEFDIE9iamVjdCBMb2FkaW5nIEluZnJhc3RydWN0dXJlXG4gKlxuICogVGhlIFN0YWNMb2FkZXIgY3JlYXRlcyBhIHNlcnZlcmxlc3MsIGV2ZW50LWRyaXZlbiBzeXN0ZW0gZm9yIGxvYWRpbmdcbiAqIFNUQUMgKFNwYXRpb1RlbXBvcmFsIEFzc2V0IENhdGFsb2cpIG9iamVjdHMgaW50byBhIFBvc3RncmVTUUwgZGF0YWJhc2Ugd2l0aFxuICogdGhlIHBnc3RhYyBleHRlbnNpb24uIFRoaXMgY29uc3RydWN0IHN1cHBvcnRzIG11bHRpcGxlIGluZ2VzdGlvbiBwYXRod2F5c1xuICogZm9yIGZsZXhpYmxlIFNUQUMgb2JqZWN0IGxvYWRpbmcuXG4gKlxuICogIyMgQXJjaGl0ZWN0dXJlIE92ZXJ2aWV3XG4gKlxuICogVGhpcyBjb25zdHJ1Y3QgY3JlYXRlcyB0aGUgZm9sbG93aW5nIEFXUyByZXNvdXJjZXM6XG4gKiAtICoqU05TIFRvcGljKio6IEVudHJ5IHBvaW50IGZvciBTVEFDIG9iamVjdHMgYW5kIFMzIGV2ZW50IG5vdGlmaWNhdGlvbnNcbiAqIC0gKipTUVMgUXVldWUqKjogQnVmZmVycyBhbmQgYmF0Y2hlcyBtZXNzYWdlcyBiZWZvcmUgcHJvY2Vzc2luZyAoNjAtc2Vjb25kIHZpc2liaWxpdHkgdGltZW91dClcbiAqIC0gKipEZWFkIExldHRlciBRdWV1ZSoqOiBDYXB0dXJlcyBmYWlsZWQgbG9hZGluZyBhdHRlbXB0cyBhZnRlciA1IHJldHJpZXNcbiAqIC0gKipMYW1iZGEgRnVuY3Rpb24qKjogUHl0aG9uIGZ1bmN0aW9uIHRoYXQgcHJvY2Vzc2VzIGJhdGNoZXMgYW5kIGluc2VydHMgb2JqZWN0cyBpbnRvIHBnc3RhY1xuICpcbiAqICMjIERhdGEgRmxvd1xuICpcbiAqIFRoZSBsb2FkZXIgc3VwcG9ydHMgdHdvIHByaW1hcnkgZGF0YSBpbmdlc3Rpb24gcGF0dGVybnM6XG4gKlxuICogIyMjIERpcmVjdCBTVEFDIE9iamVjdCBQdWJsaXNoaW5nXG4gKiAxLiBTVEFDIG9iamVjdHMgKEpTT04pIGFyZSBwdWJsaXNoZWQgZGlyZWN0bHkgdG8gdGhlIFNOUyB0b3BpYyBpbiBtZXNzYWdlIGJvZGllc1xuICogMi4gVGhlIFNRUyBxdWV1ZSBjb2xsZWN0cyBtZXNzYWdlcyBhbmQgYmF0Y2hlcyB0aGVtICh1cCB0byB7YmF0Y2hTaXplfSBvYmplY3RzIG9yIDEgbWludXRlIHdpbmRvdylcbiAqIDMuIFRoZSBMYW1iZGEgZnVuY3Rpb24gcmVjZWl2ZXMgYmF0Y2hlcywgdmFsaWRhdGVzIG9iamVjdHMsIGFuZCBpbnNlcnRzIGludG8gcGdzdGFjXG4gKlxuICogIyMjIFMzIEV2ZW50LURyaXZlbiBMb2FkaW5nXG4gKiAxLiBBbiBTMyBidWNrZXQgaXMgY29uZmlndXJlZCB0byBzZW5kIG5vdGlmaWNhdGlvbnMgdG8gdGhlIFNOUyB0b3BpYyB3aGVuIGpzb24gZmlsZXMgYXJlIGNyZWF0ZWRcbiAqIDIuIFNUQUMgb2JqZWN0cyBhcmUgdXBsb2FkZWQgdG8gUzMgYnVja2V0cyBhcyBKU09OL0dlb0pTT04gZmlsZXNcbiAqIDMuIFMzIGV2ZW50IG5vdGlmaWNhdGlvbnMgYXJlIHNlbnQgdG8gdGhlIFNOUyB0b3BpYyB3aGVuIG9iamVjdHMgYXJlIHVwbG9hZGVkXG4gKiA0LiBUaGUgTGFtYmRhIGZ1bmN0aW9uIHJlY2VpdmVzIFMzIGV2ZW50cyBpbiB0aGUgU1FTIG1lc3NhZ2UgYmF0Y2gsIGZldGNoZXMgb2JqZWN0cyBmcm9tIFMzLCBhbmQgbG9hZHMgaW50byBwZ3N0YWNcbiAqXG4gKiAjIyBCYXRjaGluZyBCZWhhdmlvclxuICpcbiAqIFRoZSBTUVMtdG8tTGFtYmRhIGludGVncmF0aW9uIHVzZXMgaW50ZWxsaWdlbnQgYmF0Y2hpbmcgdG8gb3B0aW1pemUgcGVyZm9ybWFuY2U6XG4gKlxuICogLSAqKkJhdGNoIFNpemUqKjogTGFtYmRhIHdhaXRzIHRvIHJlY2VpdmUgdXAgdG8gYGJhdGNoU2l6ZWAgbWVzc2FnZXMgKGRlZmF1bHQ6IDUwMClcbiAqIC0gKipCYXRjaGluZyBXaW5kb3cqKjogSWYgZmV3ZXIgdGhhbiBgYmF0Y2hTaXplYCBtZXNzYWdlcyBhcmUgYXZhaWxhYmxlLCBMYW1iZGFcbiAqICAgdHJpZ2dlcnMgYWZ0ZXIgYG1heEJhdGNoaW5nV2luZG93YCBtaW51dGVzIChkZWZhdWx0OiAxIG1pbnV0ZSlcbiAqIC0gKipUcmlnZ2VyIENvbmRpdGlvbioqOiBMYW1iZGEgZXhlY3V0ZXMgd2hlbiBFSVRIRVIgY29uZGl0aW9uIGlzIG1ldCBmaXJzdFxuICogLSAqKkNvbmN1cnJlbmN5Kio6IExpbWl0ZWQgdG8gYG1heENvbmN1cnJlbmN5YCBjb25jdXJyZW50IGV4ZWN1dGlvbnMgdG8gcHJldmVudCBkYXRhYmFzZSBvdmVybG9hZFxuICogLSAqKlBhcnRpYWwgRmFpbHVyZXMqKjogVXNlcyBgcmVwb3J0QmF0Y2hJdGVtRmFpbHVyZXNgIHRvIHJldHJ5IG9ubHkgZmFpbGVkIG9iamVjdHNcbiAqXG4gKiBUaGlzIGFwcHJvYWNoIGJhbGFuY2VzIHRocm91Z2hwdXQgKGxhcmdlciBiYXRjaGVzID0gZmV3ZXIgZGF0YWJhc2UgY29ubmVjdGlvbnMpXG4gKiB3aXRoIGxhdGVuY3kgKHRpbWUtYmFzZWQgdHJpZ2dlcnMgcHJldmVudCBpbmRlZmluaXRlIHdhaXRpbmcpLlxuICpcbiAqICMjIE1lc3NhZ2UgT3JkZXJpbmcgYW5kIERlZHVwbGljYXRpb25cbiAqXG4gKiAqKlN0YW5kYXJkIFF1ZXVlcyoqOiBUaGlzIGNvbnN0cnVjdCB1c2VzIHN0YW5kYXJkIChub24tRklGTykgU05TIHRvcGljcyBhbmQgU1FTIHF1ZXVlcyxcbiAqIHdoaWNoIG1lYW5zIG1lc3NhZ2VzIGFyZSAqKm5vdCBndWFyYW50ZWVkIHRvIGFycml2ZSBpbiBvcmRlcioqLiBNdWx0aXBsZSBtZXNzYWdlc1xuICogd2l0aCB0aGUgc2FtZSBTVEFDIGl0ZW0gb3IgY29sbGVjdGlvbiBJRCBtYXkgYXJyaXZlIGluIGFueSBzZXF1ZW5jZS5cbiAqXG4gKiAqKlRpbWVzdGFtcC1CYXNlZCBEZWR1cGxpY2F0aW9uKio6IFdpdGhpbiBlYWNoIGJhdGNoLCB0aGUgbG9hZGVyIHVzZXMgU05TIHRpbWVzdGFtcHNcbiAqIHRvIGVuc3VyZSBvbmx5IHRoZSBuZXdlc3QgdmVyc2lvbiBvZiBlYWNoIGl0ZW0vY29sbGVjdGlvbiBpcyBpbmdlc3RlZDpcbiAqXG4gKiAtIFdoZW4gbXVsdGlwbGUgbWVzc2FnZXMgaGF2ZSB0aGUgc2FtZSBpdGVtL2NvbGxlY3Rpb24gSUQgaW4gYSBiYXRjaCwgdGhlIGxvYWRlclxuICogICBjb21wYXJlcyB0aGVpciBTTlMgVGltZXN0YW1wcyAoYXV0b21hdGljYWxseSBzZXQgd2hlbiBtZXNzYWdlcyBhcmUgcHVibGlzaGVkKVxuICogLSBPbmx5IHRoZSBtZXNzYWdlIHdpdGggdGhlICoqbmV3ZXN0IHRpbWVzdGFtcCoqIGlzIGtlcHQgZm9yIGRhdGFiYXNlIGluc2VydGlvblxuICogLSBPbGRlciB2ZXJzaW9ucyBhcmUgZGlzY2FyZGVkIGFuZCBsb2dnZWQgYXQgdGhlIGRlYnVnIGxldmVsXG4gKiAtIFRoaXMgZ3VhcmFudGVlcyB0aGF0IHdpdGhpbiBhIGJhdGNoLCB0aGUgY2hyb25vbG9naWNhbGx5IGxhdGVzdCB1cGRhdGUgd2luc1xuICpcbiAqICoqSW1wb3J0YW50IExpbWl0YXRpb25zKio6XG4gKiAtIERlZHVwbGljYXRpb24gb25seSBvY2N1cnMgKip3aXRoaW4gYSBzaW5nbGUgYmF0Y2gqKiAtIG1lc3NhZ2VzIGluIGRpZmZlcmVudCBiYXRjaGVzXG4gKiAgIGFyZSBub3QgY29tcGFyZWQgYWNyb3NzIGJhdGNoZXNcbiAqIC0gVGhlIGRhdGFiYXNlIHVwc2VydCBvcGVyYXRpb24gd2lsbCB1cGRhdGUgZXhpc3RpbmcgcmVjb3Jkcywgc28gbGF0ZXIgYmF0Y2hlcyBjYW5cbiAqICAgc3RpbGwgb3ZlcndyaXRlIGVhcmxpZXIgYmF0Y2hlcyByZWdhcmRsZXNzIG9mIHRpbWVzdGFtcHNcbiAqIC0gRm9yIGd1YXJhbnRlZWQgb3JkZXJpbmcgYWNyb3NzIGFsbCBtZXNzYWdlcywgY29uc2lkZXIgaW1wbGVtZW50aW5nIHZlcnNpb24gdHJhY2tpbmdcbiAqICAgaW4geW91ciBTVEFDIG1ldGFkYXRhIGFuZCBkYXRhYmFzZSBjb25zdHJhaW50c1xuICpcbiAqICMjIEVycm9yIEhhbmRsaW5nIGFuZCBEZWFkIExldHRlciBRdWV1ZVxuICpcbiAqIEZhaWxlZCBtZXNzYWdlcyBhcmUgc2VudCB0byB0aGUgZGVhZCBsZXR0ZXIgcXVldWUgYWZ0ZXIgNSBwcm9jZXNzaW5nIGF0dGVtcHRzLlxuICogKipJbXBvcnRhbnQqKjogVGhpcyBjb25zdHJ1Y3QgcHJvdmlkZXMgTk8gYXV0b21hdGVkIGhhbmRsaW5nIG9mIGRlYWQgbGV0dGVyIHF1ZXVlXG4gKiBtZXNzYWdlcyAtIG1vbml0b3JpbmcsIGluc3BlY3Rpb24sIGFuZCByZXByb2Nlc3Npbmcgb2YgZmFpbGVkIG9iamVjdHMgaXMgdGhlXG4gKiByZXNwb25zaWJpbGl0eSBvZiB0aGUgaW1wbGVtZW50aW5nIGFwcGxpY2F0aW9uLlxuICpcbiAqIENvbnNpZGVyIGltcGxlbWVudGluZzpcbiAqIC0gQ2xvdWRXYXRjaCBhbGFybXMgb24gZGVhZCBsZXR0ZXIgcXVldWUgZGVwdGhcbiAqIC0gTWFudWFsIG9yIGF1dG9tYXRlZCByZXByb2Nlc3Npbmcgd29ya2Zsb3dzXG4gKiAtIExvZ2dpbmcgYW5kIGFsZXJ0aW5nIGZvciBmYWlsZWQgb2JqZWN0c1xuICogLSBSZWd1bGFyIGNsZWFudXAgb2Ygb2xkIGRlYWQgbGV0dGVyIG1lc3NhZ2VzICgxNC1kYXkgcmV0ZW50aW9uKVxuICpcbiAqICMjIE9wZXJhdGlvbmFsIENoYXJhY3RlcmlzdGljc1xuICpcbiAqIC0gKipTY2FsYWJpbGl0eSoqOiBMYW1iZGEgc2NhbGVzIGF1dG9tYXRpY2FsbHkgYmFzZWQgb24gcXVldWUgZGVwdGhcbiAqIC0gKipSZWxpYWJpbGl0eSoqOiBEZWFkIGxldHRlciBxdWV1ZSBjYXB0dXJlcyBmYWlsdXJlcyBmb3IgZGVidWdnaW5nXG4gKiAtICoqRWZmaWNpZW5jeSoqOiBCYXRjaGluZyBvcHRpbWl6ZXMgZGF0YWJhc2Ugb3BlcmF0aW9ucyBmb3IgaGlnaCB0aHJvdWdocHV0XG4gKiAtICoqU2VjdXJpdHkqKjogRGF0YWJhc2UgY3JlZGVudGlhbHMgYWNjZXNzZWQgdmlhIEFXUyBTZWNyZXRzIE1hbmFnZXJcbiAqIC0gKipPYnNlcnZhYmlsaXR5Kio6IENsb3VkV2F0Y2ggbG9ncyByZXRhaW5lZCBmb3Igb25lIHdlZWtcbiAqXG4gKiAjIyBQcmVyZXF1aXNpdGVzXG4gKlxuICogQmVmb3JlIHVzaW5nIHRoaXMgY29uc3RydWN0LCBlbnN1cmU6XG4gKiAtIFRoZSBwZ3N0YWMgZGF0YWJhc2UgaGFzIGNvbGxlY3Rpb25zIGxvYWRlZCAob2JqZWN0cyByZXF1aXJlIGV4aXN0aW5nIGNvbGxlY3Rpb24gSURzKVxuICogLSBEYXRhYmFzZSBjcmVkZW50aWFscyBhcmUgc3RvcmVkIGluIEFXUyBTZWNyZXRzIE1hbmFnZXJcbiAqIC0gVGhlIHBnc3RhYyBleHRlbnNpb24gaXMgcHJvcGVybHkgaW5zdGFsbGVkIGFuZCBjb25maWd1cmVkXG4gKlxuICogIyMgVXNhZ2UgRXhhbXBsZVxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIENyZWF0ZSBkYXRhYmFzZSBmaXJzdFxuICogY29uc3QgZGF0YWJhc2UgPSBuZXcgUGdTdGFjRGF0YWJhc2UodGhpcywgJ0RhdGFiYXNlJywge1xuICogICBwZ3N0YWNWZXJzaW9uOiAnMC45LjUnXG4gKiB9KTtcbiAqXG4gKiAvLyBDcmVhdGUgT2JqZWN0IGxvYWRlclxuICogY29uc3QgbG9hZGVyID0gbmV3IFN0YWNMb2FkZXIodGhpcywgJ1N0YWNMb2FkZXInLCB7XG4gKiAgIHBnc3RhY0RiOiBkYXRhYmFzZSxcbiAqICAgYmF0Y2hTaXplOiAxMDAwLCAgICAgICAgICAvLyBQcm9jZXNzIHVwIHRvIDEwMDAgb2JqZWN0cyBwZXIgYmF0Y2hcbiAqICAgbWF4QmF0Y2hpbmdXaW5kb3dNaW51dGVzOiAxLCAvLyBXYWl0IG1heCAxIG1pbnV0ZSB0byBmaWxsIGJhdGNoXG4gKiAgIGxhbWJkYVRpbWVvdXRTZWNvbmRzOiAzMDAgICAgIC8vIEFsbG93IHVwIHRvIDMwMCBzZWNvbmRzIGZvciBkYXRhYmFzZSBvcGVyYXRpb25zXG4gKiB9KTtcbiAqXG4gKiAvLyBUaGUgdG9waWMgQVJOIGNhbiBiZSB1c2VkIGJ5IG90aGVyIHNlcnZpY2VzIHRvIHB1Ymxpc2ggb2JqZWN0c1xuICogbmV3IENmbk91dHB1dCh0aGlzLCAnTG9hZGVyVG9waWNBcm4nLCB7XG4gKiAgIHZhbHVlOiBsb2FkZXIudG9waWMudG9waWNBcm5cbiAqIH0pO1xuICogYGBgXG4gKlxuICogIyMgRGlyZWN0IE9iamVjdCBQdWJsaXNoaW5nXG4gKlxuICogRXh0ZXJuYWwgc2VydmljZXMgY2FuIHB1Ymxpc2ggU1RBQyBvYmplY3RzIGRpcmVjdGx5IHRvIHRoZSB0b3BpYzpcbiAqXG4gKiBgYGBiYXNoXG4gKiBhd3Mgc25zIHB1Ymxpc2ggLS10b3BpYy1hcm4gJFNUQUNfTE9BRF9UT1BJQyAtLW1lc3NhZ2UgICd7XG4gKiAgIFwiaWRcIjogXCJleGFtcGxlLWNvbGxlY3Rpb25cIixcbiAqICAgXCJ0eXBlXCI6IFwiQ29sbGVjdGlvblwiLFxuICogICBcInRpdGxlXCI6IFwiRXhhbXBsZSBDb2xsZWN0aW9uXCIsXG4gKiAgIFwiZGVzY3JpcHRpb25cIjogXCJBbiBleGFtcGxlIGNvbGxlY3Rpb25cIixcbiAqICAgXCJsaWNlbnNlXCI6IFwicHJvcHJpZXRhcnlcIixcbiAqICAgXCJleHRlbnRcIjoge1xuICogICAgICAgXCJzcGF0aWFsXCI6IHtcImJib3hcIjogW1stMTgwLCAtOTAsIDE4MCwgOTBdXX0sXG4gKiAgICAgICBcInRlbXBvcmFsXCI6IHtcImludGVydmFsXCI6IFtbbnVsbCwgbnVsbF1dfVxuICogICB9LFxuICogICBcInN0YWNfdmVyc2lvblwiOiBcIjEuMS4wXCIsXG4gKiAgIFwibGlua3NcIjogW11cbiAqIH0nXG4gKlxuICogYXdzIHNucyBwdWJsaXNoIC0tdG9waWMtYXJuICRTVEFDX0xPQURfVE9QSUMgLS1tZXNzYWdlICd7XG4gKiAgIFwidHlwZVwiOiBcIkZlYXR1cmVcIixcbiAqICAgXCJzdGFjX3ZlcnNpb25cIjogXCIxLjAuMFwiLFxuICogICBcImlkXCI6IFwiZXhhbXBsZS1pdGVtXCIsXG4gKiAgIFwicHJvcGVydGllc1wiOiB7XCJkYXRldGltZVwiOiBcIjIwMjEtMDEtMDFUMDA6MDA6MDBaXCJ9LFxuICogICBcImdlb21ldHJ5XCI6IHtcInR5cGVcIjogXCJQb2x5Z29uXCIsIFwiY29vcmRpbmF0ZXNcIjogWy4uLl19LFxuICogICBcImNvbGxlY3Rpb25cIjogXCJleGFtcGxlLWNvbGxlY3Rpb25cIlxuICogfSdcbiAqXG4gKlxuICogYGBgXG4gKlxuICogIyMgUzMgRXZlbnQgQ29uZmlndXJhdGlvblxuICpcbiAqIFRvIGVuYWJsZSBTMyBldmVudC1kcml2ZW4gbG9hZGluZywgY29uZmlndXJlIFMzIGJ1Y2tldCBub3RpZmljYXRpb25zIHRvIHNlbmRcbiAqIGV2ZW50cyB0byB0aGUgU05TIHRvcGljIHdoZW4gU1RBQyBvYmplY3RzICguanNvbiBvciAuZ2VvanNvbiBmaWxlcykgYXJlIHVwbG9hZGVkOlxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIENvbmZpZ3VyZSBTMyBidWNrZXQgdG8gc2VuZCBub3RpZmljYXRpb25zIHRvIHRoZSBsb2FkZXIgdG9waWNcbiAqIGJ1Y2tldC5hZGRFdmVudE5vdGlmaWNhdGlvbihcbiAqICAgczMuRXZlbnRUeXBlLk9CSkVDVF9DUkVBVEVELFxuICogICBuZXcgczNuLlNuc0Rlc3RpbmF0aW9uKGxvYWRlci50b3BpYyksXG4gKiAgIHsgc3VmZml4OiAnLmpzb24nIH1cbiAqICk7XG4gKlxuICogYnVja2V0LmFkZEV2ZW50Tm90aWZpY2F0aW9uKFxuICogICBzMy5FdmVudFR5cGUuT0JKRUNUX0NSRUFURUQsXG4gKiAgIG5ldyBzM24uU25zRGVzdGluYXRpb24obG9hZGVyLnRvcGljKSxcbiAqICAgeyBzdWZmaXg6ICcuZ2VvanNvbicgfVxuICogKTtcbiAqIGBgYFxuICpcbiAqIFdoZW4gU1RBQyBvYmplY3RzIGFyZSB1cGxvYWRlZCB0byB0aGUgY29uZmlndXJlZCBTMyBidWNrZXQsIHRoZSBsb2FkZXIgd2lsbDpcbiAqIDEuIFJlY2VpdmUgUzMgZXZlbnQgbm90aWZpY2F0aW9ucyB2aWEgU05TXG4gKiAyLiBGZXRjaCB0aGUgU1RBQyBKU09OIGZyb20gUzNcbiAqIDMuIFZhbGlkYXRlIGFuZCBsb2FkIHRoZSBvYmplY3RzIGludG8gdGhlIHBnc3RhYyBkYXRhYmFzZVxuICpcbiAqICMjIE1vbml0b3JpbmcgYW5kIFRyb3VibGVzaG9vdGluZ1xuICpcbiAqIC0gTW9uaXRvciBMYW1iZGEgbG9nczogYC9hd3MvbGFtYmRhL3tGdW5jdGlvbk5hbWV9YFxuICogLSAqKkRlYWQgTGV0dGVyIFF1ZXVlKio6IENoZWNrIGZvciBmYWlsZWQgb2JqZWN0cyAtICoqbm8gYXV0b21hdGVkIGhhbmRsaW5nIHByb3ZpZGVkKipcbiAqIC0gVXNlIGJhdGNoIG9iamVjdHMgZmFpbHVyZSByZXBvcnRpbmcgZm9yIHBhcnRpYWwgYmF0Y2ggcHJvY2Vzc2luZ1xuICogLSBDbG91ZFdhdGNoIG1ldHJpY3MgYXZhaWxhYmxlIGZvciBxdWV1ZSBkZXB0aCBhbmQgTGFtYmRhIHBlcmZvcm1hbmNlXG4gKlxuICogIyMjIERlYWQgTGV0dGVyIFF1ZXVlIE1hbmFnZW1lbnRcbiAqXG4gKiBBcHBsaWNhdGlvbnMgbXVzdCBpbXBsZW1lbnQgdGhlaXIgb3duIGRlYWQgbGV0dGVyIHF1ZXVlIG1vbml0b3Jpbmc6XG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gRXhhbXBsZTogQ2xvdWRXYXRjaCBhbGFybSBmb3IgZGVhZCBsZXR0ZXIgcXVldWUgZGVwdGhcbiAqIG5ldyBjbG91ZHdhdGNoLkFsYXJtKHRoaXMsICdEZWFkTGV0dGVyQWxhcm0nLCB7XG4gKiAgIG1ldHJpYzogbG9hZGVyLmRlYWRMZXR0ZXJRdWV1ZS5tZXRyaWNBcHByb3hpbWF0ZU51bWJlck9mVmlzaWJsZU1lc3NhZ2VzKCksXG4gKiAgIHRocmVzaG9sZDogMSxcbiAqICAgZXZhbHVhdGlvblBlcmlvZHM6IDFcbiAqIH0pO1xuICpcbiAqIC8vIEV4YW1wbGU6IExhbWJkYSB0byByZXByb2Nlc3MgZGVhZCBsZXR0ZXIgbWVzc2FnZXNcbiAqIGNvbnN0IHJlcHJvY2Vzc0Z1bmN0aW9uID0gbmV3IGxhbWJkYS5GdW5jdGlvbih0aGlzLCAnUmVwcm9jZXNzJywge1xuICogICAvLyBJbXBsZW1lbnRhdGlvbiB0byBmZXRjaCBhbmQgcmVwdWJsaXNoIGZhaWxlZCBtZXNzYWdlc1xuICogfSk7XG4gKiBgYGBcbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBTdGFjTG9hZGVyIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIFRoZSBTTlMgdG9waWMgdGhhdCByZWNlaXZlcyBTVEFDIG9iamVjdHMgYW5kIFMzIGV2ZW50IG5vdGlmaWNhdGlvbnMgZm9yIGxvYWRpbmcuXG4gICAqXG4gICAqIFRoaXMgdG9waWMgc2VydmVzIGFzIHRoZSBlbnRyeSBwb2ludCBmb3IgdHdvIHR5cGVzIG9mIGV2ZW50czpcbiAgICogMS4gRGlyZWN0IFNUQUMgSlNPTiBkb2N1bWVudHMgcHVibGlzaGVkIGJ5IGV4dGVybmFsIHNlcnZpY2VzXG4gICAqIDIuIFMzIGV2ZW50IG5vdGlmaWNhdGlvbnMgd2hlbiBTVEFDIG9iamVjdHMgYXJlIHVwbG9hZGVkIHRvIGNvbmZpZ3VyZWQgYnVja2V0c1xuICAgKlxuICAgKiBUaGUgdG9waWMgZmFucyBvdXQgdG8gdGhlIFNRUyBxdWV1ZSBmb3IgYmF0Y2hlZCBwcm9jZXNzaW5nLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHRvcGljOiBzbnMuVG9waWM7XG5cbiAgLyoqXG4gICAqIFRoZSBTUVMgcXVldWUgdGhhdCBidWZmZXJzIG1lc3NhZ2VzIGJlZm9yZSBwcm9jZXNzaW5nLlxuICAgKlxuICAgKiBUaGlzIHF1ZXVlIGNvbGxlY3RzIGJvdGggZGlyZWN0IFNUQUMgb2JqZWN0cyBmcm9tIFNOUyBhbmQgUzMgZXZlbnRcbiAgICogbm90aWZpY2F0aW9ucywgYmF0Y2hpbmcgdGhlbSBmb3IgZWZmaWNpZW50IGRhdGFiYXNlIG9wZXJhdGlvbnMuXG4gICAqIENvbmZpZ3VyZWQgd2l0aCBhIHZpc2liaWxpdHkgdGltZW91dCB0aGF0IGFjY29tbW9kYXRlcyBMYW1iZGFcbiAgICogcHJvY2Vzc2luZyB0aW1lIHBsdXMgYnVmZmVyLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHF1ZXVlOiBzcXMuUXVldWU7XG5cbiAgLyoqXG4gICAqIERlYWQgbGV0dGVyIHF1ZXVlIGZvciBmYWlsZWQgb2JqZWN0cyBsb2FkaW5nIGF0dGVtcHRzLlxuICAgKlxuICAgKiBNZXNzYWdlcyB0aGF0IGZhaWwgcHJvY2Vzc2luZyBhZnRlciA1IGF0dGVtcHRzIGFyZSBzZW50IGhlcmVcbiAgICogZm9yIGluc3BlY3Rpb24gYW5kIHBvdGVudGlhbCByZXBsYXkuIFJldGFpbnMgbWVzc2FnZXMgZm9yIDE0IGRheXNcbiAgICogdG8gYWxsb3cgZm9yIGRlYnVnZ2luZyBhbmQgbWFudWFsIGludGVydmVudGlvbi5cbiAgICpcbiAgICogKipVc2VyIFJlc3BvbnNpYmlsaXR5Kio6IFRoaXMgY29uc3RydWN0IHByb3ZpZGVzIE5PIGF1dG9tYXRlZCBtb25pdG9yaW5nLFxuICAgKiBhbGVydGluZywgb3IgcmVwcm9jZXNzaW5nIG9mIGRlYWQgbGV0dGVyIHF1ZXVlIG1lc3NhZ2VzLiBBcHBsaWNhdGlvbnNcbiAgICogdXNpbmcgdGhpcyBjb25zdHJ1Y3QgbXVzdCBpbXBsZW1lbnQgdGhlaXIgb3duOlxuICAgKiAtIERlYWQgbGV0dGVyIHF1ZXVlIGRlcHRoIG1vbml0b3JpbmcgYW5kIGFsZXJ0aW5nXG4gICAqIC0gRmFpbGVkIG1lc3NhZ2UgaW5zcGVjdGlvbiBhbmQgZGVidWdnaW5nIHdvcmtmbG93c1xuICAgKiAtIE1hbnVhbCBvciBhdXRvbWF0ZWQgcmVwcm9jZXNzaW5nIG1lY2hhbmlzbXNcbiAgICogLSBDbGVhbnVwIHByb2NlZHVyZXMgZm9yIG9sZCBmYWlsZWQgbWVzc2FnZXNcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkZWFkTGV0dGVyUXVldWU6IHNxcy5RdWV1ZTtcblxuICAvKipcbiAgICogVGhlIExhbWJkYSBmdW5jdGlvbiB0aGF0IGxvYWRzIFNUQUMgb2JqZWN0cyBpbnRvIHRoZSBwZ3N0YWMgZGF0YWJhc2UuXG4gICAqXG4gICAqIFRoaXMgUHl0aG9uIGZ1bmN0aW9uIHJlY2VpdmVzIGJhdGNoZXMgb2YgbWVzc2FnZXMgZnJvbSBTUVMgYW5kIHByb2Nlc3Nlc1xuICAgKiB0aGVtIGJhc2VkIG9uIHRoZWlyIHR5cGU6XG4gICAqIC0gRGlyZWN0IFNUQUMgb2JqZWN0czogVmFsaWRhdGVzIGFuZCBsb2FkcyBkaXJlY3RseSBpbnRvIHBnc3RhY1xuICAgKiAtIFMzIGV2ZW50czogRmV0Y2hlcyBTVEFDIEpTT04gZnJvbSBTMywgdmFsaWRhdGVzLCBhbmQgbG9hZHMgaW50byBwZ3N0YWNcbiAgICpcbiAgICogVGhlIGZ1bmN0aW9uIGNvbm5lY3RzIHRvIFBvc3RncmVTUUwgdXNpbmcgY3JlZGVudGlhbHMgZnJvbSBTZWNyZXRzIE1hbmFnZXJcbiAgICogYW5kIHVzZXMgcHlwZ3N0YWMgZm9yIGVmZmljaWVudCBkYXRhYmFzZSBvcGVyYXRpb25zLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uOiBsYW1iZGEuRnVuY3Rpb247XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFN0YWNMb2FkZXJQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCB0aW1lb3V0U2Vjb25kcyA9IHByb3BzLmxhbWJkYVRpbWVvdXRTZWNvbmRzID8/IDMwMDtcbiAgICBjb25zdCBsYW1iZGFSdW50aW1lID0gcHJvcHMubGFtYmRhUnVudGltZSA/PyBsYW1iZGEuUnVudGltZS5QWVRIT05fM18xMjtcbiAgICBjb25zdCBtYXhDb25jdXJyZW5jeSA9IHByb3BzLm1heENvbmN1cnJlbmN5ID8/IDI7XG5cbiAgICAvLyBDcmVhdGUgZGVhZCBsZXR0ZXIgcXVldWVcbiAgICB0aGlzLmRlYWRMZXR0ZXJRdWV1ZSA9IG5ldyBzcXMuUXVldWUodGhpcywgXCJEZWFkTGV0dGVyUXVldWVcIiwge1xuICAgICAgcmV0ZW50aW9uUGVyaW9kOiBEdXJhdGlvbi5kYXlzKDE0KSxcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSBtYWluIHF1ZXVlXG4gICAgdGhpcy5xdWV1ZSA9IG5ldyBzcXMuUXVldWUodGhpcywgXCJRdWV1ZVwiLCB7XG4gICAgICB2aXNpYmlsaXR5VGltZW91dDogRHVyYXRpb24uc2Vjb25kcyh0aW1lb3V0U2Vjb25kcyArIDEwKSxcbiAgICAgIGVuY3J5cHRpb246IHNxcy5RdWV1ZUVuY3J5cHRpb24uU1FTX01BTkFHRUQsXG4gICAgICBkZWFkTGV0dGVyUXVldWU6IHtcbiAgICAgICAgbWF4UmVjZWl2ZUNvdW50OiAyLFxuICAgICAgICBxdWV1ZTogdGhpcy5kZWFkTGV0dGVyUXVldWUsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gQ3JlYXRlIFNOUyB0b3BpY1xuICAgIHRoaXMudG9waWMgPSBuZXcgc25zLlRvcGljKHRoaXMsIFwiVG9waWNcIiwge1xuICAgICAgZGlzcGxheU5hbWU6IGAke2lkfS1TdGFjTG9hZGVyVG9waWNgLFxuICAgIH0pO1xuXG4gICAgLy8gU3Vic2NyaWJlIHRoZSBxdWV1ZSB0byB0aGUgdG9waWNcbiAgICB0aGlzLnRvcGljLmFkZFN1YnNjcmlwdGlvbihcbiAgICAgIG5ldyBzbnNTdWJzY3JpcHRpb25zLlNxc1N1YnNjcmlwdGlvbih0aGlzLnF1ZXVlKSxcbiAgICApO1xuXG4gICAgLy8gQ3JlYXRlIHRoZSBsYW1iZGEgZnVuY3Rpb25cbiAgICBjb25zdCB7IGNvZGU6IHVzZXJDb2RlLCAuLi5vdGhlckxhbWJkYU9wdGlvbnMgfSA9XG4gICAgICBwcm9wcy5sYW1iZGFGdW5jdGlvbk9wdGlvbnMgfHwge307XG5cbiAgICB0aGlzLmxhbWJkYUZ1bmN0aW9uID0gbmV3IGxhbWJkYS5GdW5jdGlvbih0aGlzLCBcIkZ1bmN0aW9uXCIsIHtcbiAgICAgIHJ1bnRpbWU6IGxhbWJkYVJ1bnRpbWUsXG4gICAgICBoYW5kbGVyOiBcInN0YWNfbG9hZGVyLmhhbmRsZXIuaGFuZGxlclwiLFxuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICB2cGNTdWJuZXRzOiBwcm9wcy5zdWJuZXRTZWxlY3Rpb24sXG4gICAgICBjb2RlOiByZXNvbHZlTGFtYmRhQ29kZSh1c2VyQ29kZSwgcGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLlwiKSwge1xuICAgICAgICBmaWxlOiBcInN0YWMtbG9hZGVyL3J1bnRpbWUvRG9ja2VyZmlsZVwiLFxuICAgICAgICBwbGF0Zm9ybTogXCJsaW51eC9hbWQ2NFwiLFxuICAgICAgICBidWlsZEFyZ3M6IHtcbiAgICAgICAgICBQWVRIT05fVkVSU0lPTjogbGFtYmRhUnVudGltZS50b1N0cmluZygpLnJlcGxhY2UoXCJweXRob25cIiwgXCJcIiksXG4gICAgICAgICAgUEdTVEFDX1ZFUlNJT046IHByb3BzLnBnc3RhY0RiLnBnc3RhY1ZlcnNpb24sXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICAgIG1lbW9yeVNpemU6IHByb3BzLm1lbW9yeVNpemUgPz8gMTAyNCxcbiAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLnNlY29uZHModGltZW91dFNlY29uZHMpLFxuICAgICAgcmVzZXJ2ZWRDb25jdXJyZW50RXhlY3V0aW9uczogbWF4Q29uY3VycmVuY3ksXG4gICAgICBsb2dSZXRlbnRpb246IGxvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfV0VFSyxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIFBHU1RBQ19TRUNSRVRfQVJOOiBwcm9wcy5wZ3N0YWNEYi5wZ3N0YWNTZWNyZXQuc2VjcmV0QXJuLFxuICAgICAgICAuLi5wcm9wcy5lbnZpcm9ubWVudCxcbiAgICAgIH0sXG4gICAgICAvLyBvdmVyd3JpdGVzIGRlZmF1bHRzIHdpdGggdXNlci1wcm92aWRlZCBjb25maWd1cmFibGUgcHJvcGVydGllc1xuICAgICAgLi4ub3RoZXJMYW1iZGFPcHRpb25zLFxuICAgIH0pO1xuXG4gICAgLy8gR3JhbnQgcGVybWlzc2lvbnMgdG8gcmVhZCB0aGUgZGF0YWJhc2Ugc2VjcmV0XG4gICAgcHJvcHMucGdzdGFjRGIucGdzdGFjU2VjcmV0LmdyYW50UmVhZCh0aGlzLmxhbWJkYUZ1bmN0aW9uKTtcblxuICAgIC8vIEFkZCBTUVMgZXZlbnQgc291cmNlIHRvIHRoZSBsYW1iZGFcbiAgICB0aGlzLmxhbWJkYUZ1bmN0aW9uLmFkZEV2ZW50U291cmNlKFxuICAgICAgbmV3IGxhbWJkYUV2ZW50U291cmNlcy5TcXNFdmVudFNvdXJjZSh0aGlzLnF1ZXVlLCB7XG4gICAgICAgIGJhdGNoU2l6ZTogcHJvcHMuYmF0Y2hTaXplID8/IDUwMCxcbiAgICAgICAgbWF4QmF0Y2hpbmdXaW5kb3c6IER1cmF0aW9uLm1pbnV0ZXMoXG4gICAgICAgICAgcHJvcHMubWF4QmF0Y2hpbmdXaW5kb3dNaW51dGVzID8/IDEsXG4gICAgICAgICksXG4gICAgICAgIG1heENvbmN1cnJlbmN5OiBtYXhDb25jdXJyZW5jeSxcbiAgICAgICAgcmVwb3J0QmF0Y2hJdGVtRmFpbHVyZXM6IHRydWUsXG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgLy8gQ3JlYXRlIG91dHB1dHNcbiAgICBjb25zdCBleHBvcnRQcmVmaXggPSBTdGFjay5vZih0aGlzKS5zdGFja05hbWU7XG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcIlRvcGljQXJuXCIsIHtcbiAgICAgIHZhbHVlOiB0aGlzLnRvcGljLnRvcGljQXJuLFxuICAgICAgZGVzY3JpcHRpb246IFwiQVJOIG9mIHRoZSBTdGFjTG9hZGVyIFNOUyBUb3BpY1wiLFxuICAgICAgZXhwb3J0TmFtZTogYCR7ZXhwb3J0UHJlZml4fS1zdGFjLWxvYWRlci10b3BpYy1hcm5gLFxuICAgIH0pO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcIlF1ZXVlVXJsXCIsIHtcbiAgICAgIHZhbHVlOiB0aGlzLnF1ZXVlLnF1ZXVlVXJsLFxuICAgICAgZGVzY3JpcHRpb246IFwiVVJMIG9mIHRoZSBTdGFjTG9hZGVyIFNRUyBRdWV1ZVwiLFxuICAgICAgZXhwb3J0TmFtZTogYCR7ZXhwb3J0UHJlZml4fS1zdGFjLWxvYWRlci1xdWV1ZS11cmxgLFxuICAgIH0pO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcIkRlYWRMZXR0ZXJRdWV1ZVVybFwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5kZWFkTGV0dGVyUXVldWUucXVldWVVcmwsXG4gICAgICBkZXNjcmlwdGlvbjogXCJVUkwgb2YgdGhlIFN0YWNMb2FkZXIgRGVhZCBMZXR0ZXIgUXVldWVcIixcbiAgICAgIGV4cG9ydE5hbWU6IGAke2V4cG9ydFByZWZpeH0tc3RhYy1sb2FkZXItZGVhZGxldHRlci1xdWV1ZS11cmxgLFxuICAgIH0pO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcIkZ1bmN0aW9uTmFtZVwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5sYW1iZGFGdW5jdGlvbi5mdW5jdGlvbk5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogXCJOYW1lIG9mIHRoZSBTdGFjTG9hZGVyIExhbWJkYSBGdW5jdGlvblwiLFxuICAgICAgZXhwb3J0TmFtZTogYCR7ZXhwb3J0UHJlZml4fS1zdGFjLWxvYWRlci1mdW5jdGlvbi1uYW1lYCxcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIFVzZSBTdGFjTG9hZGVyIGluc3RlYWQuIFN0YWNJdGVtTG9hZGVyIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uLlxuICovXG5leHBvcnQgY2xhc3MgU3RhY0l0ZW1Mb2FkZXIgZXh0ZW5kcyBTdGFjTG9hZGVyIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFN0YWNMb2FkZXJQcm9wcykge1xuICAgIGNvbnNvbGUud2FybihcbiAgICAgIGBTdGFjSXRlbUxvYWRlciBpcyBkZXByZWNhdGVkLiBQbGVhc2UgdXNlIFN0YWNMb2FkZXIgaW5zdGVhZC4gYCArXG4gICAgICAgIGBTdGFjSXRlbUxvYWRlciB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgdmVyc2lvbi5gLFxuICAgICk7XG5cbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcbiAgfVxufVxuXG4vLyBBbHNvIGNyZWF0ZSBhIGRlcHJlY2F0ZWQgaW50ZXJmYWNlIGFsaWFzIGlmIHlvdSBoYWQgYSBzZXBhcmF0ZSBpbnRlcmZhY2Vcbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIFN0YWNMb2FkZXJQcm9wcyBpbnN0ZWFkLiBTdGFjSXRlbUxvYWRlclByb3BzIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YWNJdGVtTG9hZGVyUHJvcHMgZXh0ZW5kcyBTdGFjTG9hZGVyUHJvcHMge31cbiJdfQ==
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import base64
|
|
2
1
|
import json
|
|
3
2
|
import logging
|
|
4
3
|
import os
|
|
@@ -23,6 +22,7 @@ from pypgstac.load import Loader, Methods
|
|
|
23
22
|
from stac_pydantic.collection import Collection, Extent, SpatialExtent, TimeInterval
|
|
24
23
|
from stac_pydantic.item import Item
|
|
25
24
|
from stac_pydantic.links import Link, Links
|
|
25
|
+
from utils import get_secret_dict_by_name
|
|
26
26
|
|
|
27
27
|
if TYPE_CHECKING:
|
|
28
28
|
from aws_lambda_typing.context import Context
|
|
@@ -58,36 +58,13 @@ class PartialBatchFailureResponse(TypedDict):
|
|
|
58
58
|
batchItemFailures: List[BatchItemFailure]
|
|
59
59
|
|
|
60
60
|
|
|
61
|
-
def get_secret_dict(secret_name: str) -> Dict:
|
|
62
|
-
"""Retrieve secrets from AWS Secrets Manager
|
|
63
|
-
|
|
64
|
-
Args:
|
|
65
|
-
secret_name (str): name of aws secrets manager secret containing database connection secrets
|
|
66
|
-
profile_name (str, optional): optional name of aws profile for use in debugger only
|
|
67
|
-
|
|
68
|
-
Returns:
|
|
69
|
-
secrets (dict): decrypted secrets in dict
|
|
70
|
-
"""
|
|
71
|
-
|
|
72
|
-
# Create a Secrets Manager client
|
|
73
|
-
session = boto3.session.Session()
|
|
74
|
-
client = session.client(service_name="secretsmanager")
|
|
75
|
-
|
|
76
|
-
get_secret_value_response = client.get_secret_value(SecretId=secret_name)
|
|
77
|
-
|
|
78
|
-
if "SecretString" in get_secret_value_response:
|
|
79
|
-
return json.loads(get_secret_value_response["SecretString"])
|
|
80
|
-
else:
|
|
81
|
-
return json.loads(base64.b64decode(get_secret_value_response["SecretBinary"]))
|
|
82
|
-
|
|
83
|
-
|
|
84
61
|
def get_pgstac_dsn() -> str:
|
|
85
62
|
secret_arn = os.getenv("PGSTAC_SECRET_ARN")
|
|
86
63
|
if not secret_arn:
|
|
87
64
|
logger.error("Environment variable PGSTAC_SECRET_ARN is not set.")
|
|
88
65
|
raise EnvironmentError("PGSTAC_SECRET_ARN must be set")
|
|
89
66
|
|
|
90
|
-
secret_dict =
|
|
67
|
+
secret_dict = get_secret_dict_by_name(secret_arn)
|
|
91
68
|
|
|
92
69
|
return f"postgres://{secret_dict['username']}:{secret_dict['password']}@{secret_dict['host']}:{secret_dict['port']}/{secret_dict['dbname']}"
|
|
93
70
|
|