diff --git a/clients/client-appintegrations/README.md b/clients/client-appintegrations/README.md index ac111c962f2c..b66edccb7af9 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: ++Third-party +applications (3p apps) in the agent workspace +
++Use +Amazon Q in Connect for generative AI–powered agent assistance in +real-time +
+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: + *+ * Third-party + * applications (3p apps) in the agent workspace + *
+ *+ * Use + * Amazon Q in Connect for generative AI–powered agent assistance in + * real-time + *
+ *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: + *+ * Third-party + * applications (3p apps) in the agent workspace + *
+ *+ * Use + * Amazon Q in Connect for generative AI–powered agent assistance in + * real-time + *
+ *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 000000000000..ea61a0231d75 --- /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 + * "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 0dee2bf5a95f..d097b29ed4f7 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 db77a50959e9..0475c06f5521 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 13638aeaa6e6..6374342b0d68 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 5d7ab6114c1a..ecbe5d6fba2e 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 bf2252bf47ce..48a3aa5bea7b 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 9f7dc091baff..59bc19538f6f 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 000000000000..df52908f8a26 --- /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. + *
+ *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 4a0c11c5b492..89d4601b0ed9 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 96b8e6118701..bbb2d154c3f8 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: + *+ * Third-party + * applications (3p apps) in the agent workspace + *
+ *+ * Use + * Amazon Q in Connect for generative AI–powered agent assistance in + * real-time + *
+ *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?: RecordThe 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?: RecordThe URI of the data destination.
+ * @public + */ + DestinationURI?: string; + + /** + *The mapping of metadata to be extracted from the data.
+ * @public + */ + ClientAssociationMetadata?: RecordA 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: __ExceptionOptionTypeThe 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: __ExceptionOptionTypeThe 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 cf3819d30242..e4828160fe83 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 +): PromiseThe Amazon AppIntegrations service enables you to configure and reuse connections to external\n applications.
\nFor 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": "The Amazon AppIntegrations service enables you to configure and reuse connections to external\n applications.
\nFor information about how you can use external applications with Amazon Connect, see\n the following topics in the Amazon Connect Administrator\n Guide:
\n\n Third-party\n applications (3p apps) in the agent workspace\n
\n\n Use\n Amazon Q in Connect for generative AI–powered agent assistance in\n real-time\n
\nThis API is in preview release and subject to change.
\nCreates 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.
\nGet 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.
\nLists 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.
\nUpdates 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 Updating a DataIntegrationAssociation with ExecutionConfiguration will rerun the on-demand job.\n
\nA 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": {