@mavogel/awscdk-rootmail 0.0.106 → 0.0.108

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.
Files changed (63) hide show
  1. package/.jsii +9 -9
  2. package/lib/rootmail.js +1 -1
  3. package/lib/ses-receive.js +1 -1
  4. package/node_modules/@aws-sdk/client-cloudwatch-logs/package.json +5 -5
  5. package/node_modules/@aws-sdk/client-route-53/package.json +5 -5
  6. package/node_modules/@aws-sdk/client-s3/package.json +5 -5
  7. package/node_modules/@aws-sdk/client-ses/package.json +5 -5
  8. package/node_modules/@aws-sdk/client-ssm/package.json +5 -5
  9. package/node_modules/@aws-sdk/client-sso/package.json +2 -2
  10. package/node_modules/@aws-sdk/client-sso-oidc/package.json +4 -4
  11. package/node_modules/@aws-sdk/client-sts/dist-cjs/index.js +17 -4
  12. package/node_modules/@aws-sdk/client-sts/dist-es/defaultStsRoleAssumers.js +17 -4
  13. package/node_modules/@aws-sdk/client-sts/package.json +4 -4
  14. package/node_modules/@aws-sdk/core/account-id-endpoint.js +6 -0
  15. package/node_modules/@aws-sdk/core/dist-cjs/submodules/account-id-endpoint/index.js +97 -0
  16. package/node_modules/@aws-sdk/core/dist-es/submodules/account-id-endpoint/AccountIdEndpointModeConfigResolver.js +15 -0
  17. package/node_modules/@aws-sdk/core/dist-es/submodules/account-id-endpoint/AccountIdEndpointModeConstants.js +5 -0
  18. package/node_modules/@aws-sdk/core/dist-es/submodules/account-id-endpoint/NodeAccountIdEndpointModeConfigOptions.js +24 -0
  19. package/node_modules/@aws-sdk/core/dist-es/submodules/account-id-endpoint/index.js +3 -0
  20. package/node_modules/@aws-sdk/core/dist-types/submodules/account-id-endpoint/AccountIdEndpointModeConfigResolver.d.ts +30 -0
  21. package/node_modules/@aws-sdk/core/dist-types/submodules/account-id-endpoint/AccountIdEndpointModeConstants.d.ts +7 -0
  22. package/node_modules/@aws-sdk/core/dist-types/submodules/account-id-endpoint/NodeAccountIdEndpointModeConfigOptions.d.ts +14 -0
  23. package/node_modules/@aws-sdk/core/dist-types/submodules/account-id-endpoint/index.d.ts +3 -0
  24. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/account-id-endpoint/AccountIdEndpointModeConfigResolver.d.ts +15 -0
  25. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/account-id-endpoint/AccountIdEndpointModeConstants.d.ts +6 -0
  26. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/account-id-endpoint/NodeAccountIdEndpointModeConfigOptions.d.ts +7 -0
  27. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/account-id-endpoint/index.d.ts +3 -0
  28. package/node_modules/@aws-sdk/core/package.json +12 -2
  29. package/node_modules/@aws-sdk/credential-provider-env/dist-cjs/index.js +6 -1
  30. package/node_modules/@aws-sdk/credential-provider-env/dist-es/fromEnv.js +3 -0
  31. package/node_modules/@aws-sdk/credential-provider-env/dist-types/fromEnv.d.ts +4 -0
  32. package/node_modules/@aws-sdk/credential-provider-env/dist-types/ts3.4/fromEnv.d.ts +1 -0
  33. package/node_modules/@aws-sdk/credential-provider-env/package.json +1 -1
  34. package/node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js +3 -2
  35. package/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveStaticCredentials.js +4 -2
  36. package/node_modules/@aws-sdk/credential-provider-ini/dist-types/resolveStaticCredentials.d.ts +1 -0
  37. package/node_modules/@aws-sdk/credential-provider-ini/dist-types/ts3.4/resolveStaticCredentials.d.ts +1 -0
  38. package/node_modules/@aws-sdk/credential-provider-ini/package.json +5 -5
  39. package/node_modules/@aws-sdk/credential-provider-node/package.json +5 -5
  40. package/node_modules/@aws-sdk/credential-provider-process/dist-cjs/index.js +9 -3
  41. package/node_modules/@aws-sdk/credential-provider-process/dist-es/getValidatedProcessCredentials.js +6 -1
  42. package/node_modules/@aws-sdk/credential-provider-process/dist-es/resolveProcessCredentials.js +1 -1
  43. package/node_modules/@aws-sdk/credential-provider-process/dist-types/ProcessCredentials.d.ts +1 -0
  44. package/node_modules/@aws-sdk/credential-provider-process/dist-types/getValidatedProcessCredentials.d.ts +2 -2
  45. package/node_modules/@aws-sdk/credential-provider-process/dist-types/ts3.4/ProcessCredentials.d.ts +1 -0
  46. package/node_modules/@aws-sdk/credential-provider-process/dist-types/ts3.4/getValidatedProcessCredentials.d.ts +3 -2
  47. package/node_modules/@aws-sdk/credential-provider-process/package.json +1 -1
  48. package/node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js +11 -2
  49. package/node_modules/@aws-sdk/credential-provider-sso/dist-es/resolveSSOCredentials.js +9 -2
  50. package/node_modules/@aws-sdk/credential-provider-sso/package.json +2 -2
  51. package/node_modules/cdk-nag/.jsii +2 -2
  52. package/node_modules/cdk-nag/lib/ignore-suppression-conditions.js +5 -5
  53. package/node_modules/cdk-nag/lib/nag-logger.js +2 -2
  54. package/node_modules/cdk-nag/lib/nag-pack.js +1 -1
  55. package/node_modules/cdk-nag/lib/nag-rules.js +1 -1
  56. package/node_modules/cdk-nag/lib/nag-suppressions.js +1 -1
  57. package/node_modules/cdk-nag/lib/packs/aws-solutions.js +1 -1
  58. package/node_modules/cdk-nag/lib/packs/hipaa-security.js +1 -1
  59. package/node_modules/cdk-nag/lib/packs/nist-800-53-r4.js +1 -1
  60. package/node_modules/cdk-nag/lib/packs/nist-800-53-r5.js +1 -1
  61. package/node_modules/cdk-nag/lib/packs/pci-dss-321.js +1 -1
  62. package/node_modules/cdk-nag/package.json +2 -2
  63. package/package.json +8 -8
package/.jsii CHANGED
@@ -7,14 +7,14 @@
7
7
  ]
8
8
  },
9
9
  "bundled": {
10
- "@aws-sdk/client-cloudwatch-logs": "^3.620.0",
11
- "@aws-sdk/client-route-53": "^3.620.0",
12
- "@aws-sdk/client-s3": "^3.620.0",
13
- "@aws-sdk/client-ses": "^3.620.0",
14
- "@aws-sdk/client-ssm": "^3.620.0",
10
+ "@aws-sdk/client-cloudwatch-logs": "^3.620.1",
11
+ "@aws-sdk/client-route-53": "^3.620.1",
12
+ "@aws-sdk/client-s3": "^3.620.1",
13
+ "@aws-sdk/client-ses": "^3.620.1",
14
+ "@aws-sdk/client-ssm": "^3.620.1",
15
15
  "async-retry": "^1.3.3",
16
16
  "axios": "^1.7.2",
17
- "cdk-nag": "^2.28.167",
17
+ "cdk-nag": "^2.28.169",
18
18
  "mailparser": "^3.7.1",
19
19
  "uuid": "^9.0.1"
20
20
  },
@@ -3503,7 +3503,7 @@
3503
3503
  "stability": "stable"
3504
3504
  },
3505
3505
  "homepage": "https://github.com/MV-Consulting/awscdk-rootmail",
3506
- "jsiiVersion": "5.3.43 (build 07eeb6d)",
3506
+ "jsiiVersion": "5.3.46 (build 7ede562)",
3507
3507
  "keywords": [
3508
3508
  "aws",
3509
3509
  "cdk",
@@ -3877,6 +3877,6 @@
3877
3877
  "symbolId": "src/ses-receive:SESReceiveProps"
3878
3878
  }
3879
3879
  },
3880
- "version": "0.0.106",
3881
- "fingerprint": "F5W9XaGju907J37fM6AnBAKOEM02AnXaR3hBaEX69kI="
3880
+ "version": "0.0.108",
3881
+ "fingerprint": "VLTo5N+kOB2iwudNoQ2ncBSmLOojM4e2/6DceQypOWY="
3882
3882
  }
package/lib/rootmail.js CHANGED
@@ -74,7 +74,7 @@ class Rootmail extends constructs_1.Construct {
74
74
  }
75
75
  exports.Rootmail = Rootmail;
76
76
  _a = JSII_RTTI_SYMBOL_1;
77
- Rootmail[_a] = { fqn: "@mavogel/awscdk-rootmail.Rootmail", version: "0.0.106" };
77
+ Rootmail[_a] = { fqn: "@mavogel/awscdk-rootmail.Rootmail", version: "0.0.108" };
78
78
  /**
79
79
  * Aspect for setting all removal policies to DESTROY
80
80
  */
@@ -124,7 +124,7 @@ class SESReceive extends constructs_1.Construct {
124
124
  }
125
125
  exports.SESReceive = SESReceive;
126
126
  _a = JSII_RTTI_SYMBOL_1;
127
- SESReceive[_a] = { fqn: "@mavogel/awscdk-rootmail.SESReceive", version: "0.0.106" };
127
+ SESReceive[_a] = { fqn: "@mavogel/awscdk-rootmail.SESReceive", version: "0.0.108" };
128
128
  /**
129
129
  * Aspect for setting all removal policies to DESTROY
130
130
  */
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-cloudwatch-logs",
3
3
  "description": "AWS SDK for JavaScript Cloudwatch Logs Client for Node.js, Browser and React Native",
4
- "version": "3.620.0",
4
+ "version": "3.620.1",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-cloudwatch-logs",
@@ -20,10 +20,10 @@
20
20
  "dependencies": {
21
21
  "@aws-crypto/sha256-browser": "5.2.0",
22
22
  "@aws-crypto/sha256-js": "5.2.0",
23
- "@aws-sdk/client-sso-oidc": "3.620.0",
24
- "@aws-sdk/client-sts": "3.620.0",
25
- "@aws-sdk/core": "3.620.0",
26
- "@aws-sdk/credential-provider-node": "3.620.0",
23
+ "@aws-sdk/client-sso-oidc": "3.620.1",
24
+ "@aws-sdk/client-sts": "3.620.1",
25
+ "@aws-sdk/core": "3.620.1",
26
+ "@aws-sdk/credential-provider-node": "3.620.1",
27
27
  "@aws-sdk/middleware-host-header": "3.620.0",
28
28
  "@aws-sdk/middleware-logger": "3.609.0",
29
29
  "@aws-sdk/middleware-recursion-detection": "3.620.0",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-route-53",
3
3
  "description": "AWS SDK for JavaScript Route 53 Client for Node.js, Browser and React Native",
4
- "version": "3.620.0",
4
+ "version": "3.620.1",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-route-53",
@@ -20,10 +20,10 @@
20
20
  "dependencies": {
21
21
  "@aws-crypto/sha256-browser": "5.2.0",
22
22
  "@aws-crypto/sha256-js": "5.2.0",
23
- "@aws-sdk/client-sso-oidc": "3.620.0",
24
- "@aws-sdk/client-sts": "3.620.0",
25
- "@aws-sdk/core": "3.620.0",
26
- "@aws-sdk/credential-provider-node": "3.620.0",
23
+ "@aws-sdk/client-sso-oidc": "3.620.1",
24
+ "@aws-sdk/client-sts": "3.620.1",
25
+ "@aws-sdk/core": "3.620.1",
26
+ "@aws-sdk/credential-provider-node": "3.620.1",
27
27
  "@aws-sdk/middleware-host-header": "3.620.0",
28
28
  "@aws-sdk/middleware-logger": "3.609.0",
29
29
  "@aws-sdk/middleware-recursion-detection": "3.620.0",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-s3",
3
3
  "description": "AWS SDK for JavaScript S3 Client for Node.js, Browser and React Native",
4
- "version": "3.620.0",
4
+ "version": "3.620.1",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-s3",
@@ -26,10 +26,10 @@
26
26
  "@aws-crypto/sha1-browser": "5.2.0",
27
27
  "@aws-crypto/sha256-browser": "5.2.0",
28
28
  "@aws-crypto/sha256-js": "5.2.0",
29
- "@aws-sdk/client-sso-oidc": "3.620.0",
30
- "@aws-sdk/client-sts": "3.620.0",
31
- "@aws-sdk/core": "3.620.0",
32
- "@aws-sdk/credential-provider-node": "3.620.0",
29
+ "@aws-sdk/client-sso-oidc": "3.620.1",
30
+ "@aws-sdk/client-sts": "3.620.1",
31
+ "@aws-sdk/core": "3.620.1",
32
+ "@aws-sdk/credential-provider-node": "3.620.1",
33
33
  "@aws-sdk/middleware-bucket-endpoint": "3.620.0",
34
34
  "@aws-sdk/middleware-expect-continue": "3.620.0",
35
35
  "@aws-sdk/middleware-flexible-checksums": "3.620.0",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-ses",
3
3
  "description": "AWS SDK for JavaScript Ses Client for Node.js, Browser and React Native",
4
- "version": "3.620.0",
4
+ "version": "3.620.1",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-ses",
@@ -20,10 +20,10 @@
20
20
  "dependencies": {
21
21
  "@aws-crypto/sha256-browser": "5.2.0",
22
22
  "@aws-crypto/sha256-js": "5.2.0",
23
- "@aws-sdk/client-sso-oidc": "3.620.0",
24
- "@aws-sdk/client-sts": "3.620.0",
25
- "@aws-sdk/core": "3.620.0",
26
- "@aws-sdk/credential-provider-node": "3.620.0",
23
+ "@aws-sdk/client-sso-oidc": "3.620.1",
24
+ "@aws-sdk/client-sts": "3.620.1",
25
+ "@aws-sdk/core": "3.620.1",
26
+ "@aws-sdk/credential-provider-node": "3.620.1",
27
27
  "@aws-sdk/middleware-host-header": "3.620.0",
28
28
  "@aws-sdk/middleware-logger": "3.609.0",
29
29
  "@aws-sdk/middleware-recursion-detection": "3.620.0",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-ssm",
3
3
  "description": "AWS SDK for JavaScript Ssm Client for Node.js, Browser and React Native",
4
- "version": "3.620.0",
4
+ "version": "3.620.1",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-ssm",
@@ -20,10 +20,10 @@
20
20
  "dependencies": {
21
21
  "@aws-crypto/sha256-browser": "5.2.0",
22
22
  "@aws-crypto/sha256-js": "5.2.0",
23
- "@aws-sdk/client-sso-oidc": "3.620.0",
24
- "@aws-sdk/client-sts": "3.620.0",
25
- "@aws-sdk/core": "3.620.0",
26
- "@aws-sdk/credential-provider-node": "3.620.0",
23
+ "@aws-sdk/client-sso-oidc": "3.620.1",
24
+ "@aws-sdk/client-sts": "3.620.1",
25
+ "@aws-sdk/core": "3.620.1",
26
+ "@aws-sdk/credential-provider-node": "3.620.1",
27
27
  "@aws-sdk/middleware-host-header": "3.620.0",
28
28
  "@aws-sdk/middleware-logger": "3.609.0",
29
29
  "@aws-sdk/middleware-recursion-detection": "3.620.0",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-sso",
3
3
  "description": "AWS SDK for JavaScript Sso Client for Node.js, Browser and React Native",
4
- "version": "3.620.0",
4
+ "version": "3.620.1",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-sso",
@@ -20,7 +20,7 @@
20
20
  "dependencies": {
21
21
  "@aws-crypto/sha256-browser": "5.2.0",
22
22
  "@aws-crypto/sha256-js": "5.2.0",
23
- "@aws-sdk/core": "3.620.0",
23
+ "@aws-sdk/core": "3.620.1",
24
24
  "@aws-sdk/middleware-host-header": "3.620.0",
25
25
  "@aws-sdk/middleware-logger": "3.609.0",
26
26
  "@aws-sdk/middleware-recursion-detection": "3.620.0",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-sso-oidc",
3
3
  "description": "AWS SDK for JavaScript Sso Oidc Client for Node.js, Browser and React Native",
4
- "version": "3.620.0",
4
+ "version": "3.620.1",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-sso-oidc",
@@ -20,8 +20,8 @@
20
20
  "dependencies": {
21
21
  "@aws-crypto/sha256-browser": "5.2.0",
22
22
  "@aws-crypto/sha256-js": "5.2.0",
23
- "@aws-sdk/core": "3.620.0",
24
- "@aws-sdk/credential-provider-node": "3.620.0",
23
+ "@aws-sdk/core": "3.620.1",
24
+ "@aws-sdk/credential-provider-node": "3.620.1",
25
25
  "@aws-sdk/middleware-host-header": "3.620.0",
26
26
  "@aws-sdk/middleware-logger": "3.609.0",
27
27
  "@aws-sdk/middleware-recursion-detection": "3.620.0",
@@ -85,7 +85,7 @@
85
85
  },
86
86
  "license": "Apache-2.0",
87
87
  "peerDependencies": {
88
- "@aws-sdk/client-sts": "^3.620.0"
88
+ "@aws-sdk/client-sts": "^3.620.1"
89
89
  },
90
90
  "browser": {
91
91
  "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser"
@@ -1294,6 +1294,15 @@ var import_EndpointParameters9 = require("./endpoint/EndpointParameters");
1294
1294
 
1295
1295
  // src/defaultStsRoleAssumers.ts
1296
1296
  var ASSUME_ROLE_DEFAULT_REGION = "us-east-1";
1297
+ var getAccountIdFromAssumedRoleUser = /* @__PURE__ */ __name((assumedRoleUser) => {
1298
+ if (typeof (assumedRoleUser == null ? void 0 : assumedRoleUser.Arn) === "string") {
1299
+ const arnComponents = assumedRoleUser.Arn.split(":");
1300
+ if (arnComponents.length > 4 && arnComponents[4] !== "") {
1301
+ return arnComponents[4];
1302
+ }
1303
+ }
1304
+ return void 0;
1305
+ }, "getAccountIdFromAssumedRoleUser");
1297
1306
  var resolveRegion = /* @__PURE__ */ __name(async (_region, _parentRegion, credentialProviderLogger) => {
1298
1307
  var _a2;
1299
1308
  const region = typeof _region === "function" ? await _region() : _region;
@@ -1334,17 +1343,19 @@ var getDefaultRoleAssumer = /* @__PURE__ */ __name((stsOptions, stsClientCtor) =
1334
1343
  logger
1335
1344
  });
1336
1345
  }
1337
- const { Credentials: Credentials2 } = await stsClient.send(new AssumeRoleCommand(params));
1346
+ const { Credentials: Credentials2, AssumedRoleUser: AssumedRoleUser2 } = await stsClient.send(new AssumeRoleCommand(params));
1338
1347
  if (!Credentials2 || !Credentials2.AccessKeyId || !Credentials2.SecretAccessKey) {
1339
1348
  throw new Error(`Invalid response from STS.assumeRole call with role ${params.RoleArn}`);
1340
1349
  }
1350
+ const accountId = getAccountIdFromAssumedRoleUser(AssumedRoleUser2);
1341
1351
  return {
1342
1352
  accessKeyId: Credentials2.AccessKeyId,
1343
1353
  secretAccessKey: Credentials2.SecretAccessKey,
1344
1354
  sessionToken: Credentials2.SessionToken,
1345
1355
  expiration: Credentials2.Expiration,
1346
1356
  // TODO(credentialScope): access normally when shape is updated.
1347
- credentialScope: Credentials2.CredentialScope
1357
+ ...Credentials2.CredentialScope && { credentialScope: Credentials2.CredentialScope },
1358
+ ...accountId && { accountId }
1348
1359
  };
1349
1360
  };
1350
1361
  }, "getDefaultRoleAssumer");
@@ -1370,17 +1381,19 @@ var getDefaultRoleAssumerWithWebIdentity = /* @__PURE__ */ __name((stsOptions, s
1370
1381
  logger
1371
1382
  });
1372
1383
  }
1373
- const { Credentials: Credentials2 } = await stsClient.send(new AssumeRoleWithWebIdentityCommand(params));
1384
+ const { Credentials: Credentials2, AssumedRoleUser: AssumedRoleUser2 } = await stsClient.send(new AssumeRoleWithWebIdentityCommand(params));
1374
1385
  if (!Credentials2 || !Credentials2.AccessKeyId || !Credentials2.SecretAccessKey) {
1375
1386
  throw new Error(`Invalid response from STS.assumeRoleWithWebIdentity call with role ${params.RoleArn}`);
1376
1387
  }
1388
+ const accountId = getAccountIdFromAssumedRoleUser(AssumedRoleUser2);
1377
1389
  return {
1378
1390
  accessKeyId: Credentials2.AccessKeyId,
1379
1391
  secretAccessKey: Credentials2.SecretAccessKey,
1380
1392
  sessionToken: Credentials2.SessionToken,
1381
1393
  expiration: Credentials2.Expiration,
1382
1394
  // TODO(credentialScope): access normally when shape is updated.
1383
- credentialScope: Credentials2.CredentialScope
1395
+ ...Credentials2.CredentialScope && { credentialScope: Credentials2.CredentialScope },
1396
+ ...accountId && { accountId }
1384
1397
  };
1385
1398
  };
1386
1399
  }, "getDefaultRoleAssumerWithWebIdentity");
@@ -1,6 +1,15 @@
1
1
  import { AssumeRoleCommand } from "./commands/AssumeRoleCommand";
2
2
  import { AssumeRoleWithWebIdentityCommand, } from "./commands/AssumeRoleWithWebIdentityCommand";
3
3
  const ASSUME_ROLE_DEFAULT_REGION = "us-east-1";
4
+ const getAccountIdFromAssumedRoleUser = (assumedRoleUser) => {
5
+ if (typeof assumedRoleUser?.Arn === "string") {
6
+ const arnComponents = assumedRoleUser.Arn.split(":");
7
+ if (arnComponents.length > 4 && arnComponents[4] !== "") {
8
+ return arnComponents[4];
9
+ }
10
+ }
11
+ return undefined;
12
+ };
4
13
  const resolveRegion = async (_region, _parentRegion, credentialProviderLogger) => {
5
14
  const region = typeof _region === "function" ? await _region() : _region;
6
15
  const parentRegion = typeof _parentRegion === "function" ? await _parentRegion() : _parentRegion;
@@ -22,16 +31,18 @@ export const getDefaultRoleAssumer = (stsOptions, stsClientCtor) => {
22
31
  logger: logger,
23
32
  });
24
33
  }
25
- const { Credentials } = await stsClient.send(new AssumeRoleCommand(params));
34
+ const { Credentials, AssumedRoleUser } = await stsClient.send(new AssumeRoleCommand(params));
26
35
  if (!Credentials || !Credentials.AccessKeyId || !Credentials.SecretAccessKey) {
27
36
  throw new Error(`Invalid response from STS.assumeRole call with role ${params.RoleArn}`);
28
37
  }
38
+ const accountId = getAccountIdFromAssumedRoleUser(AssumedRoleUser);
29
39
  return {
30
40
  accessKeyId: Credentials.AccessKeyId,
31
41
  secretAccessKey: Credentials.SecretAccessKey,
32
42
  sessionToken: Credentials.SessionToken,
33
43
  expiration: Credentials.Expiration,
34
- credentialScope: Credentials.CredentialScope,
44
+ ...(Credentials.CredentialScope && { credentialScope: Credentials.CredentialScope }),
45
+ ...(accountId && { accountId }),
35
46
  };
36
47
  };
37
48
  };
@@ -47,16 +58,18 @@ export const getDefaultRoleAssumerWithWebIdentity = (stsOptions, stsClientCtor)
47
58
  logger: logger,
48
59
  });
49
60
  }
50
- const { Credentials } = await stsClient.send(new AssumeRoleWithWebIdentityCommand(params));
61
+ const { Credentials, AssumedRoleUser } = await stsClient.send(new AssumeRoleWithWebIdentityCommand(params));
51
62
  if (!Credentials || !Credentials.AccessKeyId || !Credentials.SecretAccessKey) {
52
63
  throw new Error(`Invalid response from STS.assumeRoleWithWebIdentity call with role ${params.RoleArn}`);
53
64
  }
65
+ const accountId = getAccountIdFromAssumedRoleUser(AssumedRoleUser);
54
66
  return {
55
67
  accessKeyId: Credentials.AccessKeyId,
56
68
  secretAccessKey: Credentials.SecretAccessKey,
57
69
  sessionToken: Credentials.SessionToken,
58
70
  expiration: Credentials.Expiration,
59
- credentialScope: Credentials.CredentialScope,
71
+ ...(Credentials.CredentialScope && { credentialScope: Credentials.CredentialScope }),
72
+ ...(accountId && { accountId }),
60
73
  };
61
74
  };
62
75
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-sts",
3
3
  "description": "AWS SDK for JavaScript Sts Client for Node.js, Browser and React Native",
4
- "version": "3.620.0",
4
+ "version": "3.620.1",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-sts",
@@ -22,9 +22,9 @@
22
22
  "dependencies": {
23
23
  "@aws-crypto/sha256-browser": "5.2.0",
24
24
  "@aws-crypto/sha256-js": "5.2.0",
25
- "@aws-sdk/client-sso-oidc": "3.620.0",
26
- "@aws-sdk/core": "3.620.0",
27
- "@aws-sdk/credential-provider-node": "3.620.0",
25
+ "@aws-sdk/client-sso-oidc": "3.620.1",
26
+ "@aws-sdk/core": "3.620.1",
27
+ "@aws-sdk/credential-provider-node": "3.620.1",
28
28
  "@aws-sdk/middleware-host-header": "3.620.0",
29
29
  "@aws-sdk/middleware-logger": "3.609.0",
30
30
  "@aws-sdk/middleware-recursion-detection": "3.620.0",
@@ -0,0 +1,6 @@
1
+
2
+ /**
3
+ * Do not edit:
4
+ * This is a compatibility redirect for contexts that do not understand package.json exports field.
5
+ */
6
+ module.exports = require("./dist-cjs/submodules/account-id-endpoint/index.js");
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+
21
+ // src/submodules/account-id-endpoint/index.ts
22
+ var account_id_endpoint_exports = {};
23
+ __export(account_id_endpoint_exports, {
24
+ ACCOUNT_ID_ENDPOINT_MODE_VALUES: () => ACCOUNT_ID_ENDPOINT_MODE_VALUES,
25
+ CONFIG_ACCOUNT_ID_ENDPOINT_MODE: () => CONFIG_ACCOUNT_ID_ENDPOINT_MODE,
26
+ DEFAULT_ACCOUNT_ID_ENDPOINT_MODE: () => DEFAULT_ACCOUNT_ID_ENDPOINT_MODE,
27
+ ENV_ACCOUNT_ID_ENDPOINT_MODE: () => ENV_ACCOUNT_ID_ENDPOINT_MODE,
28
+ NODE_ACCOUNT_ID_ENDPOINT_MODE_CONFIG_OPTIONS: () => NODE_ACCOUNT_ID_ENDPOINT_MODE_CONFIG_OPTIONS,
29
+ resolveAccountIdEndpointModeConfig: () => resolveAccountIdEndpointModeConfig,
30
+ validateAccountIdEndpointMode: () => validateAccountIdEndpointMode
31
+ });
32
+ module.exports = __toCommonJS(account_id_endpoint_exports);
33
+
34
+ // src/submodules/account-id-endpoint/AccountIdEndpointModeConfigResolver.ts
35
+ var import_util_middleware = require("@smithy/util-middleware");
36
+
37
+ // src/submodules/account-id-endpoint/AccountIdEndpointModeConstants.ts
38
+ var DEFAULT_ACCOUNT_ID_ENDPOINT_MODE = "preferred";
39
+ var ACCOUNT_ID_ENDPOINT_MODE_VALUES = ["disabled", "preferred", "required"];
40
+ function validateAccountIdEndpointMode(value) {
41
+ return ACCOUNT_ID_ENDPOINT_MODE_VALUES.includes(value);
42
+ }
43
+ __name(validateAccountIdEndpointMode, "validateAccountIdEndpointMode");
44
+
45
+ // src/submodules/account-id-endpoint/AccountIdEndpointModeConfigResolver.ts
46
+ var resolveAccountIdEndpointModeConfig = /* @__PURE__ */ __name((input) => {
47
+ return {
48
+ ...input,
49
+ accountIdEndpointMode: async () => {
50
+ const accountIdEndpointModeProvider = (0, import_util_middleware.normalizeProvider)(
51
+ input.accountIdEndpointMode ?? DEFAULT_ACCOUNT_ID_ENDPOINT_MODE
52
+ );
53
+ const accIdMode = await accountIdEndpointModeProvider();
54
+ if (!validateAccountIdEndpointMode(accIdMode)) {
55
+ throw new Error(
56
+ `Invalid value for accountIdEndpointMode: ${accIdMode}. Valid values are: "required", "preferred", "disabled".`
57
+ );
58
+ }
59
+ return accIdMode;
60
+ }
61
+ };
62
+ }, "resolveAccountIdEndpointModeConfig");
63
+
64
+ // src/submodules/account-id-endpoint/NodeAccountIdEndpointModeConfigOptions.ts
65
+ var err = "Invalid AccountIdEndpointMode value";
66
+ var _throw = /* @__PURE__ */ __name((message) => {
67
+ throw new Error(message);
68
+ }, "_throw");
69
+ var ENV_ACCOUNT_ID_ENDPOINT_MODE = "AWS_ACCOUNT_ID_ENDPOINT_MODE";
70
+ var CONFIG_ACCOUNT_ID_ENDPOINT_MODE = "account_id_endpoint_mode";
71
+ var NODE_ACCOUNT_ID_ENDPOINT_MODE_CONFIG_OPTIONS = {
72
+ environmentVariableSelector: (env) => {
73
+ const value = env[ENV_ACCOUNT_ID_ENDPOINT_MODE];
74
+ if (value && !validateAccountIdEndpointMode(value)) {
75
+ _throw(err);
76
+ }
77
+ return value;
78
+ },
79
+ configFileSelector: (profile) => {
80
+ const value = profile[CONFIG_ACCOUNT_ID_ENDPOINT_MODE];
81
+ if (value && !validateAccountIdEndpointMode(value)) {
82
+ _throw(err);
83
+ }
84
+ return value;
85
+ },
86
+ default: DEFAULT_ACCOUNT_ID_ENDPOINT_MODE
87
+ };
88
+ // Annotate the CommonJS export names for ESM import in node:
89
+ 0 && (module.exports = {
90
+ ACCOUNT_ID_ENDPOINT_MODE_VALUES,
91
+ CONFIG_ACCOUNT_ID_ENDPOINT_MODE,
92
+ DEFAULT_ACCOUNT_ID_ENDPOINT_MODE,
93
+ ENV_ACCOUNT_ID_ENDPOINT_MODE,
94
+ NODE_ACCOUNT_ID_ENDPOINT_MODE_CONFIG_OPTIONS,
95
+ resolveAccountIdEndpointModeConfig,
96
+ validateAccountIdEndpointMode
97
+ });
@@ -0,0 +1,15 @@
1
+ import { normalizeProvider } from "@smithy/util-middleware";
2
+ import { DEFAULT_ACCOUNT_ID_ENDPOINT_MODE, validateAccountIdEndpointMode, } from "./AccountIdEndpointModeConstants";
3
+ export const resolveAccountIdEndpointModeConfig = (input) => {
4
+ return {
5
+ ...input,
6
+ accountIdEndpointMode: async () => {
7
+ const accountIdEndpointModeProvider = normalizeProvider(input.accountIdEndpointMode ?? DEFAULT_ACCOUNT_ID_ENDPOINT_MODE);
8
+ const accIdMode = await accountIdEndpointModeProvider();
9
+ if (!validateAccountIdEndpointMode(accIdMode)) {
10
+ throw new Error(`Invalid value for accountIdEndpointMode: ${accIdMode}. Valid values are: "required", "preferred", "disabled".`);
11
+ }
12
+ return accIdMode;
13
+ },
14
+ };
15
+ };
@@ -0,0 +1,5 @@
1
+ export const DEFAULT_ACCOUNT_ID_ENDPOINT_MODE = "preferred";
2
+ export const ACCOUNT_ID_ENDPOINT_MODE_VALUES = ["disabled", "preferred", "required"];
3
+ export function validateAccountIdEndpointMode(value) {
4
+ return ACCOUNT_ID_ENDPOINT_MODE_VALUES.includes(value);
5
+ }
@@ -0,0 +1,24 @@
1
+ import { DEFAULT_ACCOUNT_ID_ENDPOINT_MODE, validateAccountIdEndpointMode, } from "./AccountIdEndpointModeConstants";
2
+ const err = "Invalid AccountIdEndpointMode value";
3
+ const _throw = (message) => {
4
+ throw new Error(message);
5
+ };
6
+ export const ENV_ACCOUNT_ID_ENDPOINT_MODE = "AWS_ACCOUNT_ID_ENDPOINT_MODE";
7
+ export const CONFIG_ACCOUNT_ID_ENDPOINT_MODE = "account_id_endpoint_mode";
8
+ export const NODE_ACCOUNT_ID_ENDPOINT_MODE_CONFIG_OPTIONS = {
9
+ environmentVariableSelector: (env) => {
10
+ const value = env[ENV_ACCOUNT_ID_ENDPOINT_MODE];
11
+ if (value && !validateAccountIdEndpointMode(value)) {
12
+ _throw(err);
13
+ }
14
+ return value;
15
+ },
16
+ configFileSelector: (profile) => {
17
+ const value = profile[CONFIG_ACCOUNT_ID_ENDPOINT_MODE];
18
+ if (value && !validateAccountIdEndpointMode(value)) {
19
+ _throw(err);
20
+ }
21
+ return value;
22
+ },
23
+ default: DEFAULT_ACCOUNT_ID_ENDPOINT_MODE,
24
+ };
@@ -0,0 +1,3 @@
1
+ export * from "./AccountIdEndpointModeConfigResolver";
2
+ export * from "./AccountIdEndpointModeConstants";
3
+ export * from "./NodeAccountIdEndpointModeConfigOptions";
@@ -0,0 +1,30 @@
1
+ import { Provider } from "@smithy/types";
2
+ import { AccountIdEndpointMode } from "./AccountIdEndpointModeConstants";
3
+ /**
4
+ * @public
5
+ */
6
+ export interface AccountIdEndpointModeInputConfig {
7
+ /**
8
+ * The account ID endpoint mode to use.
9
+ */
10
+ accountIdEndpointMode?: AccountIdEndpointMode | Provider<AccountIdEndpointMode>;
11
+ }
12
+ /**
13
+ * @internal
14
+ */
15
+ interface PreviouslyResolved {
16
+ }
17
+ /**
18
+ * @internal
19
+ */
20
+ export interface AccountIdEndpointModeResolvedConfig {
21
+ /**
22
+ * Resolved value for input config {config.accountIdEndpointMode}
23
+ */
24
+ accountIdEndpointMode: Provider<AccountIdEndpointMode>;
25
+ }
26
+ /**
27
+ * @internal
28
+ */
29
+ export declare const resolveAccountIdEndpointModeConfig: <T>(input: T & AccountIdEndpointModeInputConfig & PreviouslyResolved) => T & AccountIdEndpointModeResolvedConfig;
30
+ export {};
@@ -0,0 +1,7 @@
1
+ export type AccountIdEndpointMode = "disabled" | "preferred" | "required";
2
+ export declare const DEFAULT_ACCOUNT_ID_ENDPOINT_MODE = "preferred";
3
+ export declare const ACCOUNT_ID_ENDPOINT_MODE_VALUES: AccountIdEndpointMode[];
4
+ /**
5
+ * @internal
6
+ */
7
+ export declare function validateAccountIdEndpointMode(value: any): value is AccountIdEndpointMode;
@@ -0,0 +1,14 @@
1
+ import { LoadedConfigSelectors } from "@smithy/node-config-provider";
2
+ import { AccountIdEndpointMode } from "./AccountIdEndpointModeConstants";
3
+ /**
4
+ * @internal
5
+ */
6
+ export declare const ENV_ACCOUNT_ID_ENDPOINT_MODE = "AWS_ACCOUNT_ID_ENDPOINT_MODE";
7
+ /**
8
+ * @internal
9
+ */
10
+ export declare const CONFIG_ACCOUNT_ID_ENDPOINT_MODE = "account_id_endpoint_mode";
11
+ /**
12
+ * @internal
13
+ */
14
+ export declare const NODE_ACCOUNT_ID_ENDPOINT_MODE_CONFIG_OPTIONS: LoadedConfigSelectors<AccountIdEndpointMode>;
@@ -0,0 +1,3 @@
1
+ export * from "./AccountIdEndpointModeConfigResolver";
2
+ export * from "./AccountIdEndpointModeConstants";
3
+ export * from "./NodeAccountIdEndpointModeConfigOptions";
@@ -0,0 +1,15 @@
1
+ import { Provider } from "@smithy/types";
2
+ import { AccountIdEndpointMode } from "./AccountIdEndpointModeConstants";
3
+ export interface AccountIdEndpointModeInputConfig {
4
+ accountIdEndpointMode?:
5
+ | AccountIdEndpointMode
6
+ | Provider<AccountIdEndpointMode>;
7
+ }
8
+ interface PreviouslyResolved {}
9
+ export interface AccountIdEndpointModeResolvedConfig {
10
+ accountIdEndpointMode: Provider<AccountIdEndpointMode>;
11
+ }
12
+ export declare const resolveAccountIdEndpointModeConfig: <T>(
13
+ input: T & AccountIdEndpointModeInputConfig & PreviouslyResolved
14
+ ) => T & AccountIdEndpointModeResolvedConfig;
15
+ export {};
@@ -0,0 +1,6 @@
1
+ export type AccountIdEndpointMode = "disabled" | "preferred" | "required";
2
+ export declare const DEFAULT_ACCOUNT_ID_ENDPOINT_MODE = "preferred";
3
+ export declare const ACCOUNT_ID_ENDPOINT_MODE_VALUES: AccountIdEndpointMode[];
4
+ export declare function validateAccountIdEndpointMode(
5
+ value: any
6
+ ): value is AccountIdEndpointMode;
@@ -0,0 +1,7 @@
1
+ import { LoadedConfigSelectors } from "@smithy/node-config-provider";
2
+ import { AccountIdEndpointMode } from "./AccountIdEndpointModeConstants";
3
+ export declare const ENV_ACCOUNT_ID_ENDPOINT_MODE =
4
+ "AWS_ACCOUNT_ID_ENDPOINT_MODE";
5
+ export declare const CONFIG_ACCOUNT_ID_ENDPOINT_MODE =
6
+ "account_id_endpoint_mode";
7
+ export declare const NODE_ACCOUNT_ID_ENDPOINT_MODE_CONFIG_OPTIONS: LoadedConfigSelectors<AccountIdEndpointMode>;
@@ -0,0 +1,3 @@
1
+ export * from "./AccountIdEndpointModeConfigResolver";
2
+ export * from "./AccountIdEndpointModeConstants";
3
+ export * from "./NodeAccountIdEndpointModeConfigOptions";