@digipair/skill-s3 0.136.1 → 0.136.4

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.
@@ -1,147 +1,1048 @@
1
- import { h as fromUtf8, t as toUtf8 } from './index.esm3.js';
2
- import 'buffer';
1
+ import { parse } from 'url';
2
+ import { Buffer } from 'buffer';
3
+ import { request } from 'http';
4
+ import { P as ProviderError, C as CredentialsProviderError, p as parseUrl, l as loadConfig } from './index.esm2.js';
3
5
  import 'path';
4
6
  import 'os';
5
7
  import 'node:fs/promises';
6
8
  import 'stream';
7
9
  import 'crypto';
8
10
  import 'node:stream';
9
- import 'http';
10
11
  import 'https';
11
12
  import 'process';
12
13
  import 'node:fs';
13
14
  import 'zlib';
14
15
 
15
- function _array_like_to_array(arr, len) {
16
- if (len == null || len > arr.length) len = arr.length;
17
- for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
18
- return arr2;
16
+ function _define_property$5(obj, key, value) {
17
+ if (key in obj) {
18
+ Object.defineProperty(obj, key, {
19
+ value: value,
20
+ enumerable: true,
21
+ configurable: true,
22
+ writable: true
23
+ });
24
+ } else {
25
+ obj[key] = value;
26
+ }
27
+ return obj;
28
+ }
29
+ function _object_spread$4(target) {
30
+ for(var i = 1; i < arguments.length; i++){
31
+ var source = arguments[i] != null ? arguments[i] : {};
32
+ var ownKeys = Object.keys(source);
33
+ if (typeof Object.getOwnPropertySymbols === "function") {
34
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
35
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
36
+ }));
37
+ }
38
+ ownKeys.forEach(function(key) {
39
+ _define_property$5(target, key, source[key]);
40
+ });
41
+ }
42
+ return target;
43
+ }
44
+ function ownKeys$3(object, enumerableOnly) {
45
+ var keys = Object.keys(object);
46
+ if (Object.getOwnPropertySymbols) {
47
+ var symbols = Object.getOwnPropertySymbols(object);
48
+ keys.push.apply(keys, symbols);
49
+ }
50
+ return keys;
51
+ }
52
+ function _object_spread_props$3(target, source) {
53
+ source = source != null ? source : {};
54
+ if (Object.getOwnPropertyDescriptors) {
55
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
56
+ } else {
57
+ ownKeys$3(Object(source)).forEach(function(key) {
58
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
59
+ });
60
+ }
61
+ return target;
62
+ }
63
+ function httpRequest(options) {
64
+ return new Promise(function(resolve, reject) {
65
+ var _options_hostname;
66
+ var req = request(_object_spread_props$3(_object_spread$4({
67
+ method: "GET"
68
+ }, options), {
69
+ hostname: (_options_hostname = options.hostname) === null || _options_hostname === void 0 ? void 0 : _options_hostname.replace(/^\[(.+)\]$/, "$1")
70
+ }));
71
+ req.on("error", function(err) {
72
+ reject(Object.assign(new ProviderError("Unable to connect to instance metadata service"), err));
73
+ req.destroy();
74
+ });
75
+ req.on("timeout", function() {
76
+ reject(new ProviderError("TimeoutError from instance metadata service"));
77
+ req.destroy();
78
+ });
79
+ req.on("response", function(res) {
80
+ var _res_statusCode = res.statusCode, statusCode = _res_statusCode === void 0 ? 400 : _res_statusCode;
81
+ if (statusCode < 200 || 300 <= statusCode) {
82
+ reject(Object.assign(new ProviderError("Error response received from instance metadata service"), {
83
+ statusCode: statusCode
84
+ }));
85
+ req.destroy();
86
+ }
87
+ var chunks = [];
88
+ res.on("data", function(chunk) {
89
+ chunks.push(chunk);
90
+ });
91
+ res.on("end", function() {
92
+ resolve(Buffer.concat(chunks));
93
+ req.destroy();
94
+ });
95
+ });
96
+ req.end();
97
+ });
98
+ }
99
+
100
+ function _define_property$4(obj, key, value) {
101
+ if (key in obj) {
102
+ Object.defineProperty(obj, key, {
103
+ value: value,
104
+ enumerable: true,
105
+ configurable: true,
106
+ writable: true
107
+ });
108
+ } else {
109
+ obj[key] = value;
110
+ }
111
+ return obj;
112
+ }
113
+ function _object_spread$3(target) {
114
+ for(var i = 1; i < arguments.length; i++){
115
+ var source = arguments[i] != null ? arguments[i] : {};
116
+ var ownKeys = Object.keys(source);
117
+ if (typeof Object.getOwnPropertySymbols === "function") {
118
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
119
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
120
+ }));
121
+ }
122
+ ownKeys.forEach(function(key) {
123
+ _define_property$4(target, key, source[key]);
124
+ });
125
+ }
126
+ return target;
19
127
  }
20
- function _array_with_holes(arr) {
21
- if (Array.isArray(arr)) return arr;
128
+ function _type_of$1(obj) {
129
+ "@swc/helpers - typeof";
130
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
22
131
  }
23
- function _async_generator(gen) {
24
- var front, back;
25
- function send(key, arg) {
132
+ var isImdsCredentials = function(arg) {
133
+ return Boolean(arg) && (typeof arg === "undefined" ? "undefined" : _type_of$1(arg)) === "object" && typeof arg.AccessKeyId === "string" && typeof arg.SecretAccessKey === "string" && typeof arg.Token === "string" && typeof arg.Expiration === "string";
134
+ };
135
+ var fromImdsCredentials = function(creds) {
136
+ return _object_spread$3({
137
+ accessKeyId: creds.AccessKeyId,
138
+ secretAccessKey: creds.SecretAccessKey,
139
+ sessionToken: creds.Token,
140
+ expiration: new Date(creds.Expiration)
141
+ }, creds.AccountId && {
142
+ accountId: creds.AccountId
143
+ });
144
+ };
145
+
146
+ var DEFAULT_TIMEOUT = 1000;
147
+ var DEFAULT_MAX_RETRIES = 0;
148
+ var providerConfigFromInit = function(param) {
149
+ var _param_maxRetries = param.maxRetries, maxRetries = _param_maxRetries === void 0 ? DEFAULT_MAX_RETRIES : _param_maxRetries, _param_timeout = param.timeout, timeout = _param_timeout === void 0 ? DEFAULT_TIMEOUT : _param_timeout;
150
+ return {
151
+ maxRetries: maxRetries,
152
+ timeout: timeout
153
+ };
154
+ };
155
+
156
+ var retry = function(toRetry, maxRetries) {
157
+ var promise = toRetry();
158
+ for(var i = 0; i < maxRetries; i++){
159
+ promise = promise.catch(toRetry);
160
+ }
161
+ return promise;
162
+ };
163
+
164
+ function asyncGeneratorStep$3(gen, resolve, reject, _next, _throw, key, arg) {
165
+ try {
166
+ var info = gen[key](arg);
167
+ var value = info.value;
168
+ } catch (error) {
169
+ reject(error);
170
+ return;
171
+ }
172
+ if (info.done) {
173
+ resolve(value);
174
+ } else {
175
+ Promise.resolve(value).then(_next, _throw);
176
+ }
177
+ }
178
+ function _async_to_generator$3(fn) {
179
+ return function() {
180
+ var self = this, args = arguments;
26
181
  return new Promise(function(resolve, reject) {
27
- var request = {
28
- key: key,
29
- arg: arg,
30
- resolve: resolve,
31
- reject: reject,
32
- next: null
33
- };
34
- if (back) {
35
- back = back.next = request;
36
- } else {
37
- front = back = request;
38
- resume(key, arg);
182
+ var gen = fn.apply(self, args);
183
+ function _next(value) {
184
+ asyncGeneratorStep$3(gen, resolve, reject, _next, _throw, "next", value);
39
185
  }
186
+ function _throw(err) {
187
+ asyncGeneratorStep$3(gen, resolve, reject, _next, _throw, "throw", err);
188
+ }
189
+ _next(undefined);
190
+ });
191
+ };
192
+ }
193
+ function _define_property$3(obj, key, value) {
194
+ if (key in obj) {
195
+ Object.defineProperty(obj, key, {
196
+ value: value,
197
+ enumerable: true,
198
+ configurable: true,
199
+ writable: true
200
+ });
201
+ } else {
202
+ obj[key] = value;
203
+ }
204
+ return obj;
205
+ }
206
+ function _object_spread$2(target) {
207
+ for(var i = 1; i < arguments.length; i++){
208
+ var source = arguments[i] != null ? arguments[i] : {};
209
+ var ownKeys = Object.keys(source);
210
+ if (typeof Object.getOwnPropertySymbols === "function") {
211
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
212
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
213
+ }));
214
+ }
215
+ ownKeys.forEach(function(key) {
216
+ _define_property$3(target, key, source[key]);
217
+ });
218
+ }
219
+ return target;
220
+ }
221
+ function ownKeys$2(object, enumerableOnly) {
222
+ var keys = Object.keys(object);
223
+ if (Object.getOwnPropertySymbols) {
224
+ var symbols = Object.getOwnPropertySymbols(object);
225
+ keys.push.apply(keys, symbols);
226
+ }
227
+ return keys;
228
+ }
229
+ function _object_spread_props$2(target, source) {
230
+ source = source != null ? source : {};
231
+ if (Object.getOwnPropertyDescriptors) {
232
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
233
+ } else {
234
+ ownKeys$2(Object(source)).forEach(function(key) {
235
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
40
236
  });
41
237
  }
42
- function resume(key, arg) {
43
- try {
44
- var result = gen[key](arg);
45
- var value = result.value;
46
- var wrappedAwait = value instanceof _await_value;
47
- Promise.resolve(wrappedAwait ? value.wrapped : value).then(function(arg) {
48
- if (wrappedAwait) {
49
- resume("next", arg);
50
- return;
238
+ return target;
239
+ }
240
+ function _ts_generator$3(thisArg, body) {
241
+ var f, y, t, g, _ = {
242
+ label: 0,
243
+ sent: function() {
244
+ if (t[0] & 1) throw t[1];
245
+ return t[1];
246
+ },
247
+ trys: [],
248
+ ops: []
249
+ };
250
+ return g = {
251
+ next: verb(0),
252
+ "throw": verb(1),
253
+ "return": verb(2)
254
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
255
+ return this;
256
+ }), g;
257
+ function verb(n) {
258
+ return function(v) {
259
+ return step([
260
+ n,
261
+ v
262
+ ]);
263
+ };
264
+ }
265
+ function step(op) {
266
+ if (f) throw new TypeError("Generator is already executing.");
267
+ while(_)try {
268
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
269
+ if (y = 0, t) op = [
270
+ op[0] & 2,
271
+ t.value
272
+ ];
273
+ switch(op[0]){
274
+ case 0:
275
+ case 1:
276
+ t = op;
277
+ break;
278
+ case 4:
279
+ _.label++;
280
+ return {
281
+ value: op[1],
282
+ done: false
283
+ };
284
+ case 5:
285
+ _.label++;
286
+ y = op[1];
287
+ op = [
288
+ 0
289
+ ];
290
+ continue;
291
+ case 7:
292
+ op = _.ops.pop();
293
+ _.trys.pop();
294
+ continue;
295
+ default:
296
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
297
+ _ = 0;
298
+ continue;
299
+ }
300
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
301
+ _.label = op[1];
302
+ break;
303
+ }
304
+ if (op[0] === 6 && _.label < t[1]) {
305
+ _.label = t[1];
306
+ t = op;
307
+ break;
308
+ }
309
+ if (t && _.label < t[2]) {
310
+ _.label = t[2];
311
+ _.ops.push(op);
312
+ break;
313
+ }
314
+ if (t[2]) _.ops.pop();
315
+ _.trys.pop();
316
+ continue;
317
+ }
318
+ op = body.call(thisArg, _);
319
+ } catch (e) {
320
+ op = [
321
+ 6,
322
+ e
323
+ ];
324
+ y = 0;
325
+ } finally{
326
+ f = t = 0;
327
+ }
328
+ if (op[0] & 5) throw op[1];
329
+ return {
330
+ value: op[0] ? op[1] : void 0,
331
+ done: true
332
+ };
333
+ }
334
+ }
335
+ var ENV_CMDS_FULL_URI = "AWS_CONTAINER_CREDENTIALS_FULL_URI";
336
+ var ENV_CMDS_RELATIVE_URI = "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI";
337
+ var ENV_CMDS_AUTH_TOKEN = "AWS_CONTAINER_AUTHORIZATION_TOKEN";
338
+ var fromContainerMetadata = function() {
339
+ var init = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
340
+ var _providerConfigFromInit = providerConfigFromInit(init), timeout = _providerConfigFromInit.timeout, maxRetries = _providerConfigFromInit.maxRetries;
341
+ return function() {
342
+ return retry(/*#__PURE__*/ _async_to_generator$3(function() {
343
+ var requestOptions, credsResponse, _;
344
+ return _ts_generator$3(this, function(_state) {
345
+ switch(_state.label){
346
+ case 0:
347
+ return [
348
+ 4,
349
+ getCmdsUri({
350
+ logger: init.logger
351
+ })
352
+ ];
353
+ case 1:
354
+ requestOptions = _state.sent();
355
+ _ = JSON.parse;
356
+ return [
357
+ 4,
358
+ requestFromEcsImds(timeout, requestOptions)
359
+ ];
360
+ case 2:
361
+ credsResponse = _.apply(JSON, [
362
+ _state.sent()
363
+ ]);
364
+ if (!isImdsCredentials(credsResponse)) {
365
+ throw new CredentialsProviderError("Invalid response received from instance metadata service.", {
366
+ logger: init.logger
367
+ });
368
+ }
369
+ return [
370
+ 2,
371
+ fromImdsCredentials(credsResponse)
372
+ ];
51
373
  }
52
- settle(result.done ? "return" : "normal", arg);
53
- }, function(err) {
54
- resume("throw", err);
55
374
  });
56
- } catch (err) {
57
- settle("throw", err);
58
- }
375
+ }), maxRetries);
376
+ };
377
+ };
378
+ var requestFromEcsImds = function() {
379
+ var _ref = _async_to_generator$3(function(timeout, options) {
380
+ var buffer;
381
+ return _ts_generator$3(this, function(_state) {
382
+ switch(_state.label){
383
+ case 0:
384
+ if (process.env[ENV_CMDS_AUTH_TOKEN]) {
385
+ options.headers = _object_spread_props$2(_object_spread$2({}, options.headers), {
386
+ Authorization: process.env[ENV_CMDS_AUTH_TOKEN]
387
+ });
388
+ }
389
+ return [
390
+ 4,
391
+ httpRequest(_object_spread_props$2(_object_spread$2({}, options), {
392
+ timeout: timeout
393
+ }))
394
+ ];
395
+ case 1:
396
+ buffer = _state.sent();
397
+ return [
398
+ 2,
399
+ buffer.toString()
400
+ ];
401
+ }
402
+ });
403
+ });
404
+ return function requestFromEcsImds(timeout, options) {
405
+ return _ref.apply(this, arguments);
406
+ };
407
+ }();
408
+ var CMDS_IP = "169.254.170.2";
409
+ var GREENGRASS_HOSTS = {
410
+ localhost: true,
411
+ "127.0.0.1": true
412
+ };
413
+ var GREENGRASS_PROTOCOLS = {
414
+ "http:": true,
415
+ "https:": true
416
+ };
417
+ var getCmdsUri = function() {
418
+ var _ref = _async_to_generator$3(function(param) {
419
+ var logger, parsed;
420
+ return _ts_generator$3(this, function(_state) {
421
+ logger = param.logger;
422
+ if (process.env[ENV_CMDS_RELATIVE_URI]) {
423
+ return [
424
+ 2,
425
+ {
426
+ hostname: CMDS_IP,
427
+ path: process.env[ENV_CMDS_RELATIVE_URI]
428
+ }
429
+ ];
430
+ }
431
+ if (process.env[ENV_CMDS_FULL_URI]) {
432
+ parsed = parse(process.env[ENV_CMDS_FULL_URI]);
433
+ if (!parsed.hostname || !(parsed.hostname in GREENGRASS_HOSTS)) {
434
+ throw new CredentialsProviderError("".concat(parsed.hostname, " is not a valid container metadata service hostname"), {
435
+ tryNextLink: false,
436
+ logger: logger
437
+ });
438
+ }
439
+ if (!parsed.protocol || !(parsed.protocol in GREENGRASS_PROTOCOLS)) {
440
+ throw new CredentialsProviderError("".concat(parsed.protocol, " is not a valid container metadata service protocol"), {
441
+ tryNextLink: false,
442
+ logger: logger
443
+ });
444
+ }
445
+ return [
446
+ 2,
447
+ _object_spread_props$2(_object_spread$2({}, parsed), {
448
+ port: parsed.port ? parseInt(parsed.port, 10) : undefined
449
+ })
450
+ ];
451
+ }
452
+ throw new CredentialsProviderError("The container metadata credential provider cannot be used unless" + " the ".concat(ENV_CMDS_RELATIVE_URI, " or ").concat(ENV_CMDS_FULL_URI, " environment") + " variable is set", {
453
+ tryNextLink: false,
454
+ logger: logger
455
+ });
456
+ });
457
+ });
458
+ return function getCmdsUri(_) {
459
+ return _ref.apply(this, arguments);
460
+ };
461
+ }();
462
+
463
+ function _assert_this_initialized(self) {
464
+ if (self === void 0) {
465
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
466
+ }
467
+ return self;
468
+ }
469
+ function _class_call_check(instance, Constructor) {
470
+ if (!(instance instanceof Constructor)) {
471
+ throw new TypeError("Cannot call a class as a function");
472
+ }
473
+ }
474
+ function _define_property$2(obj, key, value) {
475
+ if (key in obj) {
476
+ Object.defineProperty(obj, key, {
477
+ value: value,
478
+ enumerable: true,
479
+ configurable: true,
480
+ writable: true
481
+ });
482
+ } else {
483
+ obj[key] = value;
59
484
  }
60
- function settle(type, value) {
61
- switch(type){
62
- case "return":
63
- front.resolve({
64
- value: value,
65
- done: true
66
- });
67
- break;
68
- case "throw":
69
- front.reject(value);
70
- break;
71
- default:
72
- front.resolve({
73
- value: value,
74
- done: false
75
- });
76
- break;
485
+ return obj;
486
+ }
487
+ function _get_prototype_of(o) {
488
+ _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
489
+ return o.__proto__ || Object.getPrototypeOf(o);
490
+ };
491
+ return _get_prototype_of(o);
492
+ }
493
+ function _inherits(subClass, superClass) {
494
+ if (typeof superClass !== "function" && superClass !== null) {
495
+ throw new TypeError("Super expression must either be null or a function");
496
+ }
497
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
498
+ constructor: {
499
+ value: subClass,
500
+ writable: true,
501
+ configurable: true
77
502
  }
78
- front = front.next;
79
- if (front) {
80
- resume(front.key, front.arg);
503
+ });
504
+ if (superClass) _set_prototype_of(subClass, superClass);
505
+ }
506
+ function _possible_constructor_return(self, call) {
507
+ if (call && (_type_of(call) === "object" || typeof call === "function")) {
508
+ return call;
509
+ }
510
+ return _assert_this_initialized(self);
511
+ }
512
+ function _set_prototype_of(o, p) {
513
+ _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
514
+ o.__proto__ = p;
515
+ return o;
516
+ };
517
+ return _set_prototype_of(o, p);
518
+ }
519
+ function _type_of(obj) {
520
+ "@swc/helpers - typeof";
521
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
522
+ }
523
+ function _is_native_reflect_construct() {
524
+ if (typeof Reflect === "undefined" || !Reflect.construct) return false;
525
+ if (Reflect.construct.sham) return false;
526
+ if (typeof Proxy === "function") return true;
527
+ try {
528
+ Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
529
+ return true;
530
+ } catch (e) {
531
+ return false;
532
+ }
533
+ }
534
+ function _create_super(Derived) {
535
+ var hasNativeReflectConstruct = _is_native_reflect_construct();
536
+ return function _createSuperInternal() {
537
+ var Super = _get_prototype_of(Derived), result;
538
+ if (hasNativeReflectConstruct) {
539
+ var NewTarget = _get_prototype_of(this).constructor;
540
+ result = Reflect.construct(Super, arguments, NewTarget);
81
541
  } else {
82
- back = null;
542
+ result = Super.apply(this, arguments);
83
543
  }
544
+ return _possible_constructor_return(this, result);
545
+ };
546
+ }
547
+ var InstanceMetadataV1FallbackError = /*#__PURE__*/ function(CredentialsProviderError) {
548
+ _inherits(InstanceMetadataV1FallbackError, CredentialsProviderError);
549
+ var _super = _create_super(InstanceMetadataV1FallbackError);
550
+ function InstanceMetadataV1FallbackError(message) {
551
+ var tryNextLink = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
552
+ _class_call_check(this, InstanceMetadataV1FallbackError);
553
+ var _this;
554
+ _this = _super.call(this, message, tryNextLink);
555
+ _define_property$2(_assert_this_initialized(_this), "tryNextLink", void 0);
556
+ _define_property$2(_assert_this_initialized(_this), "name", "InstanceMetadataV1FallbackError");
557
+ _this.tryNextLink = tryNextLink;
558
+ Object.setPrototypeOf(_assert_this_initialized(_this), InstanceMetadataV1FallbackError.prototype);
559
+ return _this;
560
+ }
561
+ return InstanceMetadataV1FallbackError;
562
+ }(CredentialsProviderError);
563
+
564
+ var Endpoint;
565
+ (function(Endpoint) {
566
+ Endpoint["IPv4"] = "http://169.254.169.254";
567
+ Endpoint["IPv6"] = "http://[fd00:ec2::254]";
568
+ })(Endpoint || (Endpoint = {}));
569
+
570
+ var ENV_ENDPOINT_NAME = "AWS_EC2_METADATA_SERVICE_ENDPOINT";
571
+ var CONFIG_ENDPOINT_NAME = "ec2_metadata_service_endpoint";
572
+ var ENDPOINT_CONFIG_OPTIONS = {
573
+ environmentVariableSelector: function(env) {
574
+ return env[ENV_ENDPOINT_NAME];
575
+ },
576
+ configFileSelector: function(profile) {
577
+ return profile[CONFIG_ENDPOINT_NAME];
578
+ },
579
+ default: undefined
580
+ };
581
+
582
+ var EndpointMode;
583
+ (function(EndpointMode) {
584
+ EndpointMode["IPv4"] = "IPv4";
585
+ EndpointMode["IPv6"] = "IPv6";
586
+ })(EndpointMode || (EndpointMode = {}));
587
+
588
+ var ENV_ENDPOINT_MODE_NAME = "AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE";
589
+ var CONFIG_ENDPOINT_MODE_NAME = "ec2_metadata_service_endpoint_mode";
590
+ var ENDPOINT_MODE_CONFIG_OPTIONS = {
591
+ environmentVariableSelector: function(env) {
592
+ return env[ENV_ENDPOINT_MODE_NAME];
593
+ },
594
+ configFileSelector: function(profile) {
595
+ return profile[CONFIG_ENDPOINT_MODE_NAME];
596
+ },
597
+ default: EndpointMode.IPv4
598
+ };
599
+
600
+ function asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, key, arg) {
601
+ try {
602
+ var info = gen[key](arg);
603
+ var value = info.value;
604
+ } catch (error) {
605
+ reject(error);
606
+ return;
84
607
  }
85
- this._invoke = send;
86
- if (typeof gen.return !== "function") {
87
- this.return = undefined;
608
+ if (info.done) {
609
+ resolve(value);
610
+ } else {
611
+ Promise.resolve(value).then(_next, _throw);
88
612
  }
89
613
  }
90
- if (typeof Symbol === "function" && Symbol.asyncIterator) {
91
- _async_generator.prototype[Symbol.asyncIterator] = function() {
614
+ function _async_to_generator$2(fn) {
615
+ return function() {
616
+ var self = this, args = arguments;
617
+ return new Promise(function(resolve, reject) {
618
+ var gen = fn.apply(self, args);
619
+ function _next(value) {
620
+ asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, "next", value);
621
+ }
622
+ function _throw(err) {
623
+ asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, "throw", err);
624
+ }
625
+ _next(undefined);
626
+ });
627
+ };
628
+ }
629
+ function _ts_generator$2(thisArg, body) {
630
+ var f, y, t, g, _ = {
631
+ label: 0,
632
+ sent: function() {
633
+ if (t[0] & 1) throw t[1];
634
+ return t[1];
635
+ },
636
+ trys: [],
637
+ ops: []
638
+ };
639
+ return g = {
640
+ next: verb(0),
641
+ "throw": verb(1),
642
+ "return": verb(2)
643
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
92
644
  return this;
645
+ }), g;
646
+ function verb(n) {
647
+ return function(v) {
648
+ return step([
649
+ n,
650
+ v
651
+ ]);
652
+ };
653
+ }
654
+ function step(op) {
655
+ if (f) throw new TypeError("Generator is already executing.");
656
+ while(_)try {
657
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
658
+ if (y = 0, t) op = [
659
+ op[0] & 2,
660
+ t.value
661
+ ];
662
+ switch(op[0]){
663
+ case 0:
664
+ case 1:
665
+ t = op;
666
+ break;
667
+ case 4:
668
+ _.label++;
669
+ return {
670
+ value: op[1],
671
+ done: false
672
+ };
673
+ case 5:
674
+ _.label++;
675
+ y = op[1];
676
+ op = [
677
+ 0
678
+ ];
679
+ continue;
680
+ case 7:
681
+ op = _.ops.pop();
682
+ _.trys.pop();
683
+ continue;
684
+ default:
685
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
686
+ _ = 0;
687
+ continue;
688
+ }
689
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
690
+ _.label = op[1];
691
+ break;
692
+ }
693
+ if (op[0] === 6 && _.label < t[1]) {
694
+ _.label = t[1];
695
+ t = op;
696
+ break;
697
+ }
698
+ if (t && _.label < t[2]) {
699
+ _.label = t[2];
700
+ _.ops.push(op);
701
+ break;
702
+ }
703
+ if (t[2]) _.ops.pop();
704
+ _.trys.pop();
705
+ continue;
706
+ }
707
+ op = body.call(thisArg, _);
708
+ } catch (e) {
709
+ op = [
710
+ 6,
711
+ e
712
+ ];
713
+ y = 0;
714
+ } finally{
715
+ f = t = 0;
716
+ }
717
+ if (op[0] & 5) throw op[1];
718
+ return {
719
+ value: op[0] ? op[1] : void 0,
720
+ done: true
721
+ };
722
+ }
723
+ }
724
+ var getInstanceMetadataEndpoint = function() {
725
+ var _ref = _async_to_generator$2(function() {
726
+ var _tmp;
727
+ return _ts_generator$2(this, function(_state) {
728
+ switch(_state.label){
729
+ case 0:
730
+ return [
731
+ 4,
732
+ getFromEndpointConfig()
733
+ ];
734
+ case 1:
735
+ _tmp = _state.sent();
736
+ if (_tmp) return [
737
+ 3,
738
+ 3
739
+ ];
740
+ return [
741
+ 4,
742
+ getFromEndpointModeConfig()
743
+ ];
744
+ case 2:
745
+ _tmp = _state.sent();
746
+ _state.label = 3;
747
+ case 3:
748
+ return [
749
+ 2,
750
+ parseUrl.apply(void 0, [
751
+ _tmp
752
+ ])
753
+ ];
754
+ }
755
+ });
756
+ });
757
+ return function getInstanceMetadataEndpoint() {
758
+ return _ref.apply(this, arguments);
759
+ };
760
+ }();
761
+ var getFromEndpointConfig = function() {
762
+ var _ref = _async_to_generator$2(function() {
763
+ return _ts_generator$2(this, function(_state) {
764
+ return [
765
+ 2,
766
+ loadConfig(ENDPOINT_CONFIG_OPTIONS)()
767
+ ];
768
+ });
769
+ });
770
+ return function getFromEndpointConfig() {
771
+ return _ref.apply(this, arguments);
772
+ };
773
+ }();
774
+ var getFromEndpointModeConfig = function() {
775
+ var _ref = _async_to_generator$2(function() {
776
+ var endpointMode;
777
+ return _ts_generator$2(this, function(_state) {
778
+ switch(_state.label){
779
+ case 0:
780
+ return [
781
+ 4,
782
+ loadConfig(ENDPOINT_MODE_CONFIG_OPTIONS)()
783
+ ];
784
+ case 1:
785
+ endpointMode = _state.sent();
786
+ switch(endpointMode){
787
+ case EndpointMode.IPv4:
788
+ return [
789
+ 2,
790
+ Endpoint.IPv4
791
+ ];
792
+ case EndpointMode.IPv6:
793
+ return [
794
+ 2,
795
+ Endpoint.IPv6
796
+ ];
797
+ default:
798
+ throw new Error("Unsupported endpoint mode: ".concat(endpointMode, ".") + " Select from ".concat(Object.values(EndpointMode)));
799
+ }
800
+ }
801
+ });
802
+ });
803
+ return function getFromEndpointModeConfig() {
804
+ return _ref.apply(this, arguments);
805
+ };
806
+ }();
807
+
808
+ function _define_property$1(obj, key, value) {
809
+ if (key in obj) {
810
+ Object.defineProperty(obj, key, {
811
+ value: value,
812
+ enumerable: true,
813
+ configurable: true,
814
+ writable: true
815
+ });
816
+ } else {
817
+ obj[key] = value;
818
+ }
819
+ return obj;
820
+ }
821
+ function _object_spread$1(target) {
822
+ for(var i = 1; i < arguments.length; i++){
823
+ var source = arguments[i] != null ? arguments[i] : {};
824
+ var ownKeys = Object.keys(source);
825
+ if (typeof Object.getOwnPropertySymbols === "function") {
826
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
827
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
828
+ }));
829
+ }
830
+ ownKeys.forEach(function(key) {
831
+ _define_property$1(target, key, source[key]);
832
+ });
833
+ }
834
+ return target;
835
+ }
836
+ function ownKeys$1(object, enumerableOnly) {
837
+ var keys = Object.keys(object);
838
+ if (Object.getOwnPropertySymbols) {
839
+ var symbols = Object.getOwnPropertySymbols(object);
840
+ keys.push.apply(keys, symbols);
841
+ }
842
+ return keys;
843
+ }
844
+ function _object_spread_props$1(target, source) {
845
+ source = source != null ? source : {};
846
+ if (Object.getOwnPropertyDescriptors) {
847
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
848
+ } else {
849
+ ownKeys$1(Object(source)).forEach(function(key) {
850
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
851
+ });
852
+ }
853
+ return target;
854
+ }
855
+ var STATIC_STABILITY_REFRESH_INTERVAL_SECONDS = 5 * 60;
856
+ var STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS = 5 * 60;
857
+ var STATIC_STABILITY_DOC_URL = "https://docs.aws.amazon.com/sdkref/latest/guide/feature-static-credentials.html";
858
+ var getExtendedInstanceMetadataCredentials = function(credentials, logger) {
859
+ var refreshInterval = STATIC_STABILITY_REFRESH_INTERVAL_SECONDS + Math.floor(Math.random() * STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS);
860
+ var newExpiration = new Date(Date.now() + refreshInterval * 1000);
861
+ logger.warn("Attempting credential expiration extension due to a credential service availability issue. A refresh of these " + "credentials will be attempted after ".concat(new Date(newExpiration), ".\nFor more information, please visit: ") + STATIC_STABILITY_DOC_URL);
862
+ var _credentials_originalExpiration;
863
+ var originalExpiration = (_credentials_originalExpiration = credentials.originalExpiration) !== null && _credentials_originalExpiration !== void 0 ? _credentials_originalExpiration : credentials.expiration;
864
+ return _object_spread_props$1(_object_spread$1({}, credentials, originalExpiration ? {
865
+ originalExpiration: originalExpiration
866
+ } : {}), {
867
+ expiration: newExpiration
868
+ });
869
+ };
870
+
871
+ function asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, key, arg) {
872
+ try {
873
+ var info = gen[key](arg);
874
+ var value = info.value;
875
+ } catch (error) {
876
+ reject(error);
877
+ return;
878
+ }
879
+ if (info.done) {
880
+ resolve(value);
881
+ } else {
882
+ Promise.resolve(value).then(_next, _throw);
883
+ }
884
+ }
885
+ function _async_to_generator$1(fn) {
886
+ return function() {
887
+ var self = this, args = arguments;
888
+ return new Promise(function(resolve, reject) {
889
+ var gen = fn.apply(self, args);
890
+ function _next(value) {
891
+ asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, "next", value);
892
+ }
893
+ function _throw(err) {
894
+ asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, "throw", err);
895
+ }
896
+ _next(undefined);
897
+ });
93
898
  };
94
899
  }
95
- _async_generator.prototype.next = function(arg) {
96
- return this._invoke("next", arg);
97
- };
98
- _async_generator.prototype.throw = function(arg) {
99
- return this._invoke("throw", arg);
100
- };
101
- _async_generator.prototype.return = function(arg) {
102
- return this._invoke("return", arg);
103
- };
104
- function _async_iterator(iterable) {
105
- var method, async, sync, retry = 2;
106
- for("undefined" != typeof Symbol && (async = Symbol.asyncIterator, sync = Symbol.iterator); retry--;){
107
- if (async && null != (method = iterable[async])) return method.call(iterable);
108
- if (sync && null != (method = iterable[sync])) return new AsyncFromSyncIterator(method.call(iterable));
109
- async = "@@asyncIterator", sync = "@@iterator";
110
- }
111
- throw new TypeError("Object is not async iterable");
112
- }
113
- function AsyncFromSyncIterator(s) {
114
- function AsyncFromSyncIteratorContinuation(r) {
115
- if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object."));
116
- var done = r.done;
117
- return Promise.resolve(r.value).then(function(value) {
118
- return {
119
- value: value,
120
- done: done
121
- };
122
- });
123
- }
124
- return AsyncFromSyncIterator = function(s) {
125
- this.s = s, this.n = s.next;
126
- }, AsyncFromSyncIterator.prototype = {
127
- s: null,
128
- n: null,
129
- next: function() {
130
- return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments));
131
- },
132
- return: function(value) {
133
- var ret = this.s.return;
134
- return void 0 === ret ? Promise.resolve({
135
- value: value,
136
- done: true
137
- }) : AsyncFromSyncIteratorContinuation(ret.apply(this.s, arguments));
900
+ function _ts_generator$1(thisArg, body) {
901
+ var f, y, t, g, _ = {
902
+ label: 0,
903
+ sent: function() {
904
+ if (t[0] & 1) throw t[1];
905
+ return t[1];
138
906
  },
139
- throw: function(value) {
140
- var thr = this.s.return;
141
- return void 0 === thr ? Promise.reject(value) : AsyncFromSyncIteratorContinuation(thr.apply(this.s, arguments));
907
+ trys: [],
908
+ ops: []
909
+ };
910
+ return g = {
911
+ next: verb(0),
912
+ "throw": verb(1),
913
+ "return": verb(2)
914
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
915
+ return this;
916
+ }), g;
917
+ function verb(n) {
918
+ return function(v) {
919
+ return step([
920
+ n,
921
+ v
922
+ ]);
923
+ };
924
+ }
925
+ function step(op) {
926
+ if (f) throw new TypeError("Generator is already executing.");
927
+ while(_)try {
928
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
929
+ if (y = 0, t) op = [
930
+ op[0] & 2,
931
+ t.value
932
+ ];
933
+ switch(op[0]){
934
+ case 0:
935
+ case 1:
936
+ t = op;
937
+ break;
938
+ case 4:
939
+ _.label++;
940
+ return {
941
+ value: op[1],
942
+ done: false
943
+ };
944
+ case 5:
945
+ _.label++;
946
+ y = op[1];
947
+ op = [
948
+ 0
949
+ ];
950
+ continue;
951
+ case 7:
952
+ op = _.ops.pop();
953
+ _.trys.pop();
954
+ continue;
955
+ default:
956
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
957
+ _ = 0;
958
+ continue;
959
+ }
960
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
961
+ _.label = op[1];
962
+ break;
963
+ }
964
+ if (op[0] === 6 && _.label < t[1]) {
965
+ _.label = t[1];
966
+ t = op;
967
+ break;
968
+ }
969
+ if (t && _.label < t[2]) {
970
+ _.label = t[2];
971
+ _.ops.push(op);
972
+ break;
973
+ }
974
+ if (t[2]) _.ops.pop();
975
+ _.trys.pop();
976
+ continue;
977
+ }
978
+ op = body.call(thisArg, _);
979
+ } catch (e) {
980
+ op = [
981
+ 6,
982
+ e
983
+ ];
984
+ y = 0;
985
+ } finally{
986
+ f = t = 0;
142
987
  }
143
- }, new AsyncFromSyncIterator(s);
988
+ if (op[0] & 5) throw op[1];
989
+ return {
990
+ value: op[0] ? op[1] : void 0,
991
+ done: true
992
+ };
993
+ }
144
994
  }
995
+ var staticStabilityProvider = function(provider) {
996
+ var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
997
+ var logger = (options === null || options === void 0 ? void 0 : options.logger) || console;
998
+ var pastCredentials;
999
+ return /*#__PURE__*/ _async_to_generator$1(function() {
1000
+ var credentials, e;
1001
+ return _ts_generator$1(this, function(_state) {
1002
+ switch(_state.label){
1003
+ case 0:
1004
+ _state.trys.push([
1005
+ 0,
1006
+ 2,
1007
+ ,
1008
+ 3
1009
+ ]);
1010
+ return [
1011
+ 4,
1012
+ provider()
1013
+ ];
1014
+ case 1:
1015
+ credentials = _state.sent();
1016
+ if (credentials.expiration && credentials.expiration.getTime() < Date.now()) {
1017
+ credentials = getExtendedInstanceMetadataCredentials(credentials, logger);
1018
+ }
1019
+ return [
1020
+ 3,
1021
+ 3
1022
+ ];
1023
+ case 2:
1024
+ e = _state.sent();
1025
+ if (pastCredentials) {
1026
+ logger.warn("Credential renew failed: ", e);
1027
+ credentials = getExtendedInstanceMetadataCredentials(pastCredentials, logger);
1028
+ } else {
1029
+ throw e;
1030
+ }
1031
+ return [
1032
+ 3,
1033
+ 3
1034
+ ];
1035
+ case 3:
1036
+ pastCredentials = credentials;
1037
+ return [
1038
+ 2,
1039
+ credentials
1040
+ ];
1041
+ }
1042
+ });
1043
+ });
1044
+ };
1045
+
145
1046
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
146
1047
  try {
147
1048
  var info = gen[key](arg);
@@ -171,27 +1072,6 @@ function _async_to_generator(fn) {
171
1072
  });
172
1073
  };
173
1074
  }
174
- function _await_value(value) {
175
- this.wrapped = value;
176
- }
177
- function _class_call_check(instance, Constructor) {
178
- if (!(instance instanceof Constructor)) {
179
- throw new TypeError("Cannot call a class as a function");
180
- }
181
- }
182
- function _defineProperties(target, props) {
183
- for(var i = 0; i < props.length; i++){
184
- var descriptor = props[i];
185
- descriptor.enumerable = descriptor.enumerable || false;
186
- descriptor.configurable = true;
187
- if ("value" in descriptor) descriptor.writable = true;
188
- Object.defineProperty(target, descriptor.key, descriptor);
189
- }
190
- }
191
- function _create_class(Constructor, protoProps, staticProps) {
192
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
193
- return Constructor;
194
- }
195
1075
  function _define_property(obj, key, value) {
196
1076
  if (key in obj) {
197
1077
  Object.defineProperty(obj, key, {
@@ -205,33 +1085,6 @@ function _define_property(obj, key, value) {
205
1085
  }
206
1086
  return obj;
207
1087
  }
208
- function _iterable_to_array_limit(arr, i) {
209
- var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
210
- if (_i == null) return;
211
- var _arr = [];
212
- var _n = true;
213
- var _d = false;
214
- var _s, _e;
215
- try {
216
- for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
217
- _arr.push(_s.value);
218
- if (i && _arr.length === i) break;
219
- }
220
- } catch (err) {
221
- _d = true;
222
- _e = err;
223
- } finally{
224
- try {
225
- if (!_n && _i["return"] != null) _i["return"]();
226
- } finally{
227
- if (_d) throw _e;
228
- }
229
- }
230
- return _arr;
231
- }
232
- function _non_iterable_rest() {
233
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
234
- }
235
1088
  function _object_spread(target) {
236
1089
  for(var i = 1; i < arguments.length; i++){
237
1090
  var source = arguments[i] != null ? arguments[i] : {};
@@ -247,25 +1100,24 @@ function _object_spread(target) {
247
1100
  }
248
1101
  return target;
249
1102
  }
250
- function _sliced_to_array(arr, i) {
251
- return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
252
- }
253
- function _type_of(obj) {
254
- "@swc/helpers - typeof";
255
- return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
256
- }
257
- function _unsupported_iterable_to_array(o, minLen) {
258
- if (!o) return;
259
- if (typeof o === "string") return _array_like_to_array(o, minLen);
260
- var n = Object.prototype.toString.call(o).slice(8, -1);
261
- if (n === "Object" && o.constructor) n = o.constructor.name;
262
- if (n === "Map" || n === "Set") return Array.from(n);
263
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
1103
+ function ownKeys(object, enumerableOnly) {
1104
+ var keys = Object.keys(object);
1105
+ if (Object.getOwnPropertySymbols) {
1106
+ var symbols = Object.getOwnPropertySymbols(object);
1107
+ keys.push.apply(keys, symbols);
1108
+ }
1109
+ return keys;
264
1110
  }
265
- function _wrap_async_generator(fn) {
266
- return function() {
267
- return new _async_generator(fn.apply(this, arguments));
268
- };
1111
+ function _object_spread_props(target, source) {
1112
+ source = source != null ? source : {};
1113
+ if (Object.getOwnPropertyDescriptors) {
1114
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
1115
+ } else {
1116
+ ownKeys(Object(source)).forEach(function(key) {
1117
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
1118
+ });
1119
+ }
1120
+ return target;
269
1121
  }
270
1122
  function _ts_generator(thisArg, body) {
271
1123
  var f, y, t, g, _ = {
@@ -362,596 +1214,305 @@ function _ts_generator(thisArg, body) {
362
1214
  };
363
1215
  }
364
1216
  }
365
- var EventStreamSerde = /*#__PURE__*/ function() {
366
- function EventStreamSerde(param) {
367
- var marshaller = param.marshaller, serializer = param.serializer, deserializer = param.deserializer, serdeContext = param.serdeContext, defaultContentType = param.defaultContentType;
368
- _class_call_check(this, EventStreamSerde);
369
- _define_property(this, "marshaller", void 0);
370
- _define_property(this, "serializer", void 0);
371
- _define_property(this, "deserializer", void 0);
372
- _define_property(this, "serdeContext", void 0);
373
- _define_property(this, "defaultContentType", void 0);
374
- this.marshaller = marshaller;
375
- this.serializer = serializer;
376
- this.deserializer = deserializer;
377
- this.serdeContext = serdeContext;
378
- this.defaultContentType = defaultContentType;
379
- }
380
- _create_class(EventStreamSerde, [
381
- {
382
- key: "serializeEventStream",
383
- value: function serializeEventStream(param) {
384
- var eventStream = param.eventStream, requestSchema = param.requestSchema, initialRequest = param.initialRequest;
385
- var _this = this;
386
- return _async_to_generator(function() {
387
- var marshaller, eventStreamMember, unionSchema, serializer, defaultContentType, initialRequestMarker, eventStreamIterable;
388
- return _ts_generator(this, function(_state) {
389
- marshaller = _this.marshaller;
390
- eventStreamMember = requestSchema.getEventStreamMember();
391
- unionSchema = requestSchema.getMemberSchema(eventStreamMember);
392
- serializer = _this.serializer;
393
- defaultContentType = _this.defaultContentType;
394
- initialRequestMarker = Symbol("initialRequestMarker");
395
- eventStreamIterable = _define_property({}, Symbol.asyncIterator, function() {
396
- return _wrap_async_generator(function() {
397
- var headers, body, _obj, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, page, err;
1217
+ var IMDS_PATH = "/latest/meta-data/iam/security-credentials/";
1218
+ var IMDS_TOKEN_PATH = "/latest/api/token";
1219
+ var AWS_EC2_METADATA_V1_DISABLED = "AWS_EC2_METADATA_V1_DISABLED";
1220
+ var PROFILE_AWS_EC2_METADATA_V1_DISABLED = "ec2_metadata_v1_disabled";
1221
+ var X_AWS_EC2_METADATA_TOKEN = "x-aws-ec2-metadata-token";
1222
+ var fromInstanceMetadata = function() {
1223
+ var init = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
1224
+ return staticStabilityProvider(getInstanceMetadataProvider(init), {
1225
+ logger: init.logger
1226
+ });
1227
+ };
1228
+ var getInstanceMetadataProvider = function() {
1229
+ var init = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
1230
+ var disableFetchToken = false;
1231
+ var logger = init.logger, profile = init.profile;
1232
+ var _providerConfigFromInit = providerConfigFromInit(init), timeout = _providerConfigFromInit.timeout, maxRetries = _providerConfigFromInit.maxRetries;
1233
+ var getCredentials = function() {
1234
+ var _ref = _async_to_generator(function(maxRetries, options) {
1235
+ var _options_headers, isImdsV1Fallback, fallbackBlockedFromProfile, fallbackBlockedFromProcessEnv, configValue, causes, imdsProfile;
1236
+ return _ts_generator(this, function(_state) {
1237
+ switch(_state.label){
1238
+ case 0:
1239
+ isImdsV1Fallback = disableFetchToken || ((_options_headers = options.headers) === null || _options_headers === void 0 ? void 0 : _options_headers[X_AWS_EC2_METADATA_TOKEN]) == null;
1240
+ if (!isImdsV1Fallback) return [
1241
+ 3,
1242
+ 2
1243
+ ];
1244
+ fallbackBlockedFromProfile = false;
1245
+ fallbackBlockedFromProcessEnv = false;
1246
+ return [
1247
+ 4,
1248
+ loadConfig({
1249
+ environmentVariableSelector: function(env) {
1250
+ var envValue = env[AWS_EC2_METADATA_V1_DISABLED];
1251
+ fallbackBlockedFromProcessEnv = !!envValue && envValue !== "false";
1252
+ if (envValue === undefined) {
1253
+ throw new CredentialsProviderError("".concat(AWS_EC2_METADATA_V1_DISABLED, " not set in env, checking config file next."), {
1254
+ logger: init.logger
1255
+ });
1256
+ }
1257
+ return fallbackBlockedFromProcessEnv;
1258
+ },
1259
+ configFileSelector: function(profile) {
1260
+ var profileValue = profile[PROFILE_AWS_EC2_METADATA_V1_DISABLED];
1261
+ fallbackBlockedFromProfile = !!profileValue && profileValue !== "false";
1262
+ return fallbackBlockedFromProfile;
1263
+ },
1264
+ default: false
1265
+ }, {
1266
+ profile: profile
1267
+ })()
1268
+ ];
1269
+ case 1:
1270
+ configValue = _state.sent();
1271
+ if (init.ec2MetadataV1Disabled || configValue) {
1272
+ causes = [];
1273
+ if (init.ec2MetadataV1Disabled) causes.push("credential provider initialization (runtime option ec2MetadataV1Disabled)");
1274
+ if (fallbackBlockedFromProfile) causes.push("config file profile (".concat(PROFILE_AWS_EC2_METADATA_V1_DISABLED, ")"));
1275
+ if (fallbackBlockedFromProcessEnv) causes.push("process environment variable (".concat(AWS_EC2_METADATA_V1_DISABLED, ")"));
1276
+ throw new InstanceMetadataV1FallbackError("AWS EC2 Metadata v1 fallback has been blocked by AWS SDK configuration in the following: [".concat(causes.join(", "), "]."));
1277
+ }
1278
+ _state.label = 2;
1279
+ case 2:
1280
+ return [
1281
+ 4,
1282
+ retry(/*#__PURE__*/ _async_to_generator(function() {
1283
+ var profile, err;
398
1284
  return _ts_generator(this, function(_state) {
399
1285
  switch(_state.label){
400
1286
  case 0:
401
- if (!initialRequest) return [
402
- 3,
403
- 2
404
- ];
405
- headers = {
406
- ":event-type": {
407
- type: "string",
408
- value: "initial-request"
409
- },
410
- ":message-type": {
411
- type: "string",
412
- value: "event"
413
- },
414
- ":content-type": {
415
- type: "string",
416
- value: defaultContentType
417
- }
418
- };
419
- serializer.write(requestSchema, initialRequest);
420
- body = serializer.flush();
421
- return [
422
- 4,
423
- (_obj = {}, _define_property(_obj, initialRequestMarker, true), _define_property(_obj, "headers", headers), _define_property(_obj, "body", body), _obj)
424
- ];
425
- case 1:
426
- _state.sent();
427
- _state.label = 2;
428
- case 2:
429
- _iteratorAbruptCompletion = false, _didIteratorError = false;
430
- _state.label = 3;
431
- case 3:
432
1287
  _state.trys.push([
433
- 3,
434
- 9,
435
- 10,
436
- 15
1288
+ 0,
1289
+ 2,
1290
+ ,
1291
+ 3
437
1292
  ]);
438
- _iterator = _async_iterator(eventStream);
439
- _state.label = 4;
440
- case 4:
441
- return [
442
- 4,
443
- _iterator.next()
444
- ];
445
- case 5:
446
- if (!(_iteratorAbruptCompletion = !(_step = _state.sent()).done)) return [
447
- 3,
448
- 8
449
- ];
450
- _value = _step.value;
451
- page = _value;
452
1293
  return [
453
1294
  4,
454
- page
1295
+ getProfile(options)
455
1296
  ];
456
- case 6:
457
- _state.sent();
458
- _state.label = 7;
459
- case 7:
460
- _iteratorAbruptCompletion = false;
461
- return [
462
- 3,
463
- 4
464
- ];
465
- case 8:
1297
+ case 1:
1298
+ profile = _state.sent();
466
1299
  return [
467
1300
  3,
468
- 15
1301
+ 3
469
1302
  ];
470
- case 9:
1303
+ case 2:
471
1304
  err = _state.sent();
472
- _didIteratorError = true;
473
- _iteratorError = err;
1305
+ if (err.statusCode === 401) {
1306
+ disableFetchToken = false;
1307
+ }
1308
+ throw err;
1309
+ case 3:
474
1310
  return [
475
- 3,
476
- 15
1311
+ 2,
1312
+ profile
477
1313
  ];
478
- case 10:
1314
+ }
1315
+ });
1316
+ }), maxRetries)
1317
+ ];
1318
+ case 3:
1319
+ imdsProfile = _state.sent().trim();
1320
+ return [
1321
+ 2,
1322
+ retry(/*#__PURE__*/ _async_to_generator(function() {
1323
+ var creds, err;
1324
+ return _ts_generator(this, function(_state) {
1325
+ switch(_state.label){
1326
+ case 0:
479
1327
  _state.trys.push([
480
- 10,
1328
+ 0,
1329
+ 2,
481
1330
  ,
482
- 13,
483
- 14
1331
+ 3
484
1332
  ]);
485
- if (!(_iteratorAbruptCompletion && _iterator.return != null)) return [
486
- 3,
487
- 12
488
- ];
489
1333
  return [
490
1334
  4,
491
- _iterator.return()
1335
+ getCredentialsFromProfile(imdsProfile, options, init)
492
1336
  ];
493
- case 11:
494
- _state.sent();
495
- _state.label = 12;
496
- case 12:
1337
+ case 1:
1338
+ creds = _state.sent();
497
1339
  return [
498
1340
  3,
499
- 14
1341
+ 3
500
1342
  ];
501
- case 13:
502
- if (_didIteratorError) {
503
- throw _iteratorError;
1343
+ case 2:
1344
+ err = _state.sent();
1345
+ if (err.statusCode === 401) {
1346
+ disableFetchToken = false;
504
1347
  }
1348
+ throw err;
1349
+ case 3:
505
1350
  return [
506
- 7
507
- ];
508
- case 14:
509
- return [
510
- 7
511
- ];
512
- case 15:
513
- return [
514
- 2
1351
+ 2,
1352
+ creds
515
1353
  ];
516
1354
  }
517
1355
  });
518
- })();
519
- });
520
- return [
521
- 2,
522
- marshaller.serialize(eventStreamIterable, function(event) {
523
- if (event[initialRequestMarker]) {
524
- return {
525
- headers: event.headers,
526
- body: event.body
527
- };
528
- }
529
- var _Object_keys_find;
530
- var unionMember = (_Object_keys_find = Object.keys(event).find(function(key) {
531
- return key !== "__type";
532
- })) !== null && _Object_keys_find !== void 0 ? _Object_keys_find : "";
533
- var _this_writeEventBody = _this.writeEventBody(unionMember, unionSchema, event), additionalHeaders = _this_writeEventBody.additionalHeaders, body = _this_writeEventBody.body, eventType = _this_writeEventBody.eventType, explicitPayloadContentType = _this_writeEventBody.explicitPayloadContentType;
534
- var headers = _object_spread({
535
- ":event-type": {
536
- type: "string",
537
- value: eventType
538
- },
539
- ":message-type": {
540
- type: "string",
541
- value: "event"
542
- },
543
- ":content-type": {
544
- type: "string",
545
- value: explicitPayloadContentType !== null && explicitPayloadContentType !== void 0 ? explicitPayloadContentType : defaultContentType
546
- }
547
- }, additionalHeaders);
548
- return {
549
- headers: headers,
550
- body: body
551
- };
552
- })
1356
+ }), maxRetries)
553
1357
  ];
554
- });
555
- })();
1358
+ }
1359
+ });
1360
+ });
1361
+ return function getCredentials(maxRetries, options) {
1362
+ return _ref.apply(this, arguments);
1363
+ };
1364
+ }();
1365
+ return /*#__PURE__*/ _async_to_generator(function() {
1366
+ var endpoint, token, error;
1367
+ return _ts_generator(this, function(_state) {
1368
+ switch(_state.label){
1369
+ case 0:
1370
+ return [
1371
+ 4,
1372
+ getInstanceMetadataEndpoint()
1373
+ ];
1374
+ case 1:
1375
+ endpoint = _state.sent();
1376
+ if (!disableFetchToken) return [
1377
+ 3,
1378
+ 2
1379
+ ];
1380
+ logger === null || logger === void 0 ? void 0 : logger.debug("AWS SDK Instance Metadata", "using v1 fallback (no token fetch)");
1381
+ return [
1382
+ 2,
1383
+ getCredentials(maxRetries, _object_spread_props(_object_spread({}, endpoint), {
1384
+ timeout: timeout
1385
+ }))
1386
+ ];
1387
+ case 2:
1388
+ _state.trys.push([
1389
+ 2,
1390
+ 4,
1391
+ ,
1392
+ 5
1393
+ ]);
1394
+ return [
1395
+ 4,
1396
+ getMetadataToken(_object_spread_props(_object_spread({}, endpoint), {
1397
+ timeout: timeout
1398
+ }))
1399
+ ];
1400
+ case 3:
1401
+ token = _state.sent().toString();
1402
+ return [
1403
+ 3,
1404
+ 5
1405
+ ];
1406
+ case 4:
1407
+ error = _state.sent();
1408
+ if ((error === null || error === void 0 ? void 0 : error.statusCode) === 400) {
1409
+ throw Object.assign(error, {
1410
+ message: "EC2 Metadata token request returned error"
1411
+ });
1412
+ } else if (error.message === "TimeoutError" || [
1413
+ 403,
1414
+ 404,
1415
+ 405
1416
+ ].includes(error.statusCode)) {
1417
+ disableFetchToken = true;
1418
+ }
1419
+ logger === null || logger === void 0 ? void 0 : logger.debug("AWS SDK Instance Metadata", "using v1 fallback (initial)");
1420
+ return [
1421
+ 2,
1422
+ getCredentials(maxRetries, _object_spread_props(_object_spread({}, endpoint), {
1423
+ timeout: timeout
1424
+ }))
1425
+ ];
1426
+ case 5:
1427
+ return [
1428
+ 2,
1429
+ getCredentials(maxRetries, _object_spread_props(_object_spread({}, endpoint), {
1430
+ headers: _define_property({}, X_AWS_EC2_METADATA_TOKEN, token),
1431
+ timeout: timeout
1432
+ }))
1433
+ ];
1434
+ case 6:
1435
+ return [
1436
+ 2
1437
+ ];
556
1438
  }
557
- },
558
- {
559
- key: "deserializeEventStream",
560
- value: function deserializeEventStream(param) {
561
- var response = param.response, responseSchema = param.responseSchema, initialResponseContainer = param.initialResponseContainer;
562
- var _this = this;
563
- return _async_to_generator(function() {
564
- var _firstEvent_value, marshaller, eventStreamMember, unionSchema, memberSchemas, initialResponseMarker, asyncIterable, asyncIterator, firstEvent, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, _step_value, key, value;
565
- return _ts_generator(this, function(_state) {
566
- switch(_state.label){
567
- case 0:
568
- marshaller = _this.marshaller;
569
- eventStreamMember = responseSchema.getEventStreamMember();
570
- unionSchema = responseSchema.getMemberSchema(eventStreamMember);
571
- memberSchemas = unionSchema.getMemberSchemas();
572
- initialResponseMarker = Symbol("initialResponseMarker");
573
- asyncIterable = marshaller.deserialize(response.body, function() {
574
- var _ref = _async_to_generator(function(event) {
575
- var _Object_keys_find, unionMember, body, dataObject, eventStreamSchema, out, hasBindings, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, _step_value, name, member, _member_getMergedTraits, eventHeader, eventPayload, _this_serdeContext, _this_serdeContext_utf8Encoder, _event_unionMember_headers_name, value, err, _tmp;
576
- return _ts_generator(this, function(_state) {
577
- switch(_state.label){
578
- case 0:
579
- unionMember = (_Object_keys_find = Object.keys(event).find(function(key) {
580
- return key !== "__type";
581
- })) !== null && _Object_keys_find !== void 0 ? _Object_keys_find : "";
582
- body = event[unionMember].body;
583
- if (!(unionMember === "initial-response")) return [
584
- 3,
585
- 2
586
- ];
587
- return [
588
- 4,
589
- _this.deserializer.read(responseSchema, body)
590
- ];
591
- case 1:
592
- dataObject = _state.sent();
593
- delete dataObject[eventStreamMember];
594
- return [
595
- 2,
596
- _object_spread(_define_property({}, initialResponseMarker, true), dataObject)
597
- ];
598
- case 2:
599
- if (!(unionMember in memberSchemas)) return [
600
- 3,
601
- 17
602
- ];
603
- eventStreamSchema = memberSchemas[unionMember];
604
- if (!eventStreamSchema.isStructSchema()) return [
605
- 3,
606
- 15
607
- ];
608
- out = {};
609
- hasBindings = false;
610
- _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
611
- _state.label = 3;
612
- case 3:
613
- _state.trys.push([
614
- 3,
615
- 12,
616
- 13,
617
- 14
618
- ]);
619
- _iterator = eventStreamSchema.structIterator()[Symbol.iterator]();
620
- _state.label = 4;
621
- case 4:
622
- if (!!(_iteratorNormalCompletion = (_step = _iterator.next()).done)) return [
623
- 3,
624
- 11
625
- ];
626
- _step_value = _sliced_to_array(_step.value, 2), name = _step_value[0], member = _step_value[1];
627
- _member_getMergedTraits = member.getMergedTraits(), eventHeader = _member_getMergedTraits.eventHeader, eventPayload = _member_getMergedTraits.eventPayload;
628
- hasBindings = hasBindings || Boolean(eventHeader || eventPayload);
629
- if (!eventPayload) return [
630
- 3,
631
- 9
632
- ];
633
- if (!member.isBlobSchema()) return [
634
- 3,
635
- 5
636
- ];
637
- out[name] = body;
638
- return [
639
- 3,
640
- 8
641
- ];
642
- case 5:
643
- if (!member.isStringSchema()) return [
644
- 3,
645
- 6
646
- ];
647
- out[name] = ((_this_serdeContext_utf8Encoder = (_this_serdeContext = _this.serdeContext) === null || _this_serdeContext === void 0 ? void 0 : _this_serdeContext.utf8Encoder) !== null && _this_serdeContext_utf8Encoder !== void 0 ? _this_serdeContext_utf8Encoder : toUtf8)(body);
648
- return [
649
- 3,
650
- 8
651
- ];
652
- case 6:
653
- if (!member.isStructSchema()) return [
654
- 3,
655
- 8
656
- ];
657
- return [
658
- 4,
659
- _this.deserializer.read(member, body)
660
- ];
661
- case 7:
662
- out[name] = _state.sent();
663
- _state.label = 8;
664
- case 8:
665
- return [
666
- 3,
667
- 10
668
- ];
669
- case 9:
670
- if (eventHeader) {
671
- value = (_event_unionMember_headers_name = event[unionMember].headers[name]) === null || _event_unionMember_headers_name === void 0 ? void 0 : _event_unionMember_headers_name.value;
672
- if (value != null) {
673
- if (member.isNumericSchema()) {
674
- if (value && (typeof value === "undefined" ? "undefined" : _type_of(value)) === "object" && "bytes" in value) {
675
- out[name] = BigInt(value.toString());
676
- } else {
677
- out[name] = Number(value);
678
- }
679
- } else {
680
- out[name] = value;
681
- }
682
- }
683
- }
684
- _state.label = 10;
685
- case 10:
686
- _iteratorNormalCompletion = true;
687
- return [
688
- 3,
689
- 4
690
- ];
691
- case 11:
692
- return [
693
- 3,
694
- 14
695
- ];
696
- case 12:
697
- err = _state.sent();
698
- _didIteratorError = true;
699
- _iteratorError = err;
700
- return [
701
- 3,
702
- 14
703
- ];
704
- case 13:
705
- try {
706
- if (!_iteratorNormalCompletion && _iterator.return != null) {
707
- _iterator.return();
708
- }
709
- } finally{
710
- if (_didIteratorError) {
711
- throw _iteratorError;
712
- }
713
- }
714
- return [
715
- 7
716
- ];
717
- case 14:
718
- if (hasBindings) {
719
- return [
720
- 2,
721
- _define_property({}, unionMember, out)
722
- ];
723
- }
724
- if (body.byteLength === 0) {
725
- return [
726
- 2,
727
- _define_property({}, unionMember, {})
728
- ];
729
- }
730
- _state.label = 15;
731
- case 15:
732
- _tmp = [
733
- {},
734
- unionMember
735
- ];
736
- return [
737
- 4,
738
- _this.deserializer.read(eventStreamSchema, body)
739
- ];
740
- case 16:
741
- return [
742
- 2,
743
- _define_property.apply(void 0, _tmp.concat([
744
- _state.sent()
745
- ]))
746
- ];
747
- case 17:
748
- return [
749
- 2,
750
- {
751
- $unknown: event
752
- }
753
- ];
754
- case 18:
755
- return [
756
- 2
757
- ];
758
- }
759
- });
760
- });
761
- return function(event) {
762
- return _ref.apply(this, arguments);
763
- };
764
- }());
765
- asyncIterator = asyncIterable[Symbol.asyncIterator]();
766
- return [
767
- 4,
768
- asyncIterator.next()
769
- ];
770
- case 1:
771
- firstEvent = _state.sent();
772
- if (firstEvent.done) {
773
- return [
774
- 2,
775
- asyncIterable
776
- ];
777
- }
778
- if ((_firstEvent_value = firstEvent.value) === null || _firstEvent_value === void 0 ? void 0 : _firstEvent_value[initialResponseMarker]) {
779
- if (!responseSchema) {
780
- throw new Error("@smithy::core/protocols - initial-response event encountered in event stream but no response schema given.");
781
- }
782
- _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
783
- try {
784
- for(_iterator = Object.entries(firstEvent.value)[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
785
- _step_value = _sliced_to_array(_step.value, 2), key = _step_value[0], value = _step_value[1];
786
- initialResponseContainer[key] = value;
787
- }
788
- } catch (err) {
789
- _didIteratorError = true;
790
- _iteratorError = err;
791
- } finally{
792
- try {
793
- if (!_iteratorNormalCompletion && _iterator.return != null) {
794
- _iterator.return();
795
- }
796
- } finally{
797
- if (_didIteratorError) {
798
- throw _iteratorError;
799
- }
800
- }
801
- }
802
- }
803
- return [
804
- 2,
805
- _define_property({}, Symbol.asyncIterator, function() {
806
- return _wrap_async_generator(function() {
807
- var _firstEvent_value, _ref, done, value;
808
- return _ts_generator(this, function(_state) {
809
- switch(_state.label){
810
- case 0:
811
- if (!!(firstEvent === null || firstEvent === void 0 ? void 0 : (_firstEvent_value = firstEvent.value) === null || _firstEvent_value === void 0 ? void 0 : _firstEvent_value[initialResponseMarker])) return [
812
- 3,
813
- 2
814
- ];
815
- return [
816
- 4,
817
- firstEvent.value
818
- ];
819
- case 1:
820
- _state.sent();
821
- _state.label = 2;
822
- case 2:
823
- return [
824
- 4,
825
- asyncIterator.next()
826
- ];
827
- case 3:
828
- _ref = _state.sent(), done = _ref.done, value = _ref.value;
829
- if (done) {
830
- return [
831
- 3,
832
- 5
833
- ];
834
- }
835
- return [
836
- 4,
837
- value
838
- ];
839
- case 4:
840
- _state.sent();
841
- return [
842
- 3,
843
- 2
844
- ];
845
- case 5:
846
- return [
847
- 2
848
- ];
849
- }
850
- });
851
- })();
852
- })
853
- ];
854
- }
855
- });
856
- })();
1439
+ });
1440
+ });
1441
+ };
1442
+ var getMetadataToken = function() {
1443
+ var _ref = _async_to_generator(function(options) {
1444
+ return _ts_generator(this, function(_state) {
1445
+ return [
1446
+ 2,
1447
+ httpRequest(_object_spread_props(_object_spread({}, options), {
1448
+ path: IMDS_TOKEN_PATH,
1449
+ method: "PUT",
1450
+ headers: {
1451
+ "x-aws-ec2-metadata-token-ttl-seconds": "21600"
1452
+ }
1453
+ }))
1454
+ ];
1455
+ });
1456
+ });
1457
+ return function getMetadataToken(options) {
1458
+ return _ref.apply(this, arguments);
1459
+ };
1460
+ }();
1461
+ var getProfile = function() {
1462
+ var _ref = _async_to_generator(function(options) {
1463
+ return _ts_generator(this, function(_state) {
1464
+ switch(_state.label){
1465
+ case 0:
1466
+ return [
1467
+ 4,
1468
+ httpRequest(_object_spread_props(_object_spread({}, options), {
1469
+ path: IMDS_PATH
1470
+ }))
1471
+ ];
1472
+ case 1:
1473
+ return [
1474
+ 2,
1475
+ _state.sent().toString()
1476
+ ];
857
1477
  }
858
- },
859
- {
860
- key: "writeEventBody",
861
- value: function writeEventBody(unionMember, unionSchema, event) {
862
- var _this_serdeContext;
863
- var serializer = this.serializer;
864
- var eventType = unionMember;
865
- var explicitPayloadMember = null;
866
- var explicitPayloadContentType;
867
- var isKnownSchema = function() {
868
- var struct = unionSchema.getSchema();
869
- return struct[4].includes(unionMember);
870
- }();
871
- var additionalHeaders = {};
872
- if (!isKnownSchema) {
873
- var _event_unionMember = _sliced_to_array(event[unionMember], 2), type = _event_unionMember[0], value = _event_unionMember[1];
874
- eventType = type;
875
- serializer.write(15, value);
876
- } else {
877
- var eventSchema = unionSchema.getMemberSchema(unionMember);
878
- if (eventSchema.isStructSchema()) {
879
- var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
880
- try {
881
- for(var _iterator = eventSchema.structIterator()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
882
- var _step_value = _sliced_to_array(_step.value, 2), memberName = _step_value[0], memberSchema = _step_value[1];
883
- var _memberSchema_getMergedTraits = memberSchema.getMergedTraits(), eventHeader = _memberSchema_getMergedTraits.eventHeader, eventPayload = _memberSchema_getMergedTraits.eventPayload;
884
- if (eventPayload) {
885
- explicitPayloadMember = memberName;
886
- } else if (eventHeader) {
887
- var value1 = event[unionMember][memberName];
888
- var type1 = "binary";
889
- if (memberSchema.isNumericSchema()) {
890
- if (Math.pow(-2, 31) <= value1 && value1 <= Math.pow(2, 31) - 1) {
891
- type1 = "integer";
892
- } else {
893
- type1 = "long";
894
- }
895
- } else if (memberSchema.isTimestampSchema()) {
896
- type1 = "timestamp";
897
- } else if (memberSchema.isStringSchema()) {
898
- type1 = "string";
899
- } else if (memberSchema.isBooleanSchema()) {
900
- type1 = "boolean";
901
- }
902
- if (value1 != null) {
903
- additionalHeaders[memberName] = {
904
- type: type1,
905
- value: value1
906
- };
907
- delete event[unionMember][memberName];
908
- }
909
- }
910
- }
911
- } catch (err) {
912
- _didIteratorError = true;
913
- _iteratorError = err;
914
- } finally{
915
- try {
916
- if (!_iteratorNormalCompletion && _iterator.return != null) {
917
- _iterator.return();
918
- }
919
- } finally{
920
- if (_didIteratorError) {
921
- throw _iteratorError;
922
- }
923
- }
924
- }
925
- if (explicitPayloadMember !== null) {
926
- var payloadSchema = eventSchema.getMemberSchema(explicitPayloadMember);
927
- if (payloadSchema.isBlobSchema()) {
928
- explicitPayloadContentType = "application/octet-stream";
929
- } else if (payloadSchema.isStringSchema()) {
930
- explicitPayloadContentType = "text/plain";
931
- }
932
- serializer.write(payloadSchema, event[unionMember][explicitPayloadMember]);
933
- } else {
934
- serializer.write(eventSchema, event[unionMember]);
935
- }
936
- } else if (eventSchema.isUnitSchema()) {
937
- serializer.write(eventSchema, {});
938
- } else {
939
- throw new Error("@smithy/core/event-streams - non-struct member not supported in event stream union.");
1478
+ });
1479
+ });
1480
+ return function getProfile(options) {
1481
+ return _ref.apply(this, arguments);
1482
+ };
1483
+ }();
1484
+ var getCredentialsFromProfile = function() {
1485
+ var _ref = _async_to_generator(function(profile, options, init) {
1486
+ var credentialsResponse, _;
1487
+ return _ts_generator(this, function(_state) {
1488
+ switch(_state.label){
1489
+ case 0:
1490
+ _ = JSON.parse;
1491
+ return [
1492
+ 4,
1493
+ httpRequest(_object_spread_props(_object_spread({}, options), {
1494
+ path: IMDS_PATH + profile
1495
+ }))
1496
+ ];
1497
+ case 1:
1498
+ credentialsResponse = _.apply(JSON, [
1499
+ _state.sent().toString()
1500
+ ]);
1501
+ if (!isImdsCredentials(credentialsResponse)) {
1502
+ throw new CredentialsProviderError("Invalid response received from instance metadata service.", {
1503
+ logger: init.logger
1504
+ });
940
1505
  }
941
- }
942
- var messageSerialization = serializer.flush();
943
- var _this_serdeContext_utf8Decoder;
944
- var body = typeof messageSerialization === "string" ? ((_this_serdeContext_utf8Decoder = (_this_serdeContext = this.serdeContext) === null || _this_serdeContext === void 0 ? void 0 : _this_serdeContext.utf8Decoder) !== null && _this_serdeContext_utf8Decoder !== void 0 ? _this_serdeContext_utf8Decoder : fromUtf8)(messageSerialization) : messageSerialization;
945
- return {
946
- body: body,
947
- eventType: eventType,
948
- explicitPayloadContentType: explicitPayloadContentType,
949
- additionalHeaders: additionalHeaders
950
- };
1506
+ return [
1507
+ 2,
1508
+ fromImdsCredentials(credentialsResponse)
1509
+ ];
951
1510
  }
952
- }
953
- ]);
954
- return EventStreamSerde;
1511
+ });
1512
+ });
1513
+ return function getCredentialsFromProfile(profile, options, init) {
1514
+ return _ref.apply(this, arguments);
1515
+ };
955
1516
  }();
956
1517
 
957
- export { EventStreamSerde };
1518
+ export { DEFAULT_MAX_RETRIES, DEFAULT_TIMEOUT, ENV_CMDS_AUTH_TOKEN, ENV_CMDS_FULL_URI, ENV_CMDS_RELATIVE_URI, Endpoint, fromContainerMetadata, fromInstanceMetadata, getInstanceMetadataEndpoint, httpRequest, providerConfigFromInit };