From 1812f5fef6da77a38e393c77015d5c0f24d676d6 Mon Sep 17 00:00:00 2001 From: awstools Date: Mon, 18 Nov 2024 19:20:41 +0000 Subject: [PATCH] feat(client-qconnect): This release introduces MessageTemplate as a resource in Amazon Q in Connect, along with APIs to create, read, search, update, and delete MessageTemplate resources. --- clients/client-qconnect/README.md | 112 + clients/client-qconnect/src/QConnect.ts | 322 + clients/client-qconnect/src/QConnectClient.ts | 81 + .../ActivateMessageTemplateCommand.ts | 117 + .../CreateMessageTemplateAttachmentCommand.ts | 143 + .../commands/CreateMessageTemplateCommand.ts | 373 + .../CreateMessageTemplateVersionCommand.ts | 277 + .../DeactivateMessageTemplateCommand.ts | 116 + .../DeleteMessageTemplateAttachmentCommand.ts | 117 + .../commands/DeleteMessageTemplateCommand.ts | 113 + .../src/commands/GetMessageTemplateCommand.ts | 256 + .../src/commands/GetRecommendationsCommand.ts | 7 +- .../ListMessageTemplateVersionsCommand.ts | 125 + .../commands/ListMessageTemplatesCommand.ts | 125 + .../commands/ListTagsForResourceCommand.ts | 2 +- .../src/commands/QueryAssistantCommand.ts | 8 +- .../RemoveKnowledgeBaseTemplateUriCommand.ts | 3 +- .../commands/RenderMessageTemplateCommand.ts | 232 + .../src/commands/SearchContentCommand.ts | 2 +- .../commands/SearchMessageTemplatesCommand.ts | 163 + .../commands/SearchQuickResponsesCommand.ts | 2 +- .../src/commands/StartContentUploadCommand.ts | 2 +- .../src/commands/StartImportJobCommand.ts | 2 +- .../src/commands/TagResourceCommand.ts | 2 +- .../src/commands/UntagResourceCommand.ts | 2 +- .../UpdateKnowledgeBaseTemplateUriCommand.ts | 2 +- .../commands/UpdateMessageTemplateCommand.ts | 358 + .../UpdateMessageTemplateMetadataCommand.ts | 264 + clients/client-qconnect/src/commands/index.ts | 14 + clients/client-qconnect/src/models/index.ts | 1 + .../client-qconnect/src/models/models_0.ts | 3405 +++++--- .../client-qconnect/src/models/models_1.ts | 1541 ++++ .../ListMessageTemplateVersionsPaginator.ts | 24 + .../ListMessageTemplatesPaginator.ts | 24 + .../SearchMessageTemplatesPaginator.ts | 24 + .../client-qconnect/src/pagination/index.ts | 3 + .../src/protocols/Aws_restJson1.ts | 969 ++- codegen/sdk-codegen/aws-models/qconnect.json | 7559 ++++++++++++----- 38 files changed, 13272 insertions(+), 3620 deletions(-) create mode 100644 clients/client-qconnect/src/commands/ActivateMessageTemplateCommand.ts create mode 100644 clients/client-qconnect/src/commands/CreateMessageTemplateAttachmentCommand.ts create mode 100644 clients/client-qconnect/src/commands/CreateMessageTemplateCommand.ts create mode 100644 clients/client-qconnect/src/commands/CreateMessageTemplateVersionCommand.ts create mode 100644 clients/client-qconnect/src/commands/DeactivateMessageTemplateCommand.ts create mode 100644 clients/client-qconnect/src/commands/DeleteMessageTemplateAttachmentCommand.ts create mode 100644 clients/client-qconnect/src/commands/DeleteMessageTemplateCommand.ts create mode 100644 clients/client-qconnect/src/commands/GetMessageTemplateCommand.ts create mode 100644 clients/client-qconnect/src/commands/ListMessageTemplateVersionsCommand.ts create mode 100644 clients/client-qconnect/src/commands/ListMessageTemplatesCommand.ts create mode 100644 clients/client-qconnect/src/commands/RenderMessageTemplateCommand.ts create mode 100644 clients/client-qconnect/src/commands/SearchMessageTemplatesCommand.ts create mode 100644 clients/client-qconnect/src/commands/UpdateMessageTemplateCommand.ts create mode 100644 clients/client-qconnect/src/commands/UpdateMessageTemplateMetadataCommand.ts create mode 100644 clients/client-qconnect/src/models/models_1.ts create mode 100644 clients/client-qconnect/src/pagination/ListMessageTemplateVersionsPaginator.ts create mode 100644 clients/client-qconnect/src/pagination/ListMessageTemplatesPaginator.ts create mode 100644 clients/client-qconnect/src/pagination/SearchMessageTemplatesPaginator.ts diff --git a/clients/client-qconnect/README.md b/clients/client-qconnect/README.md index c7839bf9d78f..2d40a6337440 100644 --- a/clients/client-qconnect/README.md +++ b/clients/client-qconnect/README.md @@ -236,6 +236,14 @@ see LICENSE for more information. ## Client Commands (Operations List) +
+ +ActivateMessageTemplate + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/ActivateMessageTemplateCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/ActivateMessageTemplateCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/ActivateMessageTemplateCommandOutput/) + +
CreateAIAgent @@ -307,6 +315,30 @@ CreateKnowledgeBase [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/CreateKnowledgeBaseCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/CreateKnowledgeBaseCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/CreateKnowledgeBaseCommandOutput/) +
+
+ +CreateMessageTemplate + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/CreateMessageTemplateCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/CreateMessageTemplateCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/CreateMessageTemplateCommandOutput/) + +
+
+ +CreateMessageTemplateAttachment + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/CreateMessageTemplateAttachmentCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/CreateMessageTemplateAttachmentCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/CreateMessageTemplateAttachmentCommandOutput/) + +
+
+ +CreateMessageTemplateVersion + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/CreateMessageTemplateVersionCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/CreateMessageTemplateVersionCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/CreateMessageTemplateVersionCommandOutput/) +
@@ -323,6 +355,14 @@ CreateSession [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/CreateSessionCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/CreateSessionCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/CreateSessionCommandOutput/) +
+
+ +DeactivateMessageTemplate + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/DeactivateMessageTemplateCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/DeactivateMessageTemplateCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/DeactivateMessageTemplateCommandOutput/) +
@@ -403,6 +443,22 @@ DeleteKnowledgeBase [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/DeleteKnowledgeBaseCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/DeleteKnowledgeBaseCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/DeleteKnowledgeBaseCommandOutput/) +
+
+ +DeleteMessageTemplate + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/DeleteMessageTemplateCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/DeleteMessageTemplateCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/DeleteMessageTemplateCommandOutput/) + +
+
+ +DeleteMessageTemplateAttachment + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/DeleteMessageTemplateAttachmentCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/DeleteMessageTemplateAttachmentCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/DeleteMessageTemplateAttachmentCommandOutput/) +
@@ -483,6 +539,14 @@ GetKnowledgeBase [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/GetKnowledgeBaseCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/GetKnowledgeBaseCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/GetKnowledgeBaseCommandOutput/) +
+
+ +GetMessageTemplate + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/GetMessageTemplateCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/GetMessageTemplateCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/GetMessageTemplateCommandOutput/) +
@@ -587,6 +651,22 @@ ListKnowledgeBases [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/ListKnowledgeBasesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/ListKnowledgeBasesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/ListKnowledgeBasesCommandOutput/) +
+
+ +ListMessageTemplates + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/ListMessageTemplatesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/ListMessageTemplatesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/ListMessageTemplatesCommandOutput/) + +
+
+ +ListMessageTemplateVersions + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/ListMessageTemplateVersionsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/ListMessageTemplateVersionsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/ListMessageTemplateVersionsCommandOutput/) +
@@ -643,6 +723,14 @@ RemoveKnowledgeBaseTemplateUri [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/RemoveKnowledgeBaseTemplateUriCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/RemoveKnowledgeBaseTemplateUriCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/RemoveKnowledgeBaseTemplateUriCommandOutput/) +
+
+ +RenderMessageTemplate + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/RenderMessageTemplateCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/RenderMessageTemplateCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/RenderMessageTemplateCommandOutput/) +
@@ -651,6 +739,14 @@ SearchContent [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/SearchContentCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/SearchContentCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/SearchContentCommandOutput/) +
+
+ +SearchMessageTemplates + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/SearchMessageTemplatesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/SearchMessageTemplatesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/SearchMessageTemplatesCommandOutput/) +
@@ -739,6 +835,22 @@ UpdateKnowledgeBaseTemplateUri [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/UpdateKnowledgeBaseTemplateUriCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/UpdateKnowledgeBaseTemplateUriCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/UpdateKnowledgeBaseTemplateUriCommandOutput/) +
+
+ +UpdateMessageTemplate + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/UpdateMessageTemplateCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/UpdateMessageTemplateCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/UpdateMessageTemplateCommandOutput/) + +
+
+ +UpdateMessageTemplateMetadata + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/UpdateMessageTemplateMetadataCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/UpdateMessageTemplateMetadataCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/UpdateMessageTemplateMetadataCommandOutput/) +
diff --git a/clients/client-qconnect/src/QConnect.ts b/clients/client-qconnect/src/QConnect.ts index d9e8fa49a579..27de234f5014 100644 --- a/clients/client-qconnect/src/QConnect.ts +++ b/clients/client-qconnect/src/QConnect.ts @@ -2,6 +2,11 @@ import { createAggregatedClient } from "@smithy/smithy-client"; import { HttpHandlerOptions as __HttpHandlerOptions } from "@smithy/types"; +import { + ActivateMessageTemplateCommand, + ActivateMessageTemplateCommandInput, + ActivateMessageTemplateCommandOutput, +} from "./commands/ActivateMessageTemplateCommand"; import { CreateAIAgentCommand, CreateAIAgentCommandInput, @@ -47,6 +52,21 @@ import { CreateKnowledgeBaseCommandInput, CreateKnowledgeBaseCommandOutput, } from "./commands/CreateKnowledgeBaseCommand"; +import { + CreateMessageTemplateAttachmentCommand, + CreateMessageTemplateAttachmentCommandInput, + CreateMessageTemplateAttachmentCommandOutput, +} from "./commands/CreateMessageTemplateAttachmentCommand"; +import { + CreateMessageTemplateCommand, + CreateMessageTemplateCommandInput, + CreateMessageTemplateCommandOutput, +} from "./commands/CreateMessageTemplateCommand"; +import { + CreateMessageTemplateVersionCommand, + CreateMessageTemplateVersionCommandInput, + CreateMessageTemplateVersionCommandOutput, +} from "./commands/CreateMessageTemplateVersionCommand"; import { CreateQuickResponseCommand, CreateQuickResponseCommandInput, @@ -57,6 +77,11 @@ import { CreateSessionCommandInput, CreateSessionCommandOutput, } from "./commands/CreateSessionCommand"; +import { + DeactivateMessageTemplateCommand, + DeactivateMessageTemplateCommandInput, + DeactivateMessageTemplateCommandOutput, +} from "./commands/DeactivateMessageTemplateCommand"; import { DeleteAIAgentCommand, DeleteAIAgentCommandInput, @@ -107,6 +132,16 @@ import { DeleteKnowledgeBaseCommandInput, DeleteKnowledgeBaseCommandOutput, } from "./commands/DeleteKnowledgeBaseCommand"; +import { + DeleteMessageTemplateAttachmentCommand, + DeleteMessageTemplateAttachmentCommandInput, + DeleteMessageTemplateAttachmentCommandOutput, +} from "./commands/DeleteMessageTemplateAttachmentCommand"; +import { + DeleteMessageTemplateCommand, + DeleteMessageTemplateCommandInput, + DeleteMessageTemplateCommandOutput, +} from "./commands/DeleteMessageTemplateCommand"; import { DeleteQuickResponseCommand, DeleteQuickResponseCommandInput, @@ -145,6 +180,11 @@ import { GetKnowledgeBaseCommandInput, GetKnowledgeBaseCommandOutput, } from "./commands/GetKnowledgeBaseCommand"; +import { + GetMessageTemplateCommand, + GetMessageTemplateCommandInput, + GetMessageTemplateCommandOutput, +} from "./commands/GetMessageTemplateCommand"; import { GetQuickResponseCommand, GetQuickResponseCommandInput, @@ -206,6 +246,16 @@ import { ListKnowledgeBasesCommandInput, ListKnowledgeBasesCommandOutput, } from "./commands/ListKnowledgeBasesCommand"; +import { + ListMessageTemplatesCommand, + ListMessageTemplatesCommandInput, + ListMessageTemplatesCommandOutput, +} from "./commands/ListMessageTemplatesCommand"; +import { + ListMessageTemplateVersionsCommand, + ListMessageTemplateVersionsCommandInput, + ListMessageTemplateVersionsCommandOutput, +} from "./commands/ListMessageTemplateVersionsCommand"; import { ListQuickResponsesCommand, ListQuickResponsesCommandInput, @@ -237,11 +287,21 @@ import { RemoveKnowledgeBaseTemplateUriCommandInput, RemoveKnowledgeBaseTemplateUriCommandOutput, } from "./commands/RemoveKnowledgeBaseTemplateUriCommand"; +import { + RenderMessageTemplateCommand, + RenderMessageTemplateCommandInput, + RenderMessageTemplateCommandOutput, +} from "./commands/RenderMessageTemplateCommand"; import { SearchContentCommand, SearchContentCommandInput, SearchContentCommandOutput, } from "./commands/SearchContentCommand"; +import { + SearchMessageTemplatesCommand, + SearchMessageTemplatesCommandInput, + SearchMessageTemplatesCommandOutput, +} from "./commands/SearchMessageTemplatesCommand"; import { SearchQuickResponsesCommand, SearchQuickResponsesCommandInput, @@ -293,6 +353,16 @@ import { UpdateKnowledgeBaseTemplateUriCommandInput, UpdateKnowledgeBaseTemplateUriCommandOutput, } from "./commands/UpdateKnowledgeBaseTemplateUriCommand"; +import { + UpdateMessageTemplateCommand, + UpdateMessageTemplateCommandInput, + UpdateMessageTemplateCommandOutput, +} from "./commands/UpdateMessageTemplateCommand"; +import { + UpdateMessageTemplateMetadataCommand, + UpdateMessageTemplateMetadataCommandInput, + UpdateMessageTemplateMetadataCommandOutput, +} from "./commands/UpdateMessageTemplateMetadataCommand"; import { UpdateQuickResponseCommand, UpdateQuickResponseCommandInput, @@ -311,6 +381,7 @@ import { import { QConnectClient, QConnectClientConfig } from "./QConnectClient"; const commands = { + ActivateMessageTemplateCommand, CreateAIAgentCommand, CreateAIAgentVersionCommand, CreateAIPromptCommand, @@ -320,8 +391,12 @@ const commands = { CreateContentCommand, CreateContentAssociationCommand, CreateKnowledgeBaseCommand, + CreateMessageTemplateCommand, + CreateMessageTemplateAttachmentCommand, + CreateMessageTemplateVersionCommand, CreateQuickResponseCommand, CreateSessionCommand, + DeactivateMessageTemplateCommand, DeleteAIAgentCommand, DeleteAIAgentVersionCommand, DeleteAIPromptCommand, @@ -332,6 +407,8 @@ const commands = { DeleteContentAssociationCommand, DeleteImportJobCommand, DeleteKnowledgeBaseCommand, + DeleteMessageTemplateCommand, + DeleteMessageTemplateAttachmentCommand, DeleteQuickResponseCommand, GetAIAgentCommand, GetAIPromptCommand, @@ -342,6 +419,7 @@ const commands = { GetContentSummaryCommand, GetImportJobCommand, GetKnowledgeBaseCommand, + GetMessageTemplateCommand, GetQuickResponseCommand, GetRecommendationsCommand, GetSessionCommand, @@ -355,6 +433,8 @@ const commands = { ListContentsCommand, ListImportJobsCommand, ListKnowledgeBasesCommand, + ListMessageTemplatesCommand, + ListMessageTemplateVersionsCommand, ListQuickResponsesCommand, ListTagsForResourceCommand, NotifyRecommendationsReceivedCommand, @@ -362,7 +442,9 @@ const commands = { QueryAssistantCommand, RemoveAssistantAIAgentCommand, RemoveKnowledgeBaseTemplateUriCommand, + RenderMessageTemplateCommand, SearchContentCommand, + SearchMessageTemplatesCommand, SearchQuickResponsesCommand, SearchSessionsCommand, StartContentUploadCommand, @@ -374,12 +456,31 @@ const commands = { UpdateAssistantAIAgentCommand, UpdateContentCommand, UpdateKnowledgeBaseTemplateUriCommand, + UpdateMessageTemplateCommand, + UpdateMessageTemplateMetadataCommand, UpdateQuickResponseCommand, UpdateSessionCommand, UpdateSessionDataCommand, }; export interface QConnect { + /** + * @see {@link ActivateMessageTemplateCommand} + */ + activateMessageTemplate( + args: ActivateMessageTemplateCommandInput, + options?: __HttpHandlerOptions + ): Promise; + activateMessageTemplate( + args: ActivateMessageTemplateCommandInput, + cb: (err: any, data?: ActivateMessageTemplateCommandOutput) => void + ): void; + activateMessageTemplate( + args: ActivateMessageTemplateCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ActivateMessageTemplateCommandOutput) => void + ): void; + /** * @see {@link CreateAIAgentCommand} */ @@ -515,6 +616,57 @@ export interface QConnect { cb: (err: any, data?: CreateKnowledgeBaseCommandOutput) => void ): void; + /** + * @see {@link CreateMessageTemplateCommand} + */ + createMessageTemplate( + args: CreateMessageTemplateCommandInput, + options?: __HttpHandlerOptions + ): Promise; + createMessageTemplate( + args: CreateMessageTemplateCommandInput, + cb: (err: any, data?: CreateMessageTemplateCommandOutput) => void + ): void; + createMessageTemplate( + args: CreateMessageTemplateCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateMessageTemplateCommandOutput) => void + ): void; + + /** + * @see {@link CreateMessageTemplateAttachmentCommand} + */ + createMessageTemplateAttachment( + args: CreateMessageTemplateAttachmentCommandInput, + options?: __HttpHandlerOptions + ): Promise; + createMessageTemplateAttachment( + args: CreateMessageTemplateAttachmentCommandInput, + cb: (err: any, data?: CreateMessageTemplateAttachmentCommandOutput) => void + ): void; + createMessageTemplateAttachment( + args: CreateMessageTemplateAttachmentCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateMessageTemplateAttachmentCommandOutput) => void + ): void; + + /** + * @see {@link CreateMessageTemplateVersionCommand} + */ + createMessageTemplateVersion( + args: CreateMessageTemplateVersionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + createMessageTemplateVersion( + args: CreateMessageTemplateVersionCommandInput, + cb: (err: any, data?: CreateMessageTemplateVersionCommandOutput) => void + ): void; + createMessageTemplateVersion( + args: CreateMessageTemplateVersionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateMessageTemplateVersionCommandOutput) => void + ): void; + /** * @see {@link CreateQuickResponseCommand} */ @@ -543,6 +695,23 @@ export interface QConnect { cb: (err: any, data?: CreateSessionCommandOutput) => void ): void; + /** + * @see {@link DeactivateMessageTemplateCommand} + */ + deactivateMessageTemplate( + args: DeactivateMessageTemplateCommandInput, + options?: __HttpHandlerOptions + ): Promise; + deactivateMessageTemplate( + args: DeactivateMessageTemplateCommandInput, + cb: (err: any, data?: DeactivateMessageTemplateCommandOutput) => void + ): void; + deactivateMessageTemplate( + args: DeactivateMessageTemplateCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeactivateMessageTemplateCommandOutput) => void + ): void; + /** * @see {@link DeleteAIAgentCommand} */ @@ -692,6 +861,40 @@ export interface QConnect { cb: (err: any, data?: DeleteKnowledgeBaseCommandOutput) => void ): void; + /** + * @see {@link DeleteMessageTemplateCommand} + */ + deleteMessageTemplate( + args: DeleteMessageTemplateCommandInput, + options?: __HttpHandlerOptions + ): Promise; + deleteMessageTemplate( + args: DeleteMessageTemplateCommandInput, + cb: (err: any, data?: DeleteMessageTemplateCommandOutput) => void + ): void; + deleteMessageTemplate( + args: DeleteMessageTemplateCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteMessageTemplateCommandOutput) => void + ): void; + + /** + * @see {@link DeleteMessageTemplateAttachmentCommand} + */ + deleteMessageTemplateAttachment( + args: DeleteMessageTemplateAttachmentCommandInput, + options?: __HttpHandlerOptions + ): Promise; + deleteMessageTemplateAttachment( + args: DeleteMessageTemplateAttachmentCommandInput, + cb: (err: any, data?: DeleteMessageTemplateAttachmentCommandOutput) => void + ): void; + deleteMessageTemplateAttachment( + args: DeleteMessageTemplateAttachmentCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteMessageTemplateAttachmentCommandOutput) => void + ): void; + /** * @see {@link DeleteQuickResponseCommand} */ @@ -832,6 +1035,23 @@ export interface QConnect { cb: (err: any, data?: GetKnowledgeBaseCommandOutput) => void ): void; + /** + * @see {@link GetMessageTemplateCommand} + */ + getMessageTemplate( + args: GetMessageTemplateCommandInput, + options?: __HttpHandlerOptions + ): Promise; + getMessageTemplate( + args: GetMessageTemplateCommandInput, + cb: (err: any, data?: GetMessageTemplateCommandOutput) => void + ): void; + getMessageTemplate( + args: GetMessageTemplateCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetMessageTemplateCommandOutput) => void + ): void; + /** * @see {@link GetQuickResponseCommand} */ @@ -1025,6 +1245,40 @@ export interface QConnect { cb: (err: any, data?: ListKnowledgeBasesCommandOutput) => void ): void; + /** + * @see {@link ListMessageTemplatesCommand} + */ + listMessageTemplates( + args: ListMessageTemplatesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + listMessageTemplates( + args: ListMessageTemplatesCommandInput, + cb: (err: any, data?: ListMessageTemplatesCommandOutput) => void + ): void; + listMessageTemplates( + args: ListMessageTemplatesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListMessageTemplatesCommandOutput) => void + ): void; + + /** + * @see {@link ListMessageTemplateVersionsCommand} + */ + listMessageTemplateVersions( + args: ListMessageTemplateVersionsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + listMessageTemplateVersions( + args: ListMessageTemplateVersionsCommandInput, + cb: (err: any, data?: ListMessageTemplateVersionsCommandOutput) => void + ): void; + listMessageTemplateVersions( + args: ListMessageTemplateVersionsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListMessageTemplateVersionsCommandOutput) => void + ): void; + /** * @see {@link ListQuickResponsesCommand} */ @@ -1135,6 +1389,23 @@ export interface QConnect { cb: (err: any, data?: RemoveKnowledgeBaseTemplateUriCommandOutput) => void ): void; + /** + * @see {@link RenderMessageTemplateCommand} + */ + renderMessageTemplate( + args: RenderMessageTemplateCommandInput, + options?: __HttpHandlerOptions + ): Promise; + renderMessageTemplate( + args: RenderMessageTemplateCommandInput, + cb: (err: any, data?: RenderMessageTemplateCommandOutput) => void + ): void; + renderMessageTemplate( + args: RenderMessageTemplateCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: RenderMessageTemplateCommandOutput) => void + ): void; + /** * @see {@link SearchContentCommand} */ @@ -1146,6 +1417,23 @@ export interface QConnect { cb: (err: any, data?: SearchContentCommandOutput) => void ): void; + /** + * @see {@link SearchMessageTemplatesCommand} + */ + searchMessageTemplates( + args: SearchMessageTemplatesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + searchMessageTemplates( + args: SearchMessageTemplatesCommandInput, + cb: (err: any, data?: SearchMessageTemplatesCommandOutput) => void + ): void; + searchMessageTemplates( + args: SearchMessageTemplatesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: SearchMessageTemplatesCommandOutput) => void + ): void; + /** * @see {@link SearchQuickResponsesCommand} */ @@ -1300,6 +1588,40 @@ export interface QConnect { cb: (err: any, data?: UpdateKnowledgeBaseTemplateUriCommandOutput) => void ): void; + /** + * @see {@link UpdateMessageTemplateCommand} + */ + updateMessageTemplate( + args: UpdateMessageTemplateCommandInput, + options?: __HttpHandlerOptions + ): Promise; + updateMessageTemplate( + args: UpdateMessageTemplateCommandInput, + cb: (err: any, data?: UpdateMessageTemplateCommandOutput) => void + ): void; + updateMessageTemplate( + args: UpdateMessageTemplateCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateMessageTemplateCommandOutput) => void + ): void; + + /** + * @see {@link UpdateMessageTemplateMetadataCommand} + */ + updateMessageTemplateMetadata( + args: UpdateMessageTemplateMetadataCommandInput, + options?: __HttpHandlerOptions + ): Promise; + updateMessageTemplateMetadata( + args: UpdateMessageTemplateMetadataCommandInput, + cb: (err: any, data?: UpdateMessageTemplateMetadataCommandOutput) => void + ): void; + updateMessageTemplateMetadata( + args: UpdateMessageTemplateMetadataCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateMessageTemplateMetadataCommandOutput) => void + ): void; + /** * @see {@link UpdateQuickResponseCommand} */ diff --git a/clients/client-qconnect/src/QConnectClient.ts b/clients/client-qconnect/src/QConnectClient.ts index 43856e45530a..2c78bc383f04 100644 --- a/clients/client-qconnect/src/QConnectClient.ts +++ b/clients/client-qconnect/src/QConnectClient.ts @@ -53,6 +53,10 @@ import { HttpAuthSchemeResolvedConfig, resolveHttpAuthSchemeConfig, } from "./auth/httpAuthSchemeProvider"; +import { + ActivateMessageTemplateCommandInput, + ActivateMessageTemplateCommandOutput, +} from "./commands/ActivateMessageTemplateCommand"; import { CreateAIAgentCommandInput, CreateAIAgentCommandOutput } from "./commands/CreateAIAgentCommand"; import { CreateAIAgentVersionCommandInput, @@ -77,11 +81,27 @@ import { CreateKnowledgeBaseCommandInput, CreateKnowledgeBaseCommandOutput, } from "./commands/CreateKnowledgeBaseCommand"; +import { + CreateMessageTemplateAttachmentCommandInput, + CreateMessageTemplateAttachmentCommandOutput, +} from "./commands/CreateMessageTemplateAttachmentCommand"; +import { + CreateMessageTemplateCommandInput, + CreateMessageTemplateCommandOutput, +} from "./commands/CreateMessageTemplateCommand"; +import { + CreateMessageTemplateVersionCommandInput, + CreateMessageTemplateVersionCommandOutput, +} from "./commands/CreateMessageTemplateVersionCommand"; import { CreateQuickResponseCommandInput, CreateQuickResponseCommandOutput, } from "./commands/CreateQuickResponseCommand"; import { CreateSessionCommandInput, CreateSessionCommandOutput } from "./commands/CreateSessionCommand"; +import { + DeactivateMessageTemplateCommandInput, + DeactivateMessageTemplateCommandOutput, +} from "./commands/DeactivateMessageTemplateCommand"; import { DeleteAIAgentCommandInput, DeleteAIAgentCommandOutput } from "./commands/DeleteAIAgentCommand"; import { DeleteAIAgentVersionCommandInput, @@ -107,6 +127,14 @@ import { DeleteKnowledgeBaseCommandInput, DeleteKnowledgeBaseCommandOutput, } from "./commands/DeleteKnowledgeBaseCommand"; +import { + DeleteMessageTemplateAttachmentCommandInput, + DeleteMessageTemplateAttachmentCommandOutput, +} from "./commands/DeleteMessageTemplateAttachmentCommand"; +import { + DeleteMessageTemplateCommandInput, + DeleteMessageTemplateCommandOutput, +} from "./commands/DeleteMessageTemplateCommand"; import { DeleteQuickResponseCommandInput, DeleteQuickResponseCommandOutput, @@ -126,6 +154,7 @@ import { GetContentCommandInput, GetContentCommandOutput } from "./commands/GetC import { GetContentSummaryCommandInput, GetContentSummaryCommandOutput } from "./commands/GetContentSummaryCommand"; import { GetImportJobCommandInput, GetImportJobCommandOutput } from "./commands/GetImportJobCommand"; import { GetKnowledgeBaseCommandInput, GetKnowledgeBaseCommandOutput } from "./commands/GetKnowledgeBaseCommand"; +import { GetMessageTemplateCommandInput, GetMessageTemplateCommandOutput } from "./commands/GetMessageTemplateCommand"; import { GetQuickResponseCommandInput, GetQuickResponseCommandOutput } from "./commands/GetQuickResponseCommand"; import { GetRecommendationsCommandInput, GetRecommendationsCommandOutput } from "./commands/GetRecommendationsCommand"; import { GetSessionCommandInput, GetSessionCommandOutput } from "./commands/GetSessionCommand"; @@ -151,6 +180,14 @@ import { import { ListContentsCommandInput, ListContentsCommandOutput } from "./commands/ListContentsCommand"; import { ListImportJobsCommandInput, ListImportJobsCommandOutput } from "./commands/ListImportJobsCommand"; import { ListKnowledgeBasesCommandInput, ListKnowledgeBasesCommandOutput } from "./commands/ListKnowledgeBasesCommand"; +import { + ListMessageTemplatesCommandInput, + ListMessageTemplatesCommandOutput, +} from "./commands/ListMessageTemplatesCommand"; +import { + ListMessageTemplateVersionsCommandInput, + ListMessageTemplateVersionsCommandOutput, +} from "./commands/ListMessageTemplateVersionsCommand"; import { ListQuickResponsesCommandInput, ListQuickResponsesCommandOutput } from "./commands/ListQuickResponsesCommand"; import { ListTagsForResourceCommandInput, @@ -170,7 +207,15 @@ import { RemoveKnowledgeBaseTemplateUriCommandInput, RemoveKnowledgeBaseTemplateUriCommandOutput, } from "./commands/RemoveKnowledgeBaseTemplateUriCommand"; +import { + RenderMessageTemplateCommandInput, + RenderMessageTemplateCommandOutput, +} from "./commands/RenderMessageTemplateCommand"; import { SearchContentCommandInput, SearchContentCommandOutput } from "./commands/SearchContentCommand"; +import { + SearchMessageTemplatesCommandInput, + SearchMessageTemplatesCommandOutput, +} from "./commands/SearchMessageTemplatesCommand"; import { SearchQuickResponsesCommandInput, SearchQuickResponsesCommandOutput, @@ -191,6 +236,14 @@ import { UpdateKnowledgeBaseTemplateUriCommandInput, UpdateKnowledgeBaseTemplateUriCommandOutput, } from "./commands/UpdateKnowledgeBaseTemplateUriCommand"; +import { + UpdateMessageTemplateCommandInput, + UpdateMessageTemplateCommandOutput, +} from "./commands/UpdateMessageTemplateCommand"; +import { + UpdateMessageTemplateMetadataCommandInput, + UpdateMessageTemplateMetadataCommandOutput, +} from "./commands/UpdateMessageTemplateMetadataCommand"; import { UpdateQuickResponseCommandInput, UpdateQuickResponseCommandOutput, @@ -212,6 +265,7 @@ export { __Client }; * @public */ export type ServiceInputTypes = + | ActivateMessageTemplateCommandInput | CreateAIAgentCommandInput | CreateAIAgentVersionCommandInput | CreateAIPromptCommandInput @@ -221,8 +275,12 @@ export type ServiceInputTypes = | CreateContentAssociationCommandInput | CreateContentCommandInput | CreateKnowledgeBaseCommandInput + | CreateMessageTemplateAttachmentCommandInput + | CreateMessageTemplateCommandInput + | CreateMessageTemplateVersionCommandInput | CreateQuickResponseCommandInput | CreateSessionCommandInput + | DeactivateMessageTemplateCommandInput | DeleteAIAgentCommandInput | DeleteAIAgentVersionCommandInput | DeleteAIPromptCommandInput @@ -233,6 +291,8 @@ export type ServiceInputTypes = | DeleteContentCommandInput | DeleteImportJobCommandInput | DeleteKnowledgeBaseCommandInput + | DeleteMessageTemplateAttachmentCommandInput + | DeleteMessageTemplateCommandInput | DeleteQuickResponseCommandInput | GetAIAgentCommandInput | GetAIPromptCommandInput @@ -243,6 +303,7 @@ export type ServiceInputTypes = | GetContentSummaryCommandInput | GetImportJobCommandInput | GetKnowledgeBaseCommandInput + | GetMessageTemplateCommandInput | GetQuickResponseCommandInput | GetRecommendationsCommandInput | GetSessionCommandInput @@ -256,6 +317,8 @@ export type ServiceInputTypes = | ListContentsCommandInput | ListImportJobsCommandInput | ListKnowledgeBasesCommandInput + | ListMessageTemplateVersionsCommandInput + | ListMessageTemplatesCommandInput | ListQuickResponsesCommandInput | ListTagsForResourceCommandInput | NotifyRecommendationsReceivedCommandInput @@ -263,7 +326,9 @@ export type ServiceInputTypes = | QueryAssistantCommandInput | RemoveAssistantAIAgentCommandInput | RemoveKnowledgeBaseTemplateUriCommandInput + | RenderMessageTemplateCommandInput | SearchContentCommandInput + | SearchMessageTemplatesCommandInput | SearchQuickResponsesCommandInput | SearchSessionsCommandInput | StartContentUploadCommandInput @@ -275,6 +340,8 @@ export type ServiceInputTypes = | UpdateAssistantAIAgentCommandInput | UpdateContentCommandInput | UpdateKnowledgeBaseTemplateUriCommandInput + | UpdateMessageTemplateCommandInput + | UpdateMessageTemplateMetadataCommandInput | UpdateQuickResponseCommandInput | UpdateSessionCommandInput | UpdateSessionDataCommandInput; @@ -283,6 +350,7 @@ export type ServiceInputTypes = * @public */ export type ServiceOutputTypes = + | ActivateMessageTemplateCommandOutput | CreateAIAgentCommandOutput | CreateAIAgentVersionCommandOutput | CreateAIPromptCommandOutput @@ -292,8 +360,12 @@ export type ServiceOutputTypes = | CreateContentAssociationCommandOutput | CreateContentCommandOutput | CreateKnowledgeBaseCommandOutput + | CreateMessageTemplateAttachmentCommandOutput + | CreateMessageTemplateCommandOutput + | CreateMessageTemplateVersionCommandOutput | CreateQuickResponseCommandOutput | CreateSessionCommandOutput + | DeactivateMessageTemplateCommandOutput | DeleteAIAgentCommandOutput | DeleteAIAgentVersionCommandOutput | DeleteAIPromptCommandOutput @@ -304,6 +376,8 @@ export type ServiceOutputTypes = | DeleteContentCommandOutput | DeleteImportJobCommandOutput | DeleteKnowledgeBaseCommandOutput + | DeleteMessageTemplateAttachmentCommandOutput + | DeleteMessageTemplateCommandOutput | DeleteQuickResponseCommandOutput | GetAIAgentCommandOutput | GetAIPromptCommandOutput @@ -314,6 +388,7 @@ export type ServiceOutputTypes = | GetContentSummaryCommandOutput | GetImportJobCommandOutput | GetKnowledgeBaseCommandOutput + | GetMessageTemplateCommandOutput | GetQuickResponseCommandOutput | GetRecommendationsCommandOutput | GetSessionCommandOutput @@ -327,6 +402,8 @@ export type ServiceOutputTypes = | ListContentsCommandOutput | ListImportJobsCommandOutput | ListKnowledgeBasesCommandOutput + | ListMessageTemplateVersionsCommandOutput + | ListMessageTemplatesCommandOutput | ListQuickResponsesCommandOutput | ListTagsForResourceCommandOutput | NotifyRecommendationsReceivedCommandOutput @@ -334,7 +411,9 @@ export type ServiceOutputTypes = | QueryAssistantCommandOutput | RemoveAssistantAIAgentCommandOutput | RemoveKnowledgeBaseTemplateUriCommandOutput + | RenderMessageTemplateCommandOutput | SearchContentCommandOutput + | SearchMessageTemplatesCommandOutput | SearchQuickResponsesCommandOutput | SearchSessionsCommandOutput | StartContentUploadCommandOutput @@ -346,6 +425,8 @@ export type ServiceOutputTypes = | UpdateAssistantAIAgentCommandOutput | UpdateContentCommandOutput | UpdateKnowledgeBaseTemplateUriCommandOutput + | UpdateMessageTemplateCommandOutput + | UpdateMessageTemplateMetadataCommandOutput | UpdateQuickResponseCommandOutput | UpdateSessionCommandOutput | UpdateSessionDataCommandOutput; diff --git a/clients/client-qconnect/src/commands/ActivateMessageTemplateCommand.ts b/clients/client-qconnect/src/commands/ActivateMessageTemplateCommand.ts new file mode 100644 index 000000000000..c9d7abab7683 --- /dev/null +++ b/clients/client-qconnect/src/commands/ActivateMessageTemplateCommand.ts @@ -0,0 +1,117 @@ +// 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 { commonParams } from "../endpoint/EndpointParameters"; +import { ActivateMessageTemplateRequest, ActivateMessageTemplateResponse } from "../models/models_0"; +import { de_ActivateMessageTemplateCommand, se_ActivateMessageTemplateCommand } from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ActivateMessageTemplateCommand}. + */ +export interface ActivateMessageTemplateCommandInput extends ActivateMessageTemplateRequest {} +/** + * @public + * + * The output of {@link ActivateMessageTemplateCommand}. + */ +export interface ActivateMessageTemplateCommandOutput extends ActivateMessageTemplateResponse, __MetadataBearer {} + +/** + *

Activates a specific version of the Amazon Q in Connect message template. After the + * version is activated, the previous active version will be deactivated automatically. You can + * use the $ACTIVE_VERSION qualifier later to reference the version that is in + * active status.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, ActivateMessageTemplateCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, ActivateMessageTemplateCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // ActivateMessageTemplateRequest + * knowledgeBaseId: "STRING_VALUE", // required + * messageTemplateId: "STRING_VALUE", // required + * versionNumber: Number("long"), // required + * }; + * const command = new ActivateMessageTemplateCommand(input); + * const response = await client.send(command); + * // { // ActivateMessageTemplateResponse + * // messageTemplateArn: "STRING_VALUE", // required + * // messageTemplateId: "STRING_VALUE", // required + * // versionNumber: Number("long"), // required + * // }; + * + * ``` + * + * @param ActivateMessageTemplateCommandInput - {@link ActivateMessageTemplateCommandInput} + * @returns {@link ActivateMessageTemplateCommandOutput} + * @see {@link ActivateMessageTemplateCommandInput} for command's `input` shape. + * @see {@link ActivateMessageTemplateCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

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

The request could not be processed because of conflict in the current state of the + * resource. For example, if you're using a Create API (such as + * CreateAssistant) that accepts name, a conflicting resource (usually with the + * same name) is being created or mutated.

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

The specified resource does not exist.

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

The throttling limit has been exceeded.

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

The input fails to satisfy the constraints specified by a service.

+ * + * @throws {@link QConnectServiceException} + *

Base exception class for all service exceptions from QConnect service.

+ * + * @public + */ +export class ActivateMessageTemplateCommand extends $Command + .classBuilder< + ActivateMessageTemplateCommandInput, + ActivateMessageTemplateCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "ActivateMessageTemplate", {}) + .n("QConnectClient", "ActivateMessageTemplateCommand") + .f(void 0, void 0) + .ser(se_ActivateMessageTemplateCommand) + .de(de_ActivateMessageTemplateCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ActivateMessageTemplateRequest; + output: ActivateMessageTemplateResponse; + }; + sdk: { + input: ActivateMessageTemplateCommandInput; + output: ActivateMessageTemplateCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/CreateMessageTemplateAttachmentCommand.ts b/clients/client-qconnect/src/commands/CreateMessageTemplateAttachmentCommand.ts new file mode 100644 index 000000000000..57dc64ee5208 --- /dev/null +++ b/clients/client-qconnect/src/commands/CreateMessageTemplateAttachmentCommand.ts @@ -0,0 +1,143 @@ +// 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 { commonParams } from "../endpoint/EndpointParameters"; +import { + CreateMessageTemplateAttachmentRequest, + CreateMessageTemplateAttachmentRequestFilterSensitiveLog, + CreateMessageTemplateAttachmentResponse, + CreateMessageTemplateAttachmentResponseFilterSensitiveLog, +} from "../models/models_0"; +import { + de_CreateMessageTemplateAttachmentCommand, + se_CreateMessageTemplateAttachmentCommand, +} from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CreateMessageTemplateAttachmentCommand}. + */ +export interface CreateMessageTemplateAttachmentCommandInput extends CreateMessageTemplateAttachmentRequest {} +/** + * @public + * + * The output of {@link CreateMessageTemplateAttachmentCommand}. + */ +export interface CreateMessageTemplateAttachmentCommandOutput + extends CreateMessageTemplateAttachmentResponse, + __MetadataBearer {} + +/** + *

Uploads an attachment file to the specified Amazon Q in Connect message template. The name + * of the message template attachment has to be unique for each message template referenced by + * the $LATEST qualifier. The body of the attachment file should be encoded using + * base64 encoding. After the file is uploaded, you can use the pre-signed Amazon S3 URL returned + * in response to download the uploaded file.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, CreateMessageTemplateAttachmentCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, CreateMessageTemplateAttachmentCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // CreateMessageTemplateAttachmentRequest + * knowledgeBaseId: "STRING_VALUE", // required + * messageTemplateId: "STRING_VALUE", // required + * contentDisposition: "STRING_VALUE", // required + * name: "STRING_VALUE", // required + * body: "STRING_VALUE", // required + * clientToken: "STRING_VALUE", + * }; + * const command = new CreateMessageTemplateAttachmentCommand(input); + * const response = await client.send(command); + * // { // CreateMessageTemplateAttachmentResponse + * // attachment: { // MessageTemplateAttachment + * // contentDisposition: "STRING_VALUE", // required + * // name: "STRING_VALUE", // required + * // uploadedTime: new Date("TIMESTAMP"), // required + * // url: "STRING_VALUE", // required + * // urlExpiry: new Date("TIMESTAMP"), // required + * // attachmentId: "STRING_VALUE", // required + * // }, + * // }; + * + * ``` + * + * @param CreateMessageTemplateAttachmentCommandInput - {@link CreateMessageTemplateAttachmentCommandInput} + * @returns {@link CreateMessageTemplateAttachmentCommandOutput} + * @see {@link CreateMessageTemplateAttachmentCommandInput} for command's `input` shape. + * @see {@link CreateMessageTemplateAttachmentCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

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

The request could not be processed because of conflict in the current state of the + * resource. For example, if you're using a Create API (such as + * CreateAssistant) that accepts name, a conflicting resource (usually with the + * same name) is being created or mutated.

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

The specified resource does not exist.

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

You've exceeded your service quota. To perform the requested action, remove some of the + * relevant resources, or use service quotas to request a service quota increase.

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

The throttling limit has been exceeded.

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

The input fails to satisfy the constraints specified by a service.

+ * + * @throws {@link QConnectServiceException} + *

Base exception class for all service exceptions from QConnect service.

+ * + * @public + */ +export class CreateMessageTemplateAttachmentCommand extends $Command + .classBuilder< + CreateMessageTemplateAttachmentCommandInput, + CreateMessageTemplateAttachmentCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "CreateMessageTemplateAttachment", {}) + .n("QConnectClient", "CreateMessageTemplateAttachmentCommand") + .f( + CreateMessageTemplateAttachmentRequestFilterSensitiveLog, + CreateMessageTemplateAttachmentResponseFilterSensitiveLog + ) + .ser(se_CreateMessageTemplateAttachmentCommand) + .de(de_CreateMessageTemplateAttachmentCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: CreateMessageTemplateAttachmentRequest; + output: CreateMessageTemplateAttachmentResponse; + }; + sdk: { + input: CreateMessageTemplateAttachmentCommandInput; + output: CreateMessageTemplateAttachmentCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/CreateMessageTemplateCommand.ts b/clients/client-qconnect/src/commands/CreateMessageTemplateCommand.ts new file mode 100644 index 000000000000..080c76e28daa --- /dev/null +++ b/clients/client-qconnect/src/commands/CreateMessageTemplateCommand.ts @@ -0,0 +1,373 @@ +// 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 { commonParams } from "../endpoint/EndpointParameters"; +import { + CreateMessageTemplateRequest, + CreateMessageTemplateRequestFilterSensitiveLog, + CreateMessageTemplateResponse, + CreateMessageTemplateResponseFilterSensitiveLog, +} from "../models/models_0"; +import { de_CreateMessageTemplateCommand, se_CreateMessageTemplateCommand } from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CreateMessageTemplateCommand}. + */ +export interface CreateMessageTemplateCommandInput extends CreateMessageTemplateRequest {} +/** + * @public + * + * The output of {@link CreateMessageTemplateCommand}. + */ +export interface CreateMessageTemplateCommandOutput extends CreateMessageTemplateResponse, __MetadataBearer {} + +/** + *

Creates an Amazon Q in Connect message template. The name of the message template has to + * be unique for each knowledge base. The channel subtype of the message template is immutable + * and cannot be modified after creation. After the message template is created, you can use the + * $LATEST qualifier to reference the created message template.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, CreateMessageTemplateCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, CreateMessageTemplateCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // CreateMessageTemplateRequest + * knowledgeBaseId: "STRING_VALUE", // required + * name: "STRING_VALUE", // required + * content: { // MessageTemplateContentProvider Union: only one key present + * email: { // EmailMessageTemplateContent + * subject: "STRING_VALUE", + * body: { // EmailMessageTemplateContentBody + * plainText: { // MessageTemplateBodyContentProvider Union: only one key present + * content: "STRING_VALUE", + * }, + * html: {// Union: only one key present + * content: "STRING_VALUE", + * }, + * }, + * headers: [ // EmailHeaders + * { // EmailHeader + * name: "STRING_VALUE", + * value: "STRING_VALUE", + * }, + * ], + * }, + * sms: { // SMSMessageTemplateContent + * body: { // SMSMessageTemplateContentBody + * plainText: {// Union: only one key present + * content: "STRING_VALUE", + * }, + * }, + * }, + * }, + * description: "STRING_VALUE", + * channelSubtype: "STRING_VALUE", // required + * language: "STRING_VALUE", + * defaultAttributes: { // MessageTemplateAttributes + * systemAttributes: { // SystemAttributes + * name: "STRING_VALUE", + * customerEndpoint: { // SystemEndpointAttributes + * address: "STRING_VALUE", + * }, + * systemEndpoint: { + * address: "STRING_VALUE", + * }, + * }, + * agentAttributes: { // AgentAttributes + * firstName: "STRING_VALUE", + * lastName: "STRING_VALUE", + * }, + * customerProfileAttributes: { // CustomerProfileAttributes + * profileId: "STRING_VALUE", + * profileARN: "STRING_VALUE", + * firstName: "STRING_VALUE", + * middleName: "STRING_VALUE", + * lastName: "STRING_VALUE", + * accountNumber: "STRING_VALUE", + * emailAddress: "STRING_VALUE", + * phoneNumber: "STRING_VALUE", + * additionalInformation: "STRING_VALUE", + * partyType: "STRING_VALUE", + * businessName: "STRING_VALUE", + * birthDate: "STRING_VALUE", + * gender: "STRING_VALUE", + * mobilePhoneNumber: "STRING_VALUE", + * homePhoneNumber: "STRING_VALUE", + * businessPhoneNumber: "STRING_VALUE", + * businessEmailAddress: "STRING_VALUE", + * address1: "STRING_VALUE", + * address2: "STRING_VALUE", + * address3: "STRING_VALUE", + * address4: "STRING_VALUE", + * city: "STRING_VALUE", + * county: "STRING_VALUE", + * country: "STRING_VALUE", + * postalCode: "STRING_VALUE", + * province: "STRING_VALUE", + * state: "STRING_VALUE", + * shippingAddress1: "STRING_VALUE", + * shippingAddress2: "STRING_VALUE", + * shippingAddress3: "STRING_VALUE", + * shippingAddress4: "STRING_VALUE", + * shippingCity: "STRING_VALUE", + * shippingCounty: "STRING_VALUE", + * shippingCountry: "STRING_VALUE", + * shippingPostalCode: "STRING_VALUE", + * shippingProvince: "STRING_VALUE", + * shippingState: "STRING_VALUE", + * mailingAddress1: "STRING_VALUE", + * mailingAddress2: "STRING_VALUE", + * mailingAddress3: "STRING_VALUE", + * mailingAddress4: "STRING_VALUE", + * mailingCity: "STRING_VALUE", + * mailingCounty: "STRING_VALUE", + * mailingCountry: "STRING_VALUE", + * mailingPostalCode: "STRING_VALUE", + * mailingProvince: "STRING_VALUE", + * mailingState: "STRING_VALUE", + * billingAddress1: "STRING_VALUE", + * billingAddress2: "STRING_VALUE", + * billingAddress3: "STRING_VALUE", + * billingAddress4: "STRING_VALUE", + * billingCity: "STRING_VALUE", + * billingCounty: "STRING_VALUE", + * billingCountry: "STRING_VALUE", + * billingPostalCode: "STRING_VALUE", + * billingProvince: "STRING_VALUE", + * billingState: "STRING_VALUE", + * custom: { // CustomAttributes + * "": "STRING_VALUE", + * }, + * }, + * customAttributes: { + * "": "STRING_VALUE", + * }, + * }, + * groupingConfiguration: { // GroupingConfiguration + * criteria: "STRING_VALUE", + * values: [ // GroupingValues + * "STRING_VALUE", + * ], + * }, + * clientToken: "STRING_VALUE", + * tags: { // Tags + * "": "STRING_VALUE", + * }, + * }; + * const command = new CreateMessageTemplateCommand(input); + * const response = await client.send(command); + * // { // CreateMessageTemplateResponse + * // messageTemplate: { // MessageTemplateData + * // messageTemplateArn: "STRING_VALUE", // required + * // messageTemplateId: "STRING_VALUE", // required + * // knowledgeBaseArn: "STRING_VALUE", // required + * // knowledgeBaseId: "STRING_VALUE", // required + * // name: "STRING_VALUE", // required + * // channelSubtype: "STRING_VALUE", // required + * // createdTime: new Date("TIMESTAMP"), // required + * // lastModifiedTime: new Date("TIMESTAMP"), // required + * // lastModifiedBy: "STRING_VALUE", // required + * // content: { // MessageTemplateContentProvider Union: only one key present + * // email: { // EmailMessageTemplateContent + * // subject: "STRING_VALUE", + * // body: { // EmailMessageTemplateContentBody + * // plainText: { // MessageTemplateBodyContentProvider Union: only one key present + * // content: "STRING_VALUE", + * // }, + * // html: {// Union: only one key present + * // content: "STRING_VALUE", + * // }, + * // }, + * // headers: [ // EmailHeaders + * // { // EmailHeader + * // name: "STRING_VALUE", + * // value: "STRING_VALUE", + * // }, + * // ], + * // }, + * // sms: { // SMSMessageTemplateContent + * // body: { // SMSMessageTemplateContentBody + * // plainText: {// Union: only one key present + * // content: "STRING_VALUE", + * // }, + * // }, + * // }, + * // }, + * // description: "STRING_VALUE", + * // language: "STRING_VALUE", + * // groupingConfiguration: { // GroupingConfiguration + * // criteria: "STRING_VALUE", + * // values: [ // GroupingValues + * // "STRING_VALUE", + * // ], + * // }, + * // defaultAttributes: { // MessageTemplateAttributes + * // systemAttributes: { // SystemAttributes + * // name: "STRING_VALUE", + * // customerEndpoint: { // SystemEndpointAttributes + * // address: "STRING_VALUE", + * // }, + * // systemEndpoint: { + * // address: "STRING_VALUE", + * // }, + * // }, + * // agentAttributes: { // AgentAttributes + * // firstName: "STRING_VALUE", + * // lastName: "STRING_VALUE", + * // }, + * // customerProfileAttributes: { // CustomerProfileAttributes + * // profileId: "STRING_VALUE", + * // profileARN: "STRING_VALUE", + * // firstName: "STRING_VALUE", + * // middleName: "STRING_VALUE", + * // lastName: "STRING_VALUE", + * // accountNumber: "STRING_VALUE", + * // emailAddress: "STRING_VALUE", + * // phoneNumber: "STRING_VALUE", + * // additionalInformation: "STRING_VALUE", + * // partyType: "STRING_VALUE", + * // businessName: "STRING_VALUE", + * // birthDate: "STRING_VALUE", + * // gender: "STRING_VALUE", + * // mobilePhoneNumber: "STRING_VALUE", + * // homePhoneNumber: "STRING_VALUE", + * // businessPhoneNumber: "STRING_VALUE", + * // businessEmailAddress: "STRING_VALUE", + * // address1: "STRING_VALUE", + * // address2: "STRING_VALUE", + * // address3: "STRING_VALUE", + * // address4: "STRING_VALUE", + * // city: "STRING_VALUE", + * // county: "STRING_VALUE", + * // country: "STRING_VALUE", + * // postalCode: "STRING_VALUE", + * // province: "STRING_VALUE", + * // state: "STRING_VALUE", + * // shippingAddress1: "STRING_VALUE", + * // shippingAddress2: "STRING_VALUE", + * // shippingAddress3: "STRING_VALUE", + * // shippingAddress4: "STRING_VALUE", + * // shippingCity: "STRING_VALUE", + * // shippingCounty: "STRING_VALUE", + * // shippingCountry: "STRING_VALUE", + * // shippingPostalCode: "STRING_VALUE", + * // shippingProvince: "STRING_VALUE", + * // shippingState: "STRING_VALUE", + * // mailingAddress1: "STRING_VALUE", + * // mailingAddress2: "STRING_VALUE", + * // mailingAddress3: "STRING_VALUE", + * // mailingAddress4: "STRING_VALUE", + * // mailingCity: "STRING_VALUE", + * // mailingCounty: "STRING_VALUE", + * // mailingCountry: "STRING_VALUE", + * // mailingPostalCode: "STRING_VALUE", + * // mailingProvince: "STRING_VALUE", + * // mailingState: "STRING_VALUE", + * // billingAddress1: "STRING_VALUE", + * // billingAddress2: "STRING_VALUE", + * // billingAddress3: "STRING_VALUE", + * // billingAddress4: "STRING_VALUE", + * // billingCity: "STRING_VALUE", + * // billingCounty: "STRING_VALUE", + * // billingCountry: "STRING_VALUE", + * // billingPostalCode: "STRING_VALUE", + * // billingProvince: "STRING_VALUE", + * // billingState: "STRING_VALUE", + * // custom: { // CustomAttributes + * // "": "STRING_VALUE", + * // }, + * // }, + * // customAttributes: { + * // "": "STRING_VALUE", + * // }, + * // }, + * // attributeTypes: [ // MessageTemplateAttributeTypeList + * // "STRING_VALUE", + * // ], + * // messageTemplateContentSha256: "STRING_VALUE", // required + * // tags: { // Tags + * // "": "STRING_VALUE", + * // }, + * // }, + * // }; + * + * ``` + * + * @param CreateMessageTemplateCommandInput - {@link CreateMessageTemplateCommandInput} + * @returns {@link CreateMessageTemplateCommandOutput} + * @see {@link CreateMessageTemplateCommandInput} for command's `input` shape. + * @see {@link CreateMessageTemplateCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

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

The request could not be processed because of conflict in the current state of the + * resource. For example, if you're using a Create API (such as + * CreateAssistant) that accepts name, a conflicting resource (usually with the + * same name) is being created or mutated.

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

The specified resource does not exist.

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

You've exceeded your service quota. To perform the requested action, remove some of the + * relevant resources, or use service quotas to request a service quota increase.

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

The throttling limit has been exceeded.

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

The input fails to satisfy the constraints specified by a service.

+ * + * @throws {@link QConnectServiceException} + *

Base exception class for all service exceptions from QConnect service.

+ * + * @public + */ +export class CreateMessageTemplateCommand extends $Command + .classBuilder< + CreateMessageTemplateCommandInput, + CreateMessageTemplateCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "CreateMessageTemplate", {}) + .n("QConnectClient", "CreateMessageTemplateCommand") + .f(CreateMessageTemplateRequestFilterSensitiveLog, CreateMessageTemplateResponseFilterSensitiveLog) + .ser(se_CreateMessageTemplateCommand) + .de(de_CreateMessageTemplateCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: CreateMessageTemplateRequest; + output: CreateMessageTemplateResponse; + }; + sdk: { + input: CreateMessageTemplateCommandInput; + output: CreateMessageTemplateCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/CreateMessageTemplateVersionCommand.ts b/clients/client-qconnect/src/commands/CreateMessageTemplateVersionCommand.ts new file mode 100644 index 000000000000..16ea4c45d4ab --- /dev/null +++ b/clients/client-qconnect/src/commands/CreateMessageTemplateVersionCommand.ts @@ -0,0 +1,277 @@ +// 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 { commonParams } from "../endpoint/EndpointParameters"; +import { + CreateMessageTemplateVersionRequest, + CreateMessageTemplateVersionResponse, + CreateMessageTemplateVersionResponseFilterSensitiveLog, +} from "../models/models_0"; +import { + de_CreateMessageTemplateVersionCommand, + se_CreateMessageTemplateVersionCommand, +} from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CreateMessageTemplateVersionCommand}. + */ +export interface CreateMessageTemplateVersionCommandInput extends CreateMessageTemplateVersionRequest {} +/** + * @public + * + * The output of {@link CreateMessageTemplateVersionCommand}. + */ +export interface CreateMessageTemplateVersionCommandOutput + extends CreateMessageTemplateVersionResponse, + __MetadataBearer {} + +/** + *

Creates a new Amazon Q in Connect message template version from the current content and + * configuration of a message template. Versions are immutable and monotonically increasing. Once + * a version is created, you can reference a specific version of the message template by passing + * in <message-template-id>:<versionNumber> as the message template + * identifier. An error is displayed if the supplied messageTemplateContentSha256 is + * different from the messageTemplateContentSha256 of the message template with + * $LATEST qualifier. If multiple CreateMessageTemplateVersion + * requests are made while the message template remains the same, only the first invocation + * creates a new version and the succeeding requests will return the same response as the first + * invocation.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, CreateMessageTemplateVersionCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, CreateMessageTemplateVersionCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // CreateMessageTemplateVersionRequest + * knowledgeBaseId: "STRING_VALUE", // required + * messageTemplateId: "STRING_VALUE", // required + * messageTemplateContentSha256: "STRING_VALUE", + * }; + * const command = new CreateMessageTemplateVersionCommand(input); + * const response = await client.send(command); + * // { // CreateMessageTemplateVersionResponse + * // messageTemplate: { // ExtendedMessageTemplateData + * // messageTemplateArn: "STRING_VALUE", // required + * // messageTemplateId: "STRING_VALUE", // required + * // knowledgeBaseArn: "STRING_VALUE", // required + * // knowledgeBaseId: "STRING_VALUE", // required + * // name: "STRING_VALUE", // required + * // channelSubtype: "STRING_VALUE", // required + * // createdTime: new Date("TIMESTAMP"), // required + * // lastModifiedTime: new Date("TIMESTAMP"), // required + * // lastModifiedBy: "STRING_VALUE", // required + * // content: { // MessageTemplateContentProvider Union: only one key present + * // email: { // EmailMessageTemplateContent + * // subject: "STRING_VALUE", + * // body: { // EmailMessageTemplateContentBody + * // plainText: { // MessageTemplateBodyContentProvider Union: only one key present + * // content: "STRING_VALUE", + * // }, + * // html: {// Union: only one key present + * // content: "STRING_VALUE", + * // }, + * // }, + * // headers: [ // EmailHeaders + * // { // EmailHeader + * // name: "STRING_VALUE", + * // value: "STRING_VALUE", + * // }, + * // ], + * // }, + * // sms: { // SMSMessageTemplateContent + * // body: { // SMSMessageTemplateContentBody + * // plainText: {// Union: only one key present + * // content: "STRING_VALUE", + * // }, + * // }, + * // }, + * // }, + * // description: "STRING_VALUE", + * // language: "STRING_VALUE", + * // groupingConfiguration: { // GroupingConfiguration + * // criteria: "STRING_VALUE", + * // values: [ // GroupingValues + * // "STRING_VALUE", + * // ], + * // }, + * // defaultAttributes: { // MessageTemplateAttributes + * // systemAttributes: { // SystemAttributes + * // name: "STRING_VALUE", + * // customerEndpoint: { // SystemEndpointAttributes + * // address: "STRING_VALUE", + * // }, + * // systemEndpoint: { + * // address: "STRING_VALUE", + * // }, + * // }, + * // agentAttributes: { // AgentAttributes + * // firstName: "STRING_VALUE", + * // lastName: "STRING_VALUE", + * // }, + * // customerProfileAttributes: { // CustomerProfileAttributes + * // profileId: "STRING_VALUE", + * // profileARN: "STRING_VALUE", + * // firstName: "STRING_VALUE", + * // middleName: "STRING_VALUE", + * // lastName: "STRING_VALUE", + * // accountNumber: "STRING_VALUE", + * // emailAddress: "STRING_VALUE", + * // phoneNumber: "STRING_VALUE", + * // additionalInformation: "STRING_VALUE", + * // partyType: "STRING_VALUE", + * // businessName: "STRING_VALUE", + * // birthDate: "STRING_VALUE", + * // gender: "STRING_VALUE", + * // mobilePhoneNumber: "STRING_VALUE", + * // homePhoneNumber: "STRING_VALUE", + * // businessPhoneNumber: "STRING_VALUE", + * // businessEmailAddress: "STRING_VALUE", + * // address1: "STRING_VALUE", + * // address2: "STRING_VALUE", + * // address3: "STRING_VALUE", + * // address4: "STRING_VALUE", + * // city: "STRING_VALUE", + * // county: "STRING_VALUE", + * // country: "STRING_VALUE", + * // postalCode: "STRING_VALUE", + * // province: "STRING_VALUE", + * // state: "STRING_VALUE", + * // shippingAddress1: "STRING_VALUE", + * // shippingAddress2: "STRING_VALUE", + * // shippingAddress3: "STRING_VALUE", + * // shippingAddress4: "STRING_VALUE", + * // shippingCity: "STRING_VALUE", + * // shippingCounty: "STRING_VALUE", + * // shippingCountry: "STRING_VALUE", + * // shippingPostalCode: "STRING_VALUE", + * // shippingProvince: "STRING_VALUE", + * // shippingState: "STRING_VALUE", + * // mailingAddress1: "STRING_VALUE", + * // mailingAddress2: "STRING_VALUE", + * // mailingAddress3: "STRING_VALUE", + * // mailingAddress4: "STRING_VALUE", + * // mailingCity: "STRING_VALUE", + * // mailingCounty: "STRING_VALUE", + * // mailingCountry: "STRING_VALUE", + * // mailingPostalCode: "STRING_VALUE", + * // mailingProvince: "STRING_VALUE", + * // mailingState: "STRING_VALUE", + * // billingAddress1: "STRING_VALUE", + * // billingAddress2: "STRING_VALUE", + * // billingAddress3: "STRING_VALUE", + * // billingAddress4: "STRING_VALUE", + * // billingCity: "STRING_VALUE", + * // billingCounty: "STRING_VALUE", + * // billingCountry: "STRING_VALUE", + * // billingPostalCode: "STRING_VALUE", + * // billingProvince: "STRING_VALUE", + * // billingState: "STRING_VALUE", + * // custom: { // CustomAttributes + * // "": "STRING_VALUE", + * // }, + * // }, + * // customAttributes: { + * // "": "STRING_VALUE", + * // }, + * // }, + * // attributeTypes: [ // MessageTemplateAttributeTypeList + * // "STRING_VALUE", + * // ], + * // attachments: [ // MessageTemplateAttachmentList + * // { // MessageTemplateAttachment + * // contentDisposition: "STRING_VALUE", // required + * // name: "STRING_VALUE", // required + * // uploadedTime: new Date("TIMESTAMP"), // required + * // url: "STRING_VALUE", // required + * // urlExpiry: new Date("TIMESTAMP"), // required + * // attachmentId: "STRING_VALUE", // required + * // }, + * // ], + * // isActive: true || false, + * // versionNumber: Number("long"), + * // messageTemplateContentSha256: "STRING_VALUE", // required + * // tags: { // Tags + * // "": "STRING_VALUE", + * // }, + * // }, + * // }; + * + * ``` + * + * @param CreateMessageTemplateVersionCommandInput - {@link CreateMessageTemplateVersionCommandInput} + * @returns {@link CreateMessageTemplateVersionCommandOutput} + * @see {@link CreateMessageTemplateVersionCommandInput} for command's `input` shape. + * @see {@link CreateMessageTemplateVersionCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

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

The request could not be processed because of conflict in the current state of the + * resource. For example, if you're using a Create API (such as + * CreateAssistant) that accepts name, a conflicting resource (usually with the + * same name) is being created or mutated.

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

The specified resource does not exist.

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

You've exceeded your service quota. To perform the requested action, remove some of the + * relevant resources, or use service quotas to request a service quota increase.

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

The throttling limit has been exceeded.

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

The input fails to satisfy the constraints specified by a service.

+ * + * @throws {@link QConnectServiceException} + *

Base exception class for all service exceptions from QConnect service.

+ * + * @public + */ +export class CreateMessageTemplateVersionCommand extends $Command + .classBuilder< + CreateMessageTemplateVersionCommandInput, + CreateMessageTemplateVersionCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "CreateMessageTemplateVersion", {}) + .n("QConnectClient", "CreateMessageTemplateVersionCommand") + .f(void 0, CreateMessageTemplateVersionResponseFilterSensitiveLog) + .ser(se_CreateMessageTemplateVersionCommand) + .de(de_CreateMessageTemplateVersionCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: CreateMessageTemplateVersionRequest; + output: CreateMessageTemplateVersionResponse; + }; + sdk: { + input: CreateMessageTemplateVersionCommandInput; + output: CreateMessageTemplateVersionCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/DeactivateMessageTemplateCommand.ts b/clients/client-qconnect/src/commands/DeactivateMessageTemplateCommand.ts new file mode 100644 index 000000000000..5ac30d7e2a74 --- /dev/null +++ b/clients/client-qconnect/src/commands/DeactivateMessageTemplateCommand.ts @@ -0,0 +1,116 @@ +// 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 { commonParams } from "../endpoint/EndpointParameters"; +import { DeactivateMessageTemplateRequest, DeactivateMessageTemplateResponse } from "../models/models_0"; +import { de_DeactivateMessageTemplateCommand, se_DeactivateMessageTemplateCommand } from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DeactivateMessageTemplateCommand}. + */ +export interface DeactivateMessageTemplateCommandInput extends DeactivateMessageTemplateRequest {} +/** + * @public + * + * The output of {@link DeactivateMessageTemplateCommand}. + */ +export interface DeactivateMessageTemplateCommandOutput extends DeactivateMessageTemplateResponse, __MetadataBearer {} + +/** + *

Deactivates a specific version of the Amazon Q in Connect message template . After the + * version is deactivated, you can no longer use the $ACTIVE_VERSION qualifier to + * reference the version in active status.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, DeactivateMessageTemplateCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, DeactivateMessageTemplateCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // DeactivateMessageTemplateRequest + * knowledgeBaseId: "STRING_VALUE", // required + * messageTemplateId: "STRING_VALUE", // required + * versionNumber: Number("long"), // required + * }; + * const command = new DeactivateMessageTemplateCommand(input); + * const response = await client.send(command); + * // { // DeactivateMessageTemplateResponse + * // messageTemplateArn: "STRING_VALUE", // required + * // messageTemplateId: "STRING_VALUE", // required + * // versionNumber: Number("long"), // required + * // }; + * + * ``` + * + * @param DeactivateMessageTemplateCommandInput - {@link DeactivateMessageTemplateCommandInput} + * @returns {@link DeactivateMessageTemplateCommandOutput} + * @see {@link DeactivateMessageTemplateCommandInput} for command's `input` shape. + * @see {@link DeactivateMessageTemplateCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

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

The request could not be processed because of conflict in the current state of the + * resource. For example, if you're using a Create API (such as + * CreateAssistant) that accepts name, a conflicting resource (usually with the + * same name) is being created or mutated.

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

The specified resource does not exist.

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

The throttling limit has been exceeded.

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

The input fails to satisfy the constraints specified by a service.

+ * + * @throws {@link QConnectServiceException} + *

Base exception class for all service exceptions from QConnect service.

+ * + * @public + */ +export class DeactivateMessageTemplateCommand extends $Command + .classBuilder< + DeactivateMessageTemplateCommandInput, + DeactivateMessageTemplateCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "DeactivateMessageTemplate", {}) + .n("QConnectClient", "DeactivateMessageTemplateCommand") + .f(void 0, void 0) + .ser(se_DeactivateMessageTemplateCommand) + .de(de_DeactivateMessageTemplateCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DeactivateMessageTemplateRequest; + output: DeactivateMessageTemplateResponse; + }; + sdk: { + input: DeactivateMessageTemplateCommandInput; + output: DeactivateMessageTemplateCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/DeleteMessageTemplateAttachmentCommand.ts b/clients/client-qconnect/src/commands/DeleteMessageTemplateAttachmentCommand.ts new file mode 100644 index 000000000000..61855b50890e --- /dev/null +++ b/clients/client-qconnect/src/commands/DeleteMessageTemplateAttachmentCommand.ts @@ -0,0 +1,117 @@ +// 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 { commonParams } from "../endpoint/EndpointParameters"; +import { DeleteMessageTemplateAttachmentRequest, DeleteMessageTemplateAttachmentResponse } from "../models/models_0"; +import { + de_DeleteMessageTemplateAttachmentCommand, + se_DeleteMessageTemplateAttachmentCommand, +} from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DeleteMessageTemplateAttachmentCommand}. + */ +export interface DeleteMessageTemplateAttachmentCommandInput extends DeleteMessageTemplateAttachmentRequest {} +/** + * @public + * + * The output of {@link DeleteMessageTemplateAttachmentCommand}. + */ +export interface DeleteMessageTemplateAttachmentCommandOutput + extends DeleteMessageTemplateAttachmentResponse, + __MetadataBearer {} + +/** + *

Deletes the attachment file from the Amazon Q in Connect message template that is + * referenced by $LATEST qualifier. Attachments on available message template + * versions will remain unchanged.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, DeleteMessageTemplateAttachmentCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, DeleteMessageTemplateAttachmentCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // DeleteMessageTemplateAttachmentRequest + * knowledgeBaseId: "STRING_VALUE", // required + * messageTemplateId: "STRING_VALUE", // required + * attachmentId: "STRING_VALUE", // required + * }; + * const command = new DeleteMessageTemplateAttachmentCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param DeleteMessageTemplateAttachmentCommandInput - {@link DeleteMessageTemplateAttachmentCommandInput} + * @returns {@link DeleteMessageTemplateAttachmentCommandOutput} + * @see {@link DeleteMessageTemplateAttachmentCommandInput} for command's `input` shape. + * @see {@link DeleteMessageTemplateAttachmentCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

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

The request could not be processed because of conflict in the current state of the + * resource. For example, if you're using a Create API (such as + * CreateAssistant) that accepts name, a conflicting resource (usually with the + * same name) is being created or mutated.

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

The specified resource does not exist.

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

The throttling limit has been exceeded.

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

The input fails to satisfy the constraints specified by a service.

+ * + * @throws {@link QConnectServiceException} + *

Base exception class for all service exceptions from QConnect service.

+ * + * @public + */ +export class DeleteMessageTemplateAttachmentCommand extends $Command + .classBuilder< + DeleteMessageTemplateAttachmentCommandInput, + DeleteMessageTemplateAttachmentCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "DeleteMessageTemplateAttachment", {}) + .n("QConnectClient", "DeleteMessageTemplateAttachmentCommand") + .f(void 0, void 0) + .ser(se_DeleteMessageTemplateAttachmentCommand) + .de(de_DeleteMessageTemplateAttachmentCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DeleteMessageTemplateAttachmentRequest; + output: {}; + }; + sdk: { + input: DeleteMessageTemplateAttachmentCommandInput; + output: DeleteMessageTemplateAttachmentCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/DeleteMessageTemplateCommand.ts b/clients/client-qconnect/src/commands/DeleteMessageTemplateCommand.ts new file mode 100644 index 000000000000..d850f697abda --- /dev/null +++ b/clients/client-qconnect/src/commands/DeleteMessageTemplateCommand.ts @@ -0,0 +1,113 @@ +// 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 { commonParams } from "../endpoint/EndpointParameters"; +import { DeleteMessageTemplateRequest, DeleteMessageTemplateResponse } from "../models/models_0"; +import { de_DeleteMessageTemplateCommand, se_DeleteMessageTemplateCommand } from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DeleteMessageTemplateCommand}. + */ +export interface DeleteMessageTemplateCommandInput extends DeleteMessageTemplateRequest {} +/** + * @public + * + * The output of {@link DeleteMessageTemplateCommand}. + */ +export interface DeleteMessageTemplateCommandOutput extends DeleteMessageTemplateResponse, __MetadataBearer {} + +/** + *

Deletes an Amazon Q in Connect message template entirely or a specific version of the + * message template if version is supplied in the request. You can provide the message template + * identifier as <message-template-id>:<versionNumber> to delete a + * specific version of the message template. If it is not supplied, the message template and all + * available versions will be deleted.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, DeleteMessageTemplateCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, DeleteMessageTemplateCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // DeleteMessageTemplateRequest + * knowledgeBaseId: "STRING_VALUE", // required + * messageTemplateId: "STRING_VALUE", // required + * }; + * const command = new DeleteMessageTemplateCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param DeleteMessageTemplateCommandInput - {@link DeleteMessageTemplateCommandInput} + * @returns {@link DeleteMessageTemplateCommandOutput} + * @see {@link DeleteMessageTemplateCommandInput} for command's `input` shape. + * @see {@link DeleteMessageTemplateCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

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

The request could not be processed because of conflict in the current state of the + * resource. For example, if you're using a Create API (such as + * CreateAssistant) that accepts name, a conflicting resource (usually with the + * same name) is being created or mutated.

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

The specified resource does not exist.

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

The throttling limit has been exceeded.

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

The input fails to satisfy the constraints specified by a service.

+ * + * @throws {@link QConnectServiceException} + *

Base exception class for all service exceptions from QConnect service.

+ * + * @public + */ +export class DeleteMessageTemplateCommand extends $Command + .classBuilder< + DeleteMessageTemplateCommandInput, + DeleteMessageTemplateCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "DeleteMessageTemplate", {}) + .n("QConnectClient", "DeleteMessageTemplateCommand") + .f(void 0, void 0) + .ser(se_DeleteMessageTemplateCommand) + .de(de_DeleteMessageTemplateCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DeleteMessageTemplateRequest; + output: {}; + }; + sdk: { + input: DeleteMessageTemplateCommandInput; + output: DeleteMessageTemplateCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/GetMessageTemplateCommand.ts b/clients/client-qconnect/src/commands/GetMessageTemplateCommand.ts new file mode 100644 index 000000000000..bf634bc512fb --- /dev/null +++ b/clients/client-qconnect/src/commands/GetMessageTemplateCommand.ts @@ -0,0 +1,256 @@ +// 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 { commonParams } from "../endpoint/EndpointParameters"; +import { + GetMessageTemplateRequest, + GetMessageTemplateResponse, + GetMessageTemplateResponseFilterSensitiveLog, +} from "../models/models_0"; +import { de_GetMessageTemplateCommand, se_GetMessageTemplateCommand } from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link GetMessageTemplateCommand}. + */ +export interface GetMessageTemplateCommandInput extends GetMessageTemplateRequest {} +/** + * @public + * + * The output of {@link GetMessageTemplateCommand}. + */ +export interface GetMessageTemplateCommandOutput extends GetMessageTemplateResponse, __MetadataBearer {} + +/** + *

Retrieves the Amazon Q in Connect message template. The message template identifier can + * contain an optional qualifier, for example, + * <message-template-id>:<qualifier>, which is either an actual + * version number or an Amazon Q Connect managed qualifier $ACTIVE_VERSION | $LATEST. If it is + * not supplied, then $LATEST is assumed implicitly.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, GetMessageTemplateCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, GetMessageTemplateCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // GetMessageTemplateRequest + * messageTemplateId: "STRING_VALUE", // required + * knowledgeBaseId: "STRING_VALUE", // required + * }; + * const command = new GetMessageTemplateCommand(input); + * const response = await client.send(command); + * // { // GetMessageTemplateResponse + * // messageTemplate: { // ExtendedMessageTemplateData + * // messageTemplateArn: "STRING_VALUE", // required + * // messageTemplateId: "STRING_VALUE", // required + * // knowledgeBaseArn: "STRING_VALUE", // required + * // knowledgeBaseId: "STRING_VALUE", // required + * // name: "STRING_VALUE", // required + * // channelSubtype: "STRING_VALUE", // required + * // createdTime: new Date("TIMESTAMP"), // required + * // lastModifiedTime: new Date("TIMESTAMP"), // required + * // lastModifiedBy: "STRING_VALUE", // required + * // content: { // MessageTemplateContentProvider Union: only one key present + * // email: { // EmailMessageTemplateContent + * // subject: "STRING_VALUE", + * // body: { // EmailMessageTemplateContentBody + * // plainText: { // MessageTemplateBodyContentProvider Union: only one key present + * // content: "STRING_VALUE", + * // }, + * // html: {// Union: only one key present + * // content: "STRING_VALUE", + * // }, + * // }, + * // headers: [ // EmailHeaders + * // { // EmailHeader + * // name: "STRING_VALUE", + * // value: "STRING_VALUE", + * // }, + * // ], + * // }, + * // sms: { // SMSMessageTemplateContent + * // body: { // SMSMessageTemplateContentBody + * // plainText: {// Union: only one key present + * // content: "STRING_VALUE", + * // }, + * // }, + * // }, + * // }, + * // description: "STRING_VALUE", + * // language: "STRING_VALUE", + * // groupingConfiguration: { // GroupingConfiguration + * // criteria: "STRING_VALUE", + * // values: [ // GroupingValues + * // "STRING_VALUE", + * // ], + * // }, + * // defaultAttributes: { // MessageTemplateAttributes + * // systemAttributes: { // SystemAttributes + * // name: "STRING_VALUE", + * // customerEndpoint: { // SystemEndpointAttributes + * // address: "STRING_VALUE", + * // }, + * // systemEndpoint: { + * // address: "STRING_VALUE", + * // }, + * // }, + * // agentAttributes: { // AgentAttributes + * // firstName: "STRING_VALUE", + * // lastName: "STRING_VALUE", + * // }, + * // customerProfileAttributes: { // CustomerProfileAttributes + * // profileId: "STRING_VALUE", + * // profileARN: "STRING_VALUE", + * // firstName: "STRING_VALUE", + * // middleName: "STRING_VALUE", + * // lastName: "STRING_VALUE", + * // accountNumber: "STRING_VALUE", + * // emailAddress: "STRING_VALUE", + * // phoneNumber: "STRING_VALUE", + * // additionalInformation: "STRING_VALUE", + * // partyType: "STRING_VALUE", + * // businessName: "STRING_VALUE", + * // birthDate: "STRING_VALUE", + * // gender: "STRING_VALUE", + * // mobilePhoneNumber: "STRING_VALUE", + * // homePhoneNumber: "STRING_VALUE", + * // businessPhoneNumber: "STRING_VALUE", + * // businessEmailAddress: "STRING_VALUE", + * // address1: "STRING_VALUE", + * // address2: "STRING_VALUE", + * // address3: "STRING_VALUE", + * // address4: "STRING_VALUE", + * // city: "STRING_VALUE", + * // county: "STRING_VALUE", + * // country: "STRING_VALUE", + * // postalCode: "STRING_VALUE", + * // province: "STRING_VALUE", + * // state: "STRING_VALUE", + * // shippingAddress1: "STRING_VALUE", + * // shippingAddress2: "STRING_VALUE", + * // shippingAddress3: "STRING_VALUE", + * // shippingAddress4: "STRING_VALUE", + * // shippingCity: "STRING_VALUE", + * // shippingCounty: "STRING_VALUE", + * // shippingCountry: "STRING_VALUE", + * // shippingPostalCode: "STRING_VALUE", + * // shippingProvince: "STRING_VALUE", + * // shippingState: "STRING_VALUE", + * // mailingAddress1: "STRING_VALUE", + * // mailingAddress2: "STRING_VALUE", + * // mailingAddress3: "STRING_VALUE", + * // mailingAddress4: "STRING_VALUE", + * // mailingCity: "STRING_VALUE", + * // mailingCounty: "STRING_VALUE", + * // mailingCountry: "STRING_VALUE", + * // mailingPostalCode: "STRING_VALUE", + * // mailingProvince: "STRING_VALUE", + * // mailingState: "STRING_VALUE", + * // billingAddress1: "STRING_VALUE", + * // billingAddress2: "STRING_VALUE", + * // billingAddress3: "STRING_VALUE", + * // billingAddress4: "STRING_VALUE", + * // billingCity: "STRING_VALUE", + * // billingCounty: "STRING_VALUE", + * // billingCountry: "STRING_VALUE", + * // billingPostalCode: "STRING_VALUE", + * // billingProvince: "STRING_VALUE", + * // billingState: "STRING_VALUE", + * // custom: { // CustomAttributes + * // "": "STRING_VALUE", + * // }, + * // }, + * // customAttributes: { + * // "": "STRING_VALUE", + * // }, + * // }, + * // attributeTypes: [ // MessageTemplateAttributeTypeList + * // "STRING_VALUE", + * // ], + * // attachments: [ // MessageTemplateAttachmentList + * // { // MessageTemplateAttachment + * // contentDisposition: "STRING_VALUE", // required + * // name: "STRING_VALUE", // required + * // uploadedTime: new Date("TIMESTAMP"), // required + * // url: "STRING_VALUE", // required + * // urlExpiry: new Date("TIMESTAMP"), // required + * // attachmentId: "STRING_VALUE", // required + * // }, + * // ], + * // isActive: true || false, + * // versionNumber: Number("long"), + * // messageTemplateContentSha256: "STRING_VALUE", // required + * // tags: { // Tags + * // "": "STRING_VALUE", + * // }, + * // }, + * // }; + * + * ``` + * + * @param GetMessageTemplateCommandInput - {@link GetMessageTemplateCommandInput} + * @returns {@link GetMessageTemplateCommandOutput} + * @see {@link GetMessageTemplateCommandInput} for command's `input` shape. + * @see {@link GetMessageTemplateCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

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

The specified resource does not exist.

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

The throttling limit has been exceeded.

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

The input fails to satisfy the constraints specified by a service.

+ * + * @throws {@link QConnectServiceException} + *

Base exception class for all service exceptions from QConnect service.

+ * + * @public + */ +export class GetMessageTemplateCommand extends $Command + .classBuilder< + GetMessageTemplateCommandInput, + GetMessageTemplateCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "GetMessageTemplate", {}) + .n("QConnectClient", "GetMessageTemplateCommand") + .f(void 0, GetMessageTemplateResponseFilterSensitiveLog) + .ser(se_GetMessageTemplateCommand) + .de(de_GetMessageTemplateCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: GetMessageTemplateRequest; + output: GetMessageTemplateResponse; + }; + sdk: { + input: GetMessageTemplateCommandInput; + output: GetMessageTemplateCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/GetRecommendationsCommand.ts b/clients/client-qconnect/src/commands/GetRecommendationsCommand.ts index 8cb85fcb0b76..c8f50c8d5400 100644 --- a/clients/client-qconnect/src/commands/GetRecommendationsCommand.ts +++ b/clients/client-qconnect/src/commands/GetRecommendationsCommand.ts @@ -5,11 +5,8 @@ import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; -import { - GetRecommendationsRequest, - GetRecommendationsResponse, - GetRecommendationsResponseFilterSensitiveLog, -} from "../models/models_0"; +import { GetRecommendationsRequest } from "../models/models_0"; +import { GetRecommendationsResponse, GetRecommendationsResponseFilterSensitiveLog } from "../models/models_1"; import { de_GetRecommendationsCommand, se_GetRecommendationsCommand } from "../protocols/Aws_restJson1"; import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; diff --git a/clients/client-qconnect/src/commands/ListMessageTemplateVersionsCommand.ts b/clients/client-qconnect/src/commands/ListMessageTemplateVersionsCommand.ts new file mode 100644 index 000000000000..3dfc09ede5aa --- /dev/null +++ b/clients/client-qconnect/src/commands/ListMessageTemplateVersionsCommand.ts @@ -0,0 +1,125 @@ +// 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 { commonParams } from "../endpoint/EndpointParameters"; +import { ListMessageTemplateVersionsRequest, ListMessageTemplateVersionsResponse } from "../models/models_0"; +import { + de_ListMessageTemplateVersionsCommand, + se_ListMessageTemplateVersionsCommand, +} from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListMessageTemplateVersionsCommand}. + */ +export interface ListMessageTemplateVersionsCommandInput extends ListMessageTemplateVersionsRequest {} +/** + * @public + * + * The output of {@link ListMessageTemplateVersionsCommand}. + */ +export interface ListMessageTemplateVersionsCommandOutput + extends ListMessageTemplateVersionsResponse, + __MetadataBearer {} + +/** + *

Lists all the available versions for the specified Amazon Q in Connect message + * template.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, ListMessageTemplateVersionsCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, ListMessageTemplateVersionsCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // ListMessageTemplateVersionsRequest + * knowledgeBaseId: "STRING_VALUE", // required + * messageTemplateId: "STRING_VALUE", // required + * nextToken: "STRING_VALUE", + * maxResults: Number("int"), + * }; + * const command = new ListMessageTemplateVersionsCommand(input); + * const response = await client.send(command); + * // { // ListMessageTemplateVersionsResponse + * // messageTemplateVersionSummaries: [ // MessageTemplateVersionSummaryList // required + * // { // MessageTemplateVersionSummary + * // messageTemplateArn: "STRING_VALUE", // required + * // messageTemplateId: "STRING_VALUE", // required + * // knowledgeBaseArn: "STRING_VALUE", // required + * // knowledgeBaseId: "STRING_VALUE", // required + * // name: "STRING_VALUE", // required + * // channelSubtype: "STRING_VALUE", // required + * // isActive: true || false, // required + * // versionNumber: Number("long"), // required + * // }, + * // ], + * // nextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListMessageTemplateVersionsCommandInput - {@link ListMessageTemplateVersionsCommandInput} + * @returns {@link ListMessageTemplateVersionsCommandOutput} + * @see {@link ListMessageTemplateVersionsCommandInput} for command's `input` shape. + * @see {@link ListMessageTemplateVersionsCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

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

The specified resource does not exist.

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

The throttling limit has been exceeded.

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

The input fails to satisfy the constraints specified by a service.

+ * + * @throws {@link QConnectServiceException} + *

Base exception class for all service exceptions from QConnect service.

+ * + * @public + */ +export class ListMessageTemplateVersionsCommand extends $Command + .classBuilder< + ListMessageTemplateVersionsCommandInput, + ListMessageTemplateVersionsCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "ListMessageTemplateVersions", {}) + .n("QConnectClient", "ListMessageTemplateVersionsCommand") + .f(void 0, void 0) + .ser(se_ListMessageTemplateVersionsCommand) + .de(de_ListMessageTemplateVersionsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListMessageTemplateVersionsRequest; + output: ListMessageTemplateVersionsResponse; + }; + sdk: { + input: ListMessageTemplateVersionsCommandInput; + output: ListMessageTemplateVersionsCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/ListMessageTemplatesCommand.ts b/clients/client-qconnect/src/commands/ListMessageTemplatesCommand.ts new file mode 100644 index 000000000000..84fc45176ec8 --- /dev/null +++ b/clients/client-qconnect/src/commands/ListMessageTemplatesCommand.ts @@ -0,0 +1,125 @@ +// 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 { commonParams } from "../endpoint/EndpointParameters"; +import { ListMessageTemplatesRequest, ListMessageTemplatesResponse } from "../models/models_0"; +import { de_ListMessageTemplatesCommand, se_ListMessageTemplatesCommand } from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListMessageTemplatesCommand}. + */ +export interface ListMessageTemplatesCommandInput extends ListMessageTemplatesRequest {} +/** + * @public + * + * The output of {@link ListMessageTemplatesCommand}. + */ +export interface ListMessageTemplatesCommandOutput extends ListMessageTemplatesResponse, __MetadataBearer {} + +/** + *

Lists all the available Amazon Q in Connect message templates for the specified knowledge + * base.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, ListMessageTemplatesCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, ListMessageTemplatesCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // ListMessageTemplatesRequest + * nextToken: "STRING_VALUE", + * maxResults: Number("int"), + * knowledgeBaseId: "STRING_VALUE", // required + * }; + * const command = new ListMessageTemplatesCommand(input); + * const response = await client.send(command); + * // { // ListMessageTemplatesResponse + * // messageTemplateSummaries: [ // MessageTemplateSummaryList // required + * // { // MessageTemplateSummary + * // messageTemplateArn: "STRING_VALUE", // required + * // messageTemplateId: "STRING_VALUE", // required + * // knowledgeBaseArn: "STRING_VALUE", // required + * // knowledgeBaseId: "STRING_VALUE", // required + * // name: "STRING_VALUE", // required + * // channelSubtype: "STRING_VALUE", // required + * // createdTime: new Date("TIMESTAMP"), // required + * // lastModifiedTime: new Date("TIMESTAMP"), // required + * // lastModifiedBy: "STRING_VALUE", // required + * // activeVersionNumber: Number("long"), + * // description: "STRING_VALUE", + * // tags: { // Tags + * // "": "STRING_VALUE", + * // }, + * // }, + * // ], + * // nextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListMessageTemplatesCommandInput - {@link ListMessageTemplatesCommandInput} + * @returns {@link ListMessageTemplatesCommandOutput} + * @see {@link ListMessageTemplatesCommandInput} for command's `input` shape. + * @see {@link ListMessageTemplatesCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

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

The specified resource does not exist.

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

The throttling limit has been exceeded.

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

The input fails to satisfy the constraints specified by a service.

+ * + * @throws {@link QConnectServiceException} + *

Base exception class for all service exceptions from QConnect service.

+ * + * @public + */ +export class ListMessageTemplatesCommand extends $Command + .classBuilder< + ListMessageTemplatesCommandInput, + ListMessageTemplatesCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "ListMessageTemplates", {}) + .n("QConnectClient", "ListMessageTemplatesCommand") + .f(void 0, void 0) + .ser(se_ListMessageTemplatesCommand) + .de(de_ListMessageTemplatesCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListMessageTemplatesRequest; + output: ListMessageTemplatesResponse; + }; + sdk: { + input: ListMessageTemplatesCommandInput; + output: ListMessageTemplatesCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/ListTagsForResourceCommand.ts b/clients/client-qconnect/src/commands/ListTagsForResourceCommand.ts index 70bc73e4d4e4..52e04556d734 100644 --- a/clients/client-qconnect/src/commands/ListTagsForResourceCommand.ts +++ b/clients/client-qconnect/src/commands/ListTagsForResourceCommand.ts @@ -5,7 +5,7 @@ import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; -import { ListTagsForResourceRequest, ListTagsForResourceResponse } from "../models/models_0"; +import { ListTagsForResourceRequest, ListTagsForResourceResponse } from "../models/models_1"; import { de_ListTagsForResourceCommand, se_ListTagsForResourceCommand } from "../protocols/Aws_restJson1"; import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; diff --git a/clients/client-qconnect/src/commands/QueryAssistantCommand.ts b/clients/client-qconnect/src/commands/QueryAssistantCommand.ts index f0714f0c047c..ad16e5b8789b 100644 --- a/clients/client-qconnect/src/commands/QueryAssistantCommand.ts +++ b/clients/client-qconnect/src/commands/QueryAssistantCommand.ts @@ -5,12 +5,8 @@ import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; -import { - QueryAssistantRequest, - QueryAssistantRequestFilterSensitiveLog, - QueryAssistantResponse, - QueryAssistantResponseFilterSensitiveLog, -} from "../models/models_0"; +import { QueryAssistantRequest, QueryAssistantRequestFilterSensitiveLog } from "../models/models_0"; +import { QueryAssistantResponse, QueryAssistantResponseFilterSensitiveLog } from "../models/models_1"; import { de_QueryAssistantCommand, se_QueryAssistantCommand } from "../protocols/Aws_restJson1"; import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; diff --git a/clients/client-qconnect/src/commands/RemoveKnowledgeBaseTemplateUriCommand.ts b/clients/client-qconnect/src/commands/RemoveKnowledgeBaseTemplateUriCommand.ts index 3ed510bc187b..482288fb522e 100644 --- a/clients/client-qconnect/src/commands/RemoveKnowledgeBaseTemplateUriCommand.ts +++ b/clients/client-qconnect/src/commands/RemoveKnowledgeBaseTemplateUriCommand.ts @@ -5,7 +5,8 @@ import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; -import { RemoveKnowledgeBaseTemplateUriRequest, RemoveKnowledgeBaseTemplateUriResponse } from "../models/models_0"; +import { RemoveKnowledgeBaseTemplateUriRequest } from "../models/models_0"; +import { RemoveKnowledgeBaseTemplateUriResponse } from "../models/models_1"; import { de_RemoveKnowledgeBaseTemplateUriCommand, se_RemoveKnowledgeBaseTemplateUriCommand, diff --git a/clients/client-qconnect/src/commands/RenderMessageTemplateCommand.ts b/clients/client-qconnect/src/commands/RenderMessageTemplateCommand.ts new file mode 100644 index 000000000000..66d0949989d4 --- /dev/null +++ b/clients/client-qconnect/src/commands/RenderMessageTemplateCommand.ts @@ -0,0 +1,232 @@ +// 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 { commonParams } from "../endpoint/EndpointParameters"; +import { + RenderMessageTemplateRequest, + RenderMessageTemplateRequestFilterSensitiveLog, + RenderMessageTemplateResponse, + RenderMessageTemplateResponseFilterSensitiveLog, +} from "../models/models_0"; +import { de_RenderMessageTemplateCommand, se_RenderMessageTemplateCommand } from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link RenderMessageTemplateCommand}. + */ +export interface RenderMessageTemplateCommandInput extends RenderMessageTemplateRequest {} +/** + * @public + * + * The output of {@link RenderMessageTemplateCommand}. + */ +export interface RenderMessageTemplateCommandOutput extends RenderMessageTemplateResponse, __MetadataBearer {} + +/** + *

Renders the Amazon Q in Connect message template based on the attribute values provided + * and generates the message content. For any variable present in the message template, if the + * attribute value is neither provided in the attribute request parameter nor the default + * attribute of the message template, the rendered message content will keep the variable + * placeholder as it is and return the attribute keys that are missing.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, RenderMessageTemplateCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, RenderMessageTemplateCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // RenderMessageTemplateRequest + * knowledgeBaseId: "STRING_VALUE", // required + * messageTemplateId: "STRING_VALUE", // required + * attributes: { // MessageTemplateAttributes + * systemAttributes: { // SystemAttributes + * name: "STRING_VALUE", + * customerEndpoint: { // SystemEndpointAttributes + * address: "STRING_VALUE", + * }, + * systemEndpoint: { + * address: "STRING_VALUE", + * }, + * }, + * agentAttributes: { // AgentAttributes + * firstName: "STRING_VALUE", + * lastName: "STRING_VALUE", + * }, + * customerProfileAttributes: { // CustomerProfileAttributes + * profileId: "STRING_VALUE", + * profileARN: "STRING_VALUE", + * firstName: "STRING_VALUE", + * middleName: "STRING_VALUE", + * lastName: "STRING_VALUE", + * accountNumber: "STRING_VALUE", + * emailAddress: "STRING_VALUE", + * phoneNumber: "STRING_VALUE", + * additionalInformation: "STRING_VALUE", + * partyType: "STRING_VALUE", + * businessName: "STRING_VALUE", + * birthDate: "STRING_VALUE", + * gender: "STRING_VALUE", + * mobilePhoneNumber: "STRING_VALUE", + * homePhoneNumber: "STRING_VALUE", + * businessPhoneNumber: "STRING_VALUE", + * businessEmailAddress: "STRING_VALUE", + * address1: "STRING_VALUE", + * address2: "STRING_VALUE", + * address3: "STRING_VALUE", + * address4: "STRING_VALUE", + * city: "STRING_VALUE", + * county: "STRING_VALUE", + * country: "STRING_VALUE", + * postalCode: "STRING_VALUE", + * province: "STRING_VALUE", + * state: "STRING_VALUE", + * shippingAddress1: "STRING_VALUE", + * shippingAddress2: "STRING_VALUE", + * shippingAddress3: "STRING_VALUE", + * shippingAddress4: "STRING_VALUE", + * shippingCity: "STRING_VALUE", + * shippingCounty: "STRING_VALUE", + * shippingCountry: "STRING_VALUE", + * shippingPostalCode: "STRING_VALUE", + * shippingProvince: "STRING_VALUE", + * shippingState: "STRING_VALUE", + * mailingAddress1: "STRING_VALUE", + * mailingAddress2: "STRING_VALUE", + * mailingAddress3: "STRING_VALUE", + * mailingAddress4: "STRING_VALUE", + * mailingCity: "STRING_VALUE", + * mailingCounty: "STRING_VALUE", + * mailingCountry: "STRING_VALUE", + * mailingPostalCode: "STRING_VALUE", + * mailingProvince: "STRING_VALUE", + * mailingState: "STRING_VALUE", + * billingAddress1: "STRING_VALUE", + * billingAddress2: "STRING_VALUE", + * billingAddress3: "STRING_VALUE", + * billingAddress4: "STRING_VALUE", + * billingCity: "STRING_VALUE", + * billingCounty: "STRING_VALUE", + * billingCountry: "STRING_VALUE", + * billingPostalCode: "STRING_VALUE", + * billingProvince: "STRING_VALUE", + * billingState: "STRING_VALUE", + * custom: { // CustomAttributes + * "": "STRING_VALUE", + * }, + * }, + * customAttributes: { + * "": "STRING_VALUE", + * }, + * }, + * }; + * const command = new RenderMessageTemplateCommand(input); + * const response = await client.send(command); + * // { // RenderMessageTemplateResponse + * // content: { // MessageTemplateContentProvider Union: only one key present + * // email: { // EmailMessageTemplateContent + * // subject: "STRING_VALUE", + * // body: { // EmailMessageTemplateContentBody + * // plainText: { // MessageTemplateBodyContentProvider Union: only one key present + * // content: "STRING_VALUE", + * // }, + * // html: {// Union: only one key present + * // content: "STRING_VALUE", + * // }, + * // }, + * // headers: [ // EmailHeaders + * // { // EmailHeader + * // name: "STRING_VALUE", + * // value: "STRING_VALUE", + * // }, + * // ], + * // }, + * // sms: { // SMSMessageTemplateContent + * // body: { // SMSMessageTemplateContentBody + * // plainText: {// Union: only one key present + * // content: "STRING_VALUE", + * // }, + * // }, + * // }, + * // }, + * // attributesNotInterpolated: [ // MessageTemplateAttributeKeyList + * // "STRING_VALUE", + * // ], + * // attachments: [ // MessageTemplateAttachmentList + * // { // MessageTemplateAttachment + * // contentDisposition: "STRING_VALUE", // required + * // name: "STRING_VALUE", // required + * // uploadedTime: new Date("TIMESTAMP"), // required + * // url: "STRING_VALUE", // required + * // urlExpiry: new Date("TIMESTAMP"), // required + * // attachmentId: "STRING_VALUE", // required + * // }, + * // ], + * // }; + * + * ``` + * + * @param RenderMessageTemplateCommandInput - {@link RenderMessageTemplateCommandInput} + * @returns {@link RenderMessageTemplateCommandOutput} + * @see {@link RenderMessageTemplateCommandInput} for command's `input` shape. + * @see {@link RenderMessageTemplateCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

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

The specified resource does not exist.

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

The throttling limit has been exceeded.

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

The input fails to satisfy the constraints specified by a service.

+ * + * @throws {@link QConnectServiceException} + *

Base exception class for all service exceptions from QConnect service.

+ * + * @public + */ +export class RenderMessageTemplateCommand extends $Command + .classBuilder< + RenderMessageTemplateCommandInput, + RenderMessageTemplateCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "RenderMessageTemplate", {}) + .n("QConnectClient", "RenderMessageTemplateCommand") + .f(RenderMessageTemplateRequestFilterSensitiveLog, RenderMessageTemplateResponseFilterSensitiveLog) + .ser(se_RenderMessageTemplateCommand) + .de(de_RenderMessageTemplateCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: RenderMessageTemplateRequest; + output: RenderMessageTemplateResponse; + }; + sdk: { + input: RenderMessageTemplateCommandInput; + output: RenderMessageTemplateCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/SearchContentCommand.ts b/clients/client-qconnect/src/commands/SearchContentCommand.ts index 4f2b2510d3eb..e44ce77d6270 100644 --- a/clients/client-qconnect/src/commands/SearchContentCommand.ts +++ b/clients/client-qconnect/src/commands/SearchContentCommand.ts @@ -5,7 +5,7 @@ import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; -import { SearchContentRequest, SearchContentResponse } from "../models/models_0"; +import { SearchContentRequest, SearchContentResponse } from "../models/models_1"; import { de_SearchContentCommand, se_SearchContentCommand } from "../protocols/Aws_restJson1"; import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; diff --git a/clients/client-qconnect/src/commands/SearchMessageTemplatesCommand.ts b/clients/client-qconnect/src/commands/SearchMessageTemplatesCommand.ts new file mode 100644 index 000000000000..3fa7d6d77169 --- /dev/null +++ b/clients/client-qconnect/src/commands/SearchMessageTemplatesCommand.ts @@ -0,0 +1,163 @@ +// 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 { commonParams } from "../endpoint/EndpointParameters"; +import { + SearchMessageTemplatesRequest, + SearchMessageTemplatesResponse, + SearchMessageTemplatesResponseFilterSensitiveLog, +} from "../models/models_1"; +import { de_SearchMessageTemplatesCommand, se_SearchMessageTemplatesCommand } from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link SearchMessageTemplatesCommand}. + */ +export interface SearchMessageTemplatesCommandInput extends SearchMessageTemplatesRequest {} +/** + * @public + * + * The output of {@link SearchMessageTemplatesCommand}. + */ +export interface SearchMessageTemplatesCommandOutput extends SearchMessageTemplatesResponse, __MetadataBearer {} + +/** + *

Searches for Amazon Q in Connect message templates in the specified knowledge base.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, SearchMessageTemplatesCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, SearchMessageTemplatesCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // SearchMessageTemplatesRequest + * knowledgeBaseId: "STRING_VALUE", // required + * searchExpression: { // MessageTemplateSearchExpression + * queries: [ // MessageTemplateQueryFieldList + * { // MessageTemplateQueryField + * name: "STRING_VALUE", // required + * values: [ // MessageTemplateQueryValueList // required + * "STRING_VALUE", + * ], + * operator: "STRING_VALUE", // required + * allowFuzziness: true || false, + * priority: "STRING_VALUE", + * }, + * ], + * filters: [ // MessageTemplateFilterFieldList + * { // MessageTemplateFilterField + * name: "STRING_VALUE", // required + * values: [ // MessageTemplateFilterValueList + * "STRING_VALUE", + * ], + * operator: "STRING_VALUE", // required + * includeNoExistence: true || false, + * }, + * ], + * orderOnField: { // MessageTemplateOrderField + * name: "STRING_VALUE", // required + * order: "STRING_VALUE", + * }, + * }, + * nextToken: "STRING_VALUE", + * maxResults: Number("int"), + * }; + * const command = new SearchMessageTemplatesCommand(input); + * const response = await client.send(command); + * // { // SearchMessageTemplatesResponse + * // results: [ // MessageTemplateSearchResultsList // required + * // { // MessageTemplateSearchResultData + * // messageTemplateArn: "STRING_VALUE", // required + * // messageTemplateId: "STRING_VALUE", // required + * // knowledgeBaseArn: "STRING_VALUE", // required + * // knowledgeBaseId: "STRING_VALUE", // required + * // name: "STRING_VALUE", // required + * // channelSubtype: "STRING_VALUE", // required + * // createdTime: new Date("TIMESTAMP"), // required + * // lastModifiedTime: new Date("TIMESTAMP"), // required + * // lastModifiedBy: "STRING_VALUE", // required + * // isActive: true || false, + * // versionNumber: Number("long"), + * // description: "STRING_VALUE", + * // groupingConfiguration: { // GroupingConfiguration + * // criteria: "STRING_VALUE", + * // values: [ // GroupingValues + * // "STRING_VALUE", + * // ], + * // }, + * // language: "STRING_VALUE", + * // tags: { // Tags + * // "": "STRING_VALUE", + * // }, + * // }, + * // ], + * // nextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param SearchMessageTemplatesCommandInput - {@link SearchMessageTemplatesCommandInput} + * @returns {@link SearchMessageTemplatesCommandOutput} + * @see {@link SearchMessageTemplatesCommandInput} for command's `input` shape. + * @see {@link SearchMessageTemplatesCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

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

The specified resource does not exist.

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

The throttling limit has been exceeded.

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

The input fails to satisfy the constraints specified by a service.

+ * + * @throws {@link QConnectServiceException} + *

Base exception class for all service exceptions from QConnect service.

+ * + * @public + */ +export class SearchMessageTemplatesCommand extends $Command + .classBuilder< + SearchMessageTemplatesCommandInput, + SearchMessageTemplatesCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "SearchMessageTemplates", {}) + .n("QConnectClient", "SearchMessageTemplatesCommand") + .f(void 0, SearchMessageTemplatesResponseFilterSensitiveLog) + .ser(se_SearchMessageTemplatesCommand) + .de(de_SearchMessageTemplatesCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: SearchMessageTemplatesRequest; + output: SearchMessageTemplatesResponse; + }; + sdk: { + input: SearchMessageTemplatesCommandInput; + output: SearchMessageTemplatesCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/SearchQuickResponsesCommand.ts b/clients/client-qconnect/src/commands/SearchQuickResponsesCommand.ts index 3b5b97a2b7ad..57d901ced83d 100644 --- a/clients/client-qconnect/src/commands/SearchQuickResponsesCommand.ts +++ b/clients/client-qconnect/src/commands/SearchQuickResponsesCommand.ts @@ -10,7 +10,7 @@ import { SearchQuickResponsesRequestFilterSensitiveLog, SearchQuickResponsesResponse, SearchQuickResponsesResponseFilterSensitiveLog, -} from "../models/models_0"; +} from "../models/models_1"; import { de_SearchQuickResponsesCommand, se_SearchQuickResponsesCommand } from "../protocols/Aws_restJson1"; import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; diff --git a/clients/client-qconnect/src/commands/StartContentUploadCommand.ts b/clients/client-qconnect/src/commands/StartContentUploadCommand.ts index eb531b5a5f9e..c61b85f094f1 100644 --- a/clients/client-qconnect/src/commands/StartContentUploadCommand.ts +++ b/clients/client-qconnect/src/commands/StartContentUploadCommand.ts @@ -9,7 +9,7 @@ import { StartContentUploadRequest, StartContentUploadResponse, StartContentUploadResponseFilterSensitiveLog, -} from "../models/models_0"; +} from "../models/models_1"; import { de_StartContentUploadCommand, se_StartContentUploadCommand } from "../protocols/Aws_restJson1"; import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; diff --git a/clients/client-qconnect/src/commands/StartImportJobCommand.ts b/clients/client-qconnect/src/commands/StartImportJobCommand.ts index d4dda3e8de6d..cb878997ec90 100644 --- a/clients/client-qconnect/src/commands/StartImportJobCommand.ts +++ b/clients/client-qconnect/src/commands/StartImportJobCommand.ts @@ -9,7 +9,7 @@ import { StartImportJobRequest, StartImportJobResponse, StartImportJobResponseFilterSensitiveLog, -} from "../models/models_0"; +} from "../models/models_1"; import { de_StartImportJobCommand, se_StartImportJobCommand } from "../protocols/Aws_restJson1"; import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; diff --git a/clients/client-qconnect/src/commands/TagResourceCommand.ts b/clients/client-qconnect/src/commands/TagResourceCommand.ts index e21c55099dbf..9b888d666c73 100644 --- a/clients/client-qconnect/src/commands/TagResourceCommand.ts +++ b/clients/client-qconnect/src/commands/TagResourceCommand.ts @@ -5,7 +5,7 @@ import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; -import { TagResourceRequest, TagResourceResponse } from "../models/models_0"; +import { TagResourceRequest, TagResourceResponse } from "../models/models_1"; import { de_TagResourceCommand, se_TagResourceCommand } from "../protocols/Aws_restJson1"; import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; diff --git a/clients/client-qconnect/src/commands/UntagResourceCommand.ts b/clients/client-qconnect/src/commands/UntagResourceCommand.ts index fe94dcb455c6..6a55fd7e118d 100644 --- a/clients/client-qconnect/src/commands/UntagResourceCommand.ts +++ b/clients/client-qconnect/src/commands/UntagResourceCommand.ts @@ -5,7 +5,7 @@ import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; -import { UntagResourceRequest, UntagResourceResponse } from "../models/models_0"; +import { UntagResourceRequest, UntagResourceResponse } from "../models/models_1"; import { de_UntagResourceCommand, se_UntagResourceCommand } from "../protocols/Aws_restJson1"; import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; diff --git a/clients/client-qconnect/src/commands/UpdateKnowledgeBaseTemplateUriCommand.ts b/clients/client-qconnect/src/commands/UpdateKnowledgeBaseTemplateUriCommand.ts index 2aebff813565..5717814b79ed 100644 --- a/clients/client-qconnect/src/commands/UpdateKnowledgeBaseTemplateUriCommand.ts +++ b/clients/client-qconnect/src/commands/UpdateKnowledgeBaseTemplateUriCommand.ts @@ -9,7 +9,7 @@ import { UpdateKnowledgeBaseTemplateUriRequest, UpdateKnowledgeBaseTemplateUriResponse, UpdateKnowledgeBaseTemplateUriResponseFilterSensitiveLog, -} from "../models/models_0"; +} from "../models/models_1"; import { de_UpdateKnowledgeBaseTemplateUriCommand, se_UpdateKnowledgeBaseTemplateUriCommand, diff --git a/clients/client-qconnect/src/commands/UpdateMessageTemplateCommand.ts b/clients/client-qconnect/src/commands/UpdateMessageTemplateCommand.ts new file mode 100644 index 000000000000..1013ef5cbd6f --- /dev/null +++ b/clients/client-qconnect/src/commands/UpdateMessageTemplateCommand.ts @@ -0,0 +1,358 @@ +// 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 { commonParams } from "../endpoint/EndpointParameters"; +import { + UpdateMessageTemplateRequest, + UpdateMessageTemplateRequestFilterSensitiveLog, + UpdateMessageTemplateResponse, + UpdateMessageTemplateResponseFilterSensitiveLog, +} from "../models/models_0"; +import { de_UpdateMessageTemplateCommand, se_UpdateMessageTemplateCommand } from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link UpdateMessageTemplateCommand}. + */ +export interface UpdateMessageTemplateCommandInput extends UpdateMessageTemplateRequest {} +/** + * @public + * + * The output of {@link UpdateMessageTemplateCommand}. + */ +export interface UpdateMessageTemplateCommandOutput extends UpdateMessageTemplateResponse, __MetadataBearer {} + +/** + *

Updates the Amazon Q in Connect message template. Partial update is supported. If any + * field is not supplied, it will remain unchanged for the message template that is referenced by + * the $LATEST qualifier. Any modification will only apply to the message template + * that is referenced by the $LATEST qualifier. The fields for all available + * versions will remain unchanged.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, UpdateMessageTemplateCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, UpdateMessageTemplateCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // UpdateMessageTemplateRequest + * knowledgeBaseId: "STRING_VALUE", // required + * messageTemplateId: "STRING_VALUE", // required + * content: { // MessageTemplateContentProvider Union: only one key present + * email: { // EmailMessageTemplateContent + * subject: "STRING_VALUE", + * body: { // EmailMessageTemplateContentBody + * plainText: { // MessageTemplateBodyContentProvider Union: only one key present + * content: "STRING_VALUE", + * }, + * html: {// Union: only one key present + * content: "STRING_VALUE", + * }, + * }, + * headers: [ // EmailHeaders + * { // EmailHeader + * name: "STRING_VALUE", + * value: "STRING_VALUE", + * }, + * ], + * }, + * sms: { // SMSMessageTemplateContent + * body: { // SMSMessageTemplateContentBody + * plainText: {// Union: only one key present + * content: "STRING_VALUE", + * }, + * }, + * }, + * }, + * language: "STRING_VALUE", + * defaultAttributes: { // MessageTemplateAttributes + * systemAttributes: { // SystemAttributes + * name: "STRING_VALUE", + * customerEndpoint: { // SystemEndpointAttributes + * address: "STRING_VALUE", + * }, + * systemEndpoint: { + * address: "STRING_VALUE", + * }, + * }, + * agentAttributes: { // AgentAttributes + * firstName: "STRING_VALUE", + * lastName: "STRING_VALUE", + * }, + * customerProfileAttributes: { // CustomerProfileAttributes + * profileId: "STRING_VALUE", + * profileARN: "STRING_VALUE", + * firstName: "STRING_VALUE", + * middleName: "STRING_VALUE", + * lastName: "STRING_VALUE", + * accountNumber: "STRING_VALUE", + * emailAddress: "STRING_VALUE", + * phoneNumber: "STRING_VALUE", + * additionalInformation: "STRING_VALUE", + * partyType: "STRING_VALUE", + * businessName: "STRING_VALUE", + * birthDate: "STRING_VALUE", + * gender: "STRING_VALUE", + * mobilePhoneNumber: "STRING_VALUE", + * homePhoneNumber: "STRING_VALUE", + * businessPhoneNumber: "STRING_VALUE", + * businessEmailAddress: "STRING_VALUE", + * address1: "STRING_VALUE", + * address2: "STRING_VALUE", + * address3: "STRING_VALUE", + * address4: "STRING_VALUE", + * city: "STRING_VALUE", + * county: "STRING_VALUE", + * country: "STRING_VALUE", + * postalCode: "STRING_VALUE", + * province: "STRING_VALUE", + * state: "STRING_VALUE", + * shippingAddress1: "STRING_VALUE", + * shippingAddress2: "STRING_VALUE", + * shippingAddress3: "STRING_VALUE", + * shippingAddress4: "STRING_VALUE", + * shippingCity: "STRING_VALUE", + * shippingCounty: "STRING_VALUE", + * shippingCountry: "STRING_VALUE", + * shippingPostalCode: "STRING_VALUE", + * shippingProvince: "STRING_VALUE", + * shippingState: "STRING_VALUE", + * mailingAddress1: "STRING_VALUE", + * mailingAddress2: "STRING_VALUE", + * mailingAddress3: "STRING_VALUE", + * mailingAddress4: "STRING_VALUE", + * mailingCity: "STRING_VALUE", + * mailingCounty: "STRING_VALUE", + * mailingCountry: "STRING_VALUE", + * mailingPostalCode: "STRING_VALUE", + * mailingProvince: "STRING_VALUE", + * mailingState: "STRING_VALUE", + * billingAddress1: "STRING_VALUE", + * billingAddress2: "STRING_VALUE", + * billingAddress3: "STRING_VALUE", + * billingAddress4: "STRING_VALUE", + * billingCity: "STRING_VALUE", + * billingCounty: "STRING_VALUE", + * billingCountry: "STRING_VALUE", + * billingPostalCode: "STRING_VALUE", + * billingProvince: "STRING_VALUE", + * billingState: "STRING_VALUE", + * custom: { // CustomAttributes + * "": "STRING_VALUE", + * }, + * }, + * customAttributes: { + * "": "STRING_VALUE", + * }, + * }, + * }; + * const command = new UpdateMessageTemplateCommand(input); + * const response = await client.send(command); + * // { // UpdateMessageTemplateResponse + * // messageTemplate: { // MessageTemplateData + * // messageTemplateArn: "STRING_VALUE", // required + * // messageTemplateId: "STRING_VALUE", // required + * // knowledgeBaseArn: "STRING_VALUE", // required + * // knowledgeBaseId: "STRING_VALUE", // required + * // name: "STRING_VALUE", // required + * // channelSubtype: "STRING_VALUE", // required + * // createdTime: new Date("TIMESTAMP"), // required + * // lastModifiedTime: new Date("TIMESTAMP"), // required + * // lastModifiedBy: "STRING_VALUE", // required + * // content: { // MessageTemplateContentProvider Union: only one key present + * // email: { // EmailMessageTemplateContent + * // subject: "STRING_VALUE", + * // body: { // EmailMessageTemplateContentBody + * // plainText: { // MessageTemplateBodyContentProvider Union: only one key present + * // content: "STRING_VALUE", + * // }, + * // html: {// Union: only one key present + * // content: "STRING_VALUE", + * // }, + * // }, + * // headers: [ // EmailHeaders + * // { // EmailHeader + * // name: "STRING_VALUE", + * // value: "STRING_VALUE", + * // }, + * // ], + * // }, + * // sms: { // SMSMessageTemplateContent + * // body: { // SMSMessageTemplateContentBody + * // plainText: {// Union: only one key present + * // content: "STRING_VALUE", + * // }, + * // }, + * // }, + * // }, + * // description: "STRING_VALUE", + * // language: "STRING_VALUE", + * // groupingConfiguration: { // GroupingConfiguration + * // criteria: "STRING_VALUE", + * // values: [ // GroupingValues + * // "STRING_VALUE", + * // ], + * // }, + * // defaultAttributes: { // MessageTemplateAttributes + * // systemAttributes: { // SystemAttributes + * // name: "STRING_VALUE", + * // customerEndpoint: { // SystemEndpointAttributes + * // address: "STRING_VALUE", + * // }, + * // systemEndpoint: { + * // address: "STRING_VALUE", + * // }, + * // }, + * // agentAttributes: { // AgentAttributes + * // firstName: "STRING_VALUE", + * // lastName: "STRING_VALUE", + * // }, + * // customerProfileAttributes: { // CustomerProfileAttributes + * // profileId: "STRING_VALUE", + * // profileARN: "STRING_VALUE", + * // firstName: "STRING_VALUE", + * // middleName: "STRING_VALUE", + * // lastName: "STRING_VALUE", + * // accountNumber: "STRING_VALUE", + * // emailAddress: "STRING_VALUE", + * // phoneNumber: "STRING_VALUE", + * // additionalInformation: "STRING_VALUE", + * // partyType: "STRING_VALUE", + * // businessName: "STRING_VALUE", + * // birthDate: "STRING_VALUE", + * // gender: "STRING_VALUE", + * // mobilePhoneNumber: "STRING_VALUE", + * // homePhoneNumber: "STRING_VALUE", + * // businessPhoneNumber: "STRING_VALUE", + * // businessEmailAddress: "STRING_VALUE", + * // address1: "STRING_VALUE", + * // address2: "STRING_VALUE", + * // address3: "STRING_VALUE", + * // address4: "STRING_VALUE", + * // city: "STRING_VALUE", + * // county: "STRING_VALUE", + * // country: "STRING_VALUE", + * // postalCode: "STRING_VALUE", + * // province: "STRING_VALUE", + * // state: "STRING_VALUE", + * // shippingAddress1: "STRING_VALUE", + * // shippingAddress2: "STRING_VALUE", + * // shippingAddress3: "STRING_VALUE", + * // shippingAddress4: "STRING_VALUE", + * // shippingCity: "STRING_VALUE", + * // shippingCounty: "STRING_VALUE", + * // shippingCountry: "STRING_VALUE", + * // shippingPostalCode: "STRING_VALUE", + * // shippingProvince: "STRING_VALUE", + * // shippingState: "STRING_VALUE", + * // mailingAddress1: "STRING_VALUE", + * // mailingAddress2: "STRING_VALUE", + * // mailingAddress3: "STRING_VALUE", + * // mailingAddress4: "STRING_VALUE", + * // mailingCity: "STRING_VALUE", + * // mailingCounty: "STRING_VALUE", + * // mailingCountry: "STRING_VALUE", + * // mailingPostalCode: "STRING_VALUE", + * // mailingProvince: "STRING_VALUE", + * // mailingState: "STRING_VALUE", + * // billingAddress1: "STRING_VALUE", + * // billingAddress2: "STRING_VALUE", + * // billingAddress3: "STRING_VALUE", + * // billingAddress4: "STRING_VALUE", + * // billingCity: "STRING_VALUE", + * // billingCounty: "STRING_VALUE", + * // billingCountry: "STRING_VALUE", + * // billingPostalCode: "STRING_VALUE", + * // billingProvince: "STRING_VALUE", + * // billingState: "STRING_VALUE", + * // custom: { // CustomAttributes + * // "": "STRING_VALUE", + * // }, + * // }, + * // customAttributes: { + * // "": "STRING_VALUE", + * // }, + * // }, + * // attributeTypes: [ // MessageTemplateAttributeTypeList + * // "STRING_VALUE", + * // ], + * // messageTemplateContentSha256: "STRING_VALUE", // required + * // tags: { // Tags + * // "": "STRING_VALUE", + * // }, + * // }, + * // }; + * + * ``` + * + * @param UpdateMessageTemplateCommandInput - {@link UpdateMessageTemplateCommandInput} + * @returns {@link UpdateMessageTemplateCommandOutput} + * @see {@link UpdateMessageTemplateCommandInput} for command's `input` shape. + * @see {@link UpdateMessageTemplateCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

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

The request could not be processed because of conflict in the current state of the + * resource. For example, if you're using a Create API (such as + * CreateAssistant) that accepts name, a conflicting resource (usually with the + * same name) is being created or mutated.

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

The specified resource does not exist.

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

The throttling limit has been exceeded.

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

The input fails to satisfy the constraints specified by a service.

+ * + * @throws {@link QConnectServiceException} + *

Base exception class for all service exceptions from QConnect service.

+ * + * @public + */ +export class UpdateMessageTemplateCommand extends $Command + .classBuilder< + UpdateMessageTemplateCommandInput, + UpdateMessageTemplateCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "UpdateMessageTemplate", {}) + .n("QConnectClient", "UpdateMessageTemplateCommand") + .f(UpdateMessageTemplateRequestFilterSensitiveLog, UpdateMessageTemplateResponseFilterSensitiveLog) + .ser(se_UpdateMessageTemplateCommand) + .de(de_UpdateMessageTemplateCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: UpdateMessageTemplateRequest; + output: UpdateMessageTemplateResponse; + }; + sdk: { + input: UpdateMessageTemplateCommandInput; + output: UpdateMessageTemplateCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/UpdateMessageTemplateMetadataCommand.ts b/clients/client-qconnect/src/commands/UpdateMessageTemplateMetadataCommand.ts new file mode 100644 index 000000000000..551cb64f2cab --- /dev/null +++ b/clients/client-qconnect/src/commands/UpdateMessageTemplateMetadataCommand.ts @@ -0,0 +1,264 @@ +// 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 { commonParams } from "../endpoint/EndpointParameters"; +import { + UpdateMessageTemplateMetadataRequest, + UpdateMessageTemplateMetadataRequestFilterSensitiveLog, + UpdateMessageTemplateMetadataResponse, + UpdateMessageTemplateMetadataResponseFilterSensitiveLog, +} from "../models/models_0"; +import { + de_UpdateMessageTemplateMetadataCommand, + se_UpdateMessageTemplateMetadataCommand, +} from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link UpdateMessageTemplateMetadataCommand}. + */ +export interface UpdateMessageTemplateMetadataCommandInput extends UpdateMessageTemplateMetadataRequest {} +/** + * @public + * + * The output of {@link UpdateMessageTemplateMetadataCommand}. + */ +export interface UpdateMessageTemplateMetadataCommandOutput + extends UpdateMessageTemplateMetadataResponse, + __MetadataBearer {} + +/** + *

Updates the Amazon Q in Connect message template metadata. Note that any modification to + * the message template’s name, description and grouping configuration will applied to the + * message template pointed by the $LATEST qualifier and all available versions. + * Partial update is supported. If any field is not supplied, it will remain unchanged for the + * message template.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, UpdateMessageTemplateMetadataCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, UpdateMessageTemplateMetadataCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // UpdateMessageTemplateMetadataRequest + * knowledgeBaseId: "STRING_VALUE", // required + * messageTemplateId: "STRING_VALUE", // required + * name: "STRING_VALUE", + * description: "STRING_VALUE", + * groupingConfiguration: { // GroupingConfiguration + * criteria: "STRING_VALUE", + * values: [ // GroupingValues + * "STRING_VALUE", + * ], + * }, + * }; + * const command = new UpdateMessageTemplateMetadataCommand(input); + * const response = await client.send(command); + * // { // UpdateMessageTemplateMetadataResponse + * // messageTemplate: { // MessageTemplateData + * // messageTemplateArn: "STRING_VALUE", // required + * // messageTemplateId: "STRING_VALUE", // required + * // knowledgeBaseArn: "STRING_VALUE", // required + * // knowledgeBaseId: "STRING_VALUE", // required + * // name: "STRING_VALUE", // required + * // channelSubtype: "STRING_VALUE", // required + * // createdTime: new Date("TIMESTAMP"), // required + * // lastModifiedTime: new Date("TIMESTAMP"), // required + * // lastModifiedBy: "STRING_VALUE", // required + * // content: { // MessageTemplateContentProvider Union: only one key present + * // email: { // EmailMessageTemplateContent + * // subject: "STRING_VALUE", + * // body: { // EmailMessageTemplateContentBody + * // plainText: { // MessageTemplateBodyContentProvider Union: only one key present + * // content: "STRING_VALUE", + * // }, + * // html: {// Union: only one key present + * // content: "STRING_VALUE", + * // }, + * // }, + * // headers: [ // EmailHeaders + * // { // EmailHeader + * // name: "STRING_VALUE", + * // value: "STRING_VALUE", + * // }, + * // ], + * // }, + * // sms: { // SMSMessageTemplateContent + * // body: { // SMSMessageTemplateContentBody + * // plainText: {// Union: only one key present + * // content: "STRING_VALUE", + * // }, + * // }, + * // }, + * // }, + * // description: "STRING_VALUE", + * // language: "STRING_VALUE", + * // groupingConfiguration: { // GroupingConfiguration + * // criteria: "STRING_VALUE", + * // values: [ // GroupingValues + * // "STRING_VALUE", + * // ], + * // }, + * // defaultAttributes: { // MessageTemplateAttributes + * // systemAttributes: { // SystemAttributes + * // name: "STRING_VALUE", + * // customerEndpoint: { // SystemEndpointAttributes + * // address: "STRING_VALUE", + * // }, + * // systemEndpoint: { + * // address: "STRING_VALUE", + * // }, + * // }, + * // agentAttributes: { // AgentAttributes + * // firstName: "STRING_VALUE", + * // lastName: "STRING_VALUE", + * // }, + * // customerProfileAttributes: { // CustomerProfileAttributes + * // profileId: "STRING_VALUE", + * // profileARN: "STRING_VALUE", + * // firstName: "STRING_VALUE", + * // middleName: "STRING_VALUE", + * // lastName: "STRING_VALUE", + * // accountNumber: "STRING_VALUE", + * // emailAddress: "STRING_VALUE", + * // phoneNumber: "STRING_VALUE", + * // additionalInformation: "STRING_VALUE", + * // partyType: "STRING_VALUE", + * // businessName: "STRING_VALUE", + * // birthDate: "STRING_VALUE", + * // gender: "STRING_VALUE", + * // mobilePhoneNumber: "STRING_VALUE", + * // homePhoneNumber: "STRING_VALUE", + * // businessPhoneNumber: "STRING_VALUE", + * // businessEmailAddress: "STRING_VALUE", + * // address1: "STRING_VALUE", + * // address2: "STRING_VALUE", + * // address3: "STRING_VALUE", + * // address4: "STRING_VALUE", + * // city: "STRING_VALUE", + * // county: "STRING_VALUE", + * // country: "STRING_VALUE", + * // postalCode: "STRING_VALUE", + * // province: "STRING_VALUE", + * // state: "STRING_VALUE", + * // shippingAddress1: "STRING_VALUE", + * // shippingAddress2: "STRING_VALUE", + * // shippingAddress3: "STRING_VALUE", + * // shippingAddress4: "STRING_VALUE", + * // shippingCity: "STRING_VALUE", + * // shippingCounty: "STRING_VALUE", + * // shippingCountry: "STRING_VALUE", + * // shippingPostalCode: "STRING_VALUE", + * // shippingProvince: "STRING_VALUE", + * // shippingState: "STRING_VALUE", + * // mailingAddress1: "STRING_VALUE", + * // mailingAddress2: "STRING_VALUE", + * // mailingAddress3: "STRING_VALUE", + * // mailingAddress4: "STRING_VALUE", + * // mailingCity: "STRING_VALUE", + * // mailingCounty: "STRING_VALUE", + * // mailingCountry: "STRING_VALUE", + * // mailingPostalCode: "STRING_VALUE", + * // mailingProvince: "STRING_VALUE", + * // mailingState: "STRING_VALUE", + * // billingAddress1: "STRING_VALUE", + * // billingAddress2: "STRING_VALUE", + * // billingAddress3: "STRING_VALUE", + * // billingAddress4: "STRING_VALUE", + * // billingCity: "STRING_VALUE", + * // billingCounty: "STRING_VALUE", + * // billingCountry: "STRING_VALUE", + * // billingPostalCode: "STRING_VALUE", + * // billingProvince: "STRING_VALUE", + * // billingState: "STRING_VALUE", + * // custom: { // CustomAttributes + * // "": "STRING_VALUE", + * // }, + * // }, + * // customAttributes: { + * // "": "STRING_VALUE", + * // }, + * // }, + * // attributeTypes: [ // MessageTemplateAttributeTypeList + * // "STRING_VALUE", + * // ], + * // messageTemplateContentSha256: "STRING_VALUE", // required + * // tags: { // Tags + * // "": "STRING_VALUE", + * // }, + * // }, + * // }; + * + * ``` + * + * @param UpdateMessageTemplateMetadataCommandInput - {@link UpdateMessageTemplateMetadataCommandInput} + * @returns {@link UpdateMessageTemplateMetadataCommandOutput} + * @see {@link UpdateMessageTemplateMetadataCommandInput} for command's `input` shape. + * @see {@link UpdateMessageTemplateMetadataCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

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

The request could not be processed because of conflict in the current state of the + * resource. For example, if you're using a Create API (such as + * CreateAssistant) that accepts name, a conflicting resource (usually with the + * same name) is being created or mutated.

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

The specified resource does not exist.

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

The throttling limit has been exceeded.

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

The input fails to satisfy the constraints specified by a service.

+ * + * @throws {@link QConnectServiceException} + *

Base exception class for all service exceptions from QConnect service.

+ * + * @public + */ +export class UpdateMessageTemplateMetadataCommand extends $Command + .classBuilder< + UpdateMessageTemplateMetadataCommandInput, + UpdateMessageTemplateMetadataCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "UpdateMessageTemplateMetadata", {}) + .n("QConnectClient", "UpdateMessageTemplateMetadataCommand") + .f(UpdateMessageTemplateMetadataRequestFilterSensitiveLog, UpdateMessageTemplateMetadataResponseFilterSensitiveLog) + .ser(se_UpdateMessageTemplateMetadataCommand) + .de(de_UpdateMessageTemplateMetadataCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: UpdateMessageTemplateMetadataRequest; + output: UpdateMessageTemplateMetadataResponse; + }; + sdk: { + input: UpdateMessageTemplateMetadataCommandInput; + output: UpdateMessageTemplateMetadataCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/index.ts b/clients/client-qconnect/src/commands/index.ts index ed086e356d6a..6143dfbe4ead 100644 --- a/clients/client-qconnect/src/commands/index.ts +++ b/clients/client-qconnect/src/commands/index.ts @@ -1,4 +1,5 @@ // smithy-typescript generated code +export * from "./ActivateMessageTemplateCommand"; export * from "./CreateAIAgentCommand"; export * from "./CreateAIAgentVersionCommand"; export * from "./CreateAIPromptCommand"; @@ -8,8 +9,12 @@ export * from "./CreateAssistantCommand"; export * from "./CreateContentAssociationCommand"; export * from "./CreateContentCommand"; export * from "./CreateKnowledgeBaseCommand"; +export * from "./CreateMessageTemplateAttachmentCommand"; +export * from "./CreateMessageTemplateCommand"; +export * from "./CreateMessageTemplateVersionCommand"; export * from "./CreateQuickResponseCommand"; export * from "./CreateSessionCommand"; +export * from "./DeactivateMessageTemplateCommand"; export * from "./DeleteAIAgentCommand"; export * from "./DeleteAIAgentVersionCommand"; export * from "./DeleteAIPromptCommand"; @@ -20,6 +25,8 @@ export * from "./DeleteContentAssociationCommand"; export * from "./DeleteContentCommand"; export * from "./DeleteImportJobCommand"; export * from "./DeleteKnowledgeBaseCommand"; +export * from "./DeleteMessageTemplateAttachmentCommand"; +export * from "./DeleteMessageTemplateCommand"; export * from "./DeleteQuickResponseCommand"; export * from "./GetAIAgentCommand"; export * from "./GetAIPromptCommand"; @@ -30,6 +37,7 @@ export * from "./GetContentCommand"; export * from "./GetContentSummaryCommand"; export * from "./GetImportJobCommand"; export * from "./GetKnowledgeBaseCommand"; +export * from "./GetMessageTemplateCommand"; export * from "./GetQuickResponseCommand"; export * from "./GetRecommendationsCommand"; export * from "./GetSessionCommand"; @@ -43,6 +51,8 @@ export * from "./ListContentAssociationsCommand"; export * from "./ListContentsCommand"; export * from "./ListImportJobsCommand"; export * from "./ListKnowledgeBasesCommand"; +export * from "./ListMessageTemplateVersionsCommand"; +export * from "./ListMessageTemplatesCommand"; export * from "./ListQuickResponsesCommand"; export * from "./ListTagsForResourceCommand"; export * from "./NotifyRecommendationsReceivedCommand"; @@ -50,7 +60,9 @@ export * from "./PutFeedbackCommand"; export * from "./QueryAssistantCommand"; export * from "./RemoveAssistantAIAgentCommand"; export * from "./RemoveKnowledgeBaseTemplateUriCommand"; +export * from "./RenderMessageTemplateCommand"; export * from "./SearchContentCommand"; +export * from "./SearchMessageTemplatesCommand"; export * from "./SearchQuickResponsesCommand"; export * from "./SearchSessionsCommand"; export * from "./StartContentUploadCommand"; @@ -62,6 +74,8 @@ export * from "./UpdateAIPromptCommand"; export * from "./UpdateAssistantAIAgentCommand"; export * from "./UpdateContentCommand"; export * from "./UpdateKnowledgeBaseTemplateUriCommand"; +export * from "./UpdateMessageTemplateCommand"; +export * from "./UpdateMessageTemplateMetadataCommand"; export * from "./UpdateQuickResponseCommand"; export * from "./UpdateSessionCommand"; export * from "./UpdateSessionDataCommand"; diff --git a/clients/client-qconnect/src/models/index.ts b/clients/client-qconnect/src/models/index.ts index 9eaceb12865f..1657800f73ce 100644 --- a/clients/client-qconnect/src/models/index.ts +++ b/clients/client-qconnect/src/models/index.ts @@ -1,2 +1,3 @@ // smithy-typescript generated code export * from "./models_0"; +export * from "./models_1"; diff --git a/clients/client-qconnect/src/models/models_0.ts b/clients/client-qconnect/src/models/models_0.ts index 646201ab7345..c845fb51e1e2 100644 --- a/clients/client-qconnect/src/models/models_0.ts +++ b/clients/client-qconnect/src/models/models_0.ts @@ -23,6 +23,53 @@ export class AccessDeniedException extends __BaseException { } } +/** + * @public + */ +export interface ActivateMessageTemplateRequest { + /** + *

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain + * the ARN.

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

The identifier of the message template. Can be either the ID or the ARN. It cannot contain any qualifier.

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

The version number of the message template version to activate.

+ * @public + */ + versionNumber: number | undefined; +} + +/** + * @public + */ +export interface ActivateMessageTemplateResponse { + /** + *

The Amazon Resource Name (ARN) of the message template.

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

The identifier of the message template.

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

The version number of the message template version that is activated.

+ * @public + */ + versionNumber: number | undefined; +} + /** *

The request could not be processed because of conflict in the current state of the * resource. For example, if you're using a Create API (such as @@ -46,6 +93,92 @@ export class ConflictException extends __BaseException { } } +/** + *

The specified resource does not exist.

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

The specified resource name.

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

The throttling limit has been exceeded.

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

The input fails to satisfy the constraints specified by a service.

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

Information about an agent.

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

The agent’s first name as entered in their Amazon Connect user account.

+ * @public + */ + firstName?: string | undefined; + + /** + *

The agent’s last name as entered in their Amazon Connect user account.

+ * @public + */ + lastName?: string | undefined; +} + /** *

A leaf node condition which can be used to specify a tag condition.

* @public @@ -247,8 +380,8 @@ export type AssociationConfigurationData = */ export namespace AssociationConfigurationData { /** - *

The data of the configuration for a KNOWLEDGE_BASE type Amazon Q in Connect Assistant - * Association.

+ *

The data of the configuration for a KNOWLEDGE_BASE type Amazon Q in Connect + * Assistant Association.

* @public */ export interface KnowledgeBaseAssociationConfigurationDataMember { @@ -457,8 +590,9 @@ export type VisibilityStatus = (typeof VisibilityStatus)[keyof typeof Visibility export interface CreateAIAgentRequest { /** *

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

+ * 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 | undefined; @@ -637,33 +771,6 @@ export interface CreateAIAgentResponse { aiAgent?: AIAgentData | undefined; } -/** - *

The specified resource does not exist.

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

The specified resource name.

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

You've exceeded your service quota. To perform the requested action, remove some of the * relevant resources, or use service quotas to request a service quota increase.

@@ -685,47 +792,6 @@ export class ServiceQuotaExceededException extends __BaseException { } } -/** - *

The throttling limit has been exceeded.

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

The input fails to satisfy the constraints specified by a service.

- * @public - */ -export class ValidationException extends __BaseException { - readonly name: "ValidationException" = "ValidationException"; - readonly $fault: "client" = "client"; - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "ValidationException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, ValidationException.prototype); - } -} - /** * @public */ @@ -755,8 +821,9 @@ export interface CreateAIAgentVersionRequest { /** *

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

+ * 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 | undefined; @@ -1090,8 +1157,9 @@ export interface ListAIAgentVersionsResponse { export interface UpdateAIAgentRequest { /** *

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

+ * 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 | undefined; @@ -1256,8 +1324,9 @@ export type AIPromptType = (typeof AIPromptType)[keyof typeof AIPromptType]; export interface CreateAIPromptRequest { /** *

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

+ * 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 | undefined; @@ -1468,8 +1537,9 @@ export interface CreateAIPromptVersionRequest { /** *

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

+ * 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 | undefined; @@ -1814,8 +1884,9 @@ export interface ListAIPromptVersionsResponse { export interface UpdateAIPromptRequest { /** *

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

+ * 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 | undefined; @@ -2031,7 +2102,7 @@ export interface CreateAssistantAssociationRequest { *

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.

+ * Making retries safe with idempotent APIs.

* @public */ clientToken?: string | undefined; @@ -2335,7 +2406,7 @@ export interface CreateAssistantRequest { *

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.

+ * Making retries safe with idempotent APIs.

* @public */ clientToken?: string | undefined; @@ -2785,7 +2856,8 @@ export interface SourceContentDataDetails { rankingData: RankingData | undefined; /** - *

Contains information about where the text with a citation begins and ends in the generated output.

+ *

Contains information about where the text with a citation begins and ends in the generated + * output.

* @public */ citationSpan?: CitationSpan | undefined; @@ -3843,7 +3915,7 @@ export interface CreateSessionRequest { *

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.

+ * Making retries safe with idempotent APIs.

* @public */ clientToken?: string | undefined; @@ -4239,6 +4311,20 @@ export interface BedrockFoundationModelConfigurationForParsing { parsingPrompt?: ParsingPrompt | undefined; } +/** + * @public + * @enum + */ +export const ChannelSubtype = { + EMAIL: "EMAIL", + SMS: "SMS", +} as const; + +/** + * @public + */ +export type ChannelSubtype = (typeof ChannelSubtype)[keyof typeof ChannelSubtype]; + /** * @public * @enum @@ -4485,7 +4571,7 @@ export interface CreateContentAssociationRequest { *

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.

+ * Making retries safe with idempotent APIs.

* @public */ clientToken?: string | undefined; @@ -4810,7 +4896,7 @@ export interface CreateContentRequest { *

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.

+ * Making retries safe with idempotent APIs.

* @public */ clientToken?: string | undefined; @@ -5228,6 +5314,19 @@ export interface UpdateContentResponse { content?: ContentData | undefined; } +/** + * @public + * @enum + */ +export const ContentDisposition = { + ATTACHMENT: "ATTACHMENT", +} as const; + +/** + * @public + */ +export type ContentDisposition = (typeof ContentDisposition)[keyof typeof ContentDisposition]; + /** * @public * @enum @@ -5533,7 +5632,7 @@ export interface CreateKnowledgeBaseRequest { *

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.

+ * Making retries safe with idempotent APIs.

* @public */ clientToken?: string | undefined; @@ -5553,8 +5652,8 @@ export interface CreateKnowledgeBaseRequest { knowledgeBaseType: KnowledgeBaseType | undefined; /** - *

The source of the knowledge base content. Only set this argument for EXTERNAL knowledge - * bases.

+ *

The source of the knowledge base content. Only set this argument for EXTERNAL or Managed + * knowledge bases.

* @public */ sourceConfiguration?: SourceConfiguration | undefined; @@ -5739,19 +5838,19 @@ export interface CreateKnowledgeBaseResponse { } /** - *

The container of quick response data.

+ *

The container of the message template body.

* @public */ -export type QuickResponseDataProvider = - | QuickResponseDataProvider.ContentMember - | QuickResponseDataProvider.$UnknownMember; +export type MessageTemplateBodyContentProvider = + | MessageTemplateBodyContentProvider.ContentMember + | MessageTemplateBodyContentProvider.$UnknownMember; /** * @public */ -export namespace QuickResponseDataProvider { +export namespace MessageTemplateBodyContentProvider { /** - *

The content of the quick response.

+ *

The content of the message template.

* @public */ export interface ContentMember { @@ -5772,158 +5871,131 @@ export namespace QuickResponseDataProvider { _: (name: string, value: any) => T; } - export const visit = (value: QuickResponseDataProvider, visitor: Visitor): T => { + export const visit = (value: MessageTemplateBodyContentProvider, visitor: Visitor): T => { if (value.content !== undefined) return visitor.content(value.content); return visitor._(value.$unknown[0], value.$unknown[1]); }; } /** - *

The configuration information of the grouping of Amazon Q in Connect users.

+ *

The body to use in email messages.

* @public */ -export interface GroupingConfiguration { +export interface EmailMessageTemplateContentBody { /** - *

The criteria used for grouping Amazon Q in Connect users.

- *

The following is the list of supported criteria values.

- * + *

The message body, in plain text format, to use in email messages that are based on the + * message template. We recommend using plain text format for email clients that don't render + * HTML content and clients that are connected to high-latency networks, such as mobile + * devices.

* @public */ - criteria?: string | undefined; + plainText?: MessageTemplateBodyContentProvider | undefined; /** - *

The list of values that define different groups of Amazon Q in Connect users.

- * + *

The message body, in HTML format, to use in email messages that are based on the message + * template. We recommend using HTML format for email clients that render HTML content. You can + * include links, formatted text, and more in an HTML message.

* @public */ - values?: string[] | undefined; + html?: MessageTemplateBodyContentProvider | undefined; } /** + *

The email header to include in email messages.

* @public */ -export interface CreateQuickResponseRequest { +export interface EmailHeader { /** - *

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

+ *

The name of the email header.

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

The name of the quick response.

+ *

The value of the email header.

* @public */ - name: string | undefined; + value?: string | undefined; +} +/** + *

The content of the message template that applies to the email channel subtype.

+ * @public + */ +export interface EmailMessageTemplateContent { /** - *

The content of the quick response.

+ *

The subject line, or title, to use in email messages.

* @public */ - content: QuickResponseDataProvider | undefined; + subject?: string | undefined; /** - *

The media type of the quick response content.

- *
    - *
  • - *

    Use application/x.quickresponse;format=plain for a quick response written - * in plain text.

    - *
  • - *
  • - *

    Use application/x.quickresponse;format=markdown for a quick response - * written in richtext.

    - *
  • - *
- * @public - */ - contentType?: string | undefined; - - /** - *

The configuration information of the user groups that the quick response is accessible - * to.

- * @public - */ - groupingConfiguration?: GroupingConfiguration | undefined; - - /** - *

The description of the quick response.

- * @public - */ - description?: string | undefined; - - /** - *

The shortcut key of the quick response. The value should be unique across the - * knowledge base.

- * @public - */ - shortcutKey?: string | undefined; - - /** - *

Whether the quick response is active.

- * @public - */ - isActive?: boolean | undefined; - - /** - *

The Amazon Connect channels this quick response applies to.

+ *

The body to use in email messages.

* @public */ - channels?: string[] | undefined; + body?: EmailMessageTemplateContentBody | undefined; /** - *

The language code value for the language in which the quick response is written. The supported language codes include de_DE, en_US, es_ES, - * fr_FR, id_ID, it_IT, ja_JP, ko_KR, pt_BR, - * zh_CN, zh_TW - *

+ *

The email headers to include in email messages.

* @public */ - language?: string | undefined; + headers?: EmailHeader[] | undefined; +} +/** + *

The body to use in SMS messages.

+ * @public + */ +export interface SMSMessageTemplateContentBody { /** - *

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.

+ *

The message body to use in SMS messages.

* @public */ - clientToken?: string | undefined; + plainText?: MessageTemplateBodyContentProvider | undefined; +} +/** + *

The content of the message template that applies to the SMS channel subtype.

+ * @public + */ +export interface SMSMessageTemplateContent { /** - *

The tags used to organize, track, or control access for this resource.

+ *

The body to use in SMS messages.

* @public */ - tags?: Record | undefined; + body?: SMSMessageTemplateContentBody | undefined; } /** - *

The container quick response content.

+ *

The container of message template content.

* @public */ -export type QuickResponseContentProvider = - | QuickResponseContentProvider.ContentMember - | QuickResponseContentProvider.$UnknownMember; +export type MessageTemplateContentProvider = + | MessageTemplateContentProvider.EmailMember + | MessageTemplateContentProvider.SmsMember + | MessageTemplateContentProvider.$UnknownMember; /** * @public */ -export namespace QuickResponseContentProvider { +export namespace MessageTemplateContentProvider { /** - *

The content of the quick response.

+ *

The content of the message template that applies to the email channel subtype.

* @public */ - export interface ContentMember { - content: string; + export interface EmailMember { + email: EmailMessageTemplateContent; + sms?: never; + $unknown?: never; + } + + /** + *

The content of the message template that applies to the SMS channel subtype.

+ * @public + */ + export interface SmsMember { + email?: never; + sms: SMSMessageTemplateContent; $unknown?: never; } @@ -5931,619 +6003,588 @@ export namespace QuickResponseContentProvider { * @public */ export interface $UnknownMember { - content?: never; + email?: never; + sms?: never; $unknown: [string, any]; } export interface Visitor { - content: (value: string) => T; + email: (value: EmailMessageTemplateContent) => T; + sms: (value: SMSMessageTemplateContent) => T; _: (name: string, value: any) => T; } - export const visit = (value: QuickResponseContentProvider, visitor: Visitor): T => { - if (value.content !== undefined) return visitor.content(value.content); + export const visit = (value: MessageTemplateContentProvider, visitor: Visitor): T => { + if (value.email !== undefined) return visitor.email(value.email); + if (value.sms !== undefined) return visitor.sms(value.sms); return visitor._(value.$unknown[0], value.$unknown[1]); }; } /** - *

The content of the quick response stored in different media types.

+ *

The customer profile attributes that are used with the message template.

* @public */ -export interface QuickResponseContents { +export interface CustomerProfileAttributes { /** - *

The container quick response content.

+ *

The unique identifier of a customer profile.

* @public */ - plainText?: QuickResponseContentProvider | undefined; + profileId?: string | undefined; /** - *

The container quick response content.

+ *

The ARN of a customer profile.

* @public */ - markdown?: QuickResponseContentProvider | undefined; -} + profileARN?: string | undefined; -/** - * @public - * @enum - */ -export const QuickResponseStatus = { - CREATED: "CREATED", - CREATE_FAILED: "CREATE_FAILED", - CREATE_IN_PROGRESS: "CREATE_IN_PROGRESS", - DELETED: "DELETED", - DELETE_FAILED: "DELETE_FAILED", - DELETE_IN_PROGRESS: "DELETE_IN_PROGRESS", - UPDATE_FAILED: "UPDATE_FAILED", - UPDATE_IN_PROGRESS: "UPDATE_IN_PROGRESS", -} as const; + /** + *

The customer's first name.

+ * @public + */ + firstName?: string | undefined; -/** - * @public - */ -export type QuickResponseStatus = (typeof QuickResponseStatus)[keyof typeof QuickResponseStatus]; + /** + *

The customer's middle name.

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

Information about the quick response.

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

The Amazon Resource Name (ARN) of the quick response.

+ *

The customer's last name.

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

The identifier of the quick response.

+ *

A unique account number that you have given to the customer.

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

The Amazon Resource Name (ARN) of the knowledge base.

+ *

The customer's email address, which has not been specified as a personal or business + * address.

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

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

+ *

The customer's phone number, which has not been specified as a mobile, home, or business + * number.

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

The name of the quick response.

+ *

Any additional information relevant to the customer's profile.

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

The media type of the quick response content.

- *
    - *
  • - *

    Use application/x.quickresponse;format=plain for quick response written - * in plain text.

    - *
  • - *
  • - *

    Use application/x.quickresponse;format=markdown for quick response - * written in richtext.

    - *
  • - *
+ *

The customer's party type.

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

The status of the quick response data.

+ *

The name of the customer's business.

* @public */ - status: QuickResponseStatus | undefined; + businessName?: string | undefined; /** - *

The timestamp when the quick response was created.

+ *

The customer's birth date.

* @public */ - createdTime: Date | undefined; + birthDate?: string | undefined; /** - *

The timestamp when the quick response data was last modified.

+ *

The customer's gender.

* @public */ - lastModifiedTime: Date | undefined; + gender?: string | undefined; /** - *

The contents of the quick response.

+ *

The customer's mobile phone number.

* @public */ - contents?: QuickResponseContents | undefined; + mobilePhoneNumber?: string | undefined; /** - *

The description of the quick response.

+ *

The customer's mobile phone number.

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

The configuration information of the user groups that the quick response is accessible - * to.

+ *

The customer's business phone number.

* @public */ - groupingConfiguration?: GroupingConfiguration | undefined; + businessPhoneNumber?: string | undefined; /** - *

The shortcut key of the quick response. The value should be unique across the - * knowledge base.

+ *

The customer's business email address.

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

The Amazon Resource Name (ARN) of the user who last updated the quick response - * data.

+ *

The first line of a customer address.

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

Whether the quick response is active.

+ *

The second line of a customer address.

* @public */ - isActive?: boolean | undefined; + address2?: string | undefined; /** - *

The Amazon Connect contact channels this quick response applies to. - * The supported contact channel types include Chat.

+ *

The third line of a customer address.

* @public */ - channels?: string[] | undefined; + address3?: string | undefined; /** - *

The language code value for the language in which the quick response is written.

+ *

The fourth line of a customer address.

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

The tags used to organize, track, or control access for this resource.

+ *

The city in which a customer lives.

* @public */ - tags?: Record | undefined; -} + city?: string | undefined; -/** - * @public - */ -export interface CreateQuickResponseResponse { /** - *

The quick response.

+ *

The county in which a customer lives.

* @public */ - quickResponse?: QuickResponseData | undefined; -} + county?: string | undefined; -/** - * @public - */ -export interface DeleteImportJobRequest { /** - *

The identifier of the knowledge base.

+ *

The country in which a customer lives.

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

The identifier of the import job to be deleted.

+ *

The postal code of a customer address.

* @public */ - importJobId: string | undefined; -} + postalCode?: string | undefined; -/** - * @public - */ -export interface DeleteImportJobResponse {} + /** + *

The province in which a customer lives.

+ * @public + */ + province?: string | undefined; -/** - * @public - */ -export interface DeleteKnowledgeBaseRequest { /** - *

The knowledge base to delete content from. Can be either the ID or the ARN. URLs cannot contain the ARN.

+ *

The state in which a customer lives.

* @public */ - knowledgeBaseId: string | undefined; -} + state?: string | undefined; -/** - * @public - */ -export interface DeleteKnowledgeBaseResponse {} + /** + *

The first line of a customer’s shipping address.

+ * @public + */ + shippingAddress1?: string | undefined; -/** - * @public - */ -export interface DeleteQuickResponseRequest { /** - *

The knowledge base from which the quick response is deleted. The identifier of the knowledge base.

+ *

The second line of a customer’s shipping address.

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

The identifier of the quick response to delete.

+ *

The third line of a customer’s shipping address.

* @public */ - quickResponseId: string | undefined; -} + shippingAddress3?: string | undefined; -/** - * @public - */ -export interface DeleteQuickResponseResponse {} + /** + *

The fourth line of a customer’s shipping address.

+ * @public + */ + shippingAddress4?: string | undefined; -/** - * @public - * @enum - */ -export const ExternalSource = { - AMAZON_CONNECT: "AMAZON_CONNECT", -} as const; + /** + *

The city of a customer’s shipping address.

+ * @public + */ + shippingCity?: string | undefined; -/** - * @public - */ -export type ExternalSource = (typeof ExternalSource)[keyof typeof ExternalSource]; + /** + *

The county of a customer’s shipping address.

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

The configuration information of the external data source.

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

The type of the external data source.

+ *

The country of a customer’s shipping address.

* @public */ - source: ExternalSource | undefined; + shippingCountry?: string | undefined; /** - *

The configuration information of the external data source.

+ *

The postal code of a customer’s shipping address.

* @public */ - configuration: Configuration | undefined; -} + shippingPostalCode?: string | undefined; -/** - * @public - */ -export interface GetImportJobRequest { /** - *

The identifier of the import job to retrieve.

+ *

The province of a customer’s shipping address.

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

The identifier of the knowledge base that the import job belongs to.

+ *

The state of a customer’s shipping address.

* @public */ - knowledgeBaseId: string | undefined; -} + shippingState?: string | undefined; -/** - * @public - * @enum - */ -export const ImportJobType = { - QUICK_RESPONSES: "QUICK_RESPONSES", -} as const; + /** + *

The first line of a customer’s mailing address.

+ * @public + */ + mailingAddress1?: string | undefined; -/** - * @public - */ -export type ImportJobType = (typeof ImportJobType)[keyof typeof ImportJobType]; + /** + *

The second line of a customer’s mailing address.

+ * @public + */ + mailingAddress2?: string | undefined; -/** - * @public - * @enum - */ -export const ImportJobStatus = { - COMPLETE: "COMPLETE", - DELETED: "DELETED", - DELETE_FAILED: "DELETE_FAILED", - DELETE_IN_PROGRESS: "DELETE_IN_PROGRESS", - FAILED: "FAILED", - START_IN_PROGRESS: "START_IN_PROGRESS", -} as const; + /** + *

The third line of a customer’s mailing address.

+ * @public + */ + mailingAddress3?: string | undefined; -/** - * @public - */ -export type ImportJobStatus = (typeof ImportJobStatus)[keyof typeof ImportJobStatus]; + /** + *

The fourth line of a customer’s mailing address.

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

Summary information about the import job.

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

The identifier of the import job.

+ *

The city of a customer’s mailing address.

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

The identifier of the knowledge base.

+ *

The county of a customer’s mailing address.

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

A pointer to the uploaded asset. This value is returned by StartContentUpload.

+ *

The country of a customer’s mailing address.

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

The Amazon Resource Name (ARN) of the knowledge base.

+ *

The postal code of a customer’s mailing address.

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

The type of the import job.

+ *

The province of a customer’s mailing address.

* @public */ - importJobType: ImportJobType | undefined; + mailingProvince?: string | undefined; /** - *

The status of the import job.

+ *

The state of a customer’s mailing address.

* @public */ - status: ImportJobStatus | undefined; + mailingState?: string | undefined; /** - *

The download link to the resource file that is uploaded to the import job.

+ *

The first line of a customer’s billing address.

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

The link to download the information of resource data that failed to be imported.

+ *

The second line of a customer’s billing address.

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

The expiration time of the URL as an epoch timestamp.

+ *

The third line of a customer’s billing address.

* @public */ - urlExpiry: Date | undefined; + billingAddress3?: string | undefined; /** - *

The timestamp when the import job was created.

+ *

The fourth line of a customer’s billing address.

* @public */ - createdTime: Date | undefined; + billingAddress4?: string | undefined; /** - *

The timestamp when the import job data was last modified.

+ *

The city of a customer’s billing address.

* @public */ - lastModifiedTime: Date | undefined; + billingCity?: string | undefined; /** - *

The metadata fields of the imported Amazon Q in Connect resources.

+ *

The county of a customer’s billing address.

* @public */ - metadata?: Record | undefined; + billingCounty?: string | undefined; /** - *

The configuration information of the external data source.

+ *

The country of a customer’s billing address.

* @public */ - externalSourceConfiguration?: ExternalSourceConfiguration | undefined; -} + billingCountry?: string | undefined; -/** - * @public - */ -export interface GetImportJobResponse { /** - *

The import job.

+ *

The postal code of a customer’s billing address.

* @public */ - importJob?: ImportJobData | undefined; -} + billingPostalCode?: string | undefined; -/** - * @public - */ -export interface GetKnowledgeBaseRequest { /** - *

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

+ *

The province of a customer’s billing address.

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

The state of a customer’s billing address.

+ * @public + */ + billingState?: string | undefined; + + /** + *

The custom attributes in customer profile attributes.

+ * @public + */ + custom?: Record | undefined; } /** + *

The system endpoint attributes that are used with the message template.

* @public */ -export interface GetKnowledgeBaseResponse { +export interface SystemEndpointAttributes { /** - *

The knowledge base.

+ *

The customer's phone number if used with customerEndpoint, or the number the customer + * dialed to call your contact center if used with systemEndpoint.

* @public */ - knowledgeBase?: KnowledgeBaseData | undefined; + address?: string | undefined; } /** + *

The system attributes that are used with the message template.

* @public */ -export interface GetQuickResponseRequest { +export interface SystemAttributes { /** - *

The identifier of the quick response.

+ *

The name of the task.

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

The identifier of the knowledge base. This should be a QUICK_RESPONSES type knowledge base.

+ *

The CustomerEndpoint attribute.

* @public */ - knowledgeBaseId: string | undefined; -} + customerEndpoint?: SystemEndpointAttributes | undefined; -/** - * @public - */ -export interface GetQuickResponseResponse { /** - *

The quick response.

+ *

The SystemEndpoint attribute.

* @public */ - quickResponse?: QuickResponseData | undefined; + systemEndpoint?: SystemEndpointAttributes | undefined; } /** - *

Summary information about the import job.

+ *

The attributes that are used with the message template.

* @public */ -export interface ImportJobSummary { +export interface MessageTemplateAttributes { /** - *

The identifier of the import job.

+ *

The system attributes that are used with the message template.

* @public */ - importJobId: string | undefined; + systemAttributes?: SystemAttributes | undefined; /** - *

The identifier of the knowledge base.

+ *

The agent attributes that are used with the message template.

* @public */ - knowledgeBaseId: string | undefined; + agentAttributes?: AgentAttributes | undefined; /** - *

A pointer to the uploaded asset. This value is returned by StartContentUpload.

+ *

The customer profile attributes that are used with the message template.

* @public */ - uploadId: string | undefined; + customerProfileAttributes?: CustomerProfileAttributes | undefined; /** - *

The Amazon Resource Name (ARN) of the knowledge base.

+ *

The custom attributes that are used with the message template.

* @public */ - knowledgeBaseArn: string | undefined; + customAttributes?: Record | undefined; +} +/** + *

The configuration information of the grouping of Amazon Q in Connect users.

+ * @public + */ +export interface GroupingConfiguration { /** - *

The type of import job.

+ *

The criteria used for grouping Amazon Q in Connect users.

+ *

The following is the list of supported criteria values.

+ * * @public */ - importJobType: ImportJobType | undefined; + criteria?: string | undefined; /** - *

The status of the import job.

+ *

The list of values that define different groups of Amazon Q in Connect users.

+ * * @public */ - status: ImportJobStatus | undefined; + values?: string[] | undefined; +} +/** + * @public + */ +export interface CreateMessageTemplateRequest { /** - *

The timestamp when the import job was created.

+ *

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain + * the ARN.

* @public */ - createdTime: Date | undefined; + knowledgeBaseId: string | undefined; /** - *

The timestamp when the import job was last modified.

+ *

The name of the message template.

* @public */ - lastModifiedTime: Date | undefined; + name: string | undefined; /** - *

The metadata fields of the imported Amazon Q in Connect resources.

+ *

The content of the message template.

* @public */ - metadata?: Record | undefined; + content: MessageTemplateContentProvider | undefined; /** - *

The configuration information of the external source that the resource data are imported - * from.

+ *

The description of the message template.

* @public */ - externalSourceConfiguration?: ExternalSourceConfiguration | undefined; -} + description?: string | undefined; -/** - * @public - */ -export interface ListImportJobsRequest { /** - *

The token for the next set of results. Use the value returned in the previous - * response in the next request to retrieve the next set of results.

+ *

The channel subtype this message template applies to.

* @public */ - nextToken?: string | undefined; + channelSubtype: ChannelSubtype | undefined; /** - *

The maximum number of results to return per page.

+ *

The language code value for the language in which the quick response is written. The supported language codes include de_DE, en_US, es_ES, + * fr_FR, id_ID, it_IT, ja_JP, ko_KR, pt_BR, + * zh_CN, zh_TW + *

* @public */ - maxResults?: number | undefined; + language?: string | undefined; /** - *

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

+ *

An object that specifies the default values to use for variables in the message template. + * This object contains different categories of key-value pairs. Each key defines a variable or + * placeholder in the message template. The corresponding value defines the default value for + * that variable.

* @public */ - knowledgeBaseId: string | undefined; -} + defaultAttributes?: MessageTemplateAttributes | undefined; -/** - * @public - */ -export interface ListImportJobsResponse { /** - *

Summary information about the import jobs.

+ *

The configuration information of the grouping of Amazon Q in Connect users.

* @public */ - importJobSummaries: ImportJobSummary[] | undefined; + groupingConfiguration?: GroupingConfiguration | undefined; /** - *

The token for the next set of results. Use the value returned in the previous - * response in the next request to retrieve the next set of results.

+ *

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 */ - nextToken?: string | undefined; + clientToken?: string | undefined; + + /** + *

The tags used to organize, track, or control access for this resource.

+ * @public + */ + tags?: Record | undefined; } /** * @public + * @enum */ -export interface ListKnowledgeBasesRequest { - /** - *

The token for the next set of results. Use the value returned in the previous - * response in the next request to retrieve the next set of results.

- * @public - */ - nextToken?: string | undefined; +export const MessageTemplateAttributeType = { + AGENT: "AGENT", + CUSTOM: "CUSTOM", + CUSTOMER_PROFILE: "CUSTOMER_PROFILE", + SYSTEM: "SYSTEM", +} as const; - /** - *

The maximum number of results to return per page.

- * @public - */ - maxResults?: number | undefined; -} +/** + * @public + */ +export type MessageTemplateAttributeType = + (typeof MessageTemplateAttributeType)[keyof typeof MessageTemplateAttributeType]; /** - *

Summary information about the knowledge base.

+ *

The data of a message template.

* @public */ -export interface KnowledgeBaseSummary { +export interface MessageTemplateData { /** - *

The identifier of the knowledge base.

+ *

The Amazon Resource Name (ARN) of the message template.

* @public */ - knowledgeBaseId: string | undefined; + messageTemplateArn: string | undefined; + + /** + *

The identifier of the message template.

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

The Amazon Resource Name (ARN) of the knowledge base.

@@ -6552,59 +6593,93 @@ export interface KnowledgeBaseSummary { knowledgeBaseArn: string | undefined; /** - *

The name of the knowledge base.

+ *

The identifier of the knowledge base.

* @public */ - name: string | undefined; + knowledgeBaseId: string | undefined; /** - *

The type of knowledge base.

+ *

The name of the message template.

* @public */ - knowledgeBaseType: KnowledgeBaseType | undefined; + name: string | undefined; /** - *

The status of the knowledge base summary.

+ *

The channel subtype this message template applies to.

* @public */ - status: KnowledgeBaseStatus | undefined; + channelSubtype: ChannelSubtype | undefined; /** - *

Configuration information about the external data source.

+ *

The timestamp when the message template was created.

* @public */ - sourceConfiguration?: SourceConfiguration | undefined; + createdTime: Date | undefined; /** - *

Contains details about how to ingest the documents in a data source.

+ *

The timestamp when the message template data was last modified.

* @public */ - vectorIngestionConfiguration?: VectorIngestionConfiguration | undefined; + lastModifiedTime: Date | undefined; /** - *

Information about how to render the content.

+ *

The Amazon Resource Name (ARN) of the user who last updated the message template + * data.

* @public */ - renderingConfiguration?: RenderingConfiguration | undefined; + lastModifiedBy: string | undefined; /** - *

The configuration information for the customer managed key used for encryption.

- *

This KMS key must have a policy that allows kms:CreateGrant, - * kms:DescribeKey, kms:Decrypt, and - * kms:GenerateDataKey* permissions to the IAM identity using the - * key to invoke Amazon Q in Connect.

- *

For more information about setting up a customer managed key for Amazon Q in Connect, see Enable Amazon Q in Connect for - * your instance.

+ *

The content of the message template.

* @public */ - serverSideEncryptionConfiguration?: ServerSideEncryptionConfiguration | undefined; + content: MessageTemplateContentProvider | undefined; /** - *

The description of the knowledge base.

+ *

The description of the message template.

* @public */ description?: string | undefined; + /** + *

The language code value for the language in which the quick response is written. The supported language codes include de_DE, en_US, es_ES, + * fr_FR, id_ID, it_IT, ja_JP, ko_KR, pt_BR, + * zh_CN, zh_TW + *

+ * @public + */ + language?: string | undefined; + + /** + *

The configuration information of the grouping of Amazon Q in Connect users.

+ * @public + */ + groupingConfiguration?: GroupingConfiguration | undefined; + + /** + *

An object that specifies the default values to use for variables in the message template. + * This object contains different categories of key-value pairs. Each key defines a variable or + * placeholder in the message template. The corresponding value defines the default value for + * that variable.

+ * @public + */ + defaultAttributes?: MessageTemplateAttributes | undefined; + + /** + *

The types of attributes that the message template contains.

+ * @public + */ + attributeTypes?: MessageTemplateAttributeType[] | undefined; + + /** + *

The checksum value of the message template content that is referenced by the + * $LATEST qualifier. It can be returned in MessageTemplateData or + * ExtendedMessageTemplateData. It’s calculated by content, language, + * defaultAttributes and Attachments of the message template.

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

The tags used to organize, track, or control access for this resource.

* @public @@ -6615,60 +6690,158 @@ export interface KnowledgeBaseSummary { /** * @public */ -export interface ListKnowledgeBasesResponse { +export interface CreateMessageTemplateResponse { /** - *

Information about the knowledge bases.

+ *

The message template.

* @public */ - knowledgeBaseSummaries: KnowledgeBaseSummary[] | undefined; + messageTemplate?: MessageTemplateData | undefined; +} + +/** + * @public + */ +export interface CreateMessageTemplateAttachmentRequest { + /** + *

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain + * the ARN.

+ * @public + */ + knowledgeBaseId: string | undefined; /** - *

If there are additional results, this is the token for the next set of results.

+ *

The identifier of the message template. Can be either the ID or the ARN. It cannot contain any qualifier.

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

The presentation information for the attachment file.

+ * @public + */ + contentDisposition: ContentDisposition | undefined; + + /** + *

The name of the attachment file being uploaded. The name should include the file extension.

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

The body of the attachment file being uploaded. It should be encoded using base64 + * encoding.

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

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 | undefined; } /** + *

Information about the message template attachment.

* @public */ -export interface ListQuickResponsesRequest { +export interface MessageTemplateAttachment { /** - *

The token for the next set of results. Use the value returned in the previous - * response in the next request to retrieve the next set of results.

+ *

The presentation information for the attachment file.

* @public */ - nextToken?: string | undefined; + contentDisposition: ContentDisposition | undefined; /** - *

The maximum number of results to return per page.

+ *

The name of the attachment file being uploaded. The name should include the file extension.

* @public */ - maxResults?: number | undefined; + name: string | undefined; /** - *

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

+ *

The timestamp when the attachment file was uploaded.

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

A pre-signed Amazon S3 URL that can be used to download the attachment file.

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

The expiration time of the pre-signed Amazon S3 URL.

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

The identifier of the attachment file.

+ * @public + */ + attachmentId: string | undefined; +} + +/** + * @public + */ +export interface CreateMessageTemplateAttachmentResponse { + /** + *

The message template attachment.

+ * @public + */ + attachment?: MessageTemplateAttachment | undefined; +} + +/** + * @public + */ +export interface CreateMessageTemplateVersionRequest { + /** + *

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain + * the ARN.

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

The identifier of the message template. Can be either the ID or the ARN. It cannot contain any qualifier.

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

The checksum value of the message template content that is referenced by the + * $LATEST qualifier. It can be returned in MessageTemplateData or + * ExtendedMessageTemplateData. It’s calculated by content, language, + * defaultAttributes and Attachments of the message template. If not + * supplied, the message template version will be created based on the message template content + * that is referenced by the $LATEST qualifier by default.

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

The summary information about the quick response.

+ *

The extended data of a message template.

* @public */ -export interface QuickResponseSummary { +export interface ExtendedMessageTemplateData { /** - *

The Amazon Resource Name (ARN) of the quick response.

+ *

The Amazon Resource Name (ARN) of the message template.

* @public */ - quickResponseArn: string | undefined; + messageTemplateArn: string | undefined; /** - *

The identifier of the quick response.

+ *

The identifier of the message template.

* @public */ - quickResponseId: string | undefined; + messageTemplateId: string | undefined; /** *

The Amazon Resource Name (ARN) of the knowledge base.

@@ -6683,70 +6856,104 @@ export interface QuickResponseSummary { knowledgeBaseId: string | undefined; /** - *

The name of the quick response.

+ *

The name of the message template.

* @public */ name: string | undefined; /** - *

The media type of the quick response content.

- *
    - *
  • - *

    Use application/x.quickresponse;format=plain for quick response written - * in plain text.

    - *
  • - *
  • - *

    Use application/x.quickresponse;format=markdown for quick response - * written in richtext.

    - *
  • - *
+ *

The channel subtype this message template applies to.

* @public */ - contentType: string | undefined; + channelSubtype: ChannelSubtype | undefined; /** - *

The resource status of the quick response.

+ *

The timestamp when the message template was created.

* @public */ - status: QuickResponseStatus | undefined; + createdTime: Date | undefined; /** - *

The timestamp when the quick response was created.

+ *

The timestamp when the message template data was last modified.

* @public */ - createdTime: Date | undefined; + lastModifiedTime: Date | undefined; /** - *

The timestamp when the quick response summary was last modified.

+ *

The Amazon Resource Name (ARN) of the user who last updated the message template + * data.

* @public */ - lastModifiedTime: Date | undefined; + lastModifiedBy: string | undefined; /** - *

The description of the quick response.

+ *

The content of the message template.

+ * @public + */ + content: MessageTemplateContentProvider | undefined; + + /** + *

The description of the message template.

* @public */ description?: string | undefined; /** - *

The Amazon Resource Name (ARN) of the user who last updated the quick response - * data.

+ *

The language code value for the language in which the quick response is written. The supported language codes include de_DE, en_US, es_ES, + * fr_FR, id_ID, it_IT, ja_JP, ko_KR, pt_BR, + * zh_CN, zh_TW + *

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

Whether the quick response is active.

+ *

The configuration information of the grouping of Amazon Q in Connect users.

+ * @public + */ + groupingConfiguration?: GroupingConfiguration | undefined; + + /** + *

An object that specifies the default values to use for variables in the message template. + * This object contains different categories of key-value pairs. Each key defines a variable or + * placeholder in the message template. The corresponding value defines the default value for + * that variable.

+ * @public + */ + defaultAttributes?: MessageTemplateAttributes | undefined; + + /** + *

The types of attributes contain the message template.

+ * @public + */ + attributeTypes?: MessageTemplateAttributeType[] | undefined; + + /** + *

The message template attachments.

+ * @public + */ + attachments?: MessageTemplateAttachment[] | undefined; + + /** + *

Whether the version of the message template is activated.

* @public */ isActive?: boolean | undefined; /** - *

The Amazon Connect contact channels this quick response applies to. - * The supported contact channel types include Chat.

+ *

The version number of the message template version.

* @public */ - channels?: string[] | undefined; + versionNumber?: number | undefined; + + /** + *

The checksum value of the message template content that is referenced by the + * $LATEST qualifier. It can be returned in MessageTemplateData or + * ExtendedMessageTemplateData. It’s calculated by content, language, + * defaultAttributes and Attachments of the message template.

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

The tags used to organize, track, or control access for this resource.

@@ -6758,58 +6965,85 @@ export interface QuickResponseSummary { /** * @public */ -export interface ListQuickResponsesResponse { +export interface CreateMessageTemplateVersionResponse { /** - *

Summary information about the quick responses.

+ *

The message template.

* @public */ - quickResponseSummaries: QuickResponseSummary[] | undefined; + messageTemplate?: ExtendedMessageTemplateData | undefined; +} + +/** + *

The container of quick response data.

+ * @public + */ +export type QuickResponseDataProvider = + | QuickResponseDataProvider.ContentMember + | QuickResponseDataProvider.$UnknownMember; +/** + * @public + */ +export namespace QuickResponseDataProvider { /** - *

The token for the next set of results. Use the value returned in the previous - * response in the next request to retrieve the next set of results.

+ *

The content of the quick response.

* @public */ - nextToken?: string | undefined; + export interface ContentMember { + content: string; + $unknown?: never; + } + + /** + * @public + */ + export interface $UnknownMember { + content?: never; + $unknown: [string, any]; + } + + export interface Visitor { + content: (value: string) => T; + _: (name: string, value: any) => T; + } + + export const visit = (value: QuickResponseDataProvider, visitor: Visitor): T => { + if (value.content !== undefined) return visitor.content(value.content); + return visitor._(value.$unknown[0], value.$unknown[1]); + }; } /** * @public */ -export interface UpdateQuickResponseRequest { +export interface CreateQuickResponseRequest { /** *

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

* @public */ knowledgeBaseId: string | undefined; - /** - *

The identifier of the quick response.

- * @public - */ - quickResponseId: string | undefined; - /** *

The name of the quick response.

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

The updated content of the quick response.

+ *

The content of the quick response.

* @public */ - content?: QuickResponseDataProvider | undefined; + content: QuickResponseDataProvider | undefined; /** *

The media type of the quick response content.

*
    *
  • - *

    Use application/x.quickresponse;format=plain for quick response written + *

    Use application/x.quickresponse;format=plain for a quick response written * in plain text.

    *
  • *
  • - *

    Use application/x.quickresponse;format=markdown for quick response + *

    Use application/x.quickresponse;format=markdown for a quick response * written in richtext.

    *
  • *
@@ -6818,96 +7052,765 @@ export interface UpdateQuickResponseRequest { contentType?: string | undefined; /** - *

The updated grouping configuration of the quick response.

+ *

The configuration information of the user groups that the quick response is accessible + * to.

+ * @public + */ + groupingConfiguration?: GroupingConfiguration | undefined; + + /** + *

The description of the quick response.

+ * @public + */ + description?: string | undefined; + + /** + *

The shortcut key of the quick response. The value should be unique across the + * knowledge base.

+ * @public + */ + shortcutKey?: string | undefined; + + /** + *

Whether the quick response is active.

+ * @public + */ + isActive?: boolean | undefined; + + /** + *

The Amazon Connect channels this quick response applies to.

+ * @public + */ + channels?: string[] | undefined; + + /** + *

The language code value for the language in which the quick response is written. The supported language codes include de_DE, en_US, es_ES, + * fr_FR, id_ID, it_IT, ja_JP, ko_KR, pt_BR, + * zh_CN, zh_TW + *

+ * @public + */ + language?: string | undefined; + + /** + *

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 | undefined; + + /** + *

The tags used to organize, track, or control access for this resource.

+ * @public + */ + tags?: Record | undefined; +} + +/** + *

The container quick response content.

+ * @public + */ +export type QuickResponseContentProvider = + | QuickResponseContentProvider.ContentMember + | QuickResponseContentProvider.$UnknownMember; + +/** + * @public + */ +export namespace QuickResponseContentProvider { + /** + *

The content of the quick response.

+ * @public + */ + export interface ContentMember { + content: string; + $unknown?: never; + } + + /** + * @public + */ + export interface $UnknownMember { + content?: never; + $unknown: [string, any]; + } + + export interface Visitor { + content: (value: string) => T; + _: (name: string, value: any) => T; + } + + export const visit = (value: QuickResponseContentProvider, visitor: Visitor): T => { + if (value.content !== undefined) return visitor.content(value.content); + return visitor._(value.$unknown[0], value.$unknown[1]); + }; +} + +/** + *

The content of the quick response stored in different media types.

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

The container quick response content.

+ * @public + */ + plainText?: QuickResponseContentProvider | undefined; + + /** + *

The container quick response content.

+ * @public + */ + markdown?: QuickResponseContentProvider | undefined; +} + +/** + * @public + * @enum + */ +export const QuickResponseStatus = { + CREATED: "CREATED", + CREATE_FAILED: "CREATE_FAILED", + CREATE_IN_PROGRESS: "CREATE_IN_PROGRESS", + DELETED: "DELETED", + DELETE_FAILED: "DELETE_FAILED", + DELETE_IN_PROGRESS: "DELETE_IN_PROGRESS", + UPDATE_FAILED: "UPDATE_FAILED", + UPDATE_IN_PROGRESS: "UPDATE_IN_PROGRESS", +} as const; + +/** + * @public + */ +export type QuickResponseStatus = (typeof QuickResponseStatus)[keyof typeof QuickResponseStatus]; + +/** + *

Information about the quick response.

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

The Amazon Resource Name (ARN) of the quick response.

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

The identifier of the quick response.

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

The Amazon Resource Name (ARN) of the knowledge base.

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

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

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

The name of the quick response.

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

The media type of the quick response content.

+ *
    + *
  • + *

    Use application/x.quickresponse;format=plain for quick response written + * in plain text.

    + *
  • + *
  • + *

    Use application/x.quickresponse;format=markdown for quick response + * written in richtext.

    + *
  • + *
+ * @public + */ + contentType: string | undefined; + + /** + *

The status of the quick response data.

+ * @public + */ + status: QuickResponseStatus | undefined; + + /** + *

The timestamp when the quick response was created.

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

The timestamp when the quick response data was last modified.

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

The contents of the quick response.

+ * @public + */ + contents?: QuickResponseContents | undefined; + + /** + *

The description of the quick response.

+ * @public + */ + description?: string | undefined; + + /** + *

The configuration information of the user groups that the quick response is accessible + * to.

+ * @public + */ + groupingConfiguration?: GroupingConfiguration | undefined; + + /** + *

The shortcut key of the quick response. The value should be unique across the + * knowledge base.

+ * @public + */ + shortcutKey?: string | undefined; + + /** + *

The Amazon Resource Name (ARN) of the user who last updated the quick response + * data.

+ * @public + */ + lastModifiedBy?: string | undefined; + + /** + *

Whether the quick response is active.

+ * @public + */ + isActive?: boolean | undefined; + + /** + *

The Amazon Connect contact channels this quick response applies to. + * The supported contact channel types include Chat.

+ * @public + */ + channels?: string[] | undefined; + + /** + *

The language code value for the language in which the quick response is written. The supported language codes include de_DE, en_US, es_ES, + * fr_FR, id_ID, it_IT, ja_JP, ko_KR, pt_BR, + * zh_CN, zh_TW + *

+ * @public + */ + language?: string | undefined; + + /** + *

The tags used to organize, track, or control access for this resource.

+ * @public + */ + tags?: Record | undefined; +} + +/** + * @public + */ +export interface CreateQuickResponseResponse { + /** + *

The quick response.

+ * @public + */ + quickResponse?: QuickResponseData | undefined; +} + +/** + * @public + */ +export interface DeactivateMessageTemplateRequest { + /** + *

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain + * the ARN.

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

The identifier of the message template. Can be either the ID or the ARN. It cannot contain any qualifier.

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

The version number of the message template version to deactivate.

+ * @public + */ + versionNumber: number | undefined; +} + +/** + * @public + */ +export interface DeactivateMessageTemplateResponse { + /** + *

The Amazon Resource Name (ARN) of the message template.

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

The identifier of the message template.

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

The version number of the message template version that has been deactivated.

+ * @public + */ + versionNumber: number | undefined; +} + +/** + * @public + */ +export interface DeleteImportJobRequest { + /** + *

The identifier of the knowledge base.

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

The identifier of the import job to be deleted.

+ * @public + */ + importJobId: string | undefined; +} + +/** + * @public + */ +export interface DeleteImportJobResponse {} + +/** + * @public + */ +export interface DeleteKnowledgeBaseRequest { + /** + *

The knowledge base to delete content from. Can be either the ID or the ARN. URLs cannot contain the ARN.

+ * @public + */ + knowledgeBaseId: string | undefined; +} + +/** + * @public + */ +export interface DeleteKnowledgeBaseResponse {} + +/** + * @public + */ +export interface DeleteMessageTemplateRequest { + /** + *

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain + * the ARN.

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

The identifier of the message template. Can be either the ID or the ARN.

+ * @public + */ + messageTemplateId: string | undefined; +} + +/** + * @public + */ +export interface DeleteMessageTemplateResponse {} + +/** + * @public + */ +export interface DeleteMessageTemplateAttachmentRequest { + /** + *

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain + * the ARN.

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

The identifier of the message template. Can be either the ID or the ARN. It cannot contain any qualifier.

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

The identifier of the attachment file.

+ * @public + */ + attachmentId: string | undefined; +} + +/** + * @public + */ +export interface DeleteMessageTemplateAttachmentResponse {} + +/** + * @public + */ +export interface DeleteQuickResponseRequest { + /** + *

The knowledge base from which the quick response is deleted. The identifier of the knowledge base.

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

The identifier of the quick response to delete.

+ * @public + */ + quickResponseId: string | undefined; +} + +/** + * @public + */ +export interface DeleteQuickResponseResponse {} + +/** + * @public + * @enum + */ +export const ExternalSource = { + AMAZON_CONNECT: "AMAZON_CONNECT", +} as const; + +/** + * @public + */ +export type ExternalSource = (typeof ExternalSource)[keyof typeof ExternalSource]; + +/** + *

The configuration information of the external data source.

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

The type of the external data source.

+ * @public + */ + source: ExternalSource | undefined; + + /** + *

The configuration information of the external data source.

+ * @public + */ + configuration: Configuration | undefined; +} + +/** + * @public + */ +export interface GetImportJobRequest { + /** + *

The identifier of the import job to retrieve.

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

The identifier of the knowledge base that the import job belongs to.

+ * @public + */ + knowledgeBaseId: string | undefined; +} + +/** + * @public + * @enum + */ +export const ImportJobType = { + QUICK_RESPONSES: "QUICK_RESPONSES", +} as const; + +/** + * @public + */ +export type ImportJobType = (typeof ImportJobType)[keyof typeof ImportJobType]; + +/** + * @public + * @enum + */ +export const ImportJobStatus = { + COMPLETE: "COMPLETE", + DELETED: "DELETED", + DELETE_FAILED: "DELETE_FAILED", + DELETE_IN_PROGRESS: "DELETE_IN_PROGRESS", + FAILED: "FAILED", + START_IN_PROGRESS: "START_IN_PROGRESS", +} as const; + +/** + * @public + */ +export type ImportJobStatus = (typeof ImportJobStatus)[keyof typeof ImportJobStatus]; + +/** + *

Summary information about the import job.

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

The identifier of the import job.

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

The identifier of the knowledge base.

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

A pointer to the uploaded asset. This value is returned by StartContentUpload.

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

The Amazon Resource Name (ARN) of the knowledge base.

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

The type of the import job.

+ * @public + */ + importJobType: ImportJobType | undefined; + + /** + *

The status of the import job.

+ * @public + */ + status: ImportJobStatus | undefined; + + /** + *

The download link to the resource file that is uploaded to the import job.

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

The link to download the information of resource data that failed to be imported.

+ * @public + */ + failedRecordReport?: string | undefined; + + /** + *

The expiration time of the URL as an epoch timestamp.

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

The timestamp when the import job was created.

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

The timestamp when the import job data was last modified.

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

The metadata fields of the imported Amazon Q in Connect resources.

+ * @public + */ + metadata?: Record | undefined; + + /** + *

The configuration information of the external data source.

+ * @public + */ + externalSourceConfiguration?: ExternalSourceConfiguration | undefined; +} + +/** + * @public + */ +export interface GetImportJobResponse { + /** + *

The import job.

+ * @public + */ + importJob?: ImportJobData | undefined; +} + +/** + * @public + */ +export interface GetKnowledgeBaseRequest { + /** + *

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

+ * @public + */ + knowledgeBaseId: string | undefined; +} + +/** + * @public + */ +export interface GetKnowledgeBaseResponse { + /** + *

The knowledge base.

+ * @public + */ + knowledgeBase?: KnowledgeBaseData | undefined; +} + +/** + * @public + */ +export interface GetMessageTemplateRequest { + /** + *

The identifier of the message template. Can be either the ID or the ARN.

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

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain + * the ARN.

+ * @public + */ + knowledgeBaseId: string | undefined; +} + +/** + * @public + */ +export interface GetMessageTemplateResponse { + /** + *

The message template.

+ * @public + */ + messageTemplate?: ExtendedMessageTemplateData | undefined; +} + +/** + * @public + */ +export interface GetQuickResponseRequest { + /** + *

The identifier of the quick response.

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

The identifier of the knowledge base. This should be a QUICK_RESPONSES type knowledge base.

+ * @public + */ + knowledgeBaseId: string | undefined; +} + +/** + * @public + */ +export interface GetQuickResponseResponse { + /** + *

The quick response.

* @public */ - groupingConfiguration?: GroupingConfiguration | undefined; + quickResponse?: QuickResponseData | undefined; +} +/** + *

Summary information about the import job.

+ * @public + */ +export interface ImportJobSummary { /** - *

Whether to remove the grouping configuration of the quick response.

+ *

The identifier of the import job.

* @public */ - removeGroupingConfiguration?: boolean | undefined; + importJobId: string | undefined; /** - *

The updated description of the quick response.

+ *

The identifier of the knowledge base.

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

Whether to remove the description from the quick response.

+ *

A pointer to the uploaded asset. This value is returned by StartContentUpload.

* @public */ - removeDescription?: boolean | undefined; + uploadId: string | undefined; /** - *

The shortcut key of the quick response. The value should be unique across the - * knowledge base.

+ *

The Amazon Resource Name (ARN) of the knowledge base.

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

Whether to remove the shortcut key of the quick response.

+ *

The type of import job.

* @public */ - removeShortcutKey?: boolean | undefined; + importJobType: ImportJobType | undefined; /** - *

Whether the quick response is active.

+ *

The status of the import job.

* @public */ - isActive?: boolean | undefined; + status: ImportJobStatus | undefined; /** - *

The Amazon Connect contact channels this quick response applies to. - * The supported contact channel types include Chat.

+ *

The timestamp when the import job was created.

* @public */ - channels?: string[] | undefined; + createdTime: Date | undefined; /** - *

The language code value for the language in which the quick response is written. The supported language codes include de_DE, en_US, es_ES, - * fr_FR, id_ID, it_IT, ja_JP, ko_KR, pt_BR, - * zh_CN, zh_TW - *

+ *

The timestamp when the import job was last modified.

* @public */ - language?: string | undefined; -} + lastModifiedTime: Date | undefined; -/** - * @public - */ -export interface UpdateQuickResponseResponse { /** - *

The quick response.

+ *

The metadata fields of the imported Amazon Q in Connect resources.

* @public */ - quickResponse?: QuickResponseData | undefined; -} + metadata?: Record | undefined; -/** - * @public - */ -export interface RemoveKnowledgeBaseTemplateUriRequest { /** - *

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

+ *

The configuration information of the external source that the resource data are imported + * from.

* @public */ - knowledgeBaseId: string | undefined; + externalSourceConfiguration?: ExternalSourceConfiguration | undefined; } /** * @public */ -export interface RemoveKnowledgeBaseTemplateUriResponse {} - -/** - * @public - */ -export interface SearchContentRequest { +export interface ListImportJobsRequest { /** *

The token for the next set of results. Use the value returned in the previous * response in the next request to retrieve the next set of results.

@@ -6922,312 +7825,147 @@ export interface SearchContentRequest { maxResults?: number | undefined; /** - *

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

+ *

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

* @public */ knowledgeBaseId: string | undefined; - - /** - *

The search expression to filter results.

- * @public - */ - searchExpression: SearchExpression | undefined; } /** * @public */ -export interface SearchContentResponse { +export interface ListImportJobsResponse { /** - *

Summary information about the content.

+ *

Summary information about the import jobs.

* @public */ - contentSummaries: ContentSummary[] | undefined; + importJobSummaries: ImportJobSummary[] | undefined; /** - *

If there are additional results, this is the token for the next set of results.

+ *

The token for the next set of results. Use the value returned in the previous + * response in the next request to retrieve the next set of results.

* @public */ nextToken?: string | undefined; } -/** - * @public - * @enum - */ -export const QuickResponseFilterOperator = { - EQUALS: "EQUALS", - PREFIX: "PREFIX", -} as const; - /** * @public */ -export type QuickResponseFilterOperator = - (typeof QuickResponseFilterOperator)[keyof typeof QuickResponseFilterOperator]; - -/** - *

The quick response fields to filter the quick response query results by.

- *

The following is the list of supported field names.

- *
    - *
  • - *

    name

    - *
  • - *
  • - *

    description

    - *
  • - *
  • - *

    shortcutKey

    - *
  • - *
  • - *

    isActive

    - *
  • - *
  • - *

    channels

    - *
  • - *
  • - *

    language

    - *
  • - *
  • - *

    contentType

    - *
  • - *
  • - *

    createdTime

    - *
  • - *
  • - *

    lastModifiedTime

    - *
  • - *
  • - *

    lastModifiedBy

    - *
  • - *
  • - *

    groupingConfiguration.criteria

    - *
  • - *
  • - *

    groupingConfiguration.values

    - *
  • - *
- * @public - */ -export interface QuickResponseFilterField { - /** - *

The name of the attribute field to filter the quick responses by.

- * @public - */ - name: string | undefined; - - /** - *

The values of attribute field to filter the quick response by.

- * @public - */ - values?: string[] | undefined; - +export interface ListKnowledgeBasesRequest { /** - *

The operator to use for filtering.

+ *

The token for the next set of results. Use the value returned in the previous + * response in the next request to retrieve the next set of results.

* @public */ - operator: QuickResponseFilterOperator | undefined; + nextToken?: string | undefined; /** - *

Whether to treat null value as a match for the attribute field.

+ *

The maximum number of results to return per page.

* @public */ - includeNoExistence?: boolean | undefined; + maxResults?: number | undefined; } /** - * @public - * @enum - */ -export const Order = { - ASC: "ASC", - DESC: "DESC", -} as const; - -/** + *

Summary information about the knowledge base.

* @public */ -export type Order = (typeof Order)[keyof typeof Order]; - -/** - *

The quick response fields to order the quick response query results by.

- *

The following is the list of supported field names.

- *
    - *
  • - *

    name

    - *
  • - *
  • - *

    description

    - *
  • - *
  • - *

    shortcutKey

    - *
  • - *
  • - *

    isActive

    - *
  • - *
  • - *

    channels

    - *
  • - *
  • - *

    language

    - *
  • - *
  • - *

    contentType

    - *
  • - *
  • - *

    createdTime

    - *
  • - *
  • - *

    lastModifiedTime

    - *
  • - *
  • - *

    lastModifiedBy

    - *
  • - *
  • - *

    groupingConfiguration.criteria

    - *
  • - *
  • - *

    groupingConfiguration.values

    - *
  • - *
- * @public - */ -export interface QuickResponseOrderField { - /** - *

The name of the attribute to order the quick response query results by.

+export interface KnowledgeBaseSummary { + /** + *

The identifier of the knowledge base.

* @public */ - name: string | undefined; + knowledgeBaseId: string | undefined; /** - *

The order at which the quick responses are sorted by.

+ *

The Amazon Resource Name (ARN) of the knowledge base.

* @public */ - order?: Order | undefined; -} - -/** - * @public - * @enum - */ -export const QuickResponseQueryOperator = { - CONTAINS: "CONTAINS", - CONTAINS_AND_PREFIX: "CONTAINS_AND_PREFIX", -} as const; - -/** - * @public - */ -export type QuickResponseQueryOperator = (typeof QuickResponseQueryOperator)[keyof typeof QuickResponseQueryOperator]; - -/** - * @public - * @enum - */ -export const Priority = { - HIGH: "HIGH", - LOW: "LOW", - MEDIUM: "MEDIUM", -} as const; - -/** - * @public - */ -export type Priority = (typeof Priority)[keyof typeof Priority]; + knowledgeBaseArn: string | undefined; -/** - *

The quick response fields to query quick responses by.

- *

The following is the list of supported field names.

- *
    - *
  • - *

    content

    - *
  • - *
  • - *

    name

    - *
  • - *
  • - *

    description

    - *
  • - *
  • - *

    shortcutKey

    - *
  • - *
- * @public - */ -export interface QuickResponseQueryField { /** - *

The name of the attribute to query the quick responses by.

+ *

The name of the knowledge base.

* @public */ name: string | undefined; /** - *

The values of the attribute to query the quick responses by.

+ *

The type of knowledge base.

+ * @public + */ + knowledgeBaseType: KnowledgeBaseType | undefined; + + /** + *

The status of the knowledge base summary.

* @public */ - values: string[] | undefined; + status: KnowledgeBaseStatus | undefined; /** - *

The operator to use for matching attribute field values in the query.

+ *

Configuration information about the external data source.

* @public */ - operator: QuickResponseQueryOperator | undefined; + sourceConfiguration?: SourceConfiguration | undefined; /** - *

Whether the query expects only exact matches on the attribute field values. The results of - * the query will only include exact matches if this parameter is set to false.

+ *

Contains details about how to ingest the documents in a data source.

* @public */ - allowFuzziness?: boolean | undefined; + vectorIngestionConfiguration?: VectorIngestionConfiguration | undefined; /** - *

The importance of the attribute field when calculating query result relevancy scores. The - * value set for this parameter affects the ordering of search results.

+ *

Information about how to render the content.

* @public */ - priority?: Priority | undefined; -} + renderingConfiguration?: RenderingConfiguration | undefined; -/** - *

Information about the import job.

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

The quick response query expressions.

+ *

The configuration information for the customer managed key used for encryption.

+ *

This KMS key must have a policy that allows kms:CreateGrant, + * kms:DescribeKey, kms:Decrypt, and + * kms:GenerateDataKey* permissions to the IAM identity using the + * key to invoke Amazon Q in Connect.

+ *

For more information about setting up a customer managed key for Amazon Q in Connect, see Enable Amazon Q in Connect for + * your instance.

* @public */ - queries?: QuickResponseQueryField[] | undefined; + serverSideEncryptionConfiguration?: ServerSideEncryptionConfiguration | undefined; /** - *

The configuration of filtering rules applied to quick response query results.

+ *

The description of the knowledge base.

* @public */ - filters?: QuickResponseFilterField[] | undefined; + description?: string | undefined; /** - *

The quick response attribute fields on which the query results are ordered.

+ *

The tags used to organize, track, or control access for this resource.

* @public */ - orderOnField?: QuickResponseOrderField | undefined; + tags?: Record | undefined; } /** * @public */ -export interface SearchQuickResponsesRequest { +export interface ListKnowledgeBasesResponse { /** - *

The identifier of the knowledge base. This should be a QUICK_RESPONSES type knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

+ *

Information about the knowledge bases.

* @public */ - knowledgeBaseId: string | undefined; + knowledgeBaseSummaries: KnowledgeBaseSummary[] | undefined; /** - *

The search expression for querying the quick response.

+ *

If there are additional results, this is the token for the next set of results.

* @public */ - searchExpression: QuickResponseSearchExpression | undefined; + nextToken?: string | undefined; +} +/** + * @public + */ +export interface ListMessageTemplatesRequest { /** *

The token for the next set of results. Use the value returned in the previous * response in the next request to retrieve the next set of results.

@@ -7242,29 +7980,29 @@ export interface SearchQuickResponsesRequest { maxResults?: number | undefined; /** - *

The user-defined Amazon Connect contact attributes to be resolved when search - * results are returned.

+ *

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain + * the ARN.

* @public */ - attributes?: Record | undefined; + knowledgeBaseId: string | undefined; } /** - *

The result of quick response search.

+ *

The summary of the message template.

* @public */ -export interface QuickResponseSearchResultData { +export interface MessageTemplateSummary { /** - *

The Amazon Resource Name (ARN) of the quick response.

+ *

The Amazon Resource Name (ARN) of the message template.

* @public */ - quickResponseArn: string | undefined; + messageTemplateArn: string | undefined; /** - *

The identifier of the quick response.

+ *

The identifier of the message template.

* @public */ - quickResponseId: string | undefined; + messageTemplateId: string | undefined; /** *

The Amazon Resource Name (ARN) of the knowledge base.

@@ -7273,137 +8011,175 @@ export interface QuickResponseSearchResultData { knowledgeBaseArn: string | undefined; /** - *

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

+ *

The identifier of the knowledge base.

* @public */ knowledgeBaseId: string | undefined; /** - *

The name of the quick response.

+ *

The name of the message template.

* @public */ name: string | undefined; /** - *

The media type of the quick response content.

- *
    - *
  • - *

    Use application/x.quickresponse;format=plain for quick response written - * in plain text.

    - *
  • - *
  • - *

    Use application/x.quickresponse;format=markdown for quick response - * written in richtext.

    - *
  • - *
+ *

The channel subtype this message template applies to.

* @public */ - contentType: string | undefined; + channelSubtype: ChannelSubtype | undefined; /** - *

The resource status of the quick response.

+ *

The timestamp when the message template was created.

* @public */ - status: QuickResponseStatus | undefined; + createdTime: Date | undefined; /** - *

The contents of the quick response.

+ *

The timestamp when the message template data was last modified.

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

The Amazon Resource Name (ARN) of the user who last updated the message template + * data.

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

The version number of the message template version that is activated.

+ * @public + */ + activeVersionNumber?: number | undefined; + + /** + *

The description of the message template.

+ * @public + */ + description?: string | undefined; + + /** + *

The tags used to organize, track, or control access for this resource.

+ * @public + */ + tags?: Record | undefined; +} + +/** + * @public + */ +export interface ListMessageTemplatesResponse { + /** + *

Summary information about the message template.

* @public */ - contents: QuickResponseContents | undefined; + messageTemplateSummaries: MessageTemplateSummary[] | undefined; /** - *

The timestamp when the quick response was created.

+ *

If there are additional results, this is the token for the next set of results.

+ * @public + */ + nextToken?: string | undefined; +} + +/** + * @public + */ +export interface ListMessageTemplateVersionsRequest { + /** + *

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain + * the ARN.

* @public */ - createdTime: Date | undefined; + knowledgeBaseId: string | undefined; /** - *

The timestamp when the quick response search result data was last modified.

+ *

The identifier of the message template. Can be either the ID or the ARN. It cannot contain any qualifier.

* @public */ - lastModifiedTime: Date | undefined; + messageTemplateId: string | undefined; /** - *

Whether the quick response is active.

+ *

The token for the next set of results. Use the value returned in the previous + * response in the next request to retrieve the next set of results.

* @public */ - isActive: boolean | undefined; + nextToken?: string | undefined; /** - *

The description of the quick response.

+ *

The maximum number of results to return per page.

* @public */ - description?: string | undefined; + maxResults?: number | undefined; +} +/** + *

The summary of the message template version.

+ * @public + */ +export interface MessageTemplateVersionSummary { /** - *

The configuration information of the user groups that the quick response is accessible - * to.

+ *

The Amazon Resource Name (ARN) of the message template.

* @public */ - groupingConfiguration?: GroupingConfiguration | undefined; + messageTemplateArn: string | undefined; /** - *

The shortcut key of the quick response. The value should be unique across the - * knowledge base.

+ *

The identifier of the message template.

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

The Amazon Resource Name (ARN) of the user who last updated the quick response search - * result data.

+ *

The Amazon Resource Name (ARN) of the knowledge base.

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

The Amazon Connect contact channels this quick response applies to. - * The supported contact channel types include Chat.

+ *

The identifier of the knowledge base.

* @public */ - channels?: string[] | undefined; + knowledgeBaseId: string | undefined; /** - *

The language code value for the language in which the quick response is written.

+ *

The name of the message template.

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

The user defined contact attributes that are not resolved when the search result is - * returned.

+ *

The channel subtype this message template applies to.

* @public */ - attributesNotInterpolated?: string[] | undefined; + channelSubtype: ChannelSubtype | undefined; /** - *

The user defined contact attributes that are resolved when the search result is - * returned.

+ *

Whether the version of the message template is activated.

* @public */ - attributesInterpolated?: string[] | undefined; + isActive: boolean | undefined; /** - *

The tags used to organize, track, or control access for this resource.

+ *

The version number of the message template version.

* @public */ - tags?: Record | undefined; + versionNumber: number | undefined; } /** * @public */ -export interface SearchQuickResponsesResponse { +export interface ListMessageTemplateVersionsResponse { /** - *

The results of the quick response search.

+ *

Summary information about the versions of a message template.

* @public */ - results: QuickResponseSearchResultData[] | undefined; + messageTemplateVersionSummaries: MessageTemplateVersionSummary[] | undefined; /** - *

The token for the next set of results. Use the value returned in the previous - * response in the next request to retrieve the next set of results.

+ *

If there are additional results, this is the token for the next set of results.

* @public */ nextToken?: string | undefined; @@ -7412,486 +8188,432 @@ export interface SearchQuickResponsesResponse { /** * @public */ -export interface StartContentUploadRequest { +export interface RenderMessageTemplateRequest { /** - *

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

+ *

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain + * the ARN.

* @public */ knowledgeBaseId: string | undefined; /** - *

The type of content to upload.

+ *

The identifier of the message template. Can be either the ID or the ARN.

* @public */ - contentType: string | undefined; + messageTemplateId: string | undefined; /** - *

The expected expiration time of the generated presigned URL, specified in minutes.

+ *

An object that specifies the values to use for variables in the message template. This + * object contains different categories of key-value pairs. Each key defines a variable or + * placeholder in the message template. The corresponding value defines the value for that + * variable.

* @public */ - presignedUrlTimeToLive?: number | undefined; + attributes: MessageTemplateAttributes | undefined; } /** * @public */ -export interface StartContentUploadResponse { - /** - *

The identifier of the upload.

- * @public - */ - uploadId: string | undefined; - +export interface RenderMessageTemplateResponse { /** - *

The URL of the upload.

+ *

The content of the message template.

* @public */ - url: string | undefined; + content: MessageTemplateContentProvider | undefined; /** - *

The expiration time of the URL as an epoch timestamp.

+ *

The attribute keys that are not resolved.

* @public */ - urlExpiry: Date | undefined; + attributesNotInterpolated?: string[] | undefined; /** - *

The headers to include in the upload.

+ *

The message template attachments.

* @public */ - headersToInclude: Record | undefined; + attachments?: MessageTemplateAttachment[] | undefined; } /** * @public */ -export interface StartImportJobRequest { +export interface UpdateMessageTemplateRequest { /** - *

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

- *
    - *
  • - *

    For importing Amazon Q in Connect quick responses, this should be a QUICK_RESPONSES - * type knowledge base.

    - *
  • - *
+ *

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain + * the ARN.

* @public */ knowledgeBaseId: string | undefined; /** - *

The type of the import job.

- *
    - *
  • - *

    For importing quick response resource, set the value to - * QUICK_RESPONSES.

    - *
  • - *
- * @public - */ - importJobType: ImportJobType | undefined; - - /** - *

A pointer to the uploaded asset. This value is returned by StartContentUpload.

+ *

The identifier of the message template. Can be either the ID or the ARN. It cannot contain any qualifier.

* @public */ - uploadId: string | undefined; + messageTemplateId: string | undefined; /** - *

The tags used to organize, track, or control access for this resource.

+ *

The content of the message template.

* @public */ - clientToken?: string | undefined; + content?: MessageTemplateContentProvider | undefined; /** - *

The metadata fields of the imported Amazon Q in Connect resources.

+ *

The language code value for the language in which the quick response is written. The supported language codes include de_DE, en_US, es_ES, + * fr_FR, id_ID, it_IT, ja_JP, ko_KR, pt_BR, + * zh_CN, zh_TW + *

* @public */ - metadata?: Record | undefined; + language?: string | undefined; /** - *

The configuration information of the external source that the resource data are imported - * from.

+ *

An object that specifies the default values to use for variables in the message template. + * This object contains different categories of key-value pairs. Each key defines a variable or + * placeholder in the message template. The corresponding value defines the default value for + * that variable.

* @public */ - externalSourceConfiguration?: ExternalSourceConfiguration | undefined; + defaultAttributes?: MessageTemplateAttributes | undefined; } /** * @public */ -export interface StartImportJobResponse { +export interface UpdateMessageTemplateResponse { /** - *

The import job.

+ *

The message template.

* @public */ - importJob?: ImportJobData | undefined; + messageTemplate?: MessageTemplateData | undefined; } /** * @public */ -export interface UpdateKnowledgeBaseTemplateUriRequest { +export interface UpdateMessageTemplateMetadataRequest { /** - *

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

+ *

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain + * the ARN.

* @public */ knowledgeBaseId: string | undefined; /** - *

The template URI to update.

+ *

The identifier of the message template. Can be either the ID or the ARN. It cannot contain any qualifier.

* @public */ - templateUri: string | undefined; -} + messageTemplateId: string | undefined; -/** - * @public - */ -export interface UpdateKnowledgeBaseTemplateUriResponse { /** - *

The knowledge base to update.

+ *

The name of the message template.

* @public */ - knowledgeBase?: KnowledgeBaseData | undefined; -} + name?: string | undefined; -/** - * @public - */ -export interface ListTagsForResourceRequest { /** - *

The Amazon Resource Name (ARN) of the resource.

+ *

The description of the message template.

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

The configuration information of the grouping of Amazon Q in Connect users.

+ * @public + */ + groupingConfiguration?: GroupingConfiguration | undefined; } /** * @public */ -export interface ListTagsForResourceResponse { +export interface UpdateMessageTemplateMetadataResponse { /** - *

The tags used to organize, track, or control access for this resource.

+ *

The message template.

* @public */ - tags?: Record | undefined; + messageTemplate?: MessageTemplateData | undefined; } /** * @public */ -export interface TagResourceRequest { +export interface ListQuickResponsesRequest { /** - *

The Amazon Resource Name (ARN) of the resource.

+ *

The token for the next set of results. Use the value returned in the previous + * response in the next request to retrieve the next set of results.

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

The tags used to organize, track, or control access for this resource.

+ *

The maximum number of results to return per page.

* @public */ - tags: Record | undefined; -} + maxResults?: number | undefined; -/** - * @public - */ -export interface TagResourceResponse {} + /** + *

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

+ * @public + */ + knowledgeBaseId: string | undefined; +} /** - *

Amazon Q in Connect throws this exception if you have too many tags in your tag set.

+ *

The summary information about the quick response.

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

The specified resource name.

+ *

The Amazon Resource Name (ARN) of the quick response.

* @public */ - resourceName?: string | undefined; + quickResponseArn: string | undefined; /** - * @internal + *

The identifier of the quick response.

+ * @public */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "TooManyTagsException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, TooManyTagsException.prototype); - this.resourceName = opts.resourceName; - } -} + quickResponseId: string | undefined; -/** - * @public - */ -export interface UntagResourceRequest { /** - *

The Amazon Resource Name (ARN) of the resource.

+ *

The Amazon Resource Name (ARN) of the knowledge base.

* @public */ - resourceArn: string | undefined; + knowledgeBaseArn: string | undefined; /** - *

The tag keys.

+ *

The identifier of the knowledge base.

* @public */ - tagKeys: string[] | undefined; -} - -/** - * @public - */ -export interface UntagResourceResponse {} + knowledgeBaseId: string | undefined; -/** - *

Details about the data.

- * @public - */ -export type DataDetails = - | DataDetails.ContentDataMember - | DataDetails.GenerativeDataMember - | DataDetails.IntentDetectedDataMember - | DataDetails.SourceContentDataMember - | DataDetails.$UnknownMember; + /** + *

The name of the quick response.

+ * @public + */ + name: string | undefined; -/** - * @public - */ -export namespace DataDetails { /** - *

Details about the content data.

+ *

The media type of the quick response content.

+ *
    + *
  • + *

    Use application/x.quickresponse;format=plain for quick response written + * in plain text.

    + *
  • + *
  • + *

    Use application/x.quickresponse;format=markdown for quick response + * written in richtext.

    + *
  • + *
* @public */ - export interface ContentDataMember { - contentData: ContentDataDetails; - generativeData?: never; - intentDetectedData?: never; - sourceContentData?: never; - $unknown?: never; - } + contentType: string | undefined; /** - *

Details about the generative data.

+ *

The resource status of the quick response.

* @public */ - export interface GenerativeDataMember { - contentData?: never; - generativeData: GenerativeDataDetails; - intentDetectedData?: never; - sourceContentData?: never; - $unknown?: never; - } + status: QuickResponseStatus | undefined; /** - *

Details about the intent data.

+ *

The timestamp when the quick response was created.

* @public */ - export interface IntentDetectedDataMember { - contentData?: never; - generativeData?: never; - intentDetectedData: IntentDetectedDataDetails; - sourceContentData?: never; - $unknown?: never; - } + createdTime: Date | undefined; /** - *

Details about the content data.

+ *

The timestamp when the quick response summary was last modified.

* @public */ - export interface SourceContentDataMember { - contentData?: never; - generativeData?: never; - intentDetectedData?: never; - sourceContentData: SourceContentDataDetails; - $unknown?: never; - } + lastModifiedTime: Date | undefined; /** + *

The description of the quick response.

* @public */ - export interface $UnknownMember { - contentData?: never; - generativeData?: never; - intentDetectedData?: never; - sourceContentData?: never; - $unknown: [string, any]; - } + description?: string | undefined; - export interface Visitor { - contentData: (value: ContentDataDetails) => T; - generativeData: (value: GenerativeDataDetails) => T; - intentDetectedData: (value: IntentDetectedDataDetails) => T; - sourceContentData: (value: SourceContentDataDetails) => T; - _: (name: string, value: any) => T; - } + /** + *

The Amazon Resource Name (ARN) of the user who last updated the quick response + * data.

+ * @public + */ + lastModifiedBy?: string | undefined; - export const visit = (value: DataDetails, visitor: Visitor): T => { - if (value.contentData !== undefined) return visitor.contentData(value.contentData); - if (value.generativeData !== undefined) return visitor.generativeData(value.generativeData); - if (value.intentDetectedData !== undefined) return visitor.intentDetectedData(value.intentDetectedData); - if (value.sourceContentData !== undefined) return visitor.sourceContentData(value.sourceContentData); - return visitor._(value.$unknown[0], value.$unknown[1]); - }; -} + /** + *

Whether the quick response is active.

+ * @public + */ + isActive?: boolean | undefined; -/** - *

Summary of the data.

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

Reference information about the content.

+ *

The Amazon Connect contact channels this quick response applies to. + * The supported contact channel types include Chat.

* @public */ - reference: DataReference | undefined; + channels?: string[] | undefined; /** - *

Details about the data.

+ *

The tags used to organize, track, or control access for this resource.

* @public */ - details: DataDetails | undefined; + tags?: Record | undefined; } /** - *

Details about generative data.

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

The LLM response.

- * @public - */ - completion: string | undefined; - +export interface ListQuickResponsesResponse { /** - *

The references used to generative the LLM response.

+ *

Summary information about the quick responses.

* @public */ - references: DataSummary[] | undefined; + quickResponseSummaries: QuickResponseSummary[] | undefined; /** - *

Details about the generative content ranking data.

+ *

The token for the next set of results. Use the value returned in the previous + * response in the next request to retrieve the next set of results.

* @public */ - rankingData: RankingData | undefined; + nextToken?: string | undefined; } /** - *

Information about the recommendation.

* @public */ -export interface RecommendationData { +export interface UpdateQuickResponseRequest { /** - *

The identifier of the recommendation.

+ *

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

* @public */ - recommendationId: string | undefined; + knowledgeBaseId: string | undefined; /** - *

The recommended document.

+ *

The identifier of the quick response.

* @public */ - document?: Document | undefined; + quickResponseId: string | undefined; /** - *

The relevance score of the recommendation.

+ *

The name of the quick response.

* @public */ - relevanceScore?: number | undefined; + name?: string | undefined; /** - *

The relevance level of the recommendation.

+ *

The updated content of the quick response.

+ * @public + */ + content?: QuickResponseDataProvider | undefined; + + /** + *

The media type of the quick response content.

+ *
    + *
  • + *

    Use application/x.quickresponse;format=plain for quick response written + * in plain text.

    + *
  • + *
  • + *

    Use application/x.quickresponse;format=markdown for quick response + * written in richtext.

    + *
  • + *
* @public */ - relevanceLevel?: RelevanceLevel | undefined; + contentType?: string | undefined; /** - *

The type of recommendation.

+ *

The updated grouping configuration of the quick response.

* @public */ - type?: RecommendationType | undefined; + groupingConfiguration?: GroupingConfiguration | undefined; /** - *

Summary of the recommended content.

+ *

Whether to remove the grouping configuration of the quick response.

* @public */ - data?: DataSummary | undefined; -} + removeGroupingConfiguration?: boolean | undefined; -/** - *

Information about the result.

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

The identifier of the result data.

+ *

The updated description of the quick response.

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

The document.

+ *

Whether to remove the description from the quick response.

* @public */ - document?: Document | undefined; + removeDescription?: boolean | undefined; /** - *

The relevance score of the results.

+ *

The shortcut key of the quick response. The value should be unique across the + * knowledge base.

* @public */ - relevanceScore?: number | undefined; + shortcutKey?: string | undefined; /** - *

Summary of the recommended content.

+ *

Whether to remove the shortcut key of the quick response.

* @public */ - data?: DataSummary | undefined; + removeShortcutKey?: boolean | undefined; /** - *

The type of the query result.

+ *

Whether the quick response is active.

* @public */ - type?: QueryResultType | undefined; -} + isActive?: boolean | undefined; -/** - * @public - */ -export interface GetRecommendationsResponse { /** - *

The recommendations.

+ *

The Amazon Connect contact channels this quick response applies to. + * The supported contact channel types include Chat.

* @public */ - recommendations: RecommendationData[] | undefined; + channels?: string[] | undefined; /** - *

The triggers corresponding to recommendations.

+ *

The language code value for the language in which the quick response is written. The supported language codes include de_DE, en_US, es_ES, + * fr_FR, id_ID, it_IT, ja_JP, ko_KR, pt_BR, + * zh_CN, zh_TW + *

* @public */ - triggers?: RecommendationTrigger[] | undefined; + language?: string | undefined; } /** * @public */ -export interface QueryAssistantResponse { +export interface UpdateQuickResponseResponse { /** - *

The results of the query.

+ *

The quick response.

* @public */ - results: ResultData[] | undefined; + quickResponse?: QuickResponseData | undefined; +} +/** + * @public + */ +export interface RemoveKnowledgeBaseTemplateUriRequest { /** - *

If there are additional results, this is the token for the next set of results.

+ *

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

* @public */ - nextToken?: string | undefined; + knowledgeBaseId: string | undefined; } +/** + * @internal + */ +export const AgentAttributesFilterSensitiveLog = (obj: AgentAttributes): any => ({ + ...obj, + ...(obj.firstName && { firstName: SENSITIVE_STRING }), + ...(obj.lastName && { lastName: SENSITIVE_STRING }), +}); + /** * @internal */ @@ -8203,7 +8925,7 @@ export const CreateKnowledgeBaseResponseFilterSensitiveLog = (obj: CreateKnowled /** * @internal */ -export const QuickResponseDataProviderFilterSensitiveLog = (obj: QuickResponseDataProvider): any => { +export const MessageTemplateBodyContentProviderFilterSensitiveLog = (obj: MessageTemplateBodyContentProvider): any => { if (obj.content !== undefined) return { content: SENSITIVE_STRING }; if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; }; @@ -8211,137 +8933,265 @@ export const QuickResponseDataProviderFilterSensitiveLog = (obj: QuickResponseDa /** * @internal */ -export const GroupingConfigurationFilterSensitiveLog = (obj: GroupingConfiguration): any => ({ +export const EmailMessageTemplateContentBodyFilterSensitiveLog = (obj: EmailMessageTemplateContentBody): any => ({ ...obj, - ...(obj.criteria && { criteria: SENSITIVE_STRING }), - ...(obj.values && { values: SENSITIVE_STRING }), + ...(obj.plainText && { plainText: MessageTemplateBodyContentProviderFilterSensitiveLog(obj.plainText) }), + ...(obj.html && { html: MessageTemplateBodyContentProviderFilterSensitiveLog(obj.html) }), }); /** * @internal */ -export const CreateQuickResponseRequestFilterSensitiveLog = (obj: CreateQuickResponseRequest): any => ({ +export const EmailHeaderFilterSensitiveLog = (obj: EmailHeader): any => ({ ...obj, - ...(obj.content && { content: QuickResponseDataProviderFilterSensitiveLog(obj.content) }), - ...(obj.groupingConfiguration && { - groupingConfiguration: GroupingConfigurationFilterSensitiveLog(obj.groupingConfiguration), - }), - ...(obj.channels && { channels: SENSITIVE_STRING }), + ...(obj.value && { value: SENSITIVE_STRING }), }); /** * @internal */ -export const QuickResponseContentProviderFilterSensitiveLog = (obj: QuickResponseContentProvider): any => { - if (obj.content !== undefined) return { content: SENSITIVE_STRING }; - if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; -}; +export const EmailMessageTemplateContentFilterSensitiveLog = (obj: EmailMessageTemplateContent): any => ({ + ...obj, + ...(obj.subject && { subject: SENSITIVE_STRING }), + ...(obj.body && { body: EmailMessageTemplateContentBodyFilterSensitiveLog(obj.body) }), + ...(obj.headers && { headers: obj.headers.map((item) => EmailHeaderFilterSensitiveLog(item)) }), +}); /** * @internal */ -export const QuickResponseContentsFilterSensitiveLog = (obj: QuickResponseContents): any => ({ +export const SMSMessageTemplateContentBodyFilterSensitiveLog = (obj: SMSMessageTemplateContentBody): any => ({ ...obj, - ...(obj.plainText && { plainText: QuickResponseContentProviderFilterSensitiveLog(obj.plainText) }), - ...(obj.markdown && { markdown: QuickResponseContentProviderFilterSensitiveLog(obj.markdown) }), + ...(obj.plainText && { plainText: MessageTemplateBodyContentProviderFilterSensitiveLog(obj.plainText) }), }); /** * @internal */ -export const QuickResponseDataFilterSensitiveLog = (obj: QuickResponseData): any => ({ +export const SMSMessageTemplateContentFilterSensitiveLog = (obj: SMSMessageTemplateContent): any => ({ ...obj, - ...(obj.contents && { contents: QuickResponseContentsFilterSensitiveLog(obj.contents) }), - ...(obj.groupingConfiguration && { - groupingConfiguration: GroupingConfigurationFilterSensitiveLog(obj.groupingConfiguration), - }), - ...(obj.channels && { channels: SENSITIVE_STRING }), + ...(obj.body && { body: SMSMessageTemplateContentBodyFilterSensitiveLog(obj.body) }), }); /** * @internal */ -export const CreateQuickResponseResponseFilterSensitiveLog = (obj: CreateQuickResponseResponse): any => ({ +export const MessageTemplateContentProviderFilterSensitiveLog = (obj: MessageTemplateContentProvider): any => { + if (obj.email !== undefined) return { email: EmailMessageTemplateContentFilterSensitiveLog(obj.email) }; + if (obj.sms !== undefined) return { sms: SMSMessageTemplateContentFilterSensitiveLog(obj.sms) }; + if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; +}; + +/** + * @internal + */ +export const CustomerProfileAttributesFilterSensitiveLog = (obj: CustomerProfileAttributes): any => ({ ...obj, - ...(obj.quickResponse && { quickResponse: QuickResponseDataFilterSensitiveLog(obj.quickResponse) }), + ...(obj.profileId && { profileId: SENSITIVE_STRING }), + ...(obj.profileARN && { profileARN: SENSITIVE_STRING }), + ...(obj.firstName && { firstName: SENSITIVE_STRING }), + ...(obj.middleName && { middleName: SENSITIVE_STRING }), + ...(obj.lastName && { lastName: SENSITIVE_STRING }), + ...(obj.accountNumber && { accountNumber: SENSITIVE_STRING }), + ...(obj.emailAddress && { emailAddress: SENSITIVE_STRING }), + ...(obj.phoneNumber && { phoneNumber: SENSITIVE_STRING }), + ...(obj.additionalInformation && { additionalInformation: SENSITIVE_STRING }), + ...(obj.partyType && { partyType: SENSITIVE_STRING }), + ...(obj.businessName && { businessName: SENSITIVE_STRING }), + ...(obj.birthDate && { birthDate: SENSITIVE_STRING }), + ...(obj.gender && { gender: SENSITIVE_STRING }), + ...(obj.mobilePhoneNumber && { mobilePhoneNumber: SENSITIVE_STRING }), + ...(obj.homePhoneNumber && { homePhoneNumber: SENSITIVE_STRING }), + ...(obj.businessPhoneNumber && { businessPhoneNumber: SENSITIVE_STRING }), + ...(obj.businessEmailAddress && { businessEmailAddress: SENSITIVE_STRING }), + ...(obj.address1 && { address1: SENSITIVE_STRING }), + ...(obj.address2 && { address2: SENSITIVE_STRING }), + ...(obj.address3 && { address3: SENSITIVE_STRING }), + ...(obj.address4 && { address4: SENSITIVE_STRING }), + ...(obj.city && { city: SENSITIVE_STRING }), + ...(obj.county && { county: SENSITIVE_STRING }), + ...(obj.country && { country: SENSITIVE_STRING }), + ...(obj.postalCode && { postalCode: SENSITIVE_STRING }), + ...(obj.province && { province: SENSITIVE_STRING }), + ...(obj.state && { state: SENSITIVE_STRING }), + ...(obj.shippingAddress1 && { shippingAddress1: SENSITIVE_STRING }), + ...(obj.shippingAddress2 && { shippingAddress2: SENSITIVE_STRING }), + ...(obj.shippingAddress3 && { shippingAddress3: SENSITIVE_STRING }), + ...(obj.shippingAddress4 && { shippingAddress4: SENSITIVE_STRING }), + ...(obj.shippingCity && { shippingCity: SENSITIVE_STRING }), + ...(obj.shippingCounty && { shippingCounty: SENSITIVE_STRING }), + ...(obj.shippingCountry && { shippingCountry: SENSITIVE_STRING }), + ...(obj.shippingPostalCode && { shippingPostalCode: SENSITIVE_STRING }), + ...(obj.shippingProvince && { shippingProvince: SENSITIVE_STRING }), + ...(obj.shippingState && { shippingState: SENSITIVE_STRING }), + ...(obj.mailingAddress1 && { mailingAddress1: SENSITIVE_STRING }), + ...(obj.mailingAddress2 && { mailingAddress2: SENSITIVE_STRING }), + ...(obj.mailingAddress3 && { mailingAddress3: SENSITIVE_STRING }), + ...(obj.mailingAddress4 && { mailingAddress4: SENSITIVE_STRING }), + ...(obj.mailingCity && { mailingCity: SENSITIVE_STRING }), + ...(obj.mailingCounty && { mailingCounty: SENSITIVE_STRING }), + ...(obj.mailingCountry && { mailingCountry: SENSITIVE_STRING }), + ...(obj.mailingPostalCode && { mailingPostalCode: SENSITIVE_STRING }), + ...(obj.mailingProvince && { mailingProvince: SENSITIVE_STRING }), + ...(obj.mailingState && { mailingState: SENSITIVE_STRING }), + ...(obj.billingAddress1 && { billingAddress1: SENSITIVE_STRING }), + ...(obj.billingAddress2 && { billingAddress2: SENSITIVE_STRING }), + ...(obj.billingAddress3 && { billingAddress3: SENSITIVE_STRING }), + ...(obj.billingAddress4 && { billingAddress4: SENSITIVE_STRING }), + ...(obj.billingCity && { billingCity: SENSITIVE_STRING }), + ...(obj.billingCounty && { billingCounty: SENSITIVE_STRING }), + ...(obj.billingCountry && { billingCountry: SENSITIVE_STRING }), + ...(obj.billingPostalCode && { billingPostalCode: SENSITIVE_STRING }), + ...(obj.billingProvince && { billingProvince: SENSITIVE_STRING }), + ...(obj.billingState && { billingState: SENSITIVE_STRING }), + ...(obj.custom && { custom: SENSITIVE_STRING }), }); /** * @internal */ -export const ImportJobDataFilterSensitiveLog = (obj: ImportJobData): any => ({ +export const SystemEndpointAttributesFilterSensitiveLog = (obj: SystemEndpointAttributes): any => ({ ...obj, - ...(obj.url && { url: SENSITIVE_STRING }), - ...(obj.failedRecordReport && { failedRecordReport: SENSITIVE_STRING }), - ...(obj.externalSourceConfiguration && { externalSourceConfiguration: obj.externalSourceConfiguration }), + ...(obj.address && { address: SENSITIVE_STRING }), }); /** * @internal */ -export const GetImportJobResponseFilterSensitiveLog = (obj: GetImportJobResponse): any => ({ +export const SystemAttributesFilterSensitiveLog = (obj: SystemAttributes): any => ({ ...obj, - ...(obj.importJob && { importJob: ImportJobDataFilterSensitiveLog(obj.importJob) }), + ...(obj.name && { name: SENSITIVE_STRING }), + ...(obj.customerEndpoint && { customerEndpoint: SystemEndpointAttributesFilterSensitiveLog(obj.customerEndpoint) }), + ...(obj.systemEndpoint && { systemEndpoint: SystemEndpointAttributesFilterSensitiveLog(obj.systemEndpoint) }), }); /** * @internal */ -export const GetKnowledgeBaseResponseFilterSensitiveLog = (obj: GetKnowledgeBaseResponse): any => ({ +export const MessageTemplateAttributesFilterSensitiveLog = (obj: MessageTemplateAttributes): any => ({ ...obj, - ...(obj.knowledgeBase && { knowledgeBase: KnowledgeBaseDataFilterSensitiveLog(obj.knowledgeBase) }), + ...(obj.systemAttributes && { systemAttributes: SystemAttributesFilterSensitiveLog(obj.systemAttributes) }), + ...(obj.agentAttributes && { agentAttributes: AgentAttributesFilterSensitiveLog(obj.agentAttributes) }), + ...(obj.customerProfileAttributes && { + customerProfileAttributes: CustomerProfileAttributesFilterSensitiveLog(obj.customerProfileAttributes), + }), + ...(obj.customAttributes && { customAttributes: SENSITIVE_STRING }), }); /** * @internal */ -export const GetQuickResponseResponseFilterSensitiveLog = (obj: GetQuickResponseResponse): any => ({ +export const GroupingConfigurationFilterSensitiveLog = (obj: GroupingConfiguration): any => ({ ...obj, - ...(obj.quickResponse && { quickResponse: QuickResponseDataFilterSensitiveLog(obj.quickResponse) }), + ...(obj.criteria && { criteria: SENSITIVE_STRING }), + ...(obj.values && { values: SENSITIVE_STRING }), }); /** * @internal */ -export const KnowledgeBaseSummaryFilterSensitiveLog = (obj: KnowledgeBaseSummary): any => ({ +export const CreateMessageTemplateRequestFilterSensitiveLog = (obj: CreateMessageTemplateRequest): any => ({ ...obj, - ...(obj.sourceConfiguration && { - sourceConfiguration: SourceConfigurationFilterSensitiveLog(obj.sourceConfiguration), + ...(obj.content && { content: MessageTemplateContentProviderFilterSensitiveLog(obj.content) }), + ...(obj.defaultAttributes && { + defaultAttributes: MessageTemplateAttributesFilterSensitiveLog(obj.defaultAttributes), + }), + ...(obj.groupingConfiguration && { + groupingConfiguration: GroupingConfigurationFilterSensitiveLog(obj.groupingConfiguration), }), }); /** * @internal */ -export const ListKnowledgeBasesResponseFilterSensitiveLog = (obj: ListKnowledgeBasesResponse): any => ({ +export const MessageTemplateDataFilterSensitiveLog = (obj: MessageTemplateData): any => ({ ...obj, - ...(obj.knowledgeBaseSummaries && { - knowledgeBaseSummaries: obj.knowledgeBaseSummaries.map((item) => KnowledgeBaseSummaryFilterSensitiveLog(item)), + ...(obj.content && { content: MessageTemplateContentProviderFilterSensitiveLog(obj.content) }), + ...(obj.groupingConfiguration && { + groupingConfiguration: GroupingConfigurationFilterSensitiveLog(obj.groupingConfiguration), + }), + ...(obj.defaultAttributes && { + defaultAttributes: MessageTemplateAttributesFilterSensitiveLog(obj.defaultAttributes), }), }); /** * @internal */ -export const QuickResponseSummaryFilterSensitiveLog = (obj: QuickResponseSummary): any => ({ +export const CreateMessageTemplateResponseFilterSensitiveLog = (obj: CreateMessageTemplateResponse): any => ({ ...obj, - ...(obj.channels && { channels: SENSITIVE_STRING }), + ...(obj.messageTemplate && { messageTemplate: MessageTemplateDataFilterSensitiveLog(obj.messageTemplate) }), }); /** * @internal */ -export const ListQuickResponsesResponseFilterSensitiveLog = (obj: ListQuickResponsesResponse): any => ({ +export const CreateMessageTemplateAttachmentRequestFilterSensitiveLog = ( + obj: CreateMessageTemplateAttachmentRequest +): any => ({ ...obj, - ...(obj.quickResponseSummaries && { - quickResponseSummaries: obj.quickResponseSummaries.map((item) => QuickResponseSummaryFilterSensitiveLog(item)), + ...(obj.name && { name: SENSITIVE_STRING }), + ...(obj.body && { body: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const MessageTemplateAttachmentFilterSensitiveLog = (obj: MessageTemplateAttachment): any => ({ + ...obj, + ...(obj.name && { name: SENSITIVE_STRING }), + ...(obj.url && { url: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const CreateMessageTemplateAttachmentResponseFilterSensitiveLog = ( + obj: CreateMessageTemplateAttachmentResponse +): any => ({ + ...obj, + ...(obj.attachment && { attachment: MessageTemplateAttachmentFilterSensitiveLog(obj.attachment) }), +}); + +/** + * @internal + */ +export const ExtendedMessageTemplateDataFilterSensitiveLog = (obj: ExtendedMessageTemplateData): any => ({ + ...obj, + ...(obj.content && { content: MessageTemplateContentProviderFilterSensitiveLog(obj.content) }), + ...(obj.groupingConfiguration && { + groupingConfiguration: GroupingConfigurationFilterSensitiveLog(obj.groupingConfiguration), + }), + ...(obj.defaultAttributes && { + defaultAttributes: MessageTemplateAttributesFilterSensitiveLog(obj.defaultAttributes), + }), + ...(obj.attachments && { + attachments: obj.attachments.map((item) => MessageTemplateAttachmentFilterSensitiveLog(item)), }), }); /** * @internal */ -export const UpdateQuickResponseRequestFilterSensitiveLog = (obj: UpdateQuickResponseRequest): any => ({ +export const CreateMessageTemplateVersionResponseFilterSensitiveLog = ( + obj: CreateMessageTemplateVersionResponse +): any => ({ + ...obj, + ...(obj.messageTemplate && { messageTemplate: ExtendedMessageTemplateDataFilterSensitiveLog(obj.messageTemplate) }), +}); + +/** + * @internal + */ +export const QuickResponseDataProviderFilterSensitiveLog = (obj: QuickResponseDataProvider): any => { + if (obj.content !== undefined) return { content: SENSITIVE_STRING }; + if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; +}; + +/** + * @internal + */ +export const CreateQuickResponseRequestFilterSensitiveLog = (obj: CreateQuickResponseRequest): any => ({ ...obj, ...(obj.content && { content: QuickResponseDataProviderFilterSensitiveLog(obj.content) }), ...(obj.groupingConfiguration && { @@ -8353,53 +9203,54 @@ export const UpdateQuickResponseRequestFilterSensitiveLog = (obj: UpdateQuickRes /** * @internal */ -export const UpdateQuickResponseResponseFilterSensitiveLog = (obj: UpdateQuickResponseResponse): any => ({ - ...obj, - ...(obj.quickResponse && { quickResponse: QuickResponseDataFilterSensitiveLog(obj.quickResponse) }), -}); +export const QuickResponseContentProviderFilterSensitiveLog = (obj: QuickResponseContentProvider): any => { + if (obj.content !== undefined) return { content: SENSITIVE_STRING }; + if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; +}; /** * @internal */ -export const SearchQuickResponsesRequestFilterSensitiveLog = (obj: SearchQuickResponsesRequest): any => ({ +export const QuickResponseContentsFilterSensitiveLog = (obj: QuickResponseContents): any => ({ ...obj, - ...(obj.attributes && { attributes: SENSITIVE_STRING }), + ...(obj.plainText && { plainText: QuickResponseContentProviderFilterSensitiveLog(obj.plainText) }), + ...(obj.markdown && { markdown: QuickResponseContentProviderFilterSensitiveLog(obj.markdown) }), }); /** * @internal */ -export const QuickResponseSearchResultDataFilterSensitiveLog = (obj: QuickResponseSearchResultData): any => ({ +export const QuickResponseDataFilterSensitiveLog = (obj: QuickResponseData): any => ({ ...obj, ...(obj.contents && { contents: QuickResponseContentsFilterSensitiveLog(obj.contents) }), ...(obj.groupingConfiguration && { groupingConfiguration: GroupingConfigurationFilterSensitiveLog(obj.groupingConfiguration), }), ...(obj.channels && { channels: SENSITIVE_STRING }), - ...(obj.attributesNotInterpolated && { attributesNotInterpolated: SENSITIVE_STRING }), - ...(obj.attributesInterpolated && { attributesInterpolated: SENSITIVE_STRING }), }); /** * @internal */ -export const SearchQuickResponsesResponseFilterSensitiveLog = (obj: SearchQuickResponsesResponse): any => ({ +export const CreateQuickResponseResponseFilterSensitiveLog = (obj: CreateQuickResponseResponse): any => ({ ...obj, - ...(obj.results && { results: obj.results.map((item) => QuickResponseSearchResultDataFilterSensitiveLog(item)) }), + ...(obj.quickResponse && { quickResponse: QuickResponseDataFilterSensitiveLog(obj.quickResponse) }), }); /** * @internal */ -export const StartContentUploadResponseFilterSensitiveLog = (obj: StartContentUploadResponse): any => ({ +export const ImportJobDataFilterSensitiveLog = (obj: ImportJobData): any => ({ ...obj, ...(obj.url && { url: SENSITIVE_STRING }), + ...(obj.failedRecordReport && { failedRecordReport: SENSITIVE_STRING }), + ...(obj.externalSourceConfiguration && { externalSourceConfiguration: obj.externalSourceConfiguration }), }); /** * @internal */ -export const StartImportJobResponseFilterSensitiveLog = (obj: StartImportJobResponse): any => ({ +export const GetImportJobResponseFilterSensitiveLog = (obj: GetImportJobResponse): any => ({ ...obj, ...(obj.importJob && { importJob: ImportJobDataFilterSensitiveLog(obj.importJob) }), }); @@ -8407,9 +9258,7 @@ export const StartImportJobResponseFilterSensitiveLog = (obj: StartImportJobResp /** * @internal */ -export const UpdateKnowledgeBaseTemplateUriResponseFilterSensitiveLog = ( - obj: UpdateKnowledgeBaseTemplateUriResponse -): any => ({ +export const GetKnowledgeBaseResponseFilterSensitiveLog = (obj: GetKnowledgeBaseResponse): any => ({ ...obj, ...(obj.knowledgeBase && { knowledgeBase: KnowledgeBaseDataFilterSensitiveLog(obj.knowledgeBase) }), }); @@ -8417,68 +9266,134 @@ export const UpdateKnowledgeBaseTemplateUriResponseFilterSensitiveLog = ( /** * @internal */ -export const DataDetailsFilterSensitiveLog = (obj: DataDetails): any => { - if (obj.contentData !== undefined) return { contentData: ContentDataDetailsFilterSensitiveLog(obj.contentData) }; - if (obj.generativeData !== undefined) - return { generativeData: GenerativeDataDetailsFilterSensitiveLog(obj.generativeData) }; - if (obj.intentDetectedData !== undefined) - return { intentDetectedData: IntentDetectedDataDetailsFilterSensitiveLog(obj.intentDetectedData) }; - if (obj.sourceContentData !== undefined) - return { sourceContentData: SourceContentDataDetailsFilterSensitiveLog(obj.sourceContentData) }; - if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; -}; +export const GetMessageTemplateResponseFilterSensitiveLog = (obj: GetMessageTemplateResponse): any => ({ + ...obj, + ...(obj.messageTemplate && { messageTemplate: ExtendedMessageTemplateDataFilterSensitiveLog(obj.messageTemplate) }), +}); + +/** + * @internal + */ +export const GetQuickResponseResponseFilterSensitiveLog = (obj: GetQuickResponseResponse): any => ({ + ...obj, + ...(obj.quickResponse && { quickResponse: QuickResponseDataFilterSensitiveLog(obj.quickResponse) }), +}); + +/** + * @internal + */ +export const KnowledgeBaseSummaryFilterSensitiveLog = (obj: KnowledgeBaseSummary): any => ({ + ...obj, + ...(obj.sourceConfiguration && { + sourceConfiguration: SourceConfigurationFilterSensitiveLog(obj.sourceConfiguration), + }), +}); + +/** + * @internal + */ +export const ListKnowledgeBasesResponseFilterSensitiveLog = (obj: ListKnowledgeBasesResponse): any => ({ + ...obj, + ...(obj.knowledgeBaseSummaries && { + knowledgeBaseSummaries: obj.knowledgeBaseSummaries.map((item) => KnowledgeBaseSummaryFilterSensitiveLog(item)), + }), +}); + +/** + * @internal + */ +export const RenderMessageTemplateRequestFilterSensitiveLog = (obj: RenderMessageTemplateRequest): any => ({ + ...obj, + ...(obj.attributes && { attributes: MessageTemplateAttributesFilterSensitiveLog(obj.attributes) }), +}); + +/** + * @internal + */ +export const RenderMessageTemplateResponseFilterSensitiveLog = (obj: RenderMessageTemplateResponse): any => ({ + ...obj, + ...(obj.content && { content: MessageTemplateContentProviderFilterSensitiveLog(obj.content) }), + ...(obj.attributesNotInterpolated && { attributesNotInterpolated: SENSITIVE_STRING }), + ...(obj.attachments && { + attachments: obj.attachments.map((item) => MessageTemplateAttachmentFilterSensitiveLog(item)), + }), +}); + +/** + * @internal + */ +export const UpdateMessageTemplateRequestFilterSensitiveLog = (obj: UpdateMessageTemplateRequest): any => ({ + ...obj, + ...(obj.content && { content: MessageTemplateContentProviderFilterSensitiveLog(obj.content) }), + ...(obj.defaultAttributes && { + defaultAttributes: MessageTemplateAttributesFilterSensitiveLog(obj.defaultAttributes), + }), +}); /** * @internal */ -export const DataSummaryFilterSensitiveLog = (obj: DataSummary): any => ({ +export const UpdateMessageTemplateResponseFilterSensitiveLog = (obj: UpdateMessageTemplateResponse): any => ({ ...obj, - ...(obj.reference && { reference: obj.reference }), - ...(obj.details && { details: DataDetailsFilterSensitiveLog(obj.details) }), + ...(obj.messageTemplate && { messageTemplate: MessageTemplateDataFilterSensitiveLog(obj.messageTemplate) }), +}); + +/** + * @internal + */ +export const UpdateMessageTemplateMetadataRequestFilterSensitiveLog = ( + obj: UpdateMessageTemplateMetadataRequest +): any => ({ + ...obj, + ...(obj.groupingConfiguration && { + groupingConfiguration: GroupingConfigurationFilterSensitiveLog(obj.groupingConfiguration), + }), }); /** * @internal */ -export const GenerativeDataDetailsFilterSensitiveLog = (obj: GenerativeDataDetails): any => ({ +export const UpdateMessageTemplateMetadataResponseFilterSensitiveLog = ( + obj: UpdateMessageTemplateMetadataResponse +): any => ({ ...obj, - ...(obj.completion && { completion: SENSITIVE_STRING }), - ...(obj.references && { references: obj.references.map((item) => DataSummaryFilterSensitiveLog(item)) }), + ...(obj.messageTemplate && { messageTemplate: MessageTemplateDataFilterSensitiveLog(obj.messageTemplate) }), }); /** * @internal */ -export const RecommendationDataFilterSensitiveLog = (obj: RecommendationData): any => ({ +export const QuickResponseSummaryFilterSensitiveLog = (obj: QuickResponseSummary): any => ({ ...obj, - ...(obj.document && { document: DocumentFilterSensitiveLog(obj.document) }), - ...(obj.data && { data: DataSummaryFilterSensitiveLog(obj.data) }), + ...(obj.channels && { channels: SENSITIVE_STRING }), }); /** * @internal */ -export const ResultDataFilterSensitiveLog = (obj: ResultData): any => ({ +export const ListQuickResponsesResponseFilterSensitiveLog = (obj: ListQuickResponsesResponse): any => ({ ...obj, - ...(obj.document && { document: DocumentFilterSensitiveLog(obj.document) }), - ...(obj.data && { data: DataSummaryFilterSensitiveLog(obj.data) }), + ...(obj.quickResponseSummaries && { + quickResponseSummaries: obj.quickResponseSummaries.map((item) => QuickResponseSummaryFilterSensitiveLog(item)), + }), }); /** * @internal */ -export const GetRecommendationsResponseFilterSensitiveLog = (obj: GetRecommendationsResponse): any => ({ +export const UpdateQuickResponseRequestFilterSensitiveLog = (obj: UpdateQuickResponseRequest): any => ({ ...obj, - ...(obj.recommendations && { - recommendations: obj.recommendations.map((item) => RecommendationDataFilterSensitiveLog(item)), + ...(obj.content && { content: QuickResponseDataProviderFilterSensitiveLog(obj.content) }), + ...(obj.groupingConfiguration && { + groupingConfiguration: GroupingConfigurationFilterSensitiveLog(obj.groupingConfiguration), }), - ...(obj.triggers && { triggers: obj.triggers.map((item) => RecommendationTriggerFilterSensitiveLog(item)) }), + ...(obj.channels && { channels: SENSITIVE_STRING }), }); /** * @internal */ -export const QueryAssistantResponseFilterSensitiveLog = (obj: QueryAssistantResponse): any => ({ +export const UpdateQuickResponseResponseFilterSensitiveLog = (obj: UpdateQuickResponseResponse): any => ({ ...obj, - ...(obj.results && { results: obj.results.map((item) => ResultDataFilterSensitiveLog(item)) }), + ...(obj.quickResponse && { quickResponse: QuickResponseDataFilterSensitiveLog(obj.quickResponse) }), }); diff --git a/clients/client-qconnect/src/models/models_1.ts b/clients/client-qconnect/src/models/models_1.ts new file mode 100644 index 000000000000..cc06ccf0cefe --- /dev/null +++ b/clients/client-qconnect/src/models/models_1.ts @@ -0,0 +1,1541 @@ +// smithy-typescript generated code +import { ExceptionOptionType as __ExceptionOptionType, SENSITIVE_STRING } from "@smithy/smithy-client"; + +import { + ChannelSubtype, + ContentDataDetails, + ContentDataDetailsFilterSensitiveLog, + ContentSummary, + DataReference, + Document, + DocumentFilterSensitiveLog, + ExternalSourceConfiguration, + GroupingConfiguration, + GroupingConfigurationFilterSensitiveLog, + ImportJobData, + ImportJobDataFilterSensitiveLog, + ImportJobType, + IntentDetectedDataDetails, + IntentDetectedDataDetailsFilterSensitiveLog, + KnowledgeBaseData, + KnowledgeBaseDataFilterSensitiveLog, + QueryResultType, + QuickResponseContents, + QuickResponseContentsFilterSensitiveLog, + QuickResponseStatus, + RankingData, + RecommendationTrigger, + RecommendationTriggerFilterSensitiveLog, + RecommendationType, + RelevanceLevel, + SearchExpression, + SourceContentDataDetails, + SourceContentDataDetailsFilterSensitiveLog, +} from "./models_0"; + +import { QConnectServiceException as __BaseException } from "./QConnectServiceException"; + +/** + * @public + */ +export interface RemoveKnowledgeBaseTemplateUriResponse {} + +/** + * @public + */ +export interface SearchContentRequest { + /** + *

The token for the next set of results. Use the value returned in the previous + * response in the next request to retrieve the next set of results.

+ * @public + */ + nextToken?: string | undefined; + + /** + *

The maximum number of results to return per page.

+ * @public + */ + maxResults?: number | undefined; + + /** + *

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

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

The search expression to filter results.

+ * @public + */ + searchExpression: SearchExpression | undefined; +} + +/** + * @public + */ +export interface SearchContentResponse { + /** + *

Summary information about the content.

+ * @public + */ + contentSummaries: ContentSummary[] | undefined; + + /** + *

If there are additional results, this is the token for the next set of results.

+ * @public + */ + nextToken?: string | undefined; +} + +/** + * @public + * @enum + */ +export const MessageTemplateFilterOperator = { + EQUALS: "EQUALS", + PREFIX: "PREFIX", +} as const; + +/** + * @public + */ +export type MessageTemplateFilterOperator = + (typeof MessageTemplateFilterOperator)[keyof typeof MessageTemplateFilterOperator]; + +/** + *

The message template fields to filter the message template query results by. The following + * is the list of supported field names:

+ *
    + *
  • + *

    name

    + *
  • + *
  • + *

    description

    + *
  • + *
  • + *

    channel

    + *
  • + *
  • + *

    channelSubtype

    + *
  • + *
  • + *

    language

    + *
  • + *
  • + *

    qualifier

    + *
  • + *
  • + *

    createdTime

    + *
  • + *
  • + *

    lastModifiedTime

    + *
  • + *
  • + *

    lastModifiedBy

    + *
  • + *
  • + *

    groupingConfiguration.criteria

    + *
  • + *
  • + *

    groupingConfiguration.values

    + *
  • + *
+ * @public + */ +export interface MessageTemplateFilterField { + /** + *

The name of the attribute field to filter the message templates by.

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

The values of attribute field to filter the message template by.

+ * @public + */ + values?: string[] | undefined; + + /** + *

The operator to use for filtering.

+ * @public + */ + operator: MessageTemplateFilterOperator | undefined; + + /** + *

Whether to treat null value as a match for the attribute field.

+ * @public + */ + includeNoExistence?: boolean | undefined; +} + +/** + * @public + * @enum + */ +export const Order = { + ASC: "ASC", + DESC: "DESC", +} as const; + +/** + * @public + */ +export type Order = (typeof Order)[keyof typeof Order]; + +/** + *

The message template fields to order the message template query results by. The following + * is the list of supported field names:

+ *
    + *
  • + *

    name

    + *
  • + *
  • + *

    description

    + *
  • + *
  • + *

    channel

    + *
  • + *
  • + *

    channelSubtype

    + *
  • + *
  • + *

    language

    + *
  • + *
  • + *

    qualifier

    + *
  • + *
  • + *

    createdTime

    + *
  • + *
  • + *

    lastModifiedTime

    + *
  • + *
  • + *

    lastModifiedBy

    + *
  • + *
  • + *

    groupingConfiguration.criteria

    + *
  • + *
  • + *

    groupingConfiguration.values

    + *
  • + *
+ * @public + */ +export interface MessageTemplateOrderField { + /** + *

The name of the message template.

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

The order at which the message templates are sorted by.

+ * @public + */ + order?: Order | undefined; +} + +/** + * @public + * @enum + */ +export const MessageTemplateQueryOperator = { + CONTAINS: "CONTAINS", + CONTAINS_AND_PREFIX: "CONTAINS_AND_PREFIX", +} as const; + +/** + * @public + */ +export type MessageTemplateQueryOperator = + (typeof MessageTemplateQueryOperator)[keyof typeof MessageTemplateQueryOperator]; + +/** + * @public + * @enum + */ +export const Priority = { + HIGH: "HIGH", + LOW: "LOW", + MEDIUM: "MEDIUM", +} as const; + +/** + * @public + */ +export type Priority = (typeof Priority)[keyof typeof Priority]; + +/** + *

The message template fields to query message templates by. The following is the list of + * supported field names:

+ *
    + *
  • + *

    name

    + *
  • + *
  • + *

    description

    + *
  • + *
+ * @public + */ +export interface MessageTemplateQueryField { + /** + *

The name of the attribute to query the message templates by.

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

The values of the attribute to query the message templates by.

+ * @public + */ + values: string[] | undefined; + + /** + *

The operator to use for matching attribute field values in the query.

+ * @public + */ + operator: MessageTemplateQueryOperator | undefined; + + /** + *

Whether the query expects only exact matches on the attribute field values. The results of + * the query will only include exact matches if this parameter is set to false.

+ * @public + */ + allowFuzziness?: boolean | undefined; + + /** + *

The importance of the attribute field when calculating query result relevancy scores. The + * value set for this parameter affects the ordering of search results.

+ * @public + */ + priority?: Priority | undefined; +} + +/** + *

The search expression of the message template.

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

The message template query expressions.

+ * @public + */ + queries?: MessageTemplateQueryField[] | undefined; + + /** + *

The configuration of filtering rules applied to message template query results.

+ * @public + */ + filters?: MessageTemplateFilterField[] | undefined; + + /** + *

The message template attribute fields on which the query results are ordered.

+ * @public + */ + orderOnField?: MessageTemplateOrderField | undefined; +} + +/** + * @public + */ +export interface SearchMessageTemplatesRequest { + /** + *

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain + * the ARN.

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

The search expression for querying the message template.

+ * @public + */ + searchExpression: MessageTemplateSearchExpression | undefined; + + /** + *

The token for the next set of results. Use the value returned in the previous + * response in the next request to retrieve the next set of results.

+ * @public + */ + nextToken?: string | undefined; + + /** + *

The maximum number of results to return per page.

+ * @public + */ + maxResults?: number | undefined; +} + +/** + *

The result of message template search.

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

The Amazon Resource Name (ARN) of the message template.

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

The identifier of the message template.

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

The Amazon Resource Name (ARN) of the knowledge base.

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

The identifier of the knowledge base.

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

The name of the message template.

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

The channel subtype this message template applies to.

+ * @public + */ + channelSubtype: ChannelSubtype | undefined; + + /** + *

The timestamp when the message template was created.

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

The timestamp when the message template data was last modified.

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

The Amazon Resource Name (ARN) of the user who last updated the message template + * data.

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

Whether the version of the message template is activated.

+ * @public + */ + isActive?: boolean | undefined; + + /** + *

The version number of the message template version.

+ * @public + */ + versionNumber?: number | undefined; + + /** + *

The description of the message template.

+ * @public + */ + description?: string | undefined; + + /** + *

The configuration information of the grouping of Amazon Q in Connect users.

+ * @public + */ + groupingConfiguration?: GroupingConfiguration | undefined; + + /** + *

The language code value for the language in which the quick response is written. The supported language codes include de_DE, en_US, es_ES, + * fr_FR, id_ID, it_IT, ja_JP, ko_KR, pt_BR, + * zh_CN, zh_TW + *

+ * @public + */ + language?: string | undefined; + + /** + *

The tags used to organize, track, or control access for this resource.

+ * @public + */ + tags?: Record | undefined; +} + +/** + * @public + */ +export interface SearchMessageTemplatesResponse { + /** + *

The results of the message template search.

+ * @public + */ + results: MessageTemplateSearchResultData[] | undefined; + + /** + *

If there are additional results, this is the token for the next set of results.

+ * @public + */ + nextToken?: string | undefined; +} + +/** + * @public + * @enum + */ +export const QuickResponseFilterOperator = { + EQUALS: "EQUALS", + PREFIX: "PREFIX", +} as const; + +/** + * @public + */ +export type QuickResponseFilterOperator = + (typeof QuickResponseFilterOperator)[keyof typeof QuickResponseFilterOperator]; + +/** + *

The quick response fields to filter the quick response query results by.

+ *

The following is the list of supported field names.

+ *
    + *
  • + *

    name

    + *
  • + *
  • + *

    description

    + *
  • + *
  • + *

    shortcutKey

    + *
  • + *
  • + *

    isActive

    + *
  • + *
  • + *

    channels

    + *
  • + *
  • + *

    language

    + *
  • + *
  • + *

    contentType

    + *
  • + *
  • + *

    createdTime

    + *
  • + *
  • + *

    lastModifiedTime

    + *
  • + *
  • + *

    lastModifiedBy

    + *
  • + *
  • + *

    groupingConfiguration.criteria

    + *
  • + *
  • + *

    groupingConfiguration.values

    + *
  • + *
+ * @public + */ +export interface QuickResponseFilterField { + /** + *

The name of the attribute field to filter the quick responses by.

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

The values of attribute field to filter the quick response by.

+ * @public + */ + values?: string[] | undefined; + + /** + *

The operator to use for filtering.

+ * @public + */ + operator: QuickResponseFilterOperator | undefined; + + /** + *

Whether to treat null value as a match for the attribute field.

+ * @public + */ + includeNoExistence?: boolean | undefined; +} + +/** + *

The quick response fields to order the quick response query results by.

+ *

The following is the list of supported field names.

+ *
    + *
  • + *

    name

    + *
  • + *
  • + *

    description

    + *
  • + *
  • + *

    shortcutKey

    + *
  • + *
  • + *

    isActive

    + *
  • + *
  • + *

    channels

    + *
  • + *
  • + *

    language

    + *
  • + *
  • + *

    contentType

    + *
  • + *
  • + *

    createdTime

    + *
  • + *
  • + *

    lastModifiedTime

    + *
  • + *
  • + *

    lastModifiedBy

    + *
  • + *
  • + *

    groupingConfiguration.criteria

    + *
  • + *
  • + *

    groupingConfiguration.values

    + *
  • + *
+ * @public + */ +export interface QuickResponseOrderField { + /** + *

The name of the attribute to order the quick response query results by.

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

The order at which the quick responses are sorted by.

+ * @public + */ + order?: Order | undefined; +} + +/** + * @public + * @enum + */ +export const QuickResponseQueryOperator = { + CONTAINS: "CONTAINS", + CONTAINS_AND_PREFIX: "CONTAINS_AND_PREFIX", +} as const; + +/** + * @public + */ +export type QuickResponseQueryOperator = (typeof QuickResponseQueryOperator)[keyof typeof QuickResponseQueryOperator]; + +/** + *

The quick response fields to query quick responses by.

+ *

The following is the list of supported field names.

+ *
    + *
  • + *

    content

    + *
  • + *
  • + *

    name

    + *
  • + *
  • + *

    description

    + *
  • + *
  • + *

    shortcutKey

    + *
  • + *
+ * @public + */ +export interface QuickResponseQueryField { + /** + *

The name of the attribute to query the quick responses by.

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

The values of the attribute to query the quick responses by.

+ * @public + */ + values: string[] | undefined; + + /** + *

The operator to use for matching attribute field values in the query.

+ * @public + */ + operator: QuickResponseQueryOperator | undefined; + + /** + *

Whether the query expects only exact matches on the attribute field values. The results of + * the query will only include exact matches if this parameter is set to false.

+ * @public + */ + allowFuzziness?: boolean | undefined; + + /** + *

The importance of the attribute field when calculating query result relevancy scores. The + * value set for this parameter affects the ordering of search results.

+ * @public + */ + priority?: Priority | undefined; +} + +/** + *

Information about the import job.

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

The quick response query expressions.

+ * @public + */ + queries?: QuickResponseQueryField[] | undefined; + + /** + *

The configuration of filtering rules applied to quick response query results.

+ * @public + */ + filters?: QuickResponseFilterField[] | undefined; + + /** + *

The quick response attribute fields on which the query results are ordered.

+ * @public + */ + orderOnField?: QuickResponseOrderField | undefined; +} + +/** + * @public + */ +export interface SearchQuickResponsesRequest { + /** + *

The identifier of the knowledge base. This should be a QUICK_RESPONSES type knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

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

The search expression for querying the quick response.

+ * @public + */ + searchExpression: QuickResponseSearchExpression | undefined; + + /** + *

The token for the next set of results. Use the value returned in the previous + * response in the next request to retrieve the next set of results.

+ * @public + */ + nextToken?: string | undefined; + + /** + *

The maximum number of results to return per page.

+ * @public + */ + maxResults?: number | undefined; + + /** + *

The user-defined Amazon Connect contact attributes to be resolved when search + * results are returned.

+ * @public + */ + attributes?: Record | undefined; +} + +/** + *

The result of quick response search.

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

The Amazon Resource Name (ARN) of the quick response.

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

The identifier of the quick response.

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

The Amazon Resource Name (ARN) of the knowledge base.

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

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

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

The name of the quick response.

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

The media type of the quick response content.

+ *
    + *
  • + *

    Use application/x.quickresponse;format=plain for quick response written + * in plain text.

    + *
  • + *
  • + *

    Use application/x.quickresponse;format=markdown for quick response + * written in richtext.

    + *
  • + *
+ * @public + */ + contentType: string | undefined; + + /** + *

The resource status of the quick response.

+ * @public + */ + status: QuickResponseStatus | undefined; + + /** + *

The contents of the quick response.

+ * @public + */ + contents: QuickResponseContents | undefined; + + /** + *

The timestamp when the quick response was created.

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

The timestamp when the quick response search result data was last modified.

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

Whether the quick response is active.

+ * @public + */ + isActive: boolean | undefined; + + /** + *

The description of the quick response.

+ * @public + */ + description?: string | undefined; + + /** + *

The configuration information of the user groups that the quick response is accessible + * to.

+ * @public + */ + groupingConfiguration?: GroupingConfiguration | undefined; + + /** + *

The shortcut key of the quick response. The value should be unique across the + * knowledge base.

+ * @public + */ + shortcutKey?: string | undefined; + + /** + *

The Amazon Resource Name (ARN) of the user who last updated the quick response search + * result data.

+ * @public + */ + lastModifiedBy?: string | undefined; + + /** + *

The Amazon Connect contact channels this quick response applies to. + * The supported contact channel types include Chat.

+ * @public + */ + channels?: string[] | undefined; + + /** + *

The language code value for the language in which the quick response is written.

+ * @public + */ + language?: string | undefined; + + /** + *

The user defined contact attributes that are not resolved when the search result is + * returned.

+ * @public + */ + attributesNotInterpolated?: string[] | undefined; + + /** + *

The user defined contact attributes that are resolved when the search result is + * returned.

+ * @public + */ + attributesInterpolated?: string[] | undefined; + + /** + *

The tags used to organize, track, or control access for this resource.

+ * @public + */ + tags?: Record | undefined; +} + +/** + * @public + */ +export interface SearchQuickResponsesResponse { + /** + *

The results of the quick response search.

+ * @public + */ + results: QuickResponseSearchResultData[] | undefined; + + /** + *

The token for the next set of results. Use the value returned in the previous + * response in the next request to retrieve the next set of results.

+ * @public + */ + nextToken?: string | undefined; +} + +/** + * @public + */ +export interface StartContentUploadRequest { + /** + *

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

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

The type of content to upload.

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

The expected expiration time of the generated presigned URL, specified in minutes.

+ * @public + */ + presignedUrlTimeToLive?: number | undefined; +} + +/** + * @public + */ +export interface StartContentUploadResponse { + /** + *

The identifier of the upload.

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

The URL of the upload.

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

The expiration time of the URL as an epoch timestamp.

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

The headers to include in the upload.

+ * @public + */ + headersToInclude: Record | undefined; +} + +/** + * @public + */ +export interface StartImportJobRequest { + /** + *

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

+ *
    + *
  • + *

    For importing Amazon Q in Connect quick responses, this should be a QUICK_RESPONSES + * type knowledge base.

    + *
  • + *
+ * @public + */ + knowledgeBaseId: string | undefined; + + /** + *

The type of the import job.

+ *
    + *
  • + *

    For importing quick response resource, set the value to + * QUICK_RESPONSES.

    + *
  • + *
+ * @public + */ + importJobType: ImportJobType | undefined; + + /** + *

A pointer to the uploaded asset. This value is returned by StartContentUpload.

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

The tags used to organize, track, or control access for this resource.

+ * @public + */ + clientToken?: string | undefined; + + /** + *

The metadata fields of the imported Amazon Q in Connect resources.

+ * @public + */ + metadata?: Record | undefined; + + /** + *

The configuration information of the external source that the resource data are imported + * from.

+ * @public + */ + externalSourceConfiguration?: ExternalSourceConfiguration | undefined; +} + +/** + * @public + */ +export interface StartImportJobResponse { + /** + *

The import job.

+ * @public + */ + importJob?: ImportJobData | undefined; +} + +/** + * @public + */ +export interface UpdateKnowledgeBaseTemplateUriRequest { + /** + *

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

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

The template URI to update.

+ * @public + */ + templateUri: string | undefined; +} + +/** + * @public + */ +export interface UpdateKnowledgeBaseTemplateUriResponse { + /** + *

The knowledge base to update.

+ * @public + */ + knowledgeBase?: KnowledgeBaseData | undefined; +} + +/** + * @public + */ +export interface ListTagsForResourceRequest { + /** + *

The Amazon Resource Name (ARN) of the resource.

+ * @public + */ + resourceArn: string | undefined; +} + +/** + * @public + */ +export interface ListTagsForResourceResponse { + /** + *

The tags used to organize, track, or control access for this resource.

+ * @public + */ + tags?: Record | undefined; +} + +/** + * @public + */ +export interface TagResourceRequest { + /** + *

The Amazon Resource Name (ARN) of the resource.

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

The tags used to organize, track, or control access for this resource.

+ * @public + */ + tags: Record | undefined; +} + +/** + * @public + */ +export interface TagResourceResponse {} + +/** + *

Amazon Q in Connect throws this exception if you have too many tags in your tag set.

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

The specified resource name.

+ * @public + */ + resourceName?: string | undefined; + + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "TooManyTagsException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, TooManyTagsException.prototype); + this.resourceName = opts.resourceName; + } +} + +/** + * @public + */ +export interface UntagResourceRequest { + /** + *

The Amazon Resource Name (ARN) of the resource.

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

The tag keys.

+ * @public + */ + tagKeys: string[] | undefined; +} + +/** + * @public + */ +export interface UntagResourceResponse {} + +/** + *

Details about the data.

+ * @public + */ +export type DataDetails = + | DataDetails.ContentDataMember + | DataDetails.GenerativeDataMember + | DataDetails.IntentDetectedDataMember + | DataDetails.SourceContentDataMember + | DataDetails.$UnknownMember; + +/** + * @public + */ +export namespace DataDetails { + /** + *

Details about the content data.

+ * @public + */ + export interface ContentDataMember { + contentData: ContentDataDetails; + generativeData?: never; + intentDetectedData?: never; + sourceContentData?: never; + $unknown?: never; + } + + /** + *

Details about the generative data.

+ * @public + */ + export interface GenerativeDataMember { + contentData?: never; + generativeData: GenerativeDataDetails; + intentDetectedData?: never; + sourceContentData?: never; + $unknown?: never; + } + + /** + *

Details about the intent data.

+ * @public + */ + export interface IntentDetectedDataMember { + contentData?: never; + generativeData?: never; + intentDetectedData: IntentDetectedDataDetails; + sourceContentData?: never; + $unknown?: never; + } + + /** + *

Details about the content data.

+ * @public + */ + export interface SourceContentDataMember { + contentData?: never; + generativeData?: never; + intentDetectedData?: never; + sourceContentData: SourceContentDataDetails; + $unknown?: never; + } + + /** + * @public + */ + export interface $UnknownMember { + contentData?: never; + generativeData?: never; + intentDetectedData?: never; + sourceContentData?: never; + $unknown: [string, any]; + } + + export interface Visitor { + contentData: (value: ContentDataDetails) => T; + generativeData: (value: GenerativeDataDetails) => T; + intentDetectedData: (value: IntentDetectedDataDetails) => T; + sourceContentData: (value: SourceContentDataDetails) => T; + _: (name: string, value: any) => T; + } + + export const visit = (value: DataDetails, visitor: Visitor): T => { + if (value.contentData !== undefined) return visitor.contentData(value.contentData); + if (value.generativeData !== undefined) return visitor.generativeData(value.generativeData); + if (value.intentDetectedData !== undefined) return visitor.intentDetectedData(value.intentDetectedData); + if (value.sourceContentData !== undefined) return visitor.sourceContentData(value.sourceContentData); + return visitor._(value.$unknown[0], value.$unknown[1]); + }; +} + +/** + *

Summary of the data.

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

Reference information about the content.

+ * @public + */ + reference: DataReference | undefined; + + /** + *

Details about the data.

+ * @public + */ + details: DataDetails | undefined; +} + +/** + *

Details about generative data.

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

The LLM response.

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

The references used to generative the LLM response.

+ * @public + */ + references: DataSummary[] | undefined; + + /** + *

Details about the generative content ranking data.

+ * @public + */ + rankingData: RankingData | undefined; +} + +/** + *

Information about the recommendation.

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

The identifier of the recommendation.

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

The recommended document.

+ * @public + */ + document?: Document | undefined; + + /** + *

The relevance score of the recommendation.

+ * @public + */ + relevanceScore?: number | undefined; + + /** + *

The relevance level of the recommendation.

+ * @public + */ + relevanceLevel?: RelevanceLevel | undefined; + + /** + *

The type of recommendation.

+ * @public + */ + type?: RecommendationType | undefined; + + /** + *

Summary of the recommended content.

+ * @public + */ + data?: DataSummary | undefined; +} + +/** + *

Information about the result.

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

The identifier of the result data.

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

The document.

+ * @public + */ + document?: Document | undefined; + + /** + *

The relevance score of the results.

+ * @public + */ + relevanceScore?: number | undefined; + + /** + *

Summary of the recommended content.

+ * @public + */ + data?: DataSummary | undefined; + + /** + *

The type of the query result.

+ * @public + */ + type?: QueryResultType | undefined; +} + +/** + * @public + */ +export interface GetRecommendationsResponse { + /** + *

The recommendations.

+ * @public + */ + recommendations: RecommendationData[] | undefined; + + /** + *

The triggers corresponding to recommendations.

+ * @public + */ + triggers?: RecommendationTrigger[] | undefined; +} + +/** + * @public + */ +export interface QueryAssistantResponse { + /** + *

The results of the query.

+ * @public + */ + results: ResultData[] | undefined; + + /** + *

If there are additional results, this is the token for the next set of results.

+ * @public + */ + nextToken?: string | undefined; +} + +/** + * @internal + */ +export const MessageTemplateSearchResultDataFilterSensitiveLog = (obj: MessageTemplateSearchResultData): any => ({ + ...obj, + ...(obj.groupingConfiguration && { + groupingConfiguration: GroupingConfigurationFilterSensitiveLog(obj.groupingConfiguration), + }), +}); + +/** + * @internal + */ +export const SearchMessageTemplatesResponseFilterSensitiveLog = (obj: SearchMessageTemplatesResponse): any => ({ + ...obj, + ...(obj.results && { results: obj.results.map((item) => MessageTemplateSearchResultDataFilterSensitiveLog(item)) }), +}); + +/** + * @internal + */ +export const SearchQuickResponsesRequestFilterSensitiveLog = (obj: SearchQuickResponsesRequest): any => ({ + ...obj, + ...(obj.attributes && { attributes: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const QuickResponseSearchResultDataFilterSensitiveLog = (obj: QuickResponseSearchResultData): any => ({ + ...obj, + ...(obj.contents && { contents: QuickResponseContentsFilterSensitiveLog(obj.contents) }), + ...(obj.groupingConfiguration && { + groupingConfiguration: GroupingConfigurationFilterSensitiveLog(obj.groupingConfiguration), + }), + ...(obj.channels && { channels: SENSITIVE_STRING }), + ...(obj.attributesNotInterpolated && { attributesNotInterpolated: SENSITIVE_STRING }), + ...(obj.attributesInterpolated && { attributesInterpolated: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const SearchQuickResponsesResponseFilterSensitiveLog = (obj: SearchQuickResponsesResponse): any => ({ + ...obj, + ...(obj.results && { results: obj.results.map((item) => QuickResponseSearchResultDataFilterSensitiveLog(item)) }), +}); + +/** + * @internal + */ +export const StartContentUploadResponseFilterSensitiveLog = (obj: StartContentUploadResponse): any => ({ + ...obj, + ...(obj.url && { url: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const StartImportJobResponseFilterSensitiveLog = (obj: StartImportJobResponse): any => ({ + ...obj, + ...(obj.importJob && { importJob: ImportJobDataFilterSensitiveLog(obj.importJob) }), +}); + +/** + * @internal + */ +export const UpdateKnowledgeBaseTemplateUriResponseFilterSensitiveLog = ( + obj: UpdateKnowledgeBaseTemplateUriResponse +): any => ({ + ...obj, + ...(obj.knowledgeBase && { knowledgeBase: KnowledgeBaseDataFilterSensitiveLog(obj.knowledgeBase) }), +}); + +/** + * @internal + */ +export const DataDetailsFilterSensitiveLog = (obj: DataDetails): any => { + if (obj.contentData !== undefined) return { contentData: ContentDataDetailsFilterSensitiveLog(obj.contentData) }; + if (obj.generativeData !== undefined) + return { generativeData: GenerativeDataDetailsFilterSensitiveLog(obj.generativeData) }; + if (obj.intentDetectedData !== undefined) + return { intentDetectedData: IntentDetectedDataDetailsFilterSensitiveLog(obj.intentDetectedData) }; + if (obj.sourceContentData !== undefined) + return { sourceContentData: SourceContentDataDetailsFilterSensitiveLog(obj.sourceContentData) }; + if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; +}; + +/** + * @internal + */ +export const DataSummaryFilterSensitiveLog = (obj: DataSummary): any => ({ + ...obj, + ...(obj.reference && { reference: obj.reference }), + ...(obj.details && { details: DataDetailsFilterSensitiveLog(obj.details) }), +}); + +/** + * @internal + */ +export const GenerativeDataDetailsFilterSensitiveLog = (obj: GenerativeDataDetails): any => ({ + ...obj, + ...(obj.completion && { completion: SENSITIVE_STRING }), + ...(obj.references && { references: obj.references.map((item) => DataSummaryFilterSensitiveLog(item)) }), +}); + +/** + * @internal + */ +export const RecommendationDataFilterSensitiveLog = (obj: RecommendationData): any => ({ + ...obj, + ...(obj.document && { document: DocumentFilterSensitiveLog(obj.document) }), + ...(obj.data && { data: DataSummaryFilterSensitiveLog(obj.data) }), +}); + +/** + * @internal + */ +export const ResultDataFilterSensitiveLog = (obj: ResultData): any => ({ + ...obj, + ...(obj.document && { document: DocumentFilterSensitiveLog(obj.document) }), + ...(obj.data && { data: DataSummaryFilterSensitiveLog(obj.data) }), +}); + +/** + * @internal + */ +export const GetRecommendationsResponseFilterSensitiveLog = (obj: GetRecommendationsResponse): any => ({ + ...obj, + ...(obj.recommendations && { + recommendations: obj.recommendations.map((item) => RecommendationDataFilterSensitiveLog(item)), + }), + ...(obj.triggers && { triggers: obj.triggers.map((item) => RecommendationTriggerFilterSensitiveLog(item)) }), +}); + +/** + * @internal + */ +export const QueryAssistantResponseFilterSensitiveLog = (obj: QueryAssistantResponse): any => ({ + ...obj, + ...(obj.results && { results: obj.results.map((item) => ResultDataFilterSensitiveLog(item)) }), +}); diff --git a/clients/client-qconnect/src/pagination/ListMessageTemplateVersionsPaginator.ts b/clients/client-qconnect/src/pagination/ListMessageTemplateVersionsPaginator.ts new file mode 100644 index 000000000000..d6180cc1ec55 --- /dev/null +++ b/clients/client-qconnect/src/pagination/ListMessageTemplateVersionsPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + ListMessageTemplateVersionsCommand, + ListMessageTemplateVersionsCommandInput, + ListMessageTemplateVersionsCommandOutput, +} from "../commands/ListMessageTemplateVersionsCommand"; +import { QConnectClient } from "../QConnectClient"; +import { QConnectPaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListMessageTemplateVersions: ( + config: QConnectPaginationConfiguration, + input: ListMessageTemplateVersionsCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + QConnectPaginationConfiguration, + ListMessageTemplateVersionsCommandInput, + ListMessageTemplateVersionsCommandOutput +>(QConnectClient, ListMessageTemplateVersionsCommand, "nextToken", "nextToken", "maxResults"); diff --git a/clients/client-qconnect/src/pagination/ListMessageTemplatesPaginator.ts b/clients/client-qconnect/src/pagination/ListMessageTemplatesPaginator.ts new file mode 100644 index 000000000000..53344014dd0a --- /dev/null +++ b/clients/client-qconnect/src/pagination/ListMessageTemplatesPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + ListMessageTemplatesCommand, + ListMessageTemplatesCommandInput, + ListMessageTemplatesCommandOutput, +} from "../commands/ListMessageTemplatesCommand"; +import { QConnectClient } from "../QConnectClient"; +import { QConnectPaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListMessageTemplates: ( + config: QConnectPaginationConfiguration, + input: ListMessageTemplatesCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + QConnectPaginationConfiguration, + ListMessageTemplatesCommandInput, + ListMessageTemplatesCommandOutput +>(QConnectClient, ListMessageTemplatesCommand, "nextToken", "nextToken", "maxResults"); diff --git a/clients/client-qconnect/src/pagination/SearchMessageTemplatesPaginator.ts b/clients/client-qconnect/src/pagination/SearchMessageTemplatesPaginator.ts new file mode 100644 index 000000000000..cd0932c745b5 --- /dev/null +++ b/clients/client-qconnect/src/pagination/SearchMessageTemplatesPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + SearchMessageTemplatesCommand, + SearchMessageTemplatesCommandInput, + SearchMessageTemplatesCommandOutput, +} from "../commands/SearchMessageTemplatesCommand"; +import { QConnectClient } from "../QConnectClient"; +import { QConnectPaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateSearchMessageTemplates: ( + config: QConnectPaginationConfiguration, + input: SearchMessageTemplatesCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + QConnectPaginationConfiguration, + SearchMessageTemplatesCommandInput, + SearchMessageTemplatesCommandOutput +>(QConnectClient, SearchMessageTemplatesCommand, "nextToken", "nextToken", "maxResults"); diff --git a/clients/client-qconnect/src/pagination/index.ts b/clients/client-qconnect/src/pagination/index.ts index 871cbbb54455..58408f0bfa41 100644 --- a/clients/client-qconnect/src/pagination/index.ts +++ b/clients/client-qconnect/src/pagination/index.ts @@ -10,8 +10,11 @@ export * from "./ListContentAssociationsPaginator"; export * from "./ListContentsPaginator"; export * from "./ListImportJobsPaginator"; export * from "./ListKnowledgeBasesPaginator"; +export * from "./ListMessageTemplateVersionsPaginator"; +export * from "./ListMessageTemplatesPaginator"; export * from "./ListQuickResponsesPaginator"; export * from "./QueryAssistantPaginator"; export * from "./SearchContentPaginator"; +export * from "./SearchMessageTemplatesPaginator"; export * from "./SearchQuickResponsesPaginator"; export * from "./SearchSessionsPaginator"; diff --git a/clients/client-qconnect/src/protocols/Aws_restJson1.ts b/clients/client-qconnect/src/protocols/Aws_restJson1.ts index b5d83fdb4223..b598962a8712 100644 --- a/clients/client-qconnect/src/protocols/Aws_restJson1.ts +++ b/clients/client-qconnect/src/protocols/Aws_restJson1.ts @@ -21,6 +21,7 @@ import { limitedParseDouble as __limitedParseDouble, map, parseEpochTimestamp as __parseEpochTimestamp, + parseRfc3339DateTimeWithOffset as __parseRfc3339DateTimeWithOffset, resolvedPath as __resolvedPath, take, withBaseException, @@ -32,6 +33,10 @@ import { } from "@smithy/types"; import { v4 as generateIdempotencyToken } from "uuid"; +import { + ActivateMessageTemplateCommandInput, + ActivateMessageTemplateCommandOutput, +} from "../commands/ActivateMessageTemplateCommand"; import { CreateAIAgentCommandInput, CreateAIAgentCommandOutput } from "../commands/CreateAIAgentCommand"; import { CreateAIAgentVersionCommandInput, @@ -56,11 +61,27 @@ import { CreateKnowledgeBaseCommandInput, CreateKnowledgeBaseCommandOutput, } from "../commands/CreateKnowledgeBaseCommand"; +import { + CreateMessageTemplateAttachmentCommandInput, + CreateMessageTemplateAttachmentCommandOutput, +} from "../commands/CreateMessageTemplateAttachmentCommand"; +import { + CreateMessageTemplateCommandInput, + CreateMessageTemplateCommandOutput, +} from "../commands/CreateMessageTemplateCommand"; +import { + CreateMessageTemplateVersionCommandInput, + CreateMessageTemplateVersionCommandOutput, +} from "../commands/CreateMessageTemplateVersionCommand"; import { CreateQuickResponseCommandInput, CreateQuickResponseCommandOutput, } from "../commands/CreateQuickResponseCommand"; import { CreateSessionCommandInput, CreateSessionCommandOutput } from "../commands/CreateSessionCommand"; +import { + DeactivateMessageTemplateCommandInput, + DeactivateMessageTemplateCommandOutput, +} from "../commands/DeactivateMessageTemplateCommand"; import { DeleteAIAgentCommandInput, DeleteAIAgentCommandOutput } from "../commands/DeleteAIAgentCommand"; import { DeleteAIAgentVersionCommandInput, @@ -86,6 +107,14 @@ import { DeleteKnowledgeBaseCommandInput, DeleteKnowledgeBaseCommandOutput, } from "../commands/DeleteKnowledgeBaseCommand"; +import { + DeleteMessageTemplateAttachmentCommandInput, + DeleteMessageTemplateAttachmentCommandOutput, +} from "../commands/DeleteMessageTemplateAttachmentCommand"; +import { + DeleteMessageTemplateCommandInput, + DeleteMessageTemplateCommandOutput, +} from "../commands/DeleteMessageTemplateCommand"; import { DeleteQuickResponseCommandInput, DeleteQuickResponseCommandOutput, @@ -105,6 +134,7 @@ import { GetContentCommandInput, GetContentCommandOutput } from "../commands/Get import { GetContentSummaryCommandInput, GetContentSummaryCommandOutput } from "../commands/GetContentSummaryCommand"; import { GetImportJobCommandInput, GetImportJobCommandOutput } from "../commands/GetImportJobCommand"; import { GetKnowledgeBaseCommandInput, GetKnowledgeBaseCommandOutput } from "../commands/GetKnowledgeBaseCommand"; +import { GetMessageTemplateCommandInput, GetMessageTemplateCommandOutput } from "../commands/GetMessageTemplateCommand"; import { GetQuickResponseCommandInput, GetQuickResponseCommandOutput } from "../commands/GetQuickResponseCommand"; import { GetRecommendationsCommandInput, GetRecommendationsCommandOutput } from "../commands/GetRecommendationsCommand"; import { GetSessionCommandInput, GetSessionCommandOutput } from "../commands/GetSessionCommand"; @@ -130,6 +160,14 @@ import { import { ListContentsCommandInput, ListContentsCommandOutput } from "../commands/ListContentsCommand"; import { ListImportJobsCommandInput, ListImportJobsCommandOutput } from "../commands/ListImportJobsCommand"; import { ListKnowledgeBasesCommandInput, ListKnowledgeBasesCommandOutput } from "../commands/ListKnowledgeBasesCommand"; +import { + ListMessageTemplatesCommandInput, + ListMessageTemplatesCommandOutput, +} from "../commands/ListMessageTemplatesCommand"; +import { + ListMessageTemplateVersionsCommandInput, + ListMessageTemplateVersionsCommandOutput, +} from "../commands/ListMessageTemplateVersionsCommand"; import { ListQuickResponsesCommandInput, ListQuickResponsesCommandOutput } from "../commands/ListQuickResponsesCommand"; import { ListTagsForResourceCommandInput, @@ -149,7 +187,15 @@ import { RemoveKnowledgeBaseTemplateUriCommandInput, RemoveKnowledgeBaseTemplateUriCommandOutput, } from "../commands/RemoveKnowledgeBaseTemplateUriCommand"; +import { + RenderMessageTemplateCommandInput, + RenderMessageTemplateCommandOutput, +} from "../commands/RenderMessageTemplateCommand"; import { SearchContentCommandInput, SearchContentCommandOutput } from "../commands/SearchContentCommand"; +import { + SearchMessageTemplatesCommandInput, + SearchMessageTemplatesCommandOutput, +} from "../commands/SearchMessageTemplatesCommand"; import { SearchQuickResponsesCommandInput, SearchQuickResponsesCommandOutput, @@ -170,6 +216,14 @@ import { UpdateKnowledgeBaseTemplateUriCommandInput, UpdateKnowledgeBaseTemplateUriCommandOutput, } from "../commands/UpdateKnowledgeBaseTemplateUriCommand"; +import { + UpdateMessageTemplateCommandInput, + UpdateMessageTemplateCommandOutput, +} from "../commands/UpdateMessageTemplateCommand"; +import { + UpdateMessageTemplateMetadataCommandInput, + UpdateMessageTemplateMetadataCommandOutput, +} from "../commands/UpdateMessageTemplateMetadataCommand"; import { UpdateQuickResponseCommandInput, UpdateQuickResponseCommandOutput, @@ -178,6 +232,7 @@ import { UpdateSessionCommandInput, UpdateSessionCommandOutput } from "../comman import { UpdateSessionDataCommandInput, UpdateSessionDataCommandOutput } from "../commands/UpdateSessionDataCommand"; import { AccessDeniedException, + AgentAttributes, AIAgentConfiguration, AIAgentConfigurationData, AIAgentData, @@ -203,13 +258,15 @@ import { ContentData, ContentDataDetails, ContentFeedbackData, - DataDetails, - DataSummary, + CustomerProfileAttributes, + EmailHeader, + EmailMessageTemplateContent, + EmailMessageTemplateContentBody, + ExtendedMessageTemplateData, ExternalSourceConfiguration, Filter, FixedSizeChunkingConfiguration, GenerativeContentFeedbackData, - GenerativeDataDetails, GroupingConfiguration, HierarchicalChunkingConfiguration, HierarchicalChunkingLevelConfiguration, @@ -220,6 +277,12 @@ import { KnowledgeBaseData, ManagedSourceConfiguration, ManualSearchAIAgentConfiguration, + MessageTemplateAttachment, + MessageTemplateAttributes, + MessageTemplateBodyContentProvider, + MessageTemplateContentProvider, + MessageTemplateData, + MessageTemplateSummary, OrCondition, ParsingConfiguration, ParsingPrompt, @@ -230,18 +293,11 @@ import { QueryTextInputData, QuickResponseData, QuickResponseDataProvider, - QuickResponseFilterField, - QuickResponseOrderField, - QuickResponseQueryField, - QuickResponseSearchExpression, - QuickResponseSearchResultData, QuickResponseSummary, RankingData, - RecommendationData, RenderingConfiguration, RequestTimeoutException, ResourceNotFoundException, - ResultData, RuntimeSessionData, RuntimeSessionDataValue, SearchExpression, @@ -249,21 +305,66 @@ import { SemanticChunkingConfiguration, ServerSideEncryptionConfiguration, ServiceQuotaExceededException, + SMSMessageTemplateContent, + SMSMessageTemplateContentBody, SourceConfiguration, SourceContentDataDetails, + SystemAttributes, + SystemEndpointAttributes, TagCondition, TagFilter, TextFullAIPromptEditTemplateConfiguration, ThrottlingException, - TooManyTagsException, UrlConfiguration, ValidationException, VectorIngestionConfiguration, WebCrawlerConfiguration, WebCrawlerLimits, } from "../models/models_0"; +import { + DataDetails, + DataSummary, + GenerativeDataDetails, + MessageTemplateFilterField, + MessageTemplateOrderField, + MessageTemplateQueryField, + MessageTemplateSearchExpression, + MessageTemplateSearchResultData, + QuickResponseFilterField, + QuickResponseOrderField, + QuickResponseQueryField, + QuickResponseSearchExpression, + QuickResponseSearchResultData, + RecommendationData, + ResultData, + TooManyTagsException, +} from "../models/models_1"; import { QConnectServiceException as __BaseException } from "../models/QConnectServiceException"; +/** + * serializeAws_restJson1ActivateMessageTemplateCommand + */ +export const se_ActivateMessageTemplateCommand = async ( + input: ActivateMessageTemplateCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/knowledgeBases/{knowledgeBaseId}/messageTemplates/{messageTemplateId}/activate"); + b.p("knowledgeBaseId", () => input.knowledgeBaseId!, "{knowledgeBaseId}", false); + b.p("messageTemplateId", () => input.messageTemplateId!, "{messageTemplateId}", false); + let body: any; + body = JSON.stringify( + take(input, { + versionNumber: [], + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1CreateAIAgentCommand */ @@ -514,6 +615,88 @@ export const se_CreateKnowledgeBaseCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1CreateMessageTemplateCommand + */ +export const se_CreateMessageTemplateCommand = async ( + input: CreateMessageTemplateCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/knowledgeBases/{knowledgeBaseId}/messageTemplates"); + b.p("knowledgeBaseId", () => input.knowledgeBaseId!, "{knowledgeBaseId}", false); + let body: any; + body = JSON.stringify( + take(input, { + channelSubtype: [], + clientToken: [true, (_) => _ ?? generateIdempotencyToken()], + content: (_) => _json(_), + defaultAttributes: (_) => _json(_), + description: [], + groupingConfiguration: (_) => _json(_), + language: [], + name: [], + tags: (_) => _json(_), + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1CreateMessageTemplateAttachmentCommand + */ +export const se_CreateMessageTemplateAttachmentCommand = async ( + input: CreateMessageTemplateAttachmentCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/knowledgeBases/{knowledgeBaseId}/messageTemplates/{messageTemplateId}/attachments"); + b.p("knowledgeBaseId", () => input.knowledgeBaseId!, "{knowledgeBaseId}", false); + b.p("messageTemplateId", () => input.messageTemplateId!, "{messageTemplateId}", false); + let body: any; + body = JSON.stringify( + take(input, { + body: [], + clientToken: [], + contentDisposition: [], + name: [], + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1CreateMessageTemplateVersionCommand + */ +export const se_CreateMessageTemplateVersionCommand = async ( + input: CreateMessageTemplateVersionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/knowledgeBases/{knowledgeBaseId}/messageTemplates/{messageTemplateId}/versions"); + b.p("knowledgeBaseId", () => input.knowledgeBaseId!, "{knowledgeBaseId}", false); + b.p("messageTemplateId", () => input.messageTemplateId!, "{messageTemplateId}", false); + let body: any; + body = JSON.stringify( + take(input, { + messageTemplateContentSha256: [], + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1CreateQuickResponseCommand */ @@ -575,6 +758,30 @@ export const se_CreateSessionCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1DeactivateMessageTemplateCommand + */ +export const se_DeactivateMessageTemplateCommand = async ( + input: DeactivateMessageTemplateCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/knowledgeBases/{knowledgeBaseId}/messageTemplates/{messageTemplateId}/deactivate"); + b.p("knowledgeBaseId", () => input.knowledgeBaseId!, "{knowledgeBaseId}", false); + b.p("messageTemplateId", () => input.messageTemplateId!, "{messageTemplateId}", false); + let body: any; + body = JSON.stringify( + take(input, { + versionNumber: [], + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1DeleteAIAgentCommand */ @@ -746,6 +953,41 @@ export const se_DeleteKnowledgeBaseCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1DeleteMessageTemplateCommand + */ +export const se_DeleteMessageTemplateCommand = async ( + input: DeleteMessageTemplateCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/knowledgeBases/{knowledgeBaseId}/messageTemplates/{messageTemplateId}"); + b.p("knowledgeBaseId", () => input.knowledgeBaseId!, "{knowledgeBaseId}", false); + b.p("messageTemplateId", () => input.messageTemplateId!, "{messageTemplateId}", false); + let body: any; + b.m("DELETE").h(headers).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1DeleteMessageTemplateAttachmentCommand + */ +export const se_DeleteMessageTemplateAttachmentCommand = async ( + input: DeleteMessageTemplateAttachmentCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/knowledgeBases/{knowledgeBaseId}/messageTemplates/{messageTemplateId}/attachments/{attachmentId}"); + b.p("knowledgeBaseId", () => input.knowledgeBaseId!, "{knowledgeBaseId}", false); + b.p("messageTemplateId", () => input.messageTemplateId!, "{messageTemplateId}", false); + b.p("attachmentId", () => input.attachmentId!, "{attachmentId}", false); + let body: any; + b.m("DELETE").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1DeleteQuickResponseCommand */ @@ -915,6 +1157,23 @@ export const se_GetKnowledgeBaseCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1GetMessageTemplateCommand + */ +export const se_GetMessageTemplateCommand = async ( + input: GetMessageTemplateCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/knowledgeBases/{knowledgeBaseId}/messageTemplates/{messageTemplateId}"); + b.p("messageTemplateId", () => input.messageTemplateId!, "{messageTemplateId}", false); + b.p("knowledgeBaseId", () => input.knowledgeBaseId!, "{knowledgeBaseId}", false); + let body: any; + b.m("GET").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1GetQuickResponseCommand */ @@ -1175,6 +1434,47 @@ export const se_ListKnowledgeBasesCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1ListMessageTemplatesCommand + */ +export const se_ListMessageTemplatesCommand = async ( + input: ListMessageTemplatesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/knowledgeBases/{knowledgeBaseId}/messageTemplates"); + b.p("knowledgeBaseId", () => input.knowledgeBaseId!, "{knowledgeBaseId}", false); + const query: any = map({ + [_nT]: [, input[_nT]!], + [_mR]: [() => input.maxResults !== void 0, () => input[_mR]!.toString()], + }); + let body: any; + b.m("GET").h(headers).q(query).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1ListMessageTemplateVersionsCommand + */ +export const se_ListMessageTemplateVersionsCommand = async ( + input: ListMessageTemplateVersionsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/knowledgeBases/{knowledgeBaseId}/messageTemplates/{messageTemplateId}/versions"); + b.p("knowledgeBaseId", () => input.knowledgeBaseId!, "{knowledgeBaseId}", false); + b.p("messageTemplateId", () => input.messageTemplateId!, "{messageTemplateId}", false); + const query: any = map({ + [_nT]: [, input[_nT]!], + [_mR]: [() => input.maxResults !== void 0, () => input[_mR]!.toString()], + }); + let body: any; + b.m("GET").h(headers).q(query).b(body); + return b.build(); +}; + /** * serializeAws_restJson1ListQuickResponsesCommand */ @@ -1324,6 +1624,30 @@ export const se_RemoveKnowledgeBaseTemplateUriCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1RenderMessageTemplateCommand + */ +export const se_RenderMessageTemplateCommand = async ( + input: RenderMessageTemplateCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/knowledgeBases/{knowledgeBaseId}/messageTemplates/{messageTemplateId}/render"); + b.p("knowledgeBaseId", () => input.knowledgeBaseId!, "{knowledgeBaseId}", false); + b.p("messageTemplateId", () => input.messageTemplateId!, "{messageTemplateId}", false); + let body: any; + body = JSON.stringify( + take(input, { + attributes: (_) => _json(_), + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1SearchContentCommand */ @@ -1351,6 +1675,33 @@ export const se_SearchContentCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1SearchMessageTemplatesCommand + */ +export const se_SearchMessageTemplatesCommand = async ( + input: SearchMessageTemplatesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/knowledgeBases/{knowledgeBaseId}/search/messageTemplates"); + b.p("knowledgeBaseId", () => input.knowledgeBaseId!, "{knowledgeBaseId}", false); + const query: any = map({ + [_nT]: [, input[_nT]!], + [_mR]: [() => input.maxResults !== void 0, () => input[_mR]!.toString()], + }); + let body: any; + body = JSON.stringify( + take(input, { + searchExpression: (_) => _json(_), + }) + ); + b.m("POST").h(headers).q(query).b(body); + return b.build(); +}; + /** * serializeAws_restJson1SearchQuickResponsesCommand */ @@ -1629,6 +1980,58 @@ export const se_UpdateKnowledgeBaseTemplateUriCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1UpdateMessageTemplateCommand + */ +export const se_UpdateMessageTemplateCommand = async ( + input: UpdateMessageTemplateCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/knowledgeBases/{knowledgeBaseId}/messageTemplates/{messageTemplateId}"); + b.p("knowledgeBaseId", () => input.knowledgeBaseId!, "{knowledgeBaseId}", false); + b.p("messageTemplateId", () => input.messageTemplateId!, "{messageTemplateId}", false); + let body: any; + body = JSON.stringify( + take(input, { + content: (_) => _json(_), + defaultAttributes: (_) => _json(_), + language: [], + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1UpdateMessageTemplateMetadataCommand + */ +export const se_UpdateMessageTemplateMetadataCommand = async ( + input: UpdateMessageTemplateMetadataCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/knowledgeBases/{knowledgeBaseId}/messageTemplates/{messageTemplateId}/metadata"); + b.p("knowledgeBaseId", () => input.knowledgeBaseId!, "{knowledgeBaseId}", false); + b.p("messageTemplateId", () => input.messageTemplateId!, "{messageTemplateId}", false); + let body: any; + body = JSON.stringify( + take(input, { + description: [], + groupingConfiguration: (_) => _json(_), + name: [], + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1UpdateQuickResponseCommand */ @@ -1715,6 +2118,29 @@ export const se_UpdateSessionDataCommand = async ( return b.build(); }; +/** + * deserializeAws_restJson1ActivateMessageTemplateCommand + */ +export const de_ActivateMessageTemplateCommand = 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, { + messageTemplateArn: __expectString, + messageTemplateId: __expectString, + versionNumber: __expectLong, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1CreateAIAgentCommand */ @@ -1906,6 +2332,69 @@ export const de_CreateKnowledgeBaseCommand = async ( return contents; }; +/** + * deserializeAws_restJson1CreateMessageTemplateCommand + */ +export const de_CreateMessageTemplateCommand = 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, { + messageTemplate: (_) => de_MessageTemplateData(_, context), + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1CreateMessageTemplateAttachmentCommand + */ +export const de_CreateMessageTemplateAttachmentCommand = 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, { + attachment: (_) => de_MessageTemplateAttachment(_, context), + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1CreateMessageTemplateVersionCommand + */ +export const de_CreateMessageTemplateVersionCommand = 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, { + messageTemplate: (_) => de_ExtendedMessageTemplateData(_, context), + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1CreateQuickResponseCommand */ @@ -1948,6 +2437,29 @@ export const de_CreateSessionCommand = async ( return contents; }; +/** + * deserializeAws_restJson1DeactivateMessageTemplateCommand + */ +export const de_DeactivateMessageTemplateCommand = 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, { + messageTemplateArn: __expectString, + messageTemplateId: __expectString, + versionNumber: __expectLong, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1DeleteAIAgentCommand */ @@ -2118,6 +2630,40 @@ export const de_DeleteKnowledgeBaseCommand = async ( return contents; }; +/** + * deserializeAws_restJson1DeleteMessageTemplateCommand + */ +export const de_DeleteMessageTemplateCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + +/** + * deserializeAws_restJson1DeleteMessageTemplateAttachmentCommand + */ +export const de_DeleteMessageTemplateAttachmentCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + /** * deserializeAws_restJson1DeleteQuickResponseCommand */ @@ -2287,10 +2833,31 @@ export const de_GetContentSummaryCommand = async ( /** * deserializeAws_restJson1GetImportJobCommand */ -export const de_GetImportJobCommand = async ( +export const de_GetImportJobCommand = 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, { + importJob: (_) => de_ImportJobData(_, context), + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1GetKnowledgeBaseCommand + */ +export const de_GetKnowledgeBaseCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { return de_CommandError(output, context); } @@ -2299,19 +2866,19 @@ export const de_GetImportJobCommand = async ( }); const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); const doc = take(data, { - importJob: (_) => de_ImportJobData(_, context), + knowledgeBase: (_) => de_KnowledgeBaseData(_, context), }); Object.assign(contents, doc); return contents; }; /** - * deserializeAws_restJson1GetKnowledgeBaseCommand + * deserializeAws_restJson1GetMessageTemplateCommand */ -export const de_GetKnowledgeBaseCommand = async ( +export const de_GetMessageTemplateCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { return de_CommandError(output, context); } @@ -2320,7 +2887,7 @@ export const de_GetKnowledgeBaseCommand = async ( }); const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); const doc = take(data, { - knowledgeBase: (_) => de_KnowledgeBaseData(_, context), + messageTemplate: (_) => de_ExtendedMessageTemplateData(_, context), }); Object.assign(contents, doc); return contents; @@ -2610,6 +3177,50 @@ export const de_ListKnowledgeBasesCommand = async ( return contents; }; +/** + * deserializeAws_restJson1ListMessageTemplatesCommand + */ +export const de_ListMessageTemplatesCommand = 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, { + messageTemplateSummaries: (_) => de_MessageTemplateSummaryList(_, context), + nextToken: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1ListMessageTemplateVersionsCommand + */ +export const de_ListMessageTemplateVersionsCommand = 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, { + messageTemplateVersionSummaries: _json, + nextToken: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1ListQuickResponsesCommand */ @@ -2756,6 +3367,29 @@ export const de_RemoveKnowledgeBaseTemplateUriCommand = async ( return contents; }; +/** + * deserializeAws_restJson1RenderMessageTemplateCommand + */ +export const de_RenderMessageTemplateCommand = 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, { + attachments: (_) => de_MessageTemplateAttachmentList(_, context), + attributesNotInterpolated: _json, + content: (_) => _json(__expectUnion(_)), + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1SearchContentCommand */ @@ -2778,6 +3412,28 @@ export const de_SearchContentCommand = async ( return contents; }; +/** + * deserializeAws_restJson1SearchMessageTemplatesCommand + */ +export const de_SearchMessageTemplatesCommand = 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, { + nextToken: __expectString, + results: (_) => de_MessageTemplateSearchResultsList(_, context), + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1SearchQuickResponsesCommand */ @@ -3006,6 +3662,48 @@ export const de_UpdateKnowledgeBaseTemplateUriCommand = async ( return contents; }; +/** + * deserializeAws_restJson1UpdateMessageTemplateCommand + */ +export const de_UpdateMessageTemplateCommand = 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, { + messageTemplate: (_) => de_MessageTemplateData(_, context), + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1UpdateMessageTemplateMetadataCommand + */ +export const de_UpdateMessageTemplateMetadataCommand = 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, { + messageTemplate: (_) => de_MessageTemplateData(_, context), + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1UpdateQuickResponseCommand */ @@ -3091,15 +3789,15 @@ const de_CommandError = async (output: __HttpResponse, context: __SerdeContext): case "ResourceNotFoundException": case "com.amazonaws.qconnect#ResourceNotFoundException": throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); - case "ServiceQuotaExceededException": - case "com.amazonaws.qconnect#ServiceQuotaExceededException": - throw await de_ServiceQuotaExceededExceptionRes(parsedOutput, context); case "ThrottlingException": case "com.amazonaws.qconnect#ThrottlingException": throw await de_ThrottlingExceptionRes(parsedOutput, context); case "ValidationException": case "com.amazonaws.qconnect#ValidationException": throw await de_ValidationExceptionRes(parsedOutput, context); + case "ServiceQuotaExceededException": + case "com.amazonaws.qconnect#ServiceQuotaExceededException": + throw await de_ServiceQuotaExceededExceptionRes(parsedOutput, context); case "RequestTimeoutException": case "com.amazonaws.qconnect#RequestTimeoutException": throw await de_RequestTimeoutExceptionRes(parsedOutput, context); @@ -3293,6 +3991,8 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont return __decorateServiceException(exception, parsedOutput.body); }; +// se_AgentAttributes omitted. + /** * serializeAws_restJson1AIAgentConfiguration */ @@ -3344,6 +4044,18 @@ const se_AIAgentConfiguration = (input: AIAgentConfiguration, context: __SerdeCo // se_ContentMetadata omitted. +// se_CustomAttributes omitted. + +// se_CustomerProfileAttributes omitted. + +// se_EmailHeader omitted. + +// se_EmailHeaders omitted. + +// se_EmailMessageTemplateContent omitted. + +// se_EmailMessageTemplateContentBody omitted. + // se_ExternalSourceConfiguration omitted. // se_Filter omitted. @@ -3372,6 +4084,28 @@ const se_AIAgentConfiguration = (input: AIAgentConfiguration, context: __SerdeCo // se_ManualSearchAIAgentConfiguration omitted. +// se_MessageTemplateAttributes omitted. + +// se_MessageTemplateBodyContentProvider omitted. + +// se_MessageTemplateContentProvider omitted. + +// se_MessageTemplateFilterField omitted. + +// se_MessageTemplateFilterFieldList omitted. + +// se_MessageTemplateFilterValueList omitted. + +// se_MessageTemplateOrderField omitted. + +// se_MessageTemplateQueryField omitted. + +// se_MessageTemplateQueryFieldList omitted. + +// se_MessageTemplateQueryValueList omitted. + +// se_MessageTemplateSearchExpression omitted. + // se_ObjectFieldsList omitted. // se_OrCondition omitted. @@ -3430,8 +4164,16 @@ const se_AIAgentConfiguration = (input: AIAgentConfiguration, context: __SerdeCo // se_ServerSideEncryptionConfiguration omitted. +// se_SMSMessageTemplateContent omitted. + +// se_SMSMessageTemplateContentBody omitted. + // se_SourceConfiguration omitted. +// se_SystemAttributes omitted. + +// se_SystemEndpointAttributes omitted. + // se_TagCondition omitted. // se_TagFilter omitted. @@ -3450,6 +4192,8 @@ const se_AIAgentConfiguration = (input: AIAgentConfiguration, context: __SerdeCo // se_WebCrawlerLimits omitted. +// de_AgentAttributes omitted. + /** * deserializeAws_restJson1AIAgentConfiguration */ @@ -3726,6 +4470,10 @@ const de_ContentDataDetails = (output: any, context: __SerdeContext): ContentDat // de_ContentSummaryList omitted. +// de_CustomAttributes omitted. + +// de_CustomerProfileAttributes omitted. + /** * deserializeAws_restJson1DataDetails */ @@ -3781,6 +4529,42 @@ const de_DataSummaryList = (output: any, context: __SerdeContext): DataSummary[] // de_DocumentText omitted. +// de_EmailHeader omitted. + +// de_EmailHeaders omitted. + +// de_EmailMessageTemplateContent omitted. + +// de_EmailMessageTemplateContentBody omitted. + +/** + * deserializeAws_restJson1ExtendedMessageTemplateData + */ +const de_ExtendedMessageTemplateData = (output: any, context: __SerdeContext): ExtendedMessageTemplateData => { + return take(output, { + attachments: (_: any) => de_MessageTemplateAttachmentList(_, context), + attributeTypes: _json, + channelSubtype: __expectString, + content: (_: any) => _json(__expectUnion(_)), + createdTime: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + defaultAttributes: _json, + description: __expectString, + groupingConfiguration: _json, + isActive: __expectBoolean, + knowledgeBaseArn: __expectString, + knowledgeBaseId: __expectString, + language: __expectString, + lastModifiedBy: __expectString, + lastModifiedTime: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + messageTemplateArn: __expectString, + messageTemplateContentSha256: __expectString, + messageTemplateId: __expectString, + name: __expectString, + tags: _json, + versionNumber: __expectLong, + }) as any; +}; + // de_ExternalSourceConfiguration omitted. // de_FailureReason omitted. @@ -3905,6 +4689,141 @@ const de_KnowledgeBaseData = (output: any, context: __SerdeContext): KnowledgeBa // de_ManualSearchAIAgentConfiguration omitted. +/** + * deserializeAws_restJson1MessageTemplateAttachment + */ +const de_MessageTemplateAttachment = (output: any, context: __SerdeContext): MessageTemplateAttachment => { + return take(output, { + attachmentId: __expectString, + contentDisposition: __expectString, + name: __expectString, + uploadedTime: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + url: __expectString, + urlExpiry: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + }) as any; +}; + +/** + * deserializeAws_restJson1MessageTemplateAttachmentList + */ +const de_MessageTemplateAttachmentList = (output: any, context: __SerdeContext): MessageTemplateAttachment[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_MessageTemplateAttachment(entry, context); + }); + return retVal; +}; + +// de_MessageTemplateAttributeKeyList omitted. + +// de_MessageTemplateAttributes omitted. + +// de_MessageTemplateAttributeTypeList omitted. + +// de_MessageTemplateBodyContentProvider omitted. + +// de_MessageTemplateContentProvider omitted. + +/** + * deserializeAws_restJson1MessageTemplateData + */ +const de_MessageTemplateData = (output: any, context: __SerdeContext): MessageTemplateData => { + return take(output, { + attributeTypes: _json, + channelSubtype: __expectString, + content: (_: any) => _json(__expectUnion(_)), + createdTime: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + defaultAttributes: _json, + description: __expectString, + groupingConfiguration: _json, + knowledgeBaseArn: __expectString, + knowledgeBaseId: __expectString, + language: __expectString, + lastModifiedBy: __expectString, + lastModifiedTime: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + messageTemplateArn: __expectString, + messageTemplateContentSha256: __expectString, + messageTemplateId: __expectString, + name: __expectString, + tags: _json, + }) as any; +}; + +/** + * deserializeAws_restJson1MessageTemplateSearchResultData + */ +const de_MessageTemplateSearchResultData = (output: any, context: __SerdeContext): MessageTemplateSearchResultData => { + return take(output, { + channelSubtype: __expectString, + createdTime: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + description: __expectString, + groupingConfiguration: _json, + isActive: __expectBoolean, + knowledgeBaseArn: __expectString, + knowledgeBaseId: __expectString, + language: __expectString, + lastModifiedBy: __expectString, + lastModifiedTime: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + messageTemplateArn: __expectString, + messageTemplateId: __expectString, + name: __expectString, + tags: _json, + versionNumber: __expectLong, + }) as any; +}; + +/** + * deserializeAws_restJson1MessageTemplateSearchResultsList + */ +const de_MessageTemplateSearchResultsList = ( + output: any, + context: __SerdeContext +): MessageTemplateSearchResultData[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_MessageTemplateSearchResultData(entry, context); + }); + return retVal; +}; + +/** + * deserializeAws_restJson1MessageTemplateSummary + */ +const de_MessageTemplateSummary = (output: any, context: __SerdeContext): MessageTemplateSummary => { + return take(output, { + activeVersionNumber: __expectLong, + channelSubtype: __expectString, + createdTime: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + description: __expectString, + knowledgeBaseArn: __expectString, + knowledgeBaseId: __expectString, + lastModifiedBy: __expectString, + lastModifiedTime: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + messageTemplateArn: __expectString, + messageTemplateId: __expectString, + name: __expectString, + tags: _json, + }) as any; +}; + +/** + * deserializeAws_restJson1MessageTemplateSummaryList + */ +const de_MessageTemplateSummaryList = (output: any, context: __SerdeContext): MessageTemplateSummary[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_MessageTemplateSummary(entry, context); + }); + return retVal; +}; + +// de_MessageTemplateVersionSummary omitted. + +// de_MessageTemplateVersionSummaryList omitted. + // de_NotifyRecommendationsReceivedError omitted. // de_NotifyRecommendationsReceivedErrorList omitted. @@ -4118,6 +5037,10 @@ const de_ResultData = (output: any, context: __SerdeContext): ResultData => { // de_SessionSummary omitted. +// de_SMSMessageTemplateContent omitted. + +// de_SMSMessageTemplateContentBody omitted. + // de_SourceConfiguration omitted. /** @@ -4133,6 +5056,10 @@ const de_SourceContentDataDetails = (output: any, context: __SerdeContext): Sour }) as any; }; +// de_SystemAttributes omitted. + +// de_SystemEndpointAttributes omitted. + // de_TagCondition omitted. // de_TagFilter omitted. diff --git a/codegen/sdk-codegen/aws-models/qconnect.json b/codegen/sdk-codegen/aws-models/qconnect.json index 368f18115374..bb46c71e073b 100644 --- a/codegen/sdk-codegen/aws-models/qconnect.json +++ b/codegen/sdk-codegen/aws-models/qconnect.json @@ -732,6 +732,119 @@ "smithy.api#httpError": 403 } }, + "com.amazonaws.qconnect#ActivateMessageTemplate": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#ActivateMessageTemplateRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#ActivateMessageTemplateResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ConflictException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Activates a specific version of the Amazon Q in Connect message template. After the\n version is activated, the previous active version will be deactivated automatically. You can\n use the $ACTIVE_VERSION qualifier later to reference the version that is in\n active status.

", + "smithy.api#http": { + "uri": "/knowledgeBases/{knowledgeBaseId}/messageTemplates/{messageTemplateId}/activate", + "method": "POST" + } + } + }, + "com.amazonaws.qconnect#ActivateMessageTemplateRequest": { + "type": "structure", + "members": { + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain\n the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "messageTemplateId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "traits": { + "smithy.api#documentation": "

The identifier of the message template. Can be either the ID or the ARN. It cannot contain any qualifier.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "versionNumber": { + "target": "com.amazonaws.qconnect#Version", + "traits": { + "smithy.api#documentation": "

The version number of the message template version to activate.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#ActivateMessageTemplateResponse": { + "type": "structure", + "members": { + "messageTemplateArn": { + "target": "com.amazonaws.qconnect#ArnWithQualifier", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the message template.

", + "smithy.api#required": {} + } + }, + "messageTemplateId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

The identifier of the message template.

", + "smithy.api#required": {} + } + }, + "versionNumber": { + "target": "com.amazonaws.qconnect#Version", + "traits": { + "smithy.api#documentation": "

The version number of the message template version that is activated.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#AgentAttributes": { + "type": "structure", + "members": { + "firstName": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The agent’s first name as entered in their Amazon Connect user account.

" + } + }, + "lastName": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The agent’s last name as entered in their Amazon Connect user account.

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

Information about an agent.

" + } + }, "com.amazonaws.qconnect#AmazonConnectGuideAssociationData": { "type": "structure", "members": { @@ -811,6 +924,12 @@ "smithy.api#pattern": "^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}$" } }, + "com.amazonaws.qconnect#ArnWithQualifier": { + "type": "string", + "traits": { + "smithy.api#pattern": "^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}(:[A-Z0-9_$]+){0,1}$" + } + }, "com.amazonaws.qconnect#Assistant": { "type": "resource", "identifiers": { @@ -1342,7 +1461,7 @@ "knowledgeBaseAssociationConfigurationData": { "target": "com.amazonaws.qconnect#KnowledgeBaseAssociationConfigurationData", "traits": { - "smithy.api#documentation": "

The data of the configuration for a KNOWLEDGE_BASE type Amazon Q in Connect Assistant\n Association.

" + "smithy.api#documentation": "

The data of the configuration for a KNOWLEDGE_BASE type Amazon Q in Connect\n Assistant Association.

" } } }, @@ -1367,6 +1486,17 @@ ] } }, + "com.amazonaws.qconnect#AttachmentFileName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^[\\p{L}\\p{M}\\p{N}_\\s&@()+,;=\\-]+\\.[A-Za-z0-9]+$", + "smithy.api#sensitive": {} + } + }, "com.amazonaws.qconnect#BedrockFoundationModelConfigurationForParsing": { "type": "structure", "members": { @@ -1408,6 +1538,21 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.qconnect#ChannelSubtype": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "EMAIL", + "name": "EMAIL" + }, + { + "value": "SMS", + "name": "SMS" + } + ] + } + }, "com.amazonaws.qconnect#Channels": { "type": "list", "member": { @@ -1969,6 +2114,17 @@ "smithy.api#documentation": "

Details about the content data.

" } }, + "com.amazonaws.qconnect#ContentDisposition": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ATTACHMENT", + "name": "ATTACHMENT" + } + ] + } + }, "com.amazonaws.qconnect#ContentFeedbackData": { "type": "union", "members": { @@ -2233,7 +2389,7 @@ "clientToken": { "target": "com.amazonaws.qconnect#ClientToken", "traits": { - "smithy.api#documentation": "

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

", + "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": {} } }, @@ -2369,7 +2525,7 @@ "clientToken": { "target": "com.amazonaws.qconnect#ClientToken", "traits": { - "smithy.api#documentation": "

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

", + "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": {} } } @@ -2441,7 +2597,7 @@ "clientToken": { "target": "com.amazonaws.qconnect#ClientToken", "traits": { - "smithy.api#documentation": "

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

", + "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": {} } }, @@ -2598,7 +2754,7 @@ "clientToken": { "target": "com.amazonaws.qconnect#ClientToken", "traits": { - "smithy.api#documentation": "

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

", + "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": {} } } @@ -2720,7 +2876,7 @@ "clientToken": { "target": "com.amazonaws.qconnect#ClientToken", "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#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": {} } }, @@ -2749,7 +2905,7 @@ "clientToken": { "target": "com.amazonaws.qconnect#ClientToken", "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#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": {} } }, @@ -2874,7 +3030,7 @@ "clientToken": { "target": "com.amazonaws.qconnect#ClientToken", "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#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": {} } }, @@ -2979,7 +3135,7 @@ "clientToken": { "target": "com.amazonaws.qconnect#NonEmptyString", "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#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": {} } }, @@ -3039,7 +3195,7 @@ "clientToken": { "target": "com.amazonaws.qconnect#NonEmptyString", "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#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": {} } }, @@ -3060,7 +3216,7 @@ "sourceConfiguration": { "target": "com.amazonaws.qconnect#SourceConfiguration", "traits": { - "smithy.api#documentation": "

The source of the knowledge base content. Only set this argument for EXTERNAL knowledge\n bases.

" + "smithy.api#documentation": "

The source of the knowledge base content. Only set this argument for EXTERNAL or Managed\n knowledge bases.

" } }, "renderingConfiguration": { @@ -3106,13 +3262,13 @@ } } }, - "com.amazonaws.qconnect#CreateQuickResponse": { + "com.amazonaws.qconnect#CreateMessageTemplate": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#CreateQuickResponseRequest" + "target": "com.amazonaws.qconnect#CreateMessageTemplateRequest" }, "output": { - "target": "com.amazonaws.qconnect#CreateQuickResponseResponse" + "target": "com.amazonaws.qconnect#CreateMessageTemplateResponse" }, "errors": [ { @@ -3127,78 +3283,160 @@ { "target": "com.amazonaws.qconnect#ServiceQuotaExceededException" }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, { "target": "com.amazonaws.qconnect#ValidationException" } ], "traits": { - "smithy.api#documentation": "

Creates an Amazon Q in Connect quick response.

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

Creates an Amazon Q in Connect message template. The name of the message template has to\n be unique for each knowledge base. The channel subtype of the message template is immutable\n and cannot be modified after creation. After the message template is created, you can use the\n $LATEST qualifier to reference the created message template.

", "smithy.api#http": { - "uri": "/knowledgeBases/{knowledgeBaseId}/quickResponses", + "uri": "/knowledgeBases/{knowledgeBaseId}/messageTemplates", "method": "POST" }, "smithy.api#idempotent": {} } }, - "com.amazonaws.qconnect#CreateQuickResponseRequest": { + "com.amazonaws.qconnect#CreateMessageTemplateAttachment": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#CreateMessageTemplateAttachmentRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#CreateMessageTemplateAttachmentResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ConflictException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Uploads an attachment file to the specified Amazon Q in Connect message template. The name\n of the message template attachment has to be unique for each message template referenced by\n the $LATEST qualifier. The body of the attachment file should be encoded using\n base64 encoding. After the file is uploaded, you can use the pre-signed Amazon S3 URL returned\n in response to download the uploaded file.

", + "smithy.api#http": { + "uri": "/knowledgeBases/{knowledgeBaseId}/messageTemplates/{messageTemplateId}/attachments", + "method": "POST" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.qconnect#CreateMessageTemplateAttachmentRequest": { "type": "structure", "members": { "knowledgeBaseId": { "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

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

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain\n the ARN.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "name": { - "target": "com.amazonaws.qconnect#QuickResponseName", + "messageTemplateId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", "traits": { - "smithy.api#documentation": "

The name of the quick response.

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

The identifier of the message template. Can be either the ID or the ARN. It cannot contain any qualifier.

", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "content": { - "target": "com.amazonaws.qconnect#QuickResponseDataProvider", + "contentDisposition": { + "target": "com.amazonaws.qconnect#ContentDisposition", "traits": { - "smithy.api#documentation": "

The content of the quick response.

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

The presentation information for the attachment file.

", "smithy.api#required": {} } }, - "contentType": { - "target": "com.amazonaws.qconnect#QuickResponseType", + "name": { + "target": "com.amazonaws.qconnect#AttachmentFileName", "traits": { - "smithy.api#documentation": "

The media type of the quick response content.

\n
    \n
  • \n

    Use application/x.quickresponse;format=plain for a quick response written\n in plain text.

    \n
  • \n
  • \n

    Use application/x.quickresponse;format=markdown for a quick response\n written in richtext.

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

The name of the attachment file being uploaded. The name should include the file extension.

", + "smithy.api#required": {} } }, - "groupingConfiguration": { - "target": "com.amazonaws.qconnect#GroupingConfiguration", + "body": { + "target": "com.amazonaws.qconnect#NonEmptyUnlimitedString", "traits": { - "smithy.api#documentation": "

The configuration information of the user groups that the quick response is accessible\n to.

" + "smithy.api#documentation": "

The body of the attachment file being uploaded. It should be encoded using base64\n encoding.

", + "smithy.api#required": {} } }, - "description": { - "target": "com.amazonaws.qconnect#QuickResponseDescription", + "clientToken": { + "target": "com.amazonaws.qconnect#ClientToken", "traits": { - "smithy.api#documentation": "

The description of the quick response.

" + "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.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#CreateMessageTemplateAttachmentResponse": { + "type": "structure", + "members": { + "attachment": { + "target": "com.amazonaws.qconnect#MessageTemplateAttachment", + "traits": { + "smithy.api#documentation": "

The message template attachment.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#CreateMessageTemplateRequest": { + "type": "structure", + "members": { + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain\n the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, - "shortcutKey": { - "target": "com.amazonaws.qconnect#ShortCutKey", + "name": { + "target": "com.amazonaws.qconnect#Name", "traits": { - "smithy.api#documentation": "

The shortcut key of the quick response. The value should be unique across the\n knowledge base.

" + "smithy.api#documentation": "

The name of the message template.

", + "smithy.api#required": {} } }, - "isActive": { - "target": "smithy.api#Boolean", + "content": { + "target": "com.amazonaws.qconnect#MessageTemplateContentProvider", "traits": { - "smithy.api#documentation": "

Whether the quick response is active.

" + "smithy.api#documentation": "

The content of the message template.

", + "smithy.api#required": {} } }, - "channels": { - "target": "com.amazonaws.qconnect#Channels", + "description": { + "target": "com.amazonaws.qconnect#Description", "traits": { - "smithy.api#documentation": "

The Amazon Connect channels this quick response applies to.

" + "smithy.api#documentation": "

The description of the message template.

" + } + }, + "channelSubtype": { + "target": "com.amazonaws.qconnect#ChannelSubtype", + "traits": { + "smithy.api#documentation": "

The channel subtype this message template applies to.

", + "smithy.api#required": {} } }, "language": { @@ -3207,10 +3445,19 @@ "smithy.api#documentation": "

The language code value for the language in which the quick response is written. The supported language codes include de_DE, en_US, es_ES,\n fr_FR, id_ID, it_IT, ja_JP, ko_KR, pt_BR,\n zh_CN, zh_TW\n

" } }, + "defaultAttributes": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributes", + "traits": { + "smithy.api#documentation": "

An object that specifies the default values to use for variables in the message template.\n This object contains different categories of key-value pairs. Each key defines a variable or\n placeholder in the message template. The corresponding value defines the default value for\n that variable.

" + } + }, + "groupingConfiguration": { + "target": "com.amazonaws.qconnect#GroupingConfiguration" + }, "clientToken": { - "target": "com.amazonaws.qconnect#NonEmptyString", + "target": "com.amazonaws.qconnect#ClientToken", "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#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": {} } }, @@ -3225,13 +3472,13 @@ "smithy.api#input": {} } }, - "com.amazonaws.qconnect#CreateQuickResponseResponse": { + "com.amazonaws.qconnect#CreateMessageTemplateResponse": { "type": "structure", "members": { - "quickResponse": { - "target": "com.amazonaws.qconnect#QuickResponseData", + "messageTemplate": { + "target": "com.amazonaws.qconnect#MessageTemplateData", "traits": { - "smithy.api#documentation": "

The quick response.

" + "smithy.api#documentation": "

The message template.

" } } }, @@ -3239,13 +3486,13 @@ "smithy.api#output": {} } }, - "com.amazonaws.qconnect#CreateSession": { + "com.amazonaws.qconnect#CreateMessageTemplateVersion": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#CreateSessionRequest" + "target": "com.amazonaws.qconnect#CreateMessageTemplateVersionRequest" }, "output": { - "target": "com.amazonaws.qconnect#CreateSessionResponse" + "target": "com.amazonaws.qconnect#CreateMessageTemplateVersionResponse" }, "errors": [ { @@ -3257,228 +3504,208 @@ { "target": "com.amazonaws.qconnect#ResourceNotFoundException" }, + { + "target": "com.amazonaws.qconnect#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, { "target": "com.amazonaws.qconnect#ValidationException" } ], "traits": { - "smithy.api#documentation": "

Creates a session. A session is a contextual container used for generating\n recommendations. Amazon Connect creates a new Amazon Q in Connect session for each contact on which\n Amazon Q in Connect is enabled.

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

Creates a new Amazon Q in Connect message template version from the current content and\n configuration of a message template. Versions are immutable and monotonically increasing. Once\n a version is created, you can reference a specific version of the message template by passing\n in <message-template-id>:<versionNumber> as the message template\n identifier. An error is displayed if the supplied messageTemplateContentSha256 is\n different from the messageTemplateContentSha256 of the message template with\n $LATEST qualifier. If multiple CreateMessageTemplateVersion\n requests are made while the message template remains the same, only the first invocation\n creates a new version and the succeeding requests will return the same response as the first\n invocation.

", "smithy.api#http": { - "uri": "/assistants/{assistantId}/sessions", + "uri": "/knowledgeBases/{knowledgeBaseId}/messageTemplates/{messageTemplateId}/versions", "method": "POST" - }, - "smithy.api#idempotent": {} + } } }, - "com.amazonaws.qconnect#CreateSessionRequest": { + "com.amazonaws.qconnect#CreateMessageTemplateVersionRequest": { "type": "structure", "members": { - "clientToken": { - "target": "com.amazonaws.qconnect#ClientToken", - "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": {} - } - }, - "assistantId": { + "knowledgeBaseId": { "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

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

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain\n the ARN.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "name": { - "target": "com.amazonaws.qconnect#Name", + "messageTemplateId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", "traits": { - "smithy.api#documentation": "

The name of the session.

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

The identifier of the message template. Can be either the ID or the ARN. It cannot contain any qualifier.

", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "description": { - "target": "com.amazonaws.qconnect#Description", - "traits": { - "smithy.api#documentation": "

The description.

" - } - }, - "tags": { - "target": "com.amazonaws.qconnect#Tags", - "traits": { - "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

" - } - }, - "tagFilter": { - "target": "com.amazonaws.qconnect#TagFilter", - "traits": { - "smithy.api#documentation": "

An object that can be used to specify Tag conditions.

" - } - }, - "aiAgentConfiguration": { - "target": "com.amazonaws.qconnect#AIAgentConfigurationMap", - "traits": { - "smithy.api#documentation": "

The configuration of the AI Agents (mapped by AI Agent Type to AI Agent version) that\n should be used by Amazon Q in Connect for this Session.

" - } - } - } - }, - "com.amazonaws.qconnect#CreateSessionResponse": { - "type": "structure", - "members": { - "session": { - "target": "com.amazonaws.qconnect#SessionData", - "traits": { - "smithy.api#documentation": "

The session.

" - } - } - } - }, - "com.amazonaws.qconnect#DataDetails": { - "type": "union", - "members": { - "contentData": { - "target": "com.amazonaws.qconnect#ContentDataDetails", - "traits": { - "smithy.api#documentation": "

Details about the content data.

" - } - }, - "generativeData": { - "target": "com.amazonaws.qconnect#GenerativeDataDetails", - "traits": { - "smithy.api#documentation": "

Details about the generative data.

" - } - }, - "intentDetectedData": { - "target": "com.amazonaws.qconnect#IntentDetectedDataDetails", - "traits": { - "smithy.api#documentation": "

Details about the intent data.

" - } - }, - "sourceContentData": { - "target": "com.amazonaws.qconnect#SourceContentDataDetails", - "traits": { - "smithy.api#documentation": "

Details about the content data.

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

Details about the data.

" - } - }, - "com.amazonaws.qconnect#DataReference": { - "type": "union", - "members": { - "contentReference": { - "target": "com.amazonaws.qconnect#ContentReference" - }, - "generativeReference": { - "target": "com.amazonaws.qconnect#GenerativeReference", + "messageTemplateContentSha256": { + "target": "com.amazonaws.qconnect#MessageTemplateContentSha256", "traits": { - "smithy.api#documentation": "

Reference information about the generative content.

" + "smithy.api#documentation": "

The checksum value of the message template content that is referenced by the\n $LATEST qualifier. It can be returned in MessageTemplateData or\n ExtendedMessageTemplateData. It’s calculated by content, language,\n defaultAttributes and Attachments of the message template. If not\n supplied, the message template version will be created based on the message template content\n that is referenced by the $LATEST qualifier by default.

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

Reference data.

" + "smithy.api#input": {} } }, - "com.amazonaws.qconnect#DataSummary": { + "com.amazonaws.qconnect#CreateMessageTemplateVersionResponse": { "type": "structure", "members": { - "reference": { - "target": "com.amazonaws.qconnect#DataReference", - "traits": { - "smithy.api#documentation": "

Reference information about the content.

", - "smithy.api#required": {} - } - }, - "details": { - "target": "com.amazonaws.qconnect#DataDetails", + "messageTemplate": { + "target": "com.amazonaws.qconnect#ExtendedMessageTemplateData", "traits": { - "smithy.api#documentation": "

Details about the data.

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

The message template.

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

Summary of the data.

" - } - }, - "com.amazonaws.qconnect#DataSummaryList": { - "type": "list", - "member": { - "target": "com.amazonaws.qconnect#DataSummary" + "smithy.api#output": {} } }, - "com.amazonaws.qconnect#DeleteAIAgent": { + "com.amazonaws.qconnect#CreateQuickResponse": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#DeleteAIAgentRequest" + "target": "com.amazonaws.qconnect#CreateQuickResponseRequest" }, "output": { - "target": "com.amazonaws.qconnect#DeleteAIAgentResponse" + "target": "com.amazonaws.qconnect#CreateQuickResponseResponse" }, "errors": [ { "target": "com.amazonaws.qconnect#AccessDeniedException" }, + { + "target": "com.amazonaws.qconnect#ConflictException" + }, { "target": "com.amazonaws.qconnect#ResourceNotFoundException" }, { - "target": "com.amazonaws.qconnect#ThrottlingException" + "target": "com.amazonaws.qconnect#ServiceQuotaExceededException" }, { "target": "com.amazonaws.qconnect#ValidationException" } ], "traits": { - "smithy.api#documentation": "

Deletes an Amazon Q in Connect AI Agent.

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

Creates an Amazon Q in Connect quick response.

", "smithy.api#http": { - "uri": "/assistants/{assistantId}/aiagents/{aiAgentId}", - "method": "DELETE", - "code": 204 + "uri": "/knowledgeBases/{knowledgeBaseId}/quickResponses", + "method": "POST" }, "smithy.api#idempotent": {} } }, - "com.amazonaws.qconnect#DeleteAIAgentRequest": { + "com.amazonaws.qconnect#CreateQuickResponseRequest": { "type": "structure", "members": { - "assistantId": { + "knowledgeBaseId": { "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

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

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "aiAgentId": { - "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "name": { + "target": "com.amazonaws.qconnect#QuickResponseName", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI Agent. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

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

The name of the quick response.

", + "smithy.api#required": {} + } + }, + "content": { + "target": "com.amazonaws.qconnect#QuickResponseDataProvider", + "traits": { + "smithy.api#documentation": "

The content of the quick response.

", "smithy.api#required": {} } + }, + "contentType": { + "target": "com.amazonaws.qconnect#QuickResponseType", + "traits": { + "smithy.api#documentation": "

The media type of the quick response content.

\n
    \n
  • \n

    Use application/x.quickresponse;format=plain for a quick response written\n in plain text.

    \n
  • \n
  • \n

    Use application/x.quickresponse;format=markdown for a quick response\n written in richtext.

    \n
  • \n
" + } + }, + "groupingConfiguration": { + "target": "com.amazonaws.qconnect#GroupingConfiguration", + "traits": { + "smithy.api#documentation": "

The configuration information of the user groups that the quick response is accessible\n to.

" + } + }, + "description": { + "target": "com.amazonaws.qconnect#QuickResponseDescription", + "traits": { + "smithy.api#documentation": "

The description of the quick response.

" + } + }, + "shortcutKey": { + "target": "com.amazonaws.qconnect#ShortCutKey", + "traits": { + "smithy.api#documentation": "

The shortcut key of the quick response. The value should be unique across the\n knowledge base.

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

Whether the quick response is active.

" + } + }, + "channels": { + "target": "com.amazonaws.qconnect#Channels", + "traits": { + "smithy.api#documentation": "

The Amazon Connect channels this quick response applies to.

" + } + }, + "language": { + "target": "com.amazonaws.qconnect#LanguageCode", + "traits": { + "smithy.api#documentation": "

The language code value for the language in which the quick response is written. The supported language codes include de_DE, en_US, es_ES,\n fr_FR, id_ID, it_IT, ja_JP, ko_KR, pt_BR,\n zh_CN, zh_TW\n

" + } + }, + "clientToken": { + "target": "com.amazonaws.qconnect#NonEmptyString", + "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": {} + } + }, + "tags": { + "target": "com.amazonaws.qconnect#Tags", + "traits": { + "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

" + } } }, "traits": { "smithy.api#input": {} } }, - "com.amazonaws.qconnect#DeleteAIAgentResponse": { + "com.amazonaws.qconnect#CreateQuickResponseResponse": { "type": "structure", - "members": {}, + "members": { + "quickResponse": { + "target": "com.amazonaws.qconnect#QuickResponseData", + "traits": { + "smithy.api#documentation": "

The quick response.

" + } + } + }, "traits": { "smithy.api#output": {} } }, - "com.amazonaws.qconnect#DeleteAIAgentVersion": { + "com.amazonaws.qconnect#CreateSession": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#DeleteAIAgentVersionRequest" + "target": "com.amazonaws.qconnect#CreateSessionRequest" }, "output": { - "target": "com.amazonaws.qconnect#DeleteAIAgentVersionResponse" + "target": "com.amazonaws.qconnect#CreateSessionResponse" }, "errors": [ { @@ -3490,69 +3717,2077 @@ { "target": "com.amazonaws.qconnect#ResourceNotFoundException" }, - { - "target": "com.amazonaws.qconnect#ThrottlingException" - }, { "target": "com.amazonaws.qconnect#ValidationException" } ], "traits": { - "smithy.api#documentation": "

Deletes an Amazon Q in Connect AI Agent Version.

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

Creates a session. A session is a contextual container used for generating\n recommendations. Amazon Connect creates a new Amazon Q in Connect session for each contact on which\n Amazon Q in Connect is enabled.

", "smithy.api#http": { - "uri": "/assistants/{assistantId}/aiagents/{aiAgentId}/versions/{versionNumber}", - "method": "DELETE", - "code": 204 + "uri": "/assistants/{assistantId}/sessions", + "method": "POST" }, "smithy.api#idempotent": {} } }, - "com.amazonaws.qconnect#DeleteAIAgentVersionRequest": { + "com.amazonaws.qconnect#CreateSessionRequest": { "type": "structure", "members": { + "clientToken": { + "target": "com.amazonaws.qconnect#ClientToken", + "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": {} + } + }, "assistantId": { "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

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

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "aiAgentId": { - "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "name": { + "target": "com.amazonaws.qconnect#Name", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI Agent. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

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

The name of the session.

", "smithy.api#required": {} } }, - "versionNumber": { - "target": "com.amazonaws.qconnect#Version", + "description": { + "target": "com.amazonaws.qconnect#Description", "traits": { - "smithy.api#documentation": "

The version number of the AI Agent version.

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

The description.

" } - } + }, + "tags": { + "target": "com.amazonaws.qconnect#Tags", + "traits": { + "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

" + } + }, + "tagFilter": { + "target": "com.amazonaws.qconnect#TagFilter", + "traits": { + "smithy.api#documentation": "

An object that can be used to specify Tag conditions.

" + } + }, + "aiAgentConfiguration": { + "target": "com.amazonaws.qconnect#AIAgentConfigurationMap", + "traits": { + "smithy.api#documentation": "

The configuration of the AI Agents (mapped by AI Agent Type to AI Agent version) that\n should be used by Amazon Q in Connect for this Session.

" + } + } + } + }, + "com.amazonaws.qconnect#CreateSessionResponse": { + "type": "structure", + "members": { + "session": { + "target": "com.amazonaws.qconnect#SessionData", + "traits": { + "smithy.api#documentation": "

The session.

" + } + } + } + }, + "com.amazonaws.qconnect#CustomAttributes": { + "type": "map", + "key": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeKey" + }, + "value": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue" + }, + "traits": { + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.qconnect#CustomerProfileAttributes": { + "type": "structure", + "members": { + "profileId": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The unique identifier of a customer profile.

" + } + }, + "profileARN": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The ARN of a customer profile.

" + } + }, + "firstName": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The customer's first name.

" + } + }, + "middleName": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The customer's middle name.

" + } + }, + "lastName": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The customer's last name.

" + } + }, + "accountNumber": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

A unique account number that you have given to the customer.

" + } + }, + "emailAddress": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The customer's email address, which has not been specified as a personal or business\n address.

" + } + }, + "phoneNumber": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The customer's phone number, which has not been specified as a mobile, home, or business\n number.

" + } + }, + "additionalInformation": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

Any additional information relevant to the customer's profile.

" + } + }, + "partyType": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The customer's party type.

" + } + }, + "businessName": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The name of the customer's business.

" + } + }, + "birthDate": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The customer's birth date.

" + } + }, + "gender": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The customer's gender.

" + } + }, + "mobilePhoneNumber": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The customer's mobile phone number.

" + } + }, + "homePhoneNumber": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The customer's mobile phone number.

" + } + }, + "businessPhoneNumber": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The customer's business phone number.

" + } + }, + "businessEmailAddress": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The customer's business email address.

" + } + }, + "address1": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The first line of a customer address.

" + } + }, + "address2": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The second line of a customer address.

" + } + }, + "address3": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The third line of a customer address.

" + } + }, + "address4": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The fourth line of a customer address.

" + } + }, + "city": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The city in which a customer lives.

" + } + }, + "county": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The county in which a customer lives.

" + } + }, + "country": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The country in which a customer lives.

" + } + }, + "postalCode": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The postal code of a customer address.

" + } + }, + "province": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The province in which a customer lives.

" + } + }, + "state": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The state in which a customer lives.

" + } + }, + "shippingAddress1": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The first line of a customer’s shipping address.

" + } + }, + "shippingAddress2": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The second line of a customer’s shipping address.

" + } + }, + "shippingAddress3": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The third line of a customer’s shipping address.

" + } + }, + "shippingAddress4": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The fourth line of a customer’s shipping address.

" + } + }, + "shippingCity": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The city of a customer’s shipping address.

" + } + }, + "shippingCounty": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The county of a customer’s shipping address.

" + } + }, + "shippingCountry": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The country of a customer’s shipping address.

" + } + }, + "shippingPostalCode": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The postal code of a customer’s shipping address.

" + } + }, + "shippingProvince": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The province of a customer’s shipping address.

" + } + }, + "shippingState": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The state of a customer’s shipping address.

" + } + }, + "mailingAddress1": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The first line of a customer’s mailing address.

" + } + }, + "mailingAddress2": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The second line of a customer’s mailing address.

" + } + }, + "mailingAddress3": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The third line of a customer’s mailing address.

" + } + }, + "mailingAddress4": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The fourth line of a customer’s mailing address.

" + } + }, + "mailingCity": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The city of a customer’s mailing address.

" + } + }, + "mailingCounty": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The county of a customer’s mailing address.

" + } + }, + "mailingCountry": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The country of a customer’s mailing address.

" + } + }, + "mailingPostalCode": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The postal code of a customer’s mailing address.

" + } + }, + "mailingProvince": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The province of a customer’s mailing address.

" + } + }, + "mailingState": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The state of a customer’s mailing address.

" + } + }, + "billingAddress1": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The first line of a customer’s billing address.

" + } + }, + "billingAddress2": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The second line of a customer’s billing address.

" + } + }, + "billingAddress3": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The third line of a customer’s billing address.

" + } + }, + "billingAddress4": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The fourth line of a customer’s billing address.

" + } + }, + "billingCity": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The city of a customer’s billing address.

" + } + }, + "billingCounty": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The county of a customer’s billing address.

" + } + }, + "billingCountry": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The country of a customer’s billing address.

" + } + }, + "billingPostalCode": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The postal code of a customer’s billing address.

" + } + }, + "billingProvince": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The province of a customer’s billing address.

" + } + }, + "billingState": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The state of a customer’s billing address.

" + } + }, + "custom": { + "target": "com.amazonaws.qconnect#CustomAttributes", + "traits": { + "smithy.api#documentation": "

The custom attributes in customer profile attributes.

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

The customer profile attributes that are used with the message template.

" + } + }, + "com.amazonaws.qconnect#DataDetails": { + "type": "union", + "members": { + "contentData": { + "target": "com.amazonaws.qconnect#ContentDataDetails", + "traits": { + "smithy.api#documentation": "

Details about the content data.

" + } + }, + "generativeData": { + "target": "com.amazonaws.qconnect#GenerativeDataDetails", + "traits": { + "smithy.api#documentation": "

Details about the generative data.

" + } + }, + "intentDetectedData": { + "target": "com.amazonaws.qconnect#IntentDetectedDataDetails", + "traits": { + "smithy.api#documentation": "

Details about the intent data.

" + } + }, + "sourceContentData": { + "target": "com.amazonaws.qconnect#SourceContentDataDetails", + "traits": { + "smithy.api#documentation": "

Details about the content data.

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

Details about the data.

" + } + }, + "com.amazonaws.qconnect#DataReference": { + "type": "union", + "members": { + "contentReference": { + "target": "com.amazonaws.qconnect#ContentReference" + }, + "generativeReference": { + "target": "com.amazonaws.qconnect#GenerativeReference", + "traits": { + "smithy.api#documentation": "

Reference information about the generative content.

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

Reference data.

" + } + }, + "com.amazonaws.qconnect#DataSummary": { + "type": "structure", + "members": { + "reference": { + "target": "com.amazonaws.qconnect#DataReference", + "traits": { + "smithy.api#documentation": "

Reference information about the content.

", + "smithy.api#required": {} + } + }, + "details": { + "target": "com.amazonaws.qconnect#DataDetails", + "traits": { + "smithy.api#documentation": "

Details about the data.

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

Summary of the data.

" + } + }, + "com.amazonaws.qconnect#DataSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#DataSummary" + } + }, + "com.amazonaws.qconnect#DeactivateMessageTemplate": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#DeactivateMessageTemplateRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#DeactivateMessageTemplateResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ConflictException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deactivates a specific version of the Amazon Q in Connect message template . After the\n version is deactivated, you can no longer use the $ACTIVE_VERSION qualifier to\n reference the version in active status.

", + "smithy.api#http": { + "uri": "/knowledgeBases/{knowledgeBaseId}/messageTemplates/{messageTemplateId}/deactivate", + "method": "POST" + } + } + }, + "com.amazonaws.qconnect#DeactivateMessageTemplateRequest": { + "type": "structure", + "members": { + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain\n the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "messageTemplateId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "traits": { + "smithy.api#documentation": "

The identifier of the message template. Can be either the ID or the ARN. It cannot contain any qualifier.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "versionNumber": { + "target": "com.amazonaws.qconnect#Version", + "traits": { + "smithy.api#documentation": "

The version number of the message template version to deactivate.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#DeactivateMessageTemplateResponse": { + "type": "structure", + "members": { + "messageTemplateArn": { + "target": "com.amazonaws.qconnect#ArnWithQualifier", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the message template.

", + "smithy.api#required": {} + } + }, + "messageTemplateId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

The identifier of the message template.

", + "smithy.api#required": {} + } + }, + "versionNumber": { + "target": "com.amazonaws.qconnect#Version", + "traits": { + "smithy.api#documentation": "

The version number of the message template version that has been deactivated.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#DeleteAIAgent": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#DeleteAIAgentRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#DeleteAIAgentResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes an Amazon Q in Connect AI Agent.

", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiagents/{aiAgentId}", + "method": "DELETE", + "code": 204 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.qconnect#DeleteAIAgentRequest": { + "type": "structure", + "members": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "aiAgentId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI Agent. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#DeleteAIAgentResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#DeleteAIAgentVersion": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#DeleteAIAgentVersionRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#DeleteAIAgentVersionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ConflictException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes an Amazon Q in Connect AI Agent Version.

", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiagents/{aiAgentId}/versions/{versionNumber}", + "method": "DELETE", + "code": 204 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.qconnect#DeleteAIAgentVersionRequest": { + "type": "structure", + "members": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "aiAgentId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI Agent. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "versionNumber": { + "target": "com.amazonaws.qconnect#Version", + "traits": { + "smithy.api#documentation": "

The version number of the AI Agent version.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#DeleteAIAgentVersionResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#DeleteAIPrompt": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#DeleteAIPromptRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#DeleteAIPromptResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes an Amazon Q in Connect AI Prompt.

", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiprompts/{aiPromptId}", + "method": "DELETE", + "code": 204 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.qconnect#DeleteAIPromptRequest": { + "type": "structure", + "members": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "aiPromptId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI prompt. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#DeleteAIPromptResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#DeleteAIPromptVersion": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#DeleteAIPromptVersionRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#DeleteAIPromptVersionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ConflictException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Delete and Amazon Q in Connect AI Prompt version.

", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiprompts/{aiPromptId}/versions/{versionNumber}", + "method": "DELETE", + "code": 204 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.qconnect#DeleteAIPromptVersionRequest": { + "type": "structure", + "members": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "aiPromptId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI prompt.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "versionNumber": { + "target": "com.amazonaws.qconnect#Version", + "traits": { + "smithy.api#documentation": "

The version number of the AI Prompt version to be deleted.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#DeleteAIPromptVersionResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#DeleteAssistant": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#DeleteAssistantRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#DeleteAssistantResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes an assistant.

", + "smithy.api#http": { + "uri": "/assistants/{assistantId}", + "method": "DELETE", + "code": 204 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.qconnect#DeleteAssistantAssociation": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#DeleteAssistantAssociationRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#DeleteAssistantAssociationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes an assistant association.

", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/associations/{assistantAssociationId}", + "method": "DELETE", + "code": 204 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.qconnect#DeleteAssistantAssociationRequest": { + "type": "structure", + "members": { + "assistantAssociationId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the assistant association. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.qconnect#DeleteAssistantAssociationResponse": { + "type": "structure", + "members": {} + }, + "com.amazonaws.qconnect#DeleteAssistantRequest": { + "type": "structure", + "members": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.qconnect#DeleteAssistantResponse": { + "type": "structure", + "members": {} + }, + "com.amazonaws.qconnect#DeleteContent": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#DeleteContentRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#DeleteContentResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes the content.

", + "smithy.api#http": { + "uri": "/knowledgeBases/{knowledgeBaseId}/contents/{contentId}", + "method": "DELETE", + "code": 204 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.qconnect#DeleteContentAssociation": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#DeleteContentAssociationRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#DeleteContentAssociationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes the content association.

\n

For more information about content associations--what they are and when they are used--see\n Integrate Amazon Q in Connect with step-by-step guides in the Amazon Connect\n Administrator Guide.

", + "smithy.api#http": { + "uri": "/knowledgeBases/{knowledgeBaseId}/contents/{contentId}/associations/{contentAssociationId}", + "method": "DELETE", + "code": 204 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.qconnect#DeleteContentAssociationRequest": { + "type": "structure", + "members": { + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the knowledge base.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "contentId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the content.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "contentAssociationId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the content association. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#DeleteContentAssociationResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#DeleteContentRequest": { + "type": "structure", + "members": { + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "contentId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the content. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.qconnect#DeleteContentResponse": { + "type": "structure", + "members": {} + }, + "com.amazonaws.qconnect#DeleteImportJob": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#DeleteImportJobRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#DeleteImportJobResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ConflictException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes the quick response import job.

", + "smithy.api#http": { + "uri": "/knowledgeBases/{knowledgeBaseId}/importJobs/{importJobId}", + "method": "DELETE", + "code": 204 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.qconnect#DeleteImportJobRequest": { + "type": "structure", + "members": { + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the knowledge base.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "importJobId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

The identifier of the import job to be deleted.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#DeleteImportJobResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#DeleteKnowledgeBase": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#DeleteKnowledgeBaseRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#DeleteKnowledgeBaseResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ConflictException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes the knowledge base.

\n \n

When you use this API to delete an external knowledge base such as Salesforce or\n ServiceNow, you must also delete the Amazon AppIntegrations\n DataIntegration. This is because you can't reuse the DataIntegration after it's been\n associated with an external knowledge base. However, you can delete and recreate it. See\n DeleteDataIntegration and CreateDataIntegration in the Amazon AppIntegrations API\n Reference.

\n
", + "smithy.api#http": { + "uri": "/knowledgeBases/{knowledgeBaseId}", + "method": "DELETE", + "code": 204 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.qconnect#DeleteKnowledgeBaseRequest": { + "type": "structure", + "members": { + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The knowledge base to delete content from. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.qconnect#DeleteKnowledgeBaseResponse": { + "type": "structure", + "members": {} + }, + "com.amazonaws.qconnect#DeleteMessageTemplate": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#DeleteMessageTemplateRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#DeleteMessageTemplateResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ConflictException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes an Amazon Q in Connect message template entirely or a specific version of the\n message template if version is supplied in the request. You can provide the message template\n identifier as <message-template-id>:<versionNumber> to delete a\n specific version of the message template. If it is not supplied, the message template and all\n available versions will be deleted.

", + "smithy.api#http": { + "uri": "/knowledgeBases/{knowledgeBaseId}/messageTemplates/{messageTemplateId}", + "method": "DELETE", + "code": 204 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.qconnect#DeleteMessageTemplateAttachment": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#DeleteMessageTemplateAttachmentRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#DeleteMessageTemplateAttachmentResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ConflictException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes the attachment file from the Amazon Q in Connect message template that is\n referenced by $LATEST qualifier. Attachments on available message template\n versions will remain unchanged.

", + "smithy.api#http": { + "uri": "/knowledgeBases/{knowledgeBaseId}/messageTemplates/{messageTemplateId}/attachments/{attachmentId}", + "method": "DELETE", + "code": 204 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.qconnect#DeleteMessageTemplateAttachmentRequest": { + "type": "structure", + "members": { + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain\n the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "messageTemplateId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "traits": { + "smithy.api#documentation": "

The identifier of the message template. Can be either the ID or the ARN. It cannot contain any qualifier.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "attachmentId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

The identifier of the attachment file.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#DeleteMessageTemplateAttachmentResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#DeleteMessageTemplateRequest": { + "type": "structure", + "members": { + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain\n the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "messageTemplateId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "traits": { + "smithy.api#documentation": "

The identifier of the message template. Can be either the ID or the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#DeleteMessageTemplateResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#DeleteQuickResponse": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#DeleteQuickResponseRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#DeleteQuickResponseResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes a quick response.

", + "smithy.api#http": { + "uri": "/knowledgeBases/{knowledgeBaseId}/quickResponses/{quickResponseId}", + "method": "DELETE", + "code": 204 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.qconnect#DeleteQuickResponseRequest": { + "type": "structure", + "members": { + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The knowledge base from which the quick response is deleted. The identifier of the knowledge base.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "quickResponseId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the quick response to delete.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#DeleteQuickResponseResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#Description": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#pattern": "^[a-zA-Z0-9\\s_.,-]+" + } + }, + "com.amazonaws.qconnect#Document": { + "type": "structure", + "members": { + "contentReference": { + "target": "com.amazonaws.qconnect#ContentReference", + "traits": { + "smithy.api#documentation": "

A reference to the content resource.

", + "smithy.api#required": {} + } + }, + "title": { + "target": "com.amazonaws.qconnect#DocumentText", + "traits": { + "smithy.api#documentation": "

The title of the document.

" + } + }, + "excerpt": { + "target": "com.amazonaws.qconnect#DocumentText", + "traits": { + "smithy.api#documentation": "

The excerpt from the document.

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

The document.

" + } + }, + "com.amazonaws.qconnect#DocumentText": { + "type": "structure", + "members": { + "text": { + "target": "com.amazonaws.qconnect#SensitiveString", + "traits": { + "smithy.api#documentation": "

Text in the document.

" + } + }, + "highlights": { + "target": "com.amazonaws.qconnect#Highlights", + "traits": { + "smithy.api#documentation": "

Highlights in the document text.

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

The text of the document.

" + } + }, + "com.amazonaws.qconnect#EmailHeader": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.qconnect#EmailHeaderKey", + "traits": { + "smithy.api#documentation": "

The name of the email header.

" + } + }, + "value": { + "target": "com.amazonaws.qconnect#EmailHeaderValue", + "traits": { + "smithy.api#documentation": "

The value of the email header.

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

The email header to include in email messages.

" + } + }, + "com.amazonaws.qconnect#EmailHeaderKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 126 + }, + "smithy.api#pattern": "^[!-9;-@A-~]+$" + } + }, + "com.amazonaws.qconnect#EmailHeaderValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 870 + }, + "smithy.api#pattern": "[ -~]*", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.qconnect#EmailHeaders": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#EmailHeader" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 15 + } + } + }, + "com.amazonaws.qconnect#EmailMessageTemplateContent": { + "type": "structure", + "members": { + "subject": { + "target": "com.amazonaws.qconnect#NonEmptyUnlimitedString", + "traits": { + "smithy.api#documentation": "

The subject line, or title, to use in email messages.

" + } + }, + "body": { + "target": "com.amazonaws.qconnect#EmailMessageTemplateContentBody", + "traits": { + "smithy.api#documentation": "

The body to use in email messages.

" + } + }, + "headers": { + "target": "com.amazonaws.qconnect#EmailHeaders", + "traits": { + "smithy.api#documentation": "

The email headers to include in email messages.

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

The content of the message template that applies to the email channel subtype.

" + } + }, + "com.amazonaws.qconnect#EmailMessageTemplateContentBody": { + "type": "structure", + "members": { + "plainText": { + "target": "com.amazonaws.qconnect#MessageTemplateBodyContentProvider", + "traits": { + "smithy.api#documentation": "

The message body, in plain text format, to use in email messages that are based on the\n message template. We recommend using plain text format for email clients that don't render\n HTML content and clients that are connected to high-latency networks, such as mobile\n devices.

" + } + }, + "html": { + "target": "com.amazonaws.qconnect#MessageTemplateBodyContentProvider", + "traits": { + "smithy.api#documentation": "

The message body, in HTML format, to use in email messages that are based on the message\n template. We recommend using HTML format for email clients that render HTML content. You can\n include links, formatted text, and more in an HTML message.

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

The body to use in email messages.

" + } + }, + "com.amazonaws.qconnect#ExtendedMessageTemplateData": { + "type": "structure", + "members": { + "messageTemplateArn": { + "target": "com.amazonaws.qconnect#ArnWithQualifier", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the message template.

", + "smithy.api#required": {} + } + }, + "messageTemplateId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

The identifier of the message template.

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

The Amazon Resource Name (ARN) of the knowledge base.

", + "smithy.api#required": {} + } + }, + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

The identifier of the knowledge base.

", + "smithy.api#required": {} + } + }, + "name": { + "target": "com.amazonaws.qconnect#Name", + "traits": { + "smithy.api#documentation": "

The name of the message template.

", + "smithy.api#required": {} + } + }, + "channelSubtype": { + "target": "com.amazonaws.qconnect#ChannelSubtype", + "traits": { + "smithy.api#documentation": "

The channel subtype this message template applies to.

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

The timestamp when the message template was created.

", + "smithy.api#required": {}, + "smithy.api#timestampFormat": "date-time" + } + }, + "lastModifiedTime": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp when the message template data was last modified.

", + "smithy.api#required": {}, + "smithy.api#timestampFormat": "date-time" + } + }, + "lastModifiedBy": { + "target": "com.amazonaws.qconnect#GenericArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the user who last updated the message template\n data.

", + "smithy.api#required": {} + } + }, + "content": { + "target": "com.amazonaws.qconnect#MessageTemplateContentProvider", + "traits": { + "smithy.api#documentation": "

The content of the message template.

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

The description of the message template.

" + } + }, + "language": { + "target": "com.amazonaws.qconnect#LanguageCode", + "traits": { + "smithy.api#documentation": "

The language code value for the language in which the quick response is written. The supported language codes include de_DE, en_US, es_ES,\n fr_FR, id_ID, it_IT, ja_JP, ko_KR, pt_BR,\n zh_CN, zh_TW\n

" + } + }, + "groupingConfiguration": { + "target": "com.amazonaws.qconnect#GroupingConfiguration" + }, + "defaultAttributes": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributes", + "traits": { + "smithy.api#documentation": "

An object that specifies the default values to use for variables in the message template.\n This object contains different categories of key-value pairs. Each key defines a variable or\n placeholder in the message template. The corresponding value defines the default value for\n that variable.

" + } + }, + "attributeTypes": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeTypeList", + "traits": { + "smithy.api#documentation": "

The types of attributes contain the message template.

" + } + }, + "attachments": { + "target": "com.amazonaws.qconnect#MessageTemplateAttachmentList", + "traits": { + "smithy.api#documentation": "

The message template attachments.

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

Whether the version of the message template is activated.

" + } + }, + "versionNumber": { + "target": "com.amazonaws.qconnect#Version", + "traits": { + "smithy.api#documentation": "

The version number of the message template version.

" + } + }, + "messageTemplateContentSha256": { + "target": "com.amazonaws.qconnect#MessageTemplateContentSha256", + "traits": { + "smithy.api#documentation": "

The checksum value of the message template content that is referenced by the\n $LATEST qualifier. It can be returned in MessageTemplateData or\n ExtendedMessageTemplateData. It’s calculated by content, language,\n defaultAttributes and Attachments of the message template.

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

The tags used to organize, track, or control access for this resource.

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

The extended data of a message template.

" + } + }, + "com.amazonaws.qconnect#ExternalSource": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "AMAZON_CONNECT", + "name": "AMAZON_CONNECT" + } + ] + } + }, + "com.amazonaws.qconnect#ExternalSourceConfiguration": { + "type": "structure", + "members": { + "source": { + "target": "com.amazonaws.qconnect#ExternalSource", + "traits": { + "smithy.api#documentation": "

The type of the external data source.

", + "smithy.api#required": {} + } + }, + "configuration": { + "target": "com.amazonaws.qconnect#Configuration", + "traits": { + "smithy.api#documentation": "

The configuration information of the external data source.

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

The configuration information of the external data source.

" + } + }, + "com.amazonaws.qconnect#FailureReason": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#NonEmptyString" + } + }, + "com.amazonaws.qconnect#Filter": { + "type": "structure", + "members": { + "field": { + "target": "com.amazonaws.qconnect#FilterField", + "traits": { + "smithy.api#documentation": "

The field on which to filter.

", + "smithy.api#required": {} + } + }, + "operator": { + "target": "com.amazonaws.qconnect#FilterOperator", + "traits": { + "smithy.api#documentation": "

The operator to use for comparing the field’s value with the provided value.

", + "smithy.api#required": {} + } + }, + "value": { + "target": "com.amazonaws.qconnect#NonEmptyString", + "traits": { + "smithy.api#documentation": "

The desired field value on which to filter.

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

A search filter.

" + } + }, + "com.amazonaws.qconnect#FilterField": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "NAME", + "name": "NAME" + } + ] + } + }, + "com.amazonaws.qconnect#FilterList": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#Filter" + } + }, + "com.amazonaws.qconnect#FilterOperator": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "EQUALS", + "name": "EQUALS" + } + ] + } + }, + "com.amazonaws.qconnect#FixedSizeChunkingConfiguration": { + "type": "structure", + "members": { + "maxTokens": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The maximum number of tokens to include in a chunk.

", + "smithy.api#range": { + "min": 1 + }, + "smithy.api#required": {} + } + }, + "overlapPercentage": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The percentage of overlap between adjacent chunks of a data source.

", + "smithy.api#range": { + "min": 1, + "max": 99 + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Configurations for when you choose fixed-size chunking. If you set the\n chunkingStrategy as NONE, exclude this field.

" + } + }, + "com.amazonaws.qconnect#GenerativeContentFeedbackData": { + "type": "structure", + "members": { + "relevance": { + "target": "com.amazonaws.qconnect#Relevance", + "traits": { + "smithy.api#documentation": "

The relevance of the feedback.

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

The feedback information for a generative target type.

" + } + }, + "com.amazonaws.qconnect#GenerativeDataDetails": { + "type": "structure", + "members": { + "completion": { + "target": "com.amazonaws.qconnect#SensitiveString", + "traits": { + "smithy.api#documentation": "

The LLM response.

", + "smithy.api#required": {} + } + }, + "references": { + "target": "com.amazonaws.qconnect#DataSummaryList", + "traits": { + "smithy.api#documentation": "

The references used to generative the LLM response.

", + "smithy.api#required": {} + } + }, + "rankingData": { + "target": "com.amazonaws.qconnect#RankingData", + "traits": { + "smithy.api#documentation": "

Details about the generative content ranking data.

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

Details about generative data.

" + } + }, + "com.amazonaws.qconnect#GenerativeReference": { + "type": "structure", + "members": { + "modelId": { + "target": "com.amazonaws.qconnect#LlmModelId", + "traits": { + "smithy.api#documentation": "

The identifier of the LLM model.

" + } + }, + "generationId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

The identifier of the LLM model.

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

Reference information about generative content.

" + } + }, + "com.amazonaws.qconnect#GenericArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#pattern": "^arn:[a-z-]+?:[a-z-]+?:[a-z0-9-]*?:([0-9]{12})?:[a-zA-Z0-9-:/]+$" + } + }, + "com.amazonaws.qconnect#GetAIAgent": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#GetAIAgentRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#GetAIAgentResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Gets an Amazon Q in Connect AI Agent.

", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiagents/{aiAgentId}", + "method": "GET" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.qconnect#GetAIAgentRequest": { + "type": "structure", + "members": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "aiAgentId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI Agent (with or without a version qualifier).\n Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#GetAIAgentResponse": { + "type": "structure", + "members": { + "aiAgent": { + "target": "com.amazonaws.qconnect#AIAgentData", + "traits": { + "smithy.api#documentation": "

The data of the AI Agent.

" + } + }, + "versionNumber": { + "target": "com.amazonaws.qconnect#Version", + "traits": { + "smithy.api#documentation": "

The version number of the AI Agent version (returned if an AI Agent version was specified\n via use of a qualifier for the aiAgentId on the request).

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#GetAIPrompt": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#GetAIPromptRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#GetAIPromptResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Gets and Amazon Q in Connect AI Prompt.

", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiprompts/{aiPromptId}", + "method": "GET" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.qconnect#GetAIPromptRequest": { + "type": "structure", + "members": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "aiPromptId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI prompt.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } }, "traits": { "smithy.api#input": {} } }, - "com.amazonaws.qconnect#DeleteAIAgentVersionResponse": { + "com.amazonaws.qconnect#GetAIPromptResponse": { "type": "structure", - "members": {}, + "members": { + "aiPrompt": { + "target": "com.amazonaws.qconnect#AIPromptData", + "traits": { + "smithy.api#documentation": "

The data of the AI Prompt.

" + } + }, + "versionNumber": { + "target": "com.amazonaws.qconnect#Version", + "traits": { + "smithy.api#documentation": "

The version number of the AI Prompt version (returned if an AI Prompt version was\n specified via use of a qualifier for the aiPromptId on the request).

" + } + } + }, "traits": { "smithy.api#output": {} } }, - "com.amazonaws.qconnect#DeleteAIPrompt": { + "com.amazonaws.qconnect#GetAssistant": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#DeleteAIPromptRequest" + "target": "com.amazonaws.qconnect#GetAssistantRequest" }, "output": { - "target": "com.amazonaws.qconnect#DeleteAIPromptResponse" + "target": "com.amazonaws.qconnect#GetAssistantResponse" }, "errors": [ { @@ -3562,111 +5797,181 @@ "target": "com.amazonaws.qconnect#ResourceNotFoundException" }, { - "target": "com.amazonaws.qconnect#ThrottlingException" + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves information about an assistant.

", + "smithy.api#http": { + "uri": "/assistants/{assistantId}", + "method": "GET" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.qconnect#GetAssistantAssociation": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#GetAssistantAssociationRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#GetAssistantAssociationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" }, { "target": "com.amazonaws.qconnect#ValidationException" } ], "traits": { - "smithy.api#documentation": "

Deletes an Amazon Q in Connect AI Prompt.

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

Retrieves information about an assistant association.

", "smithy.api#http": { - "uri": "/assistants/{assistantId}/aiprompts/{aiPromptId}", - "method": "DELETE", - "code": 204 + "uri": "/assistants/{assistantId}/associations/{assistantAssociationId}", + "method": "GET" }, - "smithy.api#idempotent": {} + "smithy.api#readonly": {} } }, - "com.amazonaws.qconnect#DeleteAIPromptRequest": { + "com.amazonaws.qconnect#GetAssistantAssociationRequest": { "type": "structure", "members": { - "assistantId": { + "assistantAssociationId": { "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

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

The identifier of the assistant association. Can be either the ID or the ARN. URLs cannot contain the ARN.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "aiPromptId": { - "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI prompt. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

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

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } - }, - "traits": { - "smithy.api#input": {} } }, - "com.amazonaws.qconnect#DeleteAIPromptResponse": { + "com.amazonaws.qconnect#GetAssistantAssociationResponse": { "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} + "members": { + "assistantAssociation": { + "target": "com.amazonaws.qconnect#AssistantAssociationData", + "traits": { + "smithy.api#documentation": "

The assistant association.

" + } + } } }, - "com.amazonaws.qconnect#DeleteAIPromptVersion": { + "com.amazonaws.qconnect#GetAssistantRequest": { + "type": "structure", + "members": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.qconnect#GetAssistantResponse": { + "type": "structure", + "members": { + "assistant": { + "target": "com.amazonaws.qconnect#AssistantData", + "traits": { + "smithy.api#documentation": "

Information about the assistant.

" + } + } + } + }, + "com.amazonaws.qconnect#GetContent": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#DeleteAIPromptVersionRequest" + "target": "com.amazonaws.qconnect#GetContentRequest" }, "output": { - "target": "com.amazonaws.qconnect#DeleteAIPromptVersionResponse" + "target": "com.amazonaws.qconnect#GetContentResponse" }, "errors": [ { "target": "com.amazonaws.qconnect#AccessDeniedException" }, { - "target": "com.amazonaws.qconnect#ConflictException" + "target": "com.amazonaws.qconnect#ResourceNotFoundException" }, { - "target": "com.amazonaws.qconnect#ResourceNotFoundException" + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves content, including a pre-signed URL to download the content.

", + "smithy.api#http": { + "uri": "/knowledgeBases/{knowledgeBaseId}/contents/{contentId}", + "method": "GET" }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.qconnect#GetContentAssociation": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#GetContentAssociationRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#GetContentAssociationResponse" + }, + "errors": [ { - "target": "com.amazonaws.qconnect#ThrottlingException" + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" }, { "target": "com.amazonaws.qconnect#ValidationException" } ], "traits": { - "smithy.api#documentation": "

Delete and Amazon Q in Connect AI Prompt version.

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

Returns the content association.

\n

For more information about content associations--what they are and when they are used--see\n Integrate Amazon Q in Connect with step-by-step guides in the Amazon Connect\n Administrator Guide.

", "smithy.api#http": { - "uri": "/assistants/{assistantId}/aiprompts/{aiPromptId}/versions/{versionNumber}", - "method": "DELETE", - "code": 204 + "uri": "/knowledgeBases/{knowledgeBaseId}/contents/{contentId}/associations/{contentAssociationId}", + "method": "GET" }, - "smithy.api#idempotent": {} + "smithy.api#readonly": {} } }, - "com.amazonaws.qconnect#DeleteAIPromptVersionRequest": { + "com.amazonaws.qconnect#GetContentAssociationRequest": { "type": "structure", "members": { - "assistantId": { + "knowledgeBaseId": { "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

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

The identifier of the knowledge base.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "aiPromptId": { - "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "contentId": { + "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI prompt.

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

The identifier of the content.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "versionNumber": { - "target": "com.amazonaws.qconnect#Version", + "contentAssociationId": { + "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The version number of the AI Prompt version to be deleted.

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

The identifier of the content association. Can be either the ID or the ARN. URLs cannot contain the ARN.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3676,20 +5981,59 @@ "smithy.api#input": {} } }, - "com.amazonaws.qconnect#DeleteAIPromptVersionResponse": { + "com.amazonaws.qconnect#GetContentAssociationResponse": { "type": "structure", - "members": {}, + "members": { + "contentAssociation": { + "target": "com.amazonaws.qconnect#ContentAssociationData", + "traits": { + "smithy.api#documentation": "

The association between Amazon Q in Connect content and another resource.

" + } + } + }, "traits": { "smithy.api#output": {} } }, - "com.amazonaws.qconnect#DeleteAssistant": { + "com.amazonaws.qconnect#GetContentRequest": { + "type": "structure", + "members": { + "contentId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the content. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.qconnect#GetContentResponse": { + "type": "structure", + "members": { + "content": { + "target": "com.amazonaws.qconnect#ContentData", + "traits": { + "smithy.api#documentation": "

The content.

" + } + } + } + }, + "com.amazonaws.qconnect#GetContentSummary": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#DeleteAssistantRequest" + "target": "com.amazonaws.qconnect#GetContentSummaryRequest" }, "output": { - "target": "com.amazonaws.qconnect#DeleteAssistantResponse" + "target": "com.amazonaws.qconnect#GetContentSummaryResponse" }, "errors": [ { @@ -3703,22 +6047,53 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes an assistant.

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

Retrieves summary information about the content.

", "smithy.api#http": { - "uri": "/assistants/{assistantId}", - "method": "DELETE", - "code": 204 + "uri": "/knowledgeBases/{knowledgeBaseId}/contents/{contentId}/summary", + "method": "GET" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.qconnect#GetContentSummaryRequest": { + "type": "structure", + "members": { + "contentId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the content. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } }, - "smithy.api#idempotent": {} + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } } }, - "com.amazonaws.qconnect#DeleteAssistantAssociation": { + "com.amazonaws.qconnect#GetContentSummaryResponse": { + "type": "structure", + "members": { + "contentSummary": { + "target": "com.amazonaws.qconnect#ContentSummary", + "traits": { + "smithy.api#documentation": "

The content summary.

" + } + } + } + }, + "com.amazonaws.qconnect#GetImportJob": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#DeleteAssistantAssociationRequest" + "target": "com.amazonaws.qconnect#GetImportJobRequest" }, "output": { - "target": "com.amazonaws.qconnect#DeleteAssistantAssociationResponse" + "target": "com.amazonaws.qconnect#GetImportJobResponse" }, "errors": [ { @@ -3732,64 +6107,59 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes an assistant association.

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

Retrieves the started import job.

", "smithy.api#http": { - "uri": "/assistants/{assistantId}/associations/{assistantAssociationId}", - "method": "DELETE", - "code": 204 + "uri": "/knowledgeBases/{knowledgeBaseId}/importJobs/{importJobId}", + "method": "GET" }, - "smithy.api#idempotent": {} + "smithy.api#readonly": {} } }, - "com.amazonaws.qconnect#DeleteAssistantAssociationRequest": { + "com.amazonaws.qconnect#GetImportJobRequest": { "type": "structure", "members": { - "assistantAssociationId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "importJobId": { + "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

The identifier of the assistant association. Can be either the ID or the ARN. URLs cannot contain the ARN.

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

The identifier of the import job to retrieve.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "assistantId": { + "knowledgeBaseId": { "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

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

The identifier of the knowledge base that the import job belongs to.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.qconnect#DeleteAssistantAssociationResponse": { - "type": "structure", - "members": {} - }, - "com.amazonaws.qconnect#DeleteAssistantRequest": { + "com.amazonaws.qconnect#GetImportJobResponse": { "type": "structure", "members": { - "assistantId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "importJob": { + "target": "com.amazonaws.qconnect#ImportJobData", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

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

The import job.

" } } + }, + "traits": { + "smithy.api#output": {} } }, - "com.amazonaws.qconnect#DeleteAssistantResponse": { - "type": "structure", - "members": {} - }, - "com.amazonaws.qconnect#DeleteContent": { + "com.amazonaws.qconnect#GetKnowledgeBase": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#DeleteContentRequest" + "target": "com.amazonaws.qconnect#GetKnowledgeBaseRequest" }, "output": { - "target": "com.amazonaws.qconnect#DeleteContentResponse" + "target": "com.amazonaws.qconnect#GetKnowledgeBaseResponse" }, "errors": [ { @@ -3803,22 +6173,45 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes the content.

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

Retrieves information about the knowledge base.

", "smithy.api#http": { - "uri": "/knowledgeBases/{knowledgeBaseId}/contents/{contentId}", - "method": "DELETE", - "code": 204 + "uri": "/knowledgeBases/{knowledgeBaseId}", + "method": "GET" }, - "smithy.api#idempotent": {} + "smithy.api#readonly": {} } }, - "com.amazonaws.qconnect#DeleteContentAssociation": { + "com.amazonaws.qconnect#GetKnowledgeBaseRequest": { + "type": "structure", + "members": { + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.qconnect#GetKnowledgeBaseResponse": { + "type": "structure", + "members": { + "knowledgeBase": { + "target": "com.amazonaws.qconnect#KnowledgeBaseData", + "traits": { + "smithy.api#documentation": "

The knowledge base.

" + } + } + } + }, + "com.amazonaws.qconnect#GetMessageTemplate": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#DeleteContentAssociationRequest" + "target": "com.amazonaws.qconnect#GetMessageTemplateRequest" }, "output": { - "target": "com.amazonaws.qconnect#DeleteContentAssociationResponse" + "target": "com.amazonaws.qconnect#GetMessageTemplateResponse" }, "errors": [ { @@ -3827,43 +6220,37 @@ { "target": "com.amazonaws.qconnect#ResourceNotFoundException" }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, { "target": "com.amazonaws.qconnect#ValidationException" } ], "traits": { - "smithy.api#documentation": "

Deletes the content association.

\n

For more information about content associations--what they are and when they are used--see\n Integrate Amazon Q in Connect with step-by-step guides in the Amazon Connect\n Administrator Guide.

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

Retrieves the Amazon Q in Connect message template. The message template identifier can\n contain an optional qualifier, for example,\n <message-template-id>:<qualifier>, which is either an actual\n version number or an Amazon Q Connect managed qualifier $ACTIVE_VERSION | $LATEST. If it is\n not supplied, then $LATEST is assumed implicitly.

", "smithy.api#http": { - "uri": "/knowledgeBases/{knowledgeBaseId}/contents/{contentId}/associations/{contentAssociationId}", - "method": "DELETE", - "code": 204 + "uri": "/knowledgeBases/{knowledgeBaseId}/messageTemplates/{messageTemplateId}", + "method": "GET" }, - "smithy.api#idempotent": {} + "smithy.api#readonly": {} } }, - "com.amazonaws.qconnect#DeleteContentAssociationRequest": { + "com.amazonaws.qconnect#GetMessageTemplateRequest": { "type": "structure", "members": { - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#UuidOrArn", - "traits": { - "smithy.api#documentation": "

The identifier of the knowledge base.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "contentId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "messageTemplateId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", "traits": { - "smithy.api#documentation": "

The identifier of the content.

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

The identifier of the message template. Can be either the ID or the ARN.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "contentAssociationId": { + "knowledgeBaseId": { "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The identifier of the content association. Can be either the ID or the ARN. URLs cannot contain the ARN.

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

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain\n the ARN.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3873,53 +6260,32 @@ "smithy.api#input": {} } }, - "com.amazonaws.qconnect#DeleteContentAssociationResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.qconnect#DeleteContentRequest": { + "com.amazonaws.qconnect#GetMessageTemplateResponse": { "type": "structure", "members": { - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#UuidOrArn", - "traits": { - "smithy.api#documentation": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "contentId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "messageTemplate": { + "target": "com.amazonaws.qconnect#ExtendedMessageTemplateData", "traits": { - "smithy.api#documentation": "

The identifier of the content. Can be either the ID or the ARN. URLs cannot contain the ARN.

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

The message template.

" } } + }, + "traits": { + "smithy.api#output": {} } }, - "com.amazonaws.qconnect#DeleteContentResponse": { - "type": "structure", - "members": {} - }, - "com.amazonaws.qconnect#DeleteImportJob": { + "com.amazonaws.qconnect#GetQuickResponse": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#DeleteImportJobRequest" + "target": "com.amazonaws.qconnect#GetQuickResponseRequest" }, "output": { - "target": "com.amazonaws.qconnect#DeleteImportJobResponse" + "target": "com.amazonaws.qconnect#GetQuickResponseResponse" }, "errors": [ { "target": "com.amazonaws.qconnect#AccessDeniedException" }, - { - "target": "com.amazonaws.qconnect#ConflictException" - }, { "target": "com.amazonaws.qconnect#ResourceNotFoundException" }, @@ -3928,30 +6294,29 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes the quick response import job.

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

Retrieves the quick response.

", "smithy.api#http": { - "uri": "/knowledgeBases/{knowledgeBaseId}/importJobs/{importJobId}", - "method": "DELETE", - "code": 204 + "uri": "/knowledgeBases/{knowledgeBaseId}/quickResponses/{quickResponseId}", + "method": "GET" }, - "smithy.api#idempotent": {} + "smithy.api#readonly": {} } }, - "com.amazonaws.qconnect#DeleteImportJobRequest": { + "com.amazonaws.qconnect#GetQuickResponseRequest": { "type": "structure", "members": { - "knowledgeBaseId": { + "quickResponseId": { "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The identifier of the knowledge base.

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

The identifier of the quick response.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "importJobId": { - "target": "com.amazonaws.qconnect#Uuid", + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The identifier of the import job to be deleted.

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

The identifier of the knowledge base. This should be a QUICK_RESPONSES type knowledge base.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3961,28 +6326,32 @@ "smithy.api#input": {} } }, - "com.amazonaws.qconnect#DeleteImportJobResponse": { + "com.amazonaws.qconnect#GetQuickResponseResponse": { "type": "structure", - "members": {}, + "members": { + "quickResponse": { + "target": "com.amazonaws.qconnect#QuickResponseData", + "traits": { + "smithy.api#documentation": "

The quick response.

" + } + } + }, "traits": { "smithy.api#output": {} } }, - "com.amazonaws.qconnect#DeleteKnowledgeBase": { + "com.amazonaws.qconnect#GetRecommendations": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#DeleteKnowledgeBaseRequest" + "target": "com.amazonaws.qconnect#GetRecommendationsRequest" }, "output": { - "target": "com.amazonaws.qconnect#DeleteKnowledgeBaseResponse" + "target": "com.amazonaws.qconnect#GetRecommendationsResponse" }, "errors": [ { "target": "com.amazonaws.qconnect#AccessDeniedException" }, - { - "target": "com.amazonaws.qconnect#ConflictException" - }, { "target": "com.amazonaws.qconnect#ResourceNotFoundException" }, @@ -3991,39 +6360,78 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes the knowledge base.

\n \n

When you use this API to delete an external knowledge base such as Salesforce or\n ServiceNow, you must also delete the Amazon AppIntegrations\n DataIntegration. This is because you can't reuse the DataIntegration after it's been\n associated with an external knowledge base. However, you can delete and recreate it. See\n DeleteDataIntegration and CreateDataIntegration in the Amazon AppIntegrations API\n Reference.

\n
", + "smithy.api#deprecated": { + "message": "GetRecommendations API will be discontinued starting June 1, 2024. To receive generative responses after March 1, 2024 you will need to create a new Assistant in the Connect console and integrate the Amazon Q in Connect JavaScript library (amazon-q-connectjs) into your applications." + }, + "smithy.api#documentation": "\n

This API will be discontinued starting June 1, 2024. To receive generative responses\n after March 1, 2024, you will need to create a new Assistant in the Amazon Connect\n console and integrate the Amazon Q in Connect JavaScript library (amazon-q-connectjs) into\n your applications.

\n
\n

Retrieves recommendations for the specified session. To avoid retrieving the same\n recommendations in subsequent calls, use NotifyRecommendationsReceived. This API supports long-polling behavior with the\n waitTimeSeconds parameter. Short poll is the default behavior and only returns\n recommendations already available. To perform a manual query against an assistant, use QueryAssistant.

", "smithy.api#http": { - "uri": "/knowledgeBases/{knowledgeBaseId}", - "method": "DELETE", - "code": 204 + "uri": "/assistants/{assistantId}/sessions/{sessionId}/recommendations", + "method": "GET" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.qconnect#GetRecommendationsRequest": { + "type": "structure", + "members": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "sessionId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the session. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "maxResults": { + "target": "com.amazonaws.qconnect#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return per page.

", + "smithy.api#httpQuery": "maxResults" + } }, - "smithy.api#idempotent": {} + "waitTimeSeconds": { + "target": "com.amazonaws.qconnect#WaitTimeSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The duration (in seconds) for which the call waits for a recommendation to be made\n available before returning. If a recommendation is available, the call returns sooner than\n WaitTimeSeconds. If no messages are available and the wait time expires, the\n call returns successfully with an empty list.

", + "smithy.api#httpQuery": "waitTimeSeconds" + } + } } }, - "com.amazonaws.qconnect#DeleteKnowledgeBaseRequest": { + "com.amazonaws.qconnect#GetRecommendationsResponse": { "type": "structure", "members": { - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "recommendations": { + "target": "com.amazonaws.qconnect#RecommendationList", "traits": { - "smithy.api#documentation": "

The knowledge base to delete content from. Can be either the ID or the ARN. URLs cannot contain the ARN.

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

The recommendations.

", "smithy.api#required": {} } + }, + "triggers": { + "target": "com.amazonaws.qconnect#RecommendationTriggerList", + "traits": { + "smithy.api#documentation": "

The triggers corresponding to recommendations.

" + } } } }, - "com.amazonaws.qconnect#DeleteKnowledgeBaseResponse": { - "type": "structure", - "members": {} - }, - "com.amazonaws.qconnect#DeleteQuickResponse": { + "com.amazonaws.qconnect#GetSession": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#DeleteQuickResponseRequest" + "target": "com.amazonaws.qconnect#GetSessionRequest" }, "output": { - "target": "com.amazonaws.qconnect#DeleteQuickResponseResponse" + "target": "com.amazonaws.qconnect#GetSessionResponse" }, "errors": [ { @@ -4037,949 +6445,848 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a quick response.

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

Retrieves information for a specified session.

", "smithy.api#http": { - "uri": "/knowledgeBases/{knowledgeBaseId}/quickResponses/{quickResponseId}", - "method": "DELETE", - "code": 204 + "uri": "/assistants/{assistantId}/sessions/{sessionId}", + "method": "GET" }, - "smithy.api#idempotent": {} + "smithy.api#readonly": {} } }, - "com.amazonaws.qconnect#DeleteQuickResponseRequest": { + "com.amazonaws.qconnect#GetSessionRequest": { "type": "structure", "members": { - "knowledgeBaseId": { + "assistantId": { "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The knowledge base from which the quick response is deleted. The identifier of the knowledge base.

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

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "quickResponseId": { + "sessionId": { "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The identifier of the quick response to delete.

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

The identifier of the session. Can be either the ID or the ARN. URLs cannot contain the ARN.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } + } + }, + "com.amazonaws.qconnect#GetSessionResponse": { + "type": "structure", + "members": { + "session": { + "target": "com.amazonaws.qconnect#SessionData", + "traits": { + "smithy.api#documentation": "

The session.

" + } + } + } + }, + "com.amazonaws.qconnect#GroupingConfiguration": { + "type": "structure", + "members": { + "criteria": { + "target": "com.amazonaws.qconnect#GroupingCriteria", + "traits": { + "smithy.api#documentation": "

The criteria used for grouping Amazon Q in Connect users.

\n

The following is the list of supported criteria values.

\n " + } + }, + "values": { + "target": "com.amazonaws.qconnect#GroupingValues", + "traits": { + "smithy.api#documentation": "

The list of values that define different groups of Amazon Q in Connect users.

\n " + } + } }, "traits": { - "smithy.api#input": {} + "smithy.api#documentation": "

The configuration information of the grouping of Amazon Q in Connect users.

" } }, - "com.amazonaws.qconnect#DeleteQuickResponseResponse": { - "type": "structure", - "members": {}, + "com.amazonaws.qconnect#GroupingCriteria": { + "type": "string", "traits": { - "smithy.api#output": {} + "smithy.api#length": { + "min": 1, + "max": 100 + }, + "smithy.api#sensitive": {} } }, - "com.amazonaws.qconnect#Description": { + "com.amazonaws.qconnect#GroupingValue": { "type": "string", "traits": { "smithy.api#length": { "min": 1, - "max": 255 + "max": 2048 }, - "smithy.api#pattern": "^[a-zA-Z0-9\\s_.,-]+" + "smithy.api#sensitive": {} } }, - "com.amazonaws.qconnect#Document": { + "com.amazonaws.qconnect#GroupingValues": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#GroupingValue" + }, + "traits": { + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.qconnect#Headers": { + "type": "map", + "key": { + "target": "com.amazonaws.qconnect#NonEmptyString" + }, + "value": { + "target": "com.amazonaws.qconnect#NonEmptyString" + } + }, + "com.amazonaws.qconnect#HierarchicalChunkingConfiguration": { "type": "structure", "members": { - "contentReference": { - "target": "com.amazonaws.qconnect#ContentReference", + "levelConfigurations": { + "target": "com.amazonaws.qconnect#HierarchicalChunkingLevelConfigurations", "traits": { - "smithy.api#documentation": "

A reference to the content resource.

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

Token settings for each layer.

", "smithy.api#required": {} } }, - "title": { - "target": "com.amazonaws.qconnect#DocumentText", + "overlapTokens": { + "target": "smithy.api#Integer", "traits": { - "smithy.api#documentation": "

The title of the document.

" + "smithy.api#documentation": "

The number of tokens to repeat across chunks in the same layer.

", + "smithy.api#range": { + "min": 1 + }, + "smithy.api#required": {} } - }, - "excerpt": { - "target": "com.amazonaws.qconnect#DocumentText", + } + }, + "traits": { + "smithy.api#documentation": "

Settings for hierarchical document chunking for a data source. Hierarchical chunking\n splits documents into layers of chunks where the first layer contains large chunks, and the\n second layer contains smaller chunks derived from the first layer.

" + } + }, + "com.amazonaws.qconnect#HierarchicalChunkingLevelConfiguration": { + "type": "structure", + "members": { + "maxTokens": { + "target": "smithy.api#Integer", "traits": { - "smithy.api#documentation": "

The excerpt from the document.

" + "smithy.api#documentation": "

The maximum number of tokens that a chunk can contain in this layer.

", + "smithy.api#range": { + "min": 1, + "max": 8192 + }, + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

The document.

" + "smithy.api#documentation": "

Token settings for each layer.

" } }, - "com.amazonaws.qconnect#DocumentText": { + "com.amazonaws.qconnect#HierarchicalChunkingLevelConfigurations": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#HierarchicalChunkingLevelConfiguration" + }, + "traits": { + "smithy.api#length": { + "min": 2, + "max": 2 + } + } + }, + "com.amazonaws.qconnect#Highlight": { "type": "structure", "members": { - "text": { - "target": "com.amazonaws.qconnect#SensitiveString", + "beginOffsetInclusive": { + "target": "com.amazonaws.qconnect#HighlightOffset", "traits": { - "smithy.api#documentation": "

Text in the document.

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

The offset for the start of the highlight.

" } }, - "highlights": { - "target": "com.amazonaws.qconnect#Highlights", + "endOffsetExclusive": { + "target": "com.amazonaws.qconnect#HighlightOffset", "traits": { - "smithy.api#documentation": "

Highlights in the document text.

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

The offset for the end of the highlight.

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

The text of the document.

" + "smithy.api#documentation": "

Offset specification to describe highlighting of document excerpts for rendering search\n results and recommendations.

" } }, - "com.amazonaws.qconnect#ExternalSource": { - "type": "string", + "com.amazonaws.qconnect#HighlightOffset": { + "type": "integer", "traits": { - "smithy.api#enum": [ - { - "value": "AMAZON_CONNECT", - "name": "AMAZON_CONNECT" - } - ] + "smithy.api#default": 0 } }, - "com.amazonaws.qconnect#ExternalSourceConfiguration": { + "com.amazonaws.qconnect#Highlights": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#Highlight" + } + }, + "com.amazonaws.qconnect#ImportJobData": { "type": "structure", "members": { - "source": { - "target": "com.amazonaws.qconnect#ExternalSource", + "importJobId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

The identifier of the import job.

", + "smithy.api#required": {} + } + }, + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

The identifier of the knowledge base.

", + "smithy.api#required": {} + } + }, + "uploadId": { + "target": "com.amazonaws.qconnect#UploadId", + "traits": { + "smithy.api#documentation": "

A pointer to the uploaded asset. This value is returned by StartContentUpload.

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

The Amazon Resource Name (ARN) of the knowledge base.

", + "smithy.api#required": {} + } + }, + "importJobType": { + "target": "com.amazonaws.qconnect#ImportJobType", + "traits": { + "smithy.api#documentation": "

The type of the import job.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.qconnect#ImportJobStatus", + "traits": { + "smithy.api#documentation": "

The status of the import job.

", + "smithy.api#required": {} + } + }, + "url": { + "target": "com.amazonaws.qconnect#Url", "traits": { - "smithy.api#documentation": "

The type of the external data source.

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

The download link to the resource file that is uploaded to the import job.

", "smithy.api#required": {} } }, - "configuration": { - "target": "com.amazonaws.qconnect#Configuration", + "failedRecordReport": { + "target": "com.amazonaws.qconnect#Url", "traits": { - "smithy.api#documentation": "

The configuration information of the external data source.

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

The link to download the information of resource data that failed to be imported.

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

The configuration information of the external data source.

" - } - }, - "com.amazonaws.qconnect#FailureReason": { - "type": "list", - "member": { - "target": "com.amazonaws.qconnect#NonEmptyString" - } - }, - "com.amazonaws.qconnect#Filter": { - "type": "structure", - "members": { - "field": { - "target": "com.amazonaws.qconnect#FilterField", + }, + "urlExpiry": { + "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

The field on which to filter.

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

The expiration time of the URL as an epoch timestamp.

", + "smithy.api#required": {}, + "smithy.api#timestampFormat": "epoch-seconds" } }, - "operator": { - "target": "com.amazonaws.qconnect#FilterOperator", + "createdTime": { + "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

The operator to use for comparing the field’s value with the provided value.

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

The timestamp when the import job was created.

", + "smithy.api#required": {}, + "smithy.api#timestampFormat": "epoch-seconds" } }, - "value": { - "target": "com.amazonaws.qconnect#NonEmptyString", + "lastModifiedTime": { + "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

The desired field value on which to filter.

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

The timestamp when the import job data was last modified.

", + "smithy.api#required": {}, + "smithy.api#timestampFormat": "epoch-seconds" + } + }, + "metadata": { + "target": "com.amazonaws.qconnect#ContentMetadata", + "traits": { + "smithy.api#documentation": "

The metadata fields of the imported Amazon Q in Connect resources.

" } + }, + "externalSourceConfiguration": { + "target": "com.amazonaws.qconnect#ExternalSourceConfiguration" } }, "traits": { - "smithy.api#documentation": "

A search filter.

" - } - }, - "com.amazonaws.qconnect#FilterField": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "NAME", - "name": "NAME" - } - ] + "smithy.api#documentation": "

Summary information about the import job.

" } }, - "com.amazonaws.qconnect#FilterList": { + "com.amazonaws.qconnect#ImportJobList": { "type": "list", "member": { - "target": "com.amazonaws.qconnect#Filter" + "target": "com.amazonaws.qconnect#ImportJobSummary" } }, - "com.amazonaws.qconnect#FilterOperator": { + "com.amazonaws.qconnect#ImportJobStatus": { "type": "string", "traits": { "smithy.api#enum": [ { - "value": "EQUALS", - "name": "EQUALS" + "value": "START_IN_PROGRESS", + "name": "START_IN_PROGRESS" + }, + { + "value": "FAILED", + "name": "FAILED" + }, + { + "value": "COMPLETE", + "name": "COMPLETE" + }, + { + "value": "DELETE_IN_PROGRESS", + "name": "DELETE_IN_PROGRESS" + }, + { + "value": "DELETE_FAILED", + "name": "DELETE_FAILED" + }, + { + "value": "DELETED", + "name": "DELETED" } ] } }, - "com.amazonaws.qconnect#FixedSizeChunkingConfiguration": { + "com.amazonaws.qconnect#ImportJobSummary": { "type": "structure", "members": { - "maxTokens": { - "target": "smithy.api#Integer", + "importJobId": { + "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

The maximum number of tokens to include in a chunk.

", - "smithy.api#range": { - "min": 1 - }, + "smithy.api#documentation": "

The identifier of the import job.

", "smithy.api#required": {} } }, - "overlapPercentage": { - "target": "smithy.api#Integer", - "traits": { - "smithy.api#documentation": "

The percentage of overlap between adjacent chunks of a data source.

", - "smithy.api#range": { - "min": 1, - "max": 99 - }, - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Configurations for when you choose fixed-size chunking. If you set the\n chunkingStrategy as NONE, exclude this field.

" - } - }, - "com.amazonaws.qconnect#GenerativeContentFeedbackData": { - "type": "structure", - "members": { - "relevance": { - "target": "com.amazonaws.qconnect#Relevance", + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

The relevance of the feedback.

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

The identifier of the knowledge base.

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

The feedback information for a generative target type.

" - } - }, - "com.amazonaws.qconnect#GenerativeDataDetails": { - "type": "structure", - "members": { - "completion": { - "target": "com.amazonaws.qconnect#SensitiveString", + }, + "uploadId": { + "target": "com.amazonaws.qconnect#UploadId", "traits": { - "smithy.api#documentation": "

The LLM response.

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

A pointer to the uploaded asset. This value is returned by StartContentUpload.

", "smithy.api#required": {} } }, - "references": { - "target": "com.amazonaws.qconnect#DataSummaryList", + "knowledgeBaseArn": { + "target": "com.amazonaws.qconnect#Arn", "traits": { - "smithy.api#documentation": "

The references used to generative the LLM response.

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

The Amazon Resource Name (ARN) of the knowledge base.

", "smithy.api#required": {} } }, - "rankingData": { - "target": "com.amazonaws.qconnect#RankingData", + "importJobType": { + "target": "com.amazonaws.qconnect#ImportJobType", "traits": { - "smithy.api#documentation": "

Details about the generative content ranking data.

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

The type of import job.

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

Details about generative data.

" - } - }, - "com.amazonaws.qconnect#GenerativeReference": { - "type": "structure", - "members": { - "modelId": { - "target": "com.amazonaws.qconnect#LlmModelId", - "traits": { - "smithy.api#documentation": "

The identifier of the LLM model.

" - } }, - "generationId": { - "target": "com.amazonaws.qconnect#Uuid", + "status": { + "target": "com.amazonaws.qconnect#ImportJobStatus", "traits": { - "smithy.api#documentation": "

The identifier of the LLM model.

" + "smithy.api#documentation": "

The status of the import job.

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

Reference information about generative content.

" - } - }, - "com.amazonaws.qconnect#GenericArn": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 2048 - }, - "smithy.api#pattern": "^arn:[a-z-]+?:[a-z-]+?:[a-z0-9-]*?:([0-9]{12})?:[a-zA-Z0-9-:/]+$" - } - }, - "com.amazonaws.qconnect#GetAIAgent": { - "type": "operation", - "input": { - "target": "com.amazonaws.qconnect#GetAIAgentRequest" - }, - "output": { - "target": "com.amazonaws.qconnect#GetAIAgentResponse" - }, - "errors": [ - { - "target": "com.amazonaws.qconnect#AccessDeniedException" - }, - { - "target": "com.amazonaws.qconnect#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.qconnect#ThrottlingException" - }, - { - "target": "com.amazonaws.qconnect#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Gets an Amazon Q in Connect AI Agent.

", - "smithy.api#http": { - "uri": "/assistants/{assistantId}/aiagents/{aiAgentId}", - "method": "GET" }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.qconnect#GetAIAgentRequest": { - "type": "structure", - "members": { - "assistantId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "createdTime": { + "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

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

The timestamp when the import job was created.

", + "smithy.api#required": {}, + "smithy.api#timestampFormat": "epoch-seconds" } }, - "aiAgentId": { - "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "lastModifiedTime": { + "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI Agent (with or without a version qualifier).\n Can be either the ID or the ARN. URLs cannot contain the ARN.

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

The timestamp when the import job was last modified.

", + "smithy.api#required": {}, + "smithy.api#timestampFormat": "epoch-seconds" } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.qconnect#GetAIAgentResponse": { - "type": "structure", - "members": { - "aiAgent": { - "target": "com.amazonaws.qconnect#AIAgentData", + }, + "metadata": { + "target": "com.amazonaws.qconnect#ContentMetadata", "traits": { - "smithy.api#documentation": "

The data of the AI Agent.

" + "smithy.api#documentation": "

The metadata fields of the imported Amazon Q in Connect resources.

" } }, - "versionNumber": { - "target": "com.amazonaws.qconnect#Version", + "externalSourceConfiguration": { + "target": "com.amazonaws.qconnect#ExternalSourceConfiguration", "traits": { - "smithy.api#documentation": "

The version number of the AI Agent version (returned if an AI Agent version was specified\n via use of a qualifier for the aiAgentId on the request).

" + "smithy.api#documentation": "

The configuration information of the external source that the resource data are imported\n from.

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

Summary information about the import job.

" } }, - "com.amazonaws.qconnect#GetAIPrompt": { - "type": "operation", - "input": { - "target": "com.amazonaws.qconnect#GetAIPromptRequest" - }, - "output": { - "target": "com.amazonaws.qconnect#GetAIPromptResponse" - }, - "errors": [ - { - "target": "com.amazonaws.qconnect#AccessDeniedException" - }, - { - "target": "com.amazonaws.qconnect#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.qconnect#ThrottlingException" - }, - { - "target": "com.amazonaws.qconnect#ValidationException" - } - ], + "com.amazonaws.qconnect#ImportJobType": { + "type": "string", "traits": { - "smithy.api#documentation": "

Gets and Amazon Q in Connect AI Prompt.

", - "smithy.api#http": { - "uri": "/assistants/{assistantId}/aiprompts/{aiPromptId}", - "method": "GET" - }, - "smithy.api#readonly": {} + "smithy.api#enum": [ + { + "value": "QUICK_RESPONSES", + "name": "QUICK_RESPONSES" + } + ] } }, - "com.amazonaws.qconnect#GetAIPromptRequest": { + "com.amazonaws.qconnect#IntentDetectedDataDetails": { "type": "structure", "members": { - "assistantId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "intent": { + "target": "com.amazonaws.qconnect#SensitiveString", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

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

The detected intent.

", "smithy.api#required": {} } }, - "aiPromptId": { - "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "intentId": { + "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI prompt.

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

The identifier of the detected intent.

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

Details about the detected intent.

" } }, - "com.amazonaws.qconnect#GetAIPromptResponse": { + "com.amazonaws.qconnect#IntentInputData": { "type": "structure", "members": { - "aiPrompt": { - "target": "com.amazonaws.qconnect#AIPromptData", - "traits": { - "smithy.api#documentation": "

The data of the AI Prompt.

" - } - }, - "versionNumber": { - "target": "com.amazonaws.qconnect#Version", + "intentId": { + "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

The version number of the AI Prompt version (returned if an AI Prompt version was\n specified via use of a qualifier for the aiPromptId on the request).

" + "smithy.api#documentation": "

The identifier of the Amazon Q intent.

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

Information about the Amazon Q intent.

" } }, - "com.amazonaws.qconnect#GetAssistant": { - "type": "operation", - "input": { - "target": "com.amazonaws.qconnect#GetAssistantRequest" + "com.amazonaws.qconnect#KnowledgeBase": { + "type": "resource", + "identifiers": { + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#UuidOrArn" + } }, - "output": { - "target": "com.amazonaws.qconnect#GetAssistantResponse" + "create": { + "target": "com.amazonaws.qconnect#CreateKnowledgeBase" }, - "errors": [ + "read": { + "target": "com.amazonaws.qconnect#GetKnowledgeBase" + }, + "delete": { + "target": "com.amazonaws.qconnect#DeleteKnowledgeBase" + }, + "list": { + "target": "com.amazonaws.qconnect#ListKnowledgeBases" + }, + "operations": [ { - "target": "com.amazonaws.qconnect#AccessDeniedException" + "target": "com.amazonaws.qconnect#DeleteImportJob" }, { - "target": "com.amazonaws.qconnect#ResourceNotFoundException" + "target": "com.amazonaws.qconnect#GetImportJob" }, { - "target": "com.amazonaws.qconnect#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Retrieves information about an assistant.

", - "smithy.api#http": { - "uri": "/assistants/{assistantId}", - "method": "GET" + "target": "com.amazonaws.qconnect#ListImportJobs" }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.qconnect#GetAssistantAssociation": { - "type": "operation", - "input": { - "target": "com.amazonaws.qconnect#GetAssistantAssociationRequest" - }, - "output": { - "target": "com.amazonaws.qconnect#GetAssistantAssociationResponse" - }, - "errors": [ { - "target": "com.amazonaws.qconnect#AccessDeniedException" + "target": "com.amazonaws.qconnect#RemoveKnowledgeBaseTemplateUri" }, { - "target": "com.amazonaws.qconnect#ResourceNotFoundException" + "target": "com.amazonaws.qconnect#SearchContent" }, { - "target": "com.amazonaws.qconnect#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Retrieves information about an assistant association.

", - "smithy.api#http": { - "uri": "/assistants/{assistantId}/associations/{assistantAssociationId}", - "method": "GET" + "target": "com.amazonaws.qconnect#SearchMessageTemplates" }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.qconnect#GetAssistantAssociationRequest": { - "type": "structure", - "members": { - "assistantAssociationId": { - "target": "com.amazonaws.qconnect#UuidOrArn", - "traits": { - "smithy.api#documentation": "

The identifier of the assistant association. Can be either the ID or the ARN. URLs cannot contain the ARN.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } + { + "target": "com.amazonaws.qconnect#SearchQuickResponses" }, - "assistantId": { - "target": "com.amazonaws.qconnect#UuidOrArn", - "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - } - } - }, - "com.amazonaws.qconnect#GetAssistantAssociationResponse": { - "type": "structure", - "members": { - "assistantAssociation": { - "target": "com.amazonaws.qconnect#AssistantAssociationData", - "traits": { - "smithy.api#documentation": "

The assistant association.

" - } - } - } - }, - "com.amazonaws.qconnect#GetAssistantRequest": { - "type": "structure", - "members": { - "assistantId": { - "target": "com.amazonaws.qconnect#UuidOrArn", - "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - } - } - }, - "com.amazonaws.qconnect#GetAssistantResponse": { - "type": "structure", - "members": { - "assistant": { - "target": "com.amazonaws.qconnect#AssistantData", - "traits": { - "smithy.api#documentation": "

Information about the assistant.

" - } - } - } - }, - "com.amazonaws.qconnect#GetContent": { - "type": "operation", - "input": { - "target": "com.amazonaws.qconnect#GetContentRequest" - }, - "output": { - "target": "com.amazonaws.qconnect#GetContentResponse" - }, - "errors": [ { - "target": "com.amazonaws.qconnect#AccessDeniedException" + "target": "com.amazonaws.qconnect#StartContentUpload" }, { - "target": "com.amazonaws.qconnect#ResourceNotFoundException" + "target": "com.amazonaws.qconnect#StartImportJob" }, { - "target": "com.amazonaws.qconnect#ValidationException" + "target": "com.amazonaws.qconnect#UpdateKnowledgeBaseTemplateUri" } ], - "traits": { - "smithy.api#documentation": "

Retrieves content, including a pre-signed URL to download the content.

", - "smithy.api#http": { - "uri": "/knowledgeBases/{knowledgeBaseId}/contents/{contentId}", - "method": "GET" - }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.qconnect#GetContentAssociation": { - "type": "operation", - "input": { - "target": "com.amazonaws.qconnect#GetContentAssociationRequest" - }, - "output": { - "target": "com.amazonaws.qconnect#GetContentAssociationResponse" - }, - "errors": [ + "resources": [ { - "target": "com.amazonaws.qconnect#AccessDeniedException" + "target": "com.amazonaws.qconnect#Content" }, { - "target": "com.amazonaws.qconnect#ResourceNotFoundException" + "target": "com.amazonaws.qconnect#MessageTemplate" }, { - "target": "com.amazonaws.qconnect#ValidationException" + "target": "com.amazonaws.qconnect#QuickResponse" } ], "traits": { - "smithy.api#documentation": "

Returns the content association.

\n

For more information about content associations--what they are and when they are used--see\n Integrate Amazon Q in Connect with step-by-step guides in the Amazon Connect\n Administrator Guide.

", - "smithy.api#http": { - "uri": "/knowledgeBases/{knowledgeBaseId}/contents/{contentId}/associations/{contentAssociationId}", - "method": "GET" + "aws.api#arn": { + "template": "knowledge-base/{knowledgeBaseId}" }, - "smithy.api#readonly": {} + "aws.cloudformation#cfnResource": {}, + "aws.iam#disableConditionKeyInference": {} } }, - "com.amazonaws.qconnect#GetContentAssociationRequest": { + "com.amazonaws.qconnect#KnowledgeBaseAssociationConfigurationData": { "type": "structure", "members": { - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#UuidOrArn", - "traits": { - "smithy.api#documentation": "

The identifier of the knowledge base.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } + "contentTagFilter": { + "target": "com.amazonaws.qconnect#TagFilter" }, - "contentId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "maxResults": { + "target": "com.amazonaws.qconnect#MaxResults", "traits": { - "smithy.api#documentation": "

The identifier of the content.

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

The maximum number of results to return per page.

" } }, - "contentAssociationId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "overrideKnowledgeBaseSearchType": { + "target": "com.amazonaws.qconnect#KnowledgeBaseSearchType", "traits": { - "smithy.api#documentation": "

The identifier of the content association. Can be either the ID or the ARN. URLs cannot contain the ARN.

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

The search type to be used against the Knowledge Base for this request. The values can be\n SEMANTIC which uses vector embeddings or HYBRID which use vector\n embeddings and raw text

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

The data of the configuration for a KNOWLEDGE_BASE type Amazon Q in Connect\n Assistant Association.

" } }, - "com.amazonaws.qconnect#GetContentAssociationResponse": { + "com.amazonaws.qconnect#KnowledgeBaseAssociationData": { "type": "structure", "members": { - "contentAssociation": { - "target": "com.amazonaws.qconnect#ContentAssociationData", + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

The association between Amazon Q in Connect content and another resource.

" + "smithy.api#documentation": "

The identifier of the knowledge base.

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

The Amazon Resource Name (ARN) of the knowledge base.

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

Association information about the knowledge base.

" } }, - "com.amazonaws.qconnect#GetContentRequest": { + "com.amazonaws.qconnect#KnowledgeBaseData": { "type": "structure", "members": { - "contentId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

The identifier of the content. Can be either the ID or the ARN. URLs cannot contain the ARN.

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

The identifier of the knowledge base.

", "smithy.api#required": {} } }, - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "knowledgeBaseArn": { + "target": "com.amazonaws.qconnect#Arn", "traits": { - "smithy.api#documentation": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

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

The Amazon Resource Name (ARN) of the knowledge base.

", "smithy.api#required": {} } - } - } - }, - "com.amazonaws.qconnect#GetContentResponse": { - "type": "structure", - "members": { - "content": { - "target": "com.amazonaws.qconnect#ContentData", + }, + "name": { + "target": "com.amazonaws.qconnect#Name", "traits": { - "smithy.api#documentation": "

The content.

" + "smithy.api#documentation": "

The name of the knowledge base.

", + "smithy.api#required": {} } - } - } - }, - "com.amazonaws.qconnect#GetContentSummary": { - "type": "operation", - "input": { - "target": "com.amazonaws.qconnect#GetContentSummaryRequest" - }, - "output": { - "target": "com.amazonaws.qconnect#GetContentSummaryResponse" - }, - "errors": [ - { - "target": "com.amazonaws.qconnect#AccessDeniedException" - }, - { - "target": "com.amazonaws.qconnect#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.qconnect#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Retrieves summary information about the content.

", - "smithy.api#http": { - "uri": "/knowledgeBases/{knowledgeBaseId}/contents/{contentId}/summary", - "method": "GET" }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.qconnect#GetContentSummaryRequest": { - "type": "structure", - "members": { - "contentId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "knowledgeBaseType": { + "target": "com.amazonaws.qconnect#KnowledgeBaseType", "traits": { - "smithy.api#documentation": "

The identifier of the content. Can be either the ID or the ARN. URLs cannot contain the ARN.

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

The type of knowledge base.

", "smithy.api#required": {} } }, - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "status": { + "target": "com.amazonaws.qconnect#KnowledgeBaseStatus", "traits": { - "smithy.api#documentation": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

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

The status of the knowledge base.

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

An epoch timestamp indicating the most recent content modification inside the knowledge\n base. If no content exists in a knowledge base, this value is unset.

", + "smithy.api#timestampFormat": "epoch-seconds" + } + }, + "vectorIngestionConfiguration": { + "target": "com.amazonaws.qconnect#VectorIngestionConfiguration", + "traits": { + "smithy.api#documentation": "

Contains details about how to ingest the documents in a data source.

" + } + }, + "sourceConfiguration": { + "target": "com.amazonaws.qconnect#SourceConfiguration", + "traits": { + "smithy.api#documentation": "

Source configuration information about the knowledge base.

" + } + }, + "renderingConfiguration": { + "target": "com.amazonaws.qconnect#RenderingConfiguration", + "traits": { + "smithy.api#documentation": "

Information about how to render the content.

" + } + }, + "serverSideEncryptionConfiguration": { + "target": "com.amazonaws.qconnect#ServerSideEncryptionConfiguration", + "traits": { + "smithy.api#documentation": "

The configuration information for the customer managed key used for encryption.

\n

This KMS key must have a policy that allows kms:CreateGrant,\n kms:DescribeKey, kms:Decrypt, and\n kms:GenerateDataKey* permissions to the IAM identity using the\n key to invoke Amazon Q in Connect.

\n

For more information about setting up a customer managed key for Amazon Q in Connect, see Enable Amazon Q in Connect for\n your instance.

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

The description.

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

The tags used to organize, track, or control access for this resource.

" + } + }, + "ingestionStatus": { + "target": "com.amazonaws.qconnect#SyncStatus", + "traits": { + "smithy.api#documentation": "

Status of ingestion on data source.

" + } + }, + "ingestionFailureReasons": { + "target": "com.amazonaws.qconnect#FailureReason", + "traits": { + "smithy.api#documentation": "

List of failure reasons on ingestion per file.

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

Information about the knowledge base.

", + "smithy.api#references": [ + { + "resource": "com.amazonaws.qconnect#KnowledgeBase" + } + ] } }, - "com.amazonaws.qconnect#GetContentSummaryResponse": { - "type": "structure", - "members": { - "contentSummary": { - "target": "com.amazonaws.qconnect#ContentSummary", - "traits": { - "smithy.api#documentation": "

The content summary.

" + "com.amazonaws.qconnect#KnowledgeBaseList": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#KnowledgeBaseSummary" + } + }, + "com.amazonaws.qconnect#KnowledgeBaseSearchType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "HYBRID", + "name": "HYBRID" + }, + { + "value": "SEMANTIC", + "name": "SEMANTIC" } - } + ] } }, - "com.amazonaws.qconnect#GetImportJob": { - "type": "operation", - "input": { - "target": "com.amazonaws.qconnect#GetImportJobRequest" - }, - "output": { - "target": "com.amazonaws.qconnect#GetImportJobResponse" - }, - "errors": [ - { - "target": "com.amazonaws.qconnect#AccessDeniedException" - }, - { - "target": "com.amazonaws.qconnect#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.qconnect#ValidationException" - } - ], + "com.amazonaws.qconnect#KnowledgeBaseStatus": { + "type": "string", "traits": { - "smithy.api#documentation": "

Retrieves the started import job.

", - "smithy.api#http": { - "uri": "/knowledgeBases/{knowledgeBaseId}/importJobs/{importJobId}", - "method": "GET" - }, - "smithy.api#readonly": {} + "smithy.api#enum": [ + { + "value": "CREATE_IN_PROGRESS", + "name": "CREATE_IN_PROGRESS" + }, + { + "value": "CREATE_FAILED", + "name": "CREATE_FAILED" + }, + { + "value": "ACTIVE", + "name": "ACTIVE" + }, + { + "value": "DELETE_IN_PROGRESS", + "name": "DELETE_IN_PROGRESS" + }, + { + "value": "DELETE_FAILED", + "name": "DELETE_FAILED" + }, + { + "value": "DELETED", + "name": "DELETED" + } + ] } }, - "com.amazonaws.qconnect#GetImportJobRequest": { + "com.amazonaws.qconnect#KnowledgeBaseSummary": { "type": "structure", "members": { - "importJobId": { + "knowledgeBaseId": { "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

The identifier of the import job to retrieve.

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

The identifier of the knowledge base.

", "smithy.api#required": {} } }, - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "knowledgeBaseArn": { + "target": "com.amazonaws.qconnect#Arn", "traits": { - "smithy.api#documentation": "

The identifier of the knowledge base that the import job belongs to.

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

The Amazon Resource Name (ARN) of the knowledge base.

", "smithy.api#required": {} } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.qconnect#GetImportJobResponse": { - "type": "structure", - "members": { - "importJob": { - "target": "com.amazonaws.qconnect#ImportJobData", + }, + "name": { + "target": "com.amazonaws.qconnect#Name", "traits": { - "smithy.api#documentation": "

The import job.

" + "smithy.api#documentation": "

The name of the knowledge base.

", + "smithy.api#required": {} } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.qconnect#GetKnowledgeBase": { - "type": "operation", - "input": { - "target": "com.amazonaws.qconnect#GetKnowledgeBaseRequest" - }, - "output": { - "target": "com.amazonaws.qconnect#GetKnowledgeBaseResponse" - }, - "errors": [ - { - "target": "com.amazonaws.qconnect#AccessDeniedException" - }, - { - "target": "com.amazonaws.qconnect#ResourceNotFoundException" }, - { - "target": "com.amazonaws.qconnect#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Retrieves information about the knowledge base.

", - "smithy.api#http": { - "uri": "/knowledgeBases/{knowledgeBaseId}", - "method": "GET" + "knowledgeBaseType": { + "target": "com.amazonaws.qconnect#KnowledgeBaseType", + "traits": { + "smithy.api#documentation": "

The type of knowledge base.

", + "smithy.api#required": {} + } }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.qconnect#GetKnowledgeBaseRequest": { - "type": "structure", - "members": { - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "status": { + "target": "com.amazonaws.qconnect#KnowledgeBaseStatus", "traits": { - "smithy.api#documentation": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

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

The status of the knowledge base summary.

", "smithy.api#required": {} } - } - } - }, - "com.amazonaws.qconnect#GetKnowledgeBaseResponse": { - "type": "structure", - "members": { - "knowledgeBase": { - "target": "com.amazonaws.qconnect#KnowledgeBaseData", + }, + "sourceConfiguration": { + "target": "com.amazonaws.qconnect#SourceConfiguration", "traits": { - "smithy.api#documentation": "

The knowledge base.

" + "smithy.api#documentation": "

Configuration information about the external data source.

" } - } - } - }, - "com.amazonaws.qconnect#GetQuickResponse": { - "type": "operation", - "input": { - "target": "com.amazonaws.qconnect#GetQuickResponseRequest" - }, - "output": { - "target": "com.amazonaws.qconnect#GetQuickResponseResponse" - }, - "errors": [ - { - "target": "com.amazonaws.qconnect#AccessDeniedException" }, - { - "target": "com.amazonaws.qconnect#ResourceNotFoundException" + "vectorIngestionConfiguration": { + "target": "com.amazonaws.qconnect#VectorIngestionConfiguration", + "traits": { + "smithy.api#documentation": "

Contains details about how to ingest the documents in a data source.

" + } }, - { - "target": "com.amazonaws.qconnect#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Retrieves the quick response.

", - "smithy.api#http": { - "uri": "/knowledgeBases/{knowledgeBaseId}/quickResponses/{quickResponseId}", - "method": "GET" + "renderingConfiguration": { + "target": "com.amazonaws.qconnect#RenderingConfiguration", + "traits": { + "smithy.api#documentation": "

Information about how to render the content.

" + } }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.qconnect#GetQuickResponseRequest": { - "type": "structure", - "members": { - "quickResponseId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "serverSideEncryptionConfiguration": { + "target": "com.amazonaws.qconnect#ServerSideEncryptionConfiguration", "traits": { - "smithy.api#documentation": "

The identifier of the quick response.

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

The configuration information for the customer managed key used for encryption.

\n

This KMS key must have a policy that allows kms:CreateGrant,\n kms:DescribeKey, kms:Decrypt, and\n kms:GenerateDataKey* permissions to the IAM identity using the\n key to invoke Amazon Q in Connect.

\n

For more information about setting up a customer managed key for Amazon Q in Connect, see Enable Amazon Q in Connect for\n your instance.

" } }, - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "description": { + "target": "com.amazonaws.qconnect#Description", "traits": { - "smithy.api#documentation": "

The identifier of the knowledge base. This should be a QUICK_RESPONSES type knowledge base.

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

The description of the knowledge base.

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

The tags used to organize, track, or control access for this resource.

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

Summary information about the knowledge base.

", + "smithy.api#references": [ + { + "resource": "com.amazonaws.qconnect#KnowledgeBase" + } + ] } }, - "com.amazonaws.qconnect#GetQuickResponseResponse": { - "type": "structure", - "members": { - "quickResponse": { - "target": "com.amazonaws.qconnect#QuickResponseData", - "traits": { - "smithy.api#documentation": "

The quick response.

" + "com.amazonaws.qconnect#KnowledgeBaseType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "EXTERNAL", + "name": "EXTERNAL" + }, + { + "value": "CUSTOM", + "name": "CUSTOM" + }, + { + "value": "QUICK_RESPONSES", + "name": "QUICK_RESPONSES" + }, + { + "value": "MESSAGE_TEMPLATES", + "name": "MESSAGE_TEMPLATES" + }, + { + "value": "MANAGED", + "name": "MANAGED" } - } - }, + ] + } + }, + "com.amazonaws.qconnect#LanguageCode": { + "type": "string", "traits": { - "smithy.api#output": {} + "smithy.api#length": { + "min": 2, + "max": 5 + } } }, - "com.amazonaws.qconnect#GetRecommendations": { + "com.amazonaws.qconnect#ListAIAgentVersions": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#GetRecommendationsRequest" + "target": "com.amazonaws.qconnect#ListAIAgentVersionsRequest" }, "output": { - "target": "com.amazonaws.qconnect#GetRecommendationsResponse" + "target": "com.amazonaws.qconnect#ListAIAgentVersionsResponse" }, "errors": [ { @@ -4988,39 +7295,52 @@ { "target": "com.amazonaws.qconnect#ResourceNotFoundException" }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, { "target": "com.amazonaws.qconnect#ValidationException" } ], "traits": { - "smithy.api#deprecated": { - "message": "GetRecommendations API will be discontinued starting June 1, 2024. To receive generative responses after March 1, 2024 you will need to create a new Assistant in the Connect console and integrate the Amazon Q in Connect JavaScript library (amazon-q-connectjs) into your applications." - }, - "smithy.api#documentation": "\n

This API will be discontinued starting June 1, 2024. To receive generative responses\n after March 1, 2024, you will need to create a new Assistant in the Amazon Connect\n console and integrate the Amazon Q in Connect JavaScript library (amazon-q-connectjs) into\n your applications.

\n
\n

Retrieves recommendations for the specified session. To avoid retrieving the same\n recommendations in subsequent calls, use NotifyRecommendationsReceived. This API supports long-polling behavior with the\n waitTimeSeconds parameter. Short poll is the default behavior and only returns\n recommendations already available. To perform a manual query against an assistant, use QueryAssistant.

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

List AI Agent versions.

", "smithy.api#http": { - "uri": "/assistants/{assistantId}/sessions/{sessionId}/recommendations", + "uri": "/assistants/{assistantId}/aiagents/{aiAgentId}/versions", "method": "GET" }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "aiAgentVersionSummaries" + }, "smithy.api#readonly": {} } }, - "com.amazonaws.qconnect#GetRecommendationsRequest": { + "com.amazonaws.qconnect#ListAIAgentVersionsRequest": { "type": "structure", "members": { "assistantId": { "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

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

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "aiAgentId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI Agent for which versions are to be\n listed.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "sessionId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", "traits": { - "smithy.api#documentation": "

The identifier of the session. Can be either the ID or the ARN. URLs cannot contain the ARN.

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

The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

", + "smithy.api#httpQuery": "nextToken" } }, "maxResults": { @@ -5030,41 +7350,46 @@ "smithy.api#httpQuery": "maxResults" } }, - "waitTimeSeconds": { - "target": "com.amazonaws.qconnect#WaitTimeSeconds", + "origin": { + "target": "com.amazonaws.qconnect#Origin", "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The duration (in seconds) for which the call waits for a recommendation to be made\n available before returning. If a recommendation is available, the call returns sooner than\n WaitTimeSeconds. If no messages are available and the wait time expires, the\n call returns successfully with an empty list.

", - "smithy.api#httpQuery": "waitTimeSeconds" + "smithy.api#documentation": "

The origin of the AI Agent versions to be listed. SYSTEM for a default AI\n Agent created by Q in Connect or CUSTOMER for an AI Agent created by calling AI\n Agent creation APIs.

", + "smithy.api#httpQuery": "origin" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.qconnect#GetRecommendationsResponse": { + "com.amazonaws.qconnect#ListAIAgentVersionsResponse": { "type": "structure", "members": { - "recommendations": { - "target": "com.amazonaws.qconnect#RecommendationList", + "aiAgentVersionSummaries": { + "target": "com.amazonaws.qconnect#AIAgentVersionSummariesList", "traits": { - "smithy.api#documentation": "

The recommendations.

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

The summaries of AI Agent versions.

", "smithy.api#required": {} } }, - "triggers": { - "target": "com.amazonaws.qconnect#RecommendationTriggerList", + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", "traits": { - "smithy.api#documentation": "

The triggers corresponding to recommendations.

" + "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

" } } + }, + "traits": { + "smithy.api#output": {} } }, - "com.amazonaws.qconnect#GetSession": { + "com.amazonaws.qconnect#ListAIAgents": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#GetSessionRequest" + "target": "com.amazonaws.qconnect#ListAIAgentsRequest" }, "output": { - "target": "com.amazonaws.qconnect#GetSessionResponse" + "target": "com.amazonaws.qconnect#ListAIAgentsResponse" }, "errors": [ { @@ -5073,847 +7398,856 @@ { "target": "com.amazonaws.qconnect#ResourceNotFoundException" }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, { "target": "com.amazonaws.qconnect#ValidationException" } ], "traits": { - "smithy.api#documentation": "

Retrieves information for a specified session.

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

Lists AI Agents.

", "smithy.api#http": { - "uri": "/assistants/{assistantId}/sessions/{sessionId}", + "uri": "/assistants/{assistantId}/aiagents", "method": "GET" }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "aiAgentSummaries" + }, "smithy.api#readonly": {} } }, - "com.amazonaws.qconnect#GetSessionRequest": { + "com.amazonaws.qconnect#ListAIAgentsRequest": { "type": "structure", "members": { "assistantId": { "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

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

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "sessionId": { - "target": "com.amazonaws.qconnect#UuidOrArn", - "traits": { - "smithy.api#documentation": "

The identifier of the session. Can be either the ID or the ARN. URLs cannot contain the ARN.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - } - } - }, - "com.amazonaws.qconnect#GetSessionResponse": { - "type": "structure", - "members": { - "session": { - "target": "com.amazonaws.qconnect#SessionData", + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", "traits": { - "smithy.api#documentation": "

The session.

" + "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

", + "smithy.api#httpQuery": "nextToken" } - } - } - }, - "com.amazonaws.qconnect#GroupingConfiguration": { - "type": "structure", - "members": { - "criteria": { - "target": "com.amazonaws.qconnect#GroupingCriteria", + }, + "maxResults": { + "target": "com.amazonaws.qconnect#MaxResults", "traits": { - "smithy.api#documentation": "

The criteria used for grouping Amazon Q in Connect users.

\n

The following is the list of supported criteria values.

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

The maximum number of results to return per page.

", + "smithy.api#httpQuery": "maxResults" } }, - "values": { - "target": "com.amazonaws.qconnect#GroupingValues", + "origin": { + "target": "com.amazonaws.qconnect#Origin", "traits": { - "smithy.api#documentation": "

The list of values that define different groups of Amazon Q in Connect users.

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

The origin of the AI Agents to be listed. SYSTEM for a default AI Agent\n created by Q in Connect or CUSTOMER for an AI Agent created by calling AI Agent\n creation APIs.

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

The configuration information of the grouping of Amazon Q in Connect users.

" - } - }, - "com.amazonaws.qconnect#GroupingCriteria": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 100 - }, - "smithy.api#sensitive": {} - } - }, - "com.amazonaws.qconnect#GroupingValue": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 2048 - }, - "smithy.api#sensitive": {} - } - }, - "com.amazonaws.qconnect#GroupingValues": { - "type": "list", - "member": { - "target": "com.amazonaws.qconnect#GroupingValue" - }, - "traits": { - "smithy.api#uniqueItems": {} - } - }, - "com.amazonaws.qconnect#Headers": { - "type": "map", - "key": { - "target": "com.amazonaws.qconnect#NonEmptyString" - }, - "value": { - "target": "com.amazonaws.qconnect#NonEmptyString" + "smithy.api#input": {} } }, - "com.amazonaws.qconnect#HierarchicalChunkingConfiguration": { + "com.amazonaws.qconnect#ListAIAgentsResponse": { "type": "structure", "members": { - "levelConfigurations": { - "target": "com.amazonaws.qconnect#HierarchicalChunkingLevelConfigurations", + "aiAgentSummaries": { + "target": "com.amazonaws.qconnect#AIAgentSummaryList", "traits": { - "smithy.api#documentation": "

Token settings for each layer.

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

The summaries of AI Agents.

", "smithy.api#required": {} } }, - "overlapTokens": { - "target": "smithy.api#Integer", + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", "traits": { - "smithy.api#documentation": "

The number of tokens to repeat across chunks in the same layer.

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

The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

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

Settings for hierarchical document chunking for a data source. Hierarchical chunking\n splits documents into layers of chunks where the first layer contains large chunks, and the\n second layer contains smaller chunks derived from the first layer.

" + "smithy.api#output": {} } }, - "com.amazonaws.qconnect#HierarchicalChunkingLevelConfiguration": { - "type": "structure", - "members": { - "maxTokens": { - "target": "smithy.api#Integer", - "traits": { - "smithy.api#documentation": "

The maximum number of tokens that a chunk can contain in this layer.

", - "smithy.api#range": { - "min": 1, - "max": 8192 - }, - "smithy.api#required": {} - } - } + "com.amazonaws.qconnect#ListAIPromptVersions": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#ListAIPromptVersionsRequest" }, - "traits": { - "smithy.api#documentation": "

Token settings for each layer.

" - } - }, - "com.amazonaws.qconnect#HierarchicalChunkingLevelConfigurations": { - "type": "list", - "member": { - "target": "com.amazonaws.qconnect#HierarchicalChunkingLevelConfiguration" + "output": { + "target": "com.amazonaws.qconnect#ListAIPromptVersionsResponse" }, - "traits": { - "smithy.api#length": { - "min": 2, - "max": 2 - } - } - }, - "com.amazonaws.qconnect#Highlight": { - "type": "structure", - "members": { - "beginOffsetInclusive": { - "target": "com.amazonaws.qconnect#HighlightOffset", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The offset for the start of the highlight.

" - } + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" }, - "endOffsetExclusive": { - "target": "com.amazonaws.qconnect#HighlightOffset", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The offset for the end of the highlight.

" - } + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" } - }, - "traits": { - "smithy.api#documentation": "

Offset specification to describe highlighting of document excerpts for rendering search\n results and recommendations.

" - } - }, - "com.amazonaws.qconnect#HighlightOffset": { - "type": "integer", + ], "traits": { - "smithy.api#default": 0 - } - }, - "com.amazonaws.qconnect#Highlights": { - "type": "list", - "member": { - "target": "com.amazonaws.qconnect#Highlight" + "smithy.api#documentation": "

Lists AI Prompt versions.

", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiprompts/{aiPromptId}/versions", + "method": "GET" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "aiPromptVersionSummaries" + }, + "smithy.api#readonly": {} } }, - "com.amazonaws.qconnect#ImportJobData": { + "com.amazonaws.qconnect#ListAIPromptVersionsRequest": { "type": "structure", "members": { - "importJobId": { - "target": "com.amazonaws.qconnect#Uuid", + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The identifier of the import job.

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

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#Uuid", + "aiPromptId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", "traits": { - "smithy.api#documentation": "

The identifier of the knowledge base.

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

The identifier of the Amazon Q in Connect AI prompt for which versions are to be\n listed.

", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "uploadId": { - "target": "com.amazonaws.qconnect#UploadId", + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", "traits": { - "smithy.api#documentation": "

A pointer to the uploaded asset. This value is returned by StartContentUpload.

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

The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

", + "smithy.api#httpQuery": "nextToken" } }, - "knowledgeBaseArn": { - "target": "com.amazonaws.qconnect#Arn", + "maxResults": { + "target": "com.amazonaws.qconnect#MaxResults", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the knowledge base.

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

The maximum number of results to return per page.

", + "smithy.api#httpQuery": "maxResults" } }, - "importJobType": { - "target": "com.amazonaws.qconnect#ImportJobType", + "origin": { + "target": "com.amazonaws.qconnect#Origin", "traits": { - "smithy.api#documentation": "

The type of the import job.

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

The origin of the AI Prompt versions to be listed. SYSTEM for a default AI\n Agent created by Q in Connect or CUSTOMER for an AI Agent created by calling AI\n Agent creation APIs.

", + "smithy.api#httpQuery": "origin" } - }, - "status": { - "target": "com.amazonaws.qconnect#ImportJobStatus", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#ListAIPromptVersionsResponse": { + "type": "structure", + "members": { + "aiPromptVersionSummaries": { + "target": "com.amazonaws.qconnect#AIPromptVersionSummariesList", "traits": { - "smithy.api#documentation": "

The status of the import job.

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

The summaries of the AI Prompt versions.

", "smithy.api#required": {} } }, - "url": { - "target": "com.amazonaws.qconnect#Url", + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", "traits": { - "smithy.api#documentation": "

The download link to the resource file that is uploaded to the import job.

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

The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

" } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#ListAIPrompts": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#ListAIPromptsRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#ListAIPromptsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" }, - "failedRecordReport": { - "target": "com.amazonaws.qconnect#Url", - "traits": { - "smithy.api#documentation": "

The link to download the information of resource data that failed to be imported.

" - } + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" }, - "urlExpiry": { - "target": "smithy.api#Timestamp", + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists the AI Prompts available on the Amazon Q in Connect assistant.

", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiprompts", + "method": "GET" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "aiPromptSummaries" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.qconnect#ListAIPromptsRequest": { + "type": "structure", + "members": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The expiration time of the URL as an epoch timestamp.

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

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, - "createdTime": { - "target": "smithy.api#Timestamp", + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", "traits": { - "smithy.api#documentation": "

The timestamp when the import job was created.

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

The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

", + "smithy.api#httpQuery": "nextToken" } }, - "lastModifiedTime": { - "target": "smithy.api#Timestamp", + "maxResults": { + "target": "com.amazonaws.qconnect#MaxResults", "traits": { - "smithy.api#documentation": "

The timestamp when the import job data was last modified.

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

The maximum number of results to return per page.

", + "smithy.api#httpQuery": "maxResults" } }, - "metadata": { - "target": "com.amazonaws.qconnect#ContentMetadata", + "origin": { + "target": "com.amazonaws.qconnect#Origin", "traits": { - "smithy.api#documentation": "

The metadata fields of the imported Amazon Q in Connect resources.

" + "smithy.api#documentation": "

The origin of the AI Prompts to be listed. SYSTEM for a default AI Agent\n created by Q in Connect or CUSTOMER for an AI Agent created by calling AI Agent\n creation APIs.

", + "smithy.api#httpQuery": "origin" } - }, - "externalSourceConfiguration": { - "target": "com.amazonaws.qconnect#ExternalSourceConfiguration" } }, "traits": { - "smithy.api#documentation": "

Summary information about the import job.

" - } - }, - "com.amazonaws.qconnect#ImportJobList": { - "type": "list", - "member": { - "target": "com.amazonaws.qconnect#ImportJobSummary" - } - }, - "com.amazonaws.qconnect#ImportJobStatus": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "START_IN_PROGRESS", - "name": "START_IN_PROGRESS" - }, - { - "value": "FAILED", - "name": "FAILED" - }, - { - "value": "COMPLETE", - "name": "COMPLETE" - }, - { - "value": "DELETE_IN_PROGRESS", - "name": "DELETE_IN_PROGRESS" - }, - { - "value": "DELETE_FAILED", - "name": "DELETE_FAILED" - }, - { - "value": "DELETED", - "name": "DELETED" - } - ] + "smithy.api#input": {} } }, - "com.amazonaws.qconnect#ImportJobSummary": { + "com.amazonaws.qconnect#ListAIPromptsResponse": { "type": "structure", "members": { - "importJobId": { - "target": "com.amazonaws.qconnect#Uuid", + "aiPromptSummaries": { + "target": "com.amazonaws.qconnect#AIPromptSummaryList", "traits": { - "smithy.api#documentation": "

The identifier of the import job.

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

The summaries of the AI Prompts.

", "smithy.api#required": {} } }, - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#Uuid", + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", "traits": { - "smithy.api#documentation": "

The identifier of the knowledge base.

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

The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

" } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#ListAssistantAssociations": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#ListAssistantAssociationsRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#ListAssistantAssociationsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" }, - "uploadId": { - "target": "com.amazonaws.qconnect#UploadId", + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists information about assistant associations.

", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/associations", + "method": "GET" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "assistantAssociationSummaries" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.qconnect#ListAssistantAssociationsRequest": { + "type": "structure", + "members": { + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", "traits": { - "smithy.api#documentation": "

A pointer to the uploaded asset. This value is returned by StartContentUpload.

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

The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

", + "smithy.api#httpQuery": "nextToken" } }, - "knowledgeBaseArn": { - "target": "com.amazonaws.qconnect#Arn", + "maxResults": { + "target": "com.amazonaws.qconnect#MaxResults", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the knowledge base.

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

The maximum number of results to return per page.

", + "smithy.api#httpQuery": "maxResults" } }, - "importJobType": { - "target": "com.amazonaws.qconnect#ImportJobType", + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The type of import job.

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

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } - }, - "status": { - "target": "com.amazonaws.qconnect#ImportJobStatus", + } + } + }, + "com.amazonaws.qconnect#ListAssistantAssociationsResponse": { + "type": "structure", + "members": { + "assistantAssociationSummaries": { + "target": "com.amazonaws.qconnect#AssistantAssociationSummaryList", "traits": { - "smithy.api#documentation": "

The status of the import job.

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

Summary information about assistant associations.

", "smithy.api#required": {} } }, - "createdTime": { - "target": "smithy.api#Timestamp", + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", "traits": { - "smithy.api#documentation": "

The timestamp when the import job was created.

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

If there are additional results, this is the token for the next set of results.

" } + } + } + }, + "com.amazonaws.qconnect#ListAssistants": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#ListAssistantsRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#ListAssistantsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" }, - "lastModifiedTime": { - "target": "smithy.api#Timestamp", + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists information about assistants.

", + "smithy.api#http": { + "uri": "/assistants", + "method": "GET" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "assistantSummaries" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.qconnect#ListAssistantsRequest": { + "type": "structure", + "members": { + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", "traits": { - "smithy.api#documentation": "

The timestamp when the import job was last modified.

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

The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

", + "smithy.api#httpQuery": "nextToken" } }, - "metadata": { - "target": "com.amazonaws.qconnect#ContentMetadata", + "maxResults": { + "target": "com.amazonaws.qconnect#MaxResults", "traits": { - "smithy.api#documentation": "

The metadata fields of the imported Amazon Q in Connect resources.

" + "smithy.api#documentation": "

The maximum number of results to return per page.

", + "smithy.api#httpQuery": "maxResults" + } + } + } + }, + "com.amazonaws.qconnect#ListAssistantsResponse": { + "type": "structure", + "members": { + "assistantSummaries": { + "target": "com.amazonaws.qconnect#AssistantList", + "traits": { + "smithy.api#documentation": "

Information about the assistants.

", + "smithy.api#required": {} } }, - "externalSourceConfiguration": { - "target": "com.amazonaws.qconnect#ExternalSourceConfiguration", + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", "traits": { - "smithy.api#documentation": "

The configuration information of the external source that the resource data are imported\n from.

" + "smithy.api#documentation": "

If there are additional results, this is the token for the next set of results.

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

Summary information about the import job.

" } }, - "com.amazonaws.qconnect#ImportJobType": { - "type": "string", + "com.amazonaws.qconnect#ListContentAssociations": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#ListContentAssociationsRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#ListContentAssociationsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], "traits": { - "smithy.api#enum": [ - { - "value": "QUICK_RESPONSES", - "name": "QUICK_RESPONSES" - } - ] + "smithy.api#documentation": "

Lists the content associations.

\n

For more information about content associations--what they are and when they are used--see\n Integrate Amazon Q in Connect with step-by-step guides in the Amazon Connect\n Administrator Guide.

", + "smithy.api#http": { + "uri": "/knowledgeBases/{knowledgeBaseId}/contents/{contentId}/associations", + "method": "GET" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "contentAssociationSummaries" + }, + "smithy.api#readonly": {} } }, - "com.amazonaws.qconnect#IntentDetectedDataDetails": { + "com.amazonaws.qconnect#ListContentAssociationsRequest": { "type": "structure", "members": { - "intent": { - "target": "com.amazonaws.qconnect#SensitiveString", + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", "traits": { - "smithy.api#documentation": "

The detected intent.

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

The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "com.amazonaws.qconnect#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return per page.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the knowledge base.

", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "intentId": { - "target": "com.amazonaws.qconnect#Uuid", + "contentId": { + "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The identifier of the detected intent.

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

The identifier of the content.

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

Details about the detected intent.

" + "smithy.api#input": {} } }, - "com.amazonaws.qconnect#IntentInputData": { + "com.amazonaws.qconnect#ListContentAssociationsResponse": { "type": "structure", "members": { - "intentId": { - "target": "com.amazonaws.qconnect#Uuid", + "contentAssociationSummaries": { + "target": "com.amazonaws.qconnect#ContentAssociationSummaryList", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q intent.

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

Summary information about content associations.

", "smithy.api#required": {} } + }, + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", + "traits": { + "smithy.api#documentation": "

If there are additional results, this is the token for the next set of results.

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

Information about the Amazon Q intent.

" + "smithy.api#output": {} } }, - "com.amazonaws.qconnect#KnowledgeBase": { - "type": "resource", - "identifiers": { - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#UuidOrArn" - } - }, - "create": { - "target": "com.amazonaws.qconnect#CreateKnowledgeBase" - }, - "read": { - "target": "com.amazonaws.qconnect#GetKnowledgeBase" - }, - "delete": { - "target": "com.amazonaws.qconnect#DeleteKnowledgeBase" + "com.amazonaws.qconnect#ListContents": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#ListContentsRequest" }, - "list": { - "target": "com.amazonaws.qconnect#ListKnowledgeBases" + "output": { + "target": "com.amazonaws.qconnect#ListContentsResponse" }, - "operations": [ - { - "target": "com.amazonaws.qconnect#DeleteImportJob" - }, - { - "target": "com.amazonaws.qconnect#GetImportJob" - }, - { - "target": "com.amazonaws.qconnect#ListImportJobs" - }, - { - "target": "com.amazonaws.qconnect#RemoveKnowledgeBaseTemplateUri" - }, - { - "target": "com.amazonaws.qconnect#SearchContent" - }, - { - "target": "com.amazonaws.qconnect#SearchQuickResponses" - }, - { - "target": "com.amazonaws.qconnect#StartContentUpload" - }, + "errors": [ { - "target": "com.amazonaws.qconnect#StartImportJob" + "target": "com.amazonaws.qconnect#AccessDeniedException" }, { - "target": "com.amazonaws.qconnect#UpdateKnowledgeBaseTemplateUri" - } - ], - "resources": [ - { - "target": "com.amazonaws.qconnect#Content" + "target": "com.amazonaws.qconnect#ResourceNotFoundException" }, { - "target": "com.amazonaws.qconnect#QuickResponse" + "target": "com.amazonaws.qconnect#ValidationException" } ], "traits": { - "aws.api#arn": { - "template": "knowledge-base/{knowledgeBaseId}" + "smithy.api#documentation": "

Lists the content.

", + "smithy.api#http": { + "uri": "/knowledgeBases/{knowledgeBaseId}/contents", + "method": "GET" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "contentSummaries" }, - "aws.cloudformation#cfnResource": {}, - "aws.iam#disableConditionKeyInference": {} + "smithy.api#readonly": {} } }, - "com.amazonaws.qconnect#KnowledgeBaseAssociationConfigurationData": { + "com.amazonaws.qconnect#ListContentsRequest": { "type": "structure", "members": { - "contentTagFilter": { - "target": "com.amazonaws.qconnect#TagFilter" + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", + "traits": { + "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

", + "smithy.api#httpQuery": "nextToken" + } }, "maxResults": { "target": "com.amazonaws.qconnect#MaxResults", "traits": { - "smithy.api#documentation": "

The maximum number of results to return per page.

" + "smithy.api#documentation": "

The maximum number of results to return per page.

", + "smithy.api#httpQuery": "maxResults" } }, - "overrideKnowledgeBaseSearchType": { - "target": "com.amazonaws.qconnect#KnowledgeBaseSearchType", + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The search type to be used against the Knowledge Base for this request. The values can be\n SEMANTIC which uses vector embeddings or HYBRID which use vector\n embeddings and raw text

" + "smithy.api#documentation": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

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

The data of the configuration for a KNOWLEDGE_BASE type Amazon Q in Connect\n Assistant Association.

" } }, - "com.amazonaws.qconnect#KnowledgeBaseAssociationData": { + "com.amazonaws.qconnect#ListContentsResponse": { "type": "structure", "members": { - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#Uuid", + "contentSummaries": { + "target": "com.amazonaws.qconnect#ContentSummaryList", "traits": { - "smithy.api#documentation": "

The identifier of the knowledge base.

" + "smithy.api#documentation": "

Information about the content.

", + "smithy.api#required": {} } }, - "knowledgeBaseArn": { - "target": "com.amazonaws.qconnect#Arn", + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the knowledge base.

" + "smithy.api#documentation": "

If there are additional results, this is the token for the next set of results.

" } } + } + }, + "com.amazonaws.qconnect#ListImportJobs": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#ListImportJobsRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#ListImportJobsResponse" }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], "traits": { - "smithy.api#documentation": "

Association information about the knowledge base.

" + "smithy.api#documentation": "

Lists information about import jobs.

", + "smithy.api#http": { + "uri": "/knowledgeBases/{knowledgeBaseId}/importJobs", + "method": "GET" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "importJobSummaries" + }, + "smithy.api#readonly": {} } }, - "com.amazonaws.qconnect#KnowledgeBaseData": { + "com.amazonaws.qconnect#ListImportJobsRequest": { "type": "structure", "members": { - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#Uuid", - "traits": { - "smithy.api#documentation": "

The identifier of the knowledge base.

", - "smithy.api#required": {} - } - }, - "knowledgeBaseArn": { - "target": "com.amazonaws.qconnect#Arn", + "nextToken": { + "target": "com.amazonaws.qconnect#NonEmptyString", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the knowledge base.

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

The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

", + "smithy.api#httpQuery": "nextToken" } }, - "name": { - "target": "com.amazonaws.qconnect#Name", + "maxResults": { + "target": "com.amazonaws.qconnect#MaxResults", "traits": { - "smithy.api#documentation": "

The name of the knowledge base.

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

The maximum number of results to return per page.

", + "smithy.api#httpQuery": "maxResults" } }, - "knowledgeBaseType": { - "target": "com.amazonaws.qconnect#KnowledgeBaseType", + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The type of knowledge base.

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

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } - }, - "status": { - "target": "com.amazonaws.qconnect#KnowledgeBaseStatus", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#ListImportJobsResponse": { + "type": "structure", + "members": { + "importJobSummaries": { + "target": "com.amazonaws.qconnect#ImportJobList", "traits": { - "smithy.api#documentation": "

The status of the knowledge base.

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

Summary information about the import jobs.

", "smithy.api#required": {} } }, - "lastContentModificationTime": { - "target": "smithy.api#Timestamp", - "traits": { - "smithy.api#documentation": "

An epoch timestamp indicating the most recent content modification inside the knowledge\n base. If no content exists in a knowledge base, this value is unset.

", - "smithy.api#timestampFormat": "epoch-seconds" - } - }, - "vectorIngestionConfiguration": { - "target": "com.amazonaws.qconnect#VectorIngestionConfiguration", - "traits": { - "smithy.api#documentation": "

Contains details about how to ingest the documents in a data source.

" - } - }, - "sourceConfiguration": { - "target": "com.amazonaws.qconnect#SourceConfiguration", - "traits": { - "smithy.api#documentation": "

Source configuration information about the knowledge base.

" - } - }, - "renderingConfiguration": { - "target": "com.amazonaws.qconnect#RenderingConfiguration", - "traits": { - "smithy.api#documentation": "

Information about how to render the content.

" - } - }, - "serverSideEncryptionConfiguration": { - "target": "com.amazonaws.qconnect#ServerSideEncryptionConfiguration", - "traits": { - "smithy.api#documentation": "

The configuration information for the customer managed key used for encryption.

\n

This KMS key must have a policy that allows kms:CreateGrant,\n kms:DescribeKey, kms:Decrypt, and\n kms:GenerateDataKey* permissions to the IAM identity using the\n key to invoke Amazon Q in Connect.

\n

For more information about setting up a customer managed key for Amazon Q in Connect, see Enable Amazon Q in Connect for\n your instance.

" - } - }, - "description": { - "target": "com.amazonaws.qconnect#Description", - "traits": { - "smithy.api#documentation": "

The description.

" - } - }, - "tags": { - "target": "com.amazonaws.qconnect#Tags", - "traits": { - "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

" - } - }, - "ingestionStatus": { - "target": "com.amazonaws.qconnect#SyncStatus", - "traits": { - "smithy.api#documentation": "

Status of ingestion on data source.

" - } - }, - "ingestionFailureReasons": { - "target": "com.amazonaws.qconnect#FailureReason", + "nextToken": { + "target": "com.amazonaws.qconnect#NonEmptyString", "traits": { - "smithy.api#documentation": "

List of failure reasons on ingestion per file.

" + "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

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

Information about the knowledge base.

", - "smithy.api#references": [ - { - "resource": "com.amazonaws.qconnect#KnowledgeBase" - } - ] - } - }, - "com.amazonaws.qconnect#KnowledgeBaseList": { - "type": "list", - "member": { - "target": "com.amazonaws.qconnect#KnowledgeBaseSummary" - } - }, - "com.amazonaws.qconnect#KnowledgeBaseSearchType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "HYBRID", - "name": "HYBRID" - }, - { - "value": "SEMANTIC", - "name": "SEMANTIC" - } - ] + "smithy.api#output": {} } }, - "com.amazonaws.qconnect#KnowledgeBaseStatus": { - "type": "string", + "com.amazonaws.qconnect#ListKnowledgeBases": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#ListKnowledgeBasesRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#ListKnowledgeBasesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], "traits": { - "smithy.api#enum": [ - { - "value": "CREATE_IN_PROGRESS", - "name": "CREATE_IN_PROGRESS" - }, - { - "value": "CREATE_FAILED", - "name": "CREATE_FAILED" - }, - { - "value": "ACTIVE", - "name": "ACTIVE" - }, - { - "value": "DELETE_IN_PROGRESS", - "name": "DELETE_IN_PROGRESS" - }, - { - "value": "DELETE_FAILED", - "name": "DELETE_FAILED" - }, - { - "value": "DELETED", - "name": "DELETED" - } - ] + "smithy.api#documentation": "

Lists the knowledge bases.

", + "smithy.api#http": { + "uri": "/knowledgeBases", + "method": "GET" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "knowledgeBaseSummaries" + }, + "smithy.api#readonly": {} } }, - "com.amazonaws.qconnect#KnowledgeBaseSummary": { + "com.amazonaws.qconnect#ListKnowledgeBasesRequest": { "type": "structure", "members": { - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#Uuid", + "nextToken": { + "target": "com.amazonaws.qconnect#NonEmptyString", "traits": { - "smithy.api#documentation": "

The identifier of the knowledge base.

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

The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

", + "smithy.api#httpQuery": "nextToken" } }, - "knowledgeBaseArn": { - "target": "com.amazonaws.qconnect#Arn", + "maxResults": { + "target": "com.amazonaws.qconnect#MaxResults", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the knowledge base.

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

The maximum number of results to return per page.

", + "smithy.api#httpQuery": "maxResults" } - }, - "name": { - "target": "com.amazonaws.qconnect#Name", + } + } + }, + "com.amazonaws.qconnect#ListKnowledgeBasesResponse": { + "type": "structure", + "members": { + "knowledgeBaseSummaries": { + "target": "com.amazonaws.qconnect#KnowledgeBaseList", "traits": { - "smithy.api#documentation": "

The name of the knowledge base.

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

Information about the knowledge bases.

", "smithy.api#required": {} } }, - "knowledgeBaseType": { - "target": "com.amazonaws.qconnect#KnowledgeBaseType", + "nextToken": { + "target": "com.amazonaws.qconnect#NonEmptyString", "traits": { - "smithy.api#documentation": "

The type of knowledge base.

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

If there are additional results, this is the token for the next set of results.

" } + } + } + }, + "com.amazonaws.qconnect#ListMessageTemplateVersions": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#ListMessageTemplateVersionsRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#ListMessageTemplateVersionsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" }, - "status": { - "target": "com.amazonaws.qconnect#KnowledgeBaseStatus", - "traits": { - "smithy.api#documentation": "

The status of the knowledge base summary.

", - "smithy.api#required": {} - } + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" }, - "sourceConfiguration": { - "target": "com.amazonaws.qconnect#SourceConfiguration", - "traits": { - "smithy.api#documentation": "

Configuration information about the external data source.

" - } + { + "target": "com.amazonaws.qconnect#ThrottlingException" }, - "vectorIngestionConfiguration": { - "target": "com.amazonaws.qconnect#VectorIngestionConfiguration", - "traits": { - "smithy.api#documentation": "

Contains details about how to ingest the documents in a data source.

" - } + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists all the available versions for the specified Amazon Q in Connect message\n template.

", + "smithy.api#http": { + "uri": "/knowledgeBases/{knowledgeBaseId}/messageTemplates/{messageTemplateId}/versions", + "method": "GET" }, - "renderingConfiguration": { - "target": "com.amazonaws.qconnect#RenderingConfiguration", + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "messageTemplateVersionSummaries" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.qconnect#ListMessageTemplateVersionsRequest": { + "type": "structure", + "members": { + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

Information about how to render the content.

" + "smithy.api#documentation": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain\n the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, - "serverSideEncryptionConfiguration": { - "target": "com.amazonaws.qconnect#ServerSideEncryptionConfiguration", + "messageTemplateId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", "traits": { - "smithy.api#documentation": "

The configuration information for the customer managed key used for encryption.

\n

This KMS key must have a policy that allows kms:CreateGrant,\n kms:DescribeKey, kms:Decrypt, and\n kms:GenerateDataKey* permissions to the IAM identity using the\n key to invoke Amazon Q in Connect.

\n

For more information about setting up a customer managed key for Amazon Q in Connect, see Enable Amazon Q in Connect for\n your instance.

" + "smithy.api#documentation": "

The identifier of the message template. Can be either the ID or the ARN. It cannot contain any qualifier.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, - "description": { - "target": "com.amazonaws.qconnect#Description", + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", "traits": { - "smithy.api#documentation": "

The description of the knowledge base.

" + "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

", + "smithy.api#httpQuery": "nextToken" } }, - "tags": { - "target": "com.amazonaws.qconnect#Tags", + "maxResults": { + "target": "com.amazonaws.qconnect#MaxResults", "traits": { - "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

" + "smithy.api#documentation": "

The maximum number of results to return per page.

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

Summary information about the knowledge base.

", - "smithy.api#references": [ - { - "resource": "com.amazonaws.qconnect#KnowledgeBase" - } - ] + "smithy.api#input": {} } }, - "com.amazonaws.qconnect#KnowledgeBaseType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "EXTERNAL", - "name": "EXTERNAL" - }, - { - "value": "CUSTOM", - "name": "CUSTOM" - }, - { - "value": "QUICK_RESPONSES", - "name": "QUICK_RESPONSES" - }, - { - "value": "MESSAGE_TEMPLATES", - "name": "MESSAGE_TEMPLATES" - }, - { - "value": "MANAGED", - "name": "MANAGED" + "com.amazonaws.qconnect#ListMessageTemplateVersionsResponse": { + "type": "structure", + "members": { + "messageTemplateVersionSummaries": { + "target": "com.amazonaws.qconnect#MessageTemplateVersionSummaryList", + "traits": { + "smithy.api#documentation": "

Summary information about the versions of a message template.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", + "traits": { + "smithy.api#documentation": "

If there are additional results, this is the token for the next set of results.

" } - ] - } - }, - "com.amazonaws.qconnect#LanguageCode": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 2, - "max": 5 } + }, + "traits": { + "smithy.api#output": {} } }, - "com.amazonaws.qconnect#ListAIAgentVersions": { + "com.amazonaws.qconnect#ListMessageTemplates": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#ListAIAgentVersionsRequest" + "target": "com.amazonaws.qconnect#ListMessageTemplatesRequest" }, "output": { - "target": "com.amazonaws.qconnect#ListAIAgentVersionsResponse" + "target": "com.amazonaws.qconnect#ListMessageTemplatesResponse" }, "errors": [ { @@ -5930,43 +8264,112 @@ } ], "traits": { - "smithy.api#documentation": "

List AI Agent versions.

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

Lists all the available Amazon Q in Connect message templates for the specified knowledge\n base.

", "smithy.api#http": { - "uri": "/assistants/{assistantId}/aiagents/{aiAgentId}/versions", + "uri": "/knowledgeBases/{knowledgeBaseId}/messageTemplates", "method": "GET" }, "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", "pageSize": "maxResults", - "items": "aiAgentVersionSummaries" + "items": "messageTemplateSummaries" }, "smithy.api#readonly": {} } }, - "com.amazonaws.qconnect#ListAIAgentVersionsRequest": { + "com.amazonaws.qconnect#ListMessageTemplatesRequest": { "type": "structure", "members": { - "assistantId": { + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", + "traits": { + "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "com.amazonaws.qconnect#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return per page.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "knowledgeBaseId": { "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

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

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain\n the ARN.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } - }, - "aiAgentId": { - "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#ListMessageTemplatesResponse": { + "type": "structure", + "members": { + "messageTemplateSummaries": { + "target": "com.amazonaws.qconnect#MessageTemplateSummaryList", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI Agent for which versions are to be\n listed.

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

Summary information about the message template.

", "smithy.api#required": {} } }, "nextToken": { "target": "com.amazonaws.qconnect#NextToken", "traits": { - "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

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

If there are additional results, this is the token for the next set of results.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#ListQuickResponses": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#ListQuickResponsesRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#ListQuickResponsesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists information about quick response.

", + "smithy.api#http": { + "uri": "/knowledgeBases/{knowledgeBaseId}/quickResponses", + "method": "GET" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "quickResponseSummaries" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.qconnect#ListQuickResponsesRequest": { + "type": "structure", + "members": { + "nextToken": { + "target": "com.amazonaws.qconnect#NonEmptyString", + "traits": { + "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

", "smithy.api#httpQuery": "nextToken" } }, @@ -5977,11 +8380,12 @@ "smithy.api#httpQuery": "maxResults" } }, - "origin": { - "target": "com.amazonaws.qconnect#Origin", + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The origin of the AI Agent versions to be listed. SYSTEM for a default AI\n Agent created by Q in Connect or CUSTOMER for an AI Agent created by calling AI\n Agent creation APIs.

", - "smithy.api#httpQuery": "origin" + "smithy.api#documentation": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } } }, @@ -5989,20 +8393,20 @@ "smithy.api#input": {} } }, - "com.amazonaws.qconnect#ListAIAgentVersionsResponse": { + "com.amazonaws.qconnect#ListQuickResponsesResponse": { "type": "structure", "members": { - "aiAgentVersionSummaries": { - "target": "com.amazonaws.qconnect#AIAgentVersionSummariesList", + "quickResponseSummaries": { + "target": "com.amazonaws.qconnect#QuickResponseSummaryList", "traits": { - "smithy.api#documentation": "

The summaries of AI Agent versions.

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

Summary information about the quick responses.

", "smithy.api#required": {} } }, "nextToken": { - "target": "com.amazonaws.qconnect#NextToken", + "target": "com.amazonaws.qconnect#NonEmptyString", "traits": { - "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

" + "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

" } } }, @@ -6010,949 +8414,1001 @@ "smithy.api#output": {} } }, - "com.amazonaws.qconnect#ListAIAgents": { + "com.amazonaws.qconnect#ListTagsForResource": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#ListAIAgentsRequest" + "target": "com.amazonaws.qconnect#ListTagsForResourceRequest" }, "output": { - "target": "com.amazonaws.qconnect#ListAIAgentsResponse" + "target": "com.amazonaws.qconnect#ListTagsForResourceResponse" }, "errors": [ - { - "target": "com.amazonaws.qconnect#AccessDeniedException" - }, { "target": "com.amazonaws.qconnect#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.qconnect#ThrottlingException" - }, - { - "target": "com.amazonaws.qconnect#ValidationException" } ], "traits": { - "smithy.api#documentation": "

Lists AI Agents.

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

Lists the tags for the specified resource.

", "smithy.api#http": { - "uri": "/assistants/{assistantId}/aiagents", + "uri": "/tags/{resourceArn}", "method": "GET" }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "pageSize": "maxResults", - "items": "aiAgentSummaries" - }, "smithy.api#readonly": {} } }, - "com.amazonaws.qconnect#ListAIAgentsRequest": { + "com.amazonaws.qconnect#ListTagsForResourceRequest": { "type": "structure", "members": { - "assistantId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "resourceArn": { + "target": "com.amazonaws.qconnect#Arn", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

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

The Amazon Resource Name (ARN) of the resource.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } - }, - "nextToken": { - "target": "com.amazonaws.qconnect#NextToken", - "traits": { - "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

", - "smithy.api#httpQuery": "nextToken" - } - }, - "maxResults": { - "target": "com.amazonaws.qconnect#MaxResults", + } + } + }, + "com.amazonaws.qconnect#ListTagsForResourceResponse": { + "type": "structure", + "members": { + "tags": { + "target": "com.amazonaws.qconnect#Tags", "traits": { - "smithy.api#documentation": "

The maximum number of results to return per page.

", - "smithy.api#httpQuery": "maxResults" + "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

" } - }, - "origin": { - "target": "com.amazonaws.qconnect#Origin", + } + } + }, + "com.amazonaws.qconnect#LlmModelId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + } + } + }, + "com.amazonaws.qconnect#ManagedSourceConfiguration": { + "type": "union", + "members": { + "webCrawlerConfiguration": { + "target": "com.amazonaws.qconnect#WebCrawlerConfiguration", "traits": { - "smithy.api#documentation": "

The origin of the AI Agents to be listed. SYSTEM for a default AI Agent\n created by Q in Connect or CUSTOMER for an AI Agent created by calling AI Agent\n creation APIs.

", - "smithy.api#httpQuery": "origin" + "smithy.api#documentation": "

Configuration data for web crawler data source.

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

Source configuration for managed resources.

" } }, - "com.amazonaws.qconnect#ListAIAgentsResponse": { + "com.amazonaws.qconnect#ManualSearchAIAgentConfiguration": { "type": "structure", "members": { - "aiAgentSummaries": { - "target": "com.amazonaws.qconnect#AIAgentSummaryList", + "answerGenerationAIPromptId": { + "target": "com.amazonaws.qconnect#UuidWithQualifier", "traits": { - "smithy.api#documentation": "

The summaries of AI Agents.

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

The AI Prompt identifier for the Answer Generation prompt used by the MANUAL_SEARCH AI\n Agent.

" } }, - "nextToken": { - "target": "com.amazonaws.qconnect#NextToken", + "associationConfigurations": { + "target": "com.amazonaws.qconnect#AssociationConfigurationList", "traits": { - "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

" + "smithy.api#documentation": "

The association configurations for overriding behavior on this AI Agent.

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

The configuration for the MANUAL_SEARCH AI Agent type.

" } }, - "com.amazonaws.qconnect#ListAIPromptVersions": { - "type": "operation", - "input": { - "target": "com.amazonaws.qconnect#ListAIPromptVersionsRequest" + "com.amazonaws.qconnect#MaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.qconnect#MessageTemplate": { + "type": "resource", + "identifiers": { + "messageTemplateId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier" + }, + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#UuidOrArn" + } }, - "output": { - "target": "com.amazonaws.qconnect#ListAIPromptVersionsResponse" + "create": { + "target": "com.amazonaws.qconnect#CreateMessageTemplate" }, - "errors": [ + "read": { + "target": "com.amazonaws.qconnect#GetMessageTemplate" + }, + "update": { + "target": "com.amazonaws.qconnect#UpdateMessageTemplate" + }, + "delete": { + "target": "com.amazonaws.qconnect#DeleteMessageTemplate" + }, + "list": { + "target": "com.amazonaws.qconnect#ListMessageTemplates" + }, + "operations": [ { - "target": "com.amazonaws.qconnect#AccessDeniedException" + "target": "com.amazonaws.qconnect#ActivateMessageTemplate" }, { - "target": "com.amazonaws.qconnect#ResourceNotFoundException" + "target": "com.amazonaws.qconnect#CreateMessageTemplateAttachment" }, { - "target": "com.amazonaws.qconnect#ThrottlingException" + "target": "com.amazonaws.qconnect#CreateMessageTemplateVersion" }, { - "target": "com.amazonaws.qconnect#ValidationException" + "target": "com.amazonaws.qconnect#DeactivateMessageTemplate" + }, + { + "target": "com.amazonaws.qconnect#DeleteMessageTemplateAttachment" + }, + { + "target": "com.amazonaws.qconnect#ListMessageTemplateVersions" + }, + { + "target": "com.amazonaws.qconnect#RenderMessageTemplate" + }, + { + "target": "com.amazonaws.qconnect#UpdateMessageTemplateMetadata" } ], "traits": { - "smithy.api#documentation": "

Lists AI Prompt versions.

", - "smithy.api#http": { - "uri": "/assistants/{assistantId}/aiprompts/{aiPromptId}/versions", - "method": "GET" - }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "pageSize": "maxResults", - "items": "aiPromptVersionSummaries" + "aws.api#arn": { + "template": "message-template/{knowledgeBaseId}/{messageTemplateId}" + }, + "aws.iam#disableConditionKeyInference": {} + } + }, + "com.amazonaws.qconnect#MessageTemplateAttachment": { + "type": "structure", + "members": { + "contentDisposition": { + "target": "com.amazonaws.qconnect#ContentDisposition", + "traits": { + "smithy.api#documentation": "

The presentation information for the attachment file.

", + "smithy.api#required": {} + } + }, + "name": { + "target": "com.amazonaws.qconnect#AttachmentFileName", + "traits": { + "smithy.api#documentation": "

The name of the attachment file being uploaded. The name should include the file extension.

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

The timestamp when the attachment file was uploaded.

", + "smithy.api#required": {}, + "smithy.api#timestampFormat": "date-time" + } + }, + "url": { + "target": "com.amazonaws.qconnect#Url", + "traits": { + "smithy.api#documentation": "

A pre-signed Amazon S3 URL that can be used to download the attachment file.

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

The expiration time of the pre-signed Amazon S3 URL.

", + "smithy.api#required": {}, + "smithy.api#timestampFormat": "date-time" + } + }, + "attachmentId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

The identifier of the attachment file.

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

Information about the message template attachment.

" + } + }, + "com.amazonaws.qconnect#MessageTemplateAttachmentList": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#MessageTemplateAttachment" + }, + "traits": { + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.qconnect#MessageTemplateAttributeKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 32767 + } + } + }, + "com.amazonaws.qconnect#MessageTemplateAttributeKeyList": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeKey" + }, + "traits": { + "smithy.api#sensitive": {}, + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.qconnect#MessageTemplateAttributeType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "SYSTEM", + "name": "SYSTEM" + }, + { + "value": "AGENT", + "name": "AGENT" + }, + { + "value": "CUSTOMER_PROFILE", + "name": "CUSTOMER_PROFILE" + }, + { + "value": "CUSTOM", + "name": "CUSTOM" + } + ] + } + }, + "com.amazonaws.qconnect#MessageTemplateAttributeTypeList": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeType" + }, + "traits": { + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.qconnect#MessageTemplateAttributeValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 32767 }, - "smithy.api#readonly": {} + "smithy.api#sensitive": {} } }, - "com.amazonaws.qconnect#ListAIPromptVersionsRequest": { + "com.amazonaws.qconnect#MessageTemplateAttributes": { "type": "structure", "members": { - "assistantId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "systemAttributes": { + "target": "com.amazonaws.qconnect#SystemAttributes", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

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

The system attributes that are used with the message template.

" } }, - "aiPromptId": { - "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "agentAttributes": { + "target": "com.amazonaws.qconnect#AgentAttributes", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI prompt for which versions are to be\n listed.

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

The agent attributes that are used with the message template.

" } }, - "nextToken": { - "target": "com.amazonaws.qconnect#NextToken", + "customerProfileAttributes": { + "target": "com.amazonaws.qconnect#CustomerProfileAttributes", "traits": { - "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

", - "smithy.api#httpQuery": "nextToken" + "smithy.api#documentation": "

The customer profile attributes that are used with the message template.

" } }, - "maxResults": { - "target": "com.amazonaws.qconnect#MaxResults", + "customAttributes": { + "target": "com.amazonaws.qconnect#CustomAttributes", "traits": { - "smithy.api#documentation": "

The maximum number of results to return per page.

", - "smithy.api#httpQuery": "maxResults" + "smithy.api#documentation": "

The custom attributes that are used with the message template.

" } - }, - "origin": { - "target": "com.amazonaws.qconnect#Origin", + } + }, + "traits": { + "smithy.api#documentation": "

The attributes that are used with the message template.

" + } + }, + "com.amazonaws.qconnect#MessageTemplateBodyContentProvider": { + "type": "union", + "members": { + "content": { + "target": "com.amazonaws.qconnect#NonEmptyUnlimitedString", "traits": { - "smithy.api#documentation": "

The origin of the AI Prompt versions to be listed. SYSTEM for a default AI\n Agent created by Q in Connect or CUSTOMER for an AI Agent created by calling AI\n Agent creation APIs.

", - "smithy.api#httpQuery": "origin" + "smithy.api#documentation": "

The content of the message template.

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

The container of the message template body.

" } }, - "com.amazonaws.qconnect#ListAIPromptVersionsResponse": { - "type": "structure", + "com.amazonaws.qconnect#MessageTemplateContentProvider": { + "type": "union", "members": { - "aiPromptVersionSummaries": { - "target": "com.amazonaws.qconnect#AIPromptVersionSummariesList", + "email": { + "target": "com.amazonaws.qconnect#EmailMessageTemplateContent", "traits": { - "smithy.api#documentation": "

The summaries of the AI Prompt versions.

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

The content of the message template that applies to the email channel subtype.

" } }, - "nextToken": { - "target": "com.amazonaws.qconnect#NextToken", + "sms": { + "target": "com.amazonaws.qconnect#SMSMessageTemplateContent", "traits": { - "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

" + "smithy.api#documentation": "

The content of the message template that applies to the SMS channel subtype.

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

The container of message template content.

" } }, - "com.amazonaws.qconnect#ListAIPrompts": { - "type": "operation", - "input": { - "target": "com.amazonaws.qconnect#ListAIPromptsRequest" - }, - "output": { - "target": "com.amazonaws.qconnect#ListAIPromptsResponse" - }, - "errors": [ - { - "target": "com.amazonaws.qconnect#AccessDeniedException" - }, - { - "target": "com.amazonaws.qconnect#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.qconnect#ThrottlingException" - }, - { - "target": "com.amazonaws.qconnect#ValidationException" - } - ], + "com.amazonaws.qconnect#MessageTemplateContentSha256": { + "type": "string", "traits": { - "smithy.api#documentation": "

Lists the AI Prompts available on the Amazon Q in Connect assistant.

", - "smithy.api#http": { - "uri": "/assistants/{assistantId}/aiprompts", - "method": "GET" - }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "pageSize": "maxResults", - "items": "aiPromptSummaries" + "smithy.api#length": { + "min": 1, + "max": 64 }, - "smithy.api#readonly": {} + "smithy.api#pattern": "^[a-zA-Z0-9]+$" } }, - "com.amazonaws.qconnect#ListAIPromptsRequest": { + "com.amazonaws.qconnect#MessageTemplateData": { "type": "structure", "members": { - "assistantId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "messageTemplateArn": { + "target": "com.amazonaws.qconnect#ArnWithQualifier", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

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

The Amazon Resource Name (ARN) of the message template.

", "smithy.api#required": {} } }, - "nextToken": { - "target": "com.amazonaws.qconnect#NextToken", + "messageTemplateId": { + "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

", - "smithy.api#httpQuery": "nextToken" + "smithy.api#documentation": "

The identifier of the message template.

", + "smithy.api#required": {} } }, - "maxResults": { - "target": "com.amazonaws.qconnect#MaxResults", + "knowledgeBaseArn": { + "target": "com.amazonaws.qconnect#Arn", "traits": { - "smithy.api#documentation": "

The maximum number of results to return per page.

", - "smithy.api#httpQuery": "maxResults" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the knowledge base.

", + "smithy.api#required": {} } }, - "origin": { - "target": "com.amazonaws.qconnect#Origin", + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

The origin of the AI Prompts to be listed. SYSTEM for a default AI Agent\n created by Q in Connect or CUSTOMER for an AI Agent created by calling AI Agent\n creation APIs.

", - "smithy.api#httpQuery": "origin" + "smithy.api#documentation": "

The identifier of the knowledge base.

", + "smithy.api#required": {} } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.qconnect#ListAIPromptsResponse": { - "type": "structure", - "members": { - "aiPromptSummaries": { - "target": "com.amazonaws.qconnect#AIPromptSummaryList", + }, + "name": { + "target": "com.amazonaws.qconnect#Name", "traits": { - "smithy.api#documentation": "

The summaries of the AI Prompts.

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

The name of the message template.

", "smithy.api#required": {} } }, - "nextToken": { - "target": "com.amazonaws.qconnect#NextToken", + "channelSubtype": { + "target": "com.amazonaws.qconnect#ChannelSubtype", "traits": { - "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

" + "smithy.api#documentation": "

The channel subtype this message template applies to.

", + "smithy.api#required": {} } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.qconnect#ListAssistantAssociations": { - "type": "operation", - "input": { - "target": "com.amazonaws.qconnect#ListAssistantAssociationsRequest" - }, - "output": { - "target": "com.amazonaws.qconnect#ListAssistantAssociationsResponse" - }, - "errors": [ - { - "target": "com.amazonaws.qconnect#AccessDeniedException" - }, - { - "target": "com.amazonaws.qconnect#ResourceNotFoundException" }, - { - "target": "com.amazonaws.qconnect#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Lists information about assistant associations.

", - "smithy.api#http": { - "uri": "/assistants/{assistantId}/associations", - "method": "GET" - }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "pageSize": "maxResults", - "items": "assistantAssociationSummaries" - }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.qconnect#ListAssistantAssociationsRequest": { - "type": "structure", - "members": { - "nextToken": { - "target": "com.amazonaws.qconnect#NextToken", + "createdTime": { + "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

", - "smithy.api#httpQuery": "nextToken" + "smithy.api#documentation": "

The timestamp when the message template was created.

", + "smithy.api#required": {}, + "smithy.api#timestampFormat": "date-time" } }, - "maxResults": { - "target": "com.amazonaws.qconnect#MaxResults", + "lastModifiedTime": { + "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

The maximum number of results to return per page.

", - "smithy.api#httpQuery": "maxResults" + "smithy.api#documentation": "

The timestamp when the message template data was last modified.

", + "smithy.api#required": {}, + "smithy.api#timestampFormat": "date-time" } }, - "assistantId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "lastModifiedBy": { + "target": "com.amazonaws.qconnect#GenericArn", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

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

The Amazon Resource Name (ARN) of the user who last updated the message template\n data.

", "smithy.api#required": {} } - } - } - }, - "com.amazonaws.qconnect#ListAssistantAssociationsResponse": { - "type": "structure", - "members": { - "assistantAssociationSummaries": { - "target": "com.amazonaws.qconnect#AssistantAssociationSummaryList", + }, + "content": { + "target": "com.amazonaws.qconnect#MessageTemplateContentProvider", "traits": { - "smithy.api#documentation": "

Summary information about assistant associations.

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

The content of the message template.

", "smithy.api#required": {} } }, - "nextToken": { - "target": "com.amazonaws.qconnect#NextToken", + "description": { + "target": "com.amazonaws.qconnect#Description", "traits": { - "smithy.api#documentation": "

If there are additional results, this is the token for the next set of results.

" + "smithy.api#documentation": "

The description of the message template.

" } - } - } - }, - "com.amazonaws.qconnect#ListAssistants": { - "type": "operation", - "input": { - "target": "com.amazonaws.qconnect#ListAssistantsRequest" - }, - "output": { - "target": "com.amazonaws.qconnect#ListAssistantsResponse" - }, - "errors": [ - { - "target": "com.amazonaws.qconnect#AccessDeniedException" }, - { - "target": "com.amazonaws.qconnect#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Lists information about assistants.

", - "smithy.api#http": { - "uri": "/assistants", - "method": "GET" + "language": { + "target": "com.amazonaws.qconnect#LanguageCode", + "traits": { + "smithy.api#documentation": "

The language code value for the language in which the quick response is written. The supported language codes include de_DE, en_US, es_ES,\n fr_FR, id_ID, it_IT, ja_JP, ko_KR, pt_BR,\n zh_CN, zh_TW\n

" + } }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "pageSize": "maxResults", - "items": "assistantSummaries" + "groupingConfiguration": { + "target": "com.amazonaws.qconnect#GroupingConfiguration" + }, + "defaultAttributes": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributes", + "traits": { + "smithy.api#documentation": "

An object that specifies the default values to use for variables in the message template.\n This object contains different categories of key-value pairs. Each key defines a variable or\n placeholder in the message template. The corresponding value defines the default value for\n that variable.

" + } + }, + "attributeTypes": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeTypeList", + "traits": { + "smithy.api#documentation": "

The types of attributes that the message template contains.

" + } }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.qconnect#ListAssistantsRequest": { - "type": "structure", - "members": { - "nextToken": { - "target": "com.amazonaws.qconnect#NextToken", + "messageTemplateContentSha256": { + "target": "com.amazonaws.qconnect#MessageTemplateContentSha256", "traits": { - "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

", - "smithy.api#httpQuery": "nextToken" + "smithy.api#documentation": "

The checksum value of the message template content that is referenced by the\n $LATEST qualifier. It can be returned in MessageTemplateData or\n ExtendedMessageTemplateData. It’s calculated by content, language,\n defaultAttributes and Attachments of the message template.

", + "smithy.api#required": {} } }, - "maxResults": { - "target": "com.amazonaws.qconnect#MaxResults", + "tags": { + "target": "com.amazonaws.qconnect#Tags", "traits": { - "smithy.api#documentation": "

The maximum number of results to return per page.

", - "smithy.api#httpQuery": "maxResults" + "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

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

The data of a message template.

", + "smithy.api#references": [ + { + "resource": "com.amazonaws.qconnect#MessageTemplate" + }, + { + "resource": "com.amazonaws.qconnect#KnowledgeBase" + } + ] } }, - "com.amazonaws.qconnect#ListAssistantsResponse": { + "com.amazonaws.qconnect#MessageTemplateFilterField": { "type": "structure", "members": { - "assistantSummaries": { - "target": "com.amazonaws.qconnect#AssistantList", + "name": { + "target": "com.amazonaws.qconnect#NonEmptyString", "traits": { - "smithy.api#documentation": "

Information about the assistants.

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

The name of the attribute field to filter the message templates by.

", "smithy.api#required": {} } }, - "nextToken": { - "target": "com.amazonaws.qconnect#NextToken", + "values": { + "target": "com.amazonaws.qconnect#MessageTemplateFilterValueList", "traits": { - "smithy.api#documentation": "

If there are additional results, this is the token for the next set of results.

" + "smithy.api#documentation": "

The values of attribute field to filter the message template by.

" + } + }, + "operator": { + "target": "com.amazonaws.qconnect#MessageTemplateFilterOperator", + "traits": { + "smithy.api#documentation": "

The operator to use for filtering.

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

Whether to treat null value as a match for the attribute field.

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

The message template fields to filter the message template query results by. The following\n is the list of supported field names:

\n
    \n
  • \n

    name

    \n
  • \n
  • \n

    description

    \n
  • \n
  • \n

    channel

    \n
  • \n
  • \n

    channelSubtype

    \n
  • \n
  • \n

    language

    \n
  • \n
  • \n

    qualifier

    \n
  • \n
  • \n

    createdTime

    \n
  • \n
  • \n

    lastModifiedTime

    \n
  • \n
  • \n

    lastModifiedBy

    \n
  • \n
  • \n

    groupingConfiguration.criteria

    \n
  • \n
  • \n

    groupingConfiguration.values

    \n
  • \n
" } }, - "com.amazonaws.qconnect#ListContentAssociations": { - "type": "operation", - "input": { - "target": "com.amazonaws.qconnect#ListContentAssociationsRequest" - }, - "output": { - "target": "com.amazonaws.qconnect#ListContentAssociationsResponse" + "com.amazonaws.qconnect#MessageTemplateFilterFieldList": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#MessageTemplateFilterField" }, - "errors": [ - { - "target": "com.amazonaws.qconnect#AccessDeniedException" - }, - { - "target": "com.amazonaws.qconnect#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.qconnect#ValidationException" + "traits": { + "smithy.api#length": { + "min": 0, + "max": 10 } - ], + } + }, + "com.amazonaws.qconnect#MessageTemplateFilterOperator": { + "type": "string", "traits": { - "smithy.api#documentation": "

Lists the content associations.

\n

For more information about content associations--what they are and when they are used--see\n Integrate Amazon Q in Connect with step-by-step guides in the Amazon Connect\n Administrator Guide.

", - "smithy.api#http": { - "uri": "/knowledgeBases/{knowledgeBaseId}/contents/{contentId}/associations", - "method": "GET" - }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "pageSize": "maxResults", - "items": "contentAssociationSummaries" + "smithy.api#enum": [ + { + "value": "EQUALS", + "name": "EQUALS" + }, + { + "value": "PREFIX", + "name": "PREFIX" + } + ] + } + }, + "com.amazonaws.qconnect#MessageTemplateFilterValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + } + } + }, + "com.amazonaws.qconnect#MessageTemplateFilterValueList": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#MessageTemplateFilterValue" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 5 }, - "smithy.api#readonly": {} + "smithy.api#uniqueItems": {} } }, - "com.amazonaws.qconnect#ListContentAssociationsRequest": { + "com.amazonaws.qconnect#MessageTemplateOrderField": { "type": "structure", "members": { - "nextToken": { - "target": "com.amazonaws.qconnect#NextToken", - "traits": { - "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

", - "smithy.api#httpQuery": "nextToken" - } - }, - "maxResults": { - "target": "com.amazonaws.qconnect#MaxResults", - "traits": { - "smithy.api#documentation": "

The maximum number of results to return per page.

", - "smithy.api#httpQuery": "maxResults" - } - }, - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "name": { + "target": "com.amazonaws.qconnect#NonEmptyString", "traits": { - "smithy.api#documentation": "

The identifier of the knowledge base.

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

The name of the message template.

", "smithy.api#required": {} } }, - "contentId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "order": { + "target": "com.amazonaws.qconnect#Order", "traits": { - "smithy.api#documentation": "

The identifier of the content.

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

The order at which the message templates are sorted by.

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

The message template fields to order the message template query results by. The following\n is the list of supported field names:

\n
    \n
  • \n

    name

    \n
  • \n
  • \n

    description

    \n
  • \n
  • \n

    channel

    \n
  • \n
  • \n

    channelSubtype

    \n
  • \n
  • \n

    language

    \n
  • \n
  • \n

    qualifier

    \n
  • \n
  • \n

    createdTime

    \n
  • \n
  • \n

    lastModifiedTime

    \n
  • \n
  • \n

    lastModifiedBy

    \n
  • \n
  • \n

    groupingConfiguration.criteria

    \n
  • \n
  • \n

    groupingConfiguration.values

    \n
  • \n
" } }, - "com.amazonaws.qconnect#ListContentAssociationsResponse": { + "com.amazonaws.qconnect#MessageTemplateQueryField": { "type": "structure", "members": { - "contentAssociationSummaries": { - "target": "com.amazonaws.qconnect#ContentAssociationSummaryList", + "name": { + "target": "com.amazonaws.qconnect#NonEmptyString", "traits": { - "smithy.api#documentation": "

Summary information about content associations.

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

The name of the attribute to query the message templates by.

", "smithy.api#required": {} } }, - "nextToken": { - "target": "com.amazonaws.qconnect#NextToken", + "values": { + "target": "com.amazonaws.qconnect#MessageTemplateQueryValueList", "traits": { - "smithy.api#documentation": "

If there are additional results, this is the token for the next set of results.

" + "smithy.api#documentation": "

The values of the attribute to query the message templates by.

", + "smithy.api#required": {} + } + }, + "operator": { + "target": "com.amazonaws.qconnect#MessageTemplateQueryOperator", + "traits": { + "smithy.api#documentation": "

The operator to use for matching attribute field values in the query.

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

Whether the query expects only exact matches on the attribute field values. The results of\n the query will only include exact matches if this parameter is set to false.

" + } + }, + "priority": { + "target": "com.amazonaws.qconnect#Priority", + "traits": { + "smithy.api#documentation": "

The importance of the attribute field when calculating query result relevancy scores. The\n value set for this parameter affects the ordering of search results.

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

The message template fields to query message templates by. The following is the list of\n supported field names:

\n
    \n
  • \n

    name

    \n
  • \n
  • \n

    description

    \n
  • \n
" } }, - "com.amazonaws.qconnect#ListContents": { - "type": "operation", - "input": { - "target": "com.amazonaws.qconnect#ListContentsRequest" + "com.amazonaws.qconnect#MessageTemplateQueryFieldList": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#MessageTemplateQueryField" }, - "output": { - "target": "com.amazonaws.qconnect#ListContentsResponse" + "traits": { + "smithy.api#length": { + "min": 0, + "max": 4 + } + } + }, + "com.amazonaws.qconnect#MessageTemplateQueryOperator": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "CONTAINS", + "name": "CONTAINS" + }, + { + "value": "CONTAINS_AND_PREFIX", + "name": "CONTAINS_AND_PREFIX" + } + ] + } + }, + "com.amazonaws.qconnect#MessageTemplateQueryValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + } + } + }, + "com.amazonaws.qconnect#MessageTemplateQueryValueList": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#MessageTemplateQueryValue" }, - "errors": [ - { - "target": "com.amazonaws.qconnect#AccessDeniedException" + "traits": { + "smithy.api#length": { + "min": 1, + "max": 5 }, - { - "target": "com.amazonaws.qconnect#ResourceNotFoundException" + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.qconnect#MessageTemplateSearchExpression": { + "type": "structure", + "members": { + "queries": { + "target": "com.amazonaws.qconnect#MessageTemplateQueryFieldList", + "traits": { + "smithy.api#documentation": "

The message template query expressions.

" + } }, - { - "target": "com.amazonaws.qconnect#ValidationException" + "filters": { + "target": "com.amazonaws.qconnect#MessageTemplateFilterFieldList", + "traits": { + "smithy.api#documentation": "

The configuration of filtering rules applied to message template query results.

" + } + }, + "orderOnField": { + "target": "com.amazonaws.qconnect#MessageTemplateOrderField", + "traits": { + "smithy.api#documentation": "

The message template attribute fields on which the query results are ordered.

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

Lists the content.

", - "smithy.api#http": { - "uri": "/knowledgeBases/{knowledgeBaseId}/contents", - "method": "GET" - }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "pageSize": "maxResults", - "items": "contentSummaries" - }, - "smithy.api#readonly": {} + "smithy.api#documentation": "

The search expression of the message template.

" } }, - "com.amazonaws.qconnect#ListContentsRequest": { + "com.amazonaws.qconnect#MessageTemplateSearchResultData": { "type": "structure", "members": { - "nextToken": { - "target": "com.amazonaws.qconnect#NextToken", + "messageTemplateArn": { + "target": "com.amazonaws.qconnect#ArnWithQualifier", "traits": { - "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

", - "smithy.api#httpQuery": "nextToken" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the message template.

", + "smithy.api#required": {} } }, - "maxResults": { - "target": "com.amazonaws.qconnect#MaxResults", + "messageTemplateId": { + "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

The maximum number of results to return per page.

", - "smithy.api#httpQuery": "maxResults" + "smithy.api#documentation": "

The identifier of the message template.

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

The Amazon Resource Name (ARN) of the knowledge base.

", + "smithy.api#required": {} } }, "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

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

The identifier of the knowledge base.

", "smithy.api#required": {} } - } - } - }, - "com.amazonaws.qconnect#ListContentsResponse": { - "type": "structure", - "members": { - "contentSummaries": { - "target": "com.amazonaws.qconnect#ContentSummaryList", + }, + "name": { + "target": "com.amazonaws.qconnect#Name", "traits": { - "smithy.api#documentation": "

Information about the content.

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

The name of the message template.

", "smithy.api#required": {} } }, - "nextToken": { - "target": "com.amazonaws.qconnect#NextToken", + "channelSubtype": { + "target": "com.amazonaws.qconnect#ChannelSubtype", "traits": { - "smithy.api#documentation": "

If there are additional results, this is the token for the next set of results.

" + "smithy.api#documentation": "

The channel subtype this message template applies to.

", + "smithy.api#required": {} } - } - } - }, - "com.amazonaws.qconnect#ListImportJobs": { - "type": "operation", - "input": { - "target": "com.amazonaws.qconnect#ListImportJobsRequest" - }, - "output": { - "target": "com.amazonaws.qconnect#ListImportJobsResponse" - }, - "errors": [ - { - "target": "com.amazonaws.qconnect#AccessDeniedException" }, - { - "target": "com.amazonaws.qconnect#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Lists information about import jobs.

", - "smithy.api#http": { - "uri": "/knowledgeBases/{knowledgeBaseId}/importJobs", - "method": "GET" + "createdTime": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp when the message template was created.

", + "smithy.api#required": {}, + "smithy.api#timestampFormat": "date-time" + } }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "pageSize": "maxResults", - "items": "importJobSummaries" + "lastModifiedTime": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp when the message template data was last modified.

", + "smithy.api#required": {}, + "smithy.api#timestampFormat": "date-time" + } }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.qconnect#ListImportJobsRequest": { - "type": "structure", - "members": { - "nextToken": { - "target": "com.amazonaws.qconnect#NonEmptyString", + "lastModifiedBy": { + "target": "com.amazonaws.qconnect#GenericArn", "traits": { - "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

", - "smithy.api#httpQuery": "nextToken" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the user who last updated the message template\n data.

", + "smithy.api#required": {} } }, - "maxResults": { - "target": "com.amazonaws.qconnect#MaxResults", + "isActive": { + "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

The maximum number of results to return per page.

", - "smithy.api#httpQuery": "maxResults" + "smithy.api#documentation": "

Whether the version of the message template is activated.

" } }, - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "versionNumber": { + "target": "com.amazonaws.qconnect#Version", "traits": { - "smithy.api#documentation": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

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

The version number of the message template version.

" } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.qconnect#ListImportJobsResponse": { - "type": "structure", - "members": { - "importJobSummaries": { - "target": "com.amazonaws.qconnect#ImportJobList", + }, + "description": { + "target": "com.amazonaws.qconnect#Description", "traits": { - "smithy.api#documentation": "

Summary information about the import jobs.

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

The description of the message template.

" } }, - "nextToken": { - "target": "com.amazonaws.qconnect#NonEmptyString", + "groupingConfiguration": { + "target": "com.amazonaws.qconnect#GroupingConfiguration" + }, + "language": { + "target": "com.amazonaws.qconnect#LanguageCode", "traits": { - "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

" + "smithy.api#documentation": "

The language code value for the language in which the quick response is written. The supported language codes include de_DE, en_US, es_ES,\n fr_FR, id_ID, it_IT, ja_JP, ko_KR, pt_BR,\n zh_CN, zh_TW\n

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

The tags used to organize, track, or control access for this resource.

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

The result of message template search.

", + "smithy.api#references": [ + { + "resource": "com.amazonaws.qconnect#MessageTemplate" + }, + { + "resource": "com.amazonaws.qconnect#KnowledgeBase" + } + ] } }, - "com.amazonaws.qconnect#ListKnowledgeBases": { - "type": "operation", - "input": { - "target": "com.amazonaws.qconnect#ListKnowledgeBasesRequest" - }, - "output": { - "target": "com.amazonaws.qconnect#ListKnowledgeBasesResponse" - }, - "errors": [ - { - "target": "com.amazonaws.qconnect#AccessDeniedException" - }, - { - "target": "com.amazonaws.qconnect#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Lists the knowledge bases.

", - "smithy.api#http": { - "uri": "/knowledgeBases", - "method": "GET" - }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "pageSize": "maxResults", - "items": "knowledgeBaseSummaries" - }, - "smithy.api#readonly": {} + "com.amazonaws.qconnect#MessageTemplateSearchResultsList": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#MessageTemplateSearchResultData" } }, - "com.amazonaws.qconnect#ListKnowledgeBasesRequest": { + "com.amazonaws.qconnect#MessageTemplateSummary": { "type": "structure", "members": { - "nextToken": { - "target": "com.amazonaws.qconnect#NonEmptyString", + "messageTemplateArn": { + "target": "com.amazonaws.qconnect#ArnWithQualifier", "traits": { - "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

", - "smithy.api#httpQuery": "nextToken" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the message template.

", + "smithy.api#required": {} } }, - "maxResults": { - "target": "com.amazonaws.qconnect#MaxResults", + "messageTemplateId": { + "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

The maximum number of results to return per page.

", - "smithy.api#httpQuery": "maxResults" + "smithy.api#documentation": "

The identifier of the message template.

", + "smithy.api#required": {} } - } - } - }, - "com.amazonaws.qconnect#ListKnowledgeBasesResponse": { - "type": "structure", - "members": { - "knowledgeBaseSummaries": { - "target": "com.amazonaws.qconnect#KnowledgeBaseList", + }, + "knowledgeBaseArn": { + "target": "com.amazonaws.qconnect#Arn", "traits": { - "smithy.api#documentation": "

Information about the knowledge bases.

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

The Amazon Resource Name (ARN) of the knowledge base.

", "smithy.api#required": {} } }, - "nextToken": { - "target": "com.amazonaws.qconnect#NonEmptyString", + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

If there are additional results, this is the token for the next set of results.

" + "smithy.api#documentation": "

The identifier of the knowledge base.

", + "smithy.api#required": {} } - } - } - }, - "com.amazonaws.qconnect#ListQuickResponses": { - "type": "operation", - "input": { - "target": "com.amazonaws.qconnect#ListQuickResponsesRequest" - }, - "output": { - "target": "com.amazonaws.qconnect#ListQuickResponsesResponse" - }, - "errors": [ - { - "target": "com.amazonaws.qconnect#AccessDeniedException" }, - { - "target": "com.amazonaws.qconnect#ResourceNotFoundException" + "name": { + "target": "com.amazonaws.qconnect#Name", + "traits": { + "smithy.api#documentation": "

The name of the message template.

", + "smithy.api#required": {} + } }, - { - "target": "com.amazonaws.qconnect#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Lists information about quick response.

", - "smithy.api#http": { - "uri": "/knowledgeBases/{knowledgeBaseId}/quickResponses", - "method": "GET" + "channelSubtype": { + "target": "com.amazonaws.qconnect#ChannelSubtype", + "traits": { + "smithy.api#documentation": "

The channel subtype this message template applies to.

", + "smithy.api#required": {} + } }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "pageSize": "maxResults", - "items": "quickResponseSummaries" + "createdTime": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp when the message template was created.

", + "smithy.api#required": {}, + "smithy.api#timestampFormat": "date-time" + } + }, + "lastModifiedTime": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp when the message template data was last modified.

", + "smithy.api#required": {}, + "smithy.api#timestampFormat": "date-time" + } + }, + "lastModifiedBy": { + "target": "com.amazonaws.qconnect#GenericArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the user who last updated the message template\n data.

", + "smithy.api#required": {} + } }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.qconnect#ListQuickResponsesRequest": { - "type": "structure", - "members": { - "nextToken": { - "target": "com.amazonaws.qconnect#NonEmptyString", + "activeVersionNumber": { + "target": "com.amazonaws.qconnect#Version", "traits": { - "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

", - "smithy.api#httpQuery": "nextToken" + "smithy.api#documentation": "

The version number of the message template version that is activated.

" } }, - "maxResults": { - "target": "com.amazonaws.qconnect#MaxResults", + "description": { + "target": "com.amazonaws.qconnect#Description", "traits": { - "smithy.api#documentation": "

The maximum number of results to return per page.

", - "smithy.api#httpQuery": "maxResults" + "smithy.api#documentation": "

The description of the message template.

" } }, - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "tags": { + "target": "com.amazonaws.qconnect#Tags", "traits": { - "smithy.api#documentation": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

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

The tags used to organize, track, or control access for this resource.

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

The summary of the message template.

", + "smithy.api#references": [ + { + "resource": "com.amazonaws.qconnect#MessageTemplate" + }, + { + "resource": "com.amazonaws.qconnect#KnowledgeBase" + } + ] } }, - "com.amazonaws.qconnect#ListQuickResponsesResponse": { + "com.amazonaws.qconnect#MessageTemplateSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#MessageTemplateSummary" + } + }, + "com.amazonaws.qconnect#MessageTemplateVersionSummary": { "type": "structure", "members": { - "quickResponseSummaries": { - "target": "com.amazonaws.qconnect#QuickResponseSummaryList", + "messageTemplateArn": { + "target": "com.amazonaws.qconnect#ArnWithQualifier", "traits": { - "smithy.api#documentation": "

Summary information about the quick responses.

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

The Amazon Resource Name (ARN) of the message template.

", "smithy.api#required": {} } }, - "nextToken": { - "target": "com.amazonaws.qconnect#NonEmptyString", + "messageTemplateId": { + "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

" + "smithy.api#documentation": "

The identifier of the message template.

", + "smithy.api#required": {} } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.qconnect#ListTagsForResource": { - "type": "operation", - "input": { - "target": "com.amazonaws.qconnect#ListTagsForResourceRequest" - }, - "output": { - "target": "com.amazonaws.qconnect#ListTagsForResourceResponse" - }, - "errors": [ - { - "target": "com.amazonaws.qconnect#ResourceNotFoundException" - } - ], - "traits": { - "smithy.api#documentation": "

Lists the tags for the specified resource.

", - "smithy.api#http": { - "uri": "/tags/{resourceArn}", - "method": "GET" }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.qconnect#ListTagsForResourceRequest": { - "type": "structure", - "members": { - "resourceArn": { + "knowledgeBaseArn": { "target": "com.amazonaws.qconnect#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource.

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

The Amazon Resource Name (ARN) of the knowledge base.

", "smithy.api#required": {} } - } - } - }, - "com.amazonaws.qconnect#ListTagsForResourceResponse": { - "type": "structure", - "members": { - "tags": { - "target": "com.amazonaws.qconnect#Tags", + }, + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

" + "smithy.api#documentation": "

The identifier of the knowledge base.

", + "smithy.api#required": {} } - } - } - }, - "com.amazonaws.qconnect#LlmModelId": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 128 - } - } - }, - "com.amazonaws.qconnect#ManagedSourceConfiguration": { - "type": "union", - "members": { - "webCrawlerConfiguration": { - "target": "com.amazonaws.qconnect#WebCrawlerConfiguration", + }, + "name": { + "target": "com.amazonaws.qconnect#Name", "traits": { - "smithy.api#documentation": "

Configuration data for web crawler data source.

" + "smithy.api#documentation": "

The name of the message template.

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

Source configuration for managed resources.

" - } - }, - "com.amazonaws.qconnect#ManualSearchAIAgentConfiguration": { - "type": "structure", - "members": { - "answerGenerationAIPromptId": { - "target": "com.amazonaws.qconnect#UuidWithQualifier", + }, + "channelSubtype": { + "target": "com.amazonaws.qconnect#ChannelSubtype", "traits": { - "smithy.api#documentation": "

The AI Prompt identifier for the Answer Generation prompt used by the MANUAL_SEARCH AI\n Agent.

" + "smithy.api#documentation": "

The channel subtype this message template applies to.

", + "smithy.api#required": {} } }, - "associationConfigurations": { - "target": "com.amazonaws.qconnect#AssociationConfigurationList", + "isActive": { + "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

The association configurations for overriding behavior on this AI Agent.

" + "smithy.api#documentation": "

Whether the version of the message template is activated.

", + "smithy.api#required": {} + } + }, + "versionNumber": { + "target": "com.amazonaws.qconnect#Version", + "traits": { + "smithy.api#documentation": "

The version number of the message template version.

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

The configuration for the MANUAL_SEARCH AI Agent type.

" + "smithy.api#documentation": "

The summary of the message template version.

" } }, - "com.amazonaws.qconnect#MaxResults": { - "type": "integer", - "traits": { - "smithy.api#range": { - "min": 1, - "max": 100 - } + "com.amazonaws.qconnect#MessageTemplateVersionSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#MessageTemplateVersionSummary" } }, "com.amazonaws.qconnect#Name": { @@ -6993,6 +9449,15 @@ } } }, + "com.amazonaws.qconnect#NonEmptyUnlimitedString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1 + }, + "smithy.api#sensitive": {} + } + }, "com.amazonaws.qconnect#NotifyRecommendationsReceived": { "type": "operation", "input": { @@ -7816,7 +10281,7 @@ "language": { "target": "com.amazonaws.qconnect#LanguageCode", "traits": { - "smithy.api#documentation": "

The language code value for the language in which the quick response is written.

" + "smithy.api#documentation": "

The language code value for the language in which the quick response is written. The supported language codes include de_DE, en_US, es_ES,\n fr_FR, id_ID, it_IT, ja_JP, ko_KR, pt_BR,\n zh_CN, zh_TW\n

" } }, "tags": { @@ -8787,6 +11252,94 @@ "type": "structure", "members": {} }, + "com.amazonaws.qconnect#RenderMessageTemplate": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#RenderMessageTemplateRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#RenderMessageTemplateResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Renders the Amazon Q in Connect message template based on the attribute values provided\n and generates the message content. For any variable present in the message template, if the\n attribute value is neither provided in the attribute request parameter nor the default\n attribute of the message template, the rendered message content will keep the variable\n placeholder as it is and return the attribute keys that are missing.

", + "smithy.api#http": { + "uri": "/knowledgeBases/{knowledgeBaseId}/messageTemplates/{messageTemplateId}/render", + "method": "POST" + } + } + }, + "com.amazonaws.qconnect#RenderMessageTemplateRequest": { + "type": "structure", + "members": { + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain\n the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "messageTemplateId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "traits": { + "smithy.api#documentation": "

The identifier of the message template. Can be either the ID or the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "attributes": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributes", + "traits": { + "smithy.api#documentation": "

An object that specifies the values to use for variables in the message template. This\n object contains different categories of key-value pairs. Each key defines a variable or\n placeholder in the message template. The corresponding value defines the value for that\n variable.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#RenderMessageTemplateResponse": { + "type": "structure", + "members": { + "content": { + "target": "com.amazonaws.qconnect#MessageTemplateContentProvider", + "traits": { + "smithy.api#documentation": "

The content of the message template.

", + "smithy.api#required": {} + } + }, + "attributesNotInterpolated": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeKeyList", + "traits": { + "smithy.api#documentation": "

The attribute keys that are not resolved.

" + } + }, + "attachments": { + "target": "com.amazonaws.qconnect#MessageTemplateAttachmentList", + "traits": { + "smithy.api#documentation": "

The message template attachments.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.qconnect#RenderingConfiguration": { "type": "structure", "members": { @@ -8911,15 +11464,43 @@ "com.amazonaws.qconnect#RuntimeSessionDataValue": { "type": "union", "members": { - "stringValue": { - "target": "com.amazonaws.qconnect#NonEmptySensitiveString", + "stringValue": { + "target": "com.amazonaws.qconnect#NonEmptySensitiveString", + "traits": { + "smithy.api#documentation": "

The string value of the data stored on the session.

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

A union type that specifies the data stored on the session.

" + } + }, + "com.amazonaws.qconnect#SMSMessageTemplateContent": { + "type": "structure", + "members": { + "body": { + "target": "com.amazonaws.qconnect#SMSMessageTemplateContentBody", + "traits": { + "smithy.api#documentation": "

The body to use in SMS messages.

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

The content of the message template that applies to the SMS channel subtype.

" + } + }, + "com.amazonaws.qconnect#SMSMessageTemplateContentBody": { + "type": "structure", + "members": { + "plainText": { + "target": "com.amazonaws.qconnect#MessageTemplateBodyContentProvider", "traits": { - "smithy.api#documentation": "

The string value of the data stored on the session.

" + "smithy.api#documentation": "

The message body to use in SMS messages.

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

A union type that specifies the data stored on the session.

" + "smithy.api#documentation": "

The body to use in SMS messages.

" } }, "com.amazonaws.qconnect#SearchContent": { @@ -9023,6 +11604,101 @@ "smithy.api#documentation": "

The search expression.

" } }, + "com.amazonaws.qconnect#SearchMessageTemplates": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#SearchMessageTemplatesRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#SearchMessageTemplatesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Searches for Amazon Q in Connect message templates in the specified knowledge base.

", + "smithy.api#http": { + "uri": "/knowledgeBases/{knowledgeBaseId}/search/messageTemplates", + "method": "POST" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "results" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.qconnect#SearchMessageTemplatesRequest": { + "type": "structure", + "members": { + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain\n the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "searchExpression": { + "target": "com.amazonaws.qconnect#MessageTemplateSearchExpression", + "traits": { + "smithy.api#documentation": "

The search expression for querying the message template.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", + "traits": { + "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "com.amazonaws.qconnect#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return per page.

", + "smithy.api#httpQuery": "maxResults" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#SearchMessageTemplatesResponse": { + "type": "structure", + "members": { + "results": { + "target": "com.amazonaws.qconnect#MessageTemplateSearchResultsList", + "traits": { + "smithy.api#documentation": "

The results of the message template search.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", + "traits": { + "smithy.api#documentation": "

If there are additional results, this is the token for the next set of results.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.qconnect#SearchQuickResponses": { "type": "operation", "input": { @@ -9529,7 +12205,7 @@ "citationSpan": { "target": "com.amazonaws.qconnect#CitationSpan", "traits": { - "smithy.api#documentation": "

Contains information about where the text with a citation begins and ends in the generated output.

" + "smithy.api#documentation": "

Contains information about where the text with a citation begins and ends in the generated\n output.

" } } }, @@ -9786,6 +12462,46 @@ ] } }, + "com.amazonaws.qconnect#SystemAttributes": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The name of the task.

" + } + }, + "customerEndpoint": { + "target": "com.amazonaws.qconnect#SystemEndpointAttributes", + "traits": { + "smithy.api#documentation": "

The CustomerEndpoint attribute.

" + } + }, + "systemEndpoint": { + "target": "com.amazonaws.qconnect#SystemEndpointAttributes", + "traits": { + "smithy.api#documentation": "

The SystemEndpoint attribute.

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

The system attributes that are used with the message template.

" + } + }, + "com.amazonaws.qconnect#SystemEndpointAttributes": { + "type": "structure", + "members": { + "address": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "traits": { + "smithy.api#documentation": "

The customer's phone number if used with customerEndpoint, or the number the customer\n dialed to call your contact center if used with systemEndpoint.

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

The system endpoint attributes that are used with the message template.

" + } + }, "com.amazonaws.qconnect#TagCondition": { "type": "structure", "members": { @@ -10106,7 +12822,7 @@ "clientToken": { "target": "com.amazonaws.qconnect#ClientToken", "traits": { - "smithy.api#documentation": "

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

", + "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": {} } }, @@ -10204,7 +12920,7 @@ "clientToken": { "target": "com.amazonaws.qconnect#ClientToken", "traits": { - "smithy.api#documentation": "

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

", + "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": {} } }, @@ -10489,6 +13205,181 @@ } } }, + "com.amazonaws.qconnect#UpdateMessageTemplate": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#UpdateMessageTemplateRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#UpdateMessageTemplateResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ConflictException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates the Amazon Q in Connect message template. Partial update is supported. If any\n field is not supplied, it will remain unchanged for the message template that is referenced by\n the $LATEST qualifier. Any modification will only apply to the message template\n that is referenced by the $LATEST qualifier. The fields for all available\n versions will remain unchanged.

", + "smithy.api#http": { + "uri": "/knowledgeBases/{knowledgeBaseId}/messageTemplates/{messageTemplateId}", + "method": "POST" + } + } + }, + "com.amazonaws.qconnect#UpdateMessageTemplateMetadata": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#UpdateMessageTemplateMetadataRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#UpdateMessageTemplateMetadataResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ConflictException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates the Amazon Q in Connect message template metadata. Note that any modification to\n the message template’s name, description and grouping configuration will applied to the\n message template pointed by the $LATEST qualifier and all available versions.\n Partial update is supported. If any field is not supplied, it will remain unchanged for the\n message template.

", + "smithy.api#http": { + "uri": "/knowledgeBases/{knowledgeBaseId}/messageTemplates/{messageTemplateId}/metadata", + "method": "POST" + } + } + }, + "com.amazonaws.qconnect#UpdateMessageTemplateMetadataRequest": { + "type": "structure", + "members": { + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain\n the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "messageTemplateId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "traits": { + "smithy.api#documentation": "

The identifier of the message template. Can be either the ID or the ARN. It cannot contain any qualifier.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "name": { + "target": "com.amazonaws.qconnect#Name", + "traits": { + "smithy.api#documentation": "

The name of the message template.

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

The description of the message template.

" + } + }, + "groupingConfiguration": { + "target": "com.amazonaws.qconnect#GroupingConfiguration" + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#UpdateMessageTemplateMetadataResponse": { + "type": "structure", + "members": { + "messageTemplate": { + "target": "com.amazonaws.qconnect#MessageTemplateData", + "traits": { + "smithy.api#documentation": "

The message template.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#UpdateMessageTemplateRequest": { + "type": "structure", + "members": { + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain\n the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "messageTemplateId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "traits": { + "smithy.api#documentation": "

The identifier of the message template. Can be either the ID or the ARN. It cannot contain any qualifier.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "content": { + "target": "com.amazonaws.qconnect#MessageTemplateContentProvider", + "traits": { + "smithy.api#documentation": "

The content of the message template.

" + } + }, + "language": { + "target": "com.amazonaws.qconnect#LanguageCode", + "traits": { + "smithy.api#documentation": "

The language code value for the language in which the quick response is written. The supported language codes include de_DE, en_US, es_ES,\n fr_FR, id_ID, it_IT, ja_JP, ko_KR, pt_BR,\n zh_CN, zh_TW\n

" + } + }, + "defaultAttributes": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributes", + "traits": { + "smithy.api#documentation": "

An object that specifies the default values to use for variables in the message template.\n This object contains different categories of key-value pairs. Each key defines a variable or\n placeholder in the message template. The corresponding value defines the default value for\n that variable.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#UpdateMessageTemplateResponse": { + "type": "structure", + "members": { + "messageTemplate": { + "target": "com.amazonaws.qconnect#MessageTemplateData", + "traits": { + "smithy.api#documentation": "

The message template.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.qconnect#UpdateQuickResponse": { "type": "operation", "input": {