@aws-sdk/client-dataexchange 3.438.0 → 3.439.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -393,6 +393,14 @@ SendApiAsset
393
393
 
394
394
  [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-dataexchange/classes/sendapiassetcommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-dataexchange/interfaces/sendapiassetcommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-dataexchange/interfaces/sendapiassetcommandoutput.html)
395
395
 
396
+ </details>
397
+ <details>
398
+ <summary>
399
+ SendDataSetNotification
400
+ </summary>
401
+
402
+ [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-dataexchange/classes/senddatasetnotificationcommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-dataexchange/interfaces/senddatasetnotificationcommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-dataexchange/interfaces/senddatasetnotificationcommandoutput.html)
403
+
396
404
  </details>
397
405
  <details>
398
406
  <summary>
@@ -24,6 +24,7 @@ const ListRevisionAssetsCommand_1 = require("./commands/ListRevisionAssetsComman
24
24
  const ListTagsForResourceCommand_1 = require("./commands/ListTagsForResourceCommand");
25
25
  const RevokeRevisionCommand_1 = require("./commands/RevokeRevisionCommand");
26
26
  const SendApiAssetCommand_1 = require("./commands/SendApiAssetCommand");
27
+ const SendDataSetNotificationCommand_1 = require("./commands/SendDataSetNotificationCommand");
27
28
  const StartJobCommand_1 = require("./commands/StartJobCommand");
28
29
  const TagResourceCommand_1 = require("./commands/TagResourceCommand");
29
30
  const UntagResourceCommand_1 = require("./commands/UntagResourceCommand");
@@ -55,6 +56,7 @@ const commands = {
55
56
  ListTagsForResourceCommand: ListTagsForResourceCommand_1.ListTagsForResourceCommand,
56
57
  RevokeRevisionCommand: RevokeRevisionCommand_1.RevokeRevisionCommand,
57
58
  SendApiAssetCommand: SendApiAssetCommand_1.SendApiAssetCommand,
59
+ SendDataSetNotificationCommand: SendDataSetNotificationCommand_1.SendDataSetNotificationCommand,
58
60
  StartJobCommand: StartJobCommand_1.StartJobCommand,
59
61
  TagResourceCommand: TagResourceCommand_1.TagResourceCommand,
60
62
  UntagResourceCommand: UntagResourceCommand_1.UntagResourceCommand,
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SendDataSetNotificationCommand = exports.$Command = void 0;
4
+ const middleware_endpoint_1 = require("@smithy/middleware-endpoint");
5
+ const middleware_serde_1 = require("@smithy/middleware-serde");
6
+ const smithy_client_1 = require("@smithy/smithy-client");
7
+ Object.defineProperty(exports, "$Command", { enumerable: true, get: function () { return smithy_client_1.Command; } });
8
+ const types_1 = require("@smithy/types");
9
+ const Aws_restJson1_1 = require("../protocols/Aws_restJson1");
10
+ class SendDataSetNotificationCommand extends smithy_client_1.Command {
11
+ static getEndpointParameterInstructions() {
12
+ return {
13
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
14
+ Endpoint: { type: "builtInParams", name: "endpoint" },
15
+ Region: { type: "builtInParams", name: "region" },
16
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
17
+ };
18
+ }
19
+ constructor(input) {
20
+ super();
21
+ this.input = input;
22
+ }
23
+ resolveMiddleware(clientStack, configuration, options) {
24
+ this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));
25
+ this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, SendDataSetNotificationCommand.getEndpointParameterInstructions()));
26
+ const stack = clientStack.concat(this.middlewareStack);
27
+ const { logger } = configuration;
28
+ const clientName = "DataExchangeClient";
29
+ const commandName = "SendDataSetNotificationCommand";
30
+ const handlerExecutionContext = {
31
+ logger,
32
+ clientName,
33
+ commandName,
34
+ inputFilterSensitiveLog: (_) => _,
35
+ outputFilterSensitiveLog: (_) => _,
36
+ [types_1.SMITHY_CONTEXT_KEY]: {
37
+ service: "DataExchange",
38
+ operation: "SendDataSetNotification",
39
+ },
40
+ };
41
+ const { requestHandler } = configuration;
42
+ return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);
43
+ }
44
+ serialize(input, context) {
45
+ return (0, Aws_restJson1_1.se_SendDataSetNotificationCommand)(input, context);
46
+ }
47
+ deserialize(output, context) {
48
+ return (0, Aws_restJson1_1.de_SendDataSetNotificationCommand)(output, context);
49
+ }
50
+ }
51
+ exports.SendDataSetNotificationCommand = SendDataSetNotificationCommand;
@@ -23,6 +23,7 @@ tslib_1.__exportStar(require("./ListRevisionAssetsCommand"), exports);
23
23
  tslib_1.__exportStar(require("./ListTagsForResourceCommand"), exports);
24
24
  tslib_1.__exportStar(require("./RevokeRevisionCommand"), exports);
25
25
  tslib_1.__exportStar(require("./SendApiAssetCommand"), exports);
26
+ tslib_1.__exportStar(require("./SendDataSetNotificationCommand"), exports);
26
27
  tslib_1.__exportStar(require("./StartJobCommand"), exports);
27
28
  tslib_1.__exportStar(require("./TagResourceCommand"), exports);
28
29
  tslib_1.__exportStar(require("./UntagResourceCommand"), exports);
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.State = exports.JobErrorResourceTypes = exports.JobErrorLimitName = exports.Type = exports.TableTagPolicyLFPermission = exports.DatabaseLFTagPolicyPermission = exports.ServiceLimitExceededException = exports.LimitName = exports.Origin = exports.Code = exports.ValidationException = exports.ExceptionCause = exports.ThrottlingException = exports.ResourceNotFoundException = exports.InternalServerException = exports.ConflictException = exports.ResourceType = exports.AssetType = exports.LFPermission = exports.LakeFormationDataPermissionType = exports.LFResourceType = exports.ProtocolType = exports.ServerSideEncryptionTypes = exports.AccessDeniedException = void 0;
3
+ exports.NotificationType = exports.SchemaChangeType = exports.State = exports.JobErrorResourceTypes = exports.JobErrorLimitName = exports.Type = exports.TableTagPolicyLFPermission = exports.DatabaseLFTagPolicyPermission = exports.ServiceLimitExceededException = exports.LimitName = exports.Origin = exports.Code = exports.ValidationException = exports.ExceptionCause = exports.ThrottlingException = exports.ResourceNotFoundException = exports.InternalServerException = exports.ConflictException = exports.ResourceType = exports.AssetType = exports.LFPermission = exports.LakeFormationDataPermissionType = exports.LFResourceType = exports.ProtocolType = exports.ServerSideEncryptionTypes = exports.AccessDeniedException = void 0;
4
4
  const DataExchangeServiceException_1 = require("./DataExchangeServiceException");
5
5
  class AccessDeniedException extends DataExchangeServiceException_1.DataExchangeServiceException {
6
6
  constructor(opts) {
@@ -224,3 +224,14 @@ exports.State = {
224
224
  TIMED_OUT: "TIMED_OUT",
225
225
  WAITING: "WAITING",
226
226
  };
227
+ exports.SchemaChangeType = {
228
+ ADD: "ADD",
229
+ MODIFY: "MODIFY",
230
+ REMOVE: "REMOVE",
231
+ };
232
+ exports.NotificationType = {
233
+ DATA_DELAY: "DATA_DELAY",
234
+ DATA_UPDATE: "DATA_UPDATE",
235
+ DEPRECATION: "DEPRECATION",
236
+ SCHEMA_CHANGE: "SCHEMA_CHANGE",
237
+ };
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.de_RevokeRevisionCommand = exports.de_ListTagsForResourceCommand = exports.de_ListRevisionAssetsCommand = exports.de_ListJobsCommand = exports.de_ListEventActionsCommand = exports.de_ListDataSetsCommand = exports.de_ListDataSetRevisionsCommand = exports.de_GetRevisionCommand = exports.de_GetJobCommand = exports.de_GetEventActionCommand = exports.de_GetDataSetCommand = exports.de_GetAssetCommand = exports.de_DeleteRevisionCommand = exports.de_DeleteEventActionCommand = exports.de_DeleteDataSetCommand = exports.de_DeleteAssetCommand = exports.de_CreateRevisionCommand = exports.de_CreateJobCommand = exports.de_CreateEventActionCommand = exports.de_CreateDataSetCommand = exports.de_CancelJobCommand = exports.se_UpdateRevisionCommand = exports.se_UpdateEventActionCommand = exports.se_UpdateDataSetCommand = exports.se_UpdateAssetCommand = exports.se_UntagResourceCommand = exports.se_TagResourceCommand = exports.se_StartJobCommand = exports.se_SendApiAssetCommand = exports.se_RevokeRevisionCommand = exports.se_ListTagsForResourceCommand = exports.se_ListRevisionAssetsCommand = exports.se_ListJobsCommand = exports.se_ListEventActionsCommand = exports.se_ListDataSetsCommand = exports.se_ListDataSetRevisionsCommand = exports.se_GetRevisionCommand = exports.se_GetJobCommand = exports.se_GetEventActionCommand = exports.se_GetDataSetCommand = exports.se_GetAssetCommand = exports.se_DeleteRevisionCommand = exports.se_DeleteEventActionCommand = exports.se_DeleteDataSetCommand = exports.se_DeleteAssetCommand = exports.se_CreateRevisionCommand = exports.se_CreateJobCommand = exports.se_CreateEventActionCommand = exports.se_CreateDataSetCommand = exports.se_CancelJobCommand = void 0;
4
- exports.de_UpdateRevisionCommand = exports.de_UpdateEventActionCommand = exports.de_UpdateDataSetCommand = exports.de_UpdateAssetCommand = exports.de_UntagResourceCommand = exports.de_TagResourceCommand = exports.de_StartJobCommand = exports.de_SendApiAssetCommand = void 0;
3
+ exports.de_ListTagsForResourceCommand = exports.de_ListRevisionAssetsCommand = exports.de_ListJobsCommand = exports.de_ListEventActionsCommand = exports.de_ListDataSetsCommand = exports.de_ListDataSetRevisionsCommand = exports.de_GetRevisionCommand = exports.de_GetJobCommand = exports.de_GetEventActionCommand = exports.de_GetDataSetCommand = exports.de_GetAssetCommand = exports.de_DeleteRevisionCommand = exports.de_DeleteEventActionCommand = exports.de_DeleteDataSetCommand = exports.de_DeleteAssetCommand = exports.de_CreateRevisionCommand = exports.de_CreateJobCommand = exports.de_CreateEventActionCommand = exports.de_CreateDataSetCommand = exports.de_CancelJobCommand = exports.se_UpdateRevisionCommand = exports.se_UpdateEventActionCommand = exports.se_UpdateDataSetCommand = exports.se_UpdateAssetCommand = exports.se_UntagResourceCommand = exports.se_TagResourceCommand = exports.se_StartJobCommand = exports.se_SendDataSetNotificationCommand = exports.se_SendApiAssetCommand = exports.se_RevokeRevisionCommand = exports.se_ListTagsForResourceCommand = exports.se_ListRevisionAssetsCommand = exports.se_ListJobsCommand = exports.se_ListEventActionsCommand = exports.se_ListDataSetsCommand = exports.se_ListDataSetRevisionsCommand = exports.se_GetRevisionCommand = exports.se_GetJobCommand = exports.se_GetEventActionCommand = exports.se_GetDataSetCommand = exports.se_GetAssetCommand = exports.se_DeleteRevisionCommand = exports.se_DeleteEventActionCommand = exports.se_DeleteDataSetCommand = exports.se_DeleteAssetCommand = exports.se_CreateRevisionCommand = exports.se_CreateJobCommand = exports.se_CreateEventActionCommand = exports.se_CreateDataSetCommand = exports.se_CancelJobCommand = void 0;
4
+ exports.de_UpdateRevisionCommand = exports.de_UpdateEventActionCommand = exports.de_UpdateDataSetCommand = exports.de_UpdateAssetCommand = exports.de_UntagResourceCommand = exports.de_TagResourceCommand = exports.de_StartJobCommand = exports.de_SendDataSetNotificationCommand = exports.de_SendApiAssetCommand = exports.de_RevokeRevisionCommand = void 0;
5
5
  const protocol_http_1 = require("@smithy/protocol-http");
6
6
  const smithy_client_1 = require("@smithy/smithy-client");
7
+ const uuid_1 = require("uuid");
7
8
  const DataExchangeServiceException_1 = require("../models/DataExchangeServiceException");
8
9
  const models_0_1 = require("../models/models_0");
9
10
  const se_CancelJobCommand = async (input, context) => {
@@ -473,6 +474,32 @@ const se_SendApiAssetCommand = async (input, context) => {
473
474
  });
474
475
  };
475
476
  exports.se_SendApiAssetCommand = se_SendApiAssetCommand;
477
+ const se_SendDataSetNotificationCommand = async (input, context) => {
478
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
479
+ const headers = {
480
+ "content-type": "application/json",
481
+ };
482
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v1/data-sets/{DataSetId}/notification";
483
+ resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "DataSetId", () => input.DataSetId, "{DataSetId}", false);
484
+ let body;
485
+ body = JSON.stringify((0, smithy_client_1.take)(input, {
486
+ ClientToken: [true, (_) => _ ?? (0, uuid_1.v4)()],
487
+ Comment: [],
488
+ Details: (_) => se_NotificationDetails(_, context),
489
+ Scope: (_) => (0, smithy_client_1._json)(_),
490
+ Type: [],
491
+ }));
492
+ return new protocol_http_1.HttpRequest({
493
+ protocol,
494
+ hostname,
495
+ port,
496
+ method: "POST",
497
+ headers,
498
+ path: resolvedPath,
499
+ body,
500
+ });
501
+ };
502
+ exports.se_SendDataSetNotificationCommand = se_SendDataSetNotificationCommand;
476
503
  const se_StartJobCommand = async (input, context) => {
477
504
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
478
505
  const headers = {};
@@ -1683,6 +1710,51 @@ const de_SendApiAssetCommandError = async (output, context) => {
1683
1710
  });
1684
1711
  }
1685
1712
  };
1713
+ const de_SendDataSetNotificationCommand = async (output, context) => {
1714
+ if (output.statusCode !== 202 && output.statusCode >= 300) {
1715
+ return de_SendDataSetNotificationCommandError(output, context);
1716
+ }
1717
+ const contents = (0, smithy_client_1.map)({
1718
+ $metadata: deserializeMetadata(output),
1719
+ });
1720
+ await (0, smithy_client_1.collectBody)(output.body, context);
1721
+ return contents;
1722
+ };
1723
+ exports.de_SendDataSetNotificationCommand = de_SendDataSetNotificationCommand;
1724
+ const de_SendDataSetNotificationCommandError = async (output, context) => {
1725
+ const parsedOutput = {
1726
+ ...output,
1727
+ body: await parseErrorBody(output.body, context),
1728
+ };
1729
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1730
+ switch (errorCode) {
1731
+ case "AccessDeniedException":
1732
+ case "com.amazonaws.dataexchange#AccessDeniedException":
1733
+ throw await de_AccessDeniedExceptionRes(parsedOutput, context);
1734
+ case "ConflictException":
1735
+ case "com.amazonaws.dataexchange#ConflictException":
1736
+ throw await de_ConflictExceptionRes(parsedOutput, context);
1737
+ case "InternalServerException":
1738
+ case "com.amazonaws.dataexchange#InternalServerException":
1739
+ throw await de_InternalServerExceptionRes(parsedOutput, context);
1740
+ case "ResourceNotFoundException":
1741
+ case "com.amazonaws.dataexchange#ResourceNotFoundException":
1742
+ throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
1743
+ case "ThrottlingException":
1744
+ case "com.amazonaws.dataexchange#ThrottlingException":
1745
+ throw await de_ThrottlingExceptionRes(parsedOutput, context);
1746
+ case "ValidationException":
1747
+ case "com.amazonaws.dataexchange#ValidationException":
1748
+ throw await de_ValidationExceptionRes(parsedOutput, context);
1749
+ default:
1750
+ const parsedBody = parsedOutput.body;
1751
+ return throwDefaultError({
1752
+ output,
1753
+ parsedBody,
1754
+ errorCode,
1755
+ });
1756
+ }
1757
+ };
1686
1758
  const de_StartJobCommand = async (output, context) => {
1687
1759
  if (output.statusCode !== 202 && output.statusCode >= 300) {
1688
1760
  return de_StartJobCommandError(output, context);
@@ -2098,6 +2170,29 @@ const de_ValidationExceptionRes = async (parsedOutput, context) => {
2098
2170
  });
2099
2171
  return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);
2100
2172
  };
2173
+ const se_DataUpdateRequestDetails = (input, context) => {
2174
+ return (0, smithy_client_1.take)(input, {
2175
+ DataUpdatedAt: (_) => _.toISOString().split(".")[0] + "Z",
2176
+ });
2177
+ };
2178
+ const se_DeprecationRequestDetails = (input, context) => {
2179
+ return (0, smithy_client_1.take)(input, {
2180
+ DeprecationAt: (_) => _.toISOString().split(".")[0] + "Z",
2181
+ });
2182
+ };
2183
+ const se_NotificationDetails = (input, context) => {
2184
+ return (0, smithy_client_1.take)(input, {
2185
+ DataUpdate: (_) => se_DataUpdateRequestDetails(_, context),
2186
+ Deprecation: (_) => se_DeprecationRequestDetails(_, context),
2187
+ SchemaChange: (_) => se_SchemaChangeRequestDetails(_, context),
2188
+ });
2189
+ };
2190
+ const se_SchemaChangeRequestDetails = (input, context) => {
2191
+ return (0, smithy_client_1.take)(input, {
2192
+ Changes: smithy_client_1._json,
2193
+ SchemaChangeAt: (_) => _.toISOString().split(".")[0] + "Z",
2194
+ });
2195
+ };
2101
2196
  const de_ApiGatewayApiAsset = (output, context) => {
2102
2197
  return (0, smithy_client_1.take)(output, {
2103
2198
  ApiDescription: smithy_client_1.expectString,
@@ -21,6 +21,7 @@ import { ListRevisionAssetsCommand, } from "./commands/ListRevisionAssetsCommand
21
21
  import { ListTagsForResourceCommand, } from "./commands/ListTagsForResourceCommand";
22
22
  import { RevokeRevisionCommand, } from "./commands/RevokeRevisionCommand";
23
23
  import { SendApiAssetCommand, } from "./commands/SendApiAssetCommand";
24
+ import { SendDataSetNotificationCommand, } from "./commands/SendDataSetNotificationCommand";
24
25
  import { StartJobCommand } from "./commands/StartJobCommand";
25
26
  import { TagResourceCommand } from "./commands/TagResourceCommand";
26
27
  import { UntagResourceCommand, } from "./commands/UntagResourceCommand";
@@ -52,6 +53,7 @@ const commands = {
52
53
  ListTagsForResourceCommand,
53
54
  RevokeRevisionCommand,
54
55
  SendApiAssetCommand,
56
+ SendDataSetNotificationCommand,
55
57
  StartJobCommand,
56
58
  TagResourceCommand,
57
59
  UntagResourceCommand,
@@ -0,0 +1,47 @@
1
+ import { getEndpointPlugin } from "@smithy/middleware-endpoint";
2
+ import { getSerdePlugin } from "@smithy/middleware-serde";
3
+ import { Command as $Command } from "@smithy/smithy-client";
4
+ import { SMITHY_CONTEXT_KEY, } from "@smithy/types";
5
+ import { de_SendDataSetNotificationCommand, se_SendDataSetNotificationCommand } from "../protocols/Aws_restJson1";
6
+ export { $Command };
7
+ export class SendDataSetNotificationCommand extends $Command {
8
+ static getEndpointParameterInstructions() {
9
+ return {
10
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
11
+ Endpoint: { type: "builtInParams", name: "endpoint" },
12
+ Region: { type: "builtInParams", name: "region" },
13
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
14
+ };
15
+ }
16
+ constructor(input) {
17
+ super();
18
+ this.input = input;
19
+ }
20
+ resolveMiddleware(clientStack, configuration, options) {
21
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
22
+ this.middlewareStack.use(getEndpointPlugin(configuration, SendDataSetNotificationCommand.getEndpointParameterInstructions()));
23
+ const stack = clientStack.concat(this.middlewareStack);
24
+ const { logger } = configuration;
25
+ const clientName = "DataExchangeClient";
26
+ const commandName = "SendDataSetNotificationCommand";
27
+ const handlerExecutionContext = {
28
+ logger,
29
+ clientName,
30
+ commandName,
31
+ inputFilterSensitiveLog: (_) => _,
32
+ outputFilterSensitiveLog: (_) => _,
33
+ [SMITHY_CONTEXT_KEY]: {
34
+ service: "DataExchange",
35
+ operation: "SendDataSetNotification",
36
+ },
37
+ };
38
+ const { requestHandler } = configuration;
39
+ return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);
40
+ }
41
+ serialize(input, context) {
42
+ return se_SendDataSetNotificationCommand(input, context);
43
+ }
44
+ deserialize(output, context) {
45
+ return de_SendDataSetNotificationCommand(output, context);
46
+ }
47
+ }
@@ -20,6 +20,7 @@ export * from "./ListRevisionAssetsCommand";
20
20
  export * from "./ListTagsForResourceCommand";
21
21
  export * from "./RevokeRevisionCommand";
22
22
  export * from "./SendApiAssetCommand";
23
+ export * from "./SendDataSetNotificationCommand";
23
24
  export * from "./StartJobCommand";
24
25
  export * from "./TagResourceCommand";
25
26
  export * from "./UntagResourceCommand";
@@ -214,3 +214,14 @@ export const State = {
214
214
  TIMED_OUT: "TIMED_OUT",
215
215
  WAITING: "WAITING",
216
216
  };
217
+ export const SchemaChangeType = {
218
+ ADD: "ADD",
219
+ MODIFY: "MODIFY",
220
+ REMOVE: "REMOVE",
221
+ };
222
+ export const NotificationType = {
223
+ DATA_DELAY: "DATA_DELAY",
224
+ DATA_UPDATE: "DATA_UPDATE",
225
+ DEPRECATION: "DEPRECATION",
226
+ SCHEMA_CHANGE: "SCHEMA_CHANGE",
227
+ };
@@ -1,5 +1,6 @@
1
1
  import { HttpRequest as __HttpRequest, isValidHostname as __isValidHostname, } from "@smithy/protocol-http";
2
2
  import { _json, collectBody, convertMap, decorateServiceException as __decorateServiceException, expectBoolean as __expectBoolean, expectNonNull as __expectNonNull, expectObject as __expectObject, expectString as __expectString, limitedParseDouble as __limitedParseDouble, map, parseRfc3339DateTimeWithOffset as __parseRfc3339DateTimeWithOffset, resolvedPath as __resolvedPath, take, withBaseException, } from "@smithy/smithy-client";
3
+ import { v4 as generateIdempotencyToken } from "uuid";
3
4
  import { DataExchangeServiceException as __BaseException } from "../models/DataExchangeServiceException";
4
5
  import { AccessDeniedException, ConflictException, InternalServerException, ResourceNotFoundException, ServiceLimitExceededException, ThrottlingException, ValidationException, } from "../models/models_0";
5
6
  export const se_CancelJobCommand = async (input, context) => {
@@ -447,6 +448,31 @@ export const se_SendApiAssetCommand = async (input, context) => {
447
448
  body,
448
449
  });
449
450
  };
451
+ export const se_SendDataSetNotificationCommand = async (input, context) => {
452
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
453
+ const headers = {
454
+ "content-type": "application/json",
455
+ };
456
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v1/data-sets/{DataSetId}/notification";
457
+ resolvedPath = __resolvedPath(resolvedPath, input, "DataSetId", () => input.DataSetId, "{DataSetId}", false);
458
+ let body;
459
+ body = JSON.stringify(take(input, {
460
+ ClientToken: [true, (_) => _ ?? generateIdempotencyToken()],
461
+ Comment: [],
462
+ Details: (_) => se_NotificationDetails(_, context),
463
+ Scope: (_) => _json(_),
464
+ Type: [],
465
+ }));
466
+ return new __HttpRequest({
467
+ protocol,
468
+ hostname,
469
+ port,
470
+ method: "POST",
471
+ headers,
472
+ path: resolvedPath,
473
+ body,
474
+ });
475
+ };
450
476
  export const se_StartJobCommand = async (input, context) => {
451
477
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
452
478
  const headers = {};
@@ -1628,6 +1654,50 @@ const de_SendApiAssetCommandError = async (output, context) => {
1628
1654
  });
1629
1655
  }
1630
1656
  };
1657
+ export const de_SendDataSetNotificationCommand = async (output, context) => {
1658
+ if (output.statusCode !== 202 && output.statusCode >= 300) {
1659
+ return de_SendDataSetNotificationCommandError(output, context);
1660
+ }
1661
+ const contents = map({
1662
+ $metadata: deserializeMetadata(output),
1663
+ });
1664
+ await collectBody(output.body, context);
1665
+ return contents;
1666
+ };
1667
+ const de_SendDataSetNotificationCommandError = async (output, context) => {
1668
+ const parsedOutput = {
1669
+ ...output,
1670
+ body: await parseErrorBody(output.body, context),
1671
+ };
1672
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1673
+ switch (errorCode) {
1674
+ case "AccessDeniedException":
1675
+ case "com.amazonaws.dataexchange#AccessDeniedException":
1676
+ throw await de_AccessDeniedExceptionRes(parsedOutput, context);
1677
+ case "ConflictException":
1678
+ case "com.amazonaws.dataexchange#ConflictException":
1679
+ throw await de_ConflictExceptionRes(parsedOutput, context);
1680
+ case "InternalServerException":
1681
+ case "com.amazonaws.dataexchange#InternalServerException":
1682
+ throw await de_InternalServerExceptionRes(parsedOutput, context);
1683
+ case "ResourceNotFoundException":
1684
+ case "com.amazonaws.dataexchange#ResourceNotFoundException":
1685
+ throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
1686
+ case "ThrottlingException":
1687
+ case "com.amazonaws.dataexchange#ThrottlingException":
1688
+ throw await de_ThrottlingExceptionRes(parsedOutput, context);
1689
+ case "ValidationException":
1690
+ case "com.amazonaws.dataexchange#ValidationException":
1691
+ throw await de_ValidationExceptionRes(parsedOutput, context);
1692
+ default:
1693
+ const parsedBody = parsedOutput.body;
1694
+ return throwDefaultError({
1695
+ output,
1696
+ parsedBody,
1697
+ errorCode,
1698
+ });
1699
+ }
1700
+ };
1631
1701
  export const de_StartJobCommand = async (output, context) => {
1632
1702
  if (output.statusCode !== 202 && output.statusCode >= 300) {
1633
1703
  return de_StartJobCommandError(output, context);
@@ -2036,6 +2106,29 @@ const de_ValidationExceptionRes = async (parsedOutput, context) => {
2036
2106
  });
2037
2107
  return __decorateServiceException(exception, parsedOutput.body);
2038
2108
  };
2109
+ const se_DataUpdateRequestDetails = (input, context) => {
2110
+ return take(input, {
2111
+ DataUpdatedAt: (_) => _.toISOString().split(".")[0] + "Z",
2112
+ });
2113
+ };
2114
+ const se_DeprecationRequestDetails = (input, context) => {
2115
+ return take(input, {
2116
+ DeprecationAt: (_) => _.toISOString().split(".")[0] + "Z",
2117
+ });
2118
+ };
2119
+ const se_NotificationDetails = (input, context) => {
2120
+ return take(input, {
2121
+ DataUpdate: (_) => se_DataUpdateRequestDetails(_, context),
2122
+ Deprecation: (_) => se_DeprecationRequestDetails(_, context),
2123
+ SchemaChange: (_) => se_SchemaChangeRequestDetails(_, context),
2124
+ });
2125
+ };
2126
+ const se_SchemaChangeRequestDetails = (input, context) => {
2127
+ return take(input, {
2128
+ Changes: _json,
2129
+ SchemaChangeAt: (_) => _.toISOString().split(".")[0] + "Z",
2130
+ });
2131
+ };
2039
2132
  const de_ApiGatewayApiAsset = (output, context) => {
2040
2133
  return take(output, {
2041
2134
  ApiDescription: __expectString,
@@ -21,6 +21,7 @@ import { ListRevisionAssetsCommandInput, ListRevisionAssetsCommandOutput } from
21
21
  import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput } from "./commands/ListTagsForResourceCommand";
22
22
  import { RevokeRevisionCommandInput, RevokeRevisionCommandOutput } from "./commands/RevokeRevisionCommand";
23
23
  import { SendApiAssetCommandInput, SendApiAssetCommandOutput } from "./commands/SendApiAssetCommand";
24
+ import { SendDataSetNotificationCommandInput, SendDataSetNotificationCommandOutput } from "./commands/SendDataSetNotificationCommand";
24
25
  import { StartJobCommandInput, StartJobCommandOutput } from "./commands/StartJobCommand";
25
26
  import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
26
27
  import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand";
@@ -162,6 +163,12 @@ export interface DataExchange {
162
163
  sendApiAsset(args: SendApiAssetCommandInput, options?: __HttpHandlerOptions): Promise<SendApiAssetCommandOutput>;
163
164
  sendApiAsset(args: SendApiAssetCommandInput, cb: (err: any, data?: SendApiAssetCommandOutput) => void): void;
164
165
  sendApiAsset(args: SendApiAssetCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: SendApiAssetCommandOutput) => void): void;
166
+ /**
167
+ * @see {@link SendDataSetNotificationCommand}
168
+ */
169
+ sendDataSetNotification(args: SendDataSetNotificationCommandInput, options?: __HttpHandlerOptions): Promise<SendDataSetNotificationCommandOutput>;
170
+ sendDataSetNotification(args: SendDataSetNotificationCommandInput, cb: (err: any, data?: SendDataSetNotificationCommandOutput) => void): void;
171
+ sendDataSetNotification(args: SendDataSetNotificationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: SendDataSetNotificationCommandOutput) => void): void;
165
172
  /**
166
173
  * @see {@link StartJobCommand}
167
174
  */
@@ -30,6 +30,7 @@ import { ListRevisionAssetsCommandInput, ListRevisionAssetsCommandOutput } from
30
30
  import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput } from "./commands/ListTagsForResourceCommand";
31
31
  import { RevokeRevisionCommandInput, RevokeRevisionCommandOutput } from "./commands/RevokeRevisionCommand";
32
32
  import { SendApiAssetCommandInput, SendApiAssetCommandOutput } from "./commands/SendApiAssetCommand";
33
+ import { SendDataSetNotificationCommandInput, SendDataSetNotificationCommandOutput } from "./commands/SendDataSetNotificationCommand";
33
34
  import { StartJobCommandInput, StartJobCommandOutput } from "./commands/StartJobCommand";
34
35
  import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
35
36
  import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand";
@@ -43,11 +44,11 @@ export { __Client };
43
44
  /**
44
45
  * @public
45
46
  */
46
- export type ServiceInputTypes = CancelJobCommandInput | CreateDataSetCommandInput | CreateEventActionCommandInput | CreateJobCommandInput | CreateRevisionCommandInput | DeleteAssetCommandInput | DeleteDataSetCommandInput | DeleteEventActionCommandInput | DeleteRevisionCommandInput | GetAssetCommandInput | GetDataSetCommandInput | GetEventActionCommandInput | GetJobCommandInput | GetRevisionCommandInput | ListDataSetRevisionsCommandInput | ListDataSetsCommandInput | ListEventActionsCommandInput | ListJobsCommandInput | ListRevisionAssetsCommandInput | ListTagsForResourceCommandInput | RevokeRevisionCommandInput | SendApiAssetCommandInput | StartJobCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateAssetCommandInput | UpdateDataSetCommandInput | UpdateEventActionCommandInput | UpdateRevisionCommandInput;
47
+ export type ServiceInputTypes = CancelJobCommandInput | CreateDataSetCommandInput | CreateEventActionCommandInput | CreateJobCommandInput | CreateRevisionCommandInput | DeleteAssetCommandInput | DeleteDataSetCommandInput | DeleteEventActionCommandInput | DeleteRevisionCommandInput | GetAssetCommandInput | GetDataSetCommandInput | GetEventActionCommandInput | GetJobCommandInput | GetRevisionCommandInput | ListDataSetRevisionsCommandInput | ListDataSetsCommandInput | ListEventActionsCommandInput | ListJobsCommandInput | ListRevisionAssetsCommandInput | ListTagsForResourceCommandInput | RevokeRevisionCommandInput | SendApiAssetCommandInput | SendDataSetNotificationCommandInput | StartJobCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateAssetCommandInput | UpdateDataSetCommandInput | UpdateEventActionCommandInput | UpdateRevisionCommandInput;
47
48
  /**
48
49
  * @public
49
50
  */
50
- export type ServiceOutputTypes = CancelJobCommandOutput | CreateDataSetCommandOutput | CreateEventActionCommandOutput | CreateJobCommandOutput | CreateRevisionCommandOutput | DeleteAssetCommandOutput | DeleteDataSetCommandOutput | DeleteEventActionCommandOutput | DeleteRevisionCommandOutput | GetAssetCommandOutput | GetDataSetCommandOutput | GetEventActionCommandOutput | GetJobCommandOutput | GetRevisionCommandOutput | ListDataSetRevisionsCommandOutput | ListDataSetsCommandOutput | ListEventActionsCommandOutput | ListJobsCommandOutput | ListRevisionAssetsCommandOutput | ListTagsForResourceCommandOutput | RevokeRevisionCommandOutput | SendApiAssetCommandOutput | StartJobCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateAssetCommandOutput | UpdateDataSetCommandOutput | UpdateEventActionCommandOutput | UpdateRevisionCommandOutput;
51
+ export type ServiceOutputTypes = CancelJobCommandOutput | CreateDataSetCommandOutput | CreateEventActionCommandOutput | CreateJobCommandOutput | CreateRevisionCommandOutput | DeleteAssetCommandOutput | DeleteDataSetCommandOutput | DeleteEventActionCommandOutput | DeleteRevisionCommandOutput | GetAssetCommandOutput | GetDataSetCommandOutput | GetEventActionCommandOutput | GetJobCommandOutput | GetRevisionCommandOutput | ListDataSetRevisionsCommandOutput | ListDataSetsCommandOutput | ListEventActionsCommandOutput | ListJobsCommandOutput | ListRevisionAssetsCommandOutput | ListTagsForResourceCommandOutput | RevokeRevisionCommandOutput | SendApiAssetCommandOutput | SendDataSetNotificationCommandOutput | StartJobCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateAssetCommandOutput | UpdateDataSetCommandOutput | UpdateEventActionCommandOutput | UpdateRevisionCommandOutput;
51
52
  /**
52
53
  * @public
53
54
  */
@@ -0,0 +1,138 @@
1
+ import { EndpointParameterInstructions } from "@smithy/middleware-endpoint";
2
+ import { Command as $Command } from "@smithy/smithy-client";
3
+ import { Handler, HttpHandlerOptions as __HttpHandlerOptions, MetadataBearer as __MetadataBearer, MiddlewareStack } from "@smithy/types";
4
+ import { DataExchangeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DataExchangeClient";
5
+ import { SendDataSetNotificationRequest, SendDataSetNotificationResponse } from "../models/models_0";
6
+ /**
7
+ * @public
8
+ */
9
+ export { __MetadataBearer, $Command };
10
+ /**
11
+ * @public
12
+ *
13
+ * The input for {@link SendDataSetNotificationCommand}.
14
+ */
15
+ export interface SendDataSetNotificationCommandInput extends SendDataSetNotificationRequest {
16
+ }
17
+ /**
18
+ * @public
19
+ *
20
+ * The output of {@link SendDataSetNotificationCommand}.
21
+ */
22
+ export interface SendDataSetNotificationCommandOutput extends SendDataSetNotificationResponse, __MetadataBearer {
23
+ }
24
+ /**
25
+ * @public
26
+ * <p>The type of event associated with the data set.</p>
27
+ * @example
28
+ * Use a bare-bones client and the command you need to make an API call.
29
+ * ```javascript
30
+ * import { DataExchangeClient, SendDataSetNotificationCommand } from "@aws-sdk/client-dataexchange"; // ES Modules import
31
+ * // const { DataExchangeClient, SendDataSetNotificationCommand } = require("@aws-sdk/client-dataexchange"); // CommonJS import
32
+ * const client = new DataExchangeClient(config);
33
+ * const input = { // SendDataSetNotificationRequest
34
+ * Scope: { // ScopeDetails
35
+ * LakeFormationTagPolicies: [ // ListOfLakeFormationTagPolicies
36
+ * { // LakeFormationTagPolicyDetails
37
+ * Database: "STRING_VALUE",
38
+ * Table: "STRING_VALUE",
39
+ * },
40
+ * ],
41
+ * RedshiftDataShares: [ // ListOfRedshiftDataShares
42
+ * { // RedshiftDataShareDetails
43
+ * Arn: "STRING_VALUE", // required
44
+ * Database: "STRING_VALUE", // required
45
+ * Function: "STRING_VALUE",
46
+ * Table: "STRING_VALUE",
47
+ * Schema: "STRING_VALUE",
48
+ * View: "STRING_VALUE",
49
+ * },
50
+ * ],
51
+ * S3DataAccesses: [ // ListOfS3DataAccesses
52
+ * { // S3DataAccessDetails
53
+ * KeyPrefixes: [ // ListOf__string
54
+ * "STRING_VALUE",
55
+ * ],
56
+ * Keys: [
57
+ * "STRING_VALUE",
58
+ * ],
59
+ * },
60
+ * ],
61
+ * },
62
+ * ClientToken: "STRING_VALUE",
63
+ * Comment: "STRING_VALUE",
64
+ * DataSetId: "STRING_VALUE", // required
65
+ * Details: { // NotificationDetails
66
+ * DataUpdate: { // DataUpdateRequestDetails
67
+ * DataUpdatedAt: new Date("TIMESTAMP"),
68
+ * },
69
+ * Deprecation: { // DeprecationRequestDetails
70
+ * DeprecationAt: new Date("TIMESTAMP"), // required
71
+ * },
72
+ * SchemaChange: { // SchemaChangeRequestDetails
73
+ * Changes: [ // ListOfSchemaChangeDetails
74
+ * { // SchemaChangeDetails
75
+ * Name: "STRING_VALUE", // required
76
+ * Type: "STRING_VALUE", // required
77
+ * Description: "STRING_VALUE",
78
+ * },
79
+ * ],
80
+ * SchemaChangeAt: new Date("TIMESTAMP"), // required
81
+ * },
82
+ * },
83
+ * Type: "STRING_VALUE", // required
84
+ * };
85
+ * const command = new SendDataSetNotificationCommand(input);
86
+ * const response = await client.send(command);
87
+ * // {};
88
+ *
89
+ * ```
90
+ *
91
+ * @param SendDataSetNotificationCommandInput - {@link SendDataSetNotificationCommandInput}
92
+ * @returns {@link SendDataSetNotificationCommandOutput}
93
+ * @see {@link SendDataSetNotificationCommandInput} for command's `input` shape.
94
+ * @see {@link SendDataSetNotificationCommandOutput} for command's `response` shape.
95
+ * @see {@link DataExchangeClientResolvedConfig | config} for DataExchangeClient's `config` shape.
96
+ *
97
+ * @throws {@link AccessDeniedException} (client fault)
98
+ * <p>Access to the resource is denied.</p>
99
+ *
100
+ * @throws {@link ConflictException} (client fault)
101
+ * <p>The request couldn't be completed because it conflicted with the current state of the resource.</p>
102
+ *
103
+ * @throws {@link InternalServerException} (server fault)
104
+ * <p>An exception occurred with the service.</p>
105
+ *
106
+ * @throws {@link ResourceNotFoundException} (client fault)
107
+ * <p>The resource couldn't be found.</p>
108
+ *
109
+ * @throws {@link ThrottlingException} (client fault)
110
+ * <p>The limit on the number of requests per second was exceeded.</p>
111
+ *
112
+ * @throws {@link ValidationException} (client fault)
113
+ * <p>The request was invalid.</p>
114
+ *
115
+ * @throws {@link DataExchangeServiceException}
116
+ * <p>Base exception class for all service exceptions from DataExchange service.</p>
117
+ *
118
+ */
119
+ export declare class SendDataSetNotificationCommand extends $Command<SendDataSetNotificationCommandInput, SendDataSetNotificationCommandOutput, DataExchangeClientResolvedConfig> {
120
+ readonly input: SendDataSetNotificationCommandInput;
121
+ static getEndpointParameterInstructions(): EndpointParameterInstructions;
122
+ /**
123
+ * @public
124
+ */
125
+ constructor(input: SendDataSetNotificationCommandInput);
126
+ /**
127
+ * @internal
128
+ */
129
+ resolveMiddleware(clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>, configuration: DataExchangeClientResolvedConfig, options?: __HttpHandlerOptions): Handler<SendDataSetNotificationCommandInput, SendDataSetNotificationCommandOutput>;
130
+ /**
131
+ * @internal
132
+ */
133
+ private serialize;
134
+ /**
135
+ * @internal
136
+ */
137
+ private deserialize;
138
+ }
@@ -20,6 +20,7 @@ export * from "./ListRevisionAssetsCommand";
20
20
  export * from "./ListTagsForResourceCommand";
21
21
  export * from "./RevokeRevisionCommand";
22
22
  export * from "./SendApiAssetCommand";
23
+ export * from "./SendDataSetNotificationCommand";
23
24
  export * from "./StartJobCommand";
24
25
  export * from "./TagResourceCommand";
25
26
  export * from "./UntagResourceCommand";
@@ -2878,6 +2878,291 @@ export interface SendApiAssetResponse {
2878
2878
  */
2879
2879
  ResponseHeaders?: Record<string, string>;
2880
2880
  }
2881
+ /**
2882
+ * @public
2883
+ * <p>Extra details specific to a data update type notification.</p>
2884
+ */
2885
+ export interface DataUpdateRequestDetails {
2886
+ /**
2887
+ * @public
2888
+ * <p>A
2889
+ * datetime in the past when the data was updated. This typically means that the underlying
2890
+ * resource supporting the data set was updated.</p>
2891
+ */
2892
+ DataUpdatedAt?: Date;
2893
+ }
2894
+ /**
2895
+ * @public
2896
+ * <p>Extra details specific to a deprecation type notification.</p>
2897
+ */
2898
+ export interface DeprecationRequestDetails {
2899
+ /**
2900
+ * @public
2901
+ * <p>A
2902
+ * datetime in the future when the data set will be deprecated.</p>
2903
+ */
2904
+ DeprecationAt: Date | undefined;
2905
+ }
2906
+ /**
2907
+ * @public
2908
+ * @enum
2909
+ */
2910
+ export declare const SchemaChangeType: {
2911
+ readonly ADD: "ADD";
2912
+ readonly MODIFY: "MODIFY";
2913
+ readonly REMOVE: "REMOVE";
2914
+ };
2915
+ /**
2916
+ * @public
2917
+ */
2918
+ export type SchemaChangeType = (typeof SchemaChangeType)[keyof typeof SchemaChangeType];
2919
+ /**
2920
+ * @public
2921
+ * <p>Object encompassing information about a schema change to a single, particular field,
2922
+ * a notification can have up to 100 of these.</p>
2923
+ */
2924
+ export interface SchemaChangeDetails {
2925
+ /**
2926
+ * @public
2927
+ * <p>Name
2928
+ * of the changing
2929
+ * field. This value
2930
+ * can be up to 255 characters long.</p>
2931
+ */
2932
+ Name: string | undefined;
2933
+ /**
2934
+ * @public
2935
+ * <p>Is
2936
+ * the field being added, removed, or modified?</p>
2937
+ */
2938
+ Type: SchemaChangeType | undefined;
2939
+ /**
2940
+ * @public
2941
+ * <p>Description
2942
+ * of what's changing about this
2943
+ * field. This value
2944
+ * can be up to 512 characters long.</p>
2945
+ */
2946
+ Description?: string;
2947
+ }
2948
+ /**
2949
+ * @public
2950
+ * <p>Extra details specific to this schema change type notification.</p>
2951
+ */
2952
+ export interface SchemaChangeRequestDetails {
2953
+ /**
2954
+ * @public
2955
+ * <p>List
2956
+ * of schema changes happening in the scope of this
2957
+ * notification. This
2958
+ * can have up to 100 entries.</p>
2959
+ */
2960
+ Changes?: SchemaChangeDetails[];
2961
+ /**
2962
+ * @public
2963
+ * <p>A
2964
+ * date in the future when the schema change is taking effect.</p>
2965
+ */
2966
+ SchemaChangeAt: Date | undefined;
2967
+ }
2968
+ /**
2969
+ * @public
2970
+ * <p>Extra details specific to this notification.</p>
2971
+ */
2972
+ export interface NotificationDetails {
2973
+ /**
2974
+ * @public
2975
+ * <p>Extra
2976
+ * details specific to a data update type notification.</p>
2977
+ */
2978
+ DataUpdate?: DataUpdateRequestDetails;
2979
+ /**
2980
+ * @public
2981
+ * <p>Extra
2982
+ * details specific to a deprecation type notification.</p>
2983
+ */
2984
+ Deprecation?: DeprecationRequestDetails;
2985
+ /**
2986
+ * @public
2987
+ * <p>Extra
2988
+ * details specific to a schema change type notification.</p>
2989
+ */
2990
+ SchemaChange?: SchemaChangeRequestDetails;
2991
+ }
2992
+ /**
2993
+ * @public
2994
+ * <p>Extra details specific to the affected scope in
2995
+ * this LF data set.</p>
2996
+ */
2997
+ export interface LakeFormationTagPolicyDetails {
2998
+ /**
2999
+ * @public
3000
+ * <p>The
3001
+ * underlying Glue database that the notification is referring to.</p>
3002
+ */
3003
+ Database?: string;
3004
+ /**
3005
+ * @public
3006
+ * <p>The
3007
+ * underlying Glue table that the notification is referring to.</p>
3008
+ */
3009
+ Table?: string;
3010
+ }
3011
+ /**
3012
+ * @public
3013
+ * <p>Extra details specific to the affected scope
3014
+ * in this Redshift data set.</p>
3015
+ */
3016
+ export interface RedshiftDataShareDetails {
3017
+ /**
3018
+ * @public
3019
+ * <p>The
3020
+ * ARN of the underlying Redshift data share that is being affected by this
3021
+ * notification.</p>
3022
+ */
3023
+ Arn: string | undefined;
3024
+ /**
3025
+ * @public
3026
+ * <p>The
3027
+ * database name in the Redshift data share that is being affected by this
3028
+ * notification.</p>
3029
+ */
3030
+ Database: string | undefined;
3031
+ /**
3032
+ * @public
3033
+ * <p>A
3034
+ * function name in the Redshift database that is being affected by this notification.</p>
3035
+ */
3036
+ Function?: string;
3037
+ /**
3038
+ * @public
3039
+ * <p>A
3040
+ * table name in the Redshift database that is being affected by this notification.</p>
3041
+ */
3042
+ Table?: string;
3043
+ /**
3044
+ * @public
3045
+ * <p>A
3046
+ * schema name in the Redshift database that is being affected by this notification.</p>
3047
+ */
3048
+ Schema?: string;
3049
+ /**
3050
+ * @public
3051
+ * <p>A
3052
+ * view name in the Redshift database that is being affected by this notification.</p>
3053
+ */
3054
+ View?: string;
3055
+ }
3056
+ /**
3057
+ * @public
3058
+ * <p>Extra details specific to the affected scope in this S3 Data
3059
+ * Access data set.</p>
3060
+ */
3061
+ export interface S3DataAccessDetails {
3062
+ /**
3063
+ * @public
3064
+ * <p>A
3065
+ * list of the key prefixes affected by this
3066
+ * notification. This
3067
+ * can have up to 50 entries.</p>
3068
+ */
3069
+ KeyPrefixes?: string[];
3070
+ /**
3071
+ * @public
3072
+ * <p>A
3073
+ * list of the keys affected by this
3074
+ * notification. This
3075
+ * can have up to 50 entries.</p>
3076
+ */
3077
+ Keys?: string[];
3078
+ }
3079
+ /**
3080
+ * @public
3081
+ * <p>Details about the scope of the notifications such as the affected resources.</p>
3082
+ */
3083
+ export interface ScopeDetails {
3084
+ /**
3085
+ * @public
3086
+ * <p>Underlying
3087
+ * LF resources that will be affected by this notification.</p>
3088
+ */
3089
+ LakeFormationTagPolicies?: LakeFormationTagPolicyDetails[];
3090
+ /**
3091
+ * @public
3092
+ * <p>Underlying
3093
+ * Redshift resources that will be affected by this notification.</p>
3094
+ */
3095
+ RedshiftDataShares?: RedshiftDataShareDetails[];
3096
+ /**
3097
+ * @public
3098
+ * <p>Underlying
3099
+ * S3 resources that will be affected by this notification.</p>
3100
+ */
3101
+ S3DataAccesses?: S3DataAccessDetails[];
3102
+ }
3103
+ /**
3104
+ * @public
3105
+ * @enum
3106
+ */
3107
+ export declare const NotificationType: {
3108
+ readonly DATA_DELAY: "DATA_DELAY";
3109
+ readonly DATA_UPDATE: "DATA_UPDATE";
3110
+ readonly DEPRECATION: "DEPRECATION";
3111
+ readonly SCHEMA_CHANGE: "SCHEMA_CHANGE";
3112
+ };
3113
+ /**
3114
+ * @public
3115
+ */
3116
+ export type NotificationType = (typeof NotificationType)[keyof typeof NotificationType];
3117
+ /**
3118
+ * @public
3119
+ */
3120
+ export interface SendDataSetNotificationRequest {
3121
+ /**
3122
+ * @public
3123
+ * <p>Affected
3124
+ * scope of this notification such as the underlying resources affected by the notification
3125
+ * event.</p>
3126
+ */
3127
+ Scope?: ScopeDetails;
3128
+ /**
3129
+ * @public
3130
+ * <p>Idempotency
3131
+ * key for the notification, this key allows us to deduplicate notifications that are sent in
3132
+ * quick succession erroneously.</p>
3133
+ */
3134
+ ClientToken?: string;
3135
+ /**
3136
+ * @public
3137
+ * <p>Free-form
3138
+ * text field for providers to add information about their notifications.</p>
3139
+ */
3140
+ Comment?: string;
3141
+ /**
3142
+ * @public
3143
+ * <p>Affected
3144
+ * data set of the notification.</p>
3145
+ */
3146
+ DataSetId: string | undefined;
3147
+ /**
3148
+ * @public
3149
+ * <p>Extra
3150
+ * details specific to this notification type.</p>
3151
+ */
3152
+ Details?: NotificationDetails;
3153
+ /**
3154
+ * @public
3155
+ * <p>The
3156
+ * type of the notification. Describing the kind of event the notification is alerting you
3157
+ * to.</p>
3158
+ */
3159
+ Type: NotificationType | undefined;
3160
+ }
3161
+ /**
3162
+ * @public
3163
+ */
3164
+ export interface SendDataSetNotificationResponse {
3165
+ }
2881
3166
  /**
2882
3167
  * @public
2883
3168
  */
@@ -22,6 +22,7 @@ import { ListRevisionAssetsCommandInput, ListRevisionAssetsCommandOutput } from
22
22
  import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput } from "../commands/ListTagsForResourceCommand";
23
23
  import { RevokeRevisionCommandInput, RevokeRevisionCommandOutput } from "../commands/RevokeRevisionCommand";
24
24
  import { SendApiAssetCommandInput, SendApiAssetCommandOutput } from "../commands/SendApiAssetCommand";
25
+ import { SendDataSetNotificationCommandInput, SendDataSetNotificationCommandOutput } from "../commands/SendDataSetNotificationCommand";
25
26
  import { StartJobCommandInput, StartJobCommandOutput } from "../commands/StartJobCommand";
26
27
  import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand";
27
28
  import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand";
@@ -117,6 +118,10 @@ export declare const se_RevokeRevisionCommand: (input: RevokeRevisionCommandInpu
117
118
  * serializeAws_restJson1SendApiAssetCommand
118
119
  */
119
120
  export declare const se_SendApiAssetCommand: (input: SendApiAssetCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
121
+ /**
122
+ * serializeAws_restJson1SendDataSetNotificationCommand
123
+ */
124
+ export declare const se_SendDataSetNotificationCommand: (input: SendDataSetNotificationCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
120
125
  /**
121
126
  * serializeAws_restJson1StartJobCommand
122
127
  */
@@ -233,6 +238,10 @@ export declare const de_RevokeRevisionCommand: (output: __HttpResponse, context:
233
238
  * deserializeAws_restJson1SendApiAssetCommand
234
239
  */
235
240
  export declare const de_SendApiAssetCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<SendApiAssetCommandOutput>;
241
+ /**
242
+ * deserializeAws_restJson1SendDataSetNotificationCommand
243
+ */
244
+ export declare const de_SendDataSetNotificationCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<SendDataSetNotificationCommandOutput>;
236
245
  /**
237
246
  * deserializeAws_restJson1StartJobCommand
238
247
  */
@@ -87,6 +87,10 @@ import {
87
87
  SendApiAssetCommandInput,
88
88
  SendApiAssetCommandOutput,
89
89
  } from "./commands/SendApiAssetCommand";
90
+ import {
91
+ SendDataSetNotificationCommandInput,
92
+ SendDataSetNotificationCommandOutput,
93
+ } from "./commands/SendDataSetNotificationCommand";
90
94
  import {
91
95
  StartJobCommandInput,
92
96
  StartJobCommandOutput,
@@ -403,6 +407,19 @@ export interface DataExchange {
403
407
  options: __HttpHandlerOptions,
404
408
  cb: (err: any, data?: SendApiAssetCommandOutput) => void
405
409
  ): void;
410
+ sendDataSetNotification(
411
+ args: SendDataSetNotificationCommandInput,
412
+ options?: __HttpHandlerOptions
413
+ ): Promise<SendDataSetNotificationCommandOutput>;
414
+ sendDataSetNotification(
415
+ args: SendDataSetNotificationCommandInput,
416
+ cb: (err: any, data?: SendDataSetNotificationCommandOutput) => void
417
+ ): void;
418
+ sendDataSetNotification(
419
+ args: SendDataSetNotificationCommandInput,
420
+ options: __HttpHandlerOptions,
421
+ cb: (err: any, data?: SendDataSetNotificationCommandOutput) => void
422
+ ): void;
406
423
  startJob(
407
424
  args: StartJobCommandInput,
408
425
  options?: __HttpHandlerOptions
@@ -133,6 +133,10 @@ import {
133
133
  SendApiAssetCommandInput,
134
134
  SendApiAssetCommandOutput,
135
135
  } from "./commands/SendApiAssetCommand";
136
+ import {
137
+ SendDataSetNotificationCommandInput,
138
+ SendDataSetNotificationCommandOutput,
139
+ } from "./commands/SendDataSetNotificationCommand";
136
140
  import {
137
141
  StartJobCommandInput,
138
142
  StartJobCommandOutput,
@@ -191,6 +195,7 @@ export type ServiceInputTypes =
191
195
  | ListTagsForResourceCommandInput
192
196
  | RevokeRevisionCommandInput
193
197
  | SendApiAssetCommandInput
198
+ | SendDataSetNotificationCommandInput
194
199
  | StartJobCommandInput
195
200
  | TagResourceCommandInput
196
201
  | UntagResourceCommandInput
@@ -221,6 +226,7 @@ export type ServiceOutputTypes =
221
226
  | ListTagsForResourceCommandOutput
222
227
  | RevokeRevisionCommandOutput
223
228
  | SendApiAssetCommandOutput
229
+ | SendDataSetNotificationCommandOutput
224
230
  | StartJobCommandOutput
225
231
  | TagResourceCommandOutput
226
232
  | UntagResourceCommandOutput
@@ -0,0 +1,42 @@
1
+ import { EndpointParameterInstructions } from "@smithy/middleware-endpoint";
2
+ import { Command as $Command } from "@smithy/smithy-client";
3
+ import {
4
+ Handler,
5
+ HttpHandlerOptions as __HttpHandlerOptions,
6
+ MetadataBearer as __MetadataBearer,
7
+ MiddlewareStack,
8
+ } from "@smithy/types";
9
+ import {
10
+ DataExchangeClientResolvedConfig,
11
+ ServiceInputTypes,
12
+ ServiceOutputTypes,
13
+ } from "../DataExchangeClient";
14
+ import {
15
+ SendDataSetNotificationRequest,
16
+ SendDataSetNotificationResponse,
17
+ } from "../models/models_0";
18
+ export { __MetadataBearer, $Command };
19
+ export interface SendDataSetNotificationCommandInput
20
+ extends SendDataSetNotificationRequest {}
21
+ export interface SendDataSetNotificationCommandOutput
22
+ extends SendDataSetNotificationResponse,
23
+ __MetadataBearer {}
24
+ export declare class SendDataSetNotificationCommand extends $Command<
25
+ SendDataSetNotificationCommandInput,
26
+ SendDataSetNotificationCommandOutput,
27
+ DataExchangeClientResolvedConfig
28
+ > {
29
+ readonly input: SendDataSetNotificationCommandInput;
30
+ static getEndpointParameterInstructions(): EndpointParameterInstructions;
31
+ constructor(input: SendDataSetNotificationCommandInput);
32
+ resolveMiddleware(
33
+ clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>,
34
+ configuration: DataExchangeClientResolvedConfig,
35
+ options?: __HttpHandlerOptions
36
+ ): Handler<
37
+ SendDataSetNotificationCommandInput,
38
+ SendDataSetNotificationCommandOutput
39
+ >;
40
+ private serialize;
41
+ private deserialize;
42
+ }
@@ -20,6 +20,7 @@ export * from "./ListRevisionAssetsCommand";
20
20
  export * from "./ListTagsForResourceCommand";
21
21
  export * from "./RevokeRevisionCommand";
22
22
  export * from "./SendApiAssetCommand";
23
+ export * from "./SendDataSetNotificationCommand";
23
24
  export * from "./StartJobCommand";
24
25
  export * from "./TagResourceCommand";
25
26
  export * from "./UntagResourceCommand";
@@ -777,6 +777,71 @@ export interface SendApiAssetResponse {
777
777
  Body?: string;
778
778
  ResponseHeaders?: Record<string, string>;
779
779
  }
780
+ export interface DataUpdateRequestDetails {
781
+ DataUpdatedAt?: Date;
782
+ }
783
+ export interface DeprecationRequestDetails {
784
+ DeprecationAt: Date | undefined;
785
+ }
786
+ export declare const SchemaChangeType: {
787
+ readonly ADD: "ADD";
788
+ readonly MODIFY: "MODIFY";
789
+ readonly REMOVE: "REMOVE";
790
+ };
791
+ export type SchemaChangeType =
792
+ (typeof SchemaChangeType)[keyof typeof SchemaChangeType];
793
+ export interface SchemaChangeDetails {
794
+ Name: string | undefined;
795
+ Type: SchemaChangeType | undefined;
796
+ Description?: string;
797
+ }
798
+ export interface SchemaChangeRequestDetails {
799
+ Changes?: SchemaChangeDetails[];
800
+ SchemaChangeAt: Date | undefined;
801
+ }
802
+ export interface NotificationDetails {
803
+ DataUpdate?: DataUpdateRequestDetails;
804
+ Deprecation?: DeprecationRequestDetails;
805
+ SchemaChange?: SchemaChangeRequestDetails;
806
+ }
807
+ export interface LakeFormationTagPolicyDetails {
808
+ Database?: string;
809
+ Table?: string;
810
+ }
811
+ export interface RedshiftDataShareDetails {
812
+ Arn: string | undefined;
813
+ Database: string | undefined;
814
+ Function?: string;
815
+ Table?: string;
816
+ Schema?: string;
817
+ View?: string;
818
+ }
819
+ export interface S3DataAccessDetails {
820
+ KeyPrefixes?: string[];
821
+ Keys?: string[];
822
+ }
823
+ export interface ScopeDetails {
824
+ LakeFormationTagPolicies?: LakeFormationTagPolicyDetails[];
825
+ RedshiftDataShares?: RedshiftDataShareDetails[];
826
+ S3DataAccesses?: S3DataAccessDetails[];
827
+ }
828
+ export declare const NotificationType: {
829
+ readonly DATA_DELAY: "DATA_DELAY";
830
+ readonly DATA_UPDATE: "DATA_UPDATE";
831
+ readonly DEPRECATION: "DEPRECATION";
832
+ readonly SCHEMA_CHANGE: "SCHEMA_CHANGE";
833
+ };
834
+ export type NotificationType =
835
+ (typeof NotificationType)[keyof typeof NotificationType];
836
+ export interface SendDataSetNotificationRequest {
837
+ Scope?: ScopeDetails;
838
+ ClientToken?: string;
839
+ Comment?: string;
840
+ DataSetId: string | undefined;
841
+ Details?: NotificationDetails;
842
+ Type: NotificationType | undefined;
843
+ }
844
+ export interface SendDataSetNotificationResponse {}
780
845
  export interface StartJobRequest {
781
846
  JobId: string | undefined;
782
847
  }
@@ -91,6 +91,10 @@ import {
91
91
  SendApiAssetCommandInput,
92
92
  SendApiAssetCommandOutput,
93
93
  } from "../commands/SendApiAssetCommand";
94
+ import {
95
+ SendDataSetNotificationCommandInput,
96
+ SendDataSetNotificationCommandOutput,
97
+ } from "../commands/SendDataSetNotificationCommand";
94
98
  import {
95
99
  StartJobCommandInput,
96
100
  StartJobCommandOutput,
@@ -207,6 +211,10 @@ export declare const se_SendApiAssetCommand: (
207
211
  input: SendApiAssetCommandInput,
208
212
  context: __SerdeContext
209
213
  ) => Promise<__HttpRequest>;
214
+ export declare const se_SendDataSetNotificationCommand: (
215
+ input: SendDataSetNotificationCommandInput,
216
+ context: __SerdeContext
217
+ ) => Promise<__HttpRequest>;
210
218
  export declare const se_StartJobCommand: (
211
219
  input: StartJobCommandInput,
212
220
  context: __SerdeContext
@@ -323,6 +331,10 @@ export declare const de_SendApiAssetCommand: (
323
331
  output: __HttpResponse,
324
332
  context: __SerdeContext
325
333
  ) => Promise<SendApiAssetCommandOutput>;
334
+ export declare const de_SendDataSetNotificationCommand: (
335
+ output: __HttpResponse,
336
+ context: __SerdeContext
337
+ ) => Promise<SendDataSetNotificationCommandOutput>;
326
338
  export declare const de_StartJobCommand: (
327
339
  output: __HttpResponse,
328
340
  context: __SerdeContext
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-dataexchange",
3
3
  "description": "AWS SDK for JavaScript Dataexchange Client for Node.js, Browser and React Native",
4
- "version": "3.438.0",
4
+ "version": "3.439.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "tsc -p tsconfig.cjs.json",
@@ -57,12 +57,14 @@
57
57
  "@smithy/util-endpoints": "^1.0.2",
58
58
  "@smithy/util-retry": "^2.0.5",
59
59
  "@smithy/util-utf8": "^2.0.0",
60
- "tslib": "^2.5.0"
60
+ "tslib": "^2.5.0",
61
+ "uuid": "^8.3.2"
61
62
  },
62
63
  "devDependencies": {
63
64
  "@smithy/service-client-documentation-generator": "^2.0.0",
64
65
  "@tsconfig/node14": "1.0.3",
65
66
  "@types/node": "^14.14.31",
67
+ "@types/uuid": "^8.3.0",
66
68
  "concurrently": "7.0.0",
67
69
  "downlevel-dts": "0.10.1",
68
70
  "rimraf": "3.0.2",