From 4ce55973ecb9a3daa04ae67431c894bdc2400137 Mon Sep 17 00:00:00 2001 From: awstools Date: Wed, 7 Aug 2024 18:12:50 +0000 Subject: [PATCH] feat(client-appintegrations): Updated CreateDataIntegration and CreateDataIntegrationAssociation API to support bulk data export from Amazon Connect Customer Profiles to the customer S3 bucket. --- clients/client-appintegrations/README.md | 51 ++- .../src/AppIntegrations.ts | 83 ++++- .../src/AppIntegrationsClient.ts | 49 ++- .../src/commands/CreateApplicationCommand.ts | 3 +- ...CreateDataIntegrationAssociationCommand.ts | 131 +++++++ .../commands/CreateDataIntegrationCommand.ts | 2 +- .../src/commands/DeleteApplicationCommand.ts | 3 +- .../src/commands/GetApplicationCommand.ts | 3 +- .../src/commands/ListApplicationsCommand.ts | 3 +- .../ListDataIntegrationAssociationsCommand.ts | 17 + .../src/commands/UpdateApplicationCommand.ts | 3 +- ...UpdateDataIntegrationAssociationCommand.ts | 118 ++++++ .../src/commands/index.ts | 2 + clients/client-appintegrations/src/index.ts | 37 +- .../src/models/models_0.ts | 259 ++++++++++++-- .../src/protocols/Aws_restJson1.ts | 118 ++++++ .../aws-models/appintegrations.json | 337 +++++++++++++++++- 17 files changed, 1150 insertions(+), 69 deletions(-) create mode 100644 clients/client-appintegrations/src/commands/CreateDataIntegrationAssociationCommand.ts create mode 100644 clients/client-appintegrations/src/commands/UpdateDataIntegrationAssociationCommand.ts diff --git a/clients/client-appintegrations/README.md b/clients/client-appintegrations/README.md index ac111c962f2cf..b66edccb7af97 100644 --- a/clients/client-appintegrations/README.md +++ b/clients/client-appintegrations/README.md @@ -6,13 +6,40 @@ AWS SDK for JavaScript AppIntegrations Client for Node.js, Browser and React Native. +

The Amazon AppIntegrations service enables you to configure and reuse connections to external applications.

For information about how you can use external applications with Amazon Connect, see -Set up pre-built -integrations and Deliver information to agents -using Amazon Connect Wisdom in the Amazon Connect Administrator -Guide.

+the following topics in the Amazon Connect Administrator +Guide:

+ ## Installing @@ -224,6 +251,14 @@ CreateDataIntegration [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/appintegrations/command/CreateDataIntegrationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-appintegrations/Interface/CreateDataIntegrationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-appintegrations/Interface/CreateDataIntegrationCommandOutput/) + +
+ +CreateDataIntegrationAssociation + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/appintegrations/command/CreateDataIntegrationAssociationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-appintegrations/Interface/CreateDataIntegrationAssociationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-appintegrations/Interface/CreateDataIntegrationAssociationCommandOutput/) +
@@ -368,6 +403,14 @@ UpdateDataIntegration [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/appintegrations/command/UpdateDataIntegrationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-appintegrations/Interface/UpdateDataIntegrationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-appintegrations/Interface/UpdateDataIntegrationCommandOutput/) +
+
+ +UpdateDataIntegrationAssociation + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/appintegrations/command/UpdateDataIntegrationAssociationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-appintegrations/Interface/UpdateDataIntegrationAssociationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-appintegrations/Interface/UpdateDataIntegrationAssociationCommandOutput/) +
diff --git a/clients/client-appintegrations/src/AppIntegrations.ts b/clients/client-appintegrations/src/AppIntegrations.ts index 9e4e2bec2b97a..946ec3b001be9 100644 --- a/clients/client-appintegrations/src/AppIntegrations.ts +++ b/clients/client-appintegrations/src/AppIntegrations.ts @@ -8,6 +8,11 @@ import { CreateApplicationCommandInput, CreateApplicationCommandOutput, } from "./commands/CreateApplicationCommand"; +import { + CreateDataIntegrationAssociationCommand, + CreateDataIntegrationAssociationCommandInput, + CreateDataIntegrationAssociationCommandOutput, +} from "./commands/CreateDataIntegrationAssociationCommand"; import { CreateDataIntegrationCommand, CreateDataIntegrationCommandInput, @@ -94,6 +99,11 @@ import { UpdateApplicationCommandInput, UpdateApplicationCommandOutput, } from "./commands/UpdateApplicationCommand"; +import { + UpdateDataIntegrationAssociationCommand, + UpdateDataIntegrationAssociationCommandInput, + UpdateDataIntegrationAssociationCommandOutput, +} from "./commands/UpdateDataIntegrationAssociationCommand"; import { UpdateDataIntegrationCommand, UpdateDataIntegrationCommandInput, @@ -108,6 +118,7 @@ import { const commands = { CreateApplicationCommand, CreateDataIntegrationCommand, + CreateDataIntegrationAssociationCommand, CreateEventIntegrationCommand, DeleteApplicationCommand, DeleteDataIntegrationCommand, @@ -126,6 +137,7 @@ const commands = { UntagResourceCommand, UpdateApplicationCommand, UpdateDataIntegrationCommand, + UpdateDataIntegrationAssociationCommand, UpdateEventIntegrationCommand, }; @@ -164,6 +176,23 @@ export interface AppIntegrations { cb: (err: any, data?: CreateDataIntegrationCommandOutput) => void ): void; + /** + * @see {@link CreateDataIntegrationAssociationCommand} + */ + createDataIntegrationAssociation( + args: CreateDataIntegrationAssociationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + createDataIntegrationAssociation( + args: CreateDataIntegrationAssociationCommandInput, + cb: (err: any, data?: CreateDataIntegrationAssociationCommandOutput) => void + ): void; + createDataIntegrationAssociation( + args: CreateDataIntegrationAssociationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateDataIntegrationAssociationCommandOutput) => void + ): void; + /** * @see {@link CreateEventIntegrationCommand} */ @@ -458,6 +487,23 @@ export interface AppIntegrations { cb: (err: any, data?: UpdateDataIntegrationCommandOutput) => void ): void; + /** + * @see {@link UpdateDataIntegrationAssociationCommand} + */ + updateDataIntegrationAssociation( + args: UpdateDataIntegrationAssociationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + updateDataIntegrationAssociation( + args: UpdateDataIntegrationAssociationCommandInput, + cb: (err: any, data?: UpdateDataIntegrationAssociationCommandOutput) => void + ): void; + updateDataIntegrationAssociation( + args: UpdateDataIntegrationAssociationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateDataIntegrationAssociationCommandOutput) => void + ): void; + /** * @see {@link UpdateEventIntegrationCommand} */ @@ -477,13 +523,40 @@ export interface AppIntegrations { } /** - *

The Amazon AppIntegrations service enables you to configure and reuse connections to external + *

+ *

The Amazon AppIntegrations service enables you to configure and reuse connections to external * applications.

*

For information about how you can use external applications with Amazon Connect, see - * Set up pre-built - * integrations and Deliver information to agents - * using Amazon Connect Wisdom in the Amazon Connect Administrator - * Guide.

+ * the following topics in the Amazon Connect Administrator + * Guide:

+ * * @public */ export class AppIntegrations extends AppIntegrationsClient implements AppIntegrations {} diff --git a/clients/client-appintegrations/src/AppIntegrationsClient.ts b/clients/client-appintegrations/src/AppIntegrationsClient.ts index c32aa968d827d..c869bde3c5676 100644 --- a/clients/client-appintegrations/src/AppIntegrationsClient.ts +++ b/clients/client-appintegrations/src/AppIntegrationsClient.ts @@ -54,6 +54,10 @@ import { resolveHttpAuthSchemeConfig, } from "./auth/httpAuthSchemeProvider"; import { CreateApplicationCommandInput, CreateApplicationCommandOutput } from "./commands/CreateApplicationCommand"; +import { + CreateDataIntegrationAssociationCommandInput, + CreateDataIntegrationAssociationCommandOutput, +} from "./commands/CreateDataIntegrationAssociationCommand"; import { CreateDataIntegrationCommandInput, CreateDataIntegrationCommandOutput, @@ -105,6 +109,10 @@ import { import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; import { UpdateApplicationCommandInput, UpdateApplicationCommandOutput } from "./commands/UpdateApplicationCommand"; +import { + UpdateDataIntegrationAssociationCommandInput, + UpdateDataIntegrationAssociationCommandOutput, +} from "./commands/UpdateDataIntegrationAssociationCommand"; import { UpdateDataIntegrationCommandInput, UpdateDataIntegrationCommandOutput, @@ -129,6 +137,7 @@ export { __Client }; */ export type ServiceInputTypes = | CreateApplicationCommandInput + | CreateDataIntegrationAssociationCommandInput | CreateDataIntegrationCommandInput | CreateEventIntegrationCommandInput | DeleteApplicationCommandInput @@ -147,6 +156,7 @@ export type ServiceInputTypes = | TagResourceCommandInput | UntagResourceCommandInput | UpdateApplicationCommandInput + | UpdateDataIntegrationAssociationCommandInput | UpdateDataIntegrationCommandInput | UpdateEventIntegrationCommandInput; @@ -155,6 +165,7 @@ export type ServiceInputTypes = */ export type ServiceOutputTypes = | CreateApplicationCommandOutput + | CreateDataIntegrationAssociationCommandOutput | CreateDataIntegrationCommandOutput | CreateEventIntegrationCommandOutput | DeleteApplicationCommandOutput @@ -173,6 +184,7 @@ export type ServiceOutputTypes = | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateApplicationCommandOutput + | UpdateDataIntegrationAssociationCommandOutput | UpdateDataIntegrationCommandOutput | UpdateEventIntegrationCommandOutput; @@ -348,13 +360,40 @@ export type AppIntegrationsClientResolvedConfigType = __SmithyResolvedConfigurat export interface AppIntegrationsClientResolvedConfig extends AppIntegrationsClientResolvedConfigType {} /** - *

The Amazon AppIntegrations service enables you to configure and reuse connections to external + *

+ *

The Amazon AppIntegrations service enables you to configure and reuse connections to external * applications.

*

For information about how you can use external applications with Amazon Connect, see - * Set up pre-built - * integrations and Deliver information to agents - * using Amazon Connect Wisdom in the Amazon Connect Administrator - * Guide.

+ * the following topics in the Amazon Connect Administrator + * Guide:

+ * * @public */ export class AppIntegrationsClient extends __Client< diff --git a/clients/client-appintegrations/src/commands/CreateApplicationCommand.ts b/clients/client-appintegrations/src/commands/CreateApplicationCommand.ts index d2708e6620102..ca867464c3d8f 100644 --- a/clients/client-appintegrations/src/commands/CreateApplicationCommand.ts +++ b/clients/client-appintegrations/src/commands/CreateApplicationCommand.ts @@ -28,8 +28,7 @@ export interface CreateApplicationCommandInput extends CreateApplicationRequest export interface CreateApplicationCommandOutput extends CreateApplicationResponse, __MetadataBearer {} /** - *

This API is in preview release and subject to change.

- *

Creates and persists an Application resource.

+ *

Creates and persists an Application resource.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-appintegrations/src/commands/CreateDataIntegrationAssociationCommand.ts b/clients/client-appintegrations/src/commands/CreateDataIntegrationAssociationCommand.ts new file mode 100644 index 0000000000000..ea61a0231d750 --- /dev/null +++ b/clients/client-appintegrations/src/commands/CreateDataIntegrationAssociationCommand.ts @@ -0,0 +1,131 @@ +// 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 { AppIntegrationsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppIntegrationsClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { CreateDataIntegrationAssociationRequest, CreateDataIntegrationAssociationResponse } from "../models/models_0"; +import { + de_CreateDataIntegrationAssociationCommand, + se_CreateDataIntegrationAssociationCommand, +} from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CreateDataIntegrationAssociationCommand}. + */ +export interface CreateDataIntegrationAssociationCommandInput extends CreateDataIntegrationAssociationRequest {} +/** + * @public + * + * The output of {@link CreateDataIntegrationAssociationCommand}. + */ +export interface CreateDataIntegrationAssociationCommandOutput + extends CreateDataIntegrationAssociationResponse, + __MetadataBearer {} + +/** + *

Creates and persists a DataIntegrationAssociation resource.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AppIntegrationsClient, CreateDataIntegrationAssociationCommand } from "@aws-sdk/client-appintegrations"; // ES Modules import + * // const { AppIntegrationsClient, CreateDataIntegrationAssociationCommand } = require("@aws-sdk/client-appintegrations"); // CommonJS import + * const client = new AppIntegrationsClient(config); + * const input = { // CreateDataIntegrationAssociationRequest + * DataIntegrationIdentifier: "STRING_VALUE", // required + * ClientId: "STRING_VALUE", + * ObjectConfiguration: { // ObjectConfiguration + * "": { // FieldsMap + * "": [ // FieldsList + * "STRING_VALUE", + * ], + * }, + * }, + * DestinationURI: "STRING_VALUE", + * ClientAssociationMetadata: { // ClientAssociationMetadata + * "": "STRING_VALUE", + * }, + * ClientToken: "STRING_VALUE", + * ExecutionConfiguration: { // ExecutionConfiguration + * ExecutionMode: "ON_DEMAND" || "SCHEDULED", // required + * OnDemandConfiguration: { // OnDemandConfiguration + * StartTime: "STRING_VALUE", // required + * EndTime: "STRING_VALUE", + * }, + * ScheduleConfiguration: { // ScheduleConfiguration + * FirstExecutionFrom: "STRING_VALUE", + * Object: "STRING_VALUE", + * ScheduleExpression: "STRING_VALUE", // required + * }, + * }, + * }; + * const command = new CreateDataIntegrationAssociationCommand(input); + * const response = await client.send(command); + * // { // CreateDataIntegrationAssociationResponse + * // DataIntegrationAssociationId: "STRING_VALUE", + * // DataIntegrationArn: "STRING_VALUE", + * // }; + * + * ``` + * + * @param CreateDataIntegrationAssociationCommandInput - {@link CreateDataIntegrationAssociationCommandInput} + * @returns {@link CreateDataIntegrationAssociationCommandOutput} + * @see {@link CreateDataIntegrationAssociationCommandInput} for command's `input` shape. + * @see {@link CreateDataIntegrationAssociationCommandOutput} for command's `response` shape. + * @see {@link AppIntegrationsClientResolvedConfig | config} for AppIntegrationsClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

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

Request processing failed due to an error or failure with the service.

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

The request is not valid.

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

The specified resource was not found.

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

The allowed quota for the resource has been exceeded.

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

The throttling limit has been exceeded.

+ * + * @throws {@link AppIntegrationsServiceException} + *

Base exception class for all service exceptions from AppIntegrations service.

+ * + * @public + */ +export class CreateDataIntegrationAssociationCommand extends $Command + .classBuilder< + CreateDataIntegrationAssociationCommandInput, + CreateDataIntegrationAssociationCommandOutput, + AppIntegrationsClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: AppIntegrationsClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AmazonAppIntegrationService", "CreateDataIntegrationAssociation", {}) + .n("AppIntegrationsClient", "CreateDataIntegrationAssociationCommand") + .f(void 0, void 0) + .ser(se_CreateDataIntegrationAssociationCommand) + .de(de_CreateDataIntegrationAssociationCommand) + .build() {} diff --git a/clients/client-appintegrations/src/commands/CreateDataIntegrationCommand.ts b/clients/client-appintegrations/src/commands/CreateDataIntegrationCommand.ts index 0dee2bf5a95f4..d097b29ed4f70 100644 --- a/clients/client-appintegrations/src/commands/CreateDataIntegrationCommand.ts +++ b/clients/client-appintegrations/src/commands/CreateDataIntegrationCommand.ts @@ -44,7 +44,7 @@ export interface CreateDataIntegrationCommandOutput extends CreateDataIntegratio * Name: "STRING_VALUE", // required * Description: "STRING_VALUE", * KmsKey: "STRING_VALUE", // required - * SourceURI: "STRING_VALUE", // required + * SourceURI: "STRING_VALUE", * ScheduleConfig: { // ScheduleConfiguration * FirstExecutionFrom: "STRING_VALUE", * Object: "STRING_VALUE", diff --git a/clients/client-appintegrations/src/commands/DeleteApplicationCommand.ts b/clients/client-appintegrations/src/commands/DeleteApplicationCommand.ts index db77a50959e92..0475c06f5521c 100644 --- a/clients/client-appintegrations/src/commands/DeleteApplicationCommand.ts +++ b/clients/client-appintegrations/src/commands/DeleteApplicationCommand.ts @@ -28,7 +28,8 @@ export interface DeleteApplicationCommandInput extends DeleteApplicationRequest export interface DeleteApplicationCommandOutput extends DeleteApplicationResponse, __MetadataBearer {} /** - *

Deletes the Application. Only Applications that don't have any Application Associations can be deleted.

+ *

Deletes the Application. Only Applications that don't have any Application Associations + * can be deleted.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-appintegrations/src/commands/GetApplicationCommand.ts b/clients/client-appintegrations/src/commands/GetApplicationCommand.ts index 13638aeaa6e61..6374342b0d687 100644 --- a/clients/client-appintegrations/src/commands/GetApplicationCommand.ts +++ b/clients/client-appintegrations/src/commands/GetApplicationCommand.ts @@ -28,8 +28,7 @@ export interface GetApplicationCommandInput extends GetApplicationRequest {} export interface GetApplicationCommandOutput extends GetApplicationResponse, __MetadataBearer {} /** - *

This API is in preview release and subject to change.

- *

Get an Application resource.

+ *

Get an Application resource.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-appintegrations/src/commands/ListApplicationsCommand.ts b/clients/client-appintegrations/src/commands/ListApplicationsCommand.ts index 5d7ab6114c1a4..ecbe5d6fba2ef 100644 --- a/clients/client-appintegrations/src/commands/ListApplicationsCommand.ts +++ b/clients/client-appintegrations/src/commands/ListApplicationsCommand.ts @@ -28,8 +28,7 @@ export interface ListApplicationsCommandInput extends ListApplicationsRequest {} export interface ListApplicationsCommandOutput extends ListApplicationsResponse, __MetadataBearer {} /** - *

This API is in preview release and subject to change.

- *

Lists applications in the account.

+ *

Lists applications in the account.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-appintegrations/src/commands/ListDataIntegrationAssociationsCommand.ts b/clients/client-appintegrations/src/commands/ListDataIntegrationAssociationsCommand.ts index bf2252bf47ceb..48a3aa5bea7bf 100644 --- a/clients/client-appintegrations/src/commands/ListDataIntegrationAssociationsCommand.ts +++ b/clients/client-appintegrations/src/commands/ListDataIntegrationAssociationsCommand.ts @@ -58,6 +58,23 @@ export interface ListDataIntegrationAssociationsCommandOutput * // DataIntegrationAssociationArn: "STRING_VALUE", * // DataIntegrationArn: "STRING_VALUE", * // ClientId: "STRING_VALUE", + * // DestinationURI: "STRING_VALUE", + * // LastExecutionStatus: { // LastExecutionStatus + * // ExecutionStatus: "COMPLETED" || "IN_PROGRESS" || "FAILED", + * // StatusMessage: "STRING_VALUE", + * // }, + * // ExecutionConfiguration: { // ExecutionConfiguration + * // ExecutionMode: "ON_DEMAND" || "SCHEDULED", // required + * // OnDemandConfiguration: { // OnDemandConfiguration + * // StartTime: "STRING_VALUE", // required + * // EndTime: "STRING_VALUE", + * // }, + * // ScheduleConfiguration: { // ScheduleConfiguration + * // FirstExecutionFrom: "STRING_VALUE", + * // Object: "STRING_VALUE", + * // ScheduleExpression: "STRING_VALUE", // required + * // }, + * // }, * // }, * // ], * // NextToken: "STRING_VALUE", diff --git a/clients/client-appintegrations/src/commands/UpdateApplicationCommand.ts b/clients/client-appintegrations/src/commands/UpdateApplicationCommand.ts index 9f7dc091baff7..59bc19538f6f0 100644 --- a/clients/client-appintegrations/src/commands/UpdateApplicationCommand.ts +++ b/clients/client-appintegrations/src/commands/UpdateApplicationCommand.ts @@ -28,8 +28,7 @@ export interface UpdateApplicationCommandInput extends UpdateApplicationRequest export interface UpdateApplicationCommandOutput extends UpdateApplicationResponse, __MetadataBearer {} /** - *

This API is in preview release and subject to change.

- *

Updates and persists an Application resource.

+ *

Updates and persists an Application resource.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-appintegrations/src/commands/UpdateDataIntegrationAssociationCommand.ts b/clients/client-appintegrations/src/commands/UpdateDataIntegrationAssociationCommand.ts new file mode 100644 index 0000000000000..df52908f8a267 --- /dev/null +++ b/clients/client-appintegrations/src/commands/UpdateDataIntegrationAssociationCommand.ts @@ -0,0 +1,118 @@ +// 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 { AppIntegrationsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppIntegrationsClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { UpdateDataIntegrationAssociationRequest, UpdateDataIntegrationAssociationResponse } from "../models/models_0"; +import { + de_UpdateDataIntegrationAssociationCommand, + se_UpdateDataIntegrationAssociationCommand, +} from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link UpdateDataIntegrationAssociationCommand}. + */ +export interface UpdateDataIntegrationAssociationCommandInput extends UpdateDataIntegrationAssociationRequest {} +/** + * @public + * + * The output of {@link UpdateDataIntegrationAssociationCommand}. + */ +export interface UpdateDataIntegrationAssociationCommandOutput + extends UpdateDataIntegrationAssociationResponse, + __MetadataBearer {} + +/** + *

Updates and persists a DataIntegrationAssociation resource.

+ * + *

+ * Updating a DataIntegrationAssociation with ExecutionConfiguration will rerun the on-demand job. + *

+ *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AppIntegrationsClient, UpdateDataIntegrationAssociationCommand } from "@aws-sdk/client-appintegrations"; // ES Modules import + * // const { AppIntegrationsClient, UpdateDataIntegrationAssociationCommand } = require("@aws-sdk/client-appintegrations"); // CommonJS import + * const client = new AppIntegrationsClient(config); + * const input = { // UpdateDataIntegrationAssociationRequest + * DataIntegrationIdentifier: "STRING_VALUE", // required + * DataIntegrationAssociationIdentifier: "STRING_VALUE", // required + * ExecutionConfiguration: { // ExecutionConfiguration + * ExecutionMode: "ON_DEMAND" || "SCHEDULED", // required + * OnDemandConfiguration: { // OnDemandConfiguration + * StartTime: "STRING_VALUE", // required + * EndTime: "STRING_VALUE", + * }, + * ScheduleConfiguration: { // ScheduleConfiguration + * FirstExecutionFrom: "STRING_VALUE", + * Object: "STRING_VALUE", + * ScheduleExpression: "STRING_VALUE", // required + * }, + * }, + * }; + * const command = new UpdateDataIntegrationAssociationCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param UpdateDataIntegrationAssociationCommandInput - {@link UpdateDataIntegrationAssociationCommandInput} + * @returns {@link UpdateDataIntegrationAssociationCommandOutput} + * @see {@link UpdateDataIntegrationAssociationCommandInput} for command's `input` shape. + * @see {@link UpdateDataIntegrationAssociationCommandOutput} for command's `response` shape. + * @see {@link AppIntegrationsClientResolvedConfig | config} for AppIntegrationsClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

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

Request processing failed due to an error or failure with the service.

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

The request is not valid.

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

The specified resource was not found.

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

The throttling limit has been exceeded.

+ * + * @throws {@link AppIntegrationsServiceException} + *

Base exception class for all service exceptions from AppIntegrations service.

+ * + * @public + */ +export class UpdateDataIntegrationAssociationCommand extends $Command + .classBuilder< + UpdateDataIntegrationAssociationCommandInput, + UpdateDataIntegrationAssociationCommandOutput, + AppIntegrationsClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: AppIntegrationsClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AmazonAppIntegrationService", "UpdateDataIntegrationAssociation", {}) + .n("AppIntegrationsClient", "UpdateDataIntegrationAssociationCommand") + .f(void 0, void 0) + .ser(se_UpdateDataIntegrationAssociationCommand) + .de(de_UpdateDataIntegrationAssociationCommand) + .build() {} diff --git a/clients/client-appintegrations/src/commands/index.ts b/clients/client-appintegrations/src/commands/index.ts index 4a0c11c5b4924..89d4601b0ed9e 100644 --- a/clients/client-appintegrations/src/commands/index.ts +++ b/clients/client-appintegrations/src/commands/index.ts @@ -1,5 +1,6 @@ // smithy-typescript generated code export * from "./CreateApplicationCommand"; +export * from "./CreateDataIntegrationAssociationCommand"; export * from "./CreateDataIntegrationCommand"; export * from "./CreateEventIntegrationCommand"; export * from "./DeleteApplicationCommand"; @@ -18,5 +19,6 @@ export * from "./ListTagsForResourceCommand"; export * from "./TagResourceCommand"; export * from "./UntagResourceCommand"; export * from "./UpdateApplicationCommand"; +export * from "./UpdateDataIntegrationAssociationCommand"; export * from "./UpdateDataIntegrationCommand"; export * from "./UpdateEventIntegrationCommand"; diff --git a/clients/client-appintegrations/src/index.ts b/clients/client-appintegrations/src/index.ts index 96b8e61187011..bbb2d154c3f87 100644 --- a/clients/client-appintegrations/src/index.ts +++ b/clients/client-appintegrations/src/index.ts @@ -1,13 +1,40 @@ // smithy-typescript generated code /* eslint-disable */ /** - *

The Amazon AppIntegrations service enables you to configure and reuse connections to external + *

+ *

The Amazon AppIntegrations service enables you to configure and reuse connections to external * applications.

*

For information about how you can use external applications with Amazon Connect, see - * Set up pre-built - * integrations and Deliver information to agents - * using Amazon Connect Wisdom in the Amazon Connect Administrator - * Guide.

+ * the following topics in the Amazon Connect Administrator + * Guide:

+ * * * @packageDocumentation */ diff --git a/clients/client-appintegrations/src/models/models_0.ts b/clients/client-appintegrations/src/models/models_0.ts index 11fa675c32f83..c8aa38ef7c389 100644 --- a/clients/client-appintegrations/src/models/models_0.ts +++ b/clients/client-appintegrations/src/models/models_0.ts @@ -372,7 +372,7 @@ export interface CreateDataIntegrationRequest { Description?: string; /** - *

The KMS key for the DataIntegration.

+ *

The KMS key ARN for the DataIntegration.

* @public */ KmsKey: string | undefined; @@ -381,7 +381,7 @@ export interface CreateDataIntegrationRequest { *

The URI of the data source.

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

The name of the data and how often it should be pulled from the source.

@@ -446,7 +446,7 @@ export interface CreateDataIntegrationResponse { Description?: string; /** - *

The KMS key for the DataIntegration.

+ *

The KMS key ARN for the DataIntegration.

* @public */ KmsKey?: string; @@ -491,6 +491,154 @@ export interface CreateDataIntegrationResponse { ObjectConfiguration?: Record>; } +/** + * @public + * @enum + */ +export const ExecutionMode = { + ON_DEMAND: "ON_DEMAND", + SCHEDULED: "SCHEDULED", +} as const; + +/** + * @public + */ +export type ExecutionMode = (typeof ExecutionMode)[keyof typeof ExecutionMode]; + +/** + *

The start and end time for data pull from the source.

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

The start time for data pull from the source as an Unix/epoch string in + * milliseconds

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

The end time for data pull from the source as an Unix/epoch string in + * milliseconds

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

The configuration for how the files should be pulled from the source.

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

The mode for data import/export execution.

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

The start and end time for data pull from the source.

+ * @public + */ + OnDemandConfiguration?: OnDemandConfiguration; + + /** + *

The name of the data and how often it should be pulled from the source.

+ * @public + */ + ScheduleConfiguration?: ScheduleConfiguration; +} + +/** + * @public + */ +export interface CreateDataIntegrationAssociationRequest { + /** + *

A unique identifier for the DataIntegration.

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

The identifier for the client that is associated with the DataIntegration + * association.

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

The configuration for what data should be pulled from the source.

+ * @public + */ + ObjectConfiguration?: Record>; + + /** + *

The URI of the data destination.

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

The mapping of metadata to be extracted from the data.

+ * @public + */ + ClientAssociationMetadata?: Record; + + /** + *

A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. If not provided, the Amazon Web Services + * SDK populates this field. For more information about idempotency, see + * Making retries safe with idempotent APIs.

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

The configuration for how the files should be pulled from the source.

+ * @public + */ + ExecutionConfiguration?: ExecutionConfiguration; +} + +/** + * @public + */ +export interface CreateDataIntegrationAssociationResponse { + /** + *

A unique identifier. for the DataIntegrationAssociation.

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

The Amazon Resource Name (ARN) for the DataIntegration.

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

The specified resource was not found.

+ * @public + */ +export class ResourceNotFoundException extends __BaseException { + readonly name: "ResourceNotFoundException" = "ResourceNotFoundException"; + readonly $fault: "client" = "client"; + Message?: string; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "ResourceNotFoundException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ResourceNotFoundException.prototype); + this.Message = opts.Message; + } +} + /** *

The event filter.

* @public @@ -574,28 +722,6 @@ export interface DeleteApplicationRequest { */ export interface DeleteApplicationResponse {} -/** - *

The specified resource was not found.

- * @public - */ -export class ResourceNotFoundException extends __BaseException { - readonly name: "ResourceNotFoundException" = "ResourceNotFoundException"; - readonly $fault: "client" = "client"; - Message?: string; - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "ResourceNotFoundException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, ResourceNotFoundException.prototype); - this.Message = opts.Message; - } -} - /** * @public */ @@ -754,13 +880,13 @@ export interface GetDataIntegrationResponse { Name?: string; /** - *

The KMS key for the DataIntegration.

+ *

The KMS key ARN for the DataIntegration.

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

The KMS key for the DataIntegration.

+ *

The KMS key ARN for the DataIntegration.

* @public */ KmsKey?: string; @@ -1014,6 +1140,39 @@ export interface ListDataIntegrationAssociationsRequest { MaxResults?: number; } +/** + * @public + * @enum + */ +export const ExecutionStatus = { + COMPLETED: "COMPLETED", + FAILED: "FAILED", + IN_PROGRESS: "IN_PROGRESS", +} as const; + +/** + * @public + */ +export type ExecutionStatus = (typeof ExecutionStatus)[keyof typeof ExecutionStatus]; + +/** + *

The execution status of the last job.

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

The job status enum string.

+ * @public + */ + ExecutionStatus?: ExecutionStatus; + + /** + *

The status message of a job.

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

Summary information about the DataIntegration association.

* @public @@ -1037,6 +1196,24 @@ export interface DataIntegrationAssociationSummary { * @public */ ClientId?: string; + + /** + *

The URI of the data destination.

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

The execution status of the last job.

+ * @public + */ + LastExecutionStatus?: LastExecutionStatus; + + /** + *

The configuration for how the files should be pulled from the source.

+ * @public + */ + ExecutionConfiguration?: ExecutionConfiguration; } /** @@ -1425,6 +1602,34 @@ export interface UpdateDataIntegrationRequest { */ export interface UpdateDataIntegrationResponse {} +/** + * @public + */ +export interface UpdateDataIntegrationAssociationRequest { + /** + *

A unique identifier for the DataIntegration.

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

A unique identifier. of the DataIntegrationAssociation resource

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

The configuration for how the files should be pulled from the source.

+ * @public + */ + ExecutionConfiguration: ExecutionConfiguration | undefined; +} + +/** + * @public + */ +export interface UpdateDataIntegrationAssociationResponse {} + /** * @public */ diff --git a/clients/client-appintegrations/src/protocols/Aws_restJson1.ts b/clients/client-appintegrations/src/protocols/Aws_restJson1.ts index cf3819d302429..e4828160fe836 100644 --- a/clients/client-appintegrations/src/protocols/Aws_restJson1.ts +++ b/clients/client-appintegrations/src/protocols/Aws_restJson1.ts @@ -25,6 +25,10 @@ import { import { v4 as generateIdempotencyToken } from "uuid"; import { CreateApplicationCommandInput, CreateApplicationCommandOutput } from "../commands/CreateApplicationCommand"; +import { + CreateDataIntegrationAssociationCommandInput, + CreateDataIntegrationAssociationCommandOutput, +} from "../commands/CreateDataIntegrationAssociationCommand"; import { CreateDataIntegrationCommandInput, CreateDataIntegrationCommandOutput, @@ -76,6 +80,10 @@ import { import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; import { UpdateApplicationCommandInput, UpdateApplicationCommandOutput } from "../commands/UpdateApplicationCommand"; +import { + UpdateDataIntegrationAssociationCommandInput, + UpdateDataIntegrationAssociationCommandOutput, +} from "../commands/UpdateDataIntegrationAssociationCommand"; import { UpdateDataIntegrationCommandInput, UpdateDataIntegrationCommandOutput, @@ -91,10 +99,12 @@ import { ApplicationSummary, DuplicateResourceException, EventFilter, + ExecutionConfiguration, ExternalUrlConfig, FileConfiguration, InternalServiceError, InvalidRequestException, + OnDemandConfiguration, Publication, ResourceNotFoundException, ResourceQuotaExceededException, @@ -164,6 +174,34 @@ export const se_CreateDataIntegrationCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1CreateDataIntegrationAssociationCommand + */ +export const se_CreateDataIntegrationAssociationCommand = async ( + input: CreateDataIntegrationAssociationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/dataIntegrations/{DataIntegrationIdentifier}/associations"); + b.p("DataIntegrationIdentifier", () => input.DataIntegrationIdentifier!, "{DataIntegrationIdentifier}", false); + let body: any; + body = JSON.stringify( + take(input, { + ClientAssociationMetadata: (_) => _json(_), + ClientId: [], + ClientToken: [true, (_) => _ ?? generateIdempotencyToken()], + DestinationURI: [], + ExecutionConfiguration: (_) => _json(_), + ObjectConfiguration: (_) => _json(_), + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1CreateEventIntegrationCommand */ @@ -517,6 +555,35 @@ export const se_UpdateDataIntegrationCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1UpdateDataIntegrationAssociationCommand + */ +export const se_UpdateDataIntegrationAssociationCommand = async ( + input: UpdateDataIntegrationAssociationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/dataIntegrations/{DataIntegrationIdentifier}/associations/{DataIntegrationAssociationIdentifier}"); + b.p("DataIntegrationIdentifier", () => input.DataIntegrationIdentifier!, "{DataIntegrationIdentifier}", false); + b.p( + "DataIntegrationAssociationIdentifier", + () => input.DataIntegrationAssociationIdentifier!, + "{DataIntegrationAssociationIdentifier}", + false + ); + let body: any; + body = JSON.stringify( + take(input, { + ExecutionConfiguration: (_) => _json(_), + }) + ); + b.m("PATCH").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1UpdateEventIntegrationCommand */ @@ -593,6 +660,28 @@ export const de_CreateDataIntegrationCommand = async ( return contents; }; +/** + * deserializeAws_restJson1CreateDataIntegrationAssociationCommand + */ +export const de_CreateDataIntegrationAssociationCommand = 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, { + DataIntegrationArn: __expectString, + DataIntegrationAssociationId: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1CreateEventIntegrationCommand */ @@ -974,6 +1063,23 @@ export const de_UpdateDataIntegrationCommand = async ( return contents; }; +/** + * deserializeAws_restJson1UpdateDataIntegrationAssociationCommand + */ +export const de_UpdateDataIntegrationAssociationCommand = 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), + }); + await collectBody(output.body, context); + return contents; +}; + /** * deserializeAws_restJson1UpdateEventIntegrationCommand */ @@ -1197,8 +1303,12 @@ const de_UnsupportedOperationExceptionRes = async ( // se_ApplicationSourceConfig omitted. +// se_ClientAssociationMetadata omitted. + // se_EventFilter omitted. +// se_ExecutionConfiguration omitted. + // se_ExternalUrlConfig omitted. // se_FieldsList omitted. @@ -1211,6 +1321,8 @@ const de_UnsupportedOperationExceptionRes = async ( // se_ObjectConfiguration omitted. +// se_OnDemandConfiguration omitted. + // se_PermissionList omitted. // se_Publication omitted. @@ -1279,6 +1391,8 @@ const de_ApplicationSummary = (output: any, context: __SerdeContext): Applicatio // de_EventIntegrationsList omitted. +// de_ExecutionConfiguration omitted. + // de_ExternalUrlConfig omitted. // de_FieldsList omitted. @@ -1289,8 +1403,12 @@ const de_ApplicationSummary = (output: any, context: __SerdeContext): Applicatio // de_FolderList omitted. +// de_LastExecutionStatus omitted. + // de_ObjectConfiguration omitted. +// de_OnDemandConfiguration omitted. + // de_PermissionList omitted. // de_Publication omitted. diff --git a/codegen/sdk-codegen/aws-models/appintegrations.json b/codegen/sdk-codegen/aws-models/appintegrations.json index 48c422904fe7e..316e9bef67c4e 100644 --- a/codegen/sdk-codegen/aws-models/appintegrations.json +++ b/codegen/sdk-codegen/aws-models/appintegrations.json @@ -52,6 +52,9 @@ { "target": "com.amazonaws.appintegrations#CreateDataIntegration" }, + { + "target": "com.amazonaws.appintegrations#CreateDataIntegrationAssociation" + }, { "target": "com.amazonaws.appintegrations#CreateEventIntegration" }, @@ -106,6 +109,9 @@ { "target": "com.amazonaws.appintegrations#UpdateDataIntegration" }, + { + "target": "com.amazonaws.appintegrations#UpdateDataIntegrationAssociation" + }, { "target": "com.amazonaws.appintegrations#UpdateEventIntegration" } @@ -115,14 +121,14 @@ "sdkId": "AppIntegrations", "arnNamespace": "app-integrations", "cloudFormationName": "AppIntegrations", - "cloudTrailEventSource": "appintegrations.amazonaws.com", + "cloudTrailEventSource": "app-integrations.amazonaws.com", "endpointPrefix": "app-integrations" }, "aws.auth#sigv4": { "name": "app-integrations" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

The Amazon AppIntegrations service enables you to configure and reuse connections to external\n applications.

\n

For information about how you can use external applications with Amazon Connect, see\n Set up pre-built\n integrations and Deliver information to agents\n using Amazon Connect Wisdom in the Amazon Connect Administrator\n Guide.

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

The Amazon AppIntegrations service enables you to configure and reuse connections to external\n applications.

\n

For information about how you can use external applications with Amazon Connect, see\n the following topics in the Amazon Connect Administrator\n Guide:

\n ", "smithy.api#title": "Amazon AppIntegrations Service", "smithy.rules#endpointRuleSet": { "version": "1.0", @@ -1092,7 +1098,7 @@ } ], "traits": { - "smithy.api#documentation": "

This API is in preview release and subject to change.

\n

Creates and persists an Application resource.

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

Creates and persists an Application resource.

", "smithy.api#examples": [ { "title": "To create an application", @@ -1249,6 +1255,113 @@ } } }, + "com.amazonaws.appintegrations#CreateDataIntegrationAssociation": { + "type": "operation", + "input": { + "target": "com.amazonaws.appintegrations#CreateDataIntegrationAssociationRequest" + }, + "output": { + "target": "com.amazonaws.appintegrations#CreateDataIntegrationAssociationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.appintegrations#AccessDeniedException" + }, + { + "target": "com.amazonaws.appintegrations#InternalServiceError" + }, + { + "target": "com.amazonaws.appintegrations#InvalidRequestException" + }, + { + "target": "com.amazonaws.appintegrations#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.appintegrations#ResourceQuotaExceededException" + }, + { + "target": "com.amazonaws.appintegrations#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates and persists a DataIntegrationAssociation resource.

", + "smithy.api#http": { + "method": "POST", + "uri": "/dataIntegrations/{DataIntegrationIdentifier}/associations", + "code": 200 + } + } + }, + "com.amazonaws.appintegrations#CreateDataIntegrationAssociationRequest": { + "type": "structure", + "members": { + "DataIntegrationIdentifier": { + "target": "com.amazonaws.appintegrations#Identifier", + "traits": { + "smithy.api#documentation": "

A unique identifier for the DataIntegration.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ClientId": { + "target": "com.amazonaws.appintegrations#ClientId", + "traits": { + "smithy.api#documentation": "

The identifier for the client that is associated with the DataIntegration\n association.

" + } + }, + "ObjectConfiguration": { + "target": "com.amazonaws.appintegrations#ObjectConfiguration" + }, + "DestinationURI": { + "target": "com.amazonaws.appintegrations#DestinationURI", + "traits": { + "smithy.api#documentation": "

The URI of the data destination.

" + } + }, + "ClientAssociationMetadata": { + "target": "com.amazonaws.appintegrations#ClientAssociationMetadata", + "traits": { + "smithy.api#documentation": "

The mapping of metadata to be extracted from the data.

" + } + }, + "ClientToken": { + "target": "com.amazonaws.appintegrations#IdempotencyToken", + "traits": { + "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If not provided, the Amazon Web Services\n SDK populates this field. For more information about idempotency, see\n Making retries safe with idempotent APIs.

", + "smithy.api#idempotencyToken": {} + } + }, + "ExecutionConfiguration": { + "target": "com.amazonaws.appintegrations#ExecutionConfiguration", + "traits": { + "smithy.api#documentation": "

The configuration for how the files should be pulled from the source.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.appintegrations#CreateDataIntegrationAssociationResponse": { + "type": "structure", + "members": { + "DataIntegrationAssociationId": { + "target": "com.amazonaws.appintegrations#UUID", + "traits": { + "smithy.api#documentation": "

A unique identifier. for the DataIntegrationAssociation.

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

The Amazon Resource Name (ARN) for the DataIntegration.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.appintegrations#CreateDataIntegrationRequest": { "type": "structure", "members": { @@ -1268,15 +1381,14 @@ "KmsKey": { "target": "com.amazonaws.appintegrations#NonBlankString", "traits": { - "smithy.api#documentation": "

The KMS key for the DataIntegration.

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

The KMS key ARN for the DataIntegration.

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

The URI of the data source.

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

The URI of the data source.

" } }, "ScheduleConfig": { @@ -1345,7 +1457,7 @@ "KmsKey": { "target": "com.amazonaws.appintegrations#NonBlankString", "traits": { - "smithy.api#documentation": "

The KMS key for the DataIntegration.

" + "smithy.api#documentation": "

The KMS key ARN for the DataIntegration.

" } }, "SourceURI": { @@ -1508,6 +1620,21 @@ "traits": { "smithy.api#documentation": "

The identifier for the client that is associated with the DataIntegration\n association.

" } + }, + "DestinationURI": { + "target": "com.amazonaws.appintegrations#DestinationURI", + "traits": { + "smithy.api#documentation": "

The URI of the data destination.

" + } + }, + "LastExecutionStatus": { + "target": "com.amazonaws.appintegrations#LastExecutionStatus", + "traits": { + "smithy.api#documentation": "

The execution status of the last job.

" + } + }, + "ExecutionConfiguration": { + "target": "com.amazonaws.appintegrations#ExecutionConfiguration" } }, "traits": { @@ -1590,7 +1717,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes the Application. Only Applications that don't have any Application Associations can be deleted.

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

Deletes the Application. Only Applications that don't have any Application Associations\n can be deleted.

", "smithy.api#examples": [ { "title": "To delete an application", @@ -1755,6 +1882,16 @@ "smithy.api#pattern": ".*" } }, + "com.amazonaws.appintegrations#DestinationURI": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1000 + }, + "smithy.api#pattern": "^(\\w+\\:\\/\\/[\\w.-]+[\\w/!@#+=.-]+$)|(\\w+\\:\\/\\/[\\w.-]+[\\w/!@#+=.-]+[\\w/!@#+=.-]+[\\w/!@#+=.,-]+$)$" + } + }, "com.amazonaws.appintegrations#DuplicateResourceException": { "type": "structure", "members": { @@ -1935,6 +2072,67 @@ "smithy.api#pattern": "^[a-zA-Z0-9\\/\\._\\-]+::[a-zA-Z0-9\\/\\._\\-]+(?:\\*)?$" } }, + "com.amazonaws.appintegrations#ExecutionConfiguration": { + "type": "structure", + "members": { + "ExecutionMode": { + "target": "com.amazonaws.appintegrations#ExecutionMode", + "traits": { + "smithy.api#documentation": "

The mode for data import/export execution.

", + "smithy.api#required": {} + } + }, + "OnDemandConfiguration": { + "target": "com.amazonaws.appintegrations#OnDemandConfiguration" + }, + "ScheduleConfiguration": { + "target": "com.amazonaws.appintegrations#ScheduleConfiguration" + } + }, + "traits": { + "smithy.api#documentation": "

The configuration for how the files should be pulled from the source.

" + } + }, + "com.amazonaws.appintegrations#ExecutionMode": { + "type": "enum", + "members": { + "ON_DEMAND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ON_DEMAND" + } + }, + "SCHEDULED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SCHEDULED" + } + } + } + }, + "com.amazonaws.appintegrations#ExecutionStatus": { + "type": "enum", + "members": { + "COMPLETED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "COMPLETED" + } + }, + "IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IN_PROGRESS" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + } + } + }, "com.amazonaws.appintegrations#ExternalUrlConfig": { "type": "structure", "members": { @@ -2046,7 +2244,7 @@ } ], "traits": { - "smithy.api#documentation": "

This API is in preview release and subject to change.

\n

Get an Application resource.

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

Get an Application resource.

", "smithy.api#examples": [ { "title": "To get an application", @@ -2249,13 +2447,13 @@ "Description": { "target": "com.amazonaws.appintegrations#Description", "traits": { - "smithy.api#documentation": "

The KMS key for the DataIntegration.

" + "smithy.api#documentation": "

The KMS key ARN for the DataIntegration.

" } }, "KmsKey": { "target": "com.amazonaws.appintegrations#NonBlankString", "traits": { - "smithy.api#documentation": "

The KMS key for the DataIntegration.

" + "smithy.api#documentation": "

The KMS key ARN for the DataIntegration.

" } }, "SourceURI": { @@ -2433,6 +2631,26 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.appintegrations#LastExecutionStatus": { + "type": "structure", + "members": { + "ExecutionStatus": { + "target": "com.amazonaws.appintegrations#ExecutionStatus", + "traits": { + "smithy.api#documentation": "

The job status enum string.

" + } + }, + "StatusMessage": { + "target": "com.amazonaws.appintegrations#NonBlankString", + "traits": { + "smithy.api#documentation": "

The status message of a job.

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

The execution status of the last job.

" + } + }, "com.amazonaws.appintegrations#ListApplicationAssociations": { "type": "operation", "input": { @@ -2565,7 +2783,7 @@ } ], "traits": { - "smithy.api#documentation": "

This API is in preview release and subject to change.

\n

Lists applications in the account.

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

Lists applications in the account.

", "smithy.api#examples": [ { "title": "To list applications in the account", @@ -3114,6 +3332,27 @@ "smithy.api#documentation": "

The configuration for what data should be pulled from the source.

" } }, + "com.amazonaws.appintegrations#OnDemandConfiguration": { + "type": "structure", + "members": { + "StartTime": { + "target": "com.amazonaws.appintegrations#NonBlankString", + "traits": { + "smithy.api#documentation": "

The start time for data pull from the source as an Unix/epoch string in\n milliseconds

", + "smithy.api#required": {} + } + }, + "EndTime": { + "target": "com.amazonaws.appintegrations#NonBlankString", + "traits": { + "smithy.api#documentation": "

The end time for data pull from the source as an Unix/epoch string in\n milliseconds

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

The start and end time for data pull from the source.

" + } + }, "com.amazonaws.appintegrations#Permission": { "type": "string", "traits": { @@ -3526,7 +3765,7 @@ } ], "traits": { - "smithy.api#documentation": "

This API is in preview release and subject to change.

\n

Updates and persists an Application resource.

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

Updates and persists an Application resource.

", "smithy.api#examples": [ { "title": "To update an application", @@ -3644,6 +3883,78 @@ } } }, + "com.amazonaws.appintegrations#UpdateDataIntegrationAssociation": { + "type": "operation", + "input": { + "target": "com.amazonaws.appintegrations#UpdateDataIntegrationAssociationRequest" + }, + "output": { + "target": "com.amazonaws.appintegrations#UpdateDataIntegrationAssociationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.appintegrations#AccessDeniedException" + }, + { + "target": "com.amazonaws.appintegrations#InternalServiceError" + }, + { + "target": "com.amazonaws.appintegrations#InvalidRequestException" + }, + { + "target": "com.amazonaws.appintegrations#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.appintegrations#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates and persists a DataIntegrationAssociation resource.

\n \n

\n Updating a DataIntegrationAssociation with ExecutionConfiguration will rerun the on-demand job.\n

\n
", + "smithy.api#http": { + "method": "PATCH", + "uri": "/dataIntegrations/{DataIntegrationIdentifier}/associations/{DataIntegrationAssociationIdentifier}", + "code": 200 + } + } + }, + "com.amazonaws.appintegrations#UpdateDataIntegrationAssociationRequest": { + "type": "structure", + "members": { + "DataIntegrationIdentifier": { + "target": "com.amazonaws.appintegrations#Identifier", + "traits": { + "smithy.api#documentation": "

A unique identifier for the DataIntegration.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "DataIntegrationAssociationIdentifier": { + "target": "com.amazonaws.appintegrations#Identifier", + "traits": { + "smithy.api#documentation": "

A unique identifier. of the DataIntegrationAssociation resource

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ExecutionConfiguration": { + "target": "com.amazonaws.appintegrations#ExecutionConfiguration", + "traits": { + "smithy.api#documentation": "

The configuration for how the files should be pulled from the source.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.appintegrations#UpdateDataIntegrationAssociationResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.appintegrations#UpdateDataIntegrationRequest": { "type": "structure", "members": {