@aws-sdk/middleware-sdk-s3-control 3.34.0 → 3.35.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/CHANGELOG.md +8 -0
- package/dist-cjs/configurations.js +15 -0
- package/dist-cjs/constants.js +9 -0
- package/{dist/cjs → dist-cjs}/index.js +1 -1
- package/{dist/cjs → dist-cjs}/process-arnables-plugin/index.js +1 -1
- package/dist-cjs/process-arnables-plugin/parse-outpost-arnables.js +95 -0
- package/dist-cjs/process-arnables-plugin/plugin.js +13 -0
- package/dist-cjs/process-arnables-plugin/update-arnables-request.js +39 -0
- package/dist-cjs/redirect-from-postid.js +30 -0
- package/dist-es/configurations.js +7 -0
- package/dist-es/constants.js +6 -0
- package/dist-es/index.js +4 -0
- package/dist-es/process-arnables-plugin/index.js +4 -0
- package/dist-es/process-arnables-plugin/parse-outpost-arnables.js +108 -0
- package/dist-es/process-arnables-plugin/plugin.js +9 -0
- package/dist-es/process-arnables-plugin/update-arnables-request.js +41 -0
- package/dist-es/redirect-from-postid.js +30 -0
- package/{dist/types → dist-types}/configurations.d.ts +0 -0
- package/{dist/types → dist-types}/constants.d.ts +0 -0
- package/{dist/types → dist-types}/index.d.ts +0 -0
- package/{dist/types → dist-types}/process-arnables-plugin/index.d.ts +0 -0
- package/{dist/types → dist-types}/process-arnables-plugin/parse-outpost-arnables.d.ts +0 -0
- package/{dist/types → dist-types}/process-arnables-plugin/plugin.d.ts +0 -0
- package/{dist/types → dist-types}/process-arnables-plugin/update-arnables-request.d.ts +0 -0
- package/{dist/types → dist-types}/redirect-from-postid.d.ts +0 -0
- package/{dist/types → dist-types}/ts3.4/configurations.d.ts +0 -0
- package/{dist/types → dist-types}/ts3.4/constants.d.ts +0 -0
- package/{dist/types → dist-types}/ts3.4/index.d.ts +0 -0
- package/{dist/types → dist-types}/ts3.4/process-arnables-plugin/index.d.ts +0 -0
- package/{dist/types → dist-types}/ts3.4/process-arnables-plugin/parse-outpost-arnables.d.ts +0 -0
- package/{dist/types → dist-types}/ts3.4/process-arnables-plugin/plugin.d.ts +0 -0
- package/{dist/types → dist-types}/ts3.4/process-arnables-plugin/update-arnables-request.d.ts +0 -0
- package/{dist/types → dist-types}/ts3.4/redirect-from-postid.d.ts +0 -0
- package/package.json +12 -12
- package/tsconfig.cjs.json +1 -1
- package/tsconfig.es.json +1 -1
- package/tsconfig.types.json +1 -1
- package/dist/cjs/configurations.js +0 -15
- package/dist/cjs/constants.js +0 -9
- package/dist/cjs/process-arnables-plugin/parse-outpost-arnables.js +0 -95
- package/dist/cjs/process-arnables-plugin/plugin.js +0 -13
- package/dist/cjs/process-arnables-plugin/update-arnables-request.js +0 -39
- package/dist/cjs/redirect-from-postid.js +0 -30
- package/dist/es/configurations.js +0 -7
- package/dist/es/constants.js +0 -6
- package/dist/es/index.js +0 -4
- package/dist/es/process-arnables-plugin/index.js +0 -4
- package/dist/es/process-arnables-plugin/parse-outpost-arnables.js +0 -121
- package/dist/es/process-arnables-plugin/plugin.js +0 -9
- package/dist/es/process-arnables-plugin/update-arnables-request.js +0 -46
- package/dist/es/redirect-from-postid.js +0 -34
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [3.35.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.34.0...v3.35.0) (2021-10-04)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @aws-sdk/middleware-sdk-s3-control
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
6
14
|
# [3.34.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.33.0...v3.34.0) (2021-09-24)
|
|
7
15
|
|
|
8
16
|
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveS3ControlConfig = exports.NODE_USE_ARN_REGION_CONFIG_OPTIONS = void 0;
|
|
4
|
+
var middleware_bucket_endpoint_1 = require("@aws-sdk/middleware-bucket-endpoint");
|
|
5
|
+
Object.defineProperty(exports, "NODE_USE_ARN_REGION_CONFIG_OPTIONS", { enumerable: true, get: function () { return middleware_bucket_endpoint_1.NODE_USE_ARN_REGION_CONFIG_OPTIONS; } });
|
|
6
|
+
function resolveS3ControlConfig(input) {
|
|
7
|
+
const { useDualstackEndpoint = false, useArnRegion = false } = input;
|
|
8
|
+
return {
|
|
9
|
+
...input,
|
|
10
|
+
useDualstackEndpoint,
|
|
11
|
+
useArnRegion: typeof useArnRegion === "function" ? useArnRegion : () => Promise.resolve(useArnRegion),
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
exports.resolveS3ControlConfig = resolveS3ControlConfig;
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlndXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0Esa0ZBQXlGO0FBQWhGLGdKQUFBLGtDQUFrQyxPQUFBO0FBNEMzQyxTQUFnQixzQkFBc0IsQ0FDcEMsS0FBb0Q7SUFFcEQsTUFBTSxFQUFFLG9CQUFvQixHQUFHLEtBQUssRUFBRSxZQUFZLEdBQUcsS0FBSyxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQ3JFLE9BQU87UUFDTCxHQUFHLEtBQUs7UUFDUixvQkFBb0I7UUFDcEIsWUFBWSxFQUFFLE9BQU8sWUFBWSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQztLQUN0RyxDQUFDO0FBQ0osQ0FBQztBQVRELHdEQVNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvdmlkZXIsIFJlZ2lvbkluZm9Qcm92aWRlciB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuZXhwb3J0IHsgTk9ERV9VU0VfQVJOX1JFR0lPTl9DT05GSUdfT1BUSU9OUyB9IGZyb20gXCJAYXdzLXNkay9taWRkbGV3YXJlLWJ1Y2tldC1lbmRwb2ludFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFMzQ29udHJvbElucHV0Q29uZmlnIHtcbiAgLyoqXG4gICAqIEVuYWJsZXMgSVB2Ni9JUHY0IGR1YWxzdGFjayBlbmRwb2ludC4gV2hlbiBhIEROUyBsb29rdXAgaXMgcGVyZm9ybWVkIG9uIGFuIGVuZHBvaW50IG9mIHRoaXMgdHlwZSwgaXQgcmV0dXJucyBhbiDigJxB4oCdIHJlY29yZCB3aXRoIGFuIElQdjQgYWRkcmVzcyBhbmQgYW4g4oCcQUFBQeKAnSByZWNvcmQgd2l0aCBhbiBJUHY2IGFkZHJlc3MuIEluIG1vc3QgY2FzZXMgdGhlIG5ldHdvcmsgc3RhY2sgaW4gdGhlIGNsaWVudCBlbnZpcm9ubWVudCB3aWxsIGF1dG9tYXRpY2FsbHkgcHJlZmVyIHRoZSBBQUFBIHJlY29yZCBhbmQgbWFrZSBhIGNvbm5lY3Rpb24gdXNpbmcgdGhlIElQdjYgYWRkcmVzcy4gTm90ZSwgaG93ZXZlciwgdGhhdCBjdXJyZW50bHkgb24gV2luZG93cywgdGhlIElQdjQgYWRkcmVzcyB3aWxsIGJlIHByZWZlcnJlZC5cbiAgICovXG4gIHVzZUR1YWxzdGFja0VuZHBvaW50PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gb3ZlcnJpZGUgdGhlIHJlcXVlc3QgcmVnaW9uIHdpdGggdGhlIHJlZ2lvbiBpbmZlcnJlZCBmcm9tIHJlcXVlc3RlZCByZXNvdXJjZSdzIEFSTi4gRGVmYXVsdHMgdG8gZmFsc2VcbiAgICovXG4gIHVzZUFyblJlZ2lvbj86IGJvb2xlYW4gfCBQcm92aWRlcjxib29sZWFuPjtcbn1cblxuaW50ZXJmYWNlIFByZXZpb3VzbHlSZXNvbHZlZCB7XG4gIGlzQ3VzdG9tRW5kcG9pbnQ6IGJvb2xlYW47XG4gIHJlZ2lvbjogUHJvdmlkZXI8c3RyaW5nPjtcbiAgcmVnaW9uSW5mb1Byb3ZpZGVyOiBSZWdpb25JbmZvUHJvdmlkZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUzNDb250cm9sUmVzb2x2ZWRDb25maWcge1xuICAvKipcbiAgICogV2hldGhlciB0aGUgZW5kcG9pbnQgaXMgc3BlY2lmaWVkIGJ5IGNhbGxlci5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBpc0N1c3RvbUVuZHBvaW50OiBib29sZWFuO1xuICAvKipcbiAgICogUmVzb2x2ZWQgdmFsdWUgZm9yIGlucHV0IGNvbmZpZyB7QGxpbmsgUzNDb250cm9sSW5wdXRDb25maWcudXNlRHVhbHN0YWNrRW5kcG9pbnR9XG4gICAqL1xuICB1c2VEdWFsc3RhY2tFbmRwb2ludDogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFJlc29sdmVkIHZhbHVlIGZvciBpbnB1dCBjb25maWcge0BsaW5rIFMzQ29udHJvbElucHV0Q29uZmlnLnVzZUFyblJlZ2lvbn1cbiAgICovXG4gIHVzZUFyblJlZ2lvbjogUHJvdmlkZXI8Ym9vbGVhbj47XG4gIC8qKlxuICAgKiBSZXNvbHZlZCB2YWx1ZSBmb3IgaW5wdXQgY29uZmlnIHtAbGluayBSZWdpb25JbnB1dENvbmZpZy5yZWdpb259XG4gICAqL1xuICByZWdpb246IFByb3ZpZGVyPHN0cmluZz47XG4gIC8qKlxuICAgKiBGZXRjaCByZWxhdGVkIGhvc3RuYW1lLCBzaWduaW5nIG5hbWUgb3Igc2lnbmluZyByZWdpb24gd2l0aCBnaXZlbiByZWdpb24uXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcmVnaW9uSW5mb1Byb3ZpZGVyOiBSZWdpb25JbmZvUHJvdmlkZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlUzNDb250cm9sQ29uZmlnPFQ+KFxuICBpbnB1dDogVCAmIFByZXZpb3VzbHlSZXNvbHZlZCAmIFMzQ29udHJvbElucHV0Q29uZmlnXG4pOiBUICYgUzNDb250cm9sUmVzb2x2ZWRDb25maWcge1xuICBjb25zdCB7IHVzZUR1YWxzdGFja0VuZHBvaW50ID0gZmFsc2UsIHVzZUFyblJlZ2lvbiA9IGZhbHNlIH0gPSBpbnB1dDtcbiAgcmV0dXJuIHtcbiAgICAuLi5pbnB1dCxcbiAgICB1c2VEdWFsc3RhY2tFbmRwb2ludCxcbiAgICB1c2VBcm5SZWdpb246IHR5cGVvZiB1c2VBcm5SZWdpb24gPT09IFwiZnVuY3Rpb25cIiA/IHVzZUFyblJlZ2lvbiA6ICgpID0+IFByb21pc2UucmVzb2x2ZSh1c2VBcm5SZWdpb24pLFxuICB9O1xufVxuIl19
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CONTEXT_SIGNING_REGION = exports.CONTEXT_SIGNING_SERVICE = exports.CONTEXT_ARN_REGION = exports.CONTEXT_ACCOUNT_ID = exports.CONTEXT_OUTPOST_ID = void 0;
|
|
4
|
+
exports.CONTEXT_OUTPOST_ID = "outpost_id";
|
|
5
|
+
exports.CONTEXT_ACCOUNT_ID = "account_id";
|
|
6
|
+
exports.CONTEXT_ARN_REGION = "outpost_arn_region";
|
|
7
|
+
exports.CONTEXT_SIGNING_SERVICE = "signing_service";
|
|
8
|
+
exports.CONTEXT_SIGNING_REGION = "signing_region";
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLGtCQUFrQixHQUFHLFlBQVksQ0FBQztBQUNsQyxRQUFBLGtCQUFrQixHQUFHLFlBQVksQ0FBQztBQUNsQyxRQUFBLGtCQUFrQixHQUFHLG9CQUFvQixDQUFDO0FBQzFDLFFBQUEsdUJBQXVCLEdBQUcsaUJBQWlCLENBQUM7QUFDNUMsUUFBQSxzQkFBc0IsR0FBRyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBDT05URVhUX09VVFBPU1RfSUQgPSBcIm91dHBvc3RfaWRcIjtcbmV4cG9ydCBjb25zdCBDT05URVhUX0FDQ09VTlRfSUQgPSBcImFjY291bnRfaWRcIjtcbmV4cG9ydCBjb25zdCBDT05URVhUX0FSTl9SRUdJT04gPSBcIm91dHBvc3RfYXJuX3JlZ2lvblwiO1xuZXhwb3J0IGNvbnN0IENPTlRFWFRfU0lHTklOR19TRVJWSUNFID0gXCJzaWduaW5nX3NlcnZpY2VcIjtcbmV4cG9ydCBjb25zdCBDT05URVhUX1NJR05JTkdfUkVHSU9OID0gXCJzaWduaW5nX3JlZ2lvblwiO1xuIl19
|
|
@@ -10,4 +10,4 @@ Object.defineProperty(exports, "updateArnablesRequestMiddleware", { enumerable:
|
|
|
10
10
|
Object.defineProperty(exports, "updateArnablesRequestMiddlewareOptions", { enumerable: true, get: function () { return process_arnables_plugin_1.updateArnablesRequestMiddlewareOptions; } });
|
|
11
11
|
Object.defineProperty(exports, "getProcessArnablesPlugin", { enumerable: true, get: function () { return process_arnables_plugin_1.getProcessArnablesPlugin; } });
|
|
12
12
|
tslib_1.__exportStar(require("./redirect-from-postid"), exports);
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLDJEQUFpQztBQUNqQyxxRUFNbUM7QUFMakMsMElBQUEsK0JBQStCLE9BQUE7QUFDL0IsaUpBQUEsc0NBQXNDLE9BQUE7QUFDdEMsMElBQUEsK0JBQStCLE9BQUE7QUFDL0IsaUpBQUEsc0NBQXNDLE9BQUE7QUFDdEMsbUlBQUEsd0JBQXdCLE9BQUE7QUFFMUIsaUVBQXVDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vY29uZmlndXJhdGlvbnNcIjtcbmV4cG9ydCB7XG4gIHBhcnNlT3V0cG9zdEFybmFibGVzTWlkZGxlYXdhcmUsXG4gIHBhcnNlT3V0cG9zdEFybmFibGVzTWlkZGxlYXdhcmVPcHRpb25zLFxuICB1cGRhdGVBcm5hYmxlc1JlcXVlc3RNaWRkbGV3YXJlLFxuICB1cGRhdGVBcm5hYmxlc1JlcXVlc3RNaWRkbGV3YXJlT3B0aW9ucyxcbiAgZ2V0UHJvY2Vzc0FybmFibGVzUGx1Z2luLFxufSBmcm9tIFwiLi9wcm9jZXNzLWFybmFibGVzLXBsdWdpblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmVkaXJlY3QtZnJvbS1wb3N0aWRcIjtcbiJdfQ==
|
|
@@ -10,4 +10,4 @@ var update_arnables_request_1 = require("./update-arnables-request");
|
|
|
10
10
|
Object.defineProperty(exports, "updateArnablesRequestMiddleware", { enumerable: true, get: function () { return update_arnables_request_1.updateArnablesRequestMiddleware; } });
|
|
11
11
|
Object.defineProperty(exports, "updateArnablesRequestMiddlewareOptions", { enumerable: true, get: function () { return update_arnables_request_1.updateArnablesRequestMiddlewareOptions; } });
|
|
12
12
|
Object.defineProperty(exports, "getOutpostEndpoint", { enumerable: true, get: function () { return update_arnables_request_1.getOutpostEndpoint; } });
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvY2Vzcy1hcm5hYmxlcy1wbHVnaW4vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQW9EO0FBQTNDLGtIQUFBLHdCQUF3QixPQUFBO0FBQ2pDLG1FQUFtSDtBQUExRyx5SUFBQSwrQkFBK0IsT0FBQTtBQUFFLGdKQUFBLHNDQUFzQyxPQUFBO0FBQ2hGLHFFQUltQztBQUhqQywwSUFBQSwrQkFBK0IsT0FBQTtBQUMvQixpSkFBQSxzQ0FBc0MsT0FBQTtBQUN0Qyw2SEFBQSxrQkFBa0IsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGdldFByb2Nlc3NBcm5hYmxlc1BsdWdpbiB9IGZyb20gXCIuL3BsdWdpblwiO1xuZXhwb3J0IHsgcGFyc2VPdXRwb3N0QXJuYWJsZXNNaWRkbGVhd2FyZSwgcGFyc2VPdXRwb3N0QXJuYWJsZXNNaWRkbGVhd2FyZU9wdGlvbnMgfSBmcm9tIFwiLi9wYXJzZS1vdXRwb3N0LWFybmFibGVzXCI7XG5leHBvcnQge1xuICB1cGRhdGVBcm5hYmxlc1JlcXVlc3RNaWRkbGV3YXJlLFxuICB1cGRhdGVBcm5hYmxlc1JlcXVlc3RNaWRkbGV3YXJlT3B0aW9ucyxcbiAgZ2V0T3V0cG9zdEVuZHBvaW50LFxufSBmcm9tIFwiLi91cGRhdGUtYXJuYWJsZXMtcmVxdWVzdFwiO1xuIl19
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseOutpostArnablesMiddleawareOptions = exports.parseOutpostArnablesMiddleaware = void 0;
|
|
4
|
+
const middleware_bucket_endpoint_1 = require("@aws-sdk/middleware-bucket-endpoint");
|
|
5
|
+
const util_arn_parser_1 = require("@aws-sdk/util-arn-parser");
|
|
6
|
+
const constants_1 = require("../constants");
|
|
7
|
+
const parseOutpostArnablesMiddleaware = (options) => (next, context) => async (args) => {
|
|
8
|
+
const { input } = args;
|
|
9
|
+
const parameter = input.Name && util_arn_parser_1.validate(input.Name) ? "Name" : input.Bucket && util_arn_parser_1.validate(input.Bucket) ? "Bucket" : undefined;
|
|
10
|
+
if (!parameter)
|
|
11
|
+
return next(args);
|
|
12
|
+
const clientRegion = await options.region();
|
|
13
|
+
const { regionInfoProvider } = options;
|
|
14
|
+
const useArnRegion = await options.useArnRegion();
|
|
15
|
+
const baseRegion = middleware_bucket_endpoint_1.getPseudoRegion(clientRegion);
|
|
16
|
+
const { partition: clientPartition, signingRegion = baseRegion } = (await regionInfoProvider(baseRegion));
|
|
17
|
+
const validatorOptions = {
|
|
18
|
+
useDualstackEndpoint: options.useDualstackEndpoint,
|
|
19
|
+
clientRegion,
|
|
20
|
+
clientPartition,
|
|
21
|
+
signingRegion,
|
|
22
|
+
useArnRegion,
|
|
23
|
+
};
|
|
24
|
+
let arn;
|
|
25
|
+
if (parameter === "Name") {
|
|
26
|
+
arn = util_arn_parser_1.parse(input.Name);
|
|
27
|
+
validateOutpostsArn(arn, validatorOptions);
|
|
28
|
+
const { outpostId, accesspointName } = parseOutpostsAccessPointArnResource(arn.resource);
|
|
29
|
+
input.Name = accesspointName;
|
|
30
|
+
context[constants_1.CONTEXT_OUTPOST_ID] = outpostId;
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
arn = util_arn_parser_1.parse(input.Bucket);
|
|
34
|
+
validateOutpostsArn(arn, validatorOptions);
|
|
35
|
+
const { outpostId, bucketName } = parseOutpostBucketArnResource(arn.resource);
|
|
36
|
+
input.Bucket = bucketName;
|
|
37
|
+
context[constants_1.CONTEXT_OUTPOST_ID] = outpostId;
|
|
38
|
+
}
|
|
39
|
+
context[constants_1.CONTEXT_SIGNING_SERVICE] = arn.service;
|
|
40
|
+
context[constants_1.CONTEXT_SIGNING_REGION] = useArnRegion ? arn.region : signingRegion;
|
|
41
|
+
if (!input.AccountId) {
|
|
42
|
+
input.AccountId = arn.accountId;
|
|
43
|
+
}
|
|
44
|
+
else if (input.AccountId !== arn.accountId) {
|
|
45
|
+
throw new Error(`AccountId is incompatible with account id inferred from ${parameter}`);
|
|
46
|
+
}
|
|
47
|
+
if (useArnRegion)
|
|
48
|
+
context[constants_1.CONTEXT_ARN_REGION] = arn.region;
|
|
49
|
+
return next(args);
|
|
50
|
+
};
|
|
51
|
+
exports.parseOutpostArnablesMiddleaware = parseOutpostArnablesMiddleaware;
|
|
52
|
+
exports.parseOutpostArnablesMiddleawareOptions = {
|
|
53
|
+
step: "initialize",
|
|
54
|
+
tags: ["CONVERT_ARN", "OUTPOST_BUCKET_ARN", "OUTPOST_ACCESS_POINT_ARN", "OUTPOST"],
|
|
55
|
+
name: "parseOutpostArnablesMiddleaware",
|
|
56
|
+
};
|
|
57
|
+
const validateOutpostsArn = (arn, { clientRegion, signingRegion, clientPartition, useArnRegion, useDualstackEndpoint }) => {
|
|
58
|
+
const { service, partition, accountId, region } = arn;
|
|
59
|
+
middleware_bucket_endpoint_1.validateOutpostService(service);
|
|
60
|
+
middleware_bucket_endpoint_1.validatePartition(partition, { clientPartition });
|
|
61
|
+
middleware_bucket_endpoint_1.validateAccountId(accountId);
|
|
62
|
+
middleware_bucket_endpoint_1.validateRegion(region, {
|
|
63
|
+
useArnRegion,
|
|
64
|
+
clientRegion,
|
|
65
|
+
clientSigningRegion: signingRegion,
|
|
66
|
+
});
|
|
67
|
+
middleware_bucket_endpoint_1.validateNoDualstack(useDualstackEndpoint);
|
|
68
|
+
if (!useArnRegion)
|
|
69
|
+
middleware_bucket_endpoint_1.validateNoFIPS(clientRegion);
|
|
70
|
+
};
|
|
71
|
+
const parseOutpostsAccessPointArnResource = (resource) => {
|
|
72
|
+
const { outpostId, accesspointName } = middleware_bucket_endpoint_1.getArnResources(resource);
|
|
73
|
+
if (!outpostId) {
|
|
74
|
+
throw new Error("ARN resource should begin with 'outpost'");
|
|
75
|
+
}
|
|
76
|
+
return {
|
|
77
|
+
outpostId,
|
|
78
|
+
accesspointName,
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
const parseOutpostBucketArnResource = (resource) => {
|
|
82
|
+
const delimiter = resource.includes(":") ? ":" : "/";
|
|
83
|
+
const [resourceType, ...rest] = resource.split(delimiter);
|
|
84
|
+
if (resourceType === "outpost") {
|
|
85
|
+
if (!rest[0] || rest[1] !== "bucket" || !rest[2] || rest.length !== 3) {
|
|
86
|
+
throw new Error(`Outpost Bucket ARN should have resource outpost${delimiter}{outpostId}${delimiter}bucket${delimiter}{bucketName}`);
|
|
87
|
+
}
|
|
88
|
+
const [outpostId, _, bucketName] = rest;
|
|
89
|
+
return { outpostId, bucketName };
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
throw new Error(`ARN resource should begin with 'outpost${delimiter}'`);
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2Utb3V0cG9zdC1hcm5hYmxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9jZXNzLWFybmFibGVzLXBsdWdpbi9wYXJzZS1vdXRwb3N0LWFybmFibGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG9GQVM2QztBQUU3Qyw4REFBMkY7QUFHM0YsNENBQXVIO0FBYWhILE1BQU0sK0JBQStCLEdBQzFDLENBQUMsT0FBZ0MsRUFBMkMsRUFBRSxDQUM5RSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUNsQixLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUU7SUFDYixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBRXZCLE1BQU0sU0FBUyxHQUNiLEtBQUssQ0FBQyxJQUFJLElBQUksMEJBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSwwQkFBVyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDcEgsSUFBSSxDQUFDLFNBQVM7UUFBRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVsQyxNQUFNLFlBQVksR0FBRyxNQUFNLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM1QyxNQUFNLEVBQUUsa0JBQWtCLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFDdkMsTUFBTSxZQUFZLEdBQUcsTUFBTSxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbEQsTUFBTSxVQUFVLEdBQUcsNENBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNqRCxNQUFNLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxhQUFhLEdBQUcsVUFBVSxFQUFFLEdBQUcsQ0FBQyxNQUFNLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxD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QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGdldEFyblJlc291cmNlcyBhcyBnZXRTM0FjY2Vzc3BvaW50QXJuUmVzb3VyY2VzLFxuICBnZXRQc2V1ZG9SZWdpb24sXG4gIHZhbGlkYXRlQWNjb3VudElkLFxuICB2YWxpZGF0ZU5vRHVhbHN0YWNrLFxuICB2YWxpZGF0ZU5vRklQUyxcbiAgdmFsaWRhdGVPdXRwb3N0U2VydmljZSxcbiAgdmFsaWRhdGVQYXJ0aXRpb24sXG4gIHZhbGlkYXRlUmVnaW9uLFxufSBmcm9tIFwiQGF3cy1zZGsvbWlkZGxld2FyZS1idWNrZXQtZW5kcG9pbnRcIjtcbmltcG9ydCB7IEluaXRpYWxpemVIYW5kbGVyT3B0aW9ucywgSW5pdGlhbGl6ZU1pZGRsZXdhcmUgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcbmltcG9ydCB7IEFSTiwgcGFyc2UgYXMgcGFyc2VBcm4sIHZhbGlkYXRlIGFzIHZhbGlkYXRlQXJuIH0gZnJvbSBcIkBhd3Mtc2RrL3V0aWwtYXJuLXBhcnNlclwiO1xuXG5pbXBvcnQgeyBTM0NvbnRyb2xSZXNvbHZlZENvbmZpZyB9IGZyb20gXCIuLi9jb25maWd1cmF0aW9uc1wiO1xuaW1wb3J0IHsgQ09OVEVYVF9BUk5fUkVHSU9OLCBDT05URVhUX09VVFBPU1RfSUQsIENPTlRFWFRfU0lHTklOR19SRUdJT04sIENPTlRFWFRfU0lHTklOR19TRVJWSUNFIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG50eXBlIEFybmFibGVJbnB1dCA9IHtcbiAgTmFtZT86IHN0cmluZztcbiAgQnVja2V0Pzogc3RyaW5nO1xuICBBY2NvdW50SWQ/OiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIFZhbGlkYXRlIGlucHV0IGBOYW1lYCBvciBgQnVja2V0YCBwYXJhbWV0ZXIgaXMgYWNjZXB0YWJsZSBBUk4gZm9ybWF0LiBJZiBzbywgbW9kaWZ5IHRoZSBpbnB1dCBBUk4gdG8gaW5mZXJyZWRcbiAqIHJlc291cmNlIGlkZW50aWZpZXIsIG5vdGlmeSBsYXRlciBtaWRkbGV3YXJlIHRvIHJlZGlyZWN0IHJlcXVlc3QgdG8gT3V0cG9zdCBlbmRwb2ludCwgc2lnbmluZyBzZXJ2aWNlIGFuZCBzaWduaW5nXG4gKiByZWdpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBwYXJzZU91dHBvc3RBcm5hYmxlc01pZGRsZWF3YXJlID1cbiAgKG9wdGlvbnM6IFMzQ29udHJvbFJlc29sdmVkQ29uZmlnKTogSW5pdGlhbGl6ZU1pZGRsZXdhcmU8QXJuYWJsZUlucHV0LCBhbnk+ID0+XG4gIChuZXh0LCBjb250ZXh0KSA9PlxuICBhc3luYyAoYXJncykgPT4ge1xuICAgIGNvbnN0IHsgaW5wdXQgfSA9IGFyZ3M7XG5cbiAgICBjb25zdCBwYXJhbWV0ZXI6IFwiTmFtZVwiIHwgXCJCdWNrZXRcIiB8IHVuZGVmaW5lZCA9XG4gICAgICBpbnB1dC5OYW1lICYmIHZhbGlkYXRlQXJuKGlucHV0Lk5hbWUpID8gXCJOYW1lXCIgOiBpbnB1dC5CdWNrZXQgJiYgdmFsaWRhdGVBcm4oaW5wdXQuQnVja2V0KSA/IFwiQnVja2V0XCIgOiB1bmRlZmluZWQ7XG4gICAgaWYgKCFwYXJhbWV0ZXIpIHJldHVybiBuZXh0KGFyZ3MpO1xuXG4gICAgY29uc3QgY2xpZW50UmVnaW9uID0gYXdhaXQgb3B0aW9ucy5yZWdpb24oKTtcbiAgICBjb25zdCB7IHJlZ2lvbkluZm9Qcm92aWRlciB9ID0gb3B0aW9ucztcbiAgICBjb25zdCB1c2VBcm5SZWdpb24gPSBhd2FpdCBvcHRpb25zLnVzZUFyblJlZ2lvbigpO1xuICAgIGNvbnN0IGJhc2VSZWdpb24gPSBnZXRQc2V1ZG9SZWdpb24oY2xpZW50UmVnaW9uKTtcbiAgICBjb25zdCB7IHBhcnRpdGlvbjogY2xpZW50UGFydGl0aW9uLCBzaWduaW5nUmVnaW9uID0gYmFzZVJlZ2lvbiB9ID0gKGF3YWl0IHJlZ2lvbkluZm9Qcm92aWRlcihiYXNlUmVnaW9uKSkhO1xuICAgIGNvbnN0IHZhbGlkYXRvck9wdGlvbnM6IFZhbGlkYXRlT3V0cG9zdHNBcm5PcHRpb25zID0ge1xuICAgICAgdXNlRHVhbHN0YWNrRW5kcG9pbnQ6IG9wdGlvbnMudXNlRHVhbHN0YWNrRW5kcG9pbnQsXG4gICAgICBjbGllbnRSZWdpb24sXG4gICAgICBjbGllbnRQYXJ0aXRpb24sXG4gICAgICBzaWduaW5nUmVnaW9uLFxuICAgICAgdXNlQXJuUmVnaW9uLFxuICAgIH07XG4gICAgbGV0IGFybjogQVJOO1xuICAgIGlmIChwYXJhbWV0ZXIgPT09IFwiTmFtZVwiKSB7XG4gICAgICBhcm4gPSBwYXJzZUFybihpbnB1dC5OYW1lISk7XG4gICAgICB2YWxpZGF0ZU91dHBvc3RzQXJuKGFybiwgdmFsaWRhdG9yT3B0aW9ucyk7XG4gICAgICBjb25zdCB7IG91dHBvc3RJZCwgYWNjZXNzcG9pbnROYW1lIH0gPSBwYXJzZU91dHBvc3RzQWNjZXNzUG9pbnRBcm5SZXNvdXJjZShhcm4ucmVzb3VyY2UpO1xuICAgICAgaW5wdXQuTmFtZSA9IGFjY2Vzc3BvaW50TmFtZTtcbiAgICAgIGNvbnRleHRbQ09OVEVYVF9PVVRQT1NUX0lEXSA9IG91dHBvc3RJZDtcbiAgICB9IGVsc2Uge1xuICAgICAgYXJuID0gcGFyc2VBcm4oaW5wdXQuQnVja2V0ISk7XG4gICAgICB2YWxpZGF0ZU91dHBvc3RzQXJuKGFybiwgdmFsaWRhdG9yT3B0aW9ucyk7XG4gICAgICBjb25zdCB7IG91dHBvc3RJZCwgYnVja2V0TmFtZSB9ID0gcGFyc2VPdXRwb3N0QnVja2V0QXJuUmVzb3VyY2UoYXJuLnJlc291cmNlKTtcbiAgICAgIGlucHV0LkJ1Y2tldCA9IGJ1Y2tldE5hbWU7XG4gICAgICBjb250ZXh0W0NPTlRFWFRfT1VUUE9TVF9JRF0gPSBvdXRwb3N0SWQ7XG4gICAgfVxuICAgIGNvbnRleHRbQ09OVEVYVF9TSUdOSU5HX1NFUlZJQ0VdID0gYXJuLnNlcnZpY2U7IC8vIHMzLW91dHBvc3RzXG4gICAgY29udGV4dFtDT05URVhUX1NJR05JTkdfUkVHSU9OXSA9IHVzZUFyblJlZ2lvbiA/IGFybi5yZWdpb24gOiBzaWduaW5nUmVnaW9uO1xuXG4gICAgaWYgKCFpbnB1dC5BY2NvdW50SWQpIHtcbiAgICAgIGlucHV0LkFjY291bnRJZCA9IGFybi5hY2NvdW50SWQ7XG4gICAgfSBlbHNlIGlmIChpbnB1dC5BY2NvdW50SWQgIT09IGFybi5hY2NvdW50SWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQWNjb3VudElkIGlzIGluY29tcGF0aWJsZSB3aXRoIGFjY291bnQgaWQgaW5mZXJyZWQgZnJvbSAke3BhcmFtZXRlcn1gKTtcbiAgICB9XG5cbiAgICBpZiAodXNlQXJuUmVnaW9uKSBjb250ZXh0W0NPTlRFWFRfQVJOX1JFR0lPTl0gPSBhcm4ucmVnaW9uO1xuXG4gICAgcmV0dXJuIG5leHQoYXJncyk7XG4gIH07XG5cbmV4cG9ydCBjb25zdCBwYXJzZU91dHBvc3RBcm5hYmxlc01pZGRsZWF3YXJlT3B0aW9uczogSW5pdGlhbGl6ZUhhbmRsZXJPcHRpb25zID0ge1xuICBzdGVwOiBcImluaXRpYWxpemVcIixcbiAgdGFnczogW1wiQ09OVkVSVF9BUk5cIiwgXCJPVVRQT1NUX0JVQ0tFVF9BUk5cIiwgXCJPVVRQT1NUX0FDQ0VTU19QT0lOVF9BUk5cIiwgXCJPVVRQT1NUXCJdLFxuICBuYW1lOiBcInBhcnNlT3V0cG9zdEFybmFibGVzTWlkZGxlYXdhcmVcIixcbn07XG5cbnR5cGUgVmFsaWRhdGVPdXRwb3N0c0Fybk9wdGlvbnMgPSB7XG4gIGNsaWVudFJlZ2lvbjogc3RyaW5nO1xuICBzaWduaW5nUmVnaW9uOiBzdHJpbmc7XG4gIGNsaWVudFBhcnRpdGlvbjogc3RyaW5nO1xuICB1c2VBcm5SZWdpb246IGJvb2xlYW47XG4gIHVzZUR1YWxzdGFja0VuZHBvaW50OiBib29sZWFuO1xufTtcblxuLyoqXG4gKiB2YWxpZGF0ZSBBUk4gd2l0aCAnczMtb3V0cG9zdHMnIGluIHRoZSBzZXJ2aWNlIHNlY3Rpb24gb2YgdGhlIEFSTjpcbiAqIEFSTiBzdXBwbGllZCB0byAnTmFtZScgcGFyYW1ldGVyIHNob3VsZCBjb21wbHkgdGVtcGxhdGU6XG4gKiAgICBhcm46e3BhcnRpdGlvbn06czMtb3V0cG9zdHM6e3JlZ2lvbn06e2FjY291bnRJZH06b3V0cG9zdC97b3V0cG9zdElkfS9hY2Nlc3Nwb2ludC97YWNjZXNzcG9pbnROYW1lfVxuICogQVJOIHN1cHBsaWVkIHRvICdCdWNrZXQnIHBhcmFtZXRlciBzaG91bGQgY29tcGx5IHRlbXBsYXRlOlxuICogICAgYXJuOntwYXJ0aXRpb259OnMzLW91dHBvc3RzOntyZWdpb259OnthY2NvdW50SWR9Om91dHBvc3Qve291dHBvc3RJZH0vYnVja2V0L3tidWNrZXROYW1lfVxuICovXG5jb25zdCB2YWxpZGF0ZU91dHBvc3RzQXJuID0gKFxuICBhcm46IEFSTixcbiAgeyBjbGllbnRSZWdpb24sIHNpZ25pbmdSZWdpb24sIGNsaWVudFBhcnRpdGlvbiwgdXNlQXJuUmVnaW9uLCB1c2VEdWFsc3RhY2tFbmRwb2ludCB9OiBWYWxpZGF0ZU91dHBvc3RzQXJuT3B0aW9uc1xuKSA9PiB7XG4gIGNvbnN0IHsgc2VydmljZSwgcGFydGl0aW9uLCBhY2NvdW50SWQsIHJlZ2lvbiB9ID0gYXJuO1xuICB2YWxpZGF0ZU91dHBvc3RTZXJ2aWNlKHNlcnZpY2UpO1xuICB2YWxpZGF0ZVBhcnRpdGlvbihwYXJ0aXRpb24sIHsgY2xpZW50UGFydGl0aW9uIH0pO1xuICB2YWxpZGF0ZUFjY291bnRJZChhY2NvdW50SWQpO1xuICB2YWxpZGF0ZVJlZ2lvbihyZWdpb24sIHtcbiAgICB1c2VBcm5SZWdpb24sXG4gICAgY2xpZW50UmVnaW9uLFxuICAgIGNsaWVudFNpZ25pbmdSZWdpb246IHNpZ25pbmdSZWdpb24sXG4gIH0pO1xuICB2YWxpZGF0ZU5vRHVhbHN0YWNrKHVzZUR1YWxzdGFja0VuZHBvaW50KTtcbiAgaWYgKCF1c2VBcm5SZWdpb24pIHZhbGlkYXRlTm9GSVBTKGNsaWVudFJlZ2lvbik7XG59O1xuXG5jb25zdCBwYXJzZU91dHBvc3RzQWNjZXNzUG9pbnRBcm5SZXNvdXJjZSA9IChcbiAgcmVzb3VyY2U6IHN0cmluZ1xuKToge1xuICBvdXRwb3N0SWQ6IHN0cmluZztcbiAgYWNjZXNzcG9pbnROYW1lOiBzdHJpbmc7XG59ID0+IHtcbiAgY29uc3QgeyBvdXRwb3N0SWQsIGFjY2Vzc3BvaW50TmFtZSB9ID0gZ2V0UzNBY2Nlc3Nwb2ludEFyblJlc291cmNlcyhyZXNvdXJjZSk7XG4gIGlmICghb3V0cG9zdElkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiQVJOIHJlc291cmNlIHNob3VsZCBiZWdpbiB3aXRoICdvdXRwb3N0J1wiKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIG91dHBvc3RJZCxcbiAgICBhY2Nlc3Nwb2ludE5hbWUsXG4gIH07XG59O1xuXG5jb25zdCBwYXJzZU91dHBvc3RCdWNrZXRBcm5SZXNvdXJjZSA9IChcbiAgcmVzb3VyY2U6IHN0cmluZ1xuKToge1xuICBvdXRwb3N0SWQ6IHN0cmluZztcbiAgYnVja2V0TmFtZTogc3RyaW5nO1xufSA9PiB7XG4gIGNvbnN0IGRlbGltaXRlciA9IHJlc291cmNlLmluY2x1ZGVzKFwiOlwiKSA/IFwiOlwiIDogXCIvXCI7XG4gIGNvbnN0IFtyZXNvdXJjZVR5cGUsIC4uLnJlc3RdID0gcmVzb3VyY2Uuc3BsaXQoZGVsaW1pdGVyKTtcbiAgaWYgKHJlc291cmNlVHlwZSA9PT0gXCJvdXRwb3N0XCIpIHtcbiAgICAvLyBQYXJzZSBvdXRwb3N0IEFSTlxuICAgIGlmICghcmVzdFswXSB8fCByZXN0WzFdICE9PSBcImJ1Y2tldFwiIHx8ICFyZXN0WzJdIHx8IHJlc3QubGVuZ3RoICE9PSAzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBPdXRwb3N0IEJ1Y2tldCBBUk4gc2hvdWxkIGhhdmUgcmVzb3VyY2Ugb3V0cG9zdCR7ZGVsaW1pdGVyfXtvdXRwb3N0SWR9JHtkZWxpbWl0ZXJ9YnVja2V0JHtkZWxpbWl0ZXJ9e2J1Y2tldE5hbWV9YFxuICAgICAgKTtcbiAgICB9XG4gICAgY29uc3QgW291dHBvc3RJZCwgXywgYnVja2V0TmFtZV0gPSByZXN0O1xuICAgIHJldHVybiB7IG91dHBvc3RJZCwgYnVja2V0TmFtZSB9O1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcihgQVJOIHJlc291cmNlIHNob3VsZCBiZWdpbiB3aXRoICdvdXRwb3N0JHtkZWxpbWl0ZXJ9J2ApO1xuICB9XG59O1xuIl19
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getProcessArnablesPlugin = void 0;
|
|
4
|
+
const parse_outpost_arnables_1 = require("./parse-outpost-arnables");
|
|
5
|
+
const update_arnables_request_1 = require("./update-arnables-request");
|
|
6
|
+
const getProcessArnablesPlugin = (options) => ({
|
|
7
|
+
applyToStack: (clientStack) => {
|
|
8
|
+
clientStack.add(parse_outpost_arnables_1.parseOutpostArnablesMiddleaware(options), parse_outpost_arnables_1.parseOutpostArnablesMiddleawareOptions);
|
|
9
|
+
clientStack.add(update_arnables_request_1.updateArnablesRequestMiddleware(options), update_arnables_request_1.updateArnablesRequestMiddlewareOptions);
|
|
10
|
+
},
|
|
11
|
+
});
|
|
12
|
+
exports.getProcessArnablesPlugin = getProcessArnablesPlugin;
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb2Nlc3MtYXJuYWJsZXMtcGx1Z2luL3BsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSxxRUFBbUg7QUFDbkgsdUVBQW9IO0FBRTdHLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxPQUFnQyxFQUF1QixFQUFFLENBQUMsQ0FBQztJQUNsRyxZQUFZLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRTtRQUM1QixXQUFXLENBQUMsR0FBRyxDQUFDLHdEQUErQixDQUFDLE9BQU8sQ0FBQyxFQUFFLCtEQUFzQyxDQUFDLENBQUM7UUFDbEcsV0FBVyxDQUFDLEdBQUcsQ0FBQyx5REFBK0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxnRUFBc0MsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7Q0FDRixDQUFDLENBQUM7QUFMVSxRQUFBLHdCQUF3Qiw0QkFLbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbHVnZ2FibGUgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuaW1wb3J0IHsgUzNDb250cm9sUmVzb2x2ZWRDb25maWcgfSBmcm9tIFwiLi4vY29uZmlndXJhdGlvbnNcIjtcbmltcG9ydCB7IHBhcnNlT3V0cG9zdEFybmFibGVzTWlkZGxlYXdhcmUsIHBhcnNlT3V0cG9zdEFybmFibGVzTWlkZGxlYXdhcmVPcHRpb25zIH0gZnJvbSBcIi4vcGFyc2Utb3V0cG9zdC1hcm5hYmxlc1wiO1xuaW1wb3J0IHsgdXBkYXRlQXJuYWJsZXNSZXF1ZXN0TWlkZGxld2FyZSwgdXBkYXRlQXJuYWJsZXNSZXF1ZXN0TWlkZGxld2FyZU9wdGlvbnMgfSBmcm9tIFwiLi91cGRhdGUtYXJuYWJsZXMtcmVxdWVzdFwiO1xuXG5leHBvcnQgY29uc3QgZ2V0UHJvY2Vzc0FybmFibGVzUGx1Z2luID0gKG9wdGlvbnM6IFMzQ29udHJvbFJlc29sdmVkQ29uZmlnKTogUGx1Z2dhYmxlPGFueSwgYW55PiA9PiAoe1xuICBhcHBseVRvU3RhY2s6IChjbGllbnRTdGFjaykgPT4ge1xuICAgIGNsaWVudFN0YWNrLmFkZChwYXJzZU91dHBvc3RBcm5hYmxlc01pZGRsZWF3YXJlKG9wdGlvbnMpLCBwYXJzZU91dHBvc3RBcm5hYmxlc01pZGRsZWF3YXJlT3B0aW9ucyk7XG4gICAgY2xpZW50U3RhY2suYWRkKHVwZGF0ZUFybmFibGVzUmVxdWVzdE1pZGRsZXdhcmUob3B0aW9ucyksIHVwZGF0ZUFybmFibGVzUmVxdWVzdE1pZGRsZXdhcmVPcHRpb25zKTtcbiAgfSxcbn0pO1xuIl19
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateArnablesRequestMiddlewareOptions = exports.getOutpostEndpoint = exports.updateArnablesRequestMiddleware = void 0;
|
|
4
|
+
const protocol_http_1 = require("@aws-sdk/protocol-http");
|
|
5
|
+
const constants_1 = require("../constants");
|
|
6
|
+
const ACCOUNT_ID_HEADER = "x-amz-account-id";
|
|
7
|
+
const OUTPOST_ID_HEADER = "x-amz-outpost-id";
|
|
8
|
+
const REGEX_S3CONTROL_HOSTNAME = /^(.+\.)?s3-control[.-]([a-z0-9-]+)\./;
|
|
9
|
+
const updateArnablesRequestMiddleware = ({ isCustomEndpoint }) => (next, context) => (args) => {
|
|
10
|
+
const { request } = args;
|
|
11
|
+
if (!protocol_http_1.HttpRequest.isInstance(request))
|
|
12
|
+
return next(args);
|
|
13
|
+
if (context[constants_1.CONTEXT_ACCOUNT_ID])
|
|
14
|
+
request.headers[ACCOUNT_ID_HEADER] = context[constants_1.CONTEXT_ACCOUNT_ID];
|
|
15
|
+
if (context[constants_1.CONTEXT_OUTPOST_ID]) {
|
|
16
|
+
request.headers[OUTPOST_ID_HEADER] = context[constants_1.CONTEXT_OUTPOST_ID];
|
|
17
|
+
request.hostname = exports.getOutpostEndpoint(request.hostname, {
|
|
18
|
+
isCustomEndpoint,
|
|
19
|
+
regionOverride: context[constants_1.CONTEXT_ARN_REGION],
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
return next(args);
|
|
23
|
+
};
|
|
24
|
+
exports.updateArnablesRequestMiddleware = updateArnablesRequestMiddleware;
|
|
25
|
+
const getOutpostEndpoint = (hostname, { isCustomEndpoint, regionOverride } = {}) => {
|
|
26
|
+
const [matched, prefix, region] = hostname.match(REGEX_S3CONTROL_HOSTNAME);
|
|
27
|
+
return isCustomEndpoint
|
|
28
|
+
? hostname
|
|
29
|
+
: ["s3-outposts", regionOverride || region, hostname.replace(new RegExp(`^${matched}`), "")]
|
|
30
|
+
.filter((part) => part !== undefined)
|
|
31
|
+
.join(".");
|
|
32
|
+
};
|
|
33
|
+
exports.getOutpostEndpoint = getOutpostEndpoint;
|
|
34
|
+
exports.updateArnablesRequestMiddlewareOptions = {
|
|
35
|
+
step: "build",
|
|
36
|
+
name: "updateArnablesRequestMiddleware",
|
|
37
|
+
tags: ["ACCOUNT_ID", "OUTPOST_ID", "OUTPOST"],
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWFybmFibGVzLXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvY2Vzcy1hcm5hYmxlcy1wbHVnaW4vdXBkYXRlLWFybmFibGVzLXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMERBQXFEO0FBSXJELDRDQUEwRjtBQUUxRixNQUFNLGlCQUFpQixHQUFHLGtCQUFrQixDQUFDO0FBQzdDLE1BQU0saUJBQWlCLEdBQUcsa0JBQWtCLENBQUM7QUFDN0MsTUFBTSx3QkFBd0IsR0FBRyxzQ0FBc0MsQ0FBQztBQU1qRSxNQUFNLCtCQUErQixHQUMxQyxDQUFDLEVBQUUsZ0JBQWdCLEVBQWlDLEVBQTZCLEVBQUUsQ0FDbkYsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FDbEIsQ0FBQyxJQUFJLEVBQUUsRUFBRTtJQUNQLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDekIsSUFBSSxDQUFDLDJCQUFXLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUFFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hELElBQUksT0FBTyxDQUFDLDhCQUFrQixDQUFDO1FBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLE9BQU8sQ0FBQyw4QkFBa0IsQ0FBQyxDQUFDO0lBQ2xHLElBQUksT0FBTyxDQUFDLDhCQUFrQixDQUFDLEVBQUU7UUFDL0IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLE9BQU8sQ0FBQyw4QkFBa0IsQ0FBQyxDQUFDO1FBQ2pFLE9BQU8sQ0FBQyxRQUFRLEdBQUcsMEJBQWtCLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUN0RCxnQkFBZ0I7WUFDaEIsY0FBYyxFQUFFLE9BQU8sQ0FBQyw4QkFBa0IsQ0FBQztTQUM1QyxDQUFDLENBQUM7S0FDSjtJQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3BCLENBQUMsQ0FBQztBQWZTLFFBQUEsK0JBQStCLG1DQWV4QztBQUVHLE1BQU0sa0JBQWtCLEdBQUcsQ0FDaEMsUUFBZ0IsRUFDaEIsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEtBQThELEVBQUUsRUFDMUYsRUFBRTtJQUNWLE1BQU0sQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsd0JBQXdCLENBQUUsQ0FBQztJQUU1RSxPQUFPLGdCQUFnQjtRQUNyQixDQUFDLENBQUMsUUFBUTtRQUNWLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxjQUFjLElBQUksTUFBTSxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2FBQ3ZGLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQzthQUNwQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDO0FBWFcsUUFBQSxrQkFBa0Isc0JBVzdCO0FBRVcsUUFBQSxzQ0FBc0MsR0FBd0I7SUFDekUsSUFBSSxFQUFFLE9BQU87SUFDYixJQUFJLEVBQUUsaUNBQWlDO0lBQ3ZDLElBQUksRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsU0FBUyxDQUFDO0NBQzlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUmVxdWVzdCB9IGZyb20gXCJAYXdzLXNkay9wcm90b2NvbC1odHRwXCI7XG5pbXBvcnQgeyBCdWlsZEhhbmRsZXJPcHRpb25zLCBCdWlsZE1pZGRsZXdhcmUgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuaW1wb3J0IHsgUzNDb250cm9sUmVzb2x2ZWRDb25maWcgfSBmcm9tIFwiLi4vY29uZmlndXJhdGlvbnNcIjtcbmltcG9ydCB7IENPTlRFWFRfQUNDT1VOVF9JRCwgQ09OVEVYVF9BUk5fUkVHSU9OLCBDT05URVhUX09VVFBPU1RfSUQgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmNvbnN0IEFDQ09VTlRfSURfSEVBREVSID0gXCJ4LWFtei1hY2NvdW50LWlkXCI7XG5jb25zdCBPVVRQT1NUX0lEX0hFQURFUiA9IFwieC1hbXotb3V0cG9zdC1pZFwiO1xuY29uc3QgUkVHRVhfUzNDT05UUk9MX0hPU1ROQU1FID0gL14oLitcXC4pP3MzLWNvbnRyb2xbLi1dKFthLXowLTktXSspXFwuLztcblxuLyoqXG4gKiBBZnRlciBvdXRwb3N0IHJlcXVlc3QgaXMgY29uc3RydWN0ZWQsIHJlZGlyZWN0IHJlcXVlc3QgdG8gb3V0cG9zdCBlbmRwb2ludCBhbmQgc2V0IGB4LWFtei1hY2NvdW50LWlkYCBhbmRcbiAqIGB4LWFtei1vdXRwb3N0LWlkYCBoZWFkZXJzLlxuICovXG5leHBvcnQgY29uc3QgdXBkYXRlQXJuYWJsZXNSZXF1ZXN0TWlkZGxld2FyZSA9XG4gICh7IGlzQ3VzdG9tRW5kcG9pbnQgfTogeyBpc0N1c3RvbUVuZHBvaW50OiBib29sZWFuIH0pOiBCdWlsZE1pZGRsZXdhcmU8YW55LCBhbnk+ID0+XG4gIChuZXh0LCBjb250ZXh0KSA9PlxuICAoYXJncykgPT4ge1xuICAgIGNvbnN0IHsgcmVxdWVzdCB9ID0gYXJncztcbiAgICBpZiAoIUh0dHBSZXF1ZXN0LmlzSW5zdGFuY2UocmVxdWVzdCkpIHJldHVybiBuZXh0KGFyZ3MpO1xuICAgIGlmIChjb250ZXh0W0NPTlRFWFRfQUNDT1VOVF9JRF0pIHJlcXVlc3QuaGVhZGVyc1tBQ0NPVU5UX0lEX0hFQURFUl0gPSBjb250ZXh0W0NPTlRFWFRfQUNDT1VOVF9JRF07XG4gICAgaWYgKGNvbnRleHRbQ09OVEVYVF9PVVRQT1NUX0lEXSkge1xuICAgICAgcmVxdWVzdC5oZWFkZXJzW09VVFBPU1RfSURfSEVBREVSXSA9IGNvbnRleHRbQ09OVEVYVF9PVVRQT1NUX0lEXTtcbiAgICAgIHJlcXVlc3QuaG9zdG5hbWUgPSBnZXRPdXRwb3N0RW5kcG9pbnQocmVxdWVzdC5ob3N0bmFtZSwge1xuICAgICAgICBpc0N1c3RvbUVuZHBvaW50LFxuICAgICAgICByZWdpb25PdmVycmlkZTogY29udGV4dFtDT05URVhUX0FSTl9SRUdJT05dLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBuZXh0KGFyZ3MpO1xuICB9O1xuXG5leHBvcnQgY29uc3QgZ2V0T3V0cG9zdEVuZHBvaW50ID0gKFxuICBob3N0bmFtZTogc3RyaW5nLFxuICB7IGlzQ3VzdG9tRW5kcG9pbnQsIHJlZ2lvbk92ZXJyaWRlIH06IHsgaXNDdXN0b21FbmRwb2ludD86IGJvb2xlYW47IHJlZ2lvbk92ZXJyaWRlPzogc3RyaW5nIH0gPSB7fVxuKTogc3RyaW5nID0+IHtcbiAgY29uc3QgW21hdGNoZWQsIHByZWZpeCwgcmVnaW9uXSA9IGhvc3RuYW1lLm1hdGNoKFJFR0VYX1MzQ09OVFJPTF9IT1NUTkFNRSkhO1xuICAvLyBob3N0bmFtZSBwcmVmaXggd2lsbCBiZSBpZ25vcmVkIGV2ZW4gaWYgcHJlc2VudHNcbiAgcmV0dXJuIGlzQ3VzdG9tRW5kcG9pbnRcbiAgICA/IGhvc3RuYW1lXG4gICAgOiBbXCJzMy1vdXRwb3N0c1wiLCByZWdpb25PdmVycmlkZSB8fCByZWdpb24sIGhvc3RuYW1lLnJlcGxhY2UobmV3IFJlZ0V4cChgXiR7bWF0Y2hlZH1gKSwgXCJcIildXG4gICAgICAgIC5maWx0ZXIoKHBhcnQpID0+IHBhcnQgIT09IHVuZGVmaW5lZClcbiAgICAgICAgLmpvaW4oXCIuXCIpO1xufTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZUFybmFibGVzUmVxdWVzdE1pZGRsZXdhcmVPcHRpb25zOiBCdWlsZEhhbmRsZXJPcHRpb25zID0ge1xuICBzdGVwOiBcImJ1aWxkXCIsXG4gIG5hbWU6IFwidXBkYXRlQXJuYWJsZXNSZXF1ZXN0TWlkZGxld2FyZVwiLFxuICB0YWdzOiBbXCJBQ0NPVU5UX0lEXCIsIFwiT1VUUE9TVF9JRFwiLCBcIk9VVFBPU1RcIl0sXG59O1xuIl19
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getRedirectFromPostIdPlugin = exports.redirectFromPostIdMiddlewareOptions = exports.redirectFromPostIdMiddleware = void 0;
|
|
4
|
+
const protocol_http_1 = require("@aws-sdk/protocol-http");
|
|
5
|
+
const constants_1 = require("./constants");
|
|
6
|
+
const process_arnables_plugin_1 = require("./process-arnables-plugin");
|
|
7
|
+
const redirectFromPostIdMiddleware = ({ isCustomEndpoint }) => (next, context) => (args) => {
|
|
8
|
+
const { input, request } = args;
|
|
9
|
+
if (!protocol_http_1.HttpRequest.isInstance(request))
|
|
10
|
+
return next(args);
|
|
11
|
+
if (input.OutpostId) {
|
|
12
|
+
request.hostname = process_arnables_plugin_1.getOutpostEndpoint(request.hostname, { isCustomEndpoint });
|
|
13
|
+
context[constants_1.CONTEXT_SIGNING_SERVICE] = "s3-outposts";
|
|
14
|
+
}
|
|
15
|
+
return next(args);
|
|
16
|
+
};
|
|
17
|
+
exports.redirectFromPostIdMiddleware = redirectFromPostIdMiddleware;
|
|
18
|
+
exports.redirectFromPostIdMiddlewareOptions = {
|
|
19
|
+
step: "build",
|
|
20
|
+
name: "redirectFromPostIdMiddleware",
|
|
21
|
+
tags: ["OUTPOST"],
|
|
22
|
+
override: true,
|
|
23
|
+
};
|
|
24
|
+
const getRedirectFromPostIdPlugin = (options) => ({
|
|
25
|
+
applyToStack: (clientStack) => {
|
|
26
|
+
clientStack.add(exports.redirectFromPostIdMiddleware(options), exports.redirectFromPostIdMiddlewareOptions);
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
exports.getRedirectFromPostIdPlugin = getRedirectFromPostIdPlugin;
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkaXJlY3QtZnJvbS1wb3N0aWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcmVkaXJlY3QtZnJvbS1wb3N0aWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMERBQXFEO0FBSXJELDJDQUFzRDtBQUN0RCx1RUFBK0Q7QUFVeEQsTUFBTSw0QkFBNEIsR0FDdkMsQ0FBQyxFQUFFLGdCQUFnQixFQUFpQyxFQUFtQyxFQUFFLENBQ3pGLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQ2xCLENBQUMsSUFBSSxFQUFFLEVBQUU7SUFDUCxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztJQUNoQyxJQUFJLENBQUMsMkJBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO1FBQUUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEQsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFO1FBQ25CLE9BQU8sQ0FBQyxRQUFRLEdBQUcsNENBQWtCLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUM5RSxPQUFPLENBQUMsbUNBQXVCLENBQUMsR0FBRyxhQUFhLENBQUM7S0FDbEQ7SUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNwQixDQUFDLENBQUM7QUFYUyxRQUFBLDRCQUE0QixnQ0FXckM7QUFFUyxRQUFBLG1DQUFtQyxHQUF3QjtJQUN0RSxJQUFJLEVBQUUsT0FBTztJQUNiLElBQUksRUFBRSw4QkFBOEI7SUFDcEMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDO0lBQ2pCLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQztBQUVLLE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxPQUFnQyxFQUF1QixFQUFFLENBQUMsQ0FBQztJQUNyRyxZQUFZLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRTtRQUM1QixXQUFXLENBQUMsR0FBRyxDQUFDLG9DQUE0QixDQUFDLE9BQU8sQ0FBQyxFQUFFLDJDQUFtQyxDQUFDLENBQUM7SUFDOUYsQ0FBQztDQUNGLENBQUMsQ0FBQztBQUpVLFFBQUEsMkJBQTJCLCtCQUlyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBSZXF1ZXN0IH0gZnJvbSBcIkBhd3Mtc2RrL3Byb3RvY29sLWh0dHBcIjtcbmltcG9ydCB7IEJ1aWxkSGFuZGxlck9wdGlvbnMsIEJ1aWxkTWlkZGxld2FyZSwgUGx1Z2dhYmxlIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5cbmltcG9ydCB7IFMzQ29udHJvbFJlc29sdmVkQ29uZmlnIH0gZnJvbSBcIi4vY29uZmlndXJhdGlvbnNcIjtcbmltcG9ydCB7IENPTlRFWFRfU0lHTklOR19TRVJWSUNFIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBnZXRPdXRwb3N0RW5kcG9pbnQgfSBmcm9tIFwiLi9wcm9jZXNzLWFybmFibGVzLXBsdWdpblwiO1xuXG50eXBlIElucHV0VHlwZSA9IHtcbiAgT3V0cG9zdElkPzogc3RyaW5nO1xufTtcblxuLyoqXG4gKiBJZiBPdXRwb3N0SWQgaXMgc2V0LCByZWRpcmVjdCBob3N0bmFtZSB0byBPdXRwb3N0IG9uZSwgYW5kIGNoYW5nZSBzaWduaW5nIHNlcnZpY2UgdG8gYHMzLW91dHBvc3RzYC5cbiAqIEFwcGxpZWQgdG8gUzNDb250cm9sLkNyZWF0ZUJ1Y2tldCBhbmQgUzNDb250cm9sLkxpc3RSZWdpb25hbEJ1Y2tldHNcbiAqL1xuZXhwb3J0IGNvbnN0IHJlZGlyZWN0RnJvbVBvc3RJZE1pZGRsZXdhcmUgPVxuICAoeyBpc0N1c3RvbUVuZHBvaW50IH06IHsgaXNDdXN0b21FbmRwb2ludDogYm9vbGVhbiB9KTogQnVpbGRNaWRkbGV3YXJlPElucHV0VHlwZSwgYW55PiA9PlxuICAobmV4dCwgY29udGV4dCkgPT5cbiAgKGFyZ3MpID0+IHtcbiAgICBjb25zdCB7IGlucHV0LCByZXF1ZXN0IH0gPSBhcmdzO1xuICAgIGlmICghSHR0cFJlcXVlc3QuaXNJbnN0YW5jZShyZXF1ZXN0KSkgcmV0dXJuIG5leHQoYXJncyk7XG4gICAgaWYgKGlucHV0Lk91dHBvc3RJZCkge1xuICAgICAgcmVxdWVzdC5ob3N0bmFtZSA9IGdldE91dHBvc3RFbmRwb2ludChyZXF1ZXN0Lmhvc3RuYW1lLCB7IGlzQ3VzdG9tRW5kcG9pbnQgfSk7XG4gICAgICBjb250ZXh0W0NPTlRFWFRfU0lHTklOR19TRVJWSUNFXSA9IFwiczMtb3V0cG9zdHNcIjtcbiAgICB9XG4gICAgcmV0dXJuIG5leHQoYXJncyk7XG4gIH07XG5cbmV4cG9ydCBjb25zdCByZWRpcmVjdEZyb21Qb3N0SWRNaWRkbGV3YXJlT3B0aW9uczogQnVpbGRIYW5kbGVyT3B0aW9ucyA9IHtcbiAgc3RlcDogXCJidWlsZFwiLFxuICBuYW1lOiBcInJlZGlyZWN0RnJvbVBvc3RJZE1pZGRsZXdhcmVcIixcbiAgdGFnczogW1wiT1VUUE9TVFwiXSxcbiAgb3ZlcnJpZGU6IHRydWUsXG59O1xuXG5leHBvcnQgY29uc3QgZ2V0UmVkaXJlY3RGcm9tUG9zdElkUGx1Z2luID0gKG9wdGlvbnM6IFMzQ29udHJvbFJlc29sdmVkQ29uZmlnKTogUGx1Z2dhYmxlPGFueSwgYW55PiA9PiAoe1xuICBhcHBseVRvU3RhY2s6IChjbGllbnRTdGFjaykgPT4ge1xuICAgIGNsaWVudFN0YWNrLmFkZChyZWRpcmVjdEZyb21Qb3N0SWRNaWRkbGV3YXJlKG9wdGlvbnMpLCByZWRpcmVjdEZyb21Qb3N0SWRNaWRkbGV3YXJlT3B0aW9ucyk7XG4gIH0sXG59KTtcbiJdfQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { __assign } from "tslib";
|
|
2
|
+
export { NODE_USE_ARN_REGION_CONFIG_OPTIONS } from "@aws-sdk/middleware-bucket-endpoint";
|
|
3
|
+
export function resolveS3ControlConfig(input) {
|
|
4
|
+
var _a = input.useDualstackEndpoint, useDualstackEndpoint = _a === void 0 ? false : _a, _b = input.useArnRegion, useArnRegion = _b === void 0 ? false : _b;
|
|
5
|
+
return __assign(__assign({}, input), { useDualstackEndpoint: useDualstackEndpoint, useArnRegion: typeof useArnRegion === "function" ? useArnRegion : function () { return Promise.resolve(useArnRegion); } });
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlndXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBNEN6RixNQUFNLFVBQVUsc0JBQXNCLENBQ3BDLEtBQW9EO0lBRTVDLElBQUEsS0FBdUQsS0FBSyxxQkFBaEMsRUFBNUIsb0JBQW9CLG1CQUFHLEtBQUssS0FBQSxFQUFFLEtBQXlCLEtBQUssYUFBVixFQUFwQixZQUFZLG1CQUFHLEtBQUssS0FBQSxDQUFXO0lBQ3JFLDZCQUNLLEtBQUssS0FDUixvQkFBb0Isc0JBQUEsRUFDcEIsWUFBWSxFQUFFLE9BQU8sWUFBWSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxjQUFNLE9BQUEsT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBN0IsQ0FBNkIsSUFDckc7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvdmlkZXIsIFJlZ2lvbkluZm9Qcm92aWRlciB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuZXhwb3J0IHsgTk9ERV9VU0VfQVJOX1JFR0lPTl9DT05GSUdfT1BUSU9OUyB9IGZyb20gXCJAYXdzLXNkay9taWRkbGV3YXJlLWJ1Y2tldC1lbmRwb2ludFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFMzQ29udHJvbElucHV0Q29uZmlnIHtcbiAgLyoqXG4gICAqIEVuYWJsZXMgSVB2Ni9JUHY0IGR1YWxzdGFjayBlbmRwb2ludC4gV2hlbiBhIEROUyBsb29rdXAgaXMgcGVyZm9ybWVkIG9uIGFuIGVuZHBvaW50IG9mIHRoaXMgdHlwZSwgaXQgcmV0dXJucyBhbiDigJxB4oCdIHJlY29yZCB3aXRoIGFuIElQdjQgYWRkcmVzcyBhbmQgYW4g4oCcQUFBQeKAnSByZWNvcmQgd2l0aCBhbiBJUHY2IGFkZHJlc3MuIEluIG1vc3QgY2FzZXMgdGhlIG5ldHdvcmsgc3RhY2sgaW4gdGhlIGNsaWVudCBlbnZpcm9ubWVudCB3aWxsIGF1dG9tYXRpY2FsbHkgcHJlZmVyIHRoZSBBQUFBIHJlY29yZCBhbmQgbWFrZSBhIGNvbm5lY3Rpb24gdXNpbmcgdGhlIElQdjYgYWRkcmVzcy4gTm90ZSwgaG93ZXZlciwgdGhhdCBjdXJyZW50bHkgb24gV2luZG93cywgdGhlIElQdjQgYWRkcmVzcyB3aWxsIGJlIHByZWZlcnJlZC5cbiAgICovXG4gIHVzZUR1YWxzdGFja0VuZHBvaW50PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gb3ZlcnJpZGUgdGhlIHJlcXVlc3QgcmVnaW9uIHdpdGggdGhlIHJlZ2lvbiBpbmZlcnJlZCBmcm9tIHJlcXVlc3RlZCByZXNvdXJjZSdzIEFSTi4gRGVmYXVsdHMgdG8gZmFsc2VcbiAgICovXG4gIHVzZUFyblJlZ2lvbj86IGJvb2xlYW4gfCBQcm92aWRlcjxib29sZWFuPjtcbn1cblxuaW50ZXJmYWNlIFByZXZpb3VzbHlSZXNvbHZlZCB7XG4gIGlzQ3VzdG9tRW5kcG9pbnQ6IGJvb2xlYW47XG4gIHJlZ2lvbjogUHJvdmlkZXI8c3RyaW5nPjtcbiAgcmVnaW9uSW5mb1Byb3ZpZGVyOiBSZWdpb25JbmZvUHJvdmlkZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUzNDb250cm9sUmVzb2x2ZWRDb25maWcge1xuICAvKipcbiAgICogV2hldGhlciB0aGUgZW5kcG9pbnQgaXMgc3BlY2lmaWVkIGJ5IGNhbGxlci5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBpc0N1c3RvbUVuZHBvaW50OiBib29sZWFuO1xuICAvKipcbiAgICogUmVzb2x2ZWQgdmFsdWUgZm9yIGlucHV0IGNvbmZpZyB7QGxpbmsgUzNDb250cm9sSW5wdXRDb25maWcudXNlRHVhbHN0YWNrRW5kcG9pbnR9XG4gICAqL1xuICB1c2VEdWFsc3RhY2tFbmRwb2ludDogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFJlc29sdmVkIHZhbHVlIGZvciBpbnB1dCBjb25maWcge0BsaW5rIFMzQ29udHJvbElucHV0Q29uZmlnLnVzZUFyblJlZ2lvbn1cbiAgICovXG4gIHVzZUFyblJlZ2lvbjogUHJvdmlkZXI8Ym9vbGVhbj47XG4gIC8qKlxuICAgKiBSZXNvbHZlZCB2YWx1ZSBmb3IgaW5wdXQgY29uZmlnIHtAbGluayBSZWdpb25JbnB1dENvbmZpZy5yZWdpb259XG4gICAqL1xuICByZWdpb246IFByb3ZpZGVyPHN0cmluZz47XG4gIC8qKlxuICAgKiBGZXRjaCByZWxhdGVkIGhvc3RuYW1lLCBzaWduaW5nIG5hbWUgb3Igc2lnbmluZyByZWdpb24gd2l0aCBnaXZlbiByZWdpb24uXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcmVnaW9uSW5mb1Byb3ZpZGVyOiBSZWdpb25JbmZvUHJvdmlkZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlUzNDb250cm9sQ29uZmlnPFQ+KFxuICBpbnB1dDogVCAmIFByZXZpb3VzbHlSZXNvbHZlZCAmIFMzQ29udHJvbElucHV0Q29uZmlnXG4pOiBUICYgUzNDb250cm9sUmVzb2x2ZWRDb25maWcge1xuICBjb25zdCB7IHVzZUR1YWxzdGFja0VuZHBvaW50ID0gZmFsc2UsIHVzZUFyblJlZ2lvbiA9IGZhbHNlIH0gPSBpbnB1dDtcbiAgcmV0dXJuIHtcbiAgICAuLi5pbnB1dCxcbiAgICB1c2VEdWFsc3RhY2tFbmRwb2ludCxcbiAgICB1c2VBcm5SZWdpb246IHR5cGVvZiB1c2VBcm5SZWdpb24gPT09IFwiZnVuY3Rpb25cIiA/IHVzZUFyblJlZ2lvbiA6ICgpID0+IFByb21pc2UucmVzb2x2ZSh1c2VBcm5SZWdpb24pLFxuICB9O1xufVxuIl19
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export var CONTEXT_OUTPOST_ID = "outpost_id";
|
|
2
|
+
export var CONTEXT_ACCOUNT_ID = "account_id";
|
|
3
|
+
export var CONTEXT_ARN_REGION = "outpost_arn_region";
|
|
4
|
+
export var CONTEXT_SIGNING_SERVICE = "signing_service";
|
|
5
|
+
export var CONTEXT_SIGNING_REGION = "signing_region";
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsSUFBTSxrQkFBa0IsR0FBRyxZQUFZLENBQUM7QUFDL0MsTUFBTSxDQUFDLElBQU0sa0JBQWtCLEdBQUcsWUFBWSxDQUFDO0FBQy9DLE1BQU0sQ0FBQyxJQUFNLGtCQUFrQixHQUFHLG9CQUFvQixDQUFDO0FBQ3ZELE1BQU0sQ0FBQyxJQUFNLHVCQUF1QixHQUFHLGlCQUFpQixDQUFDO0FBQ3pELE1BQU0sQ0FBQyxJQUFNLHNCQUFzQixHQUFHLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IENPTlRFWFRfT1VUUE9TVF9JRCA9IFwib3V0cG9zdF9pZFwiO1xuZXhwb3J0IGNvbnN0IENPTlRFWFRfQUNDT1VOVF9JRCA9IFwiYWNjb3VudF9pZFwiO1xuZXhwb3J0IGNvbnN0IENPTlRFWFRfQVJOX1JFR0lPTiA9IFwib3V0cG9zdF9hcm5fcmVnaW9uXCI7XG5leHBvcnQgY29uc3QgQ09OVEVYVF9TSUdOSU5HX1NFUlZJQ0UgPSBcInNpZ25pbmdfc2VydmljZVwiO1xuZXhwb3J0IGNvbnN0IENPTlRFWFRfU0lHTklOR19SRUdJT04gPSBcInNpZ25pbmdfcmVnaW9uXCI7XG4iXX0=
|
package/dist-es/index.js
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from "./configurations";
|
|
2
|
+
export { parseOutpostArnablesMiddleaware, parseOutpostArnablesMiddleawareOptions, updateArnablesRequestMiddleware, updateArnablesRequestMiddlewareOptions, getProcessArnablesPlugin, } from "./process-arnables-plugin";
|
|
3
|
+
export * from "./redirect-from-postid";
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLHNDQUFzQyxFQUN0QywrQkFBK0IsRUFDL0Isc0NBQXNDLEVBQ3RDLHdCQUF3QixHQUN6QixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9jb25maWd1cmF0aW9uc1wiO1xuZXhwb3J0IHtcbiAgcGFyc2VPdXRwb3N0QXJuYWJsZXNNaWRkbGVhd2FyZSxcbiAgcGFyc2VPdXRwb3N0QXJuYWJsZXNNaWRkbGVhd2FyZU9wdGlvbnMsXG4gIHVwZGF0ZUFybmFibGVzUmVxdWVzdE1pZGRsZXdhcmUsXG4gIHVwZGF0ZUFybmFibGVzUmVxdWVzdE1pZGRsZXdhcmVPcHRpb25zLFxuICBnZXRQcm9jZXNzQXJuYWJsZXNQbHVnaW4sXG59IGZyb20gXCIuL3Byb2Nlc3MtYXJuYWJsZXMtcGx1Z2luXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZWRpcmVjdC1mcm9tLXBvc3RpZFwiO1xuIl19
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { getProcessArnablesPlugin } from "./plugin";
|
|
2
|
+
export { parseOutpostArnablesMiddleaware, parseOutpostArnablesMiddleawareOptions } from "./parse-outpost-arnables";
|
|
3
|
+
export { updateArnablesRequestMiddleware, updateArnablesRequestMiddlewareOptions, getOutpostEndpoint, } from "./update-arnables-request";
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvY2Vzcy1hcm5hYmxlcy1wbHVnaW4vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25ILE9BQU8sRUFDTCwrQkFBK0IsRUFDL0Isc0NBQXNDLEVBQ3RDLGtCQUFrQixHQUNuQixNQUFNLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgZ2V0UHJvY2Vzc0FybmFibGVzUGx1Z2luIH0gZnJvbSBcIi4vcGx1Z2luXCI7XG5leHBvcnQgeyBwYXJzZU91dHBvc3RBcm5hYmxlc01pZGRsZWF3YXJlLCBwYXJzZU91dHBvc3RBcm5hYmxlc01pZGRsZWF3YXJlT3B0aW9ucyB9IGZyb20gXCIuL3BhcnNlLW91dHBvc3QtYXJuYWJsZXNcIjtcbmV4cG9ydCB7XG4gIHVwZGF0ZUFybmFibGVzUmVxdWVzdE1pZGRsZXdhcmUsXG4gIHVwZGF0ZUFybmFibGVzUmVxdWVzdE1pZGRsZXdhcmVPcHRpb25zLFxuICBnZXRPdXRwb3N0RW5kcG9pbnQsXG59IGZyb20gXCIuL3VwZGF0ZS1hcm5hYmxlcy1yZXF1ZXN0XCI7XG4iXX0=
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { __awaiter, __generator, __read } from "tslib";
|
|
2
|
+
import { getArnResources as getS3AccesspointArnResources, getPseudoRegion, validateAccountId, validateNoDualstack, validateNoFIPS, validateOutpostService, validatePartition, validateRegion, } from "@aws-sdk/middleware-bucket-endpoint";
|
|
3
|
+
import { parse as parseArn, validate as validateArn } from "@aws-sdk/util-arn-parser";
|
|
4
|
+
import { CONTEXT_ARN_REGION, CONTEXT_OUTPOST_ID, CONTEXT_SIGNING_REGION, CONTEXT_SIGNING_SERVICE } from "../constants";
|
|
5
|
+
export var parseOutpostArnablesMiddleaware = function (options) {
|
|
6
|
+
return function (next, context) {
|
|
7
|
+
return function (args) { return __awaiter(void 0, void 0, void 0, function () {
|
|
8
|
+
var input, parameter, clientRegion, regionInfoProvider, useArnRegion, baseRegion, _a, clientPartition, _b, signingRegion, validatorOptions, arn, _c, outpostId, accesspointName, _d, outpostId, bucketName;
|
|
9
|
+
return __generator(this, function (_e) {
|
|
10
|
+
switch (_e.label) {
|
|
11
|
+
case 0:
|
|
12
|
+
input = args.input;
|
|
13
|
+
parameter = input.Name && validateArn(input.Name) ? "Name" : input.Bucket && validateArn(input.Bucket) ? "Bucket" : undefined;
|
|
14
|
+
if (!parameter)
|
|
15
|
+
return [2, next(args)];
|
|
16
|
+
return [4, options.region()];
|
|
17
|
+
case 1:
|
|
18
|
+
clientRegion = _e.sent();
|
|
19
|
+
regionInfoProvider = options.regionInfoProvider;
|
|
20
|
+
return [4, options.useArnRegion()];
|
|
21
|
+
case 2:
|
|
22
|
+
useArnRegion = _e.sent();
|
|
23
|
+
baseRegion = getPseudoRegion(clientRegion);
|
|
24
|
+
return [4, regionInfoProvider(baseRegion)];
|
|
25
|
+
case 3:
|
|
26
|
+
_a = (_e.sent()), clientPartition = _a.partition, _b = _a.signingRegion, signingRegion = _b === void 0 ? baseRegion : _b;
|
|
27
|
+
validatorOptions = {
|
|
28
|
+
useDualstackEndpoint: options.useDualstackEndpoint,
|
|
29
|
+
clientRegion: clientRegion,
|
|
30
|
+
clientPartition: clientPartition,
|
|
31
|
+
signingRegion: signingRegion,
|
|
32
|
+
useArnRegion: useArnRegion,
|
|
33
|
+
};
|
|
34
|
+
if (parameter === "Name") {
|
|
35
|
+
arn = parseArn(input.Name);
|
|
36
|
+
validateOutpostsArn(arn, validatorOptions);
|
|
37
|
+
_c = parseOutpostsAccessPointArnResource(arn.resource), outpostId = _c.outpostId, accesspointName = _c.accesspointName;
|
|
38
|
+
input.Name = accesspointName;
|
|
39
|
+
context[CONTEXT_OUTPOST_ID] = outpostId;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
arn = parseArn(input.Bucket);
|
|
43
|
+
validateOutpostsArn(arn, validatorOptions);
|
|
44
|
+
_d = parseOutpostBucketArnResource(arn.resource), outpostId = _d.outpostId, bucketName = _d.bucketName;
|
|
45
|
+
input.Bucket = bucketName;
|
|
46
|
+
context[CONTEXT_OUTPOST_ID] = outpostId;
|
|
47
|
+
}
|
|
48
|
+
context[CONTEXT_SIGNING_SERVICE] = arn.service;
|
|
49
|
+
context[CONTEXT_SIGNING_REGION] = useArnRegion ? arn.region : signingRegion;
|
|
50
|
+
if (!input.AccountId) {
|
|
51
|
+
input.AccountId = arn.accountId;
|
|
52
|
+
}
|
|
53
|
+
else if (input.AccountId !== arn.accountId) {
|
|
54
|
+
throw new Error("AccountId is incompatible with account id inferred from " + parameter);
|
|
55
|
+
}
|
|
56
|
+
if (useArnRegion)
|
|
57
|
+
context[CONTEXT_ARN_REGION] = arn.region;
|
|
58
|
+
return [2, next(args)];
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}); };
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
export var parseOutpostArnablesMiddleawareOptions = {
|
|
65
|
+
step: "initialize",
|
|
66
|
+
tags: ["CONVERT_ARN", "OUTPOST_BUCKET_ARN", "OUTPOST_ACCESS_POINT_ARN", "OUTPOST"],
|
|
67
|
+
name: "parseOutpostArnablesMiddleaware",
|
|
68
|
+
};
|
|
69
|
+
var validateOutpostsArn = function (arn, _a) {
|
|
70
|
+
var clientRegion = _a.clientRegion, signingRegion = _a.signingRegion, clientPartition = _a.clientPartition, useArnRegion = _a.useArnRegion, useDualstackEndpoint = _a.useDualstackEndpoint;
|
|
71
|
+
var service = arn.service, partition = arn.partition, accountId = arn.accountId, region = arn.region;
|
|
72
|
+
validateOutpostService(service);
|
|
73
|
+
validatePartition(partition, { clientPartition: clientPartition });
|
|
74
|
+
validateAccountId(accountId);
|
|
75
|
+
validateRegion(region, {
|
|
76
|
+
useArnRegion: useArnRegion,
|
|
77
|
+
clientRegion: clientRegion,
|
|
78
|
+
clientSigningRegion: signingRegion,
|
|
79
|
+
});
|
|
80
|
+
validateNoDualstack(useDualstackEndpoint);
|
|
81
|
+
if (!useArnRegion)
|
|
82
|
+
validateNoFIPS(clientRegion);
|
|
83
|
+
};
|
|
84
|
+
var parseOutpostsAccessPointArnResource = function (resource) {
|
|
85
|
+
var _a = getS3AccesspointArnResources(resource), outpostId = _a.outpostId, accesspointName = _a.accesspointName;
|
|
86
|
+
if (!outpostId) {
|
|
87
|
+
throw new Error("ARN resource should begin with 'outpost'");
|
|
88
|
+
}
|
|
89
|
+
return {
|
|
90
|
+
outpostId: outpostId,
|
|
91
|
+
accesspointName: accesspointName,
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
|
+
var parseOutpostBucketArnResource = function (resource) {
|
|
95
|
+
var delimiter = resource.includes(":") ? ":" : "/";
|
|
96
|
+
var _a = __read(resource.split(delimiter)), resourceType = _a[0], rest = _a.slice(1);
|
|
97
|
+
if (resourceType === "outpost") {
|
|
98
|
+
if (!rest[0] || rest[1] !== "bucket" || !rest[2] || rest.length !== 3) {
|
|
99
|
+
throw new Error("Outpost Bucket ARN should have resource outpost" + delimiter + "{outpostId}" + delimiter + "bucket" + delimiter + "{bucketName}");
|
|
100
|
+
}
|
|
101
|
+
var _b = __read(rest, 3), outpostId = _b[0], _1 = _b[1], bucketName = _b[2];
|
|
102
|
+
return { outpostId: outpostId, bucketName: bucketName };
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
throw new Error("ARN resource should begin with 'outpost" + delimiter + "'");
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2Utb3V0cG9zdC1hcm5hYmxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9jZXNzLWFybmFibGVzLXBsdWdpbi9wYXJzZS1vdXRwb3N0LWFybmFibGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsZUFBZSxJQUFJLDRCQUE0QixFQUMvQyxlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixjQUFjLEVBQ2Qsc0JBQXNCLEVBQ3RCLGlCQUFpQixFQUNqQixjQUFjLEdBQ2YsTUFBTSxxQ0FBcUMsQ0FBQztBQUU3QyxPQUFPLEVBQU8sS0FBSyxJQUFJLFFBQVEsRUFBRSxRQUFRLElBQUksV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHM0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLHNCQUFzQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBYXZILE1BQU0sQ0FBQyxJQUFNLCtCQUErQixHQUMxQyxVQUFDLE9BQWdDO0lBQ2pDLE9BQUEsVUFBQyxJQUFJLEVBQUUsT0FBTztRQUNkLE9BQUEsVUFBTyxJQUFJOzs7Ozt3QkFDRCxLQUFLLEdBQUssSUFBSSxNQUFULENBQVU7d0JBRWpCLFNBQVMsR0FDYixLQUFLLENBQUMsSUFBSSxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQzt3QkFDcEgsSUFBSSxDQUFDLFNBQVM7NEJBQUUsV0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUM7d0JBRWIsV0FBTSxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUE7O3dCQUFyQyxZQUFZLEdBQUcsU0FBc0I7d0JB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QUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDckUsTUFBTSxJQUFJLEtBQUssQ0FDYixvREFBa0QsU0FBUyxtQkFBYyxTQUFTLGNBQVMsU0FBUyxpQkFBYyxDQUNuSCxDQUFDO1NBQ0g7UUFDSyxJQUFBLEtBQUEsT0FBNkIsSUFBSSxJQUFBLEVBQWhDLFNBQVMsUUFBQSxFQUFFLEVBQUMsUUFBQSxFQUFFLFVBQVUsUUFBUSxDQUFDO1FBQ3hDLE9BQU8sRUFBRSxTQUFTLFdBQUEsRUFBRSxVQUFVLFlBQUEsRUFBRSxDQUFDO0tBQ2xDO1NBQU07UUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLDRDQUEwQyxTQUFTLE1BQUcsQ0FBQyxDQUFDO0tBQ3pFO0FBQ0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgZ2V0QXJuUmVzb3VyY2VzIGFzIGdldFMzQWNjZXNzcG9pbnRBcm5SZXNvdXJjZXMsXG4gIGdldFBzZXVkb1JlZ2lvbixcbiAgdmFsaWRhdGVBY2NvdW50SWQsXG4gIHZhbGlkYXRlTm9EdWFsc3RhY2ssXG4gIHZhbGlkYXRlTm9GSVBTLFxuICB2YWxpZGF0ZU91dHBvc3RTZXJ2aWNlLFxuICB2YWxpZGF0ZVBhcnRpdGlvbixcbiAgdmFsaWRhdGVSZWdpb24sXG59IGZyb20gXCJAYXdzLXNkay9taWRkbGV3YXJlLWJ1Y2tldC1lbmRwb2ludFwiO1xuaW1wb3J0IHsgSW5pdGlhbGl6ZUhhbmRsZXJPcHRpb25zLCBJbml0aWFsaXplTWlkZGxld2FyZSB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuaW1wb3J0IHsgQVJOLCBwYXJzZSBhcyBwYXJzZUFybiwgdmFsaWRhdGUgYXMgdmFsaWRhdGVBcm4gfSBmcm9tIFwiQGF3cy1zZGsvdXRpbC1hcm4tcGFyc2VyXCI7XG5cbmltcG9ydCB7IFMzQ29udHJvbFJlc29sdmVkQ29uZmlnIH0gZnJvbSBcIi4uL2NvbmZpZ3VyYXRpb25zXCI7XG5pbXBvcnQgeyBDT05URVhUX0FSTl9SRUdJT04sIENPTlRFWFRfT1VUUE9TVF9JRCwgQ09OVEVYVF9TSUdOSU5HX1JFR0lPTiwgQ09OVEVYVF9TSUdOSU5HX1NFUlZJQ0UgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbnR5cGUgQXJuYWJsZUlucHV0ID0ge1xuICBOYW1lPzogc3RyaW5nO1xuICBCdWNrZXQ/OiBzdHJpbmc7XG4gIEFjY291bnRJZD86IHN0cmluZztcbn07XG5cbi8qKlxuICogVmFsaWRhdGUgaW5wdXQgYE5hbWVgIG9yIGBCdWNrZXRgIHBhcmFtZXRlciBpcyBhY2NlcHRhYmxlIEFSTiBmb3JtYXQuIElmIHNvLCBtb2RpZnkgdGhlIGlucHV0IEFSTiB0byBpbmZlcnJlZFxuICogcmVzb3VyY2UgaWRlbnRpZmllciwgbm90aWZ5IGxhdGVyIG1pZGRsZXdhcmUgdG8gcmVkaXJlY3QgcmVxdWVzdCB0byBPdXRwb3N0IGVuZHBvaW50LCBzaWduaW5nIHNlcnZpY2UgYW5kIHNpZ25pbmdcbiAqIHJlZ2lvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IHBhcnNlT3V0cG9zdEFybmFibGVzTWlkZGxlYXdhcmUgPVxuICAob3B0aW9uczogUzNDb250cm9sUmVzb2x2ZWRDb25maWcpOiBJbml0aWFsaXplTWlkZGxld2FyZTxBcm5hYmxlSW5wdXQsIGFueT4gPT5cbiAgKG5leHQsIGNvbnRleHQpID0+XG4gIGFzeW5jIChhcmdzKSA9PiB7XG4gICAgY29uc3QgeyBpbnB1dCB9ID0gYXJncztcblxuICAgIGNvbnN0IHBhcmFtZXRlcjogXCJOYW1lXCIgfCBcIkJ1Y2tldFwiIHwgdW5kZWZpbmVkID1cbiAgICAgIGlucHV0Lk5hbWUgJiYgdmFsaWRhdGVBcm4oaW5wdXQuTmFtZSkgPyBcIk5hbWVcIiA6IGlucHV0LkJ1Y2tldCAmJiB2YWxpZGF0ZUFybihpbnB1dC5CdWNrZXQpID8gXCJCdWNrZXRcIiA6IHVuZGVmaW5lZDtcbiAgICBpZiAoIXBhcmFtZXRlcikgcmV0dXJuIG5leHQoYXJncyk7XG5cbiAgICBjb25zdCBjbGllbnRSZWdpb24gPSBhd2FpdCBvcHRpb25zLnJlZ2lvbigpO1xuICAgIGNvbnN0IHsgcmVnaW9uSW5mb1Byb3ZpZGVyIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IHVzZUFyblJlZ2lvbiA9IGF3YWl0IG9wdGlvbnMudXNlQXJuUmVnaW9uKCk7XG4gICAgY29uc3QgYmFzZVJlZ2lvbiA9IGdldFBzZXVkb1JlZ2lvbihjbGllbnRSZWdpb24pO1xuICAgIGNvbnN0IHsgcGFydGl0aW9uOiBjbGllbnRQYXJ0aXRpb24sIHNpZ25pbmdSZWdpb24gPSBiYXNlUmVnaW9uIH0gPSAoYXdhaXQgcmVnaW9uSW5mb1Byb3ZpZGVyKGJhc2VSZWdpb24pKSE7XG4gICAgY29uc3QgdmFsaWRhdG9yT3B0aW9uczogVmFsaWRhdGVPdXRwb3N0c0Fybk9wdGlvbnMgPSB7XG4gICAgICB1c2VEdWFsc3RhY2tFbmRwb2ludDogb3B0aW9ucy51c2VEdWFsc3RhY2tFbmRwb2ludCxcbiAgICAgIGNsaWVudFJlZ2lvbixcbiAgICAgIGNsaWVudFBhcnRpdGlvbixcbiAgICAgIHNpZ25pbmdSZWdpb24sXG4gICAgICB1c2VBcm5SZWdpb24sXG4gICAgfTtcbiAgICBsZXQgYXJuOiBBUk47XG4gICAgaWYgKHBhcmFtZXRlciA9PT0gXCJOYW1lXCIpIHtcbiAgICAgIGFybiA9IHBhcnNlQXJuKGlucHV0Lk5hbWUhKTtcbiAgICAgIHZhbGlkYXRlT3V0cG9zdHNBcm4oYXJuLCB2YWxpZGF0b3JPcHRpb25zKTtcbiAgICAgIGNvbnN0IHsgb3V0cG9zdElkLCBhY2Nlc3Nwb2ludE5hbWUgfSA9IHBhcnNlT3V0cG9zdHNBY2Nlc3NQb2ludEFyblJlc291cmNlKGFybi5yZXNvdXJjZSk7XG4gICAgICBpbnB1dC5OYW1lID0gYWNjZXNzcG9pbnROYW1lO1xuICAgICAgY29udGV4dFtDT05URVhUX09VVFBPU1RfSURdID0gb3V0cG9zdElkO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcm4gPSBwYXJzZUFybihpbnB1dC5CdWNrZXQhKTtcbiAgICAgIHZhbGlkYXRlT3V0cG9zdHNBcm4oYXJuLCB2YWxpZGF0b3JPcHRpb25zKTtcbiAgICAgIGNvbnN0IHsgb3V0cG9zdElkLCBidWNrZXROYW1lIH0gPSBwYXJzZU91dHBvc3RCdWNrZXRBcm5SZXNvdXJjZShhcm4ucmVzb3VyY2UpO1xuICAgICAgaW5wdXQuQnVja2V0ID0gYnVja2V0TmFtZTtcbiAgICAgIGNvbnRleHRbQ09OVEVYVF9PVVRQT1NUX0lEXSA9IG91dHBvc3RJZDtcbiAgICB9XG4gICAgY29udGV4dFtDT05URVhUX1NJR05JTkdfU0VSVklDRV0gPSBhcm4uc2VydmljZTsgLy8gczMtb3V0cG9zdHNcbiAgICBjb250ZXh0W0NPTlRFWFRfU0lHTklOR19SRUdJT05dID0gdXNlQXJuUmVnaW9uID8gYXJuLnJlZ2lvbiA6IHNpZ25pbmdSZWdpb247XG5cbiAgICBpZiAoIWlucHV0LkFjY291bnRJZCkge1xuICAgICAgaW5wdXQuQWNjb3VudElkID0gYXJuLmFjY291bnRJZDtcbiAgICB9IGVsc2UgaWYgKGlucHV0LkFjY291bnRJZCAhPT0gYXJuLmFjY291bnRJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBBY2NvdW50SWQgaXMgaW5jb21wYXRpYmxlIHdpdGggYWNjb3VudCBpZCBpbmZlcnJlZCBmcm9tICR7cGFyYW1ldGVyfWApO1xuICAgIH1cblxuICAgIGlmICh1c2VBcm5SZWdpb24pIGNvbnRleHRbQ09OVEVYVF9BUk5fUkVHSU9OXSA9IGFybi5yZWdpb247XG5cbiAgICByZXR1cm4gbmV4dChhcmdzKTtcbiAgfTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlT3V0cG9zdEFybmFibGVzTWlkZGxlYXdhcmVPcHRpb25zOiBJbml0aWFsaXplSGFuZGxlck9wdGlvbnMgPSB7XG4gIHN0ZXA6IFwiaW5pdGlhbGl6ZVwiLFxuICB0YWdzOiBbXCJDT05WRVJUX0FSTlwiLCBcIk9VVFBPU1RfQlVDS0VUX0FSTlwiLCBcIk9VVFBPU1RfQUNDRVNTX1BPSU5UX0FSTlwiLCBcIk9VVFBPU1RcIl0sXG4gIG5hbWU6IFwicGFyc2VPdXRwb3N0QXJuYWJsZXNNaWRkbGVhd2FyZVwiLFxufTtcblxudHlwZSBWYWxpZGF0ZU91dHBvc3RzQXJuT3B0aW9ucyA9IHtcbiAgY2xpZW50UmVnaW9uOiBzdHJpbmc7XG4gIHNpZ25pbmdSZWdpb246IHN0cmluZztcbiAgY2xpZW50UGFydGl0aW9uOiBzdHJpbmc7XG4gIHVzZUFyblJlZ2lvbjogYm9vbGVhbjtcbiAgdXNlRHVhbHN0YWNrRW5kcG9pbnQ6IGJvb2xlYW47XG59O1xuXG4vKipcbiAqIHZhbGlkYXRlIEFSTiB3aXRoICdzMy1vdXRwb3N0cycgaW4gdGhlIHNlcnZpY2Ugc2VjdGlvbiBvZiB0aGUgQVJOOlxuICogQVJOIHN1cHBsaWVkIHRvICdOYW1lJyBwYXJhbWV0ZXIgc2hvdWxkIGNvbXBseSB0ZW1wbGF0ZTpcbiAqICAgIGFybjp7cGFydGl0aW9ufTpzMy1vdXRwb3N0czp7cmVnaW9ufTp7YWNjb3VudElkfTpvdXRwb3N0L3tvdXRwb3N0SWR9L2FjY2Vzc3BvaW50L3thY2Nlc3Nwb2ludE5hbWV9XG4gKiBBUk4gc3VwcGxpZWQgdG8gJ0J1Y2tldCcgcGFyYW1ldGVyIHNob3VsZCBjb21wbHkgdGVtcGxhdGU6XG4gKiAgICBhcm46e3BhcnRpdGlvbn06czMtb3V0cG9zdHM6e3JlZ2lvbn06e2FjY291bnRJZH06b3V0cG9zdC97b3V0cG9zdElkfS9idWNrZXQve2J1Y2tldE5hbWV9XG4gKi9cbmNvbnN0IHZhbGlkYXRlT3V0cG9zdHNBcm4gPSAoXG4gIGFybjogQVJOLFxuICB7IGNsaWVudFJlZ2lvbiwgc2lnbmluZ1JlZ2lvbiwgY2xpZW50UGFydGl0aW9uLCB1c2VBcm5SZWdpb24sIHVzZUR1YWxzdGFja0VuZHBvaW50IH06IFZhbGlkYXRlT3V0cG9zdHNBcm5PcHRpb25zXG4pID0+IHtcbiAgY29uc3QgeyBzZXJ2aWNlLCBwYXJ0aXRpb24sIGFjY291bnRJZCwgcmVnaW9uIH0gPSBhcm47XG4gIHZhbGlkYXRlT3V0cG9zdFNlcnZpY2Uoc2VydmljZSk7XG4gIHZhbGlkYXRlUGFydGl0aW9uKHBhcnRpdGlvbiwgeyBjbGllbnRQYXJ0aXRpb24gfSk7XG4gIHZhbGlkYXRlQWNjb3VudElkKGFjY291bnRJZCk7XG4gIHZhbGlkYXRlUmVnaW9uKHJlZ2lvbiwge1xuICAgIHVzZUFyblJlZ2lvbixcbiAgICBjbGllbnRSZWdpb24sXG4gICAgY2xpZW50U2lnbmluZ1JlZ2lvbjogc2lnbmluZ1JlZ2lvbixcbiAgfSk7XG4gIHZhbGlkYXRlTm9EdWFsc3RhY2sodXNlRHVhbHN0YWNrRW5kcG9pbnQpO1xuICBpZiAoIXVzZUFyblJlZ2lvbikgdmFsaWRhdGVOb0ZJUFMoY2xpZW50UmVnaW9uKTtcbn07XG5cbmNvbnN0IHBhcnNlT3V0cG9zdHNBY2Nlc3NQb2ludEFyblJlc291cmNlID0gKFxuICByZXNvdXJjZTogc3RyaW5nXG4pOiB7XG4gIG91dHBvc3RJZDogc3RyaW5nO1xuICBhY2Nlc3Nwb2ludE5hbWU6IHN0cmluZztcbn0gPT4ge1xuICBjb25zdCB7IG91dHBvc3RJZCwgYWNjZXNzcG9pbnROYW1lIH0gPSBnZXRTM0FjY2Vzc3BvaW50QXJuUmVzb3VyY2VzKHJlc291cmNlKTtcbiAgaWYgKCFvdXRwb3N0SWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJBUk4gcmVzb3VyY2Ugc2hvdWxkIGJlZ2luIHdpdGggJ291dHBvc3QnXCIpO1xuICB9XG4gIHJldHVybiB7XG4gICAgb3V0cG9zdElkLFxuICAgIGFjY2Vzc3BvaW50TmFtZSxcbiAgfTtcbn07XG5cbmNvbnN0IHBhcnNlT3V0cG9zdEJ1Y2tldEFyblJlc291cmNlID0gKFxuICByZXNvdXJjZTogc3RyaW5nXG4pOiB7XG4gIG91dHBvc3RJZDogc3RyaW5nO1xuICBidWNrZXROYW1lOiBzdHJpbmc7XG59ID0+IHtcbiAgY29uc3QgZGVsaW1pdGVyID0gcmVzb3VyY2UuaW5jbHVkZXMoXCI6XCIpID8gXCI6XCIgOiBcIi9cIjtcbiAgY29uc3QgW3Jlc291cmNlVHlwZSwgLi4ucmVzdF0gPSByZXNvdXJjZS5zcGxpdChkZWxpbWl0ZXIpO1xuICBpZiAocmVzb3VyY2VUeXBlID09PSBcIm91dHBvc3RcIikge1xuICAgIC8vIFBhcnNlIG91dHBvc3QgQVJOXG4gICAgaWYgKCFyZXN0WzBdIHx8IHJlc3RbMV0gIT09IFwiYnVja2V0XCIgfHwgIXJlc3RbMl0gfHwgcmVzdC5sZW5ndGggIT09IDMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYE91dHBvc3QgQnVja2V0IEFSTiBzaG91bGQgaGF2ZSByZXNvdXJjZSBvdXRwb3N0JHtkZWxpbWl0ZXJ9e291dHBvc3RJZH0ke2RlbGltaXRlcn1idWNrZXQke2RlbGltaXRlcn17YnVja2V0TmFtZX1gXG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCBbb3V0cG9zdElkLCBfLCBidWNrZXROYW1lXSA9IHJlc3Q7XG4gICAgcmV0dXJuIHsgb3V0cG9zdElkLCBidWNrZXROYW1lIH07XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBBUk4gcmVzb3VyY2Ugc2hvdWxkIGJlZ2luIHdpdGggJ291dHBvc3Qke2RlbGltaXRlcn0nYCk7XG4gIH1cbn07XG4iXX0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { parseOutpostArnablesMiddleaware, parseOutpostArnablesMiddleawareOptions } from "./parse-outpost-arnables";
|
|
2
|
+
import { updateArnablesRequestMiddleware, updateArnablesRequestMiddlewareOptions } from "./update-arnables-request";
|
|
3
|
+
export var getProcessArnablesPlugin = function (options) { return ({
|
|
4
|
+
applyToStack: function (clientStack) {
|
|
5
|
+
clientStack.add(parseOutpostArnablesMiddleaware(options), parseOutpostArnablesMiddleawareOptions);
|
|
6
|
+
clientStack.add(updateArnablesRequestMiddleware(options), updateArnablesRequestMiddlewareOptions);
|
|
7
|
+
},
|
|
8
|
+
}); };
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb2Nlc3MtYXJuYWJsZXMtcGx1Z2luL3BsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuSCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVwSCxNQUFNLENBQUMsSUFBTSx3QkFBd0IsR0FBRyxVQUFDLE9BQWdDLElBQTBCLE9BQUEsQ0FBQztJQUNsRyxZQUFZLEVBQUUsVUFBQyxXQUFXO1FBQ3hCLFdBQVcsQ0FBQyxHQUFHLENBQUMsK0JBQStCLENBQUMsT0FBTyxDQUFDLEVBQUUsc0NBQXNDLENBQUMsQ0FBQztRQUNsRyxXQUFXLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFDLE9BQU8sQ0FBQyxFQUFFLHNDQUFzQyxDQUFDLENBQUM7SUFDcEcsQ0FBQztDQUNGLENBQUMsRUFMaUcsQ0FLakcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsdWdnYWJsZSB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5pbXBvcnQgeyBTM0NvbnRyb2xSZXNvbHZlZENvbmZpZyB9IGZyb20gXCIuLi9jb25maWd1cmF0aW9uc1wiO1xuaW1wb3J0IHsgcGFyc2VPdXRwb3N0QXJuYWJsZXNNaWRkbGVhd2FyZSwgcGFyc2VPdXRwb3N0QXJuYWJsZXNNaWRkbGVhd2FyZU9wdGlvbnMgfSBmcm9tIFwiLi9wYXJzZS1vdXRwb3N0LWFybmFibGVzXCI7XG5pbXBvcnQgeyB1cGRhdGVBcm5hYmxlc1JlcXVlc3RNaWRkbGV3YXJlLCB1cGRhdGVBcm5hYmxlc1JlcXVlc3RNaWRkbGV3YXJlT3B0aW9ucyB9IGZyb20gXCIuL3VwZGF0ZS1hcm5hYmxlcy1yZXF1ZXN0XCI7XG5cbmV4cG9ydCBjb25zdCBnZXRQcm9jZXNzQXJuYWJsZXNQbHVnaW4gPSAob3B0aW9uczogUzNDb250cm9sUmVzb2x2ZWRDb25maWcpOiBQbHVnZ2FibGU8YW55LCBhbnk+ID0+ICh7XG4gIGFwcGx5VG9TdGFjazogKGNsaWVudFN0YWNrKSA9PiB7XG4gICAgY2xpZW50U3RhY2suYWRkKHBhcnNlT3V0cG9zdEFybmFibGVzTWlkZGxlYXdhcmUob3B0aW9ucyksIHBhcnNlT3V0cG9zdEFybmFibGVzTWlkZGxlYXdhcmVPcHRpb25zKTtcbiAgICBjbGllbnRTdGFjay5hZGQodXBkYXRlQXJuYWJsZXNSZXF1ZXN0TWlkZGxld2FyZShvcHRpb25zKSwgdXBkYXRlQXJuYWJsZXNSZXF1ZXN0TWlkZGxld2FyZU9wdGlvbnMpO1xuICB9LFxufSk7XG4iXX0=
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { __read } from "tslib";
|
|
2
|
+
import { HttpRequest } from "@aws-sdk/protocol-http";
|
|
3
|
+
import { CONTEXT_ACCOUNT_ID, CONTEXT_ARN_REGION, CONTEXT_OUTPOST_ID } from "../constants";
|
|
4
|
+
var ACCOUNT_ID_HEADER = "x-amz-account-id";
|
|
5
|
+
var OUTPOST_ID_HEADER = "x-amz-outpost-id";
|
|
6
|
+
var REGEX_S3CONTROL_HOSTNAME = /^(.+\.)?s3-control[.-]([a-z0-9-]+)\./;
|
|
7
|
+
export var updateArnablesRequestMiddleware = function (_a) {
|
|
8
|
+
var isCustomEndpoint = _a.isCustomEndpoint;
|
|
9
|
+
return function (next, context) {
|
|
10
|
+
return function (args) {
|
|
11
|
+
var request = args.request;
|
|
12
|
+
if (!HttpRequest.isInstance(request))
|
|
13
|
+
return next(args);
|
|
14
|
+
if (context[CONTEXT_ACCOUNT_ID])
|
|
15
|
+
request.headers[ACCOUNT_ID_HEADER] = context[CONTEXT_ACCOUNT_ID];
|
|
16
|
+
if (context[CONTEXT_OUTPOST_ID]) {
|
|
17
|
+
request.headers[OUTPOST_ID_HEADER] = context[CONTEXT_OUTPOST_ID];
|
|
18
|
+
request.hostname = getOutpostEndpoint(request.hostname, {
|
|
19
|
+
isCustomEndpoint: isCustomEndpoint,
|
|
20
|
+
regionOverride: context[CONTEXT_ARN_REGION],
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
return next(args);
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
export var getOutpostEndpoint = function (hostname, _a) {
|
|
28
|
+
var _b = _a === void 0 ? {} : _a, isCustomEndpoint = _b.isCustomEndpoint, regionOverride = _b.regionOverride;
|
|
29
|
+
var _c = __read(hostname.match(REGEX_S3CONTROL_HOSTNAME), 3), matched = _c[0], prefix = _c[1], region = _c[2];
|
|
30
|
+
return isCustomEndpoint
|
|
31
|
+
? hostname
|
|
32
|
+
: ["s3-outposts", regionOverride || region, hostname.replace(new RegExp("^" + matched), "")]
|
|
33
|
+
.filter(function (part) { return part !== undefined; })
|
|
34
|
+
.join(".");
|
|
35
|
+
};
|
|
36
|
+
export var updateArnablesRequestMiddlewareOptions = {
|
|
37
|
+
step: "build",
|
|
38
|
+
name: "updateArnablesRequestMiddleware",
|
|
39
|
+
tags: ["ACCOUNT_ID", "OUTPOST_ID", "OUTPOST"],
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWFybmFibGVzLXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvY2Vzcy1hcm5hYmxlcy1wbHVnaW4vdXBkYXRlLWFybmFibGVzLXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUlyRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFMUYsSUFBTSxpQkFBaUIsR0FBRyxrQkFBa0IsQ0FBQztBQUM3QyxJQUFNLGlCQUFpQixHQUFHLGtCQUFrQixDQUFDO0FBQzdDLElBQU0sd0JBQXdCLEdBQUcsc0NBQXNDLENBQUM7QUFNeEUsTUFBTSxDQUFDLElBQU0sK0JBQStCLEdBQzFDLFVBQUMsRUFBbUQ7UUFBakQsZ0JBQWdCLHNCQUFBO0lBQ25CLE9BQUEsVUFBQyxJQUFJLEVBQUUsT0FBTztRQUNkLE9BQUEsVUFBQyxJQUFJO1lBQ0ssSUFBQSxPQUFPLEdBQUssSUFBSSxRQUFULENBQVU7WUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO2dCQUFFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3hELElBQUksT0FBTyxDQUFDLGtCQUFrQixDQUFDO2dCQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUNsRyxJQUFJLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO2dCQUMvQixPQUFPLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7Z0JBQ2pFLE9BQU8sQ0FBQyxRQUFRLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtvQkFDdEQsZ0JBQWdCLGtCQUFBO29CQUNoQixjQUFjLEVBQUUsT0FBTyxDQUFDLGtCQUFrQixDQUFDO2lCQUM1QyxDQUFDLENBQUM7YUFDSjtZQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLENBQUM7SUFaRCxDQVlDO0FBYkQsQ0FhQyxDQUFDO0FBRUosTUFBTSxDQUFDLElBQU0sa0JBQWtCLEdBQUcsVUFDaEMsUUFBZ0IsRUFDaEIsRUFBa0c7UUFBbEcscUJBQWdHLEVBQUUsS0FBQSxFQUFoRyxnQkFBZ0Isc0JBQUEsRUFBRSxjQUFjLG9CQUFBO0lBRTVCLElBQUEsS0FBQSxPQUE0QixRQUFRLENBQUMsS0FBSyxDQUFDLHdCQUF3QixDQUFFLElBQUEsRUFBcEUsT0FBTyxRQUFBLEVBQUUsTUFBTSxRQUFBLEVBQUUsTUFBTSxRQUE2QyxDQUFDO0lBRTVFLE9BQU8sZ0JBQWdCO1FBQ3JCLENBQUMsQ0FBQyxRQUFRO1FBQ1YsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLGNBQWMsSUFBSSxNQUFNLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFJLE9BQVMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2FBQ3ZGLE1BQU0sQ0FBQyxVQUFDLElBQUksSUFBSyxPQUFBLElBQUksS0FBSyxTQUFTLEVBQWxCLENBQWtCLENBQUM7YUFDcEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFNLHNDQUFzQyxHQUF3QjtJQUN6RSxJQUFJLEVBQUUsT0FBTztJQUNiLElBQUksRUFBRSxpQ0FBaUM7SUFDdkMsSUFBSSxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxTQUFTLENBQUM7Q0FDOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBSZXF1ZXN0IH0gZnJvbSBcIkBhd3Mtc2RrL3Byb3RvY29sLWh0dHBcIjtcbmltcG9ydCB7IEJ1aWxkSGFuZGxlck9wdGlvbnMsIEJ1aWxkTWlkZGxld2FyZSB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5pbXBvcnQgeyBTM0NvbnRyb2xSZXNvbHZlZENvbmZpZyB9IGZyb20gXCIuLi9jb25maWd1cmF0aW9uc1wiO1xuaW1wb3J0IHsgQ09OVEVYVF9BQ0NPVU5UX0lELCBDT05URVhUX0FSTl9SRUdJT04sIENPTlRFWFRfT1VUUE9TVF9JRCB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcblxuY29uc3QgQUNDT1VOVF9JRF9IRUFERVIgPSBcIngtYW16LWFjY291bnQtaWRcIjtcbmNvbnN0IE9VVFBPU1RfSURfSEVBREVSID0gXCJ4LWFtei1vdXRwb3N0LWlkXCI7XG5jb25zdCBSRUdFWF9TM0NPTlRST0xfSE9TVE5BTUUgPSAvXiguK1xcLik/czMtY29udHJvbFsuLV0oW2EtejAtOS1dKylcXC4vO1xuXG4vKipcbiAqIEFmdGVyIG91dHBvc3QgcmVxdWVzdCBpcyBjb25zdHJ1Y3RlZCwgcmVkaXJlY3QgcmVxdWVzdCB0byBvdXRwb3N0IGVuZHBvaW50IGFuZCBzZXQgYHgtYW16LWFjY291bnQtaWRgIGFuZFxuICogYHgtYW16LW91dHBvc3QtaWRgIGhlYWRlcnMuXG4gKi9cbmV4cG9ydCBjb25zdCB1cGRhdGVBcm5hYmxlc1JlcXVlc3RNaWRkbGV3YXJlID1cbiAgKHsgaXNDdXN0b21FbmRwb2ludCB9OiB7IGlzQ3VzdG9tRW5kcG9pbnQ6IGJvb2xlYW4gfSk6IEJ1aWxkTWlkZGxld2FyZTxhbnksIGFueT4gPT5cbiAgKG5leHQsIGNvbnRleHQpID0+XG4gIChhcmdzKSA9PiB7XG4gICAgY29uc3QgeyByZXF1ZXN0IH0gPSBhcmdzO1xuICAgIGlmICghSHR0cFJlcXVlc3QuaXNJbnN0YW5jZShyZXF1ZXN0KSkgcmV0dXJuIG5leHQoYXJncyk7XG4gICAgaWYgKGNvbnRleHRbQ09OVEVYVF9BQ0NPVU5UX0lEXSkgcmVxdWVzdC5oZWFkZXJzW0FDQ09VTlRfSURfSEVBREVSXSA9IGNvbnRleHRbQ09OVEVYVF9BQ0NPVU5UX0lEXTtcbiAgICBpZiAoY29udGV4dFtDT05URVhUX09VVFBPU1RfSURdKSB7XG4gICAgICByZXF1ZXN0LmhlYWRlcnNbT1VUUE9TVF9JRF9IRUFERVJdID0gY29udGV4dFtDT05URVhUX09VVFBPU1RfSURdO1xuICAgICAgcmVxdWVzdC5ob3N0bmFtZSA9IGdldE91dHBvc3RFbmRwb2ludChyZXF1ZXN0Lmhvc3RuYW1lLCB7XG4gICAgICAgIGlzQ3VzdG9tRW5kcG9pbnQsXG4gICAgICAgIHJlZ2lvbk92ZXJyaWRlOiBjb250ZXh0W0NPTlRFWFRfQVJOX1JFR0lPTl0sXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIG5leHQoYXJncyk7XG4gIH07XG5cbmV4cG9ydCBjb25zdCBnZXRPdXRwb3N0RW5kcG9pbnQgPSAoXG4gIGhvc3RuYW1lOiBzdHJpbmcsXG4gIHsgaXNDdXN0b21FbmRwb2ludCwgcmVnaW9uT3ZlcnJpZGUgfTogeyBpc0N1c3RvbUVuZHBvaW50PzogYm9vbGVhbjsgcmVnaW9uT3ZlcnJpZGU/OiBzdHJpbmcgfSA9IHt9XG4pOiBzdHJpbmcgPT4ge1xuICBjb25zdCBbbWF0Y2hlZCwgcHJlZml4LCByZWdpb25dID0gaG9zdG5hbWUubWF0Y2goUkVHRVhfUzNDT05UUk9MX0hPU1ROQU1FKSE7XG4gIC8vIGhvc3RuYW1lIHByZWZpeCB3aWxsIGJlIGlnbm9yZWQgZXZlbiBpZiBwcmVzZW50c1xuICByZXR1cm4gaXNDdXN0b21FbmRwb2ludFxuICAgID8gaG9zdG5hbWVcbiAgICA6IFtcInMzLW91dHBvc3RzXCIsIHJlZ2lvbk92ZXJyaWRlIHx8IHJlZ2lvbiwgaG9zdG5hbWUucmVwbGFjZShuZXcgUmVnRXhwKGBeJHttYXRjaGVkfWApLCBcIlwiKV1cbiAgICAgICAgLmZpbHRlcigocGFydCkgPT4gcGFydCAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAuam9pbihcIi5cIik7XG59O1xuXG5leHBvcnQgY29uc3QgdXBkYXRlQXJuYWJsZXNSZXF1ZXN0TWlkZGxld2FyZU9wdGlvbnM6IEJ1aWxkSGFuZGxlck9wdGlvbnMgPSB7XG4gIHN0ZXA6IFwiYnVpbGRcIixcbiAgbmFtZTogXCJ1cGRhdGVBcm5hYmxlc1JlcXVlc3RNaWRkbGV3YXJlXCIsXG4gIHRhZ3M6IFtcIkFDQ09VTlRfSURcIiwgXCJPVVRQT1NUX0lEXCIsIFwiT1VUUE9TVFwiXSxcbn07XG4iXX0=
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { HttpRequest } from "@aws-sdk/protocol-http";
|
|
2
|
+
import { CONTEXT_SIGNING_SERVICE } from "./constants";
|
|
3
|
+
import { getOutpostEndpoint } from "./process-arnables-plugin";
|
|
4
|
+
export var redirectFromPostIdMiddleware = function (_a) {
|
|
5
|
+
var isCustomEndpoint = _a.isCustomEndpoint;
|
|
6
|
+
return function (next, context) {
|
|
7
|
+
return function (args) {
|
|
8
|
+
var input = args.input, request = args.request;
|
|
9
|
+
if (!HttpRequest.isInstance(request))
|
|
10
|
+
return next(args);
|
|
11
|
+
if (input.OutpostId) {
|
|
12
|
+
request.hostname = getOutpostEndpoint(request.hostname, { isCustomEndpoint: isCustomEndpoint });
|
|
13
|
+
context[CONTEXT_SIGNING_SERVICE] = "s3-outposts";
|
|
14
|
+
}
|
|
15
|
+
return next(args);
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
export var redirectFromPostIdMiddlewareOptions = {
|
|
20
|
+
step: "build",
|
|
21
|
+
name: "redirectFromPostIdMiddleware",
|
|
22
|
+
tags: ["OUTPOST"],
|
|
23
|
+
override: true,
|
|
24
|
+
};
|
|
25
|
+
export var getRedirectFromPostIdPlugin = function (options) { return ({
|
|
26
|
+
applyToStack: function (clientStack) {
|
|
27
|
+
clientStack.add(redirectFromPostIdMiddleware(options), redirectFromPostIdMiddlewareOptions);
|
|
28
|
+
},
|
|
29
|
+
}); };
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkaXJlY3QtZnJvbS1wb3N0aWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcmVkaXJlY3QtZnJvbS1wb3N0aWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSXJELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQVUvRCxNQUFNLENBQUMsSUFBTSw0QkFBNEIsR0FDdkMsVUFBQyxFQUFtRDtRQUFqRCxnQkFBZ0Isc0JBQUE7SUFDbkIsT0FBQSxVQUFDLElBQUksRUFBRSxPQUFPO1FBQ2QsT0FBQSxVQUFDLElBQUk7WUFDSyxJQUFBLEtBQUssR0FBYyxJQUFJLE1BQWxCLEVBQUUsT0FBTyxHQUFLLElBQUksUUFBVCxDQUFVO1lBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztnQkFBRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4RCxJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUU7Z0JBQ25CLE9BQU8sQ0FBQyxRQUFRLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLGdCQUFnQixrQkFBQSxFQUFFLENBQUMsQ0FBQztnQkFDOUUsT0FBTyxDQUFDLHVCQUF1QixDQUFDLEdBQUcsYUFBYSxDQUFDO2FBQ2xEO1lBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsQ0FBQztJQVJELENBUUM7QUFURCxDQVNDLENBQUM7QUFFSixNQUFNLENBQUMsSUFBTSxtQ0FBbUMsR0FBd0I7SUFDdEUsSUFBSSxFQUFFLE9BQU87SUFDYixJQUFJLEVBQUUsOEJBQThCO0lBQ3BDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQztJQUNqQixRQUFRLEVBQUUsSUFBSTtDQUNmLENBQUM7QUFFRixNQUFNLENBQUMsSUFBTSwyQkFBMkIsR0FBRyxVQUFDLE9BQWdDLElBQTBCLE9BQUEsQ0FBQztJQUNyRyxZQUFZLEVBQUUsVUFBQyxXQUFXO1FBQ3hCLFdBQVcsQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsT0FBTyxDQUFDLEVBQUUsbUNBQW1DLENBQUMsQ0FBQztJQUM5RixDQUFDO0NBQ0YsQ0FBQyxFQUpvRyxDQUlwRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFJlcXVlc3QgfSBmcm9tIFwiQGF3cy1zZGsvcHJvdG9jb2wtaHR0cFwiO1xuaW1wb3J0IHsgQnVpbGRIYW5kbGVyT3B0aW9ucywgQnVpbGRNaWRkbGV3YXJlLCBQbHVnZ2FibGUgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuaW1wb3J0IHsgUzNDb250cm9sUmVzb2x2ZWRDb25maWcgfSBmcm9tIFwiLi9jb25maWd1cmF0aW9uc1wiO1xuaW1wb3J0IHsgQ09OVEVYVF9TSUdOSU5HX1NFUlZJQ0UgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGdldE91dHBvc3RFbmRwb2ludCB9IGZyb20gXCIuL3Byb2Nlc3MtYXJuYWJsZXMtcGx1Z2luXCI7XG5cbnR5cGUgSW5wdXRUeXBlID0ge1xuICBPdXRwb3N0SWQ/OiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIElmIE91dHBvc3RJZCBpcyBzZXQsIHJlZGlyZWN0IGhvc3RuYW1lIHRvIE91dHBvc3Qgb25lLCBhbmQgY2hhbmdlIHNpZ25pbmcgc2VydmljZSB0byBgczMtb3V0cG9zdHNgLlxuICogQXBwbGllZCB0byBTM0NvbnRyb2wuQ3JlYXRlQnVja2V0IGFuZCBTM0NvbnRyb2wuTGlzdFJlZ2lvbmFsQnVja2V0c1xuICovXG5leHBvcnQgY29uc3QgcmVkaXJlY3RGcm9tUG9zdElkTWlkZGxld2FyZSA9XG4gICh7IGlzQ3VzdG9tRW5kcG9pbnQgfTogeyBpc0N1c3RvbUVuZHBvaW50OiBib29sZWFuIH0pOiBCdWlsZE1pZGRsZXdhcmU8SW5wdXRUeXBlLCBhbnk+ID0+XG4gIChuZXh0LCBjb250ZXh0KSA9PlxuICAoYXJncykgPT4ge1xuICAgIGNvbnN0IHsgaW5wdXQsIHJlcXVlc3QgfSA9IGFyZ3M7XG4gICAgaWYgKCFIdHRwUmVxdWVzdC5pc0luc3RhbmNlKHJlcXVlc3QpKSByZXR1cm4gbmV4dChhcmdzKTtcbiAgICBpZiAoaW5wdXQuT3V0cG9zdElkKSB7XG4gICAgICByZXF1ZXN0Lmhvc3RuYW1lID0gZ2V0T3V0cG9zdEVuZHBvaW50KHJlcXVlc3QuaG9zdG5hbWUsIHsgaXNDdXN0b21FbmRwb2ludCB9KTtcbiAgICAgIGNvbnRleHRbQ09OVEVYVF9TSUdOSU5HX1NFUlZJQ0VdID0gXCJzMy1vdXRwb3N0c1wiO1xuICAgIH1cbiAgICByZXR1cm4gbmV4dChhcmdzKTtcbiAgfTtcblxuZXhwb3J0IGNvbnN0IHJlZGlyZWN0RnJvbVBvc3RJZE1pZGRsZXdhcmVPcHRpb25zOiBCdWlsZEhhbmRsZXJPcHRpb25zID0ge1xuICBzdGVwOiBcImJ1aWxkXCIsXG4gIG5hbWU6IFwicmVkaXJlY3RGcm9tUG9zdElkTWlkZGxld2FyZVwiLFxuICB0YWdzOiBbXCJPVVRQT1NUXCJdLFxuICBvdmVycmlkZTogdHJ1ZSxcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRSZWRpcmVjdEZyb21Qb3N0SWRQbHVnaW4gPSAob3B0aW9uczogUzNDb250cm9sUmVzb2x2ZWRDb25maWcpOiBQbHVnZ2FibGU8YW55LCBhbnk+ID0+ICh7XG4gIGFwcGx5VG9TdGFjazogKGNsaWVudFN0YWNrKSA9PiB7XG4gICAgY2xpZW50U3RhY2suYWRkKHJlZGlyZWN0RnJvbVBvc3RJZE1pZGRsZXdhcmUob3B0aW9ucyksIHJlZGlyZWN0RnJvbVBvc3RJZE1pZGRsZXdhcmVPcHRpb25zKTtcbiAgfSxcbn0pO1xuIl19
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|