@cdklabs/cdk-ecs-codedeploy 0.0.172 → 0.0.174

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 (159) hide show
  1. package/.jsii +3 -3
  2. package/lib/api-canary/index.js +1 -1
  3. package/lib/ecs-appspec/index.js +1 -1
  4. package/lib/ecs-deployment/index.js +1 -1
  5. package/lib/ecs-patterns/application-load-balanced-codedeployed-fargate-service.js +1 -1
  6. package/node_modules/@aws-crypto/crc32/CHANGELOG.md +76 -0
  7. package/node_modules/@aws-crypto/crc32/LICENSE +201 -0
  8. package/node_modules/@aws-crypto/crc32/README.md +16 -0
  9. package/node_modules/@aws-crypto/crc32/build/aws_crc32.d.ts +7 -0
  10. package/node_modules/@aws-crypto/crc32/build/aws_crc32.js +31 -0
  11. package/node_modules/@aws-crypto/crc32/build/aws_crc32.js.map +1 -0
  12. package/node_modules/@aws-crypto/crc32/build/index.d.ts +7 -0
  13. package/node_modules/@aws-crypto/crc32/build/index.js +108 -0
  14. package/node_modules/@aws-crypto/crc32/build/index.js.map +1 -0
  15. package/node_modules/@aws-crypto/crc32/node_modules/tslib/CopyrightNotice.txt +15 -0
  16. package/node_modules/@aws-crypto/crc32/node_modules/tslib/LICENSE.txt +12 -0
  17. package/node_modules/@aws-crypto/crc32/node_modules/tslib/README.md +142 -0
  18. package/node_modules/@aws-crypto/crc32/node_modules/tslib/modules/index.js +51 -0
  19. package/node_modules/@aws-crypto/crc32/node_modules/tslib/modules/package.json +3 -0
  20. package/node_modules/@aws-crypto/crc32/node_modules/tslib/package.json +37 -0
  21. package/node_modules/@aws-crypto/crc32/node_modules/tslib/test/validateModuleExportsMatchCommonJS/index.js +23 -0
  22. package/node_modules/@aws-crypto/crc32/node_modules/tslib/test/validateModuleExportsMatchCommonJS/package.json +6 -0
  23. package/node_modules/@aws-crypto/crc32/node_modules/tslib/tslib.d.ts +37 -0
  24. package/node_modules/@aws-crypto/crc32/node_modules/tslib/tslib.es6.html +1 -0
  25. package/node_modules/@aws-crypto/crc32/node_modules/tslib/tslib.es6.js +218 -0
  26. package/node_modules/@aws-crypto/crc32/node_modules/tslib/tslib.html +1 -0
  27. package/node_modules/@aws-crypto/crc32/node_modules/tslib/tslib.js +284 -0
  28. package/node_modules/@aws-crypto/crc32/package.json +28 -0
  29. package/node_modules/@aws-crypto/crc32/src/aws_crc32.ts +24 -0
  30. package/node_modules/@aws-crypto/crc32/src/index.ts +92 -0
  31. package/node_modules/@aws-crypto/crc32/tsconfig.json +23 -0
  32. package/node_modules/@aws-sdk/abort-controller/package.json +2 -2
  33. package/node_modules/@aws-sdk/client-codedeploy/package.json +29 -29
  34. package/node_modules/@aws-sdk/client-sso/package.json +25 -25
  35. package/node_modules/@aws-sdk/client-sso-oidc/package.json +25 -25
  36. package/node_modules/@aws-sdk/client-sts/package.json +28 -28
  37. package/node_modules/@aws-sdk/config-resolver/package.json +4 -4
  38. package/node_modules/@aws-sdk/credential-provider-env/package.json +3 -3
  39. package/node_modules/@aws-sdk/credential-provider-imds/package.json +5 -5
  40. package/node_modules/@aws-sdk/credential-provider-ini/package.json +9 -9
  41. package/node_modules/@aws-sdk/credential-provider-node/package.json +10 -10
  42. package/node_modules/@aws-sdk/credential-provider-process/package.json +4 -4
  43. package/node_modules/@aws-sdk/credential-provider-sso/package.json +6 -6
  44. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +3 -3
  45. package/node_modules/@aws-sdk/eventstream-codec/LICENSE +201 -0
  46. package/node_modules/@aws-sdk/eventstream-codec/README.md +4 -0
  47. package/node_modules/@aws-sdk/eventstream-codec/dist-cjs/EventStreamCodec.js +66 -0
  48. package/node_modules/@aws-sdk/eventstream-codec/dist-cjs/HeaderMarshaller.js +186 -0
  49. package/node_modules/@aws-sdk/eventstream-codec/dist-cjs/Int64.js +47 -0
  50. package/node_modules/@aws-sdk/eventstream-codec/dist-cjs/Message.js +2 -0
  51. package/node_modules/@aws-sdk/eventstream-codec/dist-cjs/MessageDecoderStream.js +18 -0
  52. package/node_modules/@aws-sdk/eventstream-codec/dist-cjs/MessageEncoderStream.js +21 -0
  53. package/node_modules/@aws-sdk/eventstream-codec/dist-cjs/SmithyMessageDecoderStream.js +20 -0
  54. package/node_modules/@aws-sdk/eventstream-codec/dist-cjs/SmithyMessageEncoderStream.js +18 -0
  55. package/node_modules/@aws-sdk/eventstream-codec/dist-cjs/TestVectors.fixture.js +149 -0
  56. package/node_modules/@aws-sdk/eventstream-codec/dist-cjs/index.js +11 -0
  57. package/node_modules/@aws-sdk/eventstream-codec/dist-cjs/splitMessage.js +34 -0
  58. package/node_modules/@aws-sdk/eventstream-codec/dist-cjs/vectorTypes.fixture.js +2 -0
  59. package/node_modules/@aws-sdk/eventstream-codec/dist-es/EventStreamCodec.js +62 -0
  60. package/node_modules/@aws-sdk/eventstream-codec/dist-es/HeaderMarshaller.js +182 -0
  61. package/node_modules/@aws-sdk/eventstream-codec/dist-es/Int64.js +43 -0
  62. package/node_modules/@aws-sdk/eventstream-codec/dist-es/Message.js +1 -0
  63. package/node_modules/@aws-sdk/eventstream-codec/dist-es/MessageDecoderStream.js +14 -0
  64. package/node_modules/@aws-sdk/eventstream-codec/dist-es/MessageEncoderStream.js +17 -0
  65. package/node_modules/@aws-sdk/eventstream-codec/dist-es/SmithyMessageDecoderStream.js +16 -0
  66. package/node_modules/@aws-sdk/eventstream-codec/dist-es/SmithyMessageEncoderStream.js +14 -0
  67. package/node_modules/@aws-sdk/eventstream-codec/dist-es/TestVectors.fixture.js +146 -0
  68. package/node_modules/@aws-sdk/eventstream-codec/dist-es/index.js +8 -0
  69. package/node_modules/@aws-sdk/eventstream-codec/dist-es/splitMessage.js +30 -0
  70. package/node_modules/@aws-sdk/eventstream-codec/dist-es/vectorTypes.fixture.js +1 -0
  71. package/node_modules/@aws-sdk/eventstream-codec/dist-types/EventStreamCodec.d.ts +31 -0
  72. package/node_modules/@aws-sdk/eventstream-codec/dist-types/HeaderMarshaller.d.ts +12 -0
  73. package/node_modules/@aws-sdk/eventstream-codec/dist-types/Int64.d.ts +20 -0
  74. package/node_modules/@aws-sdk/eventstream-codec/dist-types/Message.d.ts +26 -0
  75. package/node_modules/@aws-sdk/eventstream-codec/dist-types/MessageDecoderStream.d.ts +17 -0
  76. package/node_modules/@aws-sdk/eventstream-codec/dist-types/MessageEncoderStream.d.ts +18 -0
  77. package/node_modules/@aws-sdk/eventstream-codec/dist-types/SmithyMessageDecoderStream.d.ts +17 -0
  78. package/node_modules/@aws-sdk/eventstream-codec/dist-types/SmithyMessageEncoderStream.d.ts +17 -0
  79. package/node_modules/@aws-sdk/eventstream-codec/dist-types/TestVectors.fixture.d.ts +2 -0
  80. package/node_modules/@aws-sdk/eventstream-codec/dist-types/index.d.ts +8 -0
  81. package/node_modules/@aws-sdk/eventstream-codec/dist-types/splitMessage.d.ts +11 -0
  82. package/node_modules/@aws-sdk/eventstream-codec/dist-types/ts3.4/EventStreamCodec.d.ts +24 -0
  83. package/node_modules/@aws-sdk/eventstream-codec/dist-types/ts3.4/HeaderMarshaller.d.ts +9 -0
  84. package/node_modules/@aws-sdk/eventstream-codec/dist-types/ts3.4/Int64.d.ts +9 -0
  85. package/node_modules/@aws-sdk/eventstream-codec/dist-types/ts3.4/Message.d.ts +30 -0
  86. package/node_modules/@aws-sdk/eventstream-codec/dist-types/ts3.4/MessageDecoderStream.d.ts +11 -0
  87. package/node_modules/@aws-sdk/eventstream-codec/dist-types/ts3.4/MessageEncoderStream.d.ts +12 -0
  88. package/node_modules/@aws-sdk/eventstream-codec/dist-types/ts3.4/SmithyMessageDecoderStream.d.ts +11 -0
  89. package/node_modules/@aws-sdk/eventstream-codec/dist-types/ts3.4/SmithyMessageEncoderStream.d.ts +13 -0
  90. package/node_modules/@aws-sdk/eventstream-codec/dist-types/ts3.4/TestVectors.fixture.d.ts +2 -0
  91. package/node_modules/@aws-sdk/eventstream-codec/dist-types/ts3.4/index.d.ts +8 -0
  92. package/node_modules/@aws-sdk/eventstream-codec/dist-types/ts3.4/splitMessage.d.ts +9 -0
  93. package/node_modules/@aws-sdk/eventstream-codec/dist-types/ts3.4/vectorTypes.fixture.d.ts +12 -0
  94. package/node_modules/@aws-sdk/eventstream-codec/dist-types/vectorTypes.fixture.d.ts +12 -0
  95. package/node_modules/@aws-sdk/eventstream-codec/package.json +57 -0
  96. package/node_modules/@aws-sdk/fetch-http-handler/package.json +5 -5
  97. package/node_modules/@aws-sdk/hash-node/package.json +2 -2
  98. package/node_modules/@aws-sdk/invalid-dependency/package.json +2 -2
  99. package/node_modules/@aws-sdk/middleware-content-length/package.json +3 -3
  100. package/node_modules/@aws-sdk/middleware-endpoint/package.json +5 -5
  101. package/node_modules/@aws-sdk/middleware-host-header/package.json +3 -3
  102. package/node_modules/@aws-sdk/middleware-logger/package.json +2 -2
  103. package/node_modules/@aws-sdk/middleware-recursion-detection/package.json +3 -3
  104. package/node_modules/@aws-sdk/middleware-retry/package.json +7 -7
  105. package/node_modules/@aws-sdk/middleware-sdk-sts/package.json +3 -3
  106. package/node_modules/@aws-sdk/middleware-serde/package.json +2 -2
  107. package/node_modules/@aws-sdk/middleware-signing/dist-cjs/index.js +2 -2
  108. package/node_modules/@aws-sdk/middleware-signing/dist-es/index.js +2 -2
  109. package/node_modules/@aws-sdk/middleware-signing/dist-types/{middleware.d.ts → awsAuthMiddleware.d.ts} +1 -1
  110. package/node_modules/@aws-sdk/middleware-signing/dist-types/index.d.ts +2 -2
  111. package/node_modules/@aws-sdk/middleware-signing/dist-types/ts3.4/{middleware.d.ts → awsAuthMiddleware.d.ts} +1 -1
  112. package/node_modules/@aws-sdk/middleware-signing/dist-types/ts3.4/index.d.ts +2 -2
  113. package/node_modules/@aws-sdk/middleware-signing/package.json +6 -6
  114. package/node_modules/@aws-sdk/middleware-stack/package.json +2 -2
  115. package/node_modules/@aws-sdk/middleware-user-agent/package.json +4 -4
  116. package/node_modules/@aws-sdk/node-config-provider/package.json +4 -4
  117. package/node_modules/@aws-sdk/node-http-handler/package.json +5 -5
  118. package/node_modules/@aws-sdk/property-provider/package.json +2 -2
  119. package/node_modules/@aws-sdk/protocol-http/package.json +2 -2
  120. package/node_modules/@aws-sdk/querystring-builder/package.json +2 -2
  121. package/node_modules/@aws-sdk/querystring-parser/package.json +2 -2
  122. package/node_modules/@aws-sdk/service-error-classification/package.json +2 -2
  123. package/node_modules/@aws-sdk/shared-ini-file-loader/package.json +2 -2
  124. package/node_modules/@aws-sdk/signature-v4/dist-cjs/SignatureV4.js +19 -0
  125. package/node_modules/@aws-sdk/signature-v4/dist-es/SignatureV4.js +20 -1
  126. package/node_modules/@aws-sdk/signature-v4/dist-types/SignatureV4.d.ts +5 -2
  127. package/node_modules/@aws-sdk/signature-v4/dist-types/ts3.4/SignatureV4.d.ts +18 -1
  128. package/node_modules/@aws-sdk/signature-v4/package.json +5 -4
  129. package/node_modules/@aws-sdk/smithy-client/package.json +3 -3
  130. package/node_modules/@aws-sdk/token-providers/package.json +5 -5
  131. package/node_modules/@aws-sdk/types/dist-cjs/encode.js +2 -0
  132. package/node_modules/@aws-sdk/types/dist-cjs/index.js +1 -0
  133. package/node_modules/@aws-sdk/types/dist-es/encode.js +1 -0
  134. package/node_modules/@aws-sdk/types/dist-es/index.js +1 -0
  135. package/node_modules/@aws-sdk/types/dist-types/encode.d.ts +19 -0
  136. package/node_modules/@aws-sdk/types/dist-types/eventStream.d.ts +14 -63
  137. package/node_modules/@aws-sdk/types/dist-types/index.d.ts +1 -0
  138. package/node_modules/@aws-sdk/types/dist-types/signature.d.ts +22 -0
  139. package/node_modules/@aws-sdk/types/dist-types/ts3.4/encode.d.ts +19 -0
  140. package/node_modules/@aws-sdk/types/dist-types/ts3.4/eventStream.d.ts +14 -36
  141. package/node_modules/@aws-sdk/types/dist-types/ts3.4/index.d.ts +1 -0
  142. package/node_modules/@aws-sdk/types/dist-types/ts3.4/signature.d.ts +19 -0
  143. package/node_modules/@aws-sdk/types/package.json +1 -1
  144. package/node_modules/@aws-sdk/url-parser/package.json +3 -3
  145. package/node_modules/@aws-sdk/util-defaults-mode-browser/package.json +4 -4
  146. package/node_modules/@aws-sdk/util-defaults-mode-node/package.json +7 -7
  147. package/node_modules/@aws-sdk/util-endpoints/package.json +2 -2
  148. package/node_modules/@aws-sdk/util-middleware/package.json +2 -2
  149. package/node_modules/@aws-sdk/util-retry/package.json +3 -3
  150. package/node_modules/@aws-sdk/util-user-agent-browser/package.json +2 -2
  151. package/node_modules/@aws-sdk/util-user-agent-node/package.json +3 -3
  152. package/node_modules/@aws-sdk/util-waiter/package.json +3 -3
  153. package/package.json +4 -4
  154. /package/node_modules/@aws-sdk/middleware-signing/dist-cjs/{configurations.js → awsAuthConfiguration.js} +0 -0
  155. /package/node_modules/@aws-sdk/middleware-signing/dist-cjs/{middleware.js → awsAuthMiddleware.js} +0 -0
  156. /package/node_modules/@aws-sdk/middleware-signing/dist-es/{configurations.js → awsAuthConfiguration.js} +0 -0
  157. /package/node_modules/@aws-sdk/middleware-signing/dist-es/{middleware.js → awsAuthMiddleware.js} +0 -0
  158. /package/node_modules/@aws-sdk/middleware-signing/dist-types/{configurations.d.ts → awsAuthConfiguration.d.ts} +0 -0
  159. /package/node_modules/@aws-sdk/middleware-signing/dist-types/ts3.4/{configurations.d.ts → awsAuthConfiguration.d.ts} +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/node-http-handler",
3
- "version": "3.341.0",
3
+ "version": "3.342.0",
4
4
  "description": "Provides a way to make requests",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
@@ -23,10 +23,10 @@
23
23
  "module": "./dist-es/index.js",
24
24
  "types": "./dist-types/index.d.ts",
25
25
  "dependencies": {
26
- "@aws-sdk/abort-controller": "3.341.0",
27
- "@aws-sdk/protocol-http": "3.341.0",
28
- "@aws-sdk/querystring-builder": "3.341.0",
29
- "@aws-sdk/types": "3.341.0",
26
+ "@aws-sdk/abort-controller": "3.342.0",
27
+ "@aws-sdk/protocol-http": "3.342.0",
28
+ "@aws-sdk/querystring-builder": "3.342.0",
29
+ "@aws-sdk/types": "3.342.0",
30
30
  "tslib": "^2.5.0"
31
31
  },
32
32
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/property-provider",
3
- "version": "3.341.0",
3
+ "version": "3.342.0",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
6
6
  "build:cjs": "tsc -p tsconfig.cjs.json",
@@ -20,7 +20,7 @@
20
20
  },
21
21
  "license": "Apache-2.0",
22
22
  "dependencies": {
23
- "@aws-sdk/types": "3.341.0",
23
+ "@aws-sdk/types": "3.342.0",
24
24
  "tslib": "^2.5.0"
25
25
  },
26
26
  "engines": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/protocol-http",
3
- "version": "3.341.0",
3
+ "version": "3.342.0",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
6
6
  "build:cjs": "tsc -p tsconfig.cjs.json",
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "license": "Apache-2.0",
23
23
  "dependencies": {
24
- "@aws-sdk/types": "3.341.0",
24
+ "@aws-sdk/types": "3.342.0",
25
25
  "tslib": "^2.5.0"
26
26
  },
27
27
  "engines": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/querystring-builder",
3
- "version": "3.341.0",
3
+ "version": "3.342.0",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
6
6
  "build:cjs": "tsc -p tsconfig.cjs.json",
@@ -20,7 +20,7 @@
20
20
  },
21
21
  "license": "Apache-2.0",
22
22
  "dependencies": {
23
- "@aws-sdk/types": "3.341.0",
23
+ "@aws-sdk/types": "3.342.0",
24
24
  "@aws-sdk/util-uri-escape": "3.310.0",
25
25
  "tslib": "^2.5.0"
26
26
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/querystring-parser",
3
- "version": "3.341.0",
3
+ "version": "3.342.0",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
6
6
  "build:cjs": "tsc -p tsconfig.cjs.json",
@@ -20,7 +20,7 @@
20
20
  },
21
21
  "license": "Apache-2.0",
22
22
  "dependencies": {
23
- "@aws-sdk/types": "3.341.0",
23
+ "@aws-sdk/types": "3.342.0",
24
24
  "tslib": "^2.5.0"
25
25
  },
26
26
  "engines": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/service-error-classification",
3
- "version": "3.341.0",
3
+ "version": "3.342.0",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
6
6
  "build:cjs": "tsc -p tsconfig.cjs.json",
@@ -20,7 +20,7 @@
20
20
  },
21
21
  "license": "Apache-2.0",
22
22
  "devDependencies": {
23
- "@aws-sdk/types": "3.341.0",
23
+ "@aws-sdk/types": "3.342.0",
24
24
  "@tsconfig/recommended": "1.0.1",
25
25
  "concurrently": "7.0.0",
26
26
  "downlevel-dts": "0.10.1",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@aws-sdk/shared-ini-file-loader",
3
- "version": "3.341.0",
3
+ "version": "3.342.0",
4
4
  "dependencies": {
5
- "@aws-sdk/types": "3.341.0",
5
+ "@aws-sdk/types": "3.342.0",
6
6
  "tslib": "^2.5.0"
7
7
  },
8
8
  "devDependencies": {
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SignatureV4 = void 0;
4
+ const eventstream_codec_1 = require("@aws-sdk/eventstream-codec");
4
5
  const util_hex_encoding_1 = require("@aws-sdk/util-hex-encoding");
5
6
  const util_middleware_1 = require("@aws-sdk/util-middleware");
6
7
  const util_utf8_1 = require("@aws-sdk/util-utf8");
@@ -15,6 +16,7 @@ const prepareRequest_1 = require("./prepareRequest");
15
16
  const utilDate_1 = require("./utilDate");
16
17
  class SignatureV4 {
17
18
  constructor({ applyChecksum, credentials, region, service, sha256, uriEscapePath = true, }) {
19
+ this.headerMarshaller = new eventstream_codec_1.HeaderMarshaller(util_utf8_1.toUtf8, util_utf8_1.fromUtf8);
18
20
  this.service = service;
19
21
  this.sha256 = sha256;
20
22
  this.uriEscapePath = uriEscapePath;
@@ -52,6 +54,9 @@ class SignatureV4 {
52
54
  else if (toSign.headers && toSign.payload) {
53
55
  return this.signEvent(toSign, options);
54
56
  }
57
+ else if (toSign.message) {
58
+ return this.signMessage(toSign, options);
59
+ }
55
60
  else {
56
61
  return this.signRequest(toSign, options);
57
62
  }
@@ -74,6 +79,20 @@ class SignatureV4 {
74
79
  ].join("\n");
75
80
  return this.signString(stringToSign, { signingDate, signingRegion: region, signingService });
76
81
  }
82
+ async signMessage(signableMessage, { signingDate = new Date(), signingRegion, signingService }) {
83
+ const promise = this.signEvent({
84
+ headers: this.headerMarshaller.format(signableMessage.message.headers),
85
+ payload: signableMessage.message.body,
86
+ }, {
87
+ signingDate,
88
+ signingRegion,
89
+ signingService,
90
+ priorSignature: signableMessage.priorSignature,
91
+ });
92
+ return promise.then((signature) => {
93
+ return { message: signableMessage.message, signature };
94
+ });
95
+ }
77
96
  async signString(stringToSign, { signingDate = new Date(), signingRegion, signingService } = {}) {
78
97
  const credentials = await this.credentialProvider();
79
98
  this.validateResolvedCredentials(credentials);
@@ -1,6 +1,7 @@
1
+ import { HeaderMarshaller } from "@aws-sdk/eventstream-codec";
1
2
  import { toHex } from "@aws-sdk/util-hex-encoding";
2
3
  import { normalizeProvider } from "@aws-sdk/util-middleware";
3
- import { toUint8Array } from "@aws-sdk/util-utf8";
4
+ import { fromUtf8, toUint8Array, toUtf8 } from "@aws-sdk/util-utf8";
4
5
  import { ALGORITHM_IDENTIFIER, ALGORITHM_QUERY_PARAM, AMZ_DATE_HEADER, AMZ_DATE_QUERY_PARAM, AUTH_HEADER, CREDENTIAL_QUERY_PARAM, EVENT_ALGORITHM_IDENTIFIER, EXPIRES_QUERY_PARAM, MAX_PRESIGNED_TTL, SHA256_HEADER, SIGNATURE_QUERY_PARAM, SIGNED_HEADERS_QUERY_PARAM, TOKEN_HEADER, TOKEN_QUERY_PARAM, } from "./constants";
5
6
  import { createScope, getSigningKey } from "./credentialDerivation";
6
7
  import { getCanonicalHeaders } from "./getCanonicalHeaders";
@@ -12,6 +13,7 @@ import { prepareRequest } from "./prepareRequest";
12
13
  import { iso8601 } from "./utilDate";
13
14
  export class SignatureV4 {
14
15
  constructor({ applyChecksum, credentials, region, service, sha256, uriEscapePath = true, }) {
16
+ this.headerMarshaller = new HeaderMarshaller(toUtf8, fromUtf8);
15
17
  this.service = service;
16
18
  this.sha256 = sha256;
17
19
  this.uriEscapePath = uriEscapePath;
@@ -49,6 +51,9 @@ export class SignatureV4 {
49
51
  else if (toSign.headers && toSign.payload) {
50
52
  return this.signEvent(toSign, options);
51
53
  }
54
+ else if (toSign.message) {
55
+ return this.signMessage(toSign, options);
56
+ }
52
57
  else {
53
58
  return this.signRequest(toSign, options);
54
59
  }
@@ -71,6 +76,20 @@ export class SignatureV4 {
71
76
  ].join("\n");
72
77
  return this.signString(stringToSign, { signingDate, signingRegion: region, signingService });
73
78
  }
79
+ async signMessage(signableMessage, { signingDate = new Date(), signingRegion, signingService }) {
80
+ const promise = this.signEvent({
81
+ headers: this.headerMarshaller.format(signableMessage.message.headers),
82
+ payload: signableMessage.message.body,
83
+ }, {
84
+ signingDate,
85
+ signingRegion,
86
+ signingService,
87
+ priorSignature: signableMessage.priorSignature,
88
+ });
89
+ return promise.then((signature) => {
90
+ return { message: signableMessage.message, signature };
91
+ });
92
+ }
74
93
  async signString(stringToSign, { signingDate = new Date(), signingRegion, signingService } = {}) {
75
94
  const credentials = await this.credentialProvider();
76
95
  this.validateResolvedCredentials(credentials);
@@ -1,4 +1,4 @@
1
- import { AwsCredentialIdentity, ChecksumConstructor, EventSigner, EventSigningArguments, FormattedEvent, HashConstructor, HttpRequest, Provider, RequestPresigner, RequestPresigningArguments, RequestSigner, RequestSigningArguments, SigningArguments, StringSigner } from "@aws-sdk/types";
1
+ import { AwsCredentialIdentity, ChecksumConstructor, EventSigner, EventSigningArguments, FormattedEvent, HashConstructor, HttpRequest, MessageSigner, Provider, RequestPresigner, RequestPresigningArguments, RequestSigner, RequestSigningArguments, SignableMessage, SignedMessage, SigningArguments, StringSigner } from "@aws-sdk/types";
2
2
  export interface SignatureV4Init {
3
3
  /**
4
4
  * The service signing name.
@@ -40,19 +40,22 @@ export interface SignatureV4Init {
40
40
  export interface SignatureV4CryptoInit {
41
41
  sha256: ChecksumConstructor | HashConstructor;
42
42
  }
43
- export declare class SignatureV4 implements RequestPresigner, RequestSigner, StringSigner, EventSigner {
43
+ export declare class SignatureV4 implements RequestPresigner, RequestSigner, StringSigner, EventSigner, MessageSigner {
44
44
  private readonly service;
45
45
  private readonly regionProvider;
46
46
  private readonly credentialProvider;
47
47
  private readonly sha256;
48
48
  private readonly uriEscapePath;
49
49
  private readonly applyChecksum;
50
+ private readonly headerMarshaller;
50
51
  constructor({ applyChecksum, credentials, region, service, sha256, uriEscapePath, }: SignatureV4Init & SignatureV4CryptoInit);
51
52
  presign(originalRequest: HttpRequest, options?: RequestPresigningArguments): Promise<HttpRequest>;
52
53
  sign(stringToSign: string, options?: SigningArguments): Promise<string>;
53
54
  sign(event: FormattedEvent, options: EventSigningArguments): Promise<string>;
55
+ sign(event: SignableMessage, options: SigningArguments): Promise<SignedMessage>;
54
56
  sign(requestToSign: HttpRequest, options?: RequestSigningArguments): Promise<HttpRequest>;
55
57
  private signEvent;
58
+ signMessage(signableMessage: SignableMessage, { signingDate, signingRegion, signingService }: SigningArguments): Promise<SignedMessage>;
56
59
  private signString;
57
60
  private signRequest;
58
61
  private createCanonicalRequest;
@@ -6,11 +6,14 @@ import {
6
6
  FormattedEvent,
7
7
  HashConstructor,
8
8
  HttpRequest,
9
+ MessageSigner,
9
10
  Provider,
10
11
  RequestPresigner,
11
12
  RequestPresigningArguments,
12
13
  RequestSigner,
13
14
  RequestSigningArguments,
15
+ SignableMessage,
16
+ SignedMessage,
14
17
  SigningArguments,
15
18
  StringSigner,
16
19
  } from "@aws-sdk/types";
@@ -26,7 +29,12 @@ export interface SignatureV4CryptoInit {
26
29
  sha256: ChecksumConstructor | HashConstructor;
27
30
  }
28
31
  export declare class SignatureV4
29
- implements RequestPresigner, RequestSigner, StringSigner, EventSigner
32
+ implements
33
+ RequestPresigner,
34
+ RequestSigner,
35
+ StringSigner,
36
+ EventSigner,
37
+ MessageSigner
30
38
  {
31
39
  private readonly service;
32
40
  private readonly regionProvider;
@@ -34,6 +42,7 @@ export declare class SignatureV4
34
42
  private readonly sha256;
35
43
  private readonly uriEscapePath;
36
44
  private readonly applyChecksum;
45
+ private readonly headerMarshaller;
37
46
  constructor({
38
47
  applyChecksum,
39
48
  credentials,
@@ -48,11 +57,19 @@ export declare class SignatureV4
48
57
  ): Promise<HttpRequest>;
49
58
  sign(stringToSign: string, options?: SigningArguments): Promise<string>;
50
59
  sign(event: FormattedEvent, options: EventSigningArguments): Promise<string>;
60
+ sign(
61
+ event: SignableMessage,
62
+ options: SigningArguments
63
+ ): Promise<SignedMessage>;
51
64
  sign(
52
65
  requestToSign: HttpRequest,
53
66
  options?: RequestSigningArguments
54
67
  ): Promise<HttpRequest>;
55
68
  private signEvent;
69
+ signMessage(
70
+ signableMessage: SignableMessage,
71
+ { signingDate, signingRegion, signingService }: SigningArguments
72
+ ): Promise<SignedMessage>;
56
73
  private signString;
57
74
  private signRequest;
58
75
  private createCanonicalRequest;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/signature-v4",
3
- "version": "3.341.0",
3
+ "version": "3.342.0",
4
4
  "description": "A standalone implementation of the AWS Signature V4 request signing algorithm",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -22,17 +22,18 @@
22
22
  },
23
23
  "license": "Apache-2.0",
24
24
  "dependencies": {
25
+ "@aws-sdk/eventstream-codec": "3.342.0",
25
26
  "@aws-sdk/is-array-buffer": "3.310.0",
26
- "@aws-sdk/types": "3.341.0",
27
+ "@aws-sdk/types": "3.342.0",
27
28
  "@aws-sdk/util-hex-encoding": "3.310.0",
28
- "@aws-sdk/util-middleware": "3.341.0",
29
+ "@aws-sdk/util-middleware": "3.342.0",
29
30
  "@aws-sdk/util-uri-escape": "3.310.0",
30
31
  "@aws-sdk/util-utf8": "3.310.0",
31
32
  "tslib": "^2.5.0"
32
33
  },
33
34
  "devDependencies": {
34
35
  "@aws-crypto/sha256-js": "3.0.0",
35
- "@aws-sdk/protocol-http": "3.341.0",
36
+ "@aws-sdk/protocol-http": "3.342.0",
36
37
  "@tsconfig/recommended": "1.0.1",
37
38
  "concurrently": "7.0.0",
38
39
  "downlevel-dts": "0.10.1",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/smithy-client",
3
- "version": "3.341.0",
3
+ "version": "3.342.0",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
6
6
  "build:cjs": "tsc -p tsconfig.cjs.json",
@@ -21,8 +21,8 @@
21
21
  },
22
22
  "license": "Apache-2.0",
23
23
  "dependencies": {
24
- "@aws-sdk/middleware-stack": "3.341.0",
25
- "@aws-sdk/types": "3.341.0",
24
+ "@aws-sdk/middleware-stack": "3.342.0",
25
+ "@aws-sdk/types": "3.342.0",
26
26
  "tslib": "^2.5.0"
27
27
  },
28
28
  "engines": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/token-providers",
3
- "version": "3.341.0",
3
+ "version": "3.342.0",
4
4
  "description": "A collection of token providers",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -26,10 +26,10 @@
26
26
  },
27
27
  "license": "Apache-2.0",
28
28
  "dependencies": {
29
- "@aws-sdk/client-sso-oidc": "3.341.0",
30
- "@aws-sdk/property-provider": "3.341.0",
31
- "@aws-sdk/shared-ini-file-loader": "3.341.0",
32
- "@aws-sdk/types": "3.341.0",
29
+ "@aws-sdk/client-sso-oidc": "3.342.0",
30
+ "@aws-sdk/property-provider": "3.342.0",
31
+ "@aws-sdk/shared-ini-file-loader": "3.342.0",
32
+ "@aws-sdk/types": "3.342.0",
33
33
  "tslib": "^2.5.0"
34
34
  },
35
35
  "devDependencies": {
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -10,6 +10,7 @@ tslib_1.__exportStar(require("./connection"), exports);
10
10
  tslib_1.__exportStar(require("./credentials"), exports);
11
11
  tslib_1.__exportStar(require("./crypto"), exports);
12
12
  tslib_1.__exportStar(require("./dns"), exports);
13
+ tslib_1.__exportStar(require("./encode"), exports);
13
14
  tslib_1.__exportStar(require("./endpoint"), exports);
14
15
  tslib_1.__exportStar(require("./eventStream"), exports);
15
16
  tslib_1.__exportStar(require("./http"), exports);
@@ -0,0 +1 @@
1
+ export {};
@@ -7,6 +7,7 @@ export * from "./connection";
7
7
  export * from "./credentials";
8
8
  export * from "./crypto";
9
9
  export * from "./dns";
10
+ export * from "./encode";
10
11
  export * from "./endpoint";
11
12
  export * from "./eventStream";
12
13
  export * from "./http";
@@ -0,0 +1,19 @@
1
+ import { Message } from "./eventStream";
2
+ export interface MessageEncoder {
3
+ encode(message: Message): Uint8Array;
4
+ }
5
+ export interface MessageDecoder {
6
+ decode(message: ArrayBufferView): Message;
7
+ feed(message: ArrayBufferView): void;
8
+ endOfStream(): void;
9
+ getMessage(): AvailableMessage;
10
+ getAvailableMessages(): AvailableMessages;
11
+ }
12
+ export interface AvailableMessage {
13
+ getMessage(): Message | undefined;
14
+ isEndOfStream(): boolean;
15
+ }
16
+ export interface AvailableMessages {
17
+ getMessages(): Message[];
18
+ isEndOfStream(): boolean;
19
+ }
@@ -16,69 +16,19 @@ export interface Message {
16
16
  * @public
17
17
  */
18
18
  export type MessageHeaders = Record<string, MessageHeaderValue>;
19
- /**
20
- * @public
21
- */
22
- export interface BooleanHeaderValue {
23
- type: "boolean";
24
- value: boolean;
25
- }
26
- /**
27
- * @public
28
- */
29
- export interface ByteHeaderValue {
30
- type: "byte";
31
- value: number;
32
- }
33
- /**
34
- * @public
35
- */
36
- export interface ShortHeaderValue {
37
- type: "short";
38
- value: number;
39
- }
40
- /**
41
- * @public
42
- */
43
- export interface IntegerHeaderValue {
44
- type: "integer";
45
- value: number;
46
- }
47
- /**
48
- * @public
49
- */
50
- export interface LongHeaderValue {
51
- type: "long";
52
- value: Int64;
53
- }
54
- /**
55
- * @public
56
- */
57
- export interface BinaryHeaderValue {
58
- type: "binary";
59
- value: Uint8Array;
60
- }
61
- /**
62
- * @public
63
- */
64
- export interface StringHeaderValue {
65
- type: "string";
66
- value: string;
67
- }
68
- /**
69
- * @public
70
- */
71
- export interface TimestampHeaderValue {
72
- type: "timestamp";
73
- value: Date;
74
- }
75
- /**
76
- * @public
77
- */
78
- export interface UuidHeaderValue {
79
- type: "uuid";
80
- value: string;
81
- }
19
+ type HeaderValue<K extends string, V> = {
20
+ type: K;
21
+ value: V;
22
+ };
23
+ export type BooleanHeaderValue = HeaderValue<"boolean", boolean>;
24
+ export type ByteHeaderValue = HeaderValue<"byte", number>;
25
+ export type ShortHeaderValue = HeaderValue<"short", number>;
26
+ export type IntegerHeaderValue = HeaderValue<"integer", number>;
27
+ export type LongHeaderValue = HeaderValue<"long", Int64>;
28
+ export type BinaryHeaderValue = HeaderValue<"binary", Uint8Array>;
29
+ export type StringHeaderValue = HeaderValue<"string", string>;
30
+ export type TimestampHeaderValue = HeaderValue<"timestamp", Date>;
31
+ export type UuidHeaderValue = HeaderValue<"uuid", string>;
82
32
  /**
83
33
  * @public
84
34
  */
@@ -155,3 +105,4 @@ export interface EventStreamSerdeProvider {
155
105
  export interface EventStreamSignerProvider {
156
106
  (options: any): EventStreamRequestSigner;
157
107
  }
108
+ export {};
@@ -7,6 +7,7 @@ export * from "./connection";
7
7
  export * from "./credentials";
8
8
  export * from "./crypto";
9
9
  export * from "./dns";
10
+ export * from "./encode";
10
11
  export * from "./endpoint";
11
12
  export * from "./eventStream";
12
13
  export * from "./http";
@@ -1,3 +1,4 @@
1
+ import { Message } from "./eventStream";
1
2
  import { HttpRequest } from "./http";
2
3
  /**
3
4
  * @public
@@ -126,3 +127,24 @@ export interface EventSigner {
126
127
  */
127
128
  sign(event: FormattedEvent, options: EventSigningArguments): Promise<string>;
128
129
  }
130
+ /**
131
+ * @public
132
+ */
133
+ export interface SignableMessage {
134
+ message: Message;
135
+ priorSignature: string;
136
+ }
137
+ /**
138
+ * @public
139
+ */
140
+ export interface SignedMessage {
141
+ message: Message;
142
+ signature: string;
143
+ }
144
+ /**
145
+ * @public
146
+ */
147
+ export interface MessageSigner {
148
+ signMessage(message: SignableMessage, args: SigningArguments): Promise<SignedMessage>;
149
+ sign(event: SignableMessage, options: SigningArguments): Promise<SignedMessage>;
150
+ }
@@ -0,0 +1,19 @@
1
+ import { Message } from "./eventStream";
2
+ export interface MessageEncoder {
3
+ encode(message: Message): Uint8Array;
4
+ }
5
+ export interface MessageDecoder {
6
+ decode(message: ArrayBufferView): Message;
7
+ feed(message: ArrayBufferView): void;
8
+ endOfStream(): void;
9
+ getMessage(): AvailableMessage;
10
+ getAvailableMessages(): AvailableMessages;
11
+ }
12
+ export interface AvailableMessage {
13
+ getMessage(): Message | undefined;
14
+ isEndOfStream(): boolean;
15
+ }
16
+ export interface AvailableMessages {
17
+ getMessages(): Message[];
18
+ isEndOfStream(): boolean;
19
+ }
@@ -11,42 +11,19 @@ export interface Message {
11
11
  body: Uint8Array;
12
12
  }
13
13
  export type MessageHeaders = Record<string, MessageHeaderValue>;
14
- export interface BooleanHeaderValue {
15
- type: "boolean";
16
- value: boolean;
17
- }
18
- export interface ByteHeaderValue {
19
- type: "byte";
20
- value: number;
21
- }
22
- export interface ShortHeaderValue {
23
- type: "short";
24
- value: number;
25
- }
26
- export interface IntegerHeaderValue {
27
- type: "integer";
28
- value: number;
29
- }
30
- export interface LongHeaderValue {
31
- type: "long";
32
- value: Int64;
33
- }
34
- export interface BinaryHeaderValue {
35
- type: "binary";
36
- value: Uint8Array;
37
- }
38
- export interface StringHeaderValue {
39
- type: "string";
40
- value: string;
41
- }
42
- export interface TimestampHeaderValue {
43
- type: "timestamp";
44
- value: Date;
45
- }
46
- export interface UuidHeaderValue {
47
- type: "uuid";
48
- value: string;
49
- }
14
+ type HeaderValue<K extends string, V> = {
15
+ type: K;
16
+ value: V;
17
+ };
18
+ export type BooleanHeaderValue = HeaderValue<"boolean", boolean>;
19
+ export type ByteHeaderValue = HeaderValue<"byte", number>;
20
+ export type ShortHeaderValue = HeaderValue<"short", number>;
21
+ export type IntegerHeaderValue = HeaderValue<"integer", number>;
22
+ export type LongHeaderValue = HeaderValue<"long", Int64>;
23
+ export type BinaryHeaderValue = HeaderValue<"binary", Uint8Array>;
24
+ export type StringHeaderValue = HeaderValue<"string", string>;
25
+ export type TimestampHeaderValue = HeaderValue<"timestamp", Date>;
26
+ export type UuidHeaderValue = HeaderValue<"uuid", string>;
50
27
  export type MessageHeaderValue =
51
28
  | BooleanHeaderValue
52
29
  | ByteHeaderValue
@@ -97,3 +74,4 @@ export interface EventStreamSerdeProvider {
97
74
  export interface EventStreamSignerProvider {
98
75
  (options: any): EventStreamRequestSigner;
99
76
  }
77
+ export {};
@@ -7,6 +7,7 @@ export * from "./connection";
7
7
  export * from "./credentials";
8
8
  export * from "./crypto";
9
9
  export * from "./dns";
10
+ export * from "./encode";
10
11
  export * from "./endpoint";
11
12
  export * from "./eventStream";
12
13
  export * from "./http";