From 5180c332309066976b9854567b7471fb15a6a401 Mon Sep 17 00:00:00 2001 From: awstools Date: Thu, 17 Oct 2024 18:20:14 +0000 Subject: [PATCH] feat(client-dataexchange): This release adds Data Grant support, through which customers can programmatically create data grants to share with other AWS accounts and accept data grants from other AWS accounts. --- clients/client-dataexchange/README.md | 84 +- .../client-dataexchange/src/DataExchange.ts | 173 +- .../src/DataExchangeClient.ts | 55 +- .../src/commands/AcceptDataGrantCommand.ts | 123 ++ .../src/commands/CancelJobCommand.ts | 6 +- .../src/commands/CreateDataGrantCommand.ts | 134 ++ .../src/commands/CreateDataSetCommand.ts | 1 + .../src/commands/CreateJobCommand.ts | 3 +- .../src/commands/DeleteAssetCommand.ts | 3 +- .../src/commands/DeleteDataGrantCommand.ts | 105 ++ .../src/commands/DeleteDataSetCommand.ts | 3 +- .../src/commands/DeleteRevisionCommand.ts | 3 +- .../src/commands/GetDataGrantCommand.ts | 123 ++ .../src/commands/GetDataSetCommand.ts | 1 + .../commands/GetReceivedDataGrantCommand.ts | 119 ++ .../src/commands/ListDataGrantsCommand.ts | 124 ++ .../commands/ListDataSetRevisionsCommand.ts | 3 +- .../src/commands/ListDataSetsCommand.ts | 4 +- .../commands/ListReceivedDataGrantsCommand.ts | 126 ++ .../src/commands/ListRevisionAssetsCommand.ts | 3 +- .../src/commands/RevokeRevisionCommand.ts | 3 +- .../src/commands/SendApiAssetCommand.ts | 3 +- .../SendDataSetNotificationCommand.ts | 3 +- .../src/commands/StartJobCommand.ts | 3 +- .../src/commands/UpdateAssetCommand.ts | 3 +- .../src/commands/UpdateDataSetCommand.ts | 1 + .../src/commands/UpdateRevisionCommand.ts | 3 +- .../client-dataexchange/src/commands/index.ts | 7 + clients/client-dataexchange/src/index.ts | 28 +- .../src/models/models_0.ts | 1462 +++++++++++++---- .../src/pagination/ListDataGrantsPaginator.ts | 24 + .../ListReceivedDataGrantsPaginator.ts | 24 + .../src/pagination/index.ts | 2 + .../src/protocols/Aws_restJson1.ts | 417 ++++- .../sdk-codegen/aws-models/dataexchange.json | 1430 ++++++++++++++-- 35 files changed, 4111 insertions(+), 498 deletions(-) create mode 100644 clients/client-dataexchange/src/commands/AcceptDataGrantCommand.ts create mode 100644 clients/client-dataexchange/src/commands/CreateDataGrantCommand.ts create mode 100644 clients/client-dataexchange/src/commands/DeleteDataGrantCommand.ts create mode 100644 clients/client-dataexchange/src/commands/GetDataGrantCommand.ts create mode 100644 clients/client-dataexchange/src/commands/GetReceivedDataGrantCommand.ts create mode 100644 clients/client-dataexchange/src/commands/ListDataGrantsCommand.ts create mode 100644 clients/client-dataexchange/src/commands/ListReceivedDataGrantsCommand.ts create mode 100644 clients/client-dataexchange/src/pagination/ListDataGrantsPaginator.ts create mode 100644 clients/client-dataexchange/src/pagination/ListReceivedDataGrantsPaginator.ts diff --git a/clients/client-dataexchange/README.md b/clients/client-dataexchange/README.md index 3e0e6e4077e38..587d0d947dde6 100644 --- a/clients/client-dataexchange/README.md +++ b/clients/client-dataexchange/README.md @@ -6,21 +6,23 @@ AWS SDK for JavaScript DataExchange Client for Node.js, Browser and React Native. -

AWS Data Exchange is a service that makes it easy for AWS customers to exchange data in the cloud. You can use the AWS Data Exchange APIs to create, update, manage, and access file-based data set in the AWS Cloud.

-

As a subscriber, you can view and access the data sets that you have an entitlement to through -a subscription. You can use the APIs to download or copy your entitled data sets to Amazon -Simple Storage Service (Amazon S3) for use across a variety of AWS analytics and machine -learning services.

-

As a provider, you can create and manage your data sets that you would like to publish to a -product. Being able to package and provide your data sets into products requires a few +

AWS Data Exchange is a service that makes it easy for AWS customers to exchange data in +the cloud. You can use the AWS Data Exchange APIs to create, update, manage, and access +file-based data set in the AWS Cloud.

+

As a subscriber, you can view and access the data sets that you have an entitlement to +through a subscription. You can use the APIs to download or copy your entitled data sets to +Amazon Simple Storage Service (Amazon S3) for use across a variety of AWS analytics and +machine learning services.

+

As a provider, you can create and manage your data sets that you would like to publish +to a product. Being able to package and provide your data sets into products requires a few steps to determine eligibility. For more information, visit the AWS Data Exchange User Guide.

-

A data set is a collection of data that can be changed or updated over time. Data sets can be -updated using revisions, which represent a new version or incremental change to a data set. -A revision contains one or more assets. An asset in AWS Data Exchange is a piece of data -that can be stored as an Amazon S3 object, Redshift datashare, API Gateway API, AWS Lake -Formation data permission, or Amazon S3 data access. The asset can be a structured data -file, an image file, or some other data file. Jobs are asynchronous import or export +

A data set is a collection of data that can be changed or updated over time. Data sets +can be updated using revisions, which represent a new version or incremental change to a +data set. A revision contains one or more assets. An asset in AWS Data Exchange is a piece +of data that can be stored as an Amazon S3 object, Redshift datashare, API Gateway API, AWS +Lake Formation data permission, or Amazon S3 data access. The asset can be a structured +data file, an image file, or some other data file. Jobs are asynchronous import or export operations used to create or copy assets.

## Installing @@ -218,6 +220,14 @@ see LICENSE for more information. ## Client Commands (Operations List) +
+ +AcceptDataGrant + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/dataexchange/command/AcceptDataGrantCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-dataexchange/Interface/AcceptDataGrantCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-dataexchange/Interface/AcceptDataGrantCommandOutput/) + +
CancelJob @@ -225,6 +235,14 @@ CancelJob [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/dataexchange/command/CancelJobCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-dataexchange/Interface/CancelJobCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-dataexchange/Interface/CancelJobCommandOutput/) +
+
+ +CreateDataGrant + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/dataexchange/command/CreateDataGrantCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-dataexchange/Interface/CreateDataGrantCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-dataexchange/Interface/CreateDataGrantCommandOutput/) +
@@ -265,6 +283,14 @@ DeleteAsset [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/dataexchange/command/DeleteAssetCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-dataexchange/Interface/DeleteAssetCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-dataexchange/Interface/DeleteAssetCommandOutput/) +
+
+ +DeleteDataGrant + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/dataexchange/command/DeleteDataGrantCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-dataexchange/Interface/DeleteDataGrantCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-dataexchange/Interface/DeleteDataGrantCommandOutput/) +
@@ -297,6 +323,14 @@ GetAsset [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/dataexchange/command/GetAssetCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-dataexchange/Interface/GetAssetCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-dataexchange/Interface/GetAssetCommandOutput/) +
+
+ +GetDataGrant + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/dataexchange/command/GetDataGrantCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-dataexchange/Interface/GetDataGrantCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-dataexchange/Interface/GetDataGrantCommandOutput/) +
@@ -321,6 +355,14 @@ GetJob [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/dataexchange/command/GetJobCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-dataexchange/Interface/GetJobCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-dataexchange/Interface/GetJobCommandOutput/) +
+
+ +GetReceivedDataGrant + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/dataexchange/command/GetReceivedDataGrantCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-dataexchange/Interface/GetReceivedDataGrantCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-dataexchange/Interface/GetReceivedDataGrantCommandOutput/) +
@@ -329,6 +371,14 @@ GetRevision [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/dataexchange/command/GetRevisionCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-dataexchange/Interface/GetRevisionCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-dataexchange/Interface/GetRevisionCommandOutput/) +
+
+ +ListDataGrants + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/dataexchange/command/ListDataGrantsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-dataexchange/Interface/ListDataGrantsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-dataexchange/Interface/ListDataGrantsCommandOutput/) +
@@ -361,6 +411,14 @@ ListJobs [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/dataexchange/command/ListJobsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-dataexchange/Interface/ListJobsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-dataexchange/Interface/ListJobsCommandOutput/) +
+
+ +ListReceivedDataGrants + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/dataexchange/command/ListReceivedDataGrantsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-dataexchange/Interface/ListReceivedDataGrantsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-dataexchange/Interface/ListReceivedDataGrantsCommandOutput/) +
diff --git a/clients/client-dataexchange/src/DataExchange.ts b/clients/client-dataexchange/src/DataExchange.ts index 9651582406f75..d7233083d05bd 100644 --- a/clients/client-dataexchange/src/DataExchange.ts +++ b/clients/client-dataexchange/src/DataExchange.ts @@ -2,7 +2,17 @@ import { createAggregatedClient } from "@smithy/smithy-client"; import { HttpHandlerOptions as __HttpHandlerOptions } from "@smithy/types"; +import { + AcceptDataGrantCommand, + AcceptDataGrantCommandInput, + AcceptDataGrantCommandOutput, +} from "./commands/AcceptDataGrantCommand"; import { CancelJobCommand, CancelJobCommandInput, CancelJobCommandOutput } from "./commands/CancelJobCommand"; +import { + CreateDataGrantCommand, + CreateDataGrantCommandInput, + CreateDataGrantCommandOutput, +} from "./commands/CreateDataGrantCommand"; import { CreateDataSetCommand, CreateDataSetCommandInput, @@ -20,6 +30,11 @@ import { CreateRevisionCommandOutput, } from "./commands/CreateRevisionCommand"; import { DeleteAssetCommand, DeleteAssetCommandInput, DeleteAssetCommandOutput } from "./commands/DeleteAssetCommand"; +import { + DeleteDataGrantCommand, + DeleteDataGrantCommandInput, + DeleteDataGrantCommandOutput, +} from "./commands/DeleteDataGrantCommand"; import { DeleteDataSetCommand, DeleteDataSetCommandInput, @@ -36,6 +51,11 @@ import { DeleteRevisionCommandOutput, } from "./commands/DeleteRevisionCommand"; import { GetAssetCommand, GetAssetCommandInput, GetAssetCommandOutput } from "./commands/GetAssetCommand"; +import { + GetDataGrantCommand, + GetDataGrantCommandInput, + GetDataGrantCommandOutput, +} from "./commands/GetDataGrantCommand"; import { GetDataSetCommand, GetDataSetCommandInput, GetDataSetCommandOutput } from "./commands/GetDataSetCommand"; import { GetEventActionCommand, @@ -43,7 +63,17 @@ import { GetEventActionCommandOutput, } from "./commands/GetEventActionCommand"; import { GetJobCommand, GetJobCommandInput, GetJobCommandOutput } from "./commands/GetJobCommand"; +import { + GetReceivedDataGrantCommand, + GetReceivedDataGrantCommandInput, + GetReceivedDataGrantCommandOutput, +} from "./commands/GetReceivedDataGrantCommand"; import { GetRevisionCommand, GetRevisionCommandInput, GetRevisionCommandOutput } from "./commands/GetRevisionCommand"; +import { + ListDataGrantsCommand, + ListDataGrantsCommandInput, + ListDataGrantsCommandOutput, +} from "./commands/ListDataGrantsCommand"; import { ListDataSetRevisionsCommand, ListDataSetRevisionsCommandInput, @@ -60,6 +90,11 @@ import { ListEventActionsCommandOutput, } from "./commands/ListEventActionsCommand"; import { ListJobsCommand, ListJobsCommandInput, ListJobsCommandOutput } from "./commands/ListJobsCommand"; +import { + ListReceivedDataGrantsCommand, + ListReceivedDataGrantsCommandInput, + ListReceivedDataGrantsCommandOutput, +} from "./commands/ListReceivedDataGrantsCommand"; import { ListRevisionAssetsCommand, ListRevisionAssetsCommandInput, @@ -111,24 +146,31 @@ import { import { DataExchangeClient, DataExchangeClientConfig } from "./DataExchangeClient"; const commands = { + AcceptDataGrantCommand, CancelJobCommand, + CreateDataGrantCommand, CreateDataSetCommand, CreateEventActionCommand, CreateJobCommand, CreateRevisionCommand, DeleteAssetCommand, + DeleteDataGrantCommand, DeleteDataSetCommand, DeleteEventActionCommand, DeleteRevisionCommand, GetAssetCommand, + GetDataGrantCommand, GetDataSetCommand, GetEventActionCommand, GetJobCommand, + GetReceivedDataGrantCommand, GetRevisionCommand, + ListDataGrantsCommand, ListDataSetRevisionsCommand, ListDataSetsCommand, ListEventActionsCommand, ListJobsCommand, + ListReceivedDataGrantsCommand, ListRevisionAssetsCommand, ListTagsForResourceCommand, RevokeRevisionCommand, @@ -144,6 +186,20 @@ const commands = { }; export interface DataExchange { + /** + * @see {@link AcceptDataGrantCommand} + */ + acceptDataGrant( + args: AcceptDataGrantCommandInput, + options?: __HttpHandlerOptions + ): Promise; + acceptDataGrant(args: AcceptDataGrantCommandInput, cb: (err: any, data?: AcceptDataGrantCommandOutput) => void): void; + acceptDataGrant( + args: AcceptDataGrantCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: AcceptDataGrantCommandOutput) => void + ): void; + /** * @see {@link CancelJobCommand} */ @@ -155,6 +211,20 @@ export interface DataExchange { cb: (err: any, data?: CancelJobCommandOutput) => void ): void; + /** + * @see {@link CreateDataGrantCommand} + */ + createDataGrant( + args: CreateDataGrantCommandInput, + options?: __HttpHandlerOptions + ): Promise; + createDataGrant(args: CreateDataGrantCommandInput, cb: (err: any, data?: CreateDataGrantCommandOutput) => void): void; + createDataGrant( + args: CreateDataGrantCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateDataGrantCommandOutput) => void + ): void; + /** * @see {@link CreateDataSetCommand} */ @@ -219,6 +289,20 @@ export interface DataExchange { cb: (err: any, data?: DeleteAssetCommandOutput) => void ): void; + /** + * @see {@link DeleteDataGrantCommand} + */ + deleteDataGrant( + args: DeleteDataGrantCommandInput, + options?: __HttpHandlerOptions + ): Promise; + deleteDataGrant(args: DeleteDataGrantCommandInput, cb: (err: any, data?: DeleteDataGrantCommandOutput) => void): void; + deleteDataGrant( + args: DeleteDataGrantCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteDataGrantCommandOutput) => void + ): void; + /** * @see {@link DeleteDataSetCommand} */ @@ -272,6 +356,17 @@ export interface DataExchange { cb: (err: any, data?: GetAssetCommandOutput) => void ): void; + /** + * @see {@link GetDataGrantCommand} + */ + getDataGrant(args: GetDataGrantCommandInput, options?: __HttpHandlerOptions): Promise; + getDataGrant(args: GetDataGrantCommandInput, cb: (err: any, data?: GetDataGrantCommandOutput) => void): void; + getDataGrant( + args: GetDataGrantCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetDataGrantCommandOutput) => void + ): void; + /** * @see {@link GetDataSetCommand} */ @@ -308,6 +403,23 @@ export interface DataExchange { cb: (err: any, data?: GetJobCommandOutput) => void ): void; + /** + * @see {@link GetReceivedDataGrantCommand} + */ + getReceivedDataGrant( + args: GetReceivedDataGrantCommandInput, + options?: __HttpHandlerOptions + ): Promise; + getReceivedDataGrant( + args: GetReceivedDataGrantCommandInput, + cb: (err: any, data?: GetReceivedDataGrantCommandOutput) => void + ): void; + getReceivedDataGrant( + args: GetReceivedDataGrantCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetReceivedDataGrantCommandOutput) => void + ): void; + /** * @see {@link GetRevisionCommand} */ @@ -319,6 +431,21 @@ export interface DataExchange { cb: (err: any, data?: GetRevisionCommandOutput) => void ): void; + /** + * @see {@link ListDataGrantsCommand} + */ + listDataGrants(): Promise; + listDataGrants( + args: ListDataGrantsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + listDataGrants(args: ListDataGrantsCommandInput, cb: (err: any, data?: ListDataGrantsCommandOutput) => void): void; + listDataGrants( + args: ListDataGrantsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListDataGrantsCommandOutput) => void + ): void; + /** * @see {@link ListDataSetRevisionsCommand} */ @@ -378,6 +505,24 @@ export interface DataExchange { cb: (err: any, data?: ListJobsCommandOutput) => void ): void; + /** + * @see {@link ListReceivedDataGrantsCommand} + */ + listReceivedDataGrants(): Promise; + listReceivedDataGrants( + args: ListReceivedDataGrantsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + listReceivedDataGrants( + args: ListReceivedDataGrantsCommandInput, + cb: (err: any, data?: ListReceivedDataGrantsCommandOutput) => void + ): void; + listReceivedDataGrants( + args: ListReceivedDataGrantsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListReceivedDataGrantsCommandOutput) => void + ): void; + /** * @see {@link ListRevisionAssetsCommand} */ @@ -542,21 +687,23 @@ export interface DataExchange { } /** - *

AWS Data Exchange is a service that makes it easy for AWS customers to exchange data in the cloud. You can use the AWS Data Exchange APIs to create, update, manage, and access file-based data set in the AWS Cloud.

- *

As a subscriber, you can view and access the data sets that you have an entitlement to through - * a subscription. You can use the APIs to download or copy your entitled data sets to Amazon - * Simple Storage Service (Amazon S3) for use across a variety of AWS analytics and machine - * learning services.

- *

As a provider, you can create and manage your data sets that you would like to publish to a - * product. Being able to package and provide your data sets into products requires a few + *

AWS Data Exchange is a service that makes it easy for AWS customers to exchange data in + * the cloud. You can use the AWS Data Exchange APIs to create, update, manage, and access + * file-based data set in the AWS Cloud.

+ *

As a subscriber, you can view and access the data sets that you have an entitlement to + * through a subscription. You can use the APIs to download or copy your entitled data sets to + * Amazon Simple Storage Service (Amazon S3) for use across a variety of AWS analytics and + * machine learning services.

+ *

As a provider, you can create and manage your data sets that you would like to publish + * to a product. Being able to package and provide your data sets into products requires a few * steps to determine eligibility. For more information, visit the AWS Data Exchange * User Guide.

- *

A data set is a collection of data that can be changed or updated over time. Data sets can be - * updated using revisions, which represent a new version or incremental change to a data set. - * A revision contains one or more assets. An asset in AWS Data Exchange is a piece of data - * that can be stored as an Amazon S3 object, Redshift datashare, API Gateway API, AWS Lake - * Formation data permission, or Amazon S3 data access. The asset can be a structured data - * file, an image file, or some other data file. Jobs are asynchronous import or export + *

A data set is a collection of data that can be changed or updated over time. Data sets + * can be updated using revisions, which represent a new version or incremental change to a + * data set. A revision contains one or more assets. An asset in AWS Data Exchange is a piece + * of data that can be stored as an Amazon S3 object, Redshift datashare, API Gateway API, AWS + * Lake Formation data permission, or Amazon S3 data access. The asset can be a structured + * data file, an image file, or some other data file. Jobs are asynchronous import or export * operations used to create or copy assets.

* @public */ diff --git a/clients/client-dataexchange/src/DataExchangeClient.ts b/clients/client-dataexchange/src/DataExchangeClient.ts index c6c10a2dcfe77..c4f1437b1bacf 100644 --- a/clients/client-dataexchange/src/DataExchangeClient.ts +++ b/clients/client-dataexchange/src/DataExchangeClient.ts @@ -53,20 +53,29 @@ import { HttpAuthSchemeResolvedConfig, resolveHttpAuthSchemeConfig, } from "./auth/httpAuthSchemeProvider"; +import { AcceptDataGrantCommandInput, AcceptDataGrantCommandOutput } from "./commands/AcceptDataGrantCommand"; import { CancelJobCommandInput, CancelJobCommandOutput } from "./commands/CancelJobCommand"; +import { CreateDataGrantCommandInput, CreateDataGrantCommandOutput } from "./commands/CreateDataGrantCommand"; import { CreateDataSetCommandInput, CreateDataSetCommandOutput } from "./commands/CreateDataSetCommand"; import { CreateEventActionCommandInput, CreateEventActionCommandOutput } from "./commands/CreateEventActionCommand"; import { CreateJobCommandInput, CreateJobCommandOutput } from "./commands/CreateJobCommand"; import { CreateRevisionCommandInput, CreateRevisionCommandOutput } from "./commands/CreateRevisionCommand"; import { DeleteAssetCommandInput, DeleteAssetCommandOutput } from "./commands/DeleteAssetCommand"; +import { DeleteDataGrantCommandInput, DeleteDataGrantCommandOutput } from "./commands/DeleteDataGrantCommand"; import { DeleteDataSetCommandInput, DeleteDataSetCommandOutput } from "./commands/DeleteDataSetCommand"; import { DeleteEventActionCommandInput, DeleteEventActionCommandOutput } from "./commands/DeleteEventActionCommand"; import { DeleteRevisionCommandInput, DeleteRevisionCommandOutput } from "./commands/DeleteRevisionCommand"; import { GetAssetCommandInput, GetAssetCommandOutput } from "./commands/GetAssetCommand"; +import { GetDataGrantCommandInput, GetDataGrantCommandOutput } from "./commands/GetDataGrantCommand"; import { GetDataSetCommandInput, GetDataSetCommandOutput } from "./commands/GetDataSetCommand"; import { GetEventActionCommandInput, GetEventActionCommandOutput } from "./commands/GetEventActionCommand"; import { GetJobCommandInput, GetJobCommandOutput } from "./commands/GetJobCommand"; +import { + GetReceivedDataGrantCommandInput, + GetReceivedDataGrantCommandOutput, +} from "./commands/GetReceivedDataGrantCommand"; import { GetRevisionCommandInput, GetRevisionCommandOutput } from "./commands/GetRevisionCommand"; +import { ListDataGrantsCommandInput, ListDataGrantsCommandOutput } from "./commands/ListDataGrantsCommand"; import { ListDataSetRevisionsCommandInput, ListDataSetRevisionsCommandOutput, @@ -74,6 +83,10 @@ import { import { ListDataSetsCommandInput, ListDataSetsCommandOutput } from "./commands/ListDataSetsCommand"; import { ListEventActionsCommandInput, ListEventActionsCommandOutput } from "./commands/ListEventActionsCommand"; import { ListJobsCommandInput, ListJobsCommandOutput } from "./commands/ListJobsCommand"; +import { + ListReceivedDataGrantsCommandInput, + ListReceivedDataGrantsCommandOutput, +} from "./commands/ListReceivedDataGrantsCommand"; import { ListRevisionAssetsCommandInput, ListRevisionAssetsCommandOutput } from "./commands/ListRevisionAssetsCommand"; import { ListTagsForResourceCommandInput, @@ -107,24 +120,31 @@ export { __Client }; * @public */ export type ServiceInputTypes = + | AcceptDataGrantCommandInput | CancelJobCommandInput + | CreateDataGrantCommandInput | CreateDataSetCommandInput | CreateEventActionCommandInput | CreateJobCommandInput | CreateRevisionCommandInput | DeleteAssetCommandInput + | DeleteDataGrantCommandInput | DeleteDataSetCommandInput | DeleteEventActionCommandInput | DeleteRevisionCommandInput | GetAssetCommandInput + | GetDataGrantCommandInput | GetDataSetCommandInput | GetEventActionCommandInput | GetJobCommandInput + | GetReceivedDataGrantCommandInput | GetRevisionCommandInput + | ListDataGrantsCommandInput | ListDataSetRevisionsCommandInput | ListDataSetsCommandInput | ListEventActionsCommandInput | ListJobsCommandInput + | ListReceivedDataGrantsCommandInput | ListRevisionAssetsCommandInput | ListTagsForResourceCommandInput | RevokeRevisionCommandInput @@ -142,24 +162,31 @@ export type ServiceInputTypes = * @public */ export type ServiceOutputTypes = + | AcceptDataGrantCommandOutput | CancelJobCommandOutput + | CreateDataGrantCommandOutput | CreateDataSetCommandOutput | CreateEventActionCommandOutput | CreateJobCommandOutput | CreateRevisionCommandOutput | DeleteAssetCommandOutput + | DeleteDataGrantCommandOutput | DeleteDataSetCommandOutput | DeleteEventActionCommandOutput | DeleteRevisionCommandOutput | GetAssetCommandOutput + | GetDataGrantCommandOutput | GetDataSetCommandOutput | GetEventActionCommandOutput | GetJobCommandOutput + | GetReceivedDataGrantCommandOutput | GetRevisionCommandOutput + | ListDataGrantsCommandOutput | ListDataSetRevisionsCommandOutput | ListDataSetsCommandOutput | ListEventActionsCommandOutput | ListJobsCommandOutput + | ListReceivedDataGrantsCommandOutput | ListRevisionAssetsCommandOutput | ListTagsForResourceCommandOutput | RevokeRevisionCommandOutput @@ -345,21 +372,23 @@ export type DataExchangeClientResolvedConfigType = __SmithyResolvedConfiguration export interface DataExchangeClientResolvedConfig extends DataExchangeClientResolvedConfigType {} /** - *

AWS Data Exchange is a service that makes it easy for AWS customers to exchange data in the cloud. You can use the AWS Data Exchange APIs to create, update, manage, and access file-based data set in the AWS Cloud.

- *

As a subscriber, you can view and access the data sets that you have an entitlement to through - * a subscription. You can use the APIs to download or copy your entitled data sets to Amazon - * Simple Storage Service (Amazon S3) for use across a variety of AWS analytics and machine - * learning services.

- *

As a provider, you can create and manage your data sets that you would like to publish to a - * product. Being able to package and provide your data sets into products requires a few + *

AWS Data Exchange is a service that makes it easy for AWS customers to exchange data in + * the cloud. You can use the AWS Data Exchange APIs to create, update, manage, and access + * file-based data set in the AWS Cloud.

+ *

As a subscriber, you can view and access the data sets that you have an entitlement to + * through a subscription. You can use the APIs to download or copy your entitled data sets to + * Amazon Simple Storage Service (Amazon S3) for use across a variety of AWS analytics and + * machine learning services.

+ *

As a provider, you can create and manage your data sets that you would like to publish + * to a product. Being able to package and provide your data sets into products requires a few * steps to determine eligibility. For more information, visit the AWS Data Exchange * User Guide.

- *

A data set is a collection of data that can be changed or updated over time. Data sets can be - * updated using revisions, which represent a new version or incremental change to a data set. - * A revision contains one or more assets. An asset in AWS Data Exchange is a piece of data - * that can be stored as an Amazon S3 object, Redshift datashare, API Gateway API, AWS Lake - * Formation data permission, or Amazon S3 data access. The asset can be a structured data - * file, an image file, or some other data file. Jobs are asynchronous import or export + *

A data set is a collection of data that can be changed or updated over time. Data sets + * can be updated using revisions, which represent a new version or incremental change to a + * data set. A revision contains one or more assets. An asset in AWS Data Exchange is a piece + * of data that can be stored as an Amazon S3 object, Redshift datashare, API Gateway API, AWS + * Lake Formation data permission, or Amazon S3 data access. The asset can be a structured + * data file, an image file, or some other data file. Jobs are asynchronous import or export * operations used to create or copy assets.

* @public */ diff --git a/clients/client-dataexchange/src/commands/AcceptDataGrantCommand.ts b/clients/client-dataexchange/src/commands/AcceptDataGrantCommand.ts new file mode 100644 index 0000000000000..7a2c9b0677c29 --- /dev/null +++ b/clients/client-dataexchange/src/commands/AcceptDataGrantCommand.ts @@ -0,0 +1,123 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { DataExchangeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DataExchangeClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { AcceptDataGrantRequest, AcceptDataGrantResponse } from "../models/models_0"; +import { de_AcceptDataGrantCommand, se_AcceptDataGrantCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link AcceptDataGrantCommand}. + */ +export interface AcceptDataGrantCommandInput extends AcceptDataGrantRequest {} +/** + * @public + * + * The output of {@link AcceptDataGrantCommand}. + */ +export interface AcceptDataGrantCommandOutput extends AcceptDataGrantResponse, __MetadataBearer {} + +/** + *

This operation accepts a data grant.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DataExchangeClient, AcceptDataGrantCommand } from "@aws-sdk/client-dataexchange"; // ES Modules import + * // const { DataExchangeClient, AcceptDataGrantCommand } = require("@aws-sdk/client-dataexchange"); // CommonJS import + * const client = new DataExchangeClient(config); + * const input = { // AcceptDataGrantRequest + * DataGrantArn: "STRING_VALUE", // required + * }; + * const command = new AcceptDataGrantCommand(input); + * const response = await client.send(command); + * // { // AcceptDataGrantResponse + * // Name: "STRING_VALUE", // required + * // SenderPrincipal: "STRING_VALUE", + * // ReceiverPrincipal: "STRING_VALUE", // required + * // Description: "STRING_VALUE", + * // AcceptanceState: "STRING_VALUE", // required + * // AcceptedAt: new Date("TIMESTAMP"), + * // EndsAt: new Date("TIMESTAMP"), + * // GrantDistributionScope: "STRING_VALUE", // required + * // DataSetId: "STRING_VALUE", // required + * // Id: "STRING_VALUE", // required + * // Arn: "STRING_VALUE", // required + * // CreatedAt: new Date("TIMESTAMP"), // required + * // UpdatedAt: new Date("TIMESTAMP"), // required + * // }; + * + * ``` + * + * @param AcceptDataGrantCommandInput - {@link AcceptDataGrantCommandInput} + * @returns {@link AcceptDataGrantCommandOutput} + * @see {@link AcceptDataGrantCommandInput} for command's `input` shape. + * @see {@link AcceptDataGrantCommandOutput} for command's `response` shape. + * @see {@link DataExchangeClientResolvedConfig | config} for DataExchangeClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

Access to the resource is denied.

+ * + * @throws {@link ConflictException} (client fault) + *

The request couldn't be completed because it conflicted with the current state of the + * resource.

+ * + * @throws {@link InternalServerException} (server fault) + *

An exception occurred with the service.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The resource couldn't be found.

+ * + * @throws {@link ThrottlingException} (client fault) + *

The limit on the number of requests per second was exceeded.

+ * + * @throws {@link ValidationException} (client fault) + *

The request was invalid.

+ * + * @throws {@link DataExchangeServiceException} + *

Base exception class for all service exceptions from DataExchange service.

+ * + * @public + */ +export class AcceptDataGrantCommand extends $Command + .classBuilder< + AcceptDataGrantCommandInput, + AcceptDataGrantCommandOutput, + DataExchangeClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: DataExchangeClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("DataExchange", "AcceptDataGrant", {}) + .n("DataExchangeClient", "AcceptDataGrantCommand") + .f(void 0, void 0) + .ser(se_AcceptDataGrantCommand) + .de(de_AcceptDataGrantCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: AcceptDataGrantRequest; + output: AcceptDataGrantResponse; + }; + sdk: { + input: AcceptDataGrantCommandInput; + output: AcceptDataGrantCommandOutput; + }; + }; +} diff --git a/clients/client-dataexchange/src/commands/CancelJobCommand.ts b/clients/client-dataexchange/src/commands/CancelJobCommand.ts index 71e7c45262c83..83968d33394b5 100644 --- a/clients/client-dataexchange/src/commands/CancelJobCommand.ts +++ b/clients/client-dataexchange/src/commands/CancelJobCommand.ts @@ -28,7 +28,8 @@ export interface CancelJobCommandInput extends CancelJobRequest {} export interface CancelJobCommandOutput extends __MetadataBearer {} /** - *

This operation cancels a job. Jobs can be cancelled only when they are in the WAITING state.

+ *

This operation cancels a job. Jobs can be cancelled only when they are in the WAITING + * state.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -51,7 +52,8 @@ export interface CancelJobCommandOutput extends __MetadataBearer {} * @see {@link DataExchangeClientResolvedConfig | config} for DataExchangeClient's `config` shape. * * @throws {@link ConflictException} (client fault) - *

The request couldn't be completed because it conflicted with the current state of the resource.

+ *

The request couldn't be completed because it conflicted with the current state of the + * resource.

* * @throws {@link InternalServerException} (server fault) *

An exception occurred with the service.

diff --git a/clients/client-dataexchange/src/commands/CreateDataGrantCommand.ts b/clients/client-dataexchange/src/commands/CreateDataGrantCommand.ts new file mode 100644 index 0000000000000..284f2cfeb202d --- /dev/null +++ b/clients/client-dataexchange/src/commands/CreateDataGrantCommand.ts @@ -0,0 +1,134 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { DataExchangeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DataExchangeClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { CreateDataGrantRequest, CreateDataGrantResponse } from "../models/models_0"; +import { de_CreateDataGrantCommand, se_CreateDataGrantCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CreateDataGrantCommand}. + */ +export interface CreateDataGrantCommandInput extends CreateDataGrantRequest {} +/** + * @public + * + * The output of {@link CreateDataGrantCommand}. + */ +export interface CreateDataGrantCommandOutput extends CreateDataGrantResponse, __MetadataBearer {} + +/** + *

This operation creates a data grant.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DataExchangeClient, CreateDataGrantCommand } from "@aws-sdk/client-dataexchange"; // ES Modules import + * // const { DataExchangeClient, CreateDataGrantCommand } = require("@aws-sdk/client-dataexchange"); // CommonJS import + * const client = new DataExchangeClient(config); + * const input = { // CreateDataGrantRequest + * Name: "STRING_VALUE", // required + * GrantDistributionScope: "STRING_VALUE", // required + * ReceiverPrincipal: "STRING_VALUE", // required + * SourceDataSetId: "STRING_VALUE", // required + * EndsAt: new Date("TIMESTAMP"), + * Description: "STRING_VALUE", + * Tags: { // MapOf__string + * "": "STRING_VALUE", + * }, + * }; + * const command = new CreateDataGrantCommand(input); + * const response = await client.send(command); + * // { // CreateDataGrantResponse + * // Name: "STRING_VALUE", // required + * // SenderPrincipal: "STRING_VALUE", // required + * // ReceiverPrincipal: "STRING_VALUE", // required + * // Description: "STRING_VALUE", + * // AcceptanceState: "STRING_VALUE", // required + * // AcceptedAt: new Date("TIMESTAMP"), + * // EndsAt: new Date("TIMESTAMP"), + * // GrantDistributionScope: "STRING_VALUE", // required + * // DataSetId: "STRING_VALUE", // required + * // SourceDataSetId: "STRING_VALUE", // required + * // Id: "STRING_VALUE", // required + * // Arn: "STRING_VALUE", // required + * // CreatedAt: new Date("TIMESTAMP"), // required + * // UpdatedAt: new Date("TIMESTAMP"), // required + * // Tags: { // MapOf__string + * // "": "STRING_VALUE", + * // }, + * // }; + * + * ``` + * + * @param CreateDataGrantCommandInput - {@link CreateDataGrantCommandInput} + * @returns {@link CreateDataGrantCommandOutput} + * @see {@link CreateDataGrantCommandInput} for command's `input` shape. + * @see {@link CreateDataGrantCommandOutput} for command's `response` shape. + * @see {@link DataExchangeClientResolvedConfig | config} for DataExchangeClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

Access to the resource is denied.

+ * + * @throws {@link InternalServerException} (server fault) + *

An exception occurred with the service.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The resource couldn't be found.

+ * + * @throws {@link ServiceLimitExceededException} (client fault) + *

The request has exceeded the quotas imposed by the service.

+ * + * @throws {@link ThrottlingException} (client fault) + *

The limit on the number of requests per second was exceeded.

+ * + * @throws {@link ValidationException} (client fault) + *

The request was invalid.

+ * + * @throws {@link DataExchangeServiceException} + *

Base exception class for all service exceptions from DataExchange service.

+ * + * @public + */ +export class CreateDataGrantCommand extends $Command + .classBuilder< + CreateDataGrantCommandInput, + CreateDataGrantCommandOutput, + DataExchangeClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: DataExchangeClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("DataExchange", "CreateDataGrant", {}) + .n("DataExchangeClient", "CreateDataGrantCommand") + .f(void 0, void 0) + .ser(se_CreateDataGrantCommand) + .de(de_CreateDataGrantCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: CreateDataGrantRequest; + output: CreateDataGrantResponse; + }; + sdk: { + input: CreateDataGrantCommandInput; + output: CreateDataGrantCommandOutput; + }; + }; +} diff --git a/clients/client-dataexchange/src/commands/CreateDataSetCommand.ts b/clients/client-dataexchange/src/commands/CreateDataSetCommand.ts index e8e5be7eef5de..afb6cce7a19d7 100644 --- a/clients/client-dataexchange/src/commands/CreateDataSetCommand.ts +++ b/clients/client-dataexchange/src/commands/CreateDataSetCommand.ts @@ -55,6 +55,7 @@ export interface CreateDataSetCommandOutput extends CreateDataSetResponse, __Met * // Origin: "STRING_VALUE", * // OriginDetails: { // OriginDetails * // ProductId: "STRING_VALUE", + * // DataGrantId: "STRING_VALUE", * // }, * // SourceId: "STRING_VALUE", * // Tags: { // MapOf__string diff --git a/clients/client-dataexchange/src/commands/CreateJobCommand.ts b/clients/client-dataexchange/src/commands/CreateJobCommand.ts index 6f44b5081de87..9c58566e05b6f 100644 --- a/clients/client-dataexchange/src/commands/CreateJobCommand.ts +++ b/clients/client-dataexchange/src/commands/CreateJobCommand.ts @@ -333,7 +333,8 @@ export interface CreateJobCommandOutput extends CreateJobResponse, __MetadataBea *

Access to the resource is denied.

* * @throws {@link ConflictException} (client fault) - *

The request couldn't be completed because it conflicted with the current state of the resource.

+ *

The request couldn't be completed because it conflicted with the current state of the + * resource.

* * @throws {@link InternalServerException} (server fault) *

An exception occurred with the service.

diff --git a/clients/client-dataexchange/src/commands/DeleteAssetCommand.ts b/clients/client-dataexchange/src/commands/DeleteAssetCommand.ts index ee01925941d30..fc230bc57f1e9 100644 --- a/clients/client-dataexchange/src/commands/DeleteAssetCommand.ts +++ b/clients/client-dataexchange/src/commands/DeleteAssetCommand.ts @@ -56,7 +56,8 @@ export interface DeleteAssetCommandOutput extends __MetadataBearer {} *

Access to the resource is denied.

* * @throws {@link ConflictException} (client fault) - *

The request couldn't be completed because it conflicted with the current state of the resource.

+ *

The request couldn't be completed because it conflicted with the current state of the + * resource.

* * @throws {@link InternalServerException} (server fault) *

An exception occurred with the service.

diff --git a/clients/client-dataexchange/src/commands/DeleteDataGrantCommand.ts b/clients/client-dataexchange/src/commands/DeleteDataGrantCommand.ts new file mode 100644 index 0000000000000..1f057bb8b2421 --- /dev/null +++ b/clients/client-dataexchange/src/commands/DeleteDataGrantCommand.ts @@ -0,0 +1,105 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { DataExchangeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DataExchangeClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { DeleteDataGrantRequest } from "../models/models_0"; +import { de_DeleteDataGrantCommand, se_DeleteDataGrantCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DeleteDataGrantCommand}. + */ +export interface DeleteDataGrantCommandInput extends DeleteDataGrantRequest {} +/** + * @public + * + * The output of {@link DeleteDataGrantCommand}. + */ +export interface DeleteDataGrantCommandOutput extends __MetadataBearer {} + +/** + *

This operation deletes a data grant.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DataExchangeClient, DeleteDataGrantCommand } from "@aws-sdk/client-dataexchange"; // ES Modules import + * // const { DataExchangeClient, DeleteDataGrantCommand } = require("@aws-sdk/client-dataexchange"); // CommonJS import + * const client = new DataExchangeClient(config); + * const input = { // DeleteDataGrantRequest + * DataGrantId: "STRING_VALUE", // required + * }; + * const command = new DeleteDataGrantCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param DeleteDataGrantCommandInput - {@link DeleteDataGrantCommandInput} + * @returns {@link DeleteDataGrantCommandOutput} + * @see {@link DeleteDataGrantCommandInput} for command's `input` shape. + * @see {@link DeleteDataGrantCommandOutput} for command's `response` shape. + * @see {@link DataExchangeClientResolvedConfig | config} for DataExchangeClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

Access to the resource is denied.

+ * + * @throws {@link InternalServerException} (server fault) + *

An exception occurred with the service.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The resource couldn't be found.

+ * + * @throws {@link ThrottlingException} (client fault) + *

The limit on the number of requests per second was exceeded.

+ * + * @throws {@link ValidationException} (client fault) + *

The request was invalid.

+ * + * @throws {@link DataExchangeServiceException} + *

Base exception class for all service exceptions from DataExchange service.

+ * + * @public + */ +export class DeleteDataGrantCommand extends $Command + .classBuilder< + DeleteDataGrantCommandInput, + DeleteDataGrantCommandOutput, + DataExchangeClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: DataExchangeClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("DataExchange", "DeleteDataGrant", {}) + .n("DataExchangeClient", "DeleteDataGrantCommand") + .f(void 0, void 0) + .ser(se_DeleteDataGrantCommand) + .de(de_DeleteDataGrantCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DeleteDataGrantRequest; + output: {}; + }; + sdk: { + input: DeleteDataGrantCommandInput; + output: DeleteDataGrantCommandOutput; + }; + }; +} diff --git a/clients/client-dataexchange/src/commands/DeleteDataSetCommand.ts b/clients/client-dataexchange/src/commands/DeleteDataSetCommand.ts index 650bb9de4dc7e..463c35f43ac0c 100644 --- a/clients/client-dataexchange/src/commands/DeleteDataSetCommand.ts +++ b/clients/client-dataexchange/src/commands/DeleteDataSetCommand.ts @@ -54,7 +54,8 @@ export interface DeleteDataSetCommandOutput extends __MetadataBearer {} *

Access to the resource is denied.

* * @throws {@link ConflictException} (client fault) - *

The request couldn't be completed because it conflicted with the current state of the resource.

+ *

The request couldn't be completed because it conflicted with the current state of the + * resource.

* * @throws {@link InternalServerException} (server fault) *

An exception occurred with the service.

diff --git a/clients/client-dataexchange/src/commands/DeleteRevisionCommand.ts b/clients/client-dataexchange/src/commands/DeleteRevisionCommand.ts index da76d2227fcf4..36e8edbae7dca 100644 --- a/clients/client-dataexchange/src/commands/DeleteRevisionCommand.ts +++ b/clients/client-dataexchange/src/commands/DeleteRevisionCommand.ts @@ -55,7 +55,8 @@ export interface DeleteRevisionCommandOutput extends __MetadataBearer {} *

Access to the resource is denied.

* * @throws {@link ConflictException} (client fault) - *

The request couldn't be completed because it conflicted with the current state of the resource.

+ *

The request couldn't be completed because it conflicted with the current state of the + * resource.

* * @throws {@link InternalServerException} (server fault) *

An exception occurred with the service.

diff --git a/clients/client-dataexchange/src/commands/GetDataGrantCommand.ts b/clients/client-dataexchange/src/commands/GetDataGrantCommand.ts new file mode 100644 index 0000000000000..644be676797dd --- /dev/null +++ b/clients/client-dataexchange/src/commands/GetDataGrantCommand.ts @@ -0,0 +1,123 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { DataExchangeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DataExchangeClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { GetDataGrantRequest, GetDataGrantResponse } from "../models/models_0"; +import { de_GetDataGrantCommand, se_GetDataGrantCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link GetDataGrantCommand}. + */ +export interface GetDataGrantCommandInput extends GetDataGrantRequest {} +/** + * @public + * + * The output of {@link GetDataGrantCommand}. + */ +export interface GetDataGrantCommandOutput extends GetDataGrantResponse, __MetadataBearer {} + +/** + *

This operation returns information about a data grant.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DataExchangeClient, GetDataGrantCommand } from "@aws-sdk/client-dataexchange"; // ES Modules import + * // const { DataExchangeClient, GetDataGrantCommand } = require("@aws-sdk/client-dataexchange"); // CommonJS import + * const client = new DataExchangeClient(config); + * const input = { // GetDataGrantRequest + * DataGrantId: "STRING_VALUE", // required + * }; + * const command = new GetDataGrantCommand(input); + * const response = await client.send(command); + * // { // GetDataGrantResponse + * // Name: "STRING_VALUE", // required + * // SenderPrincipal: "STRING_VALUE", // required + * // ReceiverPrincipal: "STRING_VALUE", // required + * // Description: "STRING_VALUE", + * // AcceptanceState: "STRING_VALUE", // required + * // AcceptedAt: new Date("TIMESTAMP"), + * // EndsAt: new Date("TIMESTAMP"), + * // GrantDistributionScope: "STRING_VALUE", // required + * // DataSetId: "STRING_VALUE", // required + * // SourceDataSetId: "STRING_VALUE", // required + * // Id: "STRING_VALUE", // required + * // Arn: "STRING_VALUE", // required + * // CreatedAt: new Date("TIMESTAMP"), // required + * // UpdatedAt: new Date("TIMESTAMP"), // required + * // Tags: { // MapOf__string + * // "": "STRING_VALUE", + * // }, + * // }; + * + * ``` + * + * @param GetDataGrantCommandInput - {@link GetDataGrantCommandInput} + * @returns {@link GetDataGrantCommandOutput} + * @see {@link GetDataGrantCommandInput} for command's `input` shape. + * @see {@link GetDataGrantCommandOutput} for command's `response` shape. + * @see {@link DataExchangeClientResolvedConfig | config} for DataExchangeClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

Access to the resource is denied.

+ * + * @throws {@link InternalServerException} (server fault) + *

An exception occurred with the service.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The resource couldn't be found.

+ * + * @throws {@link ThrottlingException} (client fault) + *

The limit on the number of requests per second was exceeded.

+ * + * @throws {@link ValidationException} (client fault) + *

The request was invalid.

+ * + * @throws {@link DataExchangeServiceException} + *

Base exception class for all service exceptions from DataExchange service.

+ * + * @public + */ +export class GetDataGrantCommand extends $Command + .classBuilder< + GetDataGrantCommandInput, + GetDataGrantCommandOutput, + DataExchangeClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: DataExchangeClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("DataExchange", "GetDataGrant", {}) + .n("DataExchangeClient", "GetDataGrantCommand") + .f(void 0, void 0) + .ser(se_GetDataGrantCommand) + .de(de_GetDataGrantCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: GetDataGrantRequest; + output: GetDataGrantResponse; + }; + sdk: { + input: GetDataGrantCommandInput; + output: GetDataGrantCommandOutput; + }; + }; +} diff --git a/clients/client-dataexchange/src/commands/GetDataSetCommand.ts b/clients/client-dataexchange/src/commands/GetDataSetCommand.ts index 2ee6ac331f7f8..c4df8ccb7a7a0 100644 --- a/clients/client-dataexchange/src/commands/GetDataSetCommand.ts +++ b/clients/client-dataexchange/src/commands/GetDataSetCommand.ts @@ -50,6 +50,7 @@ export interface GetDataSetCommandOutput extends GetDataSetResponse, __MetadataB * // Origin: "STRING_VALUE", * // OriginDetails: { // OriginDetails * // ProductId: "STRING_VALUE", + * // DataGrantId: "STRING_VALUE", * // }, * // SourceId: "STRING_VALUE", * // Tags: { // MapOf__string diff --git a/clients/client-dataexchange/src/commands/GetReceivedDataGrantCommand.ts b/clients/client-dataexchange/src/commands/GetReceivedDataGrantCommand.ts new file mode 100644 index 0000000000000..1a4e215f7300a --- /dev/null +++ b/clients/client-dataexchange/src/commands/GetReceivedDataGrantCommand.ts @@ -0,0 +1,119 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { DataExchangeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DataExchangeClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { GetReceivedDataGrantRequest, GetReceivedDataGrantResponse } from "../models/models_0"; +import { de_GetReceivedDataGrantCommand, se_GetReceivedDataGrantCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link GetReceivedDataGrantCommand}. + */ +export interface GetReceivedDataGrantCommandInput extends GetReceivedDataGrantRequest {} +/** + * @public + * + * The output of {@link GetReceivedDataGrantCommand}. + */ +export interface GetReceivedDataGrantCommandOutput extends GetReceivedDataGrantResponse, __MetadataBearer {} + +/** + *

This operation returns information about a received data grant.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DataExchangeClient, GetReceivedDataGrantCommand } from "@aws-sdk/client-dataexchange"; // ES Modules import + * // const { DataExchangeClient, GetReceivedDataGrantCommand } = require("@aws-sdk/client-dataexchange"); // CommonJS import + * const client = new DataExchangeClient(config); + * const input = { // GetReceivedDataGrantRequest + * DataGrantArn: "STRING_VALUE", // required + * }; + * const command = new GetReceivedDataGrantCommand(input); + * const response = await client.send(command); + * // { // GetReceivedDataGrantResponse + * // Name: "STRING_VALUE", // required + * // SenderPrincipal: "STRING_VALUE", + * // ReceiverPrincipal: "STRING_VALUE", // required + * // Description: "STRING_VALUE", + * // AcceptanceState: "STRING_VALUE", // required + * // AcceptedAt: new Date("TIMESTAMP"), + * // EndsAt: new Date("TIMESTAMP"), + * // GrantDistributionScope: "STRING_VALUE", // required + * // DataSetId: "STRING_VALUE", // required + * // Id: "STRING_VALUE", // required + * // Arn: "STRING_VALUE", // required + * // CreatedAt: new Date("TIMESTAMP"), // required + * // UpdatedAt: new Date("TIMESTAMP"), // required + * // }; + * + * ``` + * + * @param GetReceivedDataGrantCommandInput - {@link GetReceivedDataGrantCommandInput} + * @returns {@link GetReceivedDataGrantCommandOutput} + * @see {@link GetReceivedDataGrantCommandInput} for command's `input` shape. + * @see {@link GetReceivedDataGrantCommandOutput} for command's `response` shape. + * @see {@link DataExchangeClientResolvedConfig | config} for DataExchangeClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

Access to the resource is denied.

+ * + * @throws {@link InternalServerException} (server fault) + *

An exception occurred with the service.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The resource couldn't be found.

+ * + * @throws {@link ThrottlingException} (client fault) + *

The limit on the number of requests per second was exceeded.

+ * + * @throws {@link ValidationException} (client fault) + *

The request was invalid.

+ * + * @throws {@link DataExchangeServiceException} + *

Base exception class for all service exceptions from DataExchange service.

+ * + * @public + */ +export class GetReceivedDataGrantCommand extends $Command + .classBuilder< + GetReceivedDataGrantCommandInput, + GetReceivedDataGrantCommandOutput, + DataExchangeClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: DataExchangeClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("DataExchange", "GetReceivedDataGrant", {}) + .n("DataExchangeClient", "GetReceivedDataGrantCommand") + .f(void 0, void 0) + .ser(se_GetReceivedDataGrantCommand) + .de(de_GetReceivedDataGrantCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: GetReceivedDataGrantRequest; + output: GetReceivedDataGrantResponse; + }; + sdk: { + input: GetReceivedDataGrantCommandInput; + output: GetReceivedDataGrantCommandOutput; + }; + }; +} diff --git a/clients/client-dataexchange/src/commands/ListDataGrantsCommand.ts b/clients/client-dataexchange/src/commands/ListDataGrantsCommand.ts new file mode 100644 index 0000000000000..126abc373d2b0 --- /dev/null +++ b/clients/client-dataexchange/src/commands/ListDataGrantsCommand.ts @@ -0,0 +1,124 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { DataExchangeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DataExchangeClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { ListDataGrantsRequest, ListDataGrantsResponse } from "../models/models_0"; +import { de_ListDataGrantsCommand, se_ListDataGrantsCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListDataGrantsCommand}. + */ +export interface ListDataGrantsCommandInput extends ListDataGrantsRequest {} +/** + * @public + * + * The output of {@link ListDataGrantsCommand}. + */ +export interface ListDataGrantsCommandOutput extends ListDataGrantsResponse, __MetadataBearer {} + +/** + *

This operation returns information about all data grants.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DataExchangeClient, ListDataGrantsCommand } from "@aws-sdk/client-dataexchange"; // ES Modules import + * // const { DataExchangeClient, ListDataGrantsCommand } = require("@aws-sdk/client-dataexchange"); // CommonJS import + * const client = new DataExchangeClient(config); + * const input = { // ListDataGrantsRequest + * MaxResults: Number("int"), + * NextToken: "STRING_VALUE", + * }; + * const command = new ListDataGrantsCommand(input); + * const response = await client.send(command); + * // { // ListDataGrantsResponse + * // DataGrantSummaries: [ // ListOfDataGrantSummaryEntry + * // { // DataGrantSummaryEntry + * // Name: "STRING_VALUE", // required + * // SenderPrincipal: "STRING_VALUE", // required + * // ReceiverPrincipal: "STRING_VALUE", // required + * // AcceptanceState: "STRING_VALUE", // required + * // AcceptedAt: new Date("TIMESTAMP"), + * // EndsAt: new Date("TIMESTAMP"), + * // DataSetId: "STRING_VALUE", // required + * // SourceDataSetId: "STRING_VALUE", // required + * // Id: "STRING_VALUE", // required + * // Arn: "STRING_VALUE", // required + * // CreatedAt: new Date("TIMESTAMP"), // required + * // UpdatedAt: new Date("TIMESTAMP"), // required + * // }, + * // ], + * // NextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListDataGrantsCommandInput - {@link ListDataGrantsCommandInput} + * @returns {@link ListDataGrantsCommandOutput} + * @see {@link ListDataGrantsCommandInput} for command's `input` shape. + * @see {@link ListDataGrantsCommandOutput} for command's `response` shape. + * @see {@link DataExchangeClientResolvedConfig | config} for DataExchangeClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

Access to the resource is denied.

+ * + * @throws {@link InternalServerException} (server fault) + *

An exception occurred with the service.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The resource couldn't be found.

+ * + * @throws {@link ThrottlingException} (client fault) + *

The limit on the number of requests per second was exceeded.

+ * + * @throws {@link ValidationException} (client fault) + *

The request was invalid.

+ * + * @throws {@link DataExchangeServiceException} + *

Base exception class for all service exceptions from DataExchange service.

+ * + * @public + */ +export class ListDataGrantsCommand extends $Command + .classBuilder< + ListDataGrantsCommandInput, + ListDataGrantsCommandOutput, + DataExchangeClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: DataExchangeClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("DataExchange", "ListDataGrants", {}) + .n("DataExchangeClient", "ListDataGrantsCommand") + .f(void 0, void 0) + .ser(se_ListDataGrantsCommand) + .de(de_ListDataGrantsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListDataGrantsRequest; + output: ListDataGrantsResponse; + }; + sdk: { + input: ListDataGrantsCommandInput; + output: ListDataGrantsCommandOutput; + }; + }; +} diff --git a/clients/client-dataexchange/src/commands/ListDataSetRevisionsCommand.ts b/clients/client-dataexchange/src/commands/ListDataSetRevisionsCommand.ts index ce790fc9565c3..57fe5a92c512c 100644 --- a/clients/client-dataexchange/src/commands/ListDataSetRevisionsCommand.ts +++ b/clients/client-dataexchange/src/commands/ListDataSetRevisionsCommand.ts @@ -28,7 +28,8 @@ export interface ListDataSetRevisionsCommandInput extends ListDataSetRevisionsRe export interface ListDataSetRevisionsCommandOutput extends ListDataSetRevisionsResponse, __MetadataBearer {} /** - *

This operation lists a data set's revisions sorted by CreatedAt in descending order.

+ *

This operation lists a data set's revisions sorted by CreatedAt in descending + * order.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-dataexchange/src/commands/ListDataSetsCommand.ts b/clients/client-dataexchange/src/commands/ListDataSetsCommand.ts index 6b6855ac6b340..cd531210898cc 100644 --- a/clients/client-dataexchange/src/commands/ListDataSetsCommand.ts +++ b/clients/client-dataexchange/src/commands/ListDataSetsCommand.ts @@ -28,7 +28,8 @@ export interface ListDataSetsCommandInput extends ListDataSetsRequest {} export interface ListDataSetsCommandOutput extends ListDataSetsResponse, __MetadataBearer {} /** - *

This operation lists your data sets. When listing by origin OWNED, results are sorted by CreatedAt in descending order. When listing by origin ENTITLED, there is no order and the maxResults parameter is ignored.

+ *

This operation lists your data sets. When listing by origin OWNED, results are sorted by + * CreatedAt in descending order. When listing by origin ENTITLED, there is no order.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -54,6 +55,7 @@ export interface ListDataSetsCommandOutput extends ListDataSetsResponse, __Metad * // Origin: "STRING_VALUE", // required * // OriginDetails: { // OriginDetails * // ProductId: "STRING_VALUE", + * // DataGrantId: "STRING_VALUE", * // }, * // SourceId: "STRING_VALUE", * // UpdatedAt: new Date("TIMESTAMP"), // required diff --git a/clients/client-dataexchange/src/commands/ListReceivedDataGrantsCommand.ts b/clients/client-dataexchange/src/commands/ListReceivedDataGrantsCommand.ts new file mode 100644 index 0000000000000..2d82419057a7c --- /dev/null +++ b/clients/client-dataexchange/src/commands/ListReceivedDataGrantsCommand.ts @@ -0,0 +1,126 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { DataExchangeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DataExchangeClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { ListReceivedDataGrantsRequest, ListReceivedDataGrantsResponse } from "../models/models_0"; +import { de_ListReceivedDataGrantsCommand, se_ListReceivedDataGrantsCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListReceivedDataGrantsCommand}. + */ +export interface ListReceivedDataGrantsCommandInput extends ListReceivedDataGrantsRequest {} +/** + * @public + * + * The output of {@link ListReceivedDataGrantsCommand}. + */ +export interface ListReceivedDataGrantsCommandOutput extends ListReceivedDataGrantsResponse, __MetadataBearer {} + +/** + *

This operation returns information about all received data grants.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DataExchangeClient, ListReceivedDataGrantsCommand } from "@aws-sdk/client-dataexchange"; // ES Modules import + * // const { DataExchangeClient, ListReceivedDataGrantsCommand } = require("@aws-sdk/client-dataexchange"); // CommonJS import + * const client = new DataExchangeClient(config); + * const input = { // ListReceivedDataGrantsRequest + * MaxResults: Number("int"), + * NextToken: "STRING_VALUE", + * AcceptanceState: [ // AcceptanceStateFilterValues + * "STRING_VALUE", + * ], + * }; + * const command = new ListReceivedDataGrantsCommand(input); + * const response = await client.send(command); + * // { // ListReceivedDataGrantsResponse + * // DataGrantSummaries: [ // ListOfReceivedDataGrantSummariesEntry + * // { // ReceivedDataGrantSummariesEntry + * // Name: "STRING_VALUE", // required + * // SenderPrincipal: "STRING_VALUE", // required + * // ReceiverPrincipal: "STRING_VALUE", // required + * // AcceptanceState: "STRING_VALUE", // required + * // AcceptedAt: new Date("TIMESTAMP"), + * // EndsAt: new Date("TIMESTAMP"), + * // DataSetId: "STRING_VALUE", // required + * // Id: "STRING_VALUE", // required + * // Arn: "STRING_VALUE", // required + * // CreatedAt: new Date("TIMESTAMP"), // required + * // UpdatedAt: new Date("TIMESTAMP"), // required + * // }, + * // ], + * // NextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListReceivedDataGrantsCommandInput - {@link ListReceivedDataGrantsCommandInput} + * @returns {@link ListReceivedDataGrantsCommandOutput} + * @see {@link ListReceivedDataGrantsCommandInput} for command's `input` shape. + * @see {@link ListReceivedDataGrantsCommandOutput} for command's `response` shape. + * @see {@link DataExchangeClientResolvedConfig | config} for DataExchangeClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

Access to the resource is denied.

+ * + * @throws {@link InternalServerException} (server fault) + *

An exception occurred with the service.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The resource couldn't be found.

+ * + * @throws {@link ThrottlingException} (client fault) + *

The limit on the number of requests per second was exceeded.

+ * + * @throws {@link ValidationException} (client fault) + *

The request was invalid.

+ * + * @throws {@link DataExchangeServiceException} + *

Base exception class for all service exceptions from DataExchange service.

+ * + * @public + */ +export class ListReceivedDataGrantsCommand extends $Command + .classBuilder< + ListReceivedDataGrantsCommandInput, + ListReceivedDataGrantsCommandOutput, + DataExchangeClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: DataExchangeClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("DataExchange", "ListReceivedDataGrants", {}) + .n("DataExchangeClient", "ListReceivedDataGrantsCommand") + .f(void 0, void 0) + .ser(se_ListReceivedDataGrantsCommand) + .de(de_ListReceivedDataGrantsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListReceivedDataGrantsRequest; + output: ListReceivedDataGrantsResponse; + }; + sdk: { + input: ListReceivedDataGrantsCommandInput; + output: ListReceivedDataGrantsCommandOutput; + }; + }; +} diff --git a/clients/client-dataexchange/src/commands/ListRevisionAssetsCommand.ts b/clients/client-dataexchange/src/commands/ListRevisionAssetsCommand.ts index 2d25e2bc2fec9..a1f8692b67f12 100644 --- a/clients/client-dataexchange/src/commands/ListRevisionAssetsCommand.ts +++ b/clients/client-dataexchange/src/commands/ListRevisionAssetsCommand.ts @@ -28,7 +28,8 @@ export interface ListRevisionAssetsCommandInput extends ListRevisionAssetsReques export interface ListRevisionAssetsCommandOutput extends ListRevisionAssetsResponse, __MetadataBearer {} /** - *

This operation lists a revision's assets sorted alphabetically in descending order.

+ *

This operation lists a revision's assets sorted alphabetically in descending + * order.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-dataexchange/src/commands/RevokeRevisionCommand.ts b/clients/client-dataexchange/src/commands/RevokeRevisionCommand.ts index 48d7cc0c72f84..42eafb1b9899b 100644 --- a/clients/client-dataexchange/src/commands/RevokeRevisionCommand.ts +++ b/clients/client-dataexchange/src/commands/RevokeRevisionCommand.ts @@ -68,7 +68,8 @@ export interface RevokeRevisionCommandOutput extends RevokeRevisionResponse, __M *

Access to the resource is denied.

* * @throws {@link ConflictException} (client fault) - *

The request couldn't be completed because it conflicted with the current state of the resource.

+ *

The request couldn't be completed because it conflicted with the current state of the + * resource.

* * @throws {@link InternalServerException} (server fault) *

An exception occurred with the service.

diff --git a/clients/client-dataexchange/src/commands/SendApiAssetCommand.ts b/clients/client-dataexchange/src/commands/SendApiAssetCommand.ts index d49b93f17cbf8..bc4da55839e53 100644 --- a/clients/client-dataexchange/src/commands/SendApiAssetCommand.ts +++ b/clients/client-dataexchange/src/commands/SendApiAssetCommand.ts @@ -28,7 +28,8 @@ export interface SendApiAssetCommandInput extends SendApiAssetRequest {} export interface SendApiAssetCommandOutput extends SendApiAssetResponse, __MetadataBearer {} /** - *

This operation invokes an API Gateway API asset. The request is proxied to the provider’s API Gateway API.

+ *

This operation invokes an API Gateway API asset. The request is proxied to the + * provider’s API Gateway API.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-dataexchange/src/commands/SendDataSetNotificationCommand.ts b/clients/client-dataexchange/src/commands/SendDataSetNotificationCommand.ts index 806e8a39ea675..35f1fb83a5b3c 100644 --- a/clients/client-dataexchange/src/commands/SendDataSetNotificationCommand.ts +++ b/clients/client-dataexchange/src/commands/SendDataSetNotificationCommand.ts @@ -103,7 +103,8 @@ export interface SendDataSetNotificationCommandOutput extends SendDataSetNotific *

Access to the resource is denied.

* * @throws {@link ConflictException} (client fault) - *

The request couldn't be completed because it conflicted with the current state of the resource.

+ *

The request couldn't be completed because it conflicted with the current state of the + * resource.

* * @throws {@link InternalServerException} (server fault) *

An exception occurred with the service.

diff --git a/clients/client-dataexchange/src/commands/StartJobCommand.ts b/clients/client-dataexchange/src/commands/StartJobCommand.ts index 14c1507530f79..5098d43057478 100644 --- a/clients/client-dataexchange/src/commands/StartJobCommand.ts +++ b/clients/client-dataexchange/src/commands/StartJobCommand.ts @@ -54,7 +54,8 @@ export interface StartJobCommandOutput extends StartJobResponse, __MetadataBeare *

Access to the resource is denied.

* * @throws {@link ConflictException} (client fault) - *

The request couldn't be completed because it conflicted with the current state of the resource.

+ *

The request couldn't be completed because it conflicted with the current state of the + * resource.

* * @throws {@link InternalServerException} (server fault) *

An exception occurred with the service.

diff --git a/clients/client-dataexchange/src/commands/UpdateAssetCommand.ts b/clients/client-dataexchange/src/commands/UpdateAssetCommand.ts index 6761219f2f88b..ee797ed90de49 100644 --- a/clients/client-dataexchange/src/commands/UpdateAssetCommand.ts +++ b/clients/client-dataexchange/src/commands/UpdateAssetCommand.ts @@ -137,7 +137,8 @@ export interface UpdateAssetCommandOutput extends UpdateAssetResponse, __Metadat *

Access to the resource is denied.

* * @throws {@link ConflictException} (client fault) - *

The request couldn't be completed because it conflicted with the current state of the resource.

+ *

The request couldn't be completed because it conflicted with the current state of the + * resource.

* * @throws {@link InternalServerException} (server fault) *

An exception occurred with the service.

diff --git a/clients/client-dataexchange/src/commands/UpdateDataSetCommand.ts b/clients/client-dataexchange/src/commands/UpdateDataSetCommand.ts index f6ffca2646cf4..9806861cc69b1 100644 --- a/clients/client-dataexchange/src/commands/UpdateDataSetCommand.ts +++ b/clients/client-dataexchange/src/commands/UpdateDataSetCommand.ts @@ -52,6 +52,7 @@ export interface UpdateDataSetCommandOutput extends UpdateDataSetResponse, __Met * // Origin: "STRING_VALUE", * // OriginDetails: { // OriginDetails * // ProductId: "STRING_VALUE", + * // DataGrantId: "STRING_VALUE", * // }, * // SourceId: "STRING_VALUE", * // UpdatedAt: new Date("TIMESTAMP"), diff --git a/clients/client-dataexchange/src/commands/UpdateRevisionCommand.ts b/clients/client-dataexchange/src/commands/UpdateRevisionCommand.ts index 55641798b2d71..26671d982e391 100644 --- a/clients/client-dataexchange/src/commands/UpdateRevisionCommand.ts +++ b/clients/client-dataexchange/src/commands/UpdateRevisionCommand.ts @@ -69,7 +69,8 @@ export interface UpdateRevisionCommandOutput extends UpdateRevisionResponse, __M *

Access to the resource is denied.

* * @throws {@link ConflictException} (client fault) - *

The request couldn't be completed because it conflicted with the current state of the resource.

+ *

The request couldn't be completed because it conflicted with the current state of the + * resource.

* * @throws {@link InternalServerException} (server fault) *

An exception occurred with the service.

diff --git a/clients/client-dataexchange/src/commands/index.ts b/clients/client-dataexchange/src/commands/index.ts index 2bcaed8af6502..87840eabbea06 100644 --- a/clients/client-dataexchange/src/commands/index.ts +++ b/clients/client-dataexchange/src/commands/index.ts @@ -1,22 +1,29 @@ // smithy-typescript generated code +export * from "./AcceptDataGrantCommand"; export * from "./CancelJobCommand"; +export * from "./CreateDataGrantCommand"; export * from "./CreateDataSetCommand"; export * from "./CreateEventActionCommand"; export * from "./CreateJobCommand"; export * from "./CreateRevisionCommand"; export * from "./DeleteAssetCommand"; +export * from "./DeleteDataGrantCommand"; export * from "./DeleteDataSetCommand"; export * from "./DeleteEventActionCommand"; export * from "./DeleteRevisionCommand"; export * from "./GetAssetCommand"; +export * from "./GetDataGrantCommand"; export * from "./GetDataSetCommand"; export * from "./GetEventActionCommand"; export * from "./GetJobCommand"; +export * from "./GetReceivedDataGrantCommand"; export * from "./GetRevisionCommand"; +export * from "./ListDataGrantsCommand"; export * from "./ListDataSetRevisionsCommand"; export * from "./ListDataSetsCommand"; export * from "./ListEventActionsCommand"; export * from "./ListJobsCommand"; +export * from "./ListReceivedDataGrantsCommand"; export * from "./ListRevisionAssetsCommand"; export * from "./ListTagsForResourceCommand"; export * from "./RevokeRevisionCommand"; diff --git a/clients/client-dataexchange/src/index.ts b/clients/client-dataexchange/src/index.ts index 6b4b2be12863c..c020a5a3be70d 100644 --- a/clients/client-dataexchange/src/index.ts +++ b/clients/client-dataexchange/src/index.ts @@ -1,21 +1,23 @@ // smithy-typescript generated code /* eslint-disable */ /** - *

AWS Data Exchange is a service that makes it easy for AWS customers to exchange data in the cloud. You can use the AWS Data Exchange APIs to create, update, manage, and access file-based data set in the AWS Cloud.

- *

As a subscriber, you can view and access the data sets that you have an entitlement to through - * a subscription. You can use the APIs to download or copy your entitled data sets to Amazon - * Simple Storage Service (Amazon S3) for use across a variety of AWS analytics and machine - * learning services.

- *

As a provider, you can create and manage your data sets that you would like to publish to a - * product. Being able to package and provide your data sets into products requires a few + *

AWS Data Exchange is a service that makes it easy for AWS customers to exchange data in + * the cloud. You can use the AWS Data Exchange APIs to create, update, manage, and access + * file-based data set in the AWS Cloud.

+ *

As a subscriber, you can view and access the data sets that you have an entitlement to + * through a subscription. You can use the APIs to download or copy your entitled data sets to + * Amazon Simple Storage Service (Amazon S3) for use across a variety of AWS analytics and + * machine learning services.

+ *

As a provider, you can create and manage your data sets that you would like to publish + * to a product. Being able to package and provide your data sets into products requires a few * steps to determine eligibility. For more information, visit the AWS Data Exchange * User Guide.

- *

A data set is a collection of data that can be changed or updated over time. Data sets can be - * updated using revisions, which represent a new version or incremental change to a data set. - * A revision contains one or more assets. An asset in AWS Data Exchange is a piece of data - * that can be stored as an Amazon S3 object, Redshift datashare, API Gateway API, AWS Lake - * Formation data permission, or Amazon S3 data access. The asset can be a structured data - * file, an image file, or some other data file. Jobs are asynchronous import or export + *

A data set is a collection of data that can be changed or updated over time. Data sets + * can be updated using revisions, which represent a new version or incremental change to a + * data set. A revision contains one or more assets. An asset in AWS Data Exchange is a piece + * of data that can be stored as an Amazon S3 object, Redshift datashare, API Gateway API, AWS + * Lake Formation data permission, or Amazon S3 data access. The asset can be a structured + * data file, an image file, or some other data file. Jobs are asynchronous import or export * operations used to create or copy assets.

* * @packageDocumentation diff --git a/clients/client-dataexchange/src/models/models_0.ts b/clients/client-dataexchange/src/models/models_0.ts index ed5147fbfe072..f9ae049128a34 100644 --- a/clients/client-dataexchange/src/models/models_0.ts +++ b/clients/client-dataexchange/src/models/models_0.ts @@ -3,6 +3,142 @@ import { ExceptionOptionType as __ExceptionOptionType } from "@smithy/smithy-cli import { DataExchangeServiceException as __BaseException } from "./DataExchangeServiceException"; +/** + * @public + * @enum + */ +export const AcceptanceStateFilterValue = { + ACCEPTED: "ACCEPTED", + PENDING_RECEIVER_ACCEPTANCE: "PENDING_RECEIVER_ACCEPTANCE", +} as const; + +/** + * @public + */ +export type AcceptanceStateFilterValue = (typeof AcceptanceStateFilterValue)[keyof typeof AcceptanceStateFilterValue]; + +/** + * @public + */ +export interface AcceptDataGrantRequest { + /** + *

The Amazon Resource Name (ARN) of the data grant to accept.

+ * @public + */ + DataGrantArn: string | undefined; +} + +/** + * @public + * @enum + */ +export const DataGrantAcceptanceState = { + ACCEPTED: "ACCEPTED", + PENDING_RECEIVER_ACCEPTANCE: "PENDING_RECEIVER_ACCEPTANCE", +} as const; + +/** + * @public + */ +export type DataGrantAcceptanceState = (typeof DataGrantAcceptanceState)[keyof typeof DataGrantAcceptanceState]; + +/** + * @public + * @enum + */ +export const GrantDistributionScope = { + AWS_ORGANIZATION: "AWS_ORGANIZATION", + NONE: "NONE", +} as const; + +/** + * @public + */ +export type GrantDistributionScope = (typeof GrantDistributionScope)[keyof typeof GrantDistributionScope]; + +/** + * @public + */ +export interface AcceptDataGrantResponse { + /** + *

The name of the accepted data grant.

+ * @public + */ + Name: string | undefined; + + /** + *

The Amazon Web Services account ID of the data grant sender.

+ * @public + */ + SenderPrincipal?: string; + + /** + *

The Amazon Web Services account ID of the data grant receiver.

+ * @public + */ + ReceiverPrincipal: string | undefined; + + /** + *

The description of the accepted data grant.

+ * @public + */ + Description?: string; + + /** + *

The acceptance state of the data grant.

+ * @public + */ + AcceptanceState: DataGrantAcceptanceState | undefined; + + /** + *

The timestamp of when the data grant was accepted.

+ * @public + */ + AcceptedAt?: Date; + + /** + *

The timestamp of when access to the associated data set ends.

+ * @public + */ + EndsAt?: Date; + + /** + *

The distribution scope for the data grant.

+ * @public + */ + GrantDistributionScope: GrantDistributionScope | undefined; + + /** + *

The ID of the data set associated to the data grant.

+ * @public + */ + DataSetId: string | undefined; + + /** + *

The ID of the data grant.

+ * @public + */ + Id: string | undefined; + + /** + *

The Amazon Resource Name (ARN) of the accepted data grant.

+ * @public + */ + Arn: string | undefined; + + /** + *

The timestamp of when the data grant was created.

+ * @public + */ + CreatedAt: Date | undefined; + + /** + *

The timestamp of when the data grant was last updated.

+ * @public + */ + UpdatedAt: Date | undefined; +} + /** *

Access to the resource is denied.

* @public @@ -29,6 +165,205 @@ export class AccessDeniedException extends __BaseException { } } +/** + * @public + * @enum + */ +export const ResourceType = { + ASSET: "ASSET", + DATA_GRANT: "DATA_GRANT", + DATA_SET: "DATA_SET", + EVENT_ACTION: "EVENT_ACTION", + JOB: "JOB", + REVISION: "REVISION", +} as const; + +/** + * @public + */ +export type ResourceType = (typeof ResourceType)[keyof typeof ResourceType]; + +/** + *

The request couldn't be completed because it conflicted with the current state of the + * resource.

+ * @public + */ +export class ConflictException extends __BaseException { + readonly name: "ConflictException" = "ConflictException"; + readonly $fault: "client" = "client"; + /** + *

The request couldn't be completed because it conflicted with the current state of the + * resource.

+ * @public + */ + Message: string | undefined; + + /** + *

The unique identifier for the resource with the conflict.

+ * @public + */ + ResourceId?: string; + + /** + *

The type of the resource with the conflict.

+ * @public + */ + ResourceType?: ResourceType; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "ConflictException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ConflictException.prototype); + this.Message = opts.Message; + this.ResourceId = opts.ResourceId; + this.ResourceType = opts.ResourceType; + } +} + +/** + *

An exception occurred with the service.

+ * @public + */ +export class InternalServerException extends __BaseException { + readonly name: "InternalServerException" = "InternalServerException"; + readonly $fault: "server" = "server"; + /** + *

The message identifying the service exception that occurred.

+ * @public + */ + Message: string | undefined; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "InternalServerException", + $fault: "server", + ...opts, + }); + Object.setPrototypeOf(this, InternalServerException.prototype); + this.Message = opts.Message; + } +} + +/** + *

The resource couldn't be found.

+ * @public + */ +export class ResourceNotFoundException extends __BaseException { + readonly name: "ResourceNotFoundException" = "ResourceNotFoundException"; + readonly $fault: "client" = "client"; + /** + *

The resource couldn't be found.

+ * @public + */ + Message: string | undefined; + + /** + *

The unique identifier for the resource that couldn't be found.

+ * @public + */ + ResourceId?: string; + + /** + *

The type of resource that couldn't be found.

+ * @public + */ + ResourceType?: ResourceType; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "ResourceNotFoundException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ResourceNotFoundException.prototype); + this.Message = opts.Message; + this.ResourceId = opts.ResourceId; + this.ResourceType = opts.ResourceType; + } +} + +/** + *

The limit on the number of requests per second was exceeded.

+ * @public + */ +export class ThrottlingException extends __BaseException { + readonly name: "ThrottlingException" = "ThrottlingException"; + readonly $fault: "client" = "client"; + /** + *

The limit on the number of requests per second was exceeded.

+ * @public + */ + Message: string | undefined; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "ThrottlingException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ThrottlingException.prototype); + this.Message = opts.Message; + } +} + +/** + * @public + * @enum + */ +export const ExceptionCause = { + InsufficientS3BucketPolicy: "InsufficientS3BucketPolicy", + S3AccessDenied: "S3AccessDenied", +} as const; + +/** + * @public + */ +export type ExceptionCause = (typeof ExceptionCause)[keyof typeof ExceptionCause]; + +/** + *

The request was invalid.

+ * @public + */ +export class ValidationException extends __BaseException { + readonly name: "ValidationException" = "ValidationException"; + readonly $fault: "client" = "client"; + /** + *

The message that informs you about what was invalid about the request.

+ * @public + */ + Message: string | undefined; + + /** + *

The unique identifier for the resource that couldn't be found.

+ * @public + */ + ExceptionCause?: ExceptionCause; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "ValidationException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ValidationException.prototype); + this.Message = opts.Message; + this.ExceptionCause = opts.ExceptionCause; + } +} + /** * @public * @enum @@ -44,12 +379,14 @@ export const ServerSideEncryptionTypes = { export type ServerSideEncryptionTypes = (typeof ServerSideEncryptionTypes)[keyof typeof ServerSideEncryptionTypes]; /** - *

Encryption configuration of the export job. Includes the encryption type in addition to the AWS KMS key. The KMS key is only necessary if you chose the KMS encryption type.

+ *

Encryption configuration of the export job. Includes the encryption type in addition to + * the AWS KMS key. The KMS key is only necessary if you chose the KMS encryption type.

* @public */ export interface ExportServerSideEncryption { /** - *

The Amazon Resource Name (ARN) of the AWS KMS key you want to use to encrypt the Amazon S3 objects. This parameter is required if you choose aws:kms as an encryption type.

+ *

The Amazon Resource Name (ARN) of the AWS KMS key you want to use to encrypt the Amazon + * S3 objects. This parameter is required if you choose aws:kms as an encryption type.

* @public */ KmsKeyArn?: string; @@ -62,7 +399,8 @@ export interface ExportServerSideEncryption { } /** - *

A revision destination is the Amazon S3 bucket folder destination to where the export will be sent.

+ *

A revision destination is the Amazon S3 bucket folder destination to where the export + * will be sent.

* @public */ export interface AutoExportRevisionDestinationEntry { @@ -73,7 +411,8 @@ export interface AutoExportRevisionDestinationEntry { Bucket: string | undefined; /** - *

A string representing the pattern for generated names of the individual assets in the revision. For more information about key patterns, see Key patterns when exporting revisions.

+ *

A string representing the pattern for generated names of the individual assets in the + * revision. For more information about key patterns, see Key patterns when exporting revisions.

* @public */ KeyPattern?: string; @@ -91,7 +430,8 @@ export interface AutoExportRevisionToS3RequestDetails { Encryption?: ExportServerSideEncryption; /** - *

A revision destination is the Amazon S3 bucket folder destination to where the export will be sent.

+ *

A revision destination is the Amazon S3 bucket folder destination to where the export + * will be sent.

* @public */ RevisionDestination: AutoExportRevisionDestinationEntry | undefined; @@ -249,18 +589,21 @@ export interface TableLFTagPolicy { } /** - *

Details about the AWS Lake Formation resource (Table or Database) included in the AWS Lake Formation data permission.

+ *

Details about the AWS Lake Formation resource (Table or Database) included in the AWS + * Lake Formation data permission.

* @public */ export interface LFResourceDetails { /** - *

Details about the database resource included in the AWS Lake Formation data permission.

+ *

Details about the database resource included in the AWS Lake Formation data + * permission.

* @public */ Database?: DatabaseLFTagPolicy; /** - *

Details about the table resource included in the AWS Lake Formation data permission.

+ *

Details about the table resource included in the AWS Lake Formation data + * permission.

* @public */ Table?: TableLFTagPolicy; @@ -368,7 +711,8 @@ export interface LakeFormationDataPermissionAsset { Permissions: LFPermission[] | undefined; /** - *

The IAM role's ARN that allows AWS Data Exchange to assume the role and grant and revoke permissions to AWS Lake Formation data permissions.

+ *

The IAM role's ARN that allows AWS Data Exchange to assume the role and grant and revoke + * permissions to AWS Lake Formation data permissions.

* @public */ RoleArn?: string; @@ -426,13 +770,15 @@ export interface S3DataAccessAsset { Keys?: string[]; /** - *

The automatically-generated bucket-style alias for your Amazon S3 Access Point. Customers can access their entitled data using the S3 Access Point alias.

+ *

The automatically-generated bucket-style alias for your Amazon S3 Access Point. + * Customers can access their entitled data using the S3 Access Point alias.

* @public */ S3AccessPointAlias?: string; /** - *

The ARN for your Amazon S3 Access Point. Customers can also access their entitled data using the S3 Access Point ARN.

+ *

The ARN for your Amazon S3 Access Point. Customers can also access their entitled data + * using the S3 Access Point ARN.

* @public */ S3AccessPointArn?: string; @@ -578,7 +924,9 @@ export interface AssetEntry { RevisionId: string | undefined; /** - *

The asset ID of the owned asset corresponding to the entitled asset being viewed. This parameter is returned when an asset owner is viewing the entitled copy of its owned asset.

+ *

The asset ID of the owned asset corresponding to the entitled asset being viewed. This + * parameter is returned when an asset owner is viewing the entitled copy of its owned + * asset.

* @public */ SourceId?: string; @@ -623,217 +971,256 @@ export interface CancelJobRequest { * @public * @enum */ -export const ResourceType = { - ASSET: "ASSET", - DATA_SET: "DATA_SET", - EVENT_ACTION: "EVENT_ACTION", - JOB: "JOB", - REVISION: "REVISION", +export const Code = { + ACCESS_DENIED_EXCEPTION: "ACCESS_DENIED_EXCEPTION", + INTERNAL_SERVER_EXCEPTION: "INTERNAL_SERVER_EXCEPTION", + MALWARE_DETECTED: "MALWARE_DETECTED", + MALWARE_SCAN_ENCRYPTED_FILE: "MALWARE_SCAN_ENCRYPTED_FILE", + RESOURCE_NOT_FOUND_EXCEPTION: "RESOURCE_NOT_FOUND_EXCEPTION", + SERVICE_QUOTA_EXCEEDED_EXCEPTION: "SERVICE_QUOTA_EXCEEDED_EXCEPTION", + VALIDATION_EXCEPTION: "VALIDATION_EXCEPTION", } as const; /** * @public */ -export type ResourceType = (typeof ResourceType)[keyof typeof ResourceType]; +export type Code = (typeof Code)[keyof typeof Code]; /** - *

The request couldn't be completed because it conflicted with the current state of the resource.

* @public */ -export class ConflictException extends __BaseException { - readonly name: "ConflictException" = "ConflictException"; - readonly $fault: "client" = "client"; +export interface CreateDataGrantRequest { /** - *

The request couldn't be completed because it conflicted with the current state of the resource.

+ *

The name of the data grant.

* @public */ - Message: string | undefined; + Name: string | undefined; /** - *

The unique identifier for the resource with the conflict.

+ *

The distribution scope of the data grant.

* @public */ - ResourceId?: string; + GrantDistributionScope: GrantDistributionScope | undefined; /** - *

The type of the resource with the conflict.

+ *

The Amazon Web Services account ID of the data grant receiver.

* @public */ - ResourceType?: ResourceType; + ReceiverPrincipal: string | undefined; + /** - * @internal + *

The ID of the data set used to create the data grant.

+ * @public */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "ConflictException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, ConflictException.prototype); - this.Message = opts.Message; - this.ResourceId = opts.ResourceId; - this.ResourceType = opts.ResourceType; - } -} + SourceDataSetId: string | undefined; -/** - *

An exception occurred with the service.

- * @public - */ -export class InternalServerException extends __BaseException { - readonly name: "InternalServerException" = "InternalServerException"; - readonly $fault: "server" = "server"; /** - *

The message identifying the service exception that occurred.

+ *

The timestamp of when access to the associated data set ends.

* @public */ - Message: string | undefined; + EndsAt?: Date; + /** - * @internal + *

The description of the data grant.

+ * @public */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "InternalServerException", - $fault: "server", - ...opts, - }); - Object.setPrototypeOf(this, InternalServerException.prototype); - this.Message = opts.Message; - } + Description?: string; + + /** + *

The tags to add to the data grant. A tag is a key-value pair.

+ * @public + */ + Tags?: Record; } /** - *

The resource couldn't be found.

* @public */ -export class ResourceNotFoundException extends __BaseException { - readonly name: "ResourceNotFoundException" = "ResourceNotFoundException"; - readonly $fault: "client" = "client"; +export interface CreateDataGrantResponse { /** - *

The resource couldn't be found.

+ *

The name of the data grant.

* @public */ - Message: string | undefined; + Name: string | undefined; /** - *

The unique identifier for the resource that couldn't be found.

+ *

The Amazon Web Services account ID of the data grant sender.

* @public */ - ResourceId?: string; + SenderPrincipal: string | undefined; /** - *

The type of resource that couldn't be found.

+ *

The Amazon Web Services account ID of the data grant receiver.

* @public */ - ResourceType?: ResourceType; + ReceiverPrincipal: string | undefined; + /** - * @internal + *

The description of the data grant.

+ * @public */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "ResourceNotFoundException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, ResourceNotFoundException.prototype); - this.Message = opts.Message; - this.ResourceId = opts.ResourceId; - this.ResourceType = opts.ResourceType; - } -} + Description?: string; -/** - *

The limit on the number of requests per second was exceeded.

- * @public - */ -export class ThrottlingException extends __BaseException { - readonly name: "ThrottlingException" = "ThrottlingException"; - readonly $fault: "client" = "client"; /** - *

The limit on the number of requests per second was exceeded.

+ *

The acceptance state of the data grant.

* @public */ - Message: string | undefined; + AcceptanceState: DataGrantAcceptanceState | undefined; + /** - * @internal + *

The timestamp of when the data grant was accepted.

+ * @public */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "ThrottlingException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, ThrottlingException.prototype); - this.Message = opts.Message; - } + AcceptedAt?: Date; + + /** + *

The timestamp of when access to the associated data set ends.

+ * @public + */ + EndsAt?: Date; + + /** + *

The distribution scope for the data grant.

+ * @public + */ + GrantDistributionScope: GrantDistributionScope | undefined; + + /** + *

The ID of the data set associated to the data grant.

+ * @public + */ + DataSetId: string | undefined; + + /** + *

The ID of the data set used to create the data grant.

+ * @public + */ + SourceDataSetId: string | undefined; + + /** + *

The ID of the data grant.

+ * @public + */ + Id: string | undefined; + + /** + *

The Amazon Resource Name (ARN) of the data grant.

+ * @public + */ + Arn: string | undefined; + + /** + *

The timestamp of when the data grant was created.

+ * @public + */ + CreatedAt: Date | undefined; + + /** + *

The timestamp of when the data grant was last updated.

+ * @public + */ + UpdatedAt: Date | undefined; + + /** + *

The tags associated to the data grant. A tag is a key-value pair.

+ * @public + */ + Tags?: Record; } /** * @public * @enum */ -export const ExceptionCause = { - InsufficientS3BucketPolicy: "InsufficientS3BucketPolicy", - S3AccessDenied: "S3AccessDenied", +export const LimitName = { + AWS_Lake_Formation_data_permission_assets_per_revision: "AWS Lake Formation data permission assets per revision", + Active_and_pending_data_grants: "Active and pending data grants", + Amazon_API_Gateway_API_assets_per_revision: "Amazon API Gateway API assets per revision", + Amazon_Redshift_datashare_assets_per_import_job_from_Redshift: + "Amazon Redshift datashare assets per import job from Redshift", + Amazon_Redshift_datashare_assets_per_revision: "Amazon Redshift datashare assets per revision", + Amazon_S3_data_access_assets_per_revision: "Amazon S3 data access assets per revision", + Asset_per_export_job_from_Amazon_S3: "Asset per export job from Amazon S3", + Asset_size_in_GB: "Asset size in GB", + Assets_per_import_job_from_Amazon_S3: "Assets per import job from Amazon S3", + Assets_per_revision: "Assets per revision", + Auto_export_event_actions_per_data_set: "Auto export event actions per data set", + Concurrent_in_progress_jobs_to_create_Amazon_S3_data_access_assets_from_S3_buckets: + "Concurrent in progress jobs to create Amazon S3 data access assets from S3 buckets", + Concurrent_in_progress_jobs_to_export_assets_to_Amazon_S3: + "Concurrent in progress jobs to export assets to Amazon S3", + Concurrent_in_progress_jobs_to_export_assets_to_a_signed_URL: + "Concurrent in progress jobs to export assets to a signed URL", + Concurrent_in_progress_jobs_to_export_revisions_to_Amazon_S3: + "Concurrent in progress jobs to export revisions to Amazon S3", + Concurrent_in_progress_jobs_to_import_assets_from_Amazon_Redshift_datashares: + "Concurrent in progress jobs to import assets from Amazon Redshift datashares", + Concurrent_in_progress_jobs_to_import_assets_from_Amazon_S3: + "Concurrent in progress jobs to import assets from Amazon S3", + Concurrent_in_progress_jobs_to_import_assets_from_a_signed_URL: + "Concurrent in progress jobs to import assets from a signed URL", + Concurrent_in_progress_jobs_to_import_assets_from_an_API_Gateway_API: + "Concurrent in progress jobs to import assets from an API Gateway API", + Concurrent_in_progress_jobs_to_import_assets_from_an_AWS_Lake_Formation_tag_policy: + "Concurrent in progress jobs to import assets from an AWS Lake Formation tag policy", + Data_sets_per_account: "Data sets per account", + Data_sets_per_product: "Data sets per product", + Event_actions_per_account: "Event actions per account", + Pending_data_grants_per_consumer: "Pending data grants per consumer", + Products_per_account: "Products per account", + Revisions_per_AWS_Lake_Formation_data_permission_data_set: + "Revisions per AWS Lake Formation data permission data set", + Revisions_per_Amazon_API_Gateway_API_data_set: "Revisions per Amazon API Gateway API data set", + Revisions_per_Amazon_Redshift_datashare_data_set: "Revisions per Amazon Redshift datashare data set", + Revisions_per_Amazon_S3_data_access_data_set: "Revisions per Amazon S3 data access data set", + Revisions_per_data_set: "Revisions per data set", } as const; /** * @public */ -export type ExceptionCause = (typeof ExceptionCause)[keyof typeof ExceptionCause]; +export type LimitName = (typeof LimitName)[keyof typeof LimitName]; /** - *

The request was invalid.

+ *

The request has exceeded the quotas imposed by the service.

* @public */ -export class ValidationException extends __BaseException { - readonly name: "ValidationException" = "ValidationException"; +export class ServiceLimitExceededException extends __BaseException { + readonly name: "ServiceLimitExceededException" = "ServiceLimitExceededException"; readonly $fault: "client" = "client"; /** - *

The message that informs you about what was invalid about the request.

+ *

The name of the limit that was reached.

* @public */ - Message: string | undefined; + LimitName?: LimitName; /** - *

The unique identifier for the resource that couldn't be found.

+ *

The value of the exceeded limit.

* @public */ - ExceptionCause?: ExceptionCause; + LimitValue?: number; + + /** + *

The request has exceeded the quotas imposed by the service.

+ * @public + */ + Message: string | undefined; /** * @internal */ - constructor(opts: __ExceptionOptionType) { + constructor(opts: __ExceptionOptionType) { super({ - name: "ValidationException", + name: "ServiceLimitExceededException", $fault: "client", ...opts, }); - Object.setPrototypeOf(this, ValidationException.prototype); + Object.setPrototypeOf(this, ServiceLimitExceededException.prototype); + this.LimitName = opts.LimitName; + this.LimitValue = opts.LimitValue; this.Message = opts.Message; - this.ExceptionCause = opts.ExceptionCause; } } -/** - * @public - * @enum - */ -export const Code = { - ACCESS_DENIED_EXCEPTION: "ACCESS_DENIED_EXCEPTION", - INTERNAL_SERVER_EXCEPTION: "INTERNAL_SERVER_EXCEPTION", - MALWARE_DETECTED: "MALWARE_DETECTED", - MALWARE_SCAN_ENCRYPTED_FILE: "MALWARE_SCAN_ENCRYPTED_FILE", - RESOURCE_NOT_FOUND_EXCEPTION: "RESOURCE_NOT_FOUND_EXCEPTION", - SERVICE_QUOTA_EXCEEDED_EXCEPTION: "SERVICE_QUOTA_EXCEEDED_EXCEPTION", - VALIDATION_EXCEPTION: "VALIDATION_EXCEPTION", -} as const; - -/** - * @public - */ -export type Code = (typeof Code)[keyof typeof Code]; - /** * @public */ @@ -857,7 +1244,10 @@ export interface CreateDataSetRequest { Name: string | undefined; /** - *

A data set tag is an optional label that you can assign to a data set when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to these data sets and revisions.

+ *

A data set tag is an optional label that you can assign to a data set when you create + * it. Each tag consists of a key and an optional value, both of which you define. When you + * use tagging, you can also use tag-based access control in IAM policies to control access to + * these data sets and revisions.

* @public */ Tags?: Record; @@ -887,6 +1277,12 @@ export interface OriginDetails { * @public */ ProductId?: string; + + /** + *

The ID of the data grant.

+ * @public + */ + DataGrantId?: string; } /** @@ -930,19 +1326,23 @@ export interface CreateDataSetResponse { Name?: string; /** - *

A property that defines the data set as OWNED by the account (for providers) or ENTITLED to the account (for subscribers).

+ *

A property that defines the data set as OWNED by the account (for providers) or ENTITLED + * to the account (for subscribers).

* @public */ Origin?: Origin; /** - *

If the origin of this data set is ENTITLED, includes the details for the product on AWS Marketplace.

+ *

If the origin of this data set is ENTITLED, includes the details for the product on AWS + * Marketplace.

* @public */ OriginDetails?: OriginDetails; /** - *

The data set ID of the owned data set corresponding to the entitled data set being viewed. This parameter is returned when a data set owner is viewing the entitled copy of its owned data set.

+ *

The data set ID of the owned data set corresponding to the entitled data set being + * viewed. This parameter is returned when a data set owner is viewing the entitled copy of + * its owned data set.

* @public */ SourceId?: string; @@ -960,97 +1360,6 @@ export interface CreateDataSetResponse { UpdatedAt?: Date; } -/** - * @public - * @enum - */ -export const LimitName = { - AWS_Lake_Formation_data_permission_assets_per_revision: "AWS Lake Formation data permission assets per revision", - Amazon_API_Gateway_API_assets_per_revision: "Amazon API Gateway API assets per revision", - Amazon_Redshift_datashare_assets_per_import_job_from_Redshift: - "Amazon Redshift datashare assets per import job from Redshift", - Amazon_Redshift_datashare_assets_per_revision: "Amazon Redshift datashare assets per revision", - Amazon_S3_data_access_assets_per_revision: "Amazon S3 data access assets per revision", - Asset_per_export_job_from_Amazon_S3: "Asset per export job from Amazon S3", - Asset_size_in_GB: "Asset size in GB", - Assets_per_import_job_from_Amazon_S3: "Assets per import job from Amazon S3", - Assets_per_revision: "Assets per revision", - Auto_export_event_actions_per_data_set: "Auto export event actions per data set", - Concurrent_in_progress_jobs_to_create_Amazon_S3_data_access_assets_from_S3_buckets: - "Concurrent in progress jobs to create Amazon S3 data access assets from S3 buckets", - Concurrent_in_progress_jobs_to_export_assets_to_Amazon_S3: - "Concurrent in progress jobs to export assets to Amazon S3", - Concurrent_in_progress_jobs_to_export_assets_to_a_signed_URL: - "Concurrent in progress jobs to export assets to a signed URL", - Concurrent_in_progress_jobs_to_export_revisions_to_Amazon_S3: - "Concurrent in progress jobs to export revisions to Amazon S3", - Concurrent_in_progress_jobs_to_import_assets_from_Amazon_Redshift_datashares: - "Concurrent in progress jobs to import assets from Amazon Redshift datashares", - Concurrent_in_progress_jobs_to_import_assets_from_Amazon_S3: - "Concurrent in progress jobs to import assets from Amazon S3", - Concurrent_in_progress_jobs_to_import_assets_from_a_signed_URL: - "Concurrent in progress jobs to import assets from a signed URL", - Concurrent_in_progress_jobs_to_import_assets_from_an_API_Gateway_API: - "Concurrent in progress jobs to import assets from an API Gateway API", - Concurrent_in_progress_jobs_to_import_assets_from_an_AWS_Lake_Formation_tag_policy: - "Concurrent in progress jobs to import assets from an AWS Lake Formation tag policy", - Data_sets_per_account: "Data sets per account", - Data_sets_per_product: "Data sets per product", - Event_actions_per_account: "Event actions per account", - Products_per_account: "Products per account", - Revisions_per_AWS_Lake_Formation_data_permission_data_set: - "Revisions per AWS Lake Formation data permission data set", - Revisions_per_Amazon_API_Gateway_API_data_set: "Revisions per Amazon API Gateway API data set", - Revisions_per_Amazon_Redshift_datashare_data_set: "Revisions per Amazon Redshift datashare data set", - Revisions_per_Amazon_S3_data_access_data_set: "Revisions per Amazon S3 data access data set", - Revisions_per_data_set: "Revisions per data set", -} as const; - -/** - * @public - */ -export type LimitName = (typeof LimitName)[keyof typeof LimitName]; - -/** - *

The request has exceeded the quotas imposed by the service.

- * @public - */ -export class ServiceLimitExceededException extends __BaseException { - readonly name: "ServiceLimitExceededException" = "ServiceLimitExceededException"; - readonly $fault: "client" = "client"; - /** - *

The name of the limit that was reached.

- * @public - */ - LimitName?: LimitName; - - /** - *

The value of the exceeded limit.

- * @public - */ - LimitValue?: number; - - /** - *

The request has exceeded the quotas imposed by the service.

- * @public - */ - Message: string | undefined; - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "ServiceLimitExceededException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, ServiceLimitExceededException.prototype); - this.LimitName = opts.LimitName; - this.LimitValue = opts.LimitValue; - this.Message = opts.Message; - } -} - /** *

Information about the published revision.

* @public @@ -1176,7 +1485,8 @@ export interface CreateS3DataAccessFromS3BucketRequestDetails { AssetSource: S3DataAccessAssetSourceEntry | undefined; /** - *

The unique identifier for the data set associated with the creation of this Amazon S3 data access.

+ *

The unique identifier for the data set associated with the creation of this Amazon S3 + * data access.

* @public */ DataSetId: string | undefined; @@ -1254,7 +1564,8 @@ export interface RevisionDestinationEntry { Bucket: string | undefined; /** - *

A string representing the pattern for generated names of the individual assets in the revision. For more information about key patterns, see Key patterns when exporting revisions.

+ *

A string representing the pattern for generated names of the individual assets in the + * revision. For more information about key patterns, see Key patterns when exporting revisions.

* @public */ KeyPattern?: string; @@ -1320,7 +1631,8 @@ export interface ImportAssetFromApiGatewayApiRequestDetails { ApiName: string | undefined; /** - *

The Base64-encoded MD5 hash of the OpenAPI 3.0 JSON API specification file. It is used to ensure the integrity of the file.

+ *

The Base64-encoded MD5 hash of the OpenAPI 3.0 JSON API specification file. It is used + * to ensure the integrity of the file.

* @public */ ApiSpecificationMd5Hash: string | undefined; @@ -1356,7 +1668,8 @@ export interface ImportAssetFromApiGatewayApiRequestDetails { */ export interface ImportAssetFromSignedUrlRequestDetails { /** - *

The name of the asset. When importing from Amazon S3, the Amazon S3 object key is used as the asset name.

+ *

The name of the asset. When importing from Amazon S3, the Amazon S3 object key is used + * as the asset name.

* @public */ AssetName: string | undefined; @@ -1368,7 +1681,8 @@ export interface ImportAssetFromSignedUrlRequestDetails { DataSetId: string | undefined; /** - *

The Base64-encoded Md5 hash for the asset, used to ensure the integrity of the file at that location.

+ *

The Base64-encoded Md5 hash for the asset, used to ensure the integrity of the file at + * that location.

* @public */ Md5Hash: string | undefined; @@ -1468,7 +1782,8 @@ export interface ImportAssetsFromLakeFormationTagPolicyRequestDetails { Table?: TableLFTagPolicyAndPermissions; /** - *

The IAM role's ARN that allows AWS Data Exchange to assume the role and grant and revoke permissions of subscribers to AWS Lake Formation data permissions.

+ *

The IAM role's ARN that allows AWS Data Exchange to assume the role and grant and revoke + * permissions of subscribers to AWS Lake Formation data permissions.

* @public */ RoleArn: string | undefined; @@ -1645,7 +1960,8 @@ export interface CreateJobRequest { } /** - *

Details about the response of the operation to create an S3 data access from an S3 bucket.

+ *

Details about the response of the operation to create an S3 data access from an S3 + * bucket.

* @public */ export interface CreateS3DataAccessFromS3BucketResponseDetails { @@ -1794,7 +2110,8 @@ export interface ImportAssetFromApiGatewayApiResponseDetails { ApiName: string | undefined; /** - *

The Base64-encoded Md5 hash for the API asset, used to ensure the integrity of the API at that location.

+ *

The Base64-encoded Md5 hash for the API asset, used to ensure the integrity of the API + * at that location.

* @public */ ApiSpecificationMd5Hash: string | undefined; @@ -1837,7 +2154,8 @@ export interface ImportAssetFromApiGatewayApiResponseDetails { } /** - *

The details in the response for an import request, including the signed URL and other information.

+ *

The details in the response for an import request, including the signed URL and other + * information.

* @public */ export interface ImportAssetFromSignedUrlResponseDetails { @@ -1854,7 +2172,8 @@ export interface ImportAssetFromSignedUrlResponseDetails { DataSetId: string | undefined; /** - *

The Base64-encoded Md5 hash for the asset, used to ensure the integrity of the file at that location.

+ *

The Base64-encoded Md5 hash for the asset, used to ensure the integrity of the file at + * that location.

* @public */ Md5Hash?: string; @@ -1902,7 +2221,8 @@ export interface ImportAssetsFromLakeFormationTagPolicyResponseDetails { Table?: TableLFTagPolicyAndPermissions; /** - *

The IAM role's ARN that allows AWS Data Exchange to assume the role and grant and revoke permissions to AWS Lake Formation data permissions.

+ *

The IAM role's ARN that allows AWS Data Exchange to assume the role and grant and revoke + * permissions to AWS Lake Formation data permissions.

* @public */ RoleArn: string | undefined; @@ -2226,7 +2546,10 @@ export interface CreateRevisionRequest { DataSetId: string | undefined; /** - *

A revision tag is an optional label that you can assign to a revision when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to these data sets and revisions.

+ *

A revision tag is an optional label that you can assign to a revision when you create + * it. Each tag consists of a key and an optional value, both of which you define. When you + * use tagging, you can also use tag-based access control in IAM policies to control access to + * these data sets and revisions.

* @public */ Tags?: Record; @@ -2261,7 +2584,12 @@ export interface CreateRevisionResponse { DataSetId?: string; /** - *

To publish a revision to a data set in a product, the revision must first be finalized. Finalizing a revision tells AWS Data Exchange that your changes to the assets in the revision are complete. After it's in this read-only state, you can publish the revision to your products. Finalized revisions can be published through the AWS Data Exchange console or the AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API action. When using the API, revisions are uniquely identified by their ARN.

+ *

To publish a revision to a data set in a product, the revision must first be finalized. + * Finalizing a revision tells AWS Data Exchange that your changes to the assets in the + * revision are complete. After it's in this read-only state, you can publish the revision to + * your products. Finalized revisions can be published through the AWS Data Exchange console + * or the AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API + * action. When using the API, revisions are uniquely identified by their ARN.

* @public */ Finalized?: boolean; @@ -2273,7 +2601,9 @@ export interface CreateRevisionResponse { Id?: string; /** - *

The revision ID of the owned revision corresponding to the entitled revision being viewed. This parameter is returned when a revision owner is viewing the entitled copy of its owned revision.

+ *

The revision ID of the owned revision corresponding to the entitled revision being + * viewed. This parameter is returned when a revision owner is viewing the entitled copy of + * its owned revision.

* @public */ SourceId?: string; @@ -2291,7 +2621,8 @@ export interface CreateRevisionResponse { UpdatedAt?: Date; /** - *

A required comment to inform subscribers of the reason their access to the revision was revoked.

+ *

A required comment to inform subscribers of the reason their access to the revision was + * revoked.

* @public */ RevocationComment?: string; @@ -2332,6 +2663,17 @@ export interface DeleteAssetRequest { RevisionId: string | undefined; } +/** + * @public + */ +export interface DeleteDataGrantRequest { + /** + *

The ID of the data grant to delete.

+ * @public + */ + DataGrantId: string | undefined; +} + /** * @public */ @@ -2435,34 +2777,142 @@ export interface GetAssetResponse { Id?: string; /** - *

The name of the asset. When importing from Amazon S3, the Amazon S3 object key is used - * as the asset name. When exporting to Amazon S3, the asset name is used as default target - * Amazon S3 object key. When importing from Amazon API Gateway API, the API name is used as - * the asset name. When importing from Amazon Redshift, the datashare name is used as the - * asset name. When importing from AWS Lake Formation, the static values of "Database(s) included - * in the LF-tag policy" or "Table(s) included in the LF-tag policy" are used as the asset - * name.

+ *

The name of the asset. When importing from Amazon S3, the Amazon S3 object key is used + * as the asset name. When exporting to Amazon S3, the asset name is used as default target + * Amazon S3 object key. When importing from Amazon API Gateway API, the API name is used as + * the asset name. When importing from Amazon Redshift, the datashare name is used as the + * asset name. When importing from AWS Lake Formation, the static values of "Database(s) + * included in the LF-tag policy" or "Table(s) included in the LF-tag policy" are used as the + * asset name.

+ * @public + */ + Name?: string; + + /** + *

The unique identifier for the revision associated with this asset.

+ * @public + */ + RevisionId?: string; + + /** + *

The asset ID of the owned asset corresponding to the entitled asset being viewed. This + * parameter is returned when an asset owner is viewing the entitled copy of its owned + * asset.

+ * @public + */ + SourceId?: string; + + /** + *

The date and time that the asset was last updated, in ISO 8601 format.

+ * @public + */ + UpdatedAt?: Date; +} + +/** + * @public + */ +export interface GetDataGrantRequest { + /** + *

The ID of the data grant.

+ * @public + */ + DataGrantId: string | undefined; +} + +/** + * @public + */ +export interface GetDataGrantResponse { + /** + *

The name of the data grant.

+ * @public + */ + Name: string | undefined; + + /** + *

The Amazon Web Services account ID of the data grant sender.

+ * @public + */ + SenderPrincipal: string | undefined; + + /** + *

The Amazon Web Services account ID of the data grant receiver.

+ * @public + */ + ReceiverPrincipal: string | undefined; + + /** + *

The description of the data grant.

+ * @public + */ + Description?: string; + + /** + *

The acceptance state of the data grant.

+ * @public + */ + AcceptanceState: DataGrantAcceptanceState | undefined; + + /** + *

The timestamp of when the data grant was accepted.

+ * @public + */ + AcceptedAt?: Date; + + /** + *

The timestamp of when access to the associated data set ends.

+ * @public + */ + EndsAt?: Date; + + /** + *

The distribution scope for the data grant.

+ * @public + */ + GrantDistributionScope: GrantDistributionScope | undefined; + + /** + *

The ID of the data set associated to the data grant.

+ * @public + */ + DataSetId: string | undefined; + + /** + *

The ID of the data set used to create the data grant.

+ * @public + */ + SourceDataSetId: string | undefined; + + /** + *

The ID of the data grant.

+ * @public + */ + Id: string | undefined; + + /** + *

The Amazon Resource Name (ARN) of the data grant.

* @public */ - Name?: string; + Arn: string | undefined; /** - *

The unique identifier for the revision associated with this asset.

+ *

The timestamp of when the data grant was created.

* @public */ - RevisionId?: string; + CreatedAt: Date | undefined; /** - *

The asset ID of the owned asset corresponding to the entitled asset being viewed. This parameter is returned when an asset owner is viewing the entitled copy of its owned asset.

+ *

The timestamp of when the data grant was last updated.

* @public */ - SourceId?: string; + UpdatedAt: Date | undefined; /** - *

The date and time that the asset was last updated, in ISO 8601 format.

+ *

The tags associated to the data grant. A tag is a key-value pair.

* @public */ - UpdatedAt?: Date; + Tags?: Record; } /** @@ -2517,19 +2967,23 @@ export interface GetDataSetResponse { Name?: string; /** - *

A property that defines the data set as OWNED by the account (for providers) or ENTITLED to the account (for subscribers).

+ *

A property that defines the data set as OWNED by the account (for providers) or ENTITLED + * to the account (for subscribers).

* @public */ Origin?: Origin; /** - *

If the origin of this data set is ENTITLED, includes the details for the product on AWS Marketplace.

+ *

If the origin of this data set is ENTITLED, includes the details for the product on AWS + * Marketplace.

* @public */ OriginDetails?: OriginDetails; /** - *

The data set ID of the owned data set corresponding to the entitled data set being viewed. This parameter is returned when a data set owner is viewing the entitled copy of its owned data set.

+ *

The data set ID of the owned data set corresponding to the entitled data set being + * viewed. This parameter is returned when a data set owner is viewing the entitled copy of + * its owned data set.

* @public */ SourceId?: string; @@ -2663,6 +3117,100 @@ export interface GetJobResponse { UpdatedAt?: Date; } +/** + * @public + */ +export interface GetReceivedDataGrantRequest { + /** + *

The Amazon Resource Name (ARN) of the data grant.

+ * @public + */ + DataGrantArn: string | undefined; +} + +/** + * @public + */ +export interface GetReceivedDataGrantResponse { + /** + *

The name of the data grant.

+ * @public + */ + Name: string | undefined; + + /** + *

The Amazon Web Services account ID of the data grant sender.

+ * @public + */ + SenderPrincipal?: string; + + /** + *

The Amazon Web Services account ID of the data grant receiver.

+ * @public + */ + ReceiverPrincipal: string | undefined; + + /** + *

The description of the data grant.

+ * @public + */ + Description?: string; + + /** + *

The acceptance state of the data grant.

+ * @public + */ + AcceptanceState: DataGrantAcceptanceState | undefined; + + /** + *

The timestamp of when the data grant was accepted.

+ * @public + */ + AcceptedAt?: Date; + + /** + *

The timestamp of when access to the associated data set ends.

+ * @public + */ + EndsAt?: Date; + + /** + *

The distribution scope for the data grant.

+ * @public + */ + GrantDistributionScope: GrantDistributionScope | undefined; + + /** + *

The ID of the data set associated to the data grant.

+ * @public + */ + DataSetId: string | undefined; + + /** + *

The ID of the data grant.

+ * @public + */ + Id: string | undefined; + + /** + *

The Amazon Resource Name (ARN) of the data grant.

+ * @public + */ + Arn: string | undefined; + + /** + *

The timestamp of when the data grant was created.

+ * @public + */ + CreatedAt: Date | undefined; + + /** + *

The timestamp of when the data grant was last updated.

+ * @public + */ + UpdatedAt: Date | undefined; +} + /** * @public */ @@ -2709,7 +3257,12 @@ export interface GetRevisionResponse { DataSetId?: string; /** - *

To publish a revision to a data set in a product, the revision must first be finalized. Finalizing a revision tells AWS Data Exchange that your changes to the assets in the revision are complete. After it's in this read-only state, you can publish the revision to your products. Finalized revisions can be published through the AWS Data Exchange console or the AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API action. When using the API, revisions are uniquely identified by their ARN.

+ *

To publish a revision to a data set in a product, the revision must first be finalized. + * Finalizing a revision tells AWS Data Exchange that your changes to the assets in the + * revision are complete. After it's in this read-only state, you can publish the revision to + * your products. Finalized revisions can be published through the AWS Data Exchange console + * or the AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API + * action. When using the API, revisions are uniquely identified by their ARN.

* @public */ Finalized?: boolean; @@ -2721,7 +3274,9 @@ export interface GetRevisionResponse { Id?: string; /** - *

The revision ID of the owned revision corresponding to the entitled revision being viewed. This parameter is returned when a revision owner is viewing the entitled copy of its owned revision.

+ *

The revision ID of the owned revision corresponding to the entitled revision being + * viewed. This parameter is returned when a revision owner is viewing the entitled copy of + * its owned revision.

* @public */ SourceId?: string; @@ -2739,7 +3294,8 @@ export interface GetRevisionResponse { UpdatedAt?: Date; /** - *

A required comment to inform subscribers of the reason their access to the revision was revoked.

+ *

A required comment to inform subscribers of the reason their access to the revision was + * revoked.

* @public */ RevocationComment?: string; @@ -2757,6 +3313,120 @@ export interface GetRevisionResponse { RevokedAt?: Date; } +/** + * @public + */ +export interface ListDataGrantsRequest { + /** + *

The maximum number of results to be included in the next page.

+ * @public + */ + MaxResults?: number; + + /** + *

The pagination token used to retrieve the next page of results for this + * operation.

+ * @public + */ + NextToken?: string; +} + +/** + *

Information about a data grant.

+ * @public + */ +export interface DataGrantSummaryEntry { + /** + *

The name of the data grant.

+ * @public + */ + Name: string | undefined; + + /** + *

The Amazon Web Services account ID of the data grant sender.

+ * @public + */ + SenderPrincipal: string | undefined; + + /** + *

The Amazon Web Services account ID of the data grant receiver.

+ * @public + */ + ReceiverPrincipal: string | undefined; + + /** + *

The acceptance state of the data grant.

+ * @public + */ + AcceptanceState: DataGrantAcceptanceState | undefined; + + /** + *

The timestamp of when the data grant was accepted.

+ * @public + */ + AcceptedAt?: Date; + + /** + *

The timestamp of when access to the associated data set ends.

+ * @public + */ + EndsAt?: Date; + + /** + *

The ID of the data set associated to the data grant.

+ * @public + */ + DataSetId: string | undefined; + + /** + *

The ID of the data set used to create the data grant.

+ * @public + */ + SourceDataSetId: string | undefined; + + /** + *

The ID of the data grant.

+ * @public + */ + Id: string | undefined; + + /** + *

The Amazon Resource Name (ARN) of the data grant.

+ * @public + */ + Arn: string | undefined; + + /** + *

The timestamp of when the data grant was created.

+ * @public + */ + CreatedAt: Date | undefined; + + /** + *

The timestamp of when the data grant was last updated.

+ * @public + */ + UpdatedAt: Date | undefined; +} + +/** + * @public + */ +export interface ListDataGrantsResponse { + /** + *

An object that contains a list of data grant information.

+ * @public + */ + DataGrantSummaries?: DataGrantSummaryEntry[]; + + /** + *

The pagination token used to retrieve the next page of results for this + * operation.

+ * @public + */ + NextToken?: string; +} + /** * @public */ @@ -2774,7 +3444,8 @@ export interface ListDataSetRevisionsRequest { MaxResults?: number; /** - *

The token value retrieved from a previous call to access the next page of results.

+ *

The token value retrieved from a previous call to access the next page of + * results.

* @public */ NextToken?: string; @@ -2810,7 +3481,12 @@ export interface RevisionEntry { DataSetId: string | undefined; /** - *

To publish a revision to a data set in a product, the revision must first be finalized. Finalizing a revision tells AWS Data Exchange that your changes to the assets in the revision are complete. After it's in this read-only state, you can publish the revision to your products. Finalized revisions can be published through the AWS Data Exchange console or the AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API action. When using the API, revisions are uniquely identified by their ARN.

+ *

To publish a revision to a data set in a product, the revision must first be finalized. + * Finalizing a revision tells AWS Data Exchange that your changes to the assets in the + * revision are complete. After it's in this read-only state, you can publish the revision to + * your products. Finalized revisions can be published through the AWS Data Exchange console + * or the AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API + * action. When using the API, revisions are uniquely identified by their ARN.

* @public */ Finalized?: boolean; @@ -2822,7 +3498,9 @@ export interface RevisionEntry { Id: string | undefined; /** - *

The revision ID of the owned revision corresponding to the entitled revision being viewed. This parameter is returned when a revision owner is viewing the entitled copy of its owned revision.

+ *

The revision ID of the owned revision corresponding to the entitled revision being + * viewed. This parameter is returned when a revision owner is viewing the entitled copy of + * its owned revision.

* @public */ SourceId?: string; @@ -2834,7 +3512,8 @@ export interface RevisionEntry { UpdatedAt: Date | undefined; /** - *

A required comment to inform subscribers of the reason their access to the revision was revoked.

+ *

A required comment to inform subscribers of the reason their access to the revision was + * revoked.

* @public */ RevocationComment?: string; @@ -2857,7 +3536,8 @@ export interface RevisionEntry { */ export interface ListDataSetRevisionsResponse { /** - *

The token value retrieved from a previous call to access the next page of results.

+ *

The token value retrieved from a previous call to access the next page of + * results.

* @public */ NextToken?: string; @@ -2880,13 +3560,15 @@ export interface ListDataSetsRequest { MaxResults?: number; /** - *

The token value retrieved from a previous call to access the next page of results.

+ *

The token value retrieved from a previous call to access the next page of + * results.

* @public */ NextToken?: string; /** - *

A property that defines the data set as OWNED by the account (for providers) or ENTITLED to the account (for subscribers).

+ *

A property that defines the data set as OWNED by the account (for providers) or ENTITLED + * to the account (for subscribers).

* @public */ Origin?: string; @@ -2934,19 +3616,23 @@ export interface DataSetEntry { Name: string | undefined; /** - *

A property that defines the data set as OWNED by the account (for providers) or ENTITLED to the account (for subscribers).

+ *

A property that defines the data set as OWNED by the account (for providers) or ENTITLED + * to the account (for subscribers).

* @public */ Origin: Origin | undefined; /** - *

If the origin of this data set is ENTITLED, includes the details for the product on AWS Marketplace.

+ *

If the origin of this data set is ENTITLED, includes the details for the product on AWS + * Marketplace.

* @public */ OriginDetails?: OriginDetails; /** - *

The data set ID of the owned data set corresponding to the entitled data set being viewed. This parameter is returned when a data set owner is viewing the entitled copy of its owned data set.

+ *

The data set ID of the owned data set corresponding to the entitled data set being + * viewed. This parameter is returned when a data set owner is viewing the entitled copy of + * its owned data set.

* @public */ SourceId?: string; @@ -2969,7 +3655,8 @@ export interface ListDataSetsResponse { DataSets?: DataSetEntry[]; /** - *

The token value retrieved from a previous call to access the next page of results.

+ *

The token value retrieved from a previous call to access the next page of + * results.

* @public */ NextToken?: string; @@ -2992,14 +3679,16 @@ export interface ListEventActionsRequest { MaxResults?: number; /** - *

The token value retrieved from a previous call to access the next page of results.

+ *

The token value retrieved from a previous call to access the next page of + * results.

* @public */ NextToken?: string; } /** - *

An event action is an object that defines the relationship between a specific event and an automated action that will be taken on behalf of the customer.

+ *

An event action is an object that defines the relationship between a specific event and + * an automated action that will be taken on behalf of the customer.

* @public */ export interface EventActionEntry { @@ -3051,7 +3740,8 @@ export interface ListEventActionsResponse { EventActions?: EventActionEntry[]; /** - *

The token value retrieved from a previous call to access the next page of results.

+ *

The token value retrieved from a previous call to access the next page of + * results.

* @public */ NextToken?: string; @@ -3074,7 +3764,8 @@ export interface ListJobsRequest { MaxResults?: number; /** - *

The token value retrieved from a previous call to access the next page of results.

+ *

The token value retrieved from a previous call to access the next page of + * results.

* @public */ NextToken?: string; @@ -3087,7 +3778,10 @@ export interface ListJobsRequest { } /** - *

AWS Data Exchange Jobs are asynchronous import or export operations used to create or copy assets. A data set owner can both import and export as they see fit. Someone with an entitlement to a data set can only export. Jobs are deleted 90 days after they are created.

+ *

AWS Data Exchange Jobs are asynchronous import or export operations used to create or + * copy assets. A data set owner can both import and export as they see fit. Someone with an + * entitlement to a data set can only export. Jobs are deleted 90 days after they are + * created.

* @public */ export interface JobEntry { @@ -3104,7 +3798,8 @@ export interface JobEntry { CreatedAt: Date | undefined; /** - *

Details of the operation to be performed by the job, such as export destination details or import source details.

+ *

Details of the operation to be performed by the job, such as export destination details + * or import source details.

* @public */ Details: ResponseDetails | undefined; @@ -3151,7 +3846,122 @@ export interface ListJobsResponse { Jobs?: JobEntry[]; /** - *

The token value retrieved from a previous call to access the next page of results.

+ *

The token value retrieved from a previous call to access the next page of + * results.

+ * @public + */ + NextToken?: string; +} + +/** + * @public + */ +export interface ListReceivedDataGrantsRequest { + /** + *

The maximum number of results to be included in the next page.

+ * @public + */ + MaxResults?: number; + + /** + *

The pagination token used to retrieve the next page of results for this + * operation.

+ * @public + */ + NextToken?: string; + + /** + *

The acceptance state of the data grants to list.

+ * @public + */ + AcceptanceState?: AcceptanceStateFilterValue[]; +} + +/** + *

Information about a received data grant.

+ * @public + */ +export interface ReceivedDataGrantSummariesEntry { + /** + *

The name of the data grant.

+ * @public + */ + Name: string | undefined; + + /** + *

The Amazon Web Services account ID of the data grant sender.

+ * @public + */ + SenderPrincipal: string | undefined; + + /** + *

The Amazon Web Services account ID of the data grant receiver.

+ * @public + */ + ReceiverPrincipal: string | undefined; + + /** + *

The acceptance state of the data grant.

+ * @public + */ + AcceptanceState: DataGrantAcceptanceState | undefined; + + /** + *

The timestamp of when the data grant was accepted.

+ * @public + */ + AcceptedAt?: Date; + + /** + *

The timestamp of when access to the associated data set ends.

+ * @public + */ + EndsAt?: Date; + + /** + *

The ID of the data set associated to the data grant.

+ * @public + */ + DataSetId: string | undefined; + + /** + *

The ID of the data grant.

+ * @public + */ + Id: string | undefined; + + /** + *

The Amazon Resource Name (ARN) of the data grant.

+ * @public + */ + Arn: string | undefined; + + /** + *

The timestamp of when the data grant was created.

+ * @public + */ + CreatedAt: Date | undefined; + + /** + *

The timestamp of when the data grant was last updated.

+ * @public + */ + UpdatedAt: Date | undefined; +} + +/** + * @public + */ +export interface ListReceivedDataGrantsResponse { + /** + *

An object that contains a list of received data grant information.

+ * @public + */ + DataGrantSummaries?: ReceivedDataGrantSummariesEntry[]; + + /** + *

The pagination token used to retrieve the next page of results for this + * operation.

* @public */ NextToken?: string; @@ -3174,7 +3984,8 @@ export interface ListRevisionAssetsRequest { MaxResults?: number; /** - *

The token value retrieved from a previous call to access the next page of results.

+ *

The token value retrieved from a previous call to access the next page of + * results.

* @public */ NextToken?: string; @@ -3197,7 +4008,8 @@ export interface ListRevisionAssetsResponse { Assets?: AssetEntry[]; /** - *

The token value retrieved from a previous call to access the next page of results.

+ *

The token value retrieved from a previous call to access the next page of + * results.

* @public */ NextToken?: string; @@ -3242,7 +4054,8 @@ export interface RevokeRevisionRequest { RevisionId: string | undefined; /** - *

A required comment to inform subscribers of the reason their access to the revision was revoked.

+ *

A required comment to inform subscribers of the reason their access to the revision was + * revoked.

* @public */ RevocationComment: string | undefined; @@ -3277,7 +4090,12 @@ export interface RevokeRevisionResponse { DataSetId?: string; /** - *

To publish a revision to a data set in a product, the revision must first be finalized. Finalizing a revision tells AWS Data Exchange that changes to the assets in the revision are complete. After it's in this read-only state, you can publish the revision to your products. Finalized revisions can be published through the AWS Data Exchange console or the AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API action. When using the API, revisions are uniquely identified by their ARN.

+ *

To publish a revision to a data set in a product, the revision must first be finalized. + * Finalizing a revision tells AWS Data Exchange that changes to the assets in the revision + * are complete. After it's in this read-only state, you can publish the revision to your + * products. Finalized revisions can be published through the AWS Data Exchange console or the + * AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API action. + * When using the API, revisions are uniquely identified by their ARN.

* @public */ Finalized?: boolean; @@ -3289,7 +4107,9 @@ export interface RevokeRevisionResponse { Id?: string; /** - *

The revision ID of the owned revision corresponding to the entitled revision being viewed. This parameter is returned when a revision owner is viewing the entitled copy of its owned revision.

+ *

The revision ID of the owned revision corresponding to the entitled revision being + * viewed. This parameter is returned when a revision owner is viewing the entitled copy of + * its owned revision.

* @public */ SourceId?: string; @@ -3301,7 +4121,8 @@ export interface RevokeRevisionResponse { UpdatedAt?: Date; /** - *

A required comment to inform subscribers of the reason their access to the revision was revoked.

+ *

A required comment to inform subscribers of the reason their access to the revision was + * revoked.

* @public */ RevocationComment?: string; @@ -3330,7 +4151,8 @@ export interface SendApiAssetRequest { Body?: string; /** - *

Attach query string parameters to the end of the URI (for example, /v1/examplePath?exampleParam=exampleValue).

+ *

Attach query string parameters to the end of the URI (for example, + * /v1/examplePath?exampleParam=exampleValue).

* @public */ QueryStringParameters?: Record; @@ -3348,19 +4170,24 @@ export interface SendApiAssetRequest { DataSetId: string | undefined; /** - *

Any header value prefixed with x-amzn-dataexchange-header- will have that stripped before sending the Asset API request. Use this when you want to override a header that AWS Data Exchange uses. Alternatively, you can use the header without a prefix to the HTTP request.

+ *

Any header value prefixed with x-amzn-dataexchange-header- will have that stripped + * before sending the Asset API request. Use this when you want to override a header that AWS + * Data Exchange uses. Alternatively, you can use the header without a prefix to the HTTP + * request.

* @public */ RequestHeaders?: Record; /** - *

HTTP method value for the API request. Alternatively, you can use the appropriate verb in your request.

+ *

HTTP method value for the API request. Alternatively, you can use the appropriate verb + * in your request.

* @public */ Method?: string; /** - *

URI path value for the API request. Alternatively, you can set the URI path directly by invoking /v1/\{pathValue\}.

+ *

URI path value for the API request. Alternatively, you can set the URI path directly by + * invoking /v1/\{pathValue\}.

* @public */ Path?: string; @@ -3432,8 +4259,8 @@ export const SchemaChangeType = { export type SchemaChangeType = (typeof SchemaChangeType)[keyof typeof SchemaChangeType]; /** - *

Object encompassing information about a schema change to a single, particular field, - * a notification can have up to 100 of these.

+ *

Object encompassing information about a schema change to a single, particular field, a + * notification can have up to 100 of these.

* @public */ export interface SchemaChangeDetails { @@ -3513,8 +4340,7 @@ export interface NotificationDetails { } /** - *

Extra details specific to the affected scope in - * this LF data set.

+ *

Extra details specific to the affected scope in this LF data set.

* @public */ export interface LakeFormationTagPolicyDetails { @@ -3534,8 +4360,7 @@ export interface LakeFormationTagPolicyDetails { } /** - *

Extra details specific to the affected scope - * in this Redshift data set.

+ *

Extra details specific to the affected scope in this Redshift data set.

* @public */ export interface RedshiftDataShareDetails { @@ -3585,8 +4410,7 @@ export interface RedshiftDataShareDetails { } /** - *

Extra details specific to the affected scope in this S3 Data - * Access data set.

+ *

Extra details specific to the affected scope in this S3 Data Access data set.

* @public */ export interface S3DataAccessDetails { @@ -3851,7 +4675,9 @@ export interface UpdateAssetResponse { RevisionId?: string; /** - *

The asset ID of the owned asset corresponding to the entitled asset being viewed. This parameter is returned when an asset owner is viewing the entitled copy of its owned asset.

+ *

The asset ID of the owned asset corresponding to the entitled asset being viewed. This + * parameter is returned when an asset owner is viewing the entitled copy of its owned + * asset.

* @public */ SourceId?: string; @@ -3927,19 +4753,23 @@ export interface UpdateDataSetResponse { Name?: string; /** - *

A property that defines the data set as OWNED by the account (for providers) or ENTITLED to the account (for subscribers).

+ *

A property that defines the data set as OWNED by the account (for providers) or ENTITLED + * to the account (for subscribers).

* @public */ Origin?: Origin; /** - *

If the origin of this data set is ENTITLED, includes the details for the product on AWS Marketplace.

+ *

If the origin of this data set is ENTITLED, includes the details for the product on AWS + * Marketplace.

* @public */ OriginDetails?: OriginDetails; /** - *

The data set ID of the owned data set corresponding to the entitled data set being viewed. This parameter is returned when a data set owner is viewing the entitled copy of its owned data set.

+ *

The data set ID of the owned data set corresponding to the entitled data set being + * viewed. This parameter is returned when a data set owner is viewing the entitled copy of + * its owned data set.

* @public */ SourceId?: string; @@ -4026,7 +4856,9 @@ export interface UpdateRevisionRequest { DataSetId: string | undefined; /** - *

Finalizing a revision tells AWS Data Exchange that your changes to the assets in the revision are complete. After it's in this read-only state, you can publish the revision to your products.

+ *

Finalizing a revision tells AWS Data Exchange that your changes to the assets in the + * revision are complete. After it's in this read-only state, you can publish the revision to + * your products.

* @public */ Finalized?: boolean; @@ -4067,7 +4899,12 @@ export interface UpdateRevisionResponse { DataSetId?: string; /** - *

To publish a revision to a data set in a product, the revision must first be finalized. Finalizing a revision tells AWS Data Exchange that changes to the assets in the revision are complete. After it's in this read-only state, you can publish the revision to your products. Finalized revisions can be published through the AWS Data Exchange console or the AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API action. When using the API, revisions are uniquely identified by their ARN.

+ *

To publish a revision to a data set in a product, the revision must first be finalized. + * Finalizing a revision tells AWS Data Exchange that changes to the assets in the revision + * are complete. After it's in this read-only state, you can publish the revision to your + * products. Finalized revisions can be published through the AWS Data Exchange console or the + * AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API action. + * When using the API, revisions are uniquely identified by their ARN.

* @public */ Finalized?: boolean; @@ -4079,7 +4916,9 @@ export interface UpdateRevisionResponse { Id?: string; /** - *

The revision ID of the owned revision corresponding to the entitled revision being viewed. This parameter is returned when a revision owner is viewing the entitled copy of its owned revision.

+ *

The revision ID of the owned revision corresponding to the entitled revision being + * viewed. This parameter is returned when a revision owner is viewing the entitled copy of + * its owned revision.

* @public */ SourceId?: string; @@ -4091,7 +4930,8 @@ export interface UpdateRevisionResponse { UpdatedAt?: Date; /** - *

A required comment to inform subscribers of the reason their access to the revision was revoked.

+ *

A required comment to inform subscribers of the reason their access to the revision was + * revoked.

* @public */ RevocationComment?: string; diff --git a/clients/client-dataexchange/src/pagination/ListDataGrantsPaginator.ts b/clients/client-dataexchange/src/pagination/ListDataGrantsPaginator.ts new file mode 100644 index 0000000000000..19c2bd5c19066 --- /dev/null +++ b/clients/client-dataexchange/src/pagination/ListDataGrantsPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + ListDataGrantsCommand, + ListDataGrantsCommandInput, + ListDataGrantsCommandOutput, +} from "../commands/ListDataGrantsCommand"; +import { DataExchangeClient } from "../DataExchangeClient"; +import { DataExchangePaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListDataGrants: ( + config: DataExchangePaginationConfiguration, + input: ListDataGrantsCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + DataExchangePaginationConfiguration, + ListDataGrantsCommandInput, + ListDataGrantsCommandOutput +>(DataExchangeClient, ListDataGrantsCommand, "NextToken", "NextToken", "MaxResults"); diff --git a/clients/client-dataexchange/src/pagination/ListReceivedDataGrantsPaginator.ts b/clients/client-dataexchange/src/pagination/ListReceivedDataGrantsPaginator.ts new file mode 100644 index 0000000000000..e2e6ab7ee3a4c --- /dev/null +++ b/clients/client-dataexchange/src/pagination/ListReceivedDataGrantsPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + ListReceivedDataGrantsCommand, + ListReceivedDataGrantsCommandInput, + ListReceivedDataGrantsCommandOutput, +} from "../commands/ListReceivedDataGrantsCommand"; +import { DataExchangeClient } from "../DataExchangeClient"; +import { DataExchangePaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListReceivedDataGrants: ( + config: DataExchangePaginationConfiguration, + input: ListReceivedDataGrantsCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + DataExchangePaginationConfiguration, + ListReceivedDataGrantsCommandInput, + ListReceivedDataGrantsCommandOutput +>(DataExchangeClient, ListReceivedDataGrantsCommand, "NextToken", "NextToken", "MaxResults"); diff --git a/clients/client-dataexchange/src/pagination/index.ts b/clients/client-dataexchange/src/pagination/index.ts index 3bb5b7ebaf2db..6b7f4f3f24971 100644 --- a/clients/client-dataexchange/src/pagination/index.ts +++ b/clients/client-dataexchange/src/pagination/index.ts @@ -1,7 +1,9 @@ // smithy-typescript generated code export * from "./Interfaces"; +export * from "./ListDataGrantsPaginator"; export * from "./ListDataSetRevisionsPaginator"; export * from "./ListDataSetsPaginator"; export * from "./ListEventActionsPaginator"; export * from "./ListJobsPaginator"; +export * from "./ListReceivedDataGrantsPaginator"; export * from "./ListRevisionAssetsPaginator"; diff --git a/clients/client-dataexchange/src/protocols/Aws_restJson1.ts b/clients/client-dataexchange/src/protocols/Aws_restJson1.ts index cc2f345539e8c..14a7e436104a9 100644 --- a/clients/client-dataexchange/src/protocols/Aws_restJson1.ts +++ b/clients/client-dataexchange/src/protocols/Aws_restJson1.ts @@ -32,20 +32,29 @@ import { } from "@smithy/types"; import { v4 as generateIdempotencyToken } from "uuid"; +import { AcceptDataGrantCommandInput, AcceptDataGrantCommandOutput } from "../commands/AcceptDataGrantCommand"; import { CancelJobCommandInput, CancelJobCommandOutput } from "../commands/CancelJobCommand"; +import { CreateDataGrantCommandInput, CreateDataGrantCommandOutput } from "../commands/CreateDataGrantCommand"; import { CreateDataSetCommandInput, CreateDataSetCommandOutput } from "../commands/CreateDataSetCommand"; import { CreateEventActionCommandInput, CreateEventActionCommandOutput } from "../commands/CreateEventActionCommand"; import { CreateJobCommandInput, CreateJobCommandOutput } from "../commands/CreateJobCommand"; import { CreateRevisionCommandInput, CreateRevisionCommandOutput } from "../commands/CreateRevisionCommand"; import { DeleteAssetCommandInput, DeleteAssetCommandOutput } from "../commands/DeleteAssetCommand"; +import { DeleteDataGrantCommandInput, DeleteDataGrantCommandOutput } from "../commands/DeleteDataGrantCommand"; import { DeleteDataSetCommandInput, DeleteDataSetCommandOutput } from "../commands/DeleteDataSetCommand"; import { DeleteEventActionCommandInput, DeleteEventActionCommandOutput } from "../commands/DeleteEventActionCommand"; import { DeleteRevisionCommandInput, DeleteRevisionCommandOutput } from "../commands/DeleteRevisionCommand"; import { GetAssetCommandInput, GetAssetCommandOutput } from "../commands/GetAssetCommand"; +import { GetDataGrantCommandInput, GetDataGrantCommandOutput } from "../commands/GetDataGrantCommand"; import { GetDataSetCommandInput, GetDataSetCommandOutput } from "../commands/GetDataSetCommand"; import { GetEventActionCommandInput, GetEventActionCommandOutput } from "../commands/GetEventActionCommand"; import { GetJobCommandInput, GetJobCommandOutput } from "../commands/GetJobCommand"; +import { + GetReceivedDataGrantCommandInput, + GetReceivedDataGrantCommandOutput, +} from "../commands/GetReceivedDataGrantCommand"; import { GetRevisionCommandInput, GetRevisionCommandOutput } from "../commands/GetRevisionCommand"; +import { ListDataGrantsCommandInput, ListDataGrantsCommandOutput } from "../commands/ListDataGrantsCommand"; import { ListDataSetRevisionsCommandInput, ListDataSetRevisionsCommandOutput, @@ -53,6 +62,10 @@ import { import { ListDataSetsCommandInput, ListDataSetsCommandOutput } from "../commands/ListDataSetsCommand"; import { ListEventActionsCommandInput, ListEventActionsCommandOutput } from "../commands/ListEventActionsCommand"; import { ListJobsCommandInput, ListJobsCommandOutput } from "../commands/ListJobsCommand"; +import { + ListReceivedDataGrantsCommandInput, + ListReceivedDataGrantsCommandOutput, +} from "../commands/ListReceivedDataGrantsCommand"; import { ListRevisionAssetsCommandInput, ListRevisionAssetsCommandOutput } from "../commands/ListRevisionAssetsCommand"; import { ListTagsForResourceCommandInput, @@ -86,6 +99,7 @@ import { CreateS3DataAccessFromS3BucketRequestDetails, DatabaseLFTagPolicyAndPermissions, DatabaseLFTagPolicyPermission, + DataGrantSummaryEntry, DataSetEntry, DataUpdateRequestDetails, DeprecationRequestDetails, @@ -110,6 +124,7 @@ import { LakeFormationTagPolicyDetails, LFTag, NotificationDetails, + ReceivedDataGrantSummariesEntry, RedshiftDataShareAssetSourceEntry, RedshiftDataShareDetails, RequestDetails, @@ -131,6 +146,22 @@ import { ValidationException, } from "../models/models_0"; +/** + * serializeAws_restJson1AcceptDataGrantCommand + */ +export const se_AcceptDataGrantCommand = async ( + input: AcceptDataGrantCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/v1/data-grants/{DataGrantArn}/accept"); + b.p("DataGrantArn", () => input.DataGrantArn!, "{DataGrantArn}", false); + let body: any; + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1CancelJobCommand */ @@ -147,6 +178,34 @@ export const se_CancelJobCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1CreateDataGrantCommand + */ +export const se_CreateDataGrantCommand = async ( + input: CreateDataGrantCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/v1/data-grants"); + let body: any; + body = JSON.stringify( + take(input, { + Description: [], + EndsAt: (_) => __serializeDateTime(_), + GrantDistributionScope: [], + Name: [], + ReceiverPrincipal: [], + SourceDataSetId: [], + Tags: (_) => _json(_), + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1CreateDataSetCommand */ @@ -260,6 +319,22 @@ export const se_DeleteAssetCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1DeleteDataGrantCommand + */ +export const se_DeleteDataGrantCommand = async ( + input: DeleteDataGrantCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/v1/data-grants/{DataGrantId}"); + b.p("DataGrantId", () => input.DataGrantId!, "{DataGrantId}", false); + let body: any; + b.m("DELETE").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1DeleteDataSetCommand */ @@ -327,6 +402,22 @@ export const se_GetAssetCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1GetDataGrantCommand + */ +export const se_GetDataGrantCommand = async ( + input: GetDataGrantCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/v1/data-grants/{DataGrantId}"); + b.p("DataGrantId", () => input.DataGrantId!, "{DataGrantId}", false); + let body: any; + b.m("GET").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1GetDataSetCommand */ @@ -372,6 +463,22 @@ export const se_GetJobCommand = async (input: GetJobCommandInput, context: __Ser return b.build(); }; +/** + * serializeAws_restJson1GetReceivedDataGrantCommand + */ +export const se_GetReceivedDataGrantCommand = async ( + input: GetReceivedDataGrantCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/v1/received-data-grants/{DataGrantArn}"); + b.p("DataGrantArn", () => input.DataGrantArn!, "{DataGrantArn}", false); + let body: any; + b.m("GET").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1GetRevisionCommand */ @@ -389,6 +496,25 @@ export const se_GetRevisionCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1ListDataGrantsCommand + */ +export const se_ListDataGrantsCommand = async ( + input: ListDataGrantsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/v1/data-grants"); + const query: any = map({ + [_mR]: [() => input.MaxResults !== void 0, () => input[_MR]!.toString()], + [_nT]: [, input[_NT]!], + }); + let body: any; + b.m("GET").h(headers).q(query).b(body); + return b.build(); +}; + /** * serializeAws_restJson1ListDataSetRevisionsCommand */ @@ -470,6 +596,26 @@ export const se_ListJobsCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1ListReceivedDataGrantsCommand + */ +export const se_ListReceivedDataGrantsCommand = async ( + input: ListReceivedDataGrantsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/v1/received-data-grants"); + const query: any = map({ + [_mR]: [() => input.MaxResults !== void 0, () => input[_MR]!.toString()], + [_nT]: [, input[_NT]!], + [_aS]: [() => input.AcceptanceState !== void 0, () => input[_AS]! || []], + }); + let body: any; + b.m("GET").h(headers).q(query).b(body); + return b.build(); +}; + /** * serializeAws_restJson1ListRevisionAssetsCommand */ @@ -754,6 +900,39 @@ export const se_UpdateRevisionCommand = async ( return b.build(); }; +/** + * deserializeAws_restJson1AcceptDataGrantCommand + */ +export const de_AcceptDataGrantCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + AcceptanceState: __expectString, + AcceptedAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + Arn: __expectString, + CreatedAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + DataSetId: __expectString, + Description: __expectString, + EndsAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + GrantDistributionScope: __expectString, + Id: __expectString, + Name: __expectString, + ReceiverPrincipal: __expectString, + SenderPrincipal: __expectString, + UpdatedAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1CancelJobCommand */ @@ -771,6 +950,41 @@ export const de_CancelJobCommand = async ( return contents; }; +/** + * deserializeAws_restJson1CreateDataGrantCommand + */ +export const de_CreateDataGrantCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + AcceptanceState: __expectString, + AcceptedAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + Arn: __expectString, + CreatedAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + DataSetId: __expectString, + Description: __expectString, + EndsAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + GrantDistributionScope: __expectString, + Id: __expectString, + Name: __expectString, + ReceiverPrincipal: __expectString, + SenderPrincipal: __expectString, + SourceDataSetId: __expectString, + Tags: _json, + UpdatedAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1CreateDataSetCommand */ @@ -905,6 +1119,23 @@ export const de_DeleteAssetCommand = async ( return contents; }; +/** + * deserializeAws_restJson1DeleteDataGrantCommand + */ +export const de_DeleteDataGrantCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + /** * deserializeAws_restJson1DeleteDataSetCommand */ @@ -986,6 +1217,41 @@ export const de_GetAssetCommand = async ( return contents; }; +/** + * deserializeAws_restJson1GetDataGrantCommand + */ +export const de_GetDataGrantCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + AcceptanceState: __expectString, + AcceptedAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + Arn: __expectString, + CreatedAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + DataSetId: __expectString, + Description: __expectString, + EndsAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + GrantDistributionScope: __expectString, + Id: __expectString, + Name: __expectString, + ReceiverPrincipal: __expectString, + SenderPrincipal: __expectString, + SourceDataSetId: __expectString, + Tags: _json, + UpdatedAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1GetDataSetCommand */ @@ -1071,6 +1337,39 @@ export const de_GetJobCommand = async ( return contents; }; +/** + * deserializeAws_restJson1GetReceivedDataGrantCommand + */ +export const de_GetReceivedDataGrantCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + AcceptanceState: __expectString, + AcceptedAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + Arn: __expectString, + CreatedAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + DataSetId: __expectString, + Description: __expectString, + EndsAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + GrantDistributionScope: __expectString, + Id: __expectString, + Name: __expectString, + ReceiverPrincipal: __expectString, + SenderPrincipal: __expectString, + UpdatedAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1GetRevisionCommand */ @@ -1103,6 +1402,28 @@ export const de_GetRevisionCommand = async ( return contents; }; +/** + * deserializeAws_restJson1ListDataGrantsCommand + */ +export const de_ListDataGrantsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + DataGrantSummaries: (_) => de_ListOfDataGrantSummaryEntry(_, context), + NextToken: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1ListDataSetRevisionsCommand */ @@ -1191,6 +1512,28 @@ export const de_ListJobsCommand = async ( return contents; }; +/** + * deserializeAws_restJson1ListReceivedDataGrantsCommand + */ +export const de_ListReceivedDataGrantsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + DataGrantSummaries: (_) => de_ListOfReceivedDataGrantSummariesEntry(_, context), + NextToken: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1ListRevisionAssetsCommand */ @@ -1487,6 +1830,9 @@ const de_CommandError = async (output: __HttpResponse, context: __SerdeContext): }; const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.dataexchange#AccessDeniedException": + throw await de_AccessDeniedExceptionRes(parsedOutput, context); case "ConflictException": case "com.amazonaws.dataexchange#ConflictException": throw await de_ConflictExceptionRes(parsedOutput, context); @@ -1502,9 +1848,6 @@ const de_CommandError = async (output: __HttpResponse, context: __SerdeContext): case "ValidationException": case "com.amazonaws.dataexchange#ValidationException": throw await de_ValidationExceptionRes(parsedOutput, context); - case "AccessDeniedException": - case "com.amazonaws.dataexchange#AccessDeniedException": - throw await de_AccessDeniedExceptionRes(parsedOutput, context); case "ServiceLimitExceededException": case "com.amazonaws.dataexchange#ServiceLimitExceededException": throw await de_ServiceLimitExceededExceptionRes(parsedOutput, context); @@ -1850,6 +2193,26 @@ const de_AssetEntry = (output: any, context: __SerdeContext): AssetEntry => { // de_DatabaseLFTagPolicyAndPermissions omitted. +/** + * deserializeAws_restJson1DataGrantSummaryEntry + */ +const de_DataGrantSummaryEntry = (output: any, context: __SerdeContext): DataGrantSummaryEntry => { + return take(output, { + AcceptanceState: __expectString, + AcceptedAt: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + Arn: __expectString, + CreatedAt: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + DataSetId: __expectString, + EndsAt: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + Id: __expectString, + Name: __expectString, + ReceiverPrincipal: __expectString, + SenderPrincipal: __expectString, + SourceDataSetId: __expectString, + UpdatedAt: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + }) as any; +}; + /** * deserializeAws_restJson1DataSetEntry */ @@ -2018,6 +2381,18 @@ const de_ListOfAssetEntry = (output: any, context: __SerdeContext): AssetEntry[] // de_ListOfDatabaseLFTagPolicyPermissions omitted. +/** + * deserializeAws_restJson1ListOfDataGrantSummaryEntry + */ +const de_ListOfDataGrantSummaryEntry = (output: any, context: __SerdeContext): DataGrantSummaryEntry[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_DataGrantSummaryEntry(entry, context); + }); + return retVal; +}; + /** * deserializeAws_restJson1ListOfDataSetEntry */ @@ -2074,6 +2449,21 @@ const de_ListOfJobError = (output: any, context: __SerdeContext): JobError[] => // de_ListOfLFTagValues omitted. +/** + * deserializeAws_restJson1ListOfReceivedDataGrantSummariesEntry + */ +const de_ListOfReceivedDataGrantSummariesEntry = ( + output: any, + context: __SerdeContext +): ReceivedDataGrantSummariesEntry[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_ReceivedDataGrantSummariesEntry(entry, context); + }); + return retVal; +}; + // de_ListOfRedshiftDataShareAssetSourceEntry omitted. // de_ListOfRevisionDestinationEntry omitted. @@ -2096,6 +2486,25 @@ const de_ListOfRevisionEntry = (output: any, context: __SerdeContext): RevisionE // de_OriginDetails omitted. +/** + * deserializeAws_restJson1ReceivedDataGrantSummariesEntry + */ +const de_ReceivedDataGrantSummariesEntry = (output: any, context: __SerdeContext): ReceivedDataGrantSummariesEntry => { + return take(output, { + AcceptanceState: __expectString, + AcceptedAt: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + Arn: __expectString, + CreatedAt: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + DataSetId: __expectString, + EndsAt: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + Id: __expectString, + Name: __expectString, + ReceiverPrincipal: __expectString, + SenderPrincipal: __expectString, + UpdatedAt: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + }) as any; +}; + // de_RedshiftDataShareAsset omitted. // de_RedshiftDataShareAssetSourceEntry omitted. @@ -2170,6 +2579,7 @@ const collectBodyString = (streamBody: any, context: __SerdeContext): Promise context.utf8Encoder(body)); const _AI = "AssetId"; +const _AS = "AcceptanceState"; const _DSI = "DataSetId"; const _ESI = "EventSourceId"; const _M = "Method"; @@ -2179,6 +2589,7 @@ const _O = "Origin"; const _P = "Path"; const _RI = "RevisionId"; const _TK = "TagKeys"; +const _aS = "acceptanceState"; const _dSI = "dataSetId"; const _eSI = "eventSourceId"; const _mR = "maxResults"; diff --git a/codegen/sdk-codegen/aws-models/dataexchange.json b/codegen/sdk-codegen/aws-models/dataexchange.json index ae1a40a823bbc..5018f27d2df02 100644 --- a/codegen/sdk-codegen/aws-models/dataexchange.json +++ b/codegen/sdk-codegen/aws-models/dataexchange.json @@ -1,6 +1,175 @@ { "smithy": "2.0", "shapes": { + "com.amazonaws.dataexchange#AcceptDataGrant": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#AcceptDataGrantRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#AcceptDataGrantResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#AccessDeniedException" + }, + { + "target": "com.amazonaws.dataexchange#ConflictException" + }, + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

This operation accepts a data grant.

", + "smithy.api#http": { + "method": "POST", + "uri": "/v1/data-grants/{DataGrantArn}/accept", + "code": 200 + } + } + }, + "com.amazonaws.dataexchange#AcceptDataGrantRequest": { + "type": "structure", + "members": { + "DataGrantArn": { + "target": "com.amazonaws.dataexchange#DataGrantArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the data grant to accept.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.dataexchange#AcceptDataGrantResponse": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.dataexchange#DataGrantName", + "traits": { + "smithy.api#documentation": "

The name of the accepted data grant.

", + "smithy.api#required": {} + } + }, + "SenderPrincipal": { + "target": "com.amazonaws.dataexchange#SenderPrincipal", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID of the data grant sender.

" + } + }, + "ReceiverPrincipal": { + "target": "com.amazonaws.dataexchange#ReceiverPrincipal", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID of the data grant receiver.

", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.dataexchange#DataGrantDescription", + "traits": { + "smithy.api#documentation": "

The description of the accepted data grant.

" + } + }, + "AcceptanceState": { + "target": "com.amazonaws.dataexchange#DataGrantAcceptanceState", + "traits": { + "smithy.api#documentation": "

The acceptance state of the data grant.

", + "smithy.api#required": {} + } + }, + "AcceptedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the data grant was accepted.

" + } + }, + "EndsAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when access to the associated data set ends.

" + } + }, + "GrantDistributionScope": { + "target": "com.amazonaws.dataexchange#GrantDistributionScope", + "traits": { + "smithy.api#documentation": "

The distribution scope for the data grant.

", + "smithy.api#required": {} + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "

The ID of the data set associated to the data grant.

", + "smithy.api#required": {} + } + }, + "Id": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "

The ID of the data grant.

", + "smithy.api#required": {} + } + }, + "Arn": { + "target": "com.amazonaws.dataexchange#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the accepted data grant.

", + "smithy.api#required": {} + } + }, + "CreatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the data grant was created.

", + "smithy.api#required": {} + } + }, + "UpdatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the data grant was last updated.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.dataexchange#AcceptanceStateFilterValue": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "PENDING_RECEIVER_ACCEPTANCE", + "name": "PENDING_RECEIVER_ACCEPTANCE" + }, + { + "value": "ACCEPTED", + "name": "ACCEPTED" + } + ] + } + }, + "com.amazonaws.dataexchange#AcceptanceStateFilterValues": { + "type": "list", + "member": { + "target": "com.amazonaws.dataexchange#AcceptanceStateFilterValue" + } + }, "com.amazonaws.dataexchange#AccessDeniedException": { "type": "structure", "members": { @@ -228,7 +397,7 @@ "SourceId": { "target": "com.amazonaws.dataexchange#Id", "traits": { - "smithy.api#documentation": "

The asset ID of the owned asset corresponding to the entitled asset being viewed. This parameter is returned when an asset owner is viewing the entitled copy of its owned asset.

" + "smithy.api#documentation": "

The asset ID of the owned asset corresponding to the entitled asset being viewed. This\n parameter is returned when an asset owner is viewing the entitled copy of its owned\n asset.

" } }, "UpdatedAt": { @@ -308,12 +477,12 @@ "KeyPattern": { "target": "com.amazonaws.dataexchange#__string", "traits": { - "smithy.api#documentation": "

A string representing the pattern for generated names of the individual assets in the revision. For more information about key patterns, see Key patterns when exporting revisions.

" + "smithy.api#documentation": "

A string representing the pattern for generated names of the individual assets in the\n revision. For more information about key patterns, see Key patterns when exporting revisions.

" } } }, "traits": { - "smithy.api#documentation": "

A revision destination is the Amazon S3 bucket folder destination to where the export will be sent.

" + "smithy.api#documentation": "

A revision destination is the Amazon S3 bucket folder destination to where the export\n will be sent.

" } }, "com.amazonaws.dataexchange#AutoExportRevisionToS3RequestDetails": { @@ -328,7 +497,7 @@ "RevisionDestination": { "target": "com.amazonaws.dataexchange#AutoExportRevisionDestinationEntry", "traits": { - "smithy.api#documentation": "

A revision destination is the Amazon S3 bucket folder destination to where the export will be sent.

", + "smithy.api#documentation": "

A revision destination is the Amazon S3 bucket folder destination to where the export\n will be sent.

", "smithy.api#required": {} } } @@ -373,7 +542,7 @@ } ], "traits": { - "smithy.api#documentation": "

This operation cancels a job. Jobs can be cancelled only when they are in the WAITING state.

", + "smithy.api#documentation": "

This operation cancels a job. Jobs can be cancelled only when they are in the WAITING\n state.

", "smithy.api#http": { "method": "DELETE", "uri": "/v1/jobs/{JobId}", @@ -445,7 +614,7 @@ "Message": { "target": "com.amazonaws.dataexchange#__string", "traits": { - "smithy.api#documentation": "

The request couldn't be completed because it conflicted with the current state of the resource.

", + "smithy.api#documentation": "

The request couldn't be completed because it conflicted with the current state of the\n resource.

", "smithy.api#required": {} } }, @@ -463,11 +632,211 @@ } }, "traits": { - "smithy.api#documentation": "

The request couldn't be completed because it conflicted with the current state of the resource.

", + "smithy.api#documentation": "

The request couldn't be completed because it conflicted with the current state of the\n resource.

", "smithy.api#error": "client", "smithy.api#httpError": 409 } }, + "com.amazonaws.dataexchange#CreateDataGrant": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#CreateDataGrantRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#CreateDataGrantResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#AccessDeniedException" + }, + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ServiceLimitExceededException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

This operation creates a data grant.

", + "smithy.api#http": { + "method": "POST", + "uri": "/v1/data-grants", + "code": 201 + } + } + }, + "com.amazonaws.dataexchange#CreateDataGrantRequest": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.dataexchange#DataGrantName", + "traits": { + "smithy.api#documentation": "

The name of the data grant.

", + "smithy.api#required": {} + } + }, + "GrantDistributionScope": { + "target": "com.amazonaws.dataexchange#GrantDistributionScope", + "traits": { + "smithy.api#documentation": "

The distribution scope of the data grant.

", + "smithy.api#required": {} + } + }, + "ReceiverPrincipal": { + "target": "com.amazonaws.dataexchange#ReceiverPrincipal", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID of the data grant receiver.

", + "smithy.api#required": {} + } + }, + "SourceDataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "

The ID of the data set used to create the data grant.

", + "smithy.api#required": {} + } + }, + "EndsAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when access to the associated data set ends.

" + } + }, + "Description": { + "target": "com.amazonaws.dataexchange#Description", + "traits": { + "smithy.api#documentation": "

The description of the data grant.

" + } + }, + "Tags": { + "target": "com.amazonaws.dataexchange#MapOf__string", + "traits": { + "smithy.api#documentation": "

The tags to add to the data grant. A tag is a key-value pair.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.dataexchange#CreateDataGrantResponse": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.dataexchange#DataGrantName", + "traits": { + "smithy.api#documentation": "

The name of the data grant.

", + "smithy.api#required": {} + } + }, + "SenderPrincipal": { + "target": "com.amazonaws.dataexchange#SenderPrincipal", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID of the data grant sender.

", + "smithy.api#required": {} + } + }, + "ReceiverPrincipal": { + "target": "com.amazonaws.dataexchange#ReceiverPrincipal", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID of the data grant receiver.

", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.dataexchange#DataGrantDescription", + "traits": { + "smithy.api#documentation": "

The description of the data grant.

" + } + }, + "AcceptanceState": { + "target": "com.amazonaws.dataexchange#DataGrantAcceptanceState", + "traits": { + "smithy.api#documentation": "

The acceptance state of the data grant.

", + "smithy.api#required": {} + } + }, + "AcceptedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the data grant was accepted.

" + } + }, + "EndsAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when access to the associated data set ends.

" + } + }, + "GrantDistributionScope": { + "target": "com.amazonaws.dataexchange#GrantDistributionScope", + "traits": { + "smithy.api#documentation": "

The distribution scope for the data grant.

", + "smithy.api#required": {} + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "

The ID of the data set associated to the data grant.

", + "smithy.api#required": {} + } + }, + "SourceDataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "

The ID of the data set used to create the data grant.

", + "smithy.api#required": {} + } + }, + "Id": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "

The ID of the data grant.

", + "smithy.api#required": {} + } + }, + "Arn": { + "target": "com.amazonaws.dataexchange#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the data grant.

", + "smithy.api#required": {} + } + }, + "CreatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the data grant was created.

", + "smithy.api#required": {} + } + }, + "UpdatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the data grant was last updated.

", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.dataexchange#MapOf__string", + "traits": { + "smithy.api#documentation": "

The tags associated to the data grant. A tag is a key-value pair.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.dataexchange#CreateDataSet": { "type": "operation", "input": { @@ -529,7 +898,7 @@ "Tags": { "target": "com.amazonaws.dataexchange#MapOf__string", "traits": { - "smithy.api#documentation": "

A data set tag is an optional label that you can assign to a data set when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to these data sets and revisions.

" + "smithy.api#documentation": "

A data set tag is an optional label that you can assign to a data set when you create\n it. Each tag consists of a key and an optional value, both of which you define. When you\n use tagging, you can also use tag-based access control in IAM policies to control access to\n these data sets and revisions.

" } } } @@ -576,19 +945,19 @@ "Origin": { "target": "com.amazonaws.dataexchange#Origin", "traits": { - "smithy.api#documentation": "

A property that defines the data set as OWNED by the account (for providers) or ENTITLED to the account (for subscribers).

" + "smithy.api#documentation": "

A property that defines the data set as OWNED by the account (for providers) or ENTITLED\n to the account (for subscribers).

" } }, "OriginDetails": { "target": "com.amazonaws.dataexchange#OriginDetails", "traits": { - "smithy.api#documentation": "

If the origin of this data set is ENTITLED, includes the details for the product on AWS Marketplace.

" + "smithy.api#documentation": "

If the origin of this data set is ENTITLED, includes the details for the product on AWS\n Marketplace.

" } }, "SourceId": { "target": "com.amazonaws.dataexchange#Id", "traits": { - "smithy.api#documentation": "

The data set ID of the owned data set corresponding to the entitled data set being viewed. This parameter is returned when a data set owner is viewing the entitled copy of its owned data set.

" + "smithy.api#documentation": "

The data set ID of the owned data set corresponding to the entitled data set being\n viewed. This parameter is returned when a data set owner is viewing the entitled copy of\n its owned data set.

" } }, "Tags": { @@ -862,7 +1231,7 @@ "Tags": { "target": "com.amazonaws.dataexchange#MapOf__string", "traits": { - "smithy.api#documentation": "

A revision tag is an optional label that you can assign to a revision when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to these data sets and revisions.

" + "smithy.api#documentation": "

A revision tag is an optional label that you can assign to a revision when you create\n it. Each tag consists of a key and an optional value, both of which you define. When you\n use tagging, you can also use tag-based access control in IAM policies to control access to\n these data sets and revisions.

" } } } @@ -898,7 +1267,7 @@ "target": "com.amazonaws.dataexchange#__boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

To publish a revision to a data set in a product, the revision must first be finalized. Finalizing a revision tells AWS Data Exchange that your changes to the assets in the revision are complete. After it's in this read-only state, you can publish the revision to your products. Finalized revisions can be published through the AWS Data Exchange console or the AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API action. When using the API, revisions are uniquely identified by their ARN.

" + "smithy.api#documentation": "

To publish a revision to a data set in a product, the revision must first be finalized.\n Finalizing a revision tells AWS Data Exchange that your changes to the assets in the\n revision are complete. After it's in this read-only state, you can publish the revision to\n your products. Finalized revisions can be published through the AWS Data Exchange console\n or the AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API\n action. When using the API, revisions are uniquely identified by their ARN.

" } }, "Id": { @@ -910,7 +1279,7 @@ "SourceId": { "target": "com.amazonaws.dataexchange#Id", "traits": { - "smithy.api#documentation": "

The revision ID of the owned revision corresponding to the entitled revision being viewed. This parameter is returned when a revision owner is viewing the entitled copy of its owned revision.

" + "smithy.api#documentation": "

The revision ID of the owned revision corresponding to the entitled revision being\n viewed. This parameter is returned when a revision owner is viewing the entitled copy of\n its owned revision.

" } }, "Tags": { @@ -928,7 +1297,7 @@ "RevocationComment": { "target": "com.amazonaws.dataexchange#__stringMin10Max512", "traits": { - "smithy.api#documentation": "

A required comment to inform subscribers of the reason their access to the revision was revoked.

" + "smithy.api#documentation": "

A required comment to inform subscribers of the reason their access to the revision was\n revoked.

" } }, "Revoked": { @@ -959,7 +1328,7 @@ "DataSetId": { "target": "com.amazonaws.dataexchange#Id", "traits": { - "smithy.api#documentation": "

The unique identifier for the data set associated with the creation of this Amazon S3 data access.

", + "smithy.api#documentation": "

The unique identifier for the data set associated with the creation of this Amazon S3\n data access.

", "smithy.api#required": {} } }, @@ -1001,16 +1370,22 @@ } }, "traits": { - "smithy.api#documentation": "

Details about the response of the operation to create an S3 data access from an S3 bucket.

" + "smithy.api#documentation": "

Details about the response of the operation to create an S3 data access from an S3\n bucket.

" } }, "com.amazonaws.dataexchange#DataExchange": { "type": "service", "version": "2017-07-25", "operations": [ + { + "target": "com.amazonaws.dataexchange#AcceptDataGrant" + }, { "target": "com.amazonaws.dataexchange#CancelJob" }, + { + "target": "com.amazonaws.dataexchange#CreateDataGrant" + }, { "target": "com.amazonaws.dataexchange#CreateDataSet" }, @@ -1026,6 +1401,9 @@ { "target": "com.amazonaws.dataexchange#DeleteAsset" }, + { + "target": "com.amazonaws.dataexchange#DeleteDataGrant" + }, { "target": "com.amazonaws.dataexchange#DeleteDataSet" }, @@ -1038,6 +1416,9 @@ { "target": "com.amazonaws.dataexchange#GetAsset" }, + { + "target": "com.amazonaws.dataexchange#GetDataGrant" + }, { "target": "com.amazonaws.dataexchange#GetDataSet" }, @@ -1047,9 +1428,15 @@ { "target": "com.amazonaws.dataexchange#GetJob" }, + { + "target": "com.amazonaws.dataexchange#GetReceivedDataGrant" + }, { "target": "com.amazonaws.dataexchange#GetRevision" }, + { + "target": "com.amazonaws.dataexchange#ListDataGrants" + }, { "target": "com.amazonaws.dataexchange#ListDataSetRevisions" }, @@ -1062,6 +1449,9 @@ { "target": "com.amazonaws.dataexchange#ListJobs" }, + { + "target": "com.amazonaws.dataexchange#ListReceivedDataGrants" + }, { "target": "com.amazonaws.dataexchange#ListRevisionAssets" }, @@ -1110,7 +1500,7 @@ "name": "dataexchange" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

AWS Data Exchange is a service that makes it easy for AWS customers to exchange data in the cloud. You can use the AWS Data Exchange APIs to create, update, manage, and access file-based data set in the AWS Cloud.

\n

As a subscriber, you can view and access the data sets that you have an entitlement to through\n a subscription. You can use the APIs to download or copy your entitled data sets to Amazon\n Simple Storage Service (Amazon S3) for use across a variety of AWS analytics and machine\n learning services.

\n

As a provider, you can create and manage your data sets that you would like to publish to a\n product. Being able to package and provide your data sets into products requires a few\n steps to determine eligibility. For more information, visit the AWS Data Exchange\n User Guide.

\n

A data set is a collection of data that can be changed or updated over time. Data sets can be\n updated using revisions, which represent a new version or incremental change to a data set.\n A revision contains one or more assets. An asset in AWS Data Exchange is a piece of data\n that can be stored as an Amazon S3 object, Redshift datashare, API Gateway API, AWS Lake\n Formation data permission, or Amazon S3 data access. The asset can be a structured data\n file, an image file, or some other data file. Jobs are asynchronous import or export\n operations used to create or copy assets.

", + "smithy.api#documentation": "

AWS Data Exchange is a service that makes it easy for AWS customers to exchange data in\n the cloud. You can use the AWS Data Exchange APIs to create, update, manage, and access\n file-based data set in the AWS Cloud.

\n

As a subscriber, you can view and access the data sets that you have an entitlement to\n through a subscription. You can use the APIs to download or copy your entitled data sets to\n Amazon Simple Storage Service (Amazon S3) for use across a variety of AWS analytics and\n machine learning services.

\n

As a provider, you can create and manage your data sets that you would like to publish\n to a product. Being able to package and provide your data sets into products requires a few\n steps to determine eligibility. For more information, visit the AWS Data Exchange\n User Guide.

\n

A data set is a collection of data that can be changed or updated over time. Data sets\n can be updated using revisions, which represent a new version or incremental change to a\n data set. A revision contains one or more assets. An asset in AWS Data Exchange is a piece\n of data that can be stored as an Amazon S3 object, Redshift datashare, API Gateway API, AWS\n Lake Formation data permission, or Amazon S3 data access. The asset can be a structured\n data file, an image file, or some other data file. Jobs are asynchronous import or export\n operations used to create or copy assets.

", "smithy.api#title": "AWS Data Exchange", "smithy.rules#endpointRuleSet": { "version": "1.0", @@ -1872,6 +2262,141 @@ } } }, + "com.amazonaws.dataexchange#DataGrantAcceptanceState": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "PENDING_RECEIVER_ACCEPTANCE", + "name": "PENDING_RECEIVER_ACCEPTANCE" + }, + { + "value": "ACCEPTED", + "name": "ACCEPTED" + } + ] + } + }, + "com.amazonaws.dataexchange#DataGrantArn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^arn:aws:dataexchange:[\\-a-z0-9]*:(\\d{12}):data-grants\\/[a-zA-Z0-9]{30,40}$" + } + }, + "com.amazonaws.dataexchange#DataGrantDescription": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 16384 + } + } + }, + "com.amazonaws.dataexchange#DataGrantId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[a-zA-Z0-9]{30,40}$|^arn:aws:dataexchange:[\\-a-z0-9]*:(\\d{12}):data-grants\\/[a-zA-Z0-9]{30,40}$" + } + }, + "com.amazonaws.dataexchange#DataGrantName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + } + } + }, + "com.amazonaws.dataexchange#DataGrantSummaryEntry": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.dataexchange#DataGrantName", + "traits": { + "smithy.api#documentation": "

The name of the data grant.

", + "smithy.api#required": {} + } + }, + "SenderPrincipal": { + "target": "com.amazonaws.dataexchange#SenderPrincipal", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID of the data grant sender.

", + "smithy.api#required": {} + } + }, + "ReceiverPrincipal": { + "target": "com.amazonaws.dataexchange#ReceiverPrincipal", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID of the data grant receiver.

", + "smithy.api#required": {} + } + }, + "AcceptanceState": { + "target": "com.amazonaws.dataexchange#DataGrantAcceptanceState", + "traits": { + "smithy.api#documentation": "

The acceptance state of the data grant.

", + "smithy.api#required": {} + } + }, + "AcceptedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the data grant was accepted.

" + } + }, + "EndsAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when access to the associated data set ends.

" + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "

The ID of the data set associated to the data grant.

", + "smithy.api#required": {} + } + }, + "SourceDataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "

The ID of the data set used to create the data grant.

", + "smithy.api#required": {} + } + }, + "Id": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "

The ID of the data grant.

", + "smithy.api#required": {} + } + }, + "Arn": { + "target": "com.amazonaws.dataexchange#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the data grant.

", + "smithy.api#required": {} + } + }, + "CreatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the data grant was created.

", + "smithy.api#required": {} + } + }, + "UpdatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the data grant was last updated.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about a data grant.

" + } + }, "com.amazonaws.dataexchange#DataSetEntry": { "type": "structure", "members": { @@ -1920,20 +2445,20 @@ "Origin": { "target": "com.amazonaws.dataexchange#Origin", "traits": { - "smithy.api#documentation": "

A property that defines the data set as OWNED by the account (for providers) or ENTITLED to the account (for subscribers).

", + "smithy.api#documentation": "

A property that defines the data set as OWNED by the account (for providers) or ENTITLED\n to the account (for subscribers).

", "smithy.api#required": {} } }, "OriginDetails": { "target": "com.amazonaws.dataexchange#OriginDetails", "traits": { - "smithy.api#documentation": "

If the origin of this data set is ENTITLED, includes the details for the product on AWS Marketplace.

" + "smithy.api#documentation": "

If the origin of this data set is ENTITLED, includes the details for the product on AWS\n Marketplace.

" } }, "SourceId": { "target": "com.amazonaws.dataexchange#Id", "traits": { - "smithy.api#documentation": "

The data set ID of the owned data set corresponding to the entitled data set being viewed. This parameter is returned when a data set owner is viewing the entitled copy of its owned data set.

" + "smithy.api#documentation": "

The data set ID of the owned data set corresponding to the entitled data set being\n viewed. This parameter is returned when a data set owner is viewing the entitled copy of\n its owned data set.

" } }, "UpdatedAt": { @@ -2023,7 +2548,70 @@ "target": "com.amazonaws.dataexchange#AccessDeniedException" }, { - "target": "com.amazonaws.dataexchange#ConflictException" + "target": "com.amazonaws.dataexchange#ConflictException" + }, + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

This operation deletes an asset.

", + "smithy.api#http": { + "method": "DELETE", + "uri": "/v1/data-sets/{DataSetId}/revisions/{RevisionId}/assets/{AssetId}", + "code": 204 + } + } + }, + "com.amazonaws.dataexchange#DeleteAssetRequest": { + "type": "structure", + "members": { + "AssetId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "

The unique identifier for an asset.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "

The unique identifier for a data set.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "RevisionId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "

The unique identifier for a revision.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.dataexchange#DeleteDataGrant": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#DeleteDataGrantRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#AccessDeniedException" }, { "target": "com.amazonaws.dataexchange#InternalServerException" @@ -2039,41 +2627,28 @@ } ], "traits": { - "smithy.api#documentation": "

This operation deletes an asset.

", + "smithy.api#documentation": "

This operation deletes a data grant.

", "smithy.api#http": { "method": "DELETE", - "uri": "/v1/data-sets/{DataSetId}/revisions/{RevisionId}/assets/{AssetId}", + "uri": "/v1/data-grants/{DataGrantId}", "code": 204 } } }, - "com.amazonaws.dataexchange#DeleteAssetRequest": { + "com.amazonaws.dataexchange#DeleteDataGrantRequest": { "type": "structure", "members": { - "AssetId": { - "target": "com.amazonaws.dataexchange#__string", - "traits": { - "smithy.api#documentation": "

The unique identifier for an asset.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "DataSetId": { - "target": "com.amazonaws.dataexchange#__string", - "traits": { - "smithy.api#documentation": "

The unique identifier for a data set.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "RevisionId": { - "target": "com.amazonaws.dataexchange#__string", + "DataGrantId": { + "target": "com.amazonaws.dataexchange#DataGrantId", "traits": { - "smithy.api#documentation": "

The unique identifier for a revision.

", + "smithy.api#documentation": "

The ID of the data grant to delete.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.dataexchange#DeleteDataSet": { @@ -2327,7 +2902,7 @@ } }, "traits": { - "smithy.api#documentation": "

An event action is an object that defines the relationship between a specific event and an automated action that will be taken on behalf of the customer.

" + "smithy.api#documentation": "

An event action is an object that defines the relationship between a specific event and\n an automated action that will be taken on behalf of the customer.

" } }, "com.amazonaws.dataexchange#ExceptionCause": { @@ -2553,7 +3128,7 @@ "KmsKeyArn": { "target": "com.amazonaws.dataexchange#__string", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the AWS KMS key you want to use to encrypt the Amazon S3 objects. This parameter is required if you choose aws:kms as an encryption type.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the AWS KMS key you want to use to encrypt the Amazon\n S3 objects. This parameter is required if you choose aws:kms as an encryption type.

" } }, "Type": { @@ -2565,7 +3140,7 @@ } }, "traits": { - "smithy.api#documentation": "

Encryption configuration of the export job. Includes the encryption type in addition to the AWS KMS key. The KMS key is only necessary if you chose the KMS encryption type.

" + "smithy.api#documentation": "

Encryption configuration of the export job. Includes the encryption type in addition to\n the AWS KMS key. The KMS key is only necessary if you chose the KMS encryption type.

" } }, "com.amazonaws.dataexchange#GetAsset": { @@ -2671,7 +3246,7 @@ "Name": { "target": "com.amazonaws.dataexchange#AssetName", "traits": { - "smithy.api#documentation": "

The name of the asset. When importing from Amazon S3, the Amazon S3 object key is used\n as the asset name. When exporting to Amazon S3, the asset name is used as default target\n Amazon S3 object key. When importing from Amazon API Gateway API, the API name is used as\n the asset name. When importing from Amazon Redshift, the datashare name is used as the\n asset name. When importing from AWS Lake Formation, the static values of \"Database(s) included\n in the LF-tag policy\" or \"Table(s) included in the LF-tag policy\" are used as the asset\n name.

" + "smithy.api#documentation": "

The name of the asset. When importing from Amazon S3, the Amazon S3 object key is used\n as the asset name. When exporting to Amazon S3, the asset name is used as default target\n Amazon S3 object key. When importing from Amazon API Gateway API, the API name is used as\n the asset name. When importing from Amazon Redshift, the datashare name is used as the\n asset name. When importing from AWS Lake Formation, the static values of \"Database(s)\n included in the LF-tag policy\" or \"Table(s) included in the LF-tag policy\" are used as the\n asset name.

" } }, "RevisionId": { @@ -2683,7 +3258,7 @@ "SourceId": { "target": "com.amazonaws.dataexchange#Id", "traits": { - "smithy.api#documentation": "

The asset ID of the owned asset corresponding to the entitled asset being viewed. This parameter is returned when an asset owner is viewing the entitled copy of its owned asset.

" + "smithy.api#documentation": "

The asset ID of the owned asset corresponding to the entitled asset being viewed. This\n parameter is returned when an asset owner is viewing the entitled copy of its owned\n asset.

" } }, "UpdatedAt": { @@ -2694,6 +3269,166 @@ } } }, + "com.amazonaws.dataexchange#GetDataGrant": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#GetDataGrantRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#GetDataGrantResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#AccessDeniedException" + }, + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

This operation returns information about a data grant.

", + "smithy.api#http": { + "method": "GET", + "uri": "/v1/data-grants/{DataGrantId}", + "code": 200 + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.dataexchange#GetDataGrantRequest": { + "type": "structure", + "members": { + "DataGrantId": { + "target": "com.amazonaws.dataexchange#DataGrantId", + "traits": { + "smithy.api#documentation": "

The ID of the data grant.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.dataexchange#GetDataGrantResponse": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.dataexchange#DataGrantName", + "traits": { + "smithy.api#documentation": "

The name of the data grant.

", + "smithy.api#required": {} + } + }, + "SenderPrincipal": { + "target": "com.amazonaws.dataexchange#SenderPrincipal", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID of the data grant sender.

", + "smithy.api#required": {} + } + }, + "ReceiverPrincipal": { + "target": "com.amazonaws.dataexchange#ReceiverPrincipal", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID of the data grant receiver.

", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.dataexchange#DataGrantDescription", + "traits": { + "smithy.api#documentation": "

The description of the data grant.

" + } + }, + "AcceptanceState": { + "target": "com.amazonaws.dataexchange#DataGrantAcceptanceState", + "traits": { + "smithy.api#documentation": "

The acceptance state of the data grant.

", + "smithy.api#required": {} + } + }, + "AcceptedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the data grant was accepted.

" + } + }, + "EndsAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when access to the associated data set ends.

" + } + }, + "GrantDistributionScope": { + "target": "com.amazonaws.dataexchange#GrantDistributionScope", + "traits": { + "smithy.api#documentation": "

The distribution scope for the data grant.

", + "smithy.api#required": {} + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "

The ID of the data set associated to the data grant.

", + "smithy.api#required": {} + } + }, + "SourceDataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "

The ID of the data set used to create the data grant.

", + "smithy.api#required": {} + } + }, + "Id": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "

The ID of the data grant.

", + "smithy.api#required": {} + } + }, + "Arn": { + "target": "com.amazonaws.dataexchange#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the data grant.

", + "smithy.api#required": {} + } + }, + "CreatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the data grant was created.

", + "smithy.api#required": {} + } + }, + "UpdatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the data grant was last updated.

", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.dataexchange#MapOf__string", + "traits": { + "smithy.api#documentation": "

The tags associated to the data grant. A tag is a key-value pair.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.dataexchange#GetDataSet": { "type": "operation", "input": { @@ -2781,19 +3516,19 @@ "Origin": { "target": "com.amazonaws.dataexchange#Origin", "traits": { - "smithy.api#documentation": "

A property that defines the data set as OWNED by the account (for providers) or ENTITLED to the account (for subscribers).

" + "smithy.api#documentation": "

A property that defines the data set as OWNED by the account (for providers) or ENTITLED\n to the account (for subscribers).

" } }, "OriginDetails": { "target": "com.amazonaws.dataexchange#OriginDetails", "traits": { - "smithy.api#documentation": "

If the origin of this data set is ENTITLED, includes the details for the product on AWS Marketplace.

" + "smithy.api#documentation": "

If the origin of this data set is ENTITLED, includes the details for the product on AWS\n Marketplace.

" } }, "SourceId": { "target": "com.amazonaws.dataexchange#Id", "traits": { - "smithy.api#documentation": "

The data set ID of the owned data set corresponding to the entitled data set being viewed. This parameter is returned when a data set owner is viewing the entitled copy of its owned data set.

" + "smithy.api#documentation": "

The data set ID of the owned data set corresponding to the entitled data set being\n viewed. This parameter is returned when a data set owner is viewing the entitled copy of\n its owned data set.

" } }, "Tags": { @@ -2974,24 +3709,170 @@ "smithy.api#documentation": "

The unique identifier for the job.

" } }, - "State": { - "target": "com.amazonaws.dataexchange#State", + "State": { + "target": "com.amazonaws.dataexchange#State", + "traits": { + "smithy.api#documentation": "

The state of the job.

" + } + }, + "Type": { + "target": "com.amazonaws.dataexchange#Type", + "traits": { + "smithy.api#documentation": "

The job type.

" + } + }, + "UpdatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "

The date and time that the job was last updated, in ISO 8601 format.

" + } + } + } + }, + "com.amazonaws.dataexchange#GetReceivedDataGrant": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#GetReceivedDataGrantRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#GetReceivedDataGrantResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#AccessDeniedException" + }, + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

This operation returns information about a received data grant.

", + "smithy.api#http": { + "method": "GET", + "uri": "/v1/received-data-grants/{DataGrantArn}", + "code": 200 + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.dataexchange#GetReceivedDataGrantRequest": { + "type": "structure", + "members": { + "DataGrantArn": { + "target": "com.amazonaws.dataexchange#DataGrantArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the data grant.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.dataexchange#GetReceivedDataGrantResponse": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.dataexchange#DataGrantName", + "traits": { + "smithy.api#documentation": "

The name of the data grant.

", + "smithy.api#required": {} + } + }, + "SenderPrincipal": { + "target": "com.amazonaws.dataexchange#SenderPrincipal", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID of the data grant sender.

" + } + }, + "ReceiverPrincipal": { + "target": "com.amazonaws.dataexchange#ReceiverPrincipal", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID of the data grant receiver.

", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.dataexchange#DataGrantDescription", + "traits": { + "smithy.api#documentation": "

The description of the data grant.

" + } + }, + "AcceptanceState": { + "target": "com.amazonaws.dataexchange#DataGrantAcceptanceState", + "traits": { + "smithy.api#documentation": "

The acceptance state of the data grant.

", + "smithy.api#required": {} + } + }, + "AcceptedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the data grant was accepted.

" + } + }, + "EndsAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when access to the associated data set ends.

" + } + }, + "GrantDistributionScope": { + "target": "com.amazonaws.dataexchange#GrantDistributionScope", + "traits": { + "smithy.api#documentation": "

The distribution scope for the data grant.

", + "smithy.api#required": {} + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "

The ID of the data set associated to the data grant.

", + "smithy.api#required": {} + } + }, + "Id": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "

The ID of the data grant.

", + "smithy.api#required": {} + } + }, + "Arn": { + "target": "com.amazonaws.dataexchange#Arn", "traits": { - "smithy.api#documentation": "

The state of the job.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the data grant.

", + "smithy.api#required": {} } }, - "Type": { - "target": "com.amazonaws.dataexchange#Type", + "CreatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", "traits": { - "smithy.api#documentation": "

The job type.

" + "smithy.api#documentation": "

The timestamp of when the data grant was created.

", + "smithy.api#required": {} } }, "UpdatedAt": { "target": "com.amazonaws.dataexchange#Timestamp", "traits": { - "smithy.api#documentation": "

The date and time that the job was last updated, in ISO 8601 format.

" + "smithy.api#documentation": "

The timestamp of when the data grant was last updated.

", + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.dataexchange#GetRevision": { @@ -3078,7 +3959,7 @@ "target": "com.amazonaws.dataexchange#__boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

To publish a revision to a data set in a product, the revision must first be finalized. Finalizing a revision tells AWS Data Exchange that your changes to the assets in the revision are complete. After it's in this read-only state, you can publish the revision to your products. Finalized revisions can be published through the AWS Data Exchange console or the AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API action. When using the API, revisions are uniquely identified by their ARN.

" + "smithy.api#documentation": "

To publish a revision to a data set in a product, the revision must first be finalized.\n Finalizing a revision tells AWS Data Exchange that your changes to the assets in the\n revision are complete. After it's in this read-only state, you can publish the revision to\n your products. Finalized revisions can be published through the AWS Data Exchange console\n or the AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API\n action. When using the API, revisions are uniquely identified by their ARN.

" } }, "Id": { @@ -3090,7 +3971,7 @@ "SourceId": { "target": "com.amazonaws.dataexchange#Id", "traits": { - "smithy.api#documentation": "

The revision ID of the owned revision corresponding to the entitled revision being viewed. This parameter is returned when a revision owner is viewing the entitled copy of its owned revision.

" + "smithy.api#documentation": "

The revision ID of the owned revision corresponding to the entitled revision being\n viewed. This parameter is returned when a revision owner is viewing the entitled copy of\n its owned revision.

" } }, "Tags": { @@ -3108,7 +3989,7 @@ "RevocationComment": { "target": "com.amazonaws.dataexchange#__stringMin10Max512", "traits": { - "smithy.api#documentation": "

A required comment to inform subscribers of the reason their access to the revision was revoked.

" + "smithy.api#documentation": "

A required comment to inform subscribers of the reason their access to the revision was\n revoked.

" } }, "Revoked": { @@ -3126,6 +4007,21 @@ } } }, + "com.amazonaws.dataexchange#GrantDistributionScope": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "AWS_ORGANIZATION", + "name": "AWS_ORGANIZATION" + }, + { + "value": "NONE", + "name": "NONE" + } + ] + } + }, "com.amazonaws.dataexchange#Id": { "type": "string" }, @@ -3161,7 +4057,7 @@ "ApiSpecificationMd5Hash": { "target": "com.amazonaws.dataexchange#__stringMin24Max24PatternAZaZ094AZaZ092AZaZ093", "traits": { - "smithy.api#documentation": "

The Base64-encoded MD5 hash of the OpenAPI 3.0 JSON API specification file. It is used to ensure the integrity of the file.

", + "smithy.api#documentation": "

The Base64-encoded MD5 hash of the OpenAPI 3.0 JSON API specification file. It is used\n to ensure the integrity of the file.

", "smithy.api#required": {} } }, @@ -3230,7 +4126,7 @@ "ApiSpecificationMd5Hash": { "target": "com.amazonaws.dataexchange#__stringMin24Max24PatternAZaZ094AZaZ092AZaZ093", "traits": { - "smithy.api#documentation": "

The Base64-encoded Md5 hash for the API asset, used to ensure the integrity of the API at that location.

", + "smithy.api#documentation": "

The Base64-encoded Md5 hash for the API asset, used to ensure the integrity of the API\n at that location.

", "smithy.api#required": {} } }, @@ -3302,7 +4198,7 @@ "AssetName": { "target": "com.amazonaws.dataexchange#AssetName", "traits": { - "smithy.api#documentation": "

The name of the asset. When importing from Amazon S3, the Amazon S3 object key is used as the asset name.

", + "smithy.api#documentation": "

The name of the asset. When importing from Amazon S3, the Amazon S3 object key is used\n as the asset name.

", "smithy.api#required": {} } }, @@ -3316,7 +4212,7 @@ "Md5Hash": { "target": "com.amazonaws.dataexchange#__stringMin24Max24PatternAZaZ094AZaZ092AZaZ093", "traits": { - "smithy.api#documentation": "

The Base64-encoded Md5 hash for the asset, used to ensure the integrity of the file at that location.

", + "smithy.api#documentation": "

The Base64-encoded Md5 hash for the asset, used to ensure the integrity of the file at\n that location.

", "smithy.api#required": {} } }, @@ -3352,7 +4248,7 @@ "Md5Hash": { "target": "com.amazonaws.dataexchange#__stringMin24Max24PatternAZaZ094AZaZ092AZaZ093", "traits": { - "smithy.api#documentation": "

The Base64-encoded Md5 hash for the asset, used to ensure the integrity of the file at that location.

" + "smithy.api#documentation": "

The Base64-encoded Md5 hash for the asset, used to ensure the integrity of the file at\n that location.

" } }, "RevisionId": { @@ -3376,7 +4272,7 @@ } }, "traits": { - "smithy.api#documentation": "

The details in the response for an import request, including the signed URL and other information.

" + "smithy.api#documentation": "

The details in the response for an import request, including the signed URL and other\n information.

" } }, "com.amazonaws.dataexchange#ImportAssetsFromLakeFormationTagPolicyRequestDetails": { @@ -3404,7 +4300,7 @@ "RoleArn": { "target": "com.amazonaws.dataexchange#RoleArn", "traits": { - "smithy.api#documentation": "

The IAM role's ARN that allows AWS Data Exchange to assume the role and grant and revoke permissions of subscribers to AWS Lake Formation data permissions.

", + "smithy.api#documentation": "

The IAM role's ARN that allows AWS Data Exchange to assume the role and grant and revoke\n permissions of subscribers to AWS Lake Formation data permissions.

", "smithy.api#required": {} } }, @@ -3452,7 +4348,7 @@ "RoleArn": { "target": "com.amazonaws.dataexchange#RoleArn", "traits": { - "smithy.api#documentation": "

The IAM role's ARN that allows AWS Data Exchange to assume the role and grant and revoke permissions to AWS Lake Formation data permissions.

", + "smithy.api#documentation": "

The IAM role's ARN that allows AWS Data Exchange to assume the role and grant and revoke\n permissions to AWS Lake Formation data permissions.

", "smithy.api#required": {} } }, @@ -3628,7 +4524,7 @@ "Details": { "target": "com.amazonaws.dataexchange#ResponseDetails", "traits": { - "smithy.api#documentation": "

Details of the operation to be performed by the job, such as export destination details or import source details.

", + "smithy.api#documentation": "

Details of the operation to be performed by the job, such as export destination details\n or import source details.

", "smithy.api#required": {} } }, @@ -3668,7 +4564,7 @@ } }, "traits": { - "smithy.api#documentation": "

AWS Data Exchange Jobs are asynchronous import or export operations used to create or copy assets. A data set owner can both import and export as they see fit. Someone with an entitlement to a data set can only export. Jobs are deleted 90 days after they are created.

" + "smithy.api#documentation": "

AWS Data Exchange Jobs are asynchronous import or export operations used to create or\n copy assets. A data set owner can both import and export as they see fit. Someone with an\n entitlement to a data set can only export. Jobs are deleted 90 days after they are\n created.

" } }, "com.amazonaws.dataexchange#JobError": { @@ -3815,18 +4711,18 @@ "Database": { "target": "com.amazonaws.dataexchange#DatabaseLFTagPolicy", "traits": { - "smithy.api#documentation": "

Details about the database resource included in the AWS Lake Formation data permission.

" + "smithy.api#documentation": "

Details about the database resource included in the AWS Lake Formation data\n permission.

" } }, "Table": { "target": "com.amazonaws.dataexchange#TableLFTagPolicy", "traits": { - "smithy.api#documentation": "

Details about the table resource included in the AWS Lake Formation data permission.

" + "smithy.api#documentation": "

Details about the table resource included in the AWS Lake Formation data\n permission.

" } } }, "traits": { - "smithy.api#documentation": "

Details about the AWS Lake Formation resource (Table or Database) included in the AWS Lake Formation data permission.

" + "smithy.api#documentation": "

Details about the AWS Lake Formation resource (Table or Database) included in the AWS\n Lake Formation data permission.

" } }, "com.amazonaws.dataexchange#LFResourceType": { @@ -3922,7 +4818,7 @@ "RoleArn": { "target": "com.amazonaws.dataexchange#RoleArn", "traits": { - "smithy.api#documentation": "

The IAM role's ARN that allows AWS Data Exchange to assume the role and grant and revoke permissions to AWS Lake Formation data permissions.

" + "smithy.api#documentation": "

The IAM role's ARN that allows AWS Data Exchange to assume the role and grant and revoke\n permissions to AWS Lake Formation data permissions.

" } } }, @@ -3972,7 +4868,7 @@ } }, "traits": { - "smithy.api#documentation": "

Extra details specific to the affected scope in\n this LF data set.

" + "smithy.api#documentation": "

Extra details specific to the affected scope in this LF data set.

" } }, "com.amazonaws.dataexchange#LimitName": { @@ -4090,10 +4986,102 @@ { "value": "Concurrent in progress jobs to create Amazon S3 data access assets from S3 buckets", "name": "Concurrent_in_progress_jobs_to_create_Amazon_S3_data_access_assets_from_S3_buckets" + }, + { + "value": "Active and pending data grants", + "name": "Active_and_pending_data_grants" + }, + { + "value": "Pending data grants per consumer", + "name": "Pending_data_grants_per_consumer" } ] } }, + "com.amazonaws.dataexchange#ListDataGrants": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#ListDataGrantsRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#ListDataGrantsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#AccessDeniedException" + }, + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

This operation returns information about all data grants.

", + "smithy.api#http": { + "method": "GET", + "uri": "/v1/data-grants", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "DataGrantSummaries", + "pageSize": "MaxResults" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.dataexchange#ListDataGrantsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "target": "com.amazonaws.dataexchange#MaxResults", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

The maximum number of results to be included in the next page.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "NextToken": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "

The pagination token used to retrieve the next page of results for this\n operation.

", + "smithy.api#httpQuery": "nextToken" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.dataexchange#ListDataGrantsResponse": { + "type": "structure", + "members": { + "DataGrantSummaries": { + "target": "com.amazonaws.dataexchange#ListOfDataGrantSummaryEntry", + "traits": { + "smithy.api#documentation": "

An object that contains a list of data grant information.

" + } + }, + "NextToken": { + "target": "com.amazonaws.dataexchange#NextToken", + "traits": { + "smithy.api#documentation": "

The pagination token used to retrieve the next page of results for this\n operation.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.dataexchange#ListDataSetRevisions": { "type": "operation", "input": { @@ -4117,7 +5105,7 @@ } ], "traits": { - "smithy.api#documentation": "

This operation lists a data set's revisions sorted by CreatedAt in descending order.

", + "smithy.api#documentation": "

This operation lists a data set's revisions sorted by CreatedAt in descending\n order.

", "smithy.api#http": { "method": "GET", "uri": "/v1/data-sets/{DataSetId}/revisions", @@ -4154,7 +5142,7 @@ "NextToken": { "target": "com.amazonaws.dataexchange#__string", "traits": { - "smithy.api#documentation": "

The token value retrieved from a previous call to access the next page of results.

", + "smithy.api#documentation": "

The token value retrieved from a previous call to access the next page of\n results.

", "smithy.api#httpQuery": "nextToken" } } @@ -4166,7 +5154,7 @@ "NextToken": { "target": "com.amazonaws.dataexchange#NextToken", "traits": { - "smithy.api#documentation": "

The token value retrieved from a previous call to access the next page of results.

" + "smithy.api#documentation": "

The token value retrieved from a previous call to access the next page of\n results.

" } }, "Revisions": { @@ -4200,7 +5188,7 @@ } ], "traits": { - "smithy.api#documentation": "

This operation lists your data sets. When listing by origin OWNED, results are sorted by CreatedAt in descending order. When listing by origin ENTITLED, there is no order and the maxResults parameter is ignored.

", + "smithy.api#documentation": "

This operation lists your data sets. When listing by origin OWNED, results are sorted by\n CreatedAt in descending order. When listing by origin ENTITLED, there is no order.

", "smithy.api#http": { "method": "GET", "uri": "/v1/data-sets", @@ -4229,14 +5217,14 @@ "NextToken": { "target": "com.amazonaws.dataexchange#__string", "traits": { - "smithy.api#documentation": "

The token value retrieved from a previous call to access the next page of results.

", + "smithy.api#documentation": "

The token value retrieved from a previous call to access the next page of\n results.

", "smithy.api#httpQuery": "nextToken" } }, "Origin": { "target": "com.amazonaws.dataexchange#__string", "traits": { - "smithy.api#documentation": "

A property that defines the data set as OWNED by the account (for providers) or ENTITLED to the account (for subscribers).

", + "smithy.api#documentation": "

A property that defines the data set as OWNED by the account (for providers) or ENTITLED\n to the account (for subscribers).

", "smithy.api#httpQuery": "origin" } } @@ -4254,7 +5242,7 @@ "NextToken": { "target": "com.amazonaws.dataexchange#NextToken", "traits": { - "smithy.api#documentation": "

The token value retrieved from a previous call to access the next page of results.

" + "smithy.api#documentation": "

The token value retrieved from a previous call to access the next page of\n results.

" } } } @@ -4318,7 +5306,7 @@ "NextToken": { "target": "com.amazonaws.dataexchange#__string", "traits": { - "smithy.api#documentation": "

The token value retrieved from a previous call to access the next page of results.

", + "smithy.api#documentation": "

The token value retrieved from a previous call to access the next page of\n results.

", "smithy.api#httpQuery": "nextToken" } } @@ -4336,7 +5324,7 @@ "NextToken": { "target": "com.amazonaws.dataexchange#NextToken", "traits": { - "smithy.api#documentation": "

The token value retrieved from a previous call to access the next page of results.

" + "smithy.api#documentation": "

The token value retrieved from a previous call to access the next page of\n results.

" } } } @@ -4400,7 +5388,7 @@ "NextToken": { "target": "com.amazonaws.dataexchange#__string", "traits": { - "smithy.api#documentation": "

The token value retrieved from a previous call to access the next page of results.

", + "smithy.api#documentation": "

The token value retrieved from a previous call to access the next page of\n results.

", "smithy.api#httpQuery": "nextToken" } }, @@ -4425,7 +5413,7 @@ "NextToken": { "target": "com.amazonaws.dataexchange#NextToken", "traits": { - "smithy.api#documentation": "

The token value retrieved from a previous call to access the next page of results.

" + "smithy.api#documentation": "

The token value retrieved from a previous call to access the next page of\n results.

" } } } @@ -4448,6 +5436,12 @@ "target": "com.amazonaws.dataexchange#AssetSourceEntry" } }, + "com.amazonaws.dataexchange#ListOfDataGrantSummaryEntry": { + "type": "list", + "member": { + "target": "com.amazonaws.dataexchange#DataGrantSummaryEntry" + } + }, "com.amazonaws.dataexchange#ListOfDataSetEntry": { "type": "list", "member": { @@ -4515,6 +5509,12 @@ "target": "com.amazonaws.dataexchange#LakeFormationTagPolicyDetails" } }, + "com.amazonaws.dataexchange#ListOfReceivedDataGrantSummariesEntry": { + "type": "list", + "member": { + "target": "com.amazonaws.dataexchange#ReceivedDataGrantSummariesEntry" + } + }, "com.amazonaws.dataexchange#ListOfRedshiftDataShareAssetSourceEntry": { "type": "list", "member": { @@ -4563,6 +5563,97 @@ "target": "com.amazonaws.dataexchange#__string" } }, + "com.amazonaws.dataexchange#ListReceivedDataGrants": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#ListReceivedDataGrantsRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#ListReceivedDataGrantsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#AccessDeniedException" + }, + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

This operation returns information about all received data grants.

", + "smithy.api#http": { + "method": "GET", + "uri": "/v1/received-data-grants", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "DataGrantSummaries", + "pageSize": "MaxResults" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.dataexchange#ListReceivedDataGrantsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "target": "com.amazonaws.dataexchange#MaxResults", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

The maximum number of results to be included in the next page.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "NextToken": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "

The pagination token used to retrieve the next page of results for this\n operation.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "AcceptanceState": { + "target": "com.amazonaws.dataexchange#AcceptanceStateFilterValues", + "traits": { + "smithy.api#documentation": "

The acceptance state of the data grants to list.

", + "smithy.api#httpQuery": "acceptanceState" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.dataexchange#ListReceivedDataGrantsResponse": { + "type": "structure", + "members": { + "DataGrantSummaries": { + "target": "com.amazonaws.dataexchange#ListOfReceivedDataGrantSummariesEntry", + "traits": { + "smithy.api#documentation": "

An object that contains a list of received data grant information.

" + } + }, + "NextToken": { + "target": "com.amazonaws.dataexchange#NextToken", + "traits": { + "smithy.api#documentation": "

The pagination token used to retrieve the next page of results for this\n operation.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.dataexchange#ListRevisionAssets": { "type": "operation", "input": { @@ -4586,7 +5677,7 @@ } ], "traits": { - "smithy.api#documentation": "

This operation lists a revision's assets sorted alphabetically in descending order.

", + "smithy.api#documentation": "

This operation lists a revision's assets sorted alphabetically in descending\n order.

", "smithy.api#http": { "method": "GET", "uri": "/v1/data-sets/{DataSetId}/revisions/{RevisionId}/assets", @@ -4623,7 +5714,7 @@ "NextToken": { "target": "com.amazonaws.dataexchange#__string", "traits": { - "smithy.api#documentation": "

The token value retrieved from a previous call to access the next page of results.

", + "smithy.api#documentation": "

The token value retrieved from a previous call to access the next page of\n results.

", "smithy.api#httpQuery": "nextToken" } }, @@ -4649,7 +5740,7 @@ "NextToken": { "target": "com.amazonaws.dataexchange#NextToken", "traits": { - "smithy.api#documentation": "

The token value retrieved from a previous call to access the next page of results.

" + "smithy.api#documentation": "

The token value retrieved from a previous call to access the next page of\n results.

" } } } @@ -4794,6 +5885,12 @@ "traits": { "smithy.api#documentation": "

The product ID of the origin of the data set.

" } + }, + "DataGrantId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "

The ID of the data grant.

" + } } }, "traits": { @@ -4811,6 +5908,95 @@ ] } }, + "com.amazonaws.dataexchange#ReceivedDataGrantSummariesEntry": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.dataexchange#DataGrantName", + "traits": { + "smithy.api#documentation": "

The name of the data grant.

", + "smithy.api#required": {} + } + }, + "SenderPrincipal": { + "target": "com.amazonaws.dataexchange#SenderPrincipal", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID of the data grant sender.

", + "smithy.api#required": {} + } + }, + "ReceiverPrincipal": { + "target": "com.amazonaws.dataexchange#ReceiverPrincipal", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID of the data grant receiver.

", + "smithy.api#required": {} + } + }, + "AcceptanceState": { + "target": "com.amazonaws.dataexchange#DataGrantAcceptanceState", + "traits": { + "smithy.api#documentation": "

The acceptance state of the data grant.

", + "smithy.api#required": {} + } + }, + "AcceptedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the data grant was accepted.

" + } + }, + "EndsAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when access to the associated data set ends.

" + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "

The ID of the data set associated to the data grant.

", + "smithy.api#required": {} + } + }, + "Id": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "

The ID of the data grant.

", + "smithy.api#required": {} + } + }, + "Arn": { + "target": "com.amazonaws.dataexchange#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the data grant.

", + "smithy.api#required": {} + } + }, + "CreatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the data grant was created.

", + "smithy.api#required": {} + } + }, + "UpdatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the data grant was last updated.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about a received data grant.

" + } + }, + "com.amazonaws.dataexchange#ReceiverPrincipal": { + "type": "string", + "traits": { + "smithy.api#pattern": "^\\d{12}$" + } + }, "com.amazonaws.dataexchange#RedshiftDataShareAsset": { "type": "structure", "members": { @@ -4884,7 +6070,7 @@ } }, "traits": { - "smithy.api#documentation": "

Extra details specific to the affected scope\n in this Redshift data set.

" + "smithy.api#documentation": "

Extra details specific to the affected scope in this Redshift data set.

" } }, "com.amazonaws.dataexchange#RequestDetails": { @@ -5001,6 +6187,10 @@ { "value": "EVENT_ACTION", "name": "EVENT_ACTION" + }, + { + "value": "DATA_GRANT", + "name": "DATA_GRANT" } ] } @@ -5080,7 +6270,7 @@ "KeyPattern": { "target": "com.amazonaws.dataexchange#__string", "traits": { - "smithy.api#documentation": "

A string representing the pattern for generated names of the individual assets in the revision. For more information about key patterns, see Key patterns when exporting revisions.

" + "smithy.api#documentation": "

A string representing the pattern for generated names of the individual assets in the\n revision. For more information about key patterns, see Key patterns when exporting revisions.

" } }, "RevisionId": { @@ -5129,7 +6319,7 @@ "target": "com.amazonaws.dataexchange#__boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

To publish a revision to a data set in a product, the revision must first be finalized. Finalizing a revision tells AWS Data Exchange that your changes to the assets in the revision are complete. After it's in this read-only state, you can publish the revision to your products. Finalized revisions can be published through the AWS Data Exchange console or the AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API action. When using the API, revisions are uniquely identified by their ARN.

" + "smithy.api#documentation": "

To publish a revision to a data set in a product, the revision must first be finalized.\n Finalizing a revision tells AWS Data Exchange that your changes to the assets in the\n revision are complete. After it's in this read-only state, you can publish the revision to\n your products. Finalized revisions can be published through the AWS Data Exchange console\n or the AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API\n action. When using the API, revisions are uniquely identified by their ARN.

" } }, "Id": { @@ -5142,7 +6332,7 @@ "SourceId": { "target": "com.amazonaws.dataexchange#Id", "traits": { - "smithy.api#documentation": "

The revision ID of the owned revision corresponding to the entitled revision being viewed. This parameter is returned when a revision owner is viewing the entitled copy of its owned revision.

" + "smithy.api#documentation": "

The revision ID of the owned revision corresponding to the entitled revision being\n viewed. This parameter is returned when a revision owner is viewing the entitled copy of\n its owned revision.

" } }, "UpdatedAt": { @@ -5155,7 +6345,7 @@ "RevocationComment": { "target": "com.amazonaws.dataexchange#__stringMin10Max512", "traits": { - "smithy.api#documentation": "

A required comment to inform subscribers of the reason their access to the revision was revoked.

" + "smithy.api#documentation": "

A required comment to inform subscribers of the reason their access to the revision was\n revoked.

" } }, "Revoked": { @@ -5250,7 +6440,7 @@ "RevocationComment": { "target": "com.amazonaws.dataexchange#__stringMin10Max512", "traits": { - "smithy.api#documentation": "

A required comment to inform subscribers of the reason their access to the revision was revoked.

", + "smithy.api#documentation": "

A required comment to inform subscribers of the reason their access to the revision was\n revoked.

", "smithy.api#required": {} } } @@ -5287,7 +6477,7 @@ "target": "com.amazonaws.dataexchange#__boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

To publish a revision to a data set in a product, the revision must first be finalized. Finalizing a revision tells AWS Data Exchange that changes to the assets in the revision are complete. After it's in this read-only state, you can publish the revision to your products. Finalized revisions can be published through the AWS Data Exchange console or the AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API action. When using the API, revisions are uniquely identified by their ARN.

" + "smithy.api#documentation": "

To publish a revision to a data set in a product, the revision must first be finalized.\n Finalizing a revision tells AWS Data Exchange that changes to the assets in the revision\n are complete. After it's in this read-only state, you can publish the revision to your\n products. Finalized revisions can be published through the AWS Data Exchange console or the\n AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API action.\n When using the API, revisions are uniquely identified by their ARN.

" } }, "Id": { @@ -5299,7 +6489,7 @@ "SourceId": { "target": "com.amazonaws.dataexchange#Id", "traits": { - "smithy.api#documentation": "

The revision ID of the owned revision corresponding to the entitled revision being viewed. This parameter is returned when a revision owner is viewing the entitled copy of its owned revision.

" + "smithy.api#documentation": "

The revision ID of the owned revision corresponding to the entitled revision being\n viewed. This parameter is returned when a revision owner is viewing the entitled copy of\n its owned revision.

" } }, "UpdatedAt": { @@ -5311,7 +6501,7 @@ "RevocationComment": { "target": "com.amazonaws.dataexchange#__stringMin10Max512", "traits": { - "smithy.api#documentation": "

A required comment to inform subscribers of the reason their access to the revision was revoked.

" + "smithy.api#documentation": "

A required comment to inform subscribers of the reason their access to the revision was\n revoked.

" } }, "Revoked": { @@ -5360,13 +6550,13 @@ "S3AccessPointAlias": { "target": "com.amazonaws.dataexchange#__string", "traits": { - "smithy.api#documentation": "

The automatically-generated bucket-style alias for your Amazon S3 Access Point. Customers can access their entitled data using the S3 Access Point alias.

" + "smithy.api#documentation": "

The automatically-generated bucket-style alias for your Amazon S3 Access Point.\n Customers can access their entitled data using the S3 Access Point alias.

" } }, "S3AccessPointArn": { "target": "com.amazonaws.dataexchange#__string", "traits": { - "smithy.api#documentation": "

The ARN for your Amazon S3 Access Point. Customers can also access their entitled data using the S3 Access Point ARN.

" + "smithy.api#documentation": "

The ARN for your Amazon S3 Access Point. Customers can also access their entitled data\n using the S3 Access Point ARN.

" } }, "KmsKeysToGrant": { @@ -5430,7 +6620,7 @@ } }, "traits": { - "smithy.api#documentation": "

Extra details specific to the affected scope in this S3 Data \n Access data set.

" + "smithy.api#documentation": "

Extra details specific to the affected scope in this S3 Data Access data set.

" } }, "com.amazonaws.dataexchange#S3SnapshotAsset": { @@ -5474,7 +6664,7 @@ } }, "traits": { - "smithy.api#documentation": "

Object encompassing information about a schema change to a single, particular field, \n a notification can have up to 100 of these.

" + "smithy.api#documentation": "

Object encompassing information about a schema change to a single, particular field, a\n notification can have up to 100 of these.

" } }, "com.amazonaws.dataexchange#SchemaChangeRequestDetails": { @@ -5569,7 +6759,7 @@ } ], "traits": { - "smithy.api#documentation": "

This operation invokes an API Gateway API asset. The request is proxied to the provider’s API Gateway API.

", + "smithy.api#documentation": "

This operation invokes an API Gateway API asset. The request is proxied to the\n provider’s API Gateway API.

", "smithy.api#endpoint": { "hostPrefix": "api-fulfill." }, @@ -5593,7 +6783,7 @@ "QueryStringParameters": { "target": "com.amazonaws.dataexchange#MapOf__string", "traits": { - "smithy.api#documentation": "

Attach query string parameters to the end of the URI (for example, /v1/examplePath?exampleParam=exampleValue).

", + "smithy.api#documentation": "

Attach query string parameters to the end of the URI (for example,\n /v1/examplePath?exampleParam=exampleValue).

", "smithy.api#httpQueryParams": {} } }, @@ -5616,21 +6806,21 @@ "RequestHeaders": { "target": "com.amazonaws.dataexchange#MapOf__string", "traits": { - "smithy.api#documentation": "

Any header value prefixed with x-amzn-dataexchange-header- will have that stripped before sending the Asset API request. Use this when you want to override a header that AWS Data Exchange uses. Alternatively, you can use the header without a prefix to the HTTP request.

", + "smithy.api#documentation": "

Any header value prefixed with x-amzn-dataexchange-header- will have that stripped\n before sending the Asset API request. Use this when you want to override a header that AWS\n Data Exchange uses. Alternatively, you can use the header without a prefix to the HTTP\n request.

", "smithy.api#httpPrefixHeaders": "x-amzn-dataexchange-header-" } }, "Method": { "target": "com.amazonaws.dataexchange#__string", "traits": { - "smithy.api#documentation": "

HTTP method value for the API request. Alternatively, you can use the appropriate verb in your request.

", + "smithy.api#documentation": "

HTTP method value for the API request. Alternatively, you can use the appropriate verb\n in your request.

", "smithy.api#httpHeader": "x-amzn-dataexchange-http-method" } }, "Path": { "target": "com.amazonaws.dataexchange#__string", "traits": { - "smithy.api#documentation": "

URI path value for the API request. Alternatively, you can set the URI path directly by invoking /v1/{pathValue}.

", + "smithy.api#documentation": "

URI path value for the API request. Alternatively, you can set the URI path directly by\n invoking /v1/{pathValue}.

", "smithy.api#httpHeader": "x-amzn-dataexchange-path" } }, @@ -5755,6 +6945,12 @@ "smithy.api#output": {} } }, + "com.amazonaws.dataexchange#SenderPrincipal": { + "type": "string", + "traits": { + "smithy.api#pattern": "^\\d{12}$" + } + }, "com.amazonaws.dataexchange#ServerSideEncryptionTypes": { "type": "string", "traits": { @@ -6207,7 +7403,7 @@ "SourceId": { "target": "com.amazonaws.dataexchange#Id", "traits": { - "smithy.api#documentation": "

The asset ID of the owned asset corresponding to the entitled asset being viewed. This parameter is returned when an asset owner is viewing the entitled copy of its owned asset.

" + "smithy.api#documentation": "

The asset ID of the owned asset corresponding to the entitled asset being viewed. This\n parameter is returned when an asset owner is viewing the entitled copy of its owned\n asset.

" } }, "UpdatedAt": { @@ -6319,19 +7515,19 @@ "Origin": { "target": "com.amazonaws.dataexchange#Origin", "traits": { - "smithy.api#documentation": "

A property that defines the data set as OWNED by the account (for providers) or ENTITLED to the account (for subscribers).

" + "smithy.api#documentation": "

A property that defines the data set as OWNED by the account (for providers) or ENTITLED\n to the account (for subscribers).

" } }, "OriginDetails": { "target": "com.amazonaws.dataexchange#OriginDetails", "traits": { - "smithy.api#documentation": "

If the origin of this data set is ENTITLED, includes the details for the product on AWS Marketplace.

" + "smithy.api#documentation": "

If the origin of this data set is ENTITLED, includes the details for the product on AWS\n Marketplace.

" } }, "SourceId": { "target": "com.amazonaws.dataexchange#Id", "traits": { - "smithy.api#documentation": "

The data set ID of the owned data set corresponding to the entitled data set being viewed. This parameter is returned when a data set owner is viewing the entitled copy of its owned data set.

" + "smithy.api#documentation": "

The data set ID of the owned data set corresponding to the entitled data set being\n viewed. This parameter is returned when a data set owner is viewing the entitled copy of\n its owned data set.

" } }, "UpdatedAt": { @@ -6494,7 +7690,7 @@ "target": "com.amazonaws.dataexchange#__boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

Finalizing a revision tells AWS Data Exchange that your changes to the assets in the revision are complete. After it's in this read-only state, you can publish the revision to your products.

" + "smithy.api#documentation": "

Finalizing a revision tells AWS Data Exchange that your changes to the assets in the\n revision are complete. After it's in this read-only state, you can publish the revision to\n your products.

" } }, "RevisionId": { @@ -6538,7 +7734,7 @@ "target": "com.amazonaws.dataexchange#__boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

To publish a revision to a data set in a product, the revision must first be finalized. Finalizing a revision tells AWS Data Exchange that changes to the assets in the revision are complete. After it's in this read-only state, you can publish the revision to your products. Finalized revisions can be published through the AWS Data Exchange console or the AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API action. When using the API, revisions are uniquely identified by their ARN.

" + "smithy.api#documentation": "

To publish a revision to a data set in a product, the revision must first be finalized.\n Finalizing a revision tells AWS Data Exchange that changes to the assets in the revision\n are complete. After it's in this read-only state, you can publish the revision to your\n products. Finalized revisions can be published through the AWS Data Exchange console or the\n AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API action.\n When using the API, revisions are uniquely identified by their ARN.

" } }, "Id": { @@ -6550,7 +7746,7 @@ "SourceId": { "target": "com.amazonaws.dataexchange#Id", "traits": { - "smithy.api#documentation": "

The revision ID of the owned revision corresponding to the entitled revision being viewed. This parameter is returned when a revision owner is viewing the entitled copy of its owned revision.

" + "smithy.api#documentation": "

The revision ID of the owned revision corresponding to the entitled revision being\n viewed. This parameter is returned when a revision owner is viewing the entitled copy of\n its owned revision.

" } }, "UpdatedAt": { @@ -6562,7 +7758,7 @@ "RevocationComment": { "target": "com.amazonaws.dataexchange#__stringMin10Max512", "traits": { - "smithy.api#documentation": "

A required comment to inform subscribers of the reason their access to the revision was revoked.

" + "smithy.api#documentation": "

A required comment to inform subscribers of the reason their access to the revision was\n revoked.

" } }, "Revoked": {