diff --git a/clients/client-qbusiness/.gitignore b/clients/client-qbusiness/.gitignore
new file mode 100644
index 000000000000..54f14c9aef25
--- /dev/null
+++ b/clients/client-qbusiness/.gitignore
@@ -0,0 +1,9 @@
+/node_modules/
+/build/
+/coverage/
+/docs/
+/dist-*
+*.tsbuildinfo
+*.tgz
+*.log
+package-lock.json
diff --git a/clients/client-qbusiness/LICENSE b/clients/client-qbusiness/LICENSE
new file mode 100644
index 000000000000..5001cd317c44
--- /dev/null
+++ b/clients/client-qbusiness/LICENSE
@@ -0,0 +1,201 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/clients/client-qbusiness/README.md b/clients/client-qbusiness/README.md
new file mode 100644
index 000000000000..0c4c2d6a9a7c
--- /dev/null
+++ b/clients/client-qbusiness/README.md
@@ -0,0 +1,646 @@
+
+
+# @aws-sdk/client-qbusiness
+
+## Description
+
+AWS SDK for JavaScript QBusiness Client for Node.js, Browser and React Native.
+
+
+
+
+## Installing
+
+To install the this package, simply type add or install @aws-sdk/client-qbusiness
+using your favorite package manager:
+
+- `npm install @aws-sdk/client-qbusiness`
+- `yarn add @aws-sdk/client-qbusiness`
+- `pnpm add @aws-sdk/client-qbusiness`
+
+## Getting Started
+
+### Import
+
+The AWS SDK is modulized by clients and commands.
+To send a request, you only need to import the `QBusinessClient` and
+the commands you need, for example `ListApplicationsCommand`:
+
+```js
+// ES5 example
+const { QBusinessClient, ListApplicationsCommand } = require("@aws-sdk/client-qbusiness");
+```
+
+```ts
+// ES6+ example
+import { QBusinessClient, ListApplicationsCommand } from "@aws-sdk/client-qbusiness";
+```
+
+### Usage
+
+To send a request, you:
+
+- Initiate client with configuration (e.g. credentials, region).
+- Initiate command with input parameters.
+- Call `send` operation on client with command object as input.
+- If you are using a custom http handler, you may call `destroy()` to close open connections.
+
+```js
+// a client can be shared by different commands.
+const client = new QBusinessClient({ region: "REGION" });
+
+const params = {
+ /** input parameters */
+};
+const command = new ListApplicationsCommand(params);
+```
+
+#### Async/await
+
+We recommend using [await](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await)
+operator to wait for the promise returned by send operation as follows:
+
+```js
+// async/await.
+try {
+ const data = await client.send(command);
+ // process data.
+} catch (error) {
+ // error handling.
+} finally {
+ // finally.
+}
+```
+
+Async-await is clean, concise, intuitive, easy to debug and has better error handling
+as compared to using Promise chains or callbacks.
+
+#### Promises
+
+You can also use [Promise chaining](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promises#chaining)
+to execute send operation.
+
+```js
+client.send(command).then(
+ (data) => {
+ // process data.
+ },
+ (error) => {
+ // error handling.
+ }
+);
+```
+
+Promises can also be called using `.catch()` and `.finally()` as follows:
+
+```js
+client
+ .send(command)
+ .then((data) => {
+ // process data.
+ })
+ .catch((error) => {
+ // error handling.
+ })
+ .finally(() => {
+ // finally.
+ });
+```
+
+#### Callbacks
+
+We do not recommend using callbacks because of [callback hell](http://callbackhell.com/),
+but they are supported by the send operation.
+
+```js
+// callbacks.
+client.send(command, (err, data) => {
+ // process err and data.
+});
+```
+
+#### v2 compatible style
+
+The client can also send requests using v2 compatible style.
+However, it results in a bigger bundle size and may be dropped in next major version. More details in the blog post
+on [modular packages in AWS SDK for JavaScript](https://aws.amazon.com/blogs/developer/modular-packages-in-aws-sdk-for-javascript/)
+
+```ts
+import * as AWS from "@aws-sdk/client-qbusiness";
+const client = new AWS.QBusiness({ region: "REGION" });
+
+// async/await.
+try {
+ const data = await client.listApplications(params);
+ // process data.
+} catch (error) {
+ // error handling.
+}
+
+// Promises.
+client
+ .listApplications(params)
+ .then((data) => {
+ // process data.
+ })
+ .catch((error) => {
+ // error handling.
+ });
+
+// callbacks.
+client.listApplications(params, (err, data) => {
+ // process err and data.
+});
+```
+
+### Troubleshooting
+
+When the service returns an exception, the error will include the exception information,
+as well as response metadata (e.g. request id).
+
+```js
+try {
+ const data = await client.send(command);
+ // process data.
+} catch (error) {
+ const { requestId, cfId, extendedRequestId } = error.$metadata;
+ console.log({ requestId, cfId, extendedRequestId });
+ /**
+ * The keys within exceptions are also parsed.
+ * You can access them by specifying exception names:
+ * if (error.name === 'SomeServiceException') {
+ * const value = error.specialKeyInException;
+ * }
+ */
+}
+```
+
+## Getting Help
+
+Please use these community resources for getting help.
+We use the GitHub issues for tracking bugs and feature requests, but have limited bandwidth to address them.
+
+- Visit [Developer Guide](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/welcome.html)
+ or [API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/index.html).
+- Check out the blog posts tagged with [`aws-sdk-js`](https://aws.amazon.com/blogs/developer/tag/aws-sdk-js/)
+ on AWS Developer Blog.
+- Ask a question on [StackOverflow](https://stackoverflow.com/questions/tagged/aws-sdk-js) and tag it with `aws-sdk-js`.
+- Join the AWS JavaScript community on [gitter](https://gitter.im/aws/aws-sdk-js-v3).
+- If it turns out that you may have found a bug, please [open an issue](https://github.com/aws/aws-sdk-js-v3/issues/new/choose).
+
+To test your universal JavaScript code in Node.js, browser and react-native environments,
+visit our [code samples repo](https://github.com/aws-samples/aws-sdk-js-tests).
+
+## Contributing
+
+This client code is generated automatically. Any modifications will be overwritten the next time the `@aws-sdk/client-qbusiness` package is updated.
+To contribute to client you can check our [generate clients scripts](https://github.com/aws/aws-sdk-js-v3/tree/main/scripts/generate-clients).
+
+## License
+
+This SDK is distributed under the
+[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),
+see LICENSE for more information.
+
+## Client Commands (Operations List)
+
+
+
+BatchDeleteDocument
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/BatchDeleteDocumentCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/BatchDeleteDocumentCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/BatchDeleteDocumentCommandOutput/)
+
+
+
+
+BatchPutDocument
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/BatchPutDocumentCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/BatchPutDocumentCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/BatchPutDocumentCommandOutput/)
+
+
+
+
+ChatSync
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/ChatSyncCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/ChatSyncCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/ChatSyncCommandOutput/)
+
+
+
+
+CreateApplication
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/CreateApplicationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/CreateApplicationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/CreateApplicationCommandOutput/)
+
+
+
+
+CreateDataSource
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/CreateDataSourceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/CreateDataSourceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/CreateDataSourceCommandOutput/)
+
+
+
+
+CreateIndex
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/CreateIndexCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/CreateIndexCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/CreateIndexCommandOutput/)
+
+
+
+
+CreatePlugin
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/CreatePluginCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/CreatePluginCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/CreatePluginCommandOutput/)
+
+
+
+
+CreateRetriever
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/CreateRetrieverCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/CreateRetrieverCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/CreateRetrieverCommandOutput/)
+
+
+
+
+CreateUser
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/CreateUserCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/CreateUserCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/CreateUserCommandOutput/)
+
+
+
+
+CreateWebExperience
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/CreateWebExperienceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/CreateWebExperienceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/CreateWebExperienceCommandOutput/)
+
+
+
+
+DeleteApplication
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/DeleteApplicationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/DeleteApplicationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/DeleteApplicationCommandOutput/)
+
+
+
+
+DeleteChatControlsConfiguration
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/DeleteChatControlsConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/DeleteChatControlsConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/DeleteChatControlsConfigurationCommandOutput/)
+
+
+
+
+DeleteConversation
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/DeleteConversationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/DeleteConversationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/DeleteConversationCommandOutput/)
+
+
+
+
+DeleteDataSource
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/DeleteDataSourceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/DeleteDataSourceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/DeleteDataSourceCommandOutput/)
+
+
+
+
+DeleteGroup
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/DeleteGroupCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/DeleteGroupCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/DeleteGroupCommandOutput/)
+
+
+
+
+DeleteIndex
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/DeleteIndexCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/DeleteIndexCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/DeleteIndexCommandOutput/)
+
+
+
+
+DeletePlugin
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/DeletePluginCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/DeletePluginCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/DeletePluginCommandOutput/)
+
+
+
+
+DeleteRetriever
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/DeleteRetrieverCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/DeleteRetrieverCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/DeleteRetrieverCommandOutput/)
+
+
+
+
+DeleteUser
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/DeleteUserCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/DeleteUserCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/DeleteUserCommandOutput/)
+
+
+
+
+DeleteWebExperience
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/DeleteWebExperienceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/DeleteWebExperienceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/DeleteWebExperienceCommandOutput/)
+
+
+
+
+GetApplication
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/GetApplicationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/GetApplicationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/GetApplicationCommandOutput/)
+
+
+
+
+GetChatControlsConfiguration
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/GetChatControlsConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/GetChatControlsConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/GetChatControlsConfigurationCommandOutput/)
+
+
+
+
+GetDataSource
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/GetDataSourceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/GetDataSourceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/GetDataSourceCommandOutput/)
+
+
+
+
+GetGroup
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/GetGroupCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/GetGroupCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/GetGroupCommandOutput/)
+
+
+
+
+GetIndex
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/GetIndexCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/GetIndexCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/GetIndexCommandOutput/)
+
+
+
+
+GetPlugin
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/GetPluginCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/GetPluginCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/GetPluginCommandOutput/)
+
+
+
+
+GetRetriever
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/GetRetrieverCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/GetRetrieverCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/GetRetrieverCommandOutput/)
+
+
+
+
+GetUser
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/GetUserCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/GetUserCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/GetUserCommandOutput/)
+
+
+
+
+GetWebExperience
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/GetWebExperienceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/GetWebExperienceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/GetWebExperienceCommandOutput/)
+
+
+
+
+ListApplications
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/ListApplicationsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/ListApplicationsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/ListApplicationsCommandOutput/)
+
+
+
+
+ListConversations
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/ListConversationsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/ListConversationsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/ListConversationsCommandOutput/)
+
+
+
+
+ListDataSources
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/ListDataSourcesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/ListDataSourcesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/ListDataSourcesCommandOutput/)
+
+
+
+
+ListDataSourceSyncJobs
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/ListDataSourceSyncJobsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/ListDataSourceSyncJobsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/ListDataSourceSyncJobsCommandOutput/)
+
+
+
+
+ListDocuments
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/ListDocumentsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/ListDocumentsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/ListDocumentsCommandOutput/)
+
+
+
+
+ListGroups
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/ListGroupsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/ListGroupsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/ListGroupsCommandOutput/)
+
+
+
+
+ListIndices
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/ListIndicesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/ListIndicesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/ListIndicesCommandOutput/)
+
+
+
+
+ListMessages
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/ListMessagesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/ListMessagesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/ListMessagesCommandOutput/)
+
+
+
+
+ListPlugins
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/ListPluginsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/ListPluginsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/ListPluginsCommandOutput/)
+
+
+
+
+ListRetrievers
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/ListRetrieversCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/ListRetrieversCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/ListRetrieversCommandOutput/)
+
+
+
+
+ListTagsForResource
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/ListTagsForResourceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/ListTagsForResourceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/ListTagsForResourceCommandOutput/)
+
+
+
+
+ListWebExperiences
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/ListWebExperiencesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/ListWebExperiencesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/ListWebExperiencesCommandOutput/)
+
+
+
+
+PutFeedback
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/PutFeedbackCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/PutFeedbackCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/PutFeedbackCommandOutput/)
+
+
+
+
+PutGroup
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/PutGroupCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/PutGroupCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/PutGroupCommandOutput/)
+
+
+
+
+StartDataSourceSyncJob
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/StartDataSourceSyncJobCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/StartDataSourceSyncJobCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/StartDataSourceSyncJobCommandOutput/)
+
+
+
+
+StopDataSourceSyncJob
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/StopDataSourceSyncJobCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/StopDataSourceSyncJobCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/StopDataSourceSyncJobCommandOutput/)
+
+
+
+
+TagResource
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/TagResourceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/TagResourceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/TagResourceCommandOutput/)
+
+
+
+
+UntagResource
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/UntagResourceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/UntagResourceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/UntagResourceCommandOutput/)
+
+
+
+
+UpdateApplication
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/UpdateApplicationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/UpdateApplicationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/UpdateApplicationCommandOutput/)
+
+
+
+
+UpdateChatControlsConfiguration
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/UpdateChatControlsConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/UpdateChatControlsConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/UpdateChatControlsConfigurationCommandOutput/)
+
+
+
+
+UpdateDataSource
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/UpdateDataSourceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/UpdateDataSourceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/UpdateDataSourceCommandOutput/)
+
+
+
+
+UpdateIndex
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/UpdateIndexCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/UpdateIndexCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/UpdateIndexCommandOutput/)
+
+
+
+
+UpdatePlugin
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/UpdatePluginCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/UpdatePluginCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/UpdatePluginCommandOutput/)
+
+
+
+
+UpdateRetriever
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/UpdateRetrieverCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/UpdateRetrieverCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/UpdateRetrieverCommandOutput/)
+
+
+
+
+UpdateUser
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/UpdateUserCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/UpdateUserCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/UpdateUserCommandOutput/)
+
+
+
+
+UpdateWebExperience
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qbusiness/command/UpdateWebExperienceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/UpdateWebExperienceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qbusiness/Interface/UpdateWebExperienceCommandOutput/)
+
+
diff --git a/clients/client-qbusiness/api-extractor.json b/clients/client-qbusiness/api-extractor.json
new file mode 100644
index 000000000000..d5bf5ffeee85
--- /dev/null
+++ b/clients/client-qbusiness/api-extractor.json
@@ -0,0 +1,4 @@
+{
+ "extends": "../../api-extractor.json",
+ "mainEntryPointFilePath": "/dist-types/index.d.ts"
+}
diff --git a/clients/client-qbusiness/package.json b/clients/client-qbusiness/package.json
new file mode 100644
index 000000000000..dca95176fc9d
--- /dev/null
+++ b/clients/client-qbusiness/package.json
@@ -0,0 +1,104 @@
+{
+ "name": "@aws-sdk/client-qbusiness",
+ "description": "AWS SDK for JavaScript Qbusiness Client for Node.js, Browser and React Native",
+ "version": "3.0.0",
+ "scripts": {
+ "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
+ "build:cjs": "tsc -p tsconfig.cjs.json",
+ "build:docs": "typedoc",
+ "build:es": "tsc -p tsconfig.es.json",
+ "build:include:deps": "lerna run --scope $npm_package_name --include-dependencies build",
+ "build:types": "tsc -p tsconfig.types.json",
+ "build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4",
+ "clean": "rimraf ./dist-* && rimraf *.tsbuildinfo",
+ "extract:docs": "api-extractor run --local",
+ "generate:client": "node ../../scripts/generate-clients/single-service --solo qbusiness"
+ },
+ "main": "./dist-cjs/index.js",
+ "types": "./dist-types/index.d.ts",
+ "module": "./dist-es/index.js",
+ "sideEffects": false,
+ "dependencies": {
+ "@aws-crypto/sha256-browser": "3.0.0",
+ "@aws-crypto/sha256-js": "3.0.0",
+ "@aws-sdk/client-sts": "*",
+ "@aws-sdk/core": "*",
+ "@aws-sdk/credential-provider-node": "*",
+ "@aws-sdk/middleware-host-header": "*",
+ "@aws-sdk/middleware-logger": "*",
+ "@aws-sdk/middleware-recursion-detection": "*",
+ "@aws-sdk/middleware-signing": "*",
+ "@aws-sdk/middleware-user-agent": "*",
+ "@aws-sdk/region-config-resolver": "*",
+ "@aws-sdk/types": "*",
+ "@aws-sdk/util-endpoints": "*",
+ "@aws-sdk/util-user-agent-browser": "*",
+ "@aws-sdk/util-user-agent-node": "*",
+ "@smithy/config-resolver": "^2.0.18",
+ "@smithy/fetch-http-handler": "^2.2.6",
+ "@smithy/hash-node": "^2.0.15",
+ "@smithy/invalid-dependency": "^2.0.13",
+ "@smithy/middleware-content-length": "^2.0.15",
+ "@smithy/middleware-endpoint": "^2.2.0",
+ "@smithy/middleware-retry": "^2.0.20",
+ "@smithy/middleware-serde": "^2.0.13",
+ "@smithy/middleware-stack": "^2.0.7",
+ "@smithy/node-config-provider": "^2.1.5",
+ "@smithy/node-http-handler": "^2.1.9",
+ "@smithy/protocol-http": "^3.0.9",
+ "@smithy/smithy-client": "^2.1.15",
+ "@smithy/types": "^2.5.0",
+ "@smithy/url-parser": "^2.0.13",
+ "@smithy/util-base64": "^2.0.1",
+ "@smithy/util-body-length-browser": "^2.0.0",
+ "@smithy/util-body-length-node": "^2.1.0",
+ "@smithy/util-defaults-mode-browser": "^2.0.19",
+ "@smithy/util-defaults-mode-node": "^2.0.25",
+ "@smithy/util-endpoints": "^1.0.4",
+ "@smithy/util-retry": "^2.0.6",
+ "@smithy/util-utf8": "^2.0.2",
+ "tslib": "^2.5.0",
+ "uuid": "^8.3.2"
+ },
+ "devDependencies": {
+ "@smithy/service-client-documentation-generator": "^2.0.0",
+ "@tsconfig/node14": "1.0.3",
+ "@types/node": "^14.14.31",
+ "@types/uuid": "^8.3.0",
+ "concurrently": "7.0.0",
+ "downlevel-dts": "0.10.1",
+ "rimraf": "3.0.2",
+ "typedoc": "0.23.23",
+ "typescript": "~4.9.5"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "typesVersions": {
+ "<4.0": {
+ "dist-types/*": [
+ "dist-types/ts3.4/*"
+ ]
+ }
+ },
+ "files": [
+ "dist-*/**"
+ ],
+ "author": {
+ "name": "AWS SDK for JavaScript Team",
+ "url": "https://aws.amazon.com/javascript/"
+ },
+ "license": "Apache-2.0",
+ "browser": {
+ "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser"
+ },
+ "react-native": {
+ "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.native"
+ },
+ "homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-qbusiness",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/aws/aws-sdk-js-v3.git",
+ "directory": "clients/client-qbusiness"
+ }
+}
diff --git a/clients/client-qbusiness/src/QBusiness.ts b/clients/client-qbusiness/src/QBusiness.ts
new file mode 100644
index 000000000000..da3dfbc28725
--- /dev/null
+++ b/clients/client-qbusiness/src/QBusiness.ts
@@ -0,0 +1,1037 @@
+// smithy-typescript generated code
+import { createAggregatedClient } from "@smithy/smithy-client";
+import { HttpHandlerOptions as __HttpHandlerOptions } from "@smithy/types";
+
+import {
+ BatchDeleteDocumentCommand,
+ BatchDeleteDocumentCommandInput,
+ BatchDeleteDocumentCommandOutput,
+} from "./commands/BatchDeleteDocumentCommand";
+import {
+ BatchPutDocumentCommand,
+ BatchPutDocumentCommandInput,
+ BatchPutDocumentCommandOutput,
+} from "./commands/BatchPutDocumentCommand";
+import { ChatSyncCommand, ChatSyncCommandInput, ChatSyncCommandOutput } from "./commands/ChatSyncCommand";
+import {
+ CreateApplicationCommand,
+ CreateApplicationCommandInput,
+ CreateApplicationCommandOutput,
+} from "./commands/CreateApplicationCommand";
+import {
+ CreateDataSourceCommand,
+ CreateDataSourceCommandInput,
+ CreateDataSourceCommandOutput,
+} from "./commands/CreateDataSourceCommand";
+import { CreateIndexCommand, CreateIndexCommandInput, CreateIndexCommandOutput } from "./commands/CreateIndexCommand";
+import {
+ CreatePluginCommand,
+ CreatePluginCommandInput,
+ CreatePluginCommandOutput,
+} from "./commands/CreatePluginCommand";
+import {
+ CreateRetrieverCommand,
+ CreateRetrieverCommandInput,
+ CreateRetrieverCommandOutput,
+} from "./commands/CreateRetrieverCommand";
+import { CreateUserCommand, CreateUserCommandInput, CreateUserCommandOutput } from "./commands/CreateUserCommand";
+import {
+ CreateWebExperienceCommand,
+ CreateWebExperienceCommandInput,
+ CreateWebExperienceCommandOutput,
+} from "./commands/CreateWebExperienceCommand";
+import {
+ DeleteApplicationCommand,
+ DeleteApplicationCommandInput,
+ DeleteApplicationCommandOutput,
+} from "./commands/DeleteApplicationCommand";
+import {
+ DeleteChatControlsConfigurationCommand,
+ DeleteChatControlsConfigurationCommandInput,
+ DeleteChatControlsConfigurationCommandOutput,
+} from "./commands/DeleteChatControlsConfigurationCommand";
+import {
+ DeleteConversationCommand,
+ DeleteConversationCommandInput,
+ DeleteConversationCommandOutput,
+} from "./commands/DeleteConversationCommand";
+import {
+ DeleteDataSourceCommand,
+ DeleteDataSourceCommandInput,
+ DeleteDataSourceCommandOutput,
+} from "./commands/DeleteDataSourceCommand";
+import { DeleteGroupCommand, DeleteGroupCommandInput, DeleteGroupCommandOutput } from "./commands/DeleteGroupCommand";
+import { DeleteIndexCommand, DeleteIndexCommandInput, DeleteIndexCommandOutput } from "./commands/DeleteIndexCommand";
+import {
+ DeletePluginCommand,
+ DeletePluginCommandInput,
+ DeletePluginCommandOutput,
+} from "./commands/DeletePluginCommand";
+import {
+ DeleteRetrieverCommand,
+ DeleteRetrieverCommandInput,
+ DeleteRetrieverCommandOutput,
+} from "./commands/DeleteRetrieverCommand";
+import { DeleteUserCommand, DeleteUserCommandInput, DeleteUserCommandOutput } from "./commands/DeleteUserCommand";
+import {
+ DeleteWebExperienceCommand,
+ DeleteWebExperienceCommandInput,
+ DeleteWebExperienceCommandOutput,
+} from "./commands/DeleteWebExperienceCommand";
+import {
+ GetApplicationCommand,
+ GetApplicationCommandInput,
+ GetApplicationCommandOutput,
+} from "./commands/GetApplicationCommand";
+import {
+ GetChatControlsConfigurationCommand,
+ GetChatControlsConfigurationCommandInput,
+ GetChatControlsConfigurationCommandOutput,
+} from "./commands/GetChatControlsConfigurationCommand";
+import {
+ GetDataSourceCommand,
+ GetDataSourceCommandInput,
+ GetDataSourceCommandOutput,
+} from "./commands/GetDataSourceCommand";
+import { GetGroupCommand, GetGroupCommandInput, GetGroupCommandOutput } from "./commands/GetGroupCommand";
+import { GetIndexCommand, GetIndexCommandInput, GetIndexCommandOutput } from "./commands/GetIndexCommand";
+import { GetPluginCommand, GetPluginCommandInput, GetPluginCommandOutput } from "./commands/GetPluginCommand";
+import {
+ GetRetrieverCommand,
+ GetRetrieverCommandInput,
+ GetRetrieverCommandOutput,
+} from "./commands/GetRetrieverCommand";
+import { GetUserCommand, GetUserCommandInput, GetUserCommandOutput } from "./commands/GetUserCommand";
+import {
+ GetWebExperienceCommand,
+ GetWebExperienceCommandInput,
+ GetWebExperienceCommandOutput,
+} from "./commands/GetWebExperienceCommand";
+import {
+ ListApplicationsCommand,
+ ListApplicationsCommandInput,
+ ListApplicationsCommandOutput,
+} from "./commands/ListApplicationsCommand";
+import {
+ ListConversationsCommand,
+ ListConversationsCommandInput,
+ ListConversationsCommandOutput,
+} from "./commands/ListConversationsCommand";
+import {
+ ListDataSourcesCommand,
+ ListDataSourcesCommandInput,
+ ListDataSourcesCommandOutput,
+} from "./commands/ListDataSourcesCommand";
+import {
+ ListDataSourceSyncJobsCommand,
+ ListDataSourceSyncJobsCommandInput,
+ ListDataSourceSyncJobsCommandOutput,
+} from "./commands/ListDataSourceSyncJobsCommand";
+import {
+ ListDocumentsCommand,
+ ListDocumentsCommandInput,
+ ListDocumentsCommandOutput,
+} from "./commands/ListDocumentsCommand";
+import { ListGroupsCommand, ListGroupsCommandInput, ListGroupsCommandOutput } from "./commands/ListGroupsCommand";
+import { ListIndicesCommand, ListIndicesCommandInput, ListIndicesCommandOutput } from "./commands/ListIndicesCommand";
+import {
+ ListMessagesCommand,
+ ListMessagesCommandInput,
+ ListMessagesCommandOutput,
+} from "./commands/ListMessagesCommand";
+import { ListPluginsCommand, ListPluginsCommandInput, ListPluginsCommandOutput } from "./commands/ListPluginsCommand";
+import {
+ ListRetrieversCommand,
+ ListRetrieversCommandInput,
+ ListRetrieversCommandOutput,
+} from "./commands/ListRetrieversCommand";
+import {
+ ListTagsForResourceCommand,
+ ListTagsForResourceCommandInput,
+ ListTagsForResourceCommandOutput,
+} from "./commands/ListTagsForResourceCommand";
+import {
+ ListWebExperiencesCommand,
+ ListWebExperiencesCommandInput,
+ ListWebExperiencesCommandOutput,
+} from "./commands/ListWebExperiencesCommand";
+import { PutFeedbackCommand, PutFeedbackCommandInput, PutFeedbackCommandOutput } from "./commands/PutFeedbackCommand";
+import { PutGroupCommand, PutGroupCommandInput, PutGroupCommandOutput } from "./commands/PutGroupCommand";
+import {
+ StartDataSourceSyncJobCommand,
+ StartDataSourceSyncJobCommandInput,
+ StartDataSourceSyncJobCommandOutput,
+} from "./commands/StartDataSourceSyncJobCommand";
+import {
+ StopDataSourceSyncJobCommand,
+ StopDataSourceSyncJobCommandInput,
+ StopDataSourceSyncJobCommandOutput,
+} from "./commands/StopDataSourceSyncJobCommand";
+import { TagResourceCommand, TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
+import {
+ UntagResourceCommand,
+ UntagResourceCommandInput,
+ UntagResourceCommandOutput,
+} from "./commands/UntagResourceCommand";
+import {
+ UpdateApplicationCommand,
+ UpdateApplicationCommandInput,
+ UpdateApplicationCommandOutput,
+} from "./commands/UpdateApplicationCommand";
+import {
+ UpdateChatControlsConfigurationCommand,
+ UpdateChatControlsConfigurationCommandInput,
+ UpdateChatControlsConfigurationCommandOutput,
+} from "./commands/UpdateChatControlsConfigurationCommand";
+import {
+ UpdateDataSourceCommand,
+ UpdateDataSourceCommandInput,
+ UpdateDataSourceCommandOutput,
+} from "./commands/UpdateDataSourceCommand";
+import { UpdateIndexCommand, UpdateIndexCommandInput, UpdateIndexCommandOutput } from "./commands/UpdateIndexCommand";
+import {
+ UpdatePluginCommand,
+ UpdatePluginCommandInput,
+ UpdatePluginCommandOutput,
+} from "./commands/UpdatePluginCommand";
+import {
+ UpdateRetrieverCommand,
+ UpdateRetrieverCommandInput,
+ UpdateRetrieverCommandOutput,
+} from "./commands/UpdateRetrieverCommand";
+import { UpdateUserCommand, UpdateUserCommandInput, UpdateUserCommandOutput } from "./commands/UpdateUserCommand";
+import {
+ UpdateWebExperienceCommand,
+ UpdateWebExperienceCommandInput,
+ UpdateWebExperienceCommandOutput,
+} from "./commands/UpdateWebExperienceCommand";
+import { QBusinessClient, QBusinessClientConfig } from "./QBusinessClient";
+
+const commands = {
+ BatchDeleteDocumentCommand,
+ BatchPutDocumentCommand,
+ ChatSyncCommand,
+ CreateApplicationCommand,
+ CreateDataSourceCommand,
+ CreateIndexCommand,
+ CreatePluginCommand,
+ CreateRetrieverCommand,
+ CreateUserCommand,
+ CreateWebExperienceCommand,
+ DeleteApplicationCommand,
+ DeleteChatControlsConfigurationCommand,
+ DeleteConversationCommand,
+ DeleteDataSourceCommand,
+ DeleteGroupCommand,
+ DeleteIndexCommand,
+ DeletePluginCommand,
+ DeleteRetrieverCommand,
+ DeleteUserCommand,
+ DeleteWebExperienceCommand,
+ GetApplicationCommand,
+ GetChatControlsConfigurationCommand,
+ GetDataSourceCommand,
+ GetGroupCommand,
+ GetIndexCommand,
+ GetPluginCommand,
+ GetRetrieverCommand,
+ GetUserCommand,
+ GetWebExperienceCommand,
+ ListApplicationsCommand,
+ ListConversationsCommand,
+ ListDataSourcesCommand,
+ ListDataSourceSyncJobsCommand,
+ ListDocumentsCommand,
+ ListGroupsCommand,
+ ListIndicesCommand,
+ ListMessagesCommand,
+ ListPluginsCommand,
+ ListRetrieversCommand,
+ ListTagsForResourceCommand,
+ ListWebExperiencesCommand,
+ PutFeedbackCommand,
+ PutGroupCommand,
+ StartDataSourceSyncJobCommand,
+ StopDataSourceSyncJobCommand,
+ TagResourceCommand,
+ UntagResourceCommand,
+ UpdateApplicationCommand,
+ UpdateChatControlsConfigurationCommand,
+ UpdateDataSourceCommand,
+ UpdateIndexCommand,
+ UpdatePluginCommand,
+ UpdateRetrieverCommand,
+ UpdateUserCommand,
+ UpdateWebExperienceCommand,
+};
+
+export interface QBusiness {
+ /**
+ * @see {@link BatchDeleteDocumentCommand}
+ */
+ batchDeleteDocument(
+ args: BatchDeleteDocumentCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ batchDeleteDocument(
+ args: BatchDeleteDocumentCommandInput,
+ cb: (err: any, data?: BatchDeleteDocumentCommandOutput) => void
+ ): void;
+ batchDeleteDocument(
+ args: BatchDeleteDocumentCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: BatchDeleteDocumentCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link BatchPutDocumentCommand}
+ */
+ batchPutDocument(
+ args: BatchPutDocumentCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ batchPutDocument(
+ args: BatchPutDocumentCommandInput,
+ cb: (err: any, data?: BatchPutDocumentCommandOutput) => void
+ ): void;
+ batchPutDocument(
+ args: BatchPutDocumentCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: BatchPutDocumentCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link ChatSyncCommand}
+ */
+ chatSync(args: ChatSyncCommandInput, options?: __HttpHandlerOptions): Promise;
+ chatSync(args: ChatSyncCommandInput, cb: (err: any, data?: ChatSyncCommandOutput) => void): void;
+ chatSync(
+ args: ChatSyncCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ChatSyncCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link CreateApplicationCommand}
+ */
+ createApplication(
+ args: CreateApplicationCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ createApplication(
+ args: CreateApplicationCommandInput,
+ cb: (err: any, data?: CreateApplicationCommandOutput) => void
+ ): void;
+ createApplication(
+ args: CreateApplicationCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: CreateApplicationCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link CreateDataSourceCommand}
+ */
+ createDataSource(
+ args: CreateDataSourceCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ createDataSource(
+ args: CreateDataSourceCommandInput,
+ cb: (err: any, data?: CreateDataSourceCommandOutput) => void
+ ): void;
+ createDataSource(
+ args: CreateDataSourceCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: CreateDataSourceCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link CreateIndexCommand}
+ */
+ createIndex(args: CreateIndexCommandInput, options?: __HttpHandlerOptions): Promise;
+ createIndex(args: CreateIndexCommandInput, cb: (err: any, data?: CreateIndexCommandOutput) => void): void;
+ createIndex(
+ args: CreateIndexCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: CreateIndexCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link CreatePluginCommand}
+ */
+ createPlugin(args: CreatePluginCommandInput, options?: __HttpHandlerOptions): Promise;
+ createPlugin(args: CreatePluginCommandInput, cb: (err: any, data?: CreatePluginCommandOutput) => void): void;
+ createPlugin(
+ args: CreatePluginCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: CreatePluginCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link CreateRetrieverCommand}
+ */
+ createRetriever(
+ args: CreateRetrieverCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ createRetriever(args: CreateRetrieverCommandInput, cb: (err: any, data?: CreateRetrieverCommandOutput) => void): void;
+ createRetriever(
+ args: CreateRetrieverCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: CreateRetrieverCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link CreateUserCommand}
+ */
+ createUser(args: CreateUserCommandInput, options?: __HttpHandlerOptions): Promise;
+ createUser(args: CreateUserCommandInput, cb: (err: any, data?: CreateUserCommandOutput) => void): void;
+ createUser(
+ args: CreateUserCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: CreateUserCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link CreateWebExperienceCommand}
+ */
+ createWebExperience(
+ args: CreateWebExperienceCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ createWebExperience(
+ args: CreateWebExperienceCommandInput,
+ cb: (err: any, data?: CreateWebExperienceCommandOutput) => void
+ ): void;
+ createWebExperience(
+ args: CreateWebExperienceCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: CreateWebExperienceCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link DeleteApplicationCommand}
+ */
+ deleteApplication(
+ args: DeleteApplicationCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ deleteApplication(
+ args: DeleteApplicationCommandInput,
+ cb: (err: any, data?: DeleteApplicationCommandOutput) => void
+ ): void;
+ deleteApplication(
+ args: DeleteApplicationCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteApplicationCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link DeleteChatControlsConfigurationCommand}
+ */
+ deleteChatControlsConfiguration(
+ args: DeleteChatControlsConfigurationCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ deleteChatControlsConfiguration(
+ args: DeleteChatControlsConfigurationCommandInput,
+ cb: (err: any, data?: DeleteChatControlsConfigurationCommandOutput) => void
+ ): void;
+ deleteChatControlsConfiguration(
+ args: DeleteChatControlsConfigurationCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteChatControlsConfigurationCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link DeleteConversationCommand}
+ */
+ deleteConversation(
+ args: DeleteConversationCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ deleteConversation(
+ args: DeleteConversationCommandInput,
+ cb: (err: any, data?: DeleteConversationCommandOutput) => void
+ ): void;
+ deleteConversation(
+ args: DeleteConversationCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteConversationCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link DeleteDataSourceCommand}
+ */
+ deleteDataSource(
+ args: DeleteDataSourceCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ deleteDataSource(
+ args: DeleteDataSourceCommandInput,
+ cb: (err: any, data?: DeleteDataSourceCommandOutput) => void
+ ): void;
+ deleteDataSource(
+ args: DeleteDataSourceCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteDataSourceCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link DeleteGroupCommand}
+ */
+ deleteGroup(args: DeleteGroupCommandInput, options?: __HttpHandlerOptions): Promise;
+ deleteGroup(args: DeleteGroupCommandInput, cb: (err: any, data?: DeleteGroupCommandOutput) => void): void;
+ deleteGroup(
+ args: DeleteGroupCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteGroupCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link DeleteIndexCommand}
+ */
+ deleteIndex(args: DeleteIndexCommandInput, options?: __HttpHandlerOptions): Promise;
+ deleteIndex(args: DeleteIndexCommandInput, cb: (err: any, data?: DeleteIndexCommandOutput) => void): void;
+ deleteIndex(
+ args: DeleteIndexCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteIndexCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link DeletePluginCommand}
+ */
+ deletePlugin(args: DeletePluginCommandInput, options?: __HttpHandlerOptions): Promise;
+ deletePlugin(args: DeletePluginCommandInput, cb: (err: any, data?: DeletePluginCommandOutput) => void): void;
+ deletePlugin(
+ args: DeletePluginCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeletePluginCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link DeleteRetrieverCommand}
+ */
+ deleteRetriever(
+ args: DeleteRetrieverCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ deleteRetriever(args: DeleteRetrieverCommandInput, cb: (err: any, data?: DeleteRetrieverCommandOutput) => void): void;
+ deleteRetriever(
+ args: DeleteRetrieverCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteRetrieverCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link DeleteUserCommand}
+ */
+ deleteUser(args: DeleteUserCommandInput, options?: __HttpHandlerOptions): Promise;
+ deleteUser(args: DeleteUserCommandInput, cb: (err: any, data?: DeleteUserCommandOutput) => void): void;
+ deleteUser(
+ args: DeleteUserCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteUserCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link DeleteWebExperienceCommand}
+ */
+ deleteWebExperience(
+ args: DeleteWebExperienceCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ deleteWebExperience(
+ args: DeleteWebExperienceCommandInput,
+ cb: (err: any, data?: DeleteWebExperienceCommandOutput) => void
+ ): void;
+ deleteWebExperience(
+ args: DeleteWebExperienceCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteWebExperienceCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link GetApplicationCommand}
+ */
+ getApplication(
+ args: GetApplicationCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ getApplication(args: GetApplicationCommandInput, cb: (err: any, data?: GetApplicationCommandOutput) => void): void;
+ getApplication(
+ args: GetApplicationCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetApplicationCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link GetChatControlsConfigurationCommand}
+ */
+ getChatControlsConfiguration(
+ args: GetChatControlsConfigurationCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ getChatControlsConfiguration(
+ args: GetChatControlsConfigurationCommandInput,
+ cb: (err: any, data?: GetChatControlsConfigurationCommandOutput) => void
+ ): void;
+ getChatControlsConfiguration(
+ args: GetChatControlsConfigurationCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetChatControlsConfigurationCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link GetDataSourceCommand}
+ */
+ getDataSource(args: GetDataSourceCommandInput, options?: __HttpHandlerOptions): Promise;
+ getDataSource(args: GetDataSourceCommandInput, cb: (err: any, data?: GetDataSourceCommandOutput) => void): void;
+ getDataSource(
+ args: GetDataSourceCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetDataSourceCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link GetGroupCommand}
+ */
+ getGroup(args: GetGroupCommandInput, options?: __HttpHandlerOptions): Promise;
+ getGroup(args: GetGroupCommandInput, cb: (err: any, data?: GetGroupCommandOutput) => void): void;
+ getGroup(
+ args: GetGroupCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetGroupCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link GetIndexCommand}
+ */
+ getIndex(args: GetIndexCommandInput, options?: __HttpHandlerOptions): Promise;
+ getIndex(args: GetIndexCommandInput, cb: (err: any, data?: GetIndexCommandOutput) => void): void;
+ getIndex(
+ args: GetIndexCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetIndexCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link GetPluginCommand}
+ */
+ getPlugin(args: GetPluginCommandInput, options?: __HttpHandlerOptions): Promise;
+ getPlugin(args: GetPluginCommandInput, cb: (err: any, data?: GetPluginCommandOutput) => void): void;
+ getPlugin(
+ args: GetPluginCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetPluginCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link GetRetrieverCommand}
+ */
+ getRetriever(args: GetRetrieverCommandInput, options?: __HttpHandlerOptions): Promise;
+ getRetriever(args: GetRetrieverCommandInput, cb: (err: any, data?: GetRetrieverCommandOutput) => void): void;
+ getRetriever(
+ args: GetRetrieverCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetRetrieverCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link GetUserCommand}
+ */
+ getUser(args: GetUserCommandInput, options?: __HttpHandlerOptions): Promise;
+ getUser(args: GetUserCommandInput, cb: (err: any, data?: GetUserCommandOutput) => void): void;
+ getUser(
+ args: GetUserCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetUserCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link GetWebExperienceCommand}
+ */
+ getWebExperience(
+ args: GetWebExperienceCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ getWebExperience(
+ args: GetWebExperienceCommandInput,
+ cb: (err: any, data?: GetWebExperienceCommandOutput) => void
+ ): void;
+ getWebExperience(
+ args: GetWebExperienceCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetWebExperienceCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link ListApplicationsCommand}
+ */
+ listApplications(
+ args: ListApplicationsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ listApplications(
+ args: ListApplicationsCommandInput,
+ cb: (err: any, data?: ListApplicationsCommandOutput) => void
+ ): void;
+ listApplications(
+ args: ListApplicationsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListApplicationsCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link ListConversationsCommand}
+ */
+ listConversations(
+ args: ListConversationsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ listConversations(
+ args: ListConversationsCommandInput,
+ cb: (err: any, data?: ListConversationsCommandOutput) => void
+ ): void;
+ listConversations(
+ args: ListConversationsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListConversationsCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link ListDataSourcesCommand}
+ */
+ listDataSources(
+ args: ListDataSourcesCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ listDataSources(args: ListDataSourcesCommandInput, cb: (err: any, data?: ListDataSourcesCommandOutput) => void): void;
+ listDataSources(
+ args: ListDataSourcesCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListDataSourcesCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link ListDataSourceSyncJobsCommand}
+ */
+ listDataSourceSyncJobs(
+ args: ListDataSourceSyncJobsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ listDataSourceSyncJobs(
+ args: ListDataSourceSyncJobsCommandInput,
+ cb: (err: any, data?: ListDataSourceSyncJobsCommandOutput) => void
+ ): void;
+ listDataSourceSyncJobs(
+ args: ListDataSourceSyncJobsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListDataSourceSyncJobsCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link ListDocumentsCommand}
+ */
+ listDocuments(args: ListDocumentsCommandInput, options?: __HttpHandlerOptions): Promise;
+ listDocuments(args: ListDocumentsCommandInput, cb: (err: any, data?: ListDocumentsCommandOutput) => void): void;
+ listDocuments(
+ args: ListDocumentsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListDocumentsCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link ListGroupsCommand}
+ */
+ listGroups(args: ListGroupsCommandInput, options?: __HttpHandlerOptions): Promise;
+ listGroups(args: ListGroupsCommandInput, cb: (err: any, data?: ListGroupsCommandOutput) => void): void;
+ listGroups(
+ args: ListGroupsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListGroupsCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link ListIndicesCommand}
+ */
+ listIndices(args: ListIndicesCommandInput, options?: __HttpHandlerOptions): Promise;
+ listIndices(args: ListIndicesCommandInput, cb: (err: any, data?: ListIndicesCommandOutput) => void): void;
+ listIndices(
+ args: ListIndicesCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListIndicesCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link ListMessagesCommand}
+ */
+ listMessages(args: ListMessagesCommandInput, options?: __HttpHandlerOptions): Promise;
+ listMessages(args: ListMessagesCommandInput, cb: (err: any, data?: ListMessagesCommandOutput) => void): void;
+ listMessages(
+ args: ListMessagesCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListMessagesCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link ListPluginsCommand}
+ */
+ listPlugins(args: ListPluginsCommandInput, options?: __HttpHandlerOptions): Promise;
+ listPlugins(args: ListPluginsCommandInput, cb: (err: any, data?: ListPluginsCommandOutput) => void): void;
+ listPlugins(
+ args: ListPluginsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListPluginsCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link ListRetrieversCommand}
+ */
+ listRetrievers(
+ args: ListRetrieversCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ listRetrievers(args: ListRetrieversCommandInput, cb: (err: any, data?: ListRetrieversCommandOutput) => void): void;
+ listRetrievers(
+ args: ListRetrieversCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListRetrieversCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link ListTagsForResourceCommand}
+ */
+ listTagsForResource(
+ args: ListTagsForResourceCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ listTagsForResource(
+ args: ListTagsForResourceCommandInput,
+ cb: (err: any, data?: ListTagsForResourceCommandOutput) => void
+ ): void;
+ listTagsForResource(
+ args: ListTagsForResourceCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListTagsForResourceCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link ListWebExperiencesCommand}
+ */
+ listWebExperiences(
+ args: ListWebExperiencesCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ listWebExperiences(
+ args: ListWebExperiencesCommandInput,
+ cb: (err: any, data?: ListWebExperiencesCommandOutput) => void
+ ): void;
+ listWebExperiences(
+ args: ListWebExperiencesCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListWebExperiencesCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link PutFeedbackCommand}
+ */
+ putFeedback(args: PutFeedbackCommandInput, options?: __HttpHandlerOptions): Promise;
+ putFeedback(args: PutFeedbackCommandInput, cb: (err: any, data?: PutFeedbackCommandOutput) => void): void;
+ putFeedback(
+ args: PutFeedbackCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: PutFeedbackCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link PutGroupCommand}
+ */
+ putGroup(args: PutGroupCommandInput, options?: __HttpHandlerOptions): Promise;
+ putGroup(args: PutGroupCommandInput, cb: (err: any, data?: PutGroupCommandOutput) => void): void;
+ putGroup(
+ args: PutGroupCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: PutGroupCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link StartDataSourceSyncJobCommand}
+ */
+ startDataSourceSyncJob(
+ args: StartDataSourceSyncJobCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ startDataSourceSyncJob(
+ args: StartDataSourceSyncJobCommandInput,
+ cb: (err: any, data?: StartDataSourceSyncJobCommandOutput) => void
+ ): void;
+ startDataSourceSyncJob(
+ args: StartDataSourceSyncJobCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: StartDataSourceSyncJobCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link StopDataSourceSyncJobCommand}
+ */
+ stopDataSourceSyncJob(
+ args: StopDataSourceSyncJobCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ stopDataSourceSyncJob(
+ args: StopDataSourceSyncJobCommandInput,
+ cb: (err: any, data?: StopDataSourceSyncJobCommandOutput) => void
+ ): void;
+ stopDataSourceSyncJob(
+ args: StopDataSourceSyncJobCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: StopDataSourceSyncJobCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link TagResourceCommand}
+ */
+ tagResource(args: TagResourceCommandInput, options?: __HttpHandlerOptions): Promise;
+ tagResource(args: TagResourceCommandInput, cb: (err: any, data?: TagResourceCommandOutput) => void): void;
+ tagResource(
+ args: TagResourceCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: TagResourceCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link UntagResourceCommand}
+ */
+ untagResource(args: UntagResourceCommandInput, options?: __HttpHandlerOptions): Promise;
+ untagResource(args: UntagResourceCommandInput, cb: (err: any, data?: UntagResourceCommandOutput) => void): void;
+ untagResource(
+ args: UntagResourceCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: UntagResourceCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link UpdateApplicationCommand}
+ */
+ updateApplication(
+ args: UpdateApplicationCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ updateApplication(
+ args: UpdateApplicationCommandInput,
+ cb: (err: any, data?: UpdateApplicationCommandOutput) => void
+ ): void;
+ updateApplication(
+ args: UpdateApplicationCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: UpdateApplicationCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link UpdateChatControlsConfigurationCommand}
+ */
+ updateChatControlsConfiguration(
+ args: UpdateChatControlsConfigurationCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ updateChatControlsConfiguration(
+ args: UpdateChatControlsConfigurationCommandInput,
+ cb: (err: any, data?: UpdateChatControlsConfigurationCommandOutput) => void
+ ): void;
+ updateChatControlsConfiguration(
+ args: UpdateChatControlsConfigurationCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: UpdateChatControlsConfigurationCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link UpdateDataSourceCommand}
+ */
+ updateDataSource(
+ args: UpdateDataSourceCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ updateDataSource(
+ args: UpdateDataSourceCommandInput,
+ cb: (err: any, data?: UpdateDataSourceCommandOutput) => void
+ ): void;
+ updateDataSource(
+ args: UpdateDataSourceCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: UpdateDataSourceCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link UpdateIndexCommand}
+ */
+ updateIndex(args: UpdateIndexCommandInput, options?: __HttpHandlerOptions): Promise;
+ updateIndex(args: UpdateIndexCommandInput, cb: (err: any, data?: UpdateIndexCommandOutput) => void): void;
+ updateIndex(
+ args: UpdateIndexCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: UpdateIndexCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link UpdatePluginCommand}
+ */
+ updatePlugin(args: UpdatePluginCommandInput, options?: __HttpHandlerOptions): Promise;
+ updatePlugin(args: UpdatePluginCommandInput, cb: (err: any, data?: UpdatePluginCommandOutput) => void): void;
+ updatePlugin(
+ args: UpdatePluginCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: UpdatePluginCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link UpdateRetrieverCommand}
+ */
+ updateRetriever(
+ args: UpdateRetrieverCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ updateRetriever(args: UpdateRetrieverCommandInput, cb: (err: any, data?: UpdateRetrieverCommandOutput) => void): void;
+ updateRetriever(
+ args: UpdateRetrieverCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: UpdateRetrieverCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link UpdateUserCommand}
+ */
+ updateUser(args: UpdateUserCommandInput, options?: __HttpHandlerOptions): Promise;
+ updateUser(args: UpdateUserCommandInput, cb: (err: any, data?: UpdateUserCommandOutput) => void): void;
+ updateUser(
+ args: UpdateUserCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: UpdateUserCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link UpdateWebExperienceCommand}
+ */
+ updateWebExperience(
+ args: UpdateWebExperienceCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ updateWebExperience(
+ args: UpdateWebExperienceCommandInput,
+ cb: (err: any, data?: UpdateWebExperienceCommandOutput) => void
+ ): void;
+ updateWebExperience(
+ args: UpdateWebExperienceCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: UpdateWebExperienceCommandOutput) => void
+ ): void;
+}
+
+/**
+ * @public
+ *
+ *
+ */
+export class QBusiness extends QBusinessClient implements QBusiness {}
+createAggregatedClient(commands, QBusiness);
diff --git a/clients/client-qbusiness/src/QBusinessClient.ts b/clients/client-qbusiness/src/QBusinessClient.ts
new file mode 100644
index 000000000000..67d068cef4c4
--- /dev/null
+++ b/clients/client-qbusiness/src/QBusinessClient.ts
@@ -0,0 +1,487 @@
+// smithy-typescript generated code
+import {
+ getHostHeaderPlugin,
+ HostHeaderInputConfig,
+ HostHeaderResolvedConfig,
+ resolveHostHeaderConfig,
+} from "@aws-sdk/middleware-host-header";
+import { getLoggerPlugin } from "@aws-sdk/middleware-logger";
+import { getRecursionDetectionPlugin } from "@aws-sdk/middleware-recursion-detection";
+import {
+ AwsAuthInputConfig,
+ AwsAuthResolvedConfig,
+ getAwsAuthPlugin,
+ resolveAwsAuthConfig,
+} from "@aws-sdk/middleware-signing";
+import {
+ getUserAgentPlugin,
+ resolveUserAgentConfig,
+ UserAgentInputConfig,
+ UserAgentResolvedConfig,
+} from "@aws-sdk/middleware-user-agent";
+import { Credentials as __Credentials } from "@aws-sdk/types";
+import { RegionInputConfig, RegionResolvedConfig, resolveRegionConfig } from "@smithy/config-resolver";
+import { getContentLengthPlugin } from "@smithy/middleware-content-length";
+import { EndpointInputConfig, EndpointResolvedConfig, resolveEndpointConfig } from "@smithy/middleware-endpoint";
+import { getRetryPlugin, resolveRetryConfig, RetryInputConfig, RetryResolvedConfig } from "@smithy/middleware-retry";
+import { HttpHandler as __HttpHandler } from "@smithy/protocol-http";
+import {
+ Client as __Client,
+ DefaultsMode as __DefaultsMode,
+ SmithyConfiguration as __SmithyConfiguration,
+ SmithyResolvedConfiguration as __SmithyResolvedConfiguration,
+} from "@smithy/smithy-client";
+import {
+ BodyLengthCalculator as __BodyLengthCalculator,
+ CheckOptionalClientConfig as __CheckOptionalClientConfig,
+ Checksum as __Checksum,
+ ChecksumConstructor as __ChecksumConstructor,
+ Decoder as __Decoder,
+ Encoder as __Encoder,
+ EndpointV2 as __EndpointV2,
+ Hash as __Hash,
+ HashConstructor as __HashConstructor,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ Logger as __Logger,
+ Provider as __Provider,
+ Provider,
+ StreamCollector as __StreamCollector,
+ UrlParser as __UrlParser,
+ UserAgent as __UserAgent,
+} from "@smithy/types";
+
+import {
+ BatchDeleteDocumentCommandInput,
+ BatchDeleteDocumentCommandOutput,
+} from "./commands/BatchDeleteDocumentCommand";
+import { BatchPutDocumentCommandInput, BatchPutDocumentCommandOutput } from "./commands/BatchPutDocumentCommand";
+import { ChatSyncCommandInput, ChatSyncCommandOutput } from "./commands/ChatSyncCommand";
+import { CreateApplicationCommandInput, CreateApplicationCommandOutput } from "./commands/CreateApplicationCommand";
+import { CreateDataSourceCommandInput, CreateDataSourceCommandOutput } from "./commands/CreateDataSourceCommand";
+import { CreateIndexCommandInput, CreateIndexCommandOutput } from "./commands/CreateIndexCommand";
+import { CreatePluginCommandInput, CreatePluginCommandOutput } from "./commands/CreatePluginCommand";
+import { CreateRetrieverCommandInput, CreateRetrieverCommandOutput } from "./commands/CreateRetrieverCommand";
+import { CreateUserCommandInput, CreateUserCommandOutput } from "./commands/CreateUserCommand";
+import {
+ CreateWebExperienceCommandInput,
+ CreateWebExperienceCommandOutput,
+} from "./commands/CreateWebExperienceCommand";
+import { DeleteApplicationCommandInput, DeleteApplicationCommandOutput } from "./commands/DeleteApplicationCommand";
+import {
+ DeleteChatControlsConfigurationCommandInput,
+ DeleteChatControlsConfigurationCommandOutput,
+} from "./commands/DeleteChatControlsConfigurationCommand";
+import { DeleteConversationCommandInput, DeleteConversationCommandOutput } from "./commands/DeleteConversationCommand";
+import { DeleteDataSourceCommandInput, DeleteDataSourceCommandOutput } from "./commands/DeleteDataSourceCommand";
+import { DeleteGroupCommandInput, DeleteGroupCommandOutput } from "./commands/DeleteGroupCommand";
+import { DeleteIndexCommandInput, DeleteIndexCommandOutput } from "./commands/DeleteIndexCommand";
+import { DeletePluginCommandInput, DeletePluginCommandOutput } from "./commands/DeletePluginCommand";
+import { DeleteRetrieverCommandInput, DeleteRetrieverCommandOutput } from "./commands/DeleteRetrieverCommand";
+import { DeleteUserCommandInput, DeleteUserCommandOutput } from "./commands/DeleteUserCommand";
+import {
+ DeleteWebExperienceCommandInput,
+ DeleteWebExperienceCommandOutput,
+} from "./commands/DeleteWebExperienceCommand";
+import { GetApplicationCommandInput, GetApplicationCommandOutput } from "./commands/GetApplicationCommand";
+import {
+ GetChatControlsConfigurationCommandInput,
+ GetChatControlsConfigurationCommandOutput,
+} from "./commands/GetChatControlsConfigurationCommand";
+import { GetDataSourceCommandInput, GetDataSourceCommandOutput } from "./commands/GetDataSourceCommand";
+import { GetGroupCommandInput, GetGroupCommandOutput } from "./commands/GetGroupCommand";
+import { GetIndexCommandInput, GetIndexCommandOutput } from "./commands/GetIndexCommand";
+import { GetPluginCommandInput, GetPluginCommandOutput } from "./commands/GetPluginCommand";
+import { GetRetrieverCommandInput, GetRetrieverCommandOutput } from "./commands/GetRetrieverCommand";
+import { GetUserCommandInput, GetUserCommandOutput } from "./commands/GetUserCommand";
+import { GetWebExperienceCommandInput, GetWebExperienceCommandOutput } from "./commands/GetWebExperienceCommand";
+import { ListApplicationsCommandInput, ListApplicationsCommandOutput } from "./commands/ListApplicationsCommand";
+import { ListConversationsCommandInput, ListConversationsCommandOutput } from "./commands/ListConversationsCommand";
+import { ListDataSourcesCommandInput, ListDataSourcesCommandOutput } from "./commands/ListDataSourcesCommand";
+import {
+ ListDataSourceSyncJobsCommandInput,
+ ListDataSourceSyncJobsCommandOutput,
+} from "./commands/ListDataSourceSyncJobsCommand";
+import { ListDocumentsCommandInput, ListDocumentsCommandOutput } from "./commands/ListDocumentsCommand";
+import { ListGroupsCommandInput, ListGroupsCommandOutput } from "./commands/ListGroupsCommand";
+import { ListIndicesCommandInput, ListIndicesCommandOutput } from "./commands/ListIndicesCommand";
+import { ListMessagesCommandInput, ListMessagesCommandOutput } from "./commands/ListMessagesCommand";
+import { ListPluginsCommandInput, ListPluginsCommandOutput } from "./commands/ListPluginsCommand";
+import { ListRetrieversCommandInput, ListRetrieversCommandOutput } from "./commands/ListRetrieversCommand";
+import {
+ ListTagsForResourceCommandInput,
+ ListTagsForResourceCommandOutput,
+} from "./commands/ListTagsForResourceCommand";
+import { ListWebExperiencesCommandInput, ListWebExperiencesCommandOutput } from "./commands/ListWebExperiencesCommand";
+import { PutFeedbackCommandInput, PutFeedbackCommandOutput } from "./commands/PutFeedbackCommand";
+import { PutGroupCommandInput, PutGroupCommandOutput } from "./commands/PutGroupCommand";
+import {
+ StartDataSourceSyncJobCommandInput,
+ StartDataSourceSyncJobCommandOutput,
+} from "./commands/StartDataSourceSyncJobCommand";
+import {
+ StopDataSourceSyncJobCommandInput,
+ StopDataSourceSyncJobCommandOutput,
+} from "./commands/StopDataSourceSyncJobCommand";
+import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
+import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand";
+import { UpdateApplicationCommandInput, UpdateApplicationCommandOutput } from "./commands/UpdateApplicationCommand";
+import {
+ UpdateChatControlsConfigurationCommandInput,
+ UpdateChatControlsConfigurationCommandOutput,
+} from "./commands/UpdateChatControlsConfigurationCommand";
+import { UpdateDataSourceCommandInput, UpdateDataSourceCommandOutput } from "./commands/UpdateDataSourceCommand";
+import { UpdateIndexCommandInput, UpdateIndexCommandOutput } from "./commands/UpdateIndexCommand";
+import { UpdatePluginCommandInput, UpdatePluginCommandOutput } from "./commands/UpdatePluginCommand";
+import { UpdateRetrieverCommandInput, UpdateRetrieverCommandOutput } from "./commands/UpdateRetrieverCommand";
+import { UpdateUserCommandInput, UpdateUserCommandOutput } from "./commands/UpdateUserCommand";
+import {
+ UpdateWebExperienceCommandInput,
+ UpdateWebExperienceCommandOutput,
+} from "./commands/UpdateWebExperienceCommand";
+import {
+ ClientInputEndpointParameters,
+ ClientResolvedEndpointParameters,
+ EndpointParameters,
+ resolveClientEndpointParameters,
+} from "./endpoint/EndpointParameters";
+import { getRuntimeConfig as __getRuntimeConfig } from "./runtimeConfig";
+import { resolveRuntimeExtensions, RuntimeExtension, RuntimeExtensionsConfig } from "./runtimeExtensions";
+
+export { __Client };
+
+/**
+ * @public
+ */
+export type ServiceInputTypes =
+ | BatchDeleteDocumentCommandInput
+ | BatchPutDocumentCommandInput
+ | ChatSyncCommandInput
+ | CreateApplicationCommandInput
+ | CreateDataSourceCommandInput
+ | CreateIndexCommandInput
+ | CreatePluginCommandInput
+ | CreateRetrieverCommandInput
+ | CreateUserCommandInput
+ | CreateWebExperienceCommandInput
+ | DeleteApplicationCommandInput
+ | DeleteChatControlsConfigurationCommandInput
+ | DeleteConversationCommandInput
+ | DeleteDataSourceCommandInput
+ | DeleteGroupCommandInput
+ | DeleteIndexCommandInput
+ | DeletePluginCommandInput
+ | DeleteRetrieverCommandInput
+ | DeleteUserCommandInput
+ | DeleteWebExperienceCommandInput
+ | GetApplicationCommandInput
+ | GetChatControlsConfigurationCommandInput
+ | GetDataSourceCommandInput
+ | GetGroupCommandInput
+ | GetIndexCommandInput
+ | GetPluginCommandInput
+ | GetRetrieverCommandInput
+ | GetUserCommandInput
+ | GetWebExperienceCommandInput
+ | ListApplicationsCommandInput
+ | ListConversationsCommandInput
+ | ListDataSourceSyncJobsCommandInput
+ | ListDataSourcesCommandInput
+ | ListDocumentsCommandInput
+ | ListGroupsCommandInput
+ | ListIndicesCommandInput
+ | ListMessagesCommandInput
+ | ListPluginsCommandInput
+ | ListRetrieversCommandInput
+ | ListTagsForResourceCommandInput
+ | ListWebExperiencesCommandInput
+ | PutFeedbackCommandInput
+ | PutGroupCommandInput
+ | StartDataSourceSyncJobCommandInput
+ | StopDataSourceSyncJobCommandInput
+ | TagResourceCommandInput
+ | UntagResourceCommandInput
+ | UpdateApplicationCommandInput
+ | UpdateChatControlsConfigurationCommandInput
+ | UpdateDataSourceCommandInput
+ | UpdateIndexCommandInput
+ | UpdatePluginCommandInput
+ | UpdateRetrieverCommandInput
+ | UpdateUserCommandInput
+ | UpdateWebExperienceCommandInput;
+
+/**
+ * @public
+ */
+export type ServiceOutputTypes =
+ | BatchDeleteDocumentCommandOutput
+ | BatchPutDocumentCommandOutput
+ | ChatSyncCommandOutput
+ | CreateApplicationCommandOutput
+ | CreateDataSourceCommandOutput
+ | CreateIndexCommandOutput
+ | CreatePluginCommandOutput
+ | CreateRetrieverCommandOutput
+ | CreateUserCommandOutput
+ | CreateWebExperienceCommandOutput
+ | DeleteApplicationCommandOutput
+ | DeleteChatControlsConfigurationCommandOutput
+ | DeleteConversationCommandOutput
+ | DeleteDataSourceCommandOutput
+ | DeleteGroupCommandOutput
+ | DeleteIndexCommandOutput
+ | DeletePluginCommandOutput
+ | DeleteRetrieverCommandOutput
+ | DeleteUserCommandOutput
+ | DeleteWebExperienceCommandOutput
+ | GetApplicationCommandOutput
+ | GetChatControlsConfigurationCommandOutput
+ | GetDataSourceCommandOutput
+ | GetGroupCommandOutput
+ | GetIndexCommandOutput
+ | GetPluginCommandOutput
+ | GetRetrieverCommandOutput
+ | GetUserCommandOutput
+ | GetWebExperienceCommandOutput
+ | ListApplicationsCommandOutput
+ | ListConversationsCommandOutput
+ | ListDataSourceSyncJobsCommandOutput
+ | ListDataSourcesCommandOutput
+ | ListDocumentsCommandOutput
+ | ListGroupsCommandOutput
+ | ListIndicesCommandOutput
+ | ListMessagesCommandOutput
+ | ListPluginsCommandOutput
+ | ListRetrieversCommandOutput
+ | ListTagsForResourceCommandOutput
+ | ListWebExperiencesCommandOutput
+ | PutFeedbackCommandOutput
+ | PutGroupCommandOutput
+ | StartDataSourceSyncJobCommandOutput
+ | StopDataSourceSyncJobCommandOutput
+ | TagResourceCommandOutput
+ | UntagResourceCommandOutput
+ | UpdateApplicationCommandOutput
+ | UpdateChatControlsConfigurationCommandOutput
+ | UpdateDataSourceCommandOutput
+ | UpdateIndexCommandOutput
+ | UpdatePluginCommandOutput
+ | UpdateRetrieverCommandOutput
+ | UpdateUserCommandOutput
+ | UpdateWebExperienceCommandOutput;
+
+/**
+ * @public
+ */
+export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> {
+ /**
+ * The HTTP handler to use. Fetch in browser and Https in Nodejs.
+ */
+ requestHandler?: __HttpHandler;
+
+ /**
+ * A constructor for a class implementing the {@link @smithy/types#ChecksumConstructor} interface
+ * that computes the SHA-256 HMAC or checksum of a string or binary buffer.
+ * @internal
+ */
+ sha256?: __ChecksumConstructor | __HashConstructor;
+
+ /**
+ * The function that will be used to convert strings into HTTP endpoints.
+ * @internal
+ */
+ urlParser?: __UrlParser;
+
+ /**
+ * A function that can calculate the length of a request body.
+ * @internal
+ */
+ bodyLengthChecker?: __BodyLengthCalculator;
+
+ /**
+ * A function that converts a stream into an array of bytes.
+ * @internal
+ */
+ streamCollector?: __StreamCollector;
+
+ /**
+ * The function that will be used to convert a base64-encoded string to a byte array.
+ * @internal
+ */
+ base64Decoder?: __Decoder;
+
+ /**
+ * The function that will be used to convert binary data to a base64-encoded string.
+ * @internal
+ */
+ base64Encoder?: __Encoder;
+
+ /**
+ * The function that will be used to convert a UTF8-encoded string to a byte array.
+ * @internal
+ */
+ utf8Decoder?: __Decoder;
+
+ /**
+ * The function that will be used to convert binary data to a UTF-8 encoded string.
+ * @internal
+ */
+ utf8Encoder?: __Encoder;
+
+ /**
+ * The runtime environment.
+ * @internal
+ */
+ runtime?: string;
+
+ /**
+ * Disable dynamically changing the endpoint of the client based on the hostPrefix
+ * trait of an operation.
+ */
+ disableHostPrefix?: boolean;
+
+ /**
+ * Unique service identifier.
+ * @internal
+ */
+ serviceId?: string;
+
+ /**
+ * Enables IPv6/IPv4 dualstack endpoint.
+ */
+ useDualstackEndpoint?: boolean | __Provider;
+
+ /**
+ * Enables FIPS compatible endpoints.
+ */
+ useFipsEndpoint?: boolean | __Provider;
+
+ /**
+ * The AWS region to which this client will send requests
+ */
+ region?: string | __Provider;
+
+ /**
+ * Default credentials provider; Not available in browser runtime.
+ * @internal
+ */
+ credentialDefaultProvider?: (input: any) => __Provider<__Credentials>;
+
+ /**
+ * The provider populating default tracking information to be sent with `user-agent`, `x-amz-user-agent` header
+ * @internal
+ */
+ defaultUserAgentProvider?: Provider<__UserAgent>;
+
+ /**
+ * Value for how many times a request will be made at most in case of retry.
+ */
+ maxAttempts?: number | __Provider;
+
+ /**
+ * Specifies which retry algorithm to use.
+ * @see https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-smithy-util-retry/Enum/RETRY_MODES/
+ *
+ */
+ retryMode?: string | __Provider;
+
+ /**
+ * Optional logger for logging debug/info/warn/error.
+ */
+ logger?: __Logger;
+
+ /**
+ * Optional extensions
+ */
+ extensions?: RuntimeExtension[];
+
+ /**
+ * The {@link @smithy/smithy-client#DefaultsMode} that will be used to determine how certain default configuration options are resolved in the SDK.
+ */
+ defaultsMode?: __DefaultsMode | __Provider<__DefaultsMode>;
+}
+
+/**
+ * @public
+ */
+export type QBusinessClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> &
+ ClientDefaults &
+ RegionInputConfig &
+ EndpointInputConfig &
+ RetryInputConfig &
+ HostHeaderInputConfig &
+ AwsAuthInputConfig &
+ UserAgentInputConfig &
+ ClientInputEndpointParameters;
+/**
+ * @public
+ *
+ * The configuration interface of QBusinessClient class constructor that set the region, credentials and other options.
+ */
+export interface QBusinessClientConfig extends QBusinessClientConfigType {}
+
+/**
+ * @public
+ */
+export type QBusinessClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHandlerOptions> &
+ Required &
+ RuntimeExtensionsConfig &
+ RegionResolvedConfig &
+ EndpointResolvedConfig &
+ RetryResolvedConfig &
+ HostHeaderResolvedConfig &
+ AwsAuthResolvedConfig &
+ UserAgentResolvedConfig &
+ ClientResolvedEndpointParameters;
+/**
+ * @public
+ *
+ * The resolved configuration interface of QBusinessClient class. This is resolved and normalized from the {@link QBusinessClientConfig | constructor configuration interface}.
+ */
+export interface QBusinessClientResolvedConfig extends QBusinessClientResolvedConfigType {}
+
+/**
+ * @public
+ *
+ *
+ */
+export class QBusinessClient extends __Client<
+ __HttpHandlerOptions,
+ ServiceInputTypes,
+ ServiceOutputTypes,
+ QBusinessClientResolvedConfig
+> {
+ /**
+ * The resolved configuration of QBusinessClient class. This is resolved and normalized from the {@link QBusinessClientConfig | constructor configuration interface}.
+ */
+ readonly config: QBusinessClientResolvedConfig;
+
+ constructor(...[configuration]: __CheckOptionalClientConfig) {
+ const _config_0 = __getRuntimeConfig(configuration || {});
+ const _config_1 = resolveClientEndpointParameters(_config_0);
+ const _config_2 = resolveRegionConfig(_config_1);
+ const _config_3 = resolveEndpointConfig(_config_2);
+ const _config_4 = resolveRetryConfig(_config_3);
+ const _config_5 = resolveHostHeaderConfig(_config_4);
+ const _config_6 = resolveAwsAuthConfig(_config_5);
+ const _config_7 = resolveUserAgentConfig(_config_6);
+ const _config_8 = resolveRuntimeExtensions(_config_7, configuration?.extensions || []);
+ super(_config_8);
+ this.config = _config_8;
+ this.middlewareStack.use(getRetryPlugin(this.config));
+ this.middlewareStack.use(getContentLengthPlugin(this.config));
+ this.middlewareStack.use(getHostHeaderPlugin(this.config));
+ this.middlewareStack.use(getLoggerPlugin(this.config));
+ this.middlewareStack.use(getRecursionDetectionPlugin(this.config));
+ this.middlewareStack.use(getAwsAuthPlugin(this.config));
+ this.middlewareStack.use(getUserAgentPlugin(this.config));
+ }
+
+ /**
+ * Destroy underlying resources, like sockets. It's usually not necessary to do this.
+ * However in Node.js, it's best to explicitly shut down the client's agent when it is no longer needed.
+ * Otherwise, sockets might stay open for quite a long time before the server terminates them.
+ */
+ destroy(): void {
+ super.destroy();
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/BatchDeleteDocumentCommand.ts b/clients/client-qbusiness/src/commands/BatchDeleteDocumentCommand.ts
new file mode 100644
index 000000000000..7b071fe34400
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/BatchDeleteDocumentCommand.ts
@@ -0,0 +1,181 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { BatchDeleteDocumentRequest, BatchDeleteDocumentResponse } from "../models/models_0";
+import { de_BatchDeleteDocumentCommand, se_BatchDeleteDocumentCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link BatchDeleteDocumentCommand}.
+ */
+export interface BatchDeleteDocumentCommandInput extends BatchDeleteDocumentRequest {}
+/**
+ * @public
+ *
+ * The output of {@link BatchDeleteDocumentCommand}.
+ */
+export interface BatchDeleteDocumentCommandOutput extends BatchDeleteDocumentResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Asynchronously deletes one or more documents added using the
+ * BatchPutDocument
API from an Amazon Q index.
+ * You can see the progress of the deletion, and any error messages related to the
+ * process, by using CloudWatch.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, BatchDeleteDocumentCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, BatchDeleteDocumentCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // BatchDeleteDocumentRequest
+ * applicationId: "STRING_VALUE", // required
+ * indexId: "STRING_VALUE", // required
+ * documents: [ // DeleteDocuments // required
+ * { // DeleteDocument
+ * documentId: "STRING_VALUE", // required
+ * },
+ * ],
+ * dataSourceSyncId: "STRING_VALUE",
+ * };
+ * const command = new BatchDeleteDocumentCommand(input);
+ * const response = await client.send(command);
+ * // { // BatchDeleteDocumentResponse
+ * // failedDocuments: [ // FailedDocuments
+ * // { // FailedDocument
+ * // id: "STRING_VALUE",
+ * // error: { // ErrorDetail
+ * // errorMessage: "STRING_VALUE",
+ * // errorCode: "InternalError" || "InvalidRequest" || "ResourceInactive" || "ResourceNotFound",
+ * // },
+ * // dataSourceId: "STRING_VALUE",
+ * // },
+ * // ],
+ * // };
+ *
+ * ```
+ *
+ * @param BatchDeleteDocumentCommandInput - {@link BatchDeleteDocumentCommandInput}
+ * @returns {@link BatchDeleteDocumentCommandOutput}
+ * @see {@link BatchDeleteDocumentCommandInput} for command's `input` shape.
+ * @see {@link BatchDeleteDocumentCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link ConflictException} (client fault)
+ * You are trying to perform an action that conflicts with the current status of your
+ * resource. Fix any inconsistences with your resources and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class BatchDeleteDocumentCommand extends $Command<
+ BatchDeleteDocumentCommandInput,
+ BatchDeleteDocumentCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: BatchDeleteDocumentCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, BatchDeleteDocumentCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "BatchDeleteDocumentCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "BatchDeleteDocument",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: BatchDeleteDocumentCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_BatchDeleteDocumentCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_BatchDeleteDocumentCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/BatchPutDocumentCommand.ts b/clients/client-qbusiness/src/commands/BatchPutDocumentCommand.ts
new file mode 100644
index 000000000000..26ae8ca219fc
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/BatchPutDocumentCommand.ts
@@ -0,0 +1,293 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { BatchPutDocumentRequest, BatchPutDocumentResponse } from "../models/models_0";
+import { de_BatchPutDocumentCommand, se_BatchPutDocumentCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link BatchPutDocumentCommand}.
+ */
+export interface BatchPutDocumentCommandInput extends BatchPutDocumentRequest {}
+/**
+ * @public
+ *
+ * The output of {@link BatchPutDocumentCommand}.
+ */
+export interface BatchPutDocumentCommandOutput extends BatchPutDocumentResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Adds one or more documents to an Amazon Q index.
+ * You use this API to:
+ *
+ * -
+ *
ingest your structured and unstructured documents and documents stored in an
+ * Amazon S3 bucket into an Amazon Q index.
+ *
+ * -
+ *
add custom attributes to documents in an Amazon Q index.
+ *
+ * -
+ *
attach an access control list to the documents added to an Amazon Q
+ * index.
+ *
+ *
+ * You can see the progress of the deletion, and any error messages related to the
+ * process, by using CloudWatch.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, BatchPutDocumentCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, BatchPutDocumentCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // BatchPutDocumentRequest
+ * applicationId: "STRING_VALUE", // required
+ * indexId: "STRING_VALUE", // required
+ * documents: [ // Documents // required
+ * { // Document
+ * id: "STRING_VALUE", // required
+ * attributes: [ // DocumentAttributes
+ * { // DocumentAttribute
+ * name: "STRING_VALUE", // required
+ * value: { // DocumentAttributeValue Union: only one key present
+ * stringValue: "STRING_VALUE",
+ * stringListValue: [ // DocumentAttributeStringListValue
+ * "STRING_VALUE",
+ * ],
+ * longValue: Number("long"),
+ * dateValue: new Date("TIMESTAMP"),
+ * },
+ * },
+ * ],
+ * content: { // DocumentContent Union: only one key present
+ * blob: "BLOB_VALUE",
+ * s3: { // S3
+ * bucket: "STRING_VALUE", // required
+ * key: "STRING_VALUE", // required
+ * },
+ * },
+ * contentType: "PDF" || "HTML" || "MS_WORD" || "PLAIN_TEXT" || "PPT" || "RTF" || "XML" || "XSLT" || "MS_EXCEL" || "CSV" || "JSON" || "MD",
+ * title: "STRING_VALUE",
+ * accessConfiguration: { // AccessConfiguration
+ * accessControls: [ // AccessControls // required
+ * { // AccessControl
+ * principals: [ // Principals // required
+ * { // Principal Union: only one key present
+ * user: { // PrincipalUser
+ * id: "STRING_VALUE",
+ * access: "ALLOW" || "DENY", // required
+ * membershipType: "INDEX" || "DATASOURCE",
+ * },
+ * group: { // PrincipalGroup
+ * name: "STRING_VALUE",
+ * access: "ALLOW" || "DENY", // required
+ * membershipType: "INDEX" || "DATASOURCE",
+ * },
+ * },
+ * ],
+ * memberRelation: "AND" || "OR",
+ * },
+ * ],
+ * memberRelation: "AND" || "OR",
+ * },
+ * documentEnrichmentConfiguration: { // DocumentEnrichmentConfiguration
+ * inlineConfigurations: [ // InlineDocumentEnrichmentConfigurations
+ * { // InlineDocumentEnrichmentConfiguration
+ * condition: { // DocumentAttributeCondition
+ * key: "STRING_VALUE", // required
+ * operator: "GREATER_THAN" || "GREATER_THAN_OR_EQUALS" || "LESS_THAN" || "LESS_THAN_OR_EQUALS" || "EQUALS" || "NOT_EQUALS" || "CONTAINS" || "NOT_CONTAINS" || "EXISTS" || "NOT_EXISTS" || "BEGINS_WITH", // required
+ * value: {// Union: only one key present
+ * stringValue: "STRING_VALUE",
+ * stringListValue: [
+ * "STRING_VALUE",
+ * ],
+ * longValue: Number("long"),
+ * dateValue: new Date("TIMESTAMP"),
+ * },
+ * },
+ * target: { // DocumentAttributeTarget
+ * key: "STRING_VALUE", // required
+ * value: {// Union: only one key present
+ * stringValue: "STRING_VALUE",
+ * stringListValue: [
+ * "STRING_VALUE",
+ * ],
+ * longValue: Number("long"),
+ * dateValue: new Date("TIMESTAMP"),
+ * },
+ * attributeValueOperator: "DELETE",
+ * },
+ * documentContentOperator: "DELETE",
+ * },
+ * ],
+ * preExtractionHookConfiguration: { // HookConfiguration
+ * invocationCondition: {
+ * key: "STRING_VALUE", // required
+ * operator: "GREATER_THAN" || "GREATER_THAN_OR_EQUALS" || "LESS_THAN" || "LESS_THAN_OR_EQUALS" || "EQUALS" || "NOT_EQUALS" || "CONTAINS" || "NOT_CONTAINS" || "EXISTS" || "NOT_EXISTS" || "BEGINS_WITH", // required
+ * value: "",
+ * },
+ * lambdaArn: "STRING_VALUE",
+ * s3BucketName: "STRING_VALUE",
+ * roleArn: "STRING_VALUE",
+ * },
+ * postExtractionHookConfiguration: {
+ * invocationCondition: {
+ * key: "STRING_VALUE", // required
+ * operator: "GREATER_THAN" || "GREATER_THAN_OR_EQUALS" || "LESS_THAN" || "LESS_THAN_OR_EQUALS" || "EQUALS" || "NOT_EQUALS" || "CONTAINS" || "NOT_CONTAINS" || "EXISTS" || "NOT_EXISTS" || "BEGINS_WITH", // required
+ * value: "",
+ * },
+ * lambdaArn: "STRING_VALUE",
+ * s3BucketName: "STRING_VALUE",
+ * roleArn: "STRING_VALUE",
+ * },
+ * },
+ * },
+ * ],
+ * roleArn: "STRING_VALUE",
+ * dataSourceSyncId: "STRING_VALUE",
+ * };
+ * const command = new BatchPutDocumentCommand(input);
+ * const response = await client.send(command);
+ * // { // BatchPutDocumentResponse
+ * // failedDocuments: [ // FailedDocuments
+ * // { // FailedDocument
+ * // id: "STRING_VALUE",
+ * // error: { // ErrorDetail
+ * // errorMessage: "STRING_VALUE",
+ * // errorCode: "InternalError" || "InvalidRequest" || "ResourceInactive" || "ResourceNotFound",
+ * // },
+ * // dataSourceId: "STRING_VALUE",
+ * // },
+ * // ],
+ * // };
+ *
+ * ```
+ *
+ * @param BatchPutDocumentCommandInput - {@link BatchPutDocumentCommandInput}
+ * @returns {@link BatchPutDocumentCommandOutput}
+ * @see {@link BatchPutDocumentCommandInput} for command's `input` shape.
+ * @see {@link BatchPutDocumentCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link ConflictException} (client fault)
+ * You are trying to perform an action that conflicts with the current status of your
+ * resource. Fix any inconsistences with your resources and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ServiceQuotaExceededException} (client fault)
+ * You have exceeded the set limits for your Amazon Q service.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class BatchPutDocumentCommand extends $Command<
+ BatchPutDocumentCommandInput,
+ BatchPutDocumentCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: BatchPutDocumentCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, BatchPutDocumentCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "BatchPutDocumentCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "BatchPutDocument",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: BatchPutDocumentCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_BatchPutDocumentCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_BatchPutDocumentCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/ChatSyncCommand.ts b/clients/client-qbusiness/src/commands/ChatSyncCommand.ts
new file mode 100644
index 000000000000..049a7529c512
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/ChatSyncCommand.ts
@@ -0,0 +1,316 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { ChatSyncInput, ChatSyncOutput } from "../models/models_0";
+import { de_ChatSyncCommand, se_ChatSyncCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link ChatSyncCommand}.
+ */
+export interface ChatSyncCommandInput extends ChatSyncInput {}
+/**
+ * @public
+ *
+ * The output of {@link ChatSyncCommand}.
+ */
+export interface ChatSyncCommandOutput extends ChatSyncOutput, __MetadataBearer {}
+
+/**
+ * @public
+ * Starts or continues a non-streaming Amazon Q conversation.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, ChatSyncCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, ChatSyncCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // ChatSyncInput
+ * applicationId: "STRING_VALUE", // required
+ * userId: "STRING_VALUE", // required
+ * userGroups: [ // UserGroups
+ * "STRING_VALUE",
+ * ],
+ * userMessage: "STRING_VALUE",
+ * attachments: [ // AttachmentsInput
+ * { // AttachmentInput
+ * name: "STRING_VALUE", // required
+ * data: "BLOB_VALUE", // required
+ * },
+ * ],
+ * actionExecution: { // ActionExecution
+ * pluginId: "STRING_VALUE", // required
+ * payload: { // ActionExecutionPayload // required
+ * "": { // ActionExecutionPayloadField
+ * value: "DOCUMENT_VALUE", // required
+ * },
+ * },
+ * payloadFieldNameSeparator: "STRING_VALUE", // required
+ * },
+ * conversationId: "STRING_VALUE",
+ * parentMessageId: "STRING_VALUE",
+ * attributeFilter: { // AttributeFilter
+ * andAllFilters: [ // AttributeFilters
+ * {
+ * andAllFilters: [
+ * "",
+ * ],
+ * orAllFilters: [
+ * "",
+ * ],
+ * notFilter: "",
+ * equalsTo: { // DocumentAttribute
+ * name: "STRING_VALUE", // required
+ * value: { // DocumentAttributeValue Union: only one key present
+ * stringValue: "STRING_VALUE",
+ * stringListValue: [ // DocumentAttributeStringListValue
+ * "STRING_VALUE",
+ * ],
+ * longValue: Number("long"),
+ * dateValue: new Date("TIMESTAMP"),
+ * },
+ * },
+ * containsAll: {
+ * name: "STRING_VALUE", // required
+ * value: {// Union: only one key present
+ * stringValue: "STRING_VALUE",
+ * stringListValue: [
+ * "STRING_VALUE",
+ * ],
+ * longValue: Number("long"),
+ * dateValue: new Date("TIMESTAMP"),
+ * },
+ * },
+ * containsAny: {
+ * name: "STRING_VALUE", // required
+ * value: {// Union: only one key present
+ * stringValue: "STRING_VALUE",
+ * stringListValue: [
+ * "STRING_VALUE",
+ * ],
+ * longValue: Number("long"),
+ * dateValue: new Date("TIMESTAMP"),
+ * },
+ * },
+ * greaterThan: {
+ * name: "STRING_VALUE", // required
+ * value: {// Union: only one key present
+ * stringValue: "STRING_VALUE",
+ * stringListValue: [
+ * "STRING_VALUE",
+ * ],
+ * longValue: Number("long"),
+ * dateValue: new Date("TIMESTAMP"),
+ * },
+ * },
+ * greaterThanOrEquals: {
+ * name: "STRING_VALUE", // required
+ * value: {// Union: only one key present
+ * stringValue: "STRING_VALUE",
+ * stringListValue: [
+ * "STRING_VALUE",
+ * ],
+ * longValue: Number("long"),
+ * dateValue: new Date("TIMESTAMP"),
+ * },
+ * },
+ * lessThan: "",
+ * lessThanOrEquals: "",
+ * },
+ * ],
+ * orAllFilters: [
+ * "",
+ * ],
+ * notFilter: "",
+ * equalsTo: "",
+ * containsAll: "",
+ * containsAny: "",
+ * greaterThan: "",
+ * greaterThanOrEquals: "",
+ * lessThan: "",
+ * lessThanOrEquals: "",
+ * },
+ * clientToken: "STRING_VALUE",
+ * };
+ * const command = new ChatSyncCommand(input);
+ * const response = await client.send(command);
+ * // { // ChatSyncOutput
+ * // conversationId: "STRING_VALUE",
+ * // systemMessage: "STRING_VALUE",
+ * // systemMessageId: "STRING_VALUE",
+ * // userMessageId: "STRING_VALUE",
+ * // actionReview: { // ActionReview
+ * // pluginId: "STRING_VALUE",
+ * // pluginType: "SERVICE_NOW" || "SALESFORCE" || "JIRA" || "ZENDESK",
+ * // payload: { // ActionReviewPayload
+ * // "": { // ActionReviewPayloadField
+ * // displayName: "STRING_VALUE",
+ * // displayOrder: Number("int"),
+ * // type: "STRING" || "NUMBER" || "ARRAY" || "BOOLEAN",
+ * // value: "DOCUMENT_VALUE",
+ * // allowedValues: [ // ActionReviewPayloadFieldAllowedValues
+ * // { // ActionReviewPayloadFieldAllowedValue
+ * // value: "DOCUMENT_VALUE",
+ * // displayValue: "DOCUMENT_VALUE",
+ * // },
+ * // ],
+ * // required: true || false,
+ * // },
+ * // },
+ * // payloadFieldNameSeparator: "STRING_VALUE",
+ * // },
+ * // sourceAttributions: [ // SourceAttributions
+ * // { // SourceAttribution
+ * // title: "STRING_VALUE",
+ * // snippet: "STRING_VALUE",
+ * // url: "STRING_VALUE",
+ * // citationNumber: Number("int"),
+ * // updatedAt: new Date("TIMESTAMP"),
+ * // textMessageSegments: [ // TextSegmentList
+ * // { // TextSegment
+ * // beginOffset: Number("int"),
+ * // endOffset: Number("int"),
+ * // },
+ * // ],
+ * // },
+ * // ],
+ * // failedAttachments: [ // AttachmentsOutput
+ * // { // AttachmentOutput
+ * // name: "STRING_VALUE",
+ * // status: "FAILED" || "SUCCEEDED",
+ * // error: { // ErrorDetail
+ * // errorMessage: "STRING_VALUE",
+ * // errorCode: "InternalError" || "InvalidRequest" || "ResourceInactive" || "ResourceNotFound",
+ * // },
+ * // },
+ * // ],
+ * // };
+ *
+ * ```
+ *
+ * @param ChatSyncCommandInput - {@link ChatSyncCommandInput}
+ * @returns {@link ChatSyncCommandOutput}
+ * @see {@link ChatSyncCommandInput} for command's `input` shape.
+ * @see {@link ChatSyncCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link ConflictException} (client fault)
+ * You are trying to perform an action that conflicts with the current status of your
+ * resource. Fix any inconsistences with your resources and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link LicenseNotFoundException} (client fault)
+ * You don't have permissions to perform the action because your license is inactive. Ask
+ * your admin to activate your license and try again after your licence is active.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class ChatSyncCommand extends $Command<
+ ChatSyncCommandInput,
+ ChatSyncCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: ChatSyncCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(getEndpointPlugin(configuration, ChatSyncCommand.getEndpointParameterInstructions()));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "ChatSyncCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "ChatSync",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: ChatSyncCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_ChatSyncCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_ChatSyncCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/CreateApplicationCommand.ts b/clients/client-qbusiness/src/commands/CreateApplicationCommand.ts
new file mode 100644
index 000000000000..4dea63662e92
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/CreateApplicationCommand.ts
@@ -0,0 +1,185 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import {
+ CreateApplicationRequest,
+ CreateApplicationRequestFilterSensitiveLog,
+ CreateApplicationResponse,
+} from "../models/models_0";
+import { de_CreateApplicationCommand, se_CreateApplicationCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link CreateApplicationCommand}.
+ */
+export interface CreateApplicationCommandInput extends CreateApplicationRequest {}
+/**
+ * @public
+ *
+ * The output of {@link CreateApplicationCommand}.
+ */
+export interface CreateApplicationCommandOutput extends CreateApplicationResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Creates an Amazon Q application.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, CreateApplicationCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, CreateApplicationCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // CreateApplicationRequest
+ * displayName: "STRING_VALUE", // required
+ * roleArn: "STRING_VALUE", // required
+ * description: "STRING_VALUE",
+ * encryptionConfiguration: { // EncryptionConfiguration
+ * kmsKeyId: "STRING_VALUE",
+ * },
+ * tags: [ // Tags
+ * { // Tag
+ * key: "STRING_VALUE", // required
+ * value: "STRING_VALUE", // required
+ * },
+ * ],
+ * clientToken: "STRING_VALUE",
+ * attachmentsConfiguration: { // AttachmentsConfiguration
+ * attachmentsControlMode: "ENABLED" || "DISABLED", // required
+ * },
+ * };
+ * const command = new CreateApplicationCommand(input);
+ * const response = await client.send(command);
+ * // { // CreateApplicationResponse
+ * // applicationId: "STRING_VALUE",
+ * // applicationArn: "STRING_VALUE",
+ * // };
+ *
+ * ```
+ *
+ * @param CreateApplicationCommandInput - {@link CreateApplicationCommandInput}
+ * @returns {@link CreateApplicationCommandOutput}
+ * @see {@link CreateApplicationCommandInput} for command's `input` shape.
+ * @see {@link CreateApplicationCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link ConflictException} (client fault)
+ * You are trying to perform an action that conflicts with the current status of your
+ * resource. Fix any inconsistences with your resources and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ServiceQuotaExceededException} (client fault)
+ * You have exceeded the set limits for your Amazon Q service.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class CreateApplicationCommand extends $Command<
+ CreateApplicationCommandInput,
+ CreateApplicationCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: CreateApplicationCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, CreateApplicationCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "CreateApplicationCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: CreateApplicationRequestFilterSensitiveLog,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "CreateApplication",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: CreateApplicationCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_CreateApplicationCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_CreateApplicationCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/CreateDataSourceCommand.ts b/clients/client-qbusiness/src/commands/CreateDataSourceCommand.ts
new file mode 100644
index 000000000000..6a8f62af99d7
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/CreateDataSourceCommand.ts
@@ -0,0 +1,255 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { CreateDataSourceRequest, CreateDataSourceResponse } from "../models/models_0";
+import { de_CreateDataSourceCommand, se_CreateDataSourceCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link CreateDataSourceCommand}.
+ */
+export interface CreateDataSourceCommandInput extends CreateDataSourceRequest {}
+/**
+ * @public
+ *
+ * The output of {@link CreateDataSourceCommand}.
+ */
+export interface CreateDataSourceCommandOutput extends CreateDataSourceResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Creates a data source connector for an Amazon Q application.
+ *
+ * CreateDataSource
is a synchronous operation. The operation returns 200 if
+ * the data source was successfully created. Otherwise, an exception is raised.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, CreateDataSourceCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, CreateDataSourceCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // CreateDataSourceRequest
+ * applicationId: "STRING_VALUE", // required
+ * indexId: "STRING_VALUE", // required
+ * displayName: "STRING_VALUE", // required
+ * configuration: "DOCUMENT_VALUE", // required
+ * vpcConfiguration: { // DataSourceVpcConfiguration
+ * subnetIds: [ // SubnetIds // required
+ * "STRING_VALUE",
+ * ],
+ * securityGroupIds: [ // SecurityGroupIds // required
+ * "STRING_VALUE",
+ * ],
+ * },
+ * description: "STRING_VALUE",
+ * tags: [ // Tags
+ * { // Tag
+ * key: "STRING_VALUE", // required
+ * value: "STRING_VALUE", // required
+ * },
+ * ],
+ * syncSchedule: "STRING_VALUE",
+ * roleArn: "STRING_VALUE",
+ * clientToken: "STRING_VALUE",
+ * documentEnrichmentConfiguration: { // DocumentEnrichmentConfiguration
+ * inlineConfigurations: [ // InlineDocumentEnrichmentConfigurations
+ * { // InlineDocumentEnrichmentConfiguration
+ * condition: { // DocumentAttributeCondition
+ * key: "STRING_VALUE", // required
+ * operator: "GREATER_THAN" || "GREATER_THAN_OR_EQUALS" || "LESS_THAN" || "LESS_THAN_OR_EQUALS" || "EQUALS" || "NOT_EQUALS" || "CONTAINS" || "NOT_CONTAINS" || "EXISTS" || "NOT_EXISTS" || "BEGINS_WITH", // required
+ * value: { // DocumentAttributeValue Union: only one key present
+ * stringValue: "STRING_VALUE",
+ * stringListValue: [ // DocumentAttributeStringListValue
+ * "STRING_VALUE",
+ * ],
+ * longValue: Number("long"),
+ * dateValue: new Date("TIMESTAMP"),
+ * },
+ * },
+ * target: { // DocumentAttributeTarget
+ * key: "STRING_VALUE", // required
+ * value: {// Union: only one key present
+ * stringValue: "STRING_VALUE",
+ * stringListValue: [
+ * "STRING_VALUE",
+ * ],
+ * longValue: Number("long"),
+ * dateValue: new Date("TIMESTAMP"),
+ * },
+ * attributeValueOperator: "DELETE",
+ * },
+ * documentContentOperator: "DELETE",
+ * },
+ * ],
+ * preExtractionHookConfiguration: { // HookConfiguration
+ * invocationCondition: {
+ * key: "STRING_VALUE", // required
+ * operator: "GREATER_THAN" || "GREATER_THAN_OR_EQUALS" || "LESS_THAN" || "LESS_THAN_OR_EQUALS" || "EQUALS" || "NOT_EQUALS" || "CONTAINS" || "NOT_CONTAINS" || "EXISTS" || "NOT_EXISTS" || "BEGINS_WITH", // required
+ * value: {// Union: only one key present
+ * stringValue: "STRING_VALUE",
+ * stringListValue: [
+ * "STRING_VALUE",
+ * ],
+ * longValue: Number("long"),
+ * dateValue: new Date("TIMESTAMP"),
+ * },
+ * },
+ * lambdaArn: "STRING_VALUE",
+ * s3BucketName: "STRING_VALUE",
+ * roleArn: "STRING_VALUE",
+ * },
+ * postExtractionHookConfiguration: {
+ * invocationCondition: {
+ * key: "STRING_VALUE", // required
+ * operator: "GREATER_THAN" || "GREATER_THAN_OR_EQUALS" || "LESS_THAN" || "LESS_THAN_OR_EQUALS" || "EQUALS" || "NOT_EQUALS" || "CONTAINS" || "NOT_CONTAINS" || "EXISTS" || "NOT_EXISTS" || "BEGINS_WITH", // required
+ * value: {// Union: only one key present
+ * stringValue: "STRING_VALUE",
+ * stringListValue: [
+ * "STRING_VALUE",
+ * ],
+ * longValue: Number("long"),
+ * dateValue: new Date("TIMESTAMP"),
+ * },
+ * },
+ * lambdaArn: "STRING_VALUE",
+ * s3BucketName: "STRING_VALUE",
+ * roleArn: "STRING_VALUE",
+ * },
+ * },
+ * };
+ * const command = new CreateDataSourceCommand(input);
+ * const response = await client.send(command);
+ * // { // CreateDataSourceResponse
+ * // dataSourceId: "STRING_VALUE",
+ * // dataSourceArn: "STRING_VALUE",
+ * // };
+ *
+ * ```
+ *
+ * @param CreateDataSourceCommandInput - {@link CreateDataSourceCommandInput}
+ * @returns {@link CreateDataSourceCommandOutput}
+ * @see {@link CreateDataSourceCommandInput} for command's `input` shape.
+ * @see {@link CreateDataSourceCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link ConflictException} (client fault)
+ * You are trying to perform an action that conflicts with the current status of your
+ * resource. Fix any inconsistences with your resources and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ServiceQuotaExceededException} (client fault)
+ * You have exceeded the set limits for your Amazon Q service.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class CreateDataSourceCommand extends $Command<
+ CreateDataSourceCommandInput,
+ CreateDataSourceCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: CreateDataSourceCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, CreateDataSourceCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "CreateDataSourceCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "CreateDataSource",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: CreateDataSourceCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_CreateDataSourceCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_CreateDataSourceCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/CreateIndexCommand.ts b/clients/client-qbusiness/src/commands/CreateIndexCommand.ts
new file mode 100644
index 000000000000..fc9887c846a4
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/CreateIndexCommand.ts
@@ -0,0 +1,184 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { CreateIndexRequest, CreateIndexResponse } from "../models/models_0";
+import { de_CreateIndexCommand, se_CreateIndexCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link CreateIndexCommand}.
+ */
+export interface CreateIndexCommandInput extends CreateIndexRequest {}
+/**
+ * @public
+ *
+ * The output of {@link CreateIndexCommand}.
+ */
+export interface CreateIndexCommandOutput extends CreateIndexResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Creates an Amazon Q index.
+ * To determine if index creation has completed, check the Status
field
+ * returned from a call to DescribeIndex
. The Status
field is set
+ * to ACTIVE
when the index is ready to use.
+ * Once the index is active, you can index your documents using the
+ * BatchPutDocument
+ * API or the
+ * CreateDataSource
+ * API.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, CreateIndexCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, CreateIndexCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // CreateIndexRequest
+ * applicationId: "STRING_VALUE", // required
+ * displayName: "STRING_VALUE", // required
+ * description: "STRING_VALUE",
+ * tags: [ // Tags
+ * { // Tag
+ * key: "STRING_VALUE", // required
+ * value: "STRING_VALUE", // required
+ * },
+ * ],
+ * capacityConfiguration: { // IndexCapacityConfiguration
+ * units: Number("int"),
+ * },
+ * clientToken: "STRING_VALUE",
+ * };
+ * const command = new CreateIndexCommand(input);
+ * const response = await client.send(command);
+ * // { // CreateIndexResponse
+ * // indexId: "STRING_VALUE",
+ * // indexArn: "STRING_VALUE",
+ * // };
+ *
+ * ```
+ *
+ * @param CreateIndexCommandInput - {@link CreateIndexCommandInput}
+ * @returns {@link CreateIndexCommandOutput}
+ * @see {@link CreateIndexCommandInput} for command's `input` shape.
+ * @see {@link CreateIndexCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link ConflictException} (client fault)
+ * You are trying to perform an action that conflicts with the current status of your
+ * resource. Fix any inconsistences with your resources and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ServiceQuotaExceededException} (client fault)
+ * You have exceeded the set limits for your Amazon Q service.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class CreateIndexCommand extends $Command<
+ CreateIndexCommandInput,
+ CreateIndexCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: CreateIndexCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(getEndpointPlugin(configuration, CreateIndexCommand.getEndpointParameterInstructions()));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "CreateIndexCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "CreateIndex",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: CreateIndexCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_CreateIndexCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_CreateIndexCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/CreatePluginCommand.ts b/clients/client-qbusiness/src/commands/CreatePluginCommand.ts
new file mode 100644
index 000000000000..e0414ec64478
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/CreatePluginCommand.ts
@@ -0,0 +1,184 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { CreatePluginRequest, CreatePluginResponse } from "../models/models_0";
+import { de_CreatePluginCommand, se_CreatePluginCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link CreatePluginCommand}.
+ */
+export interface CreatePluginCommandInput extends CreatePluginRequest {}
+/**
+ * @public
+ *
+ * The output of {@link CreatePluginCommand}.
+ */
+export interface CreatePluginCommandOutput extends CreatePluginResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Creates an Amazon Q plugin.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, CreatePluginCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, CreatePluginCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // CreatePluginRequest
+ * applicationId: "STRING_VALUE", // required
+ * displayName: "STRING_VALUE", // required
+ * type: "SERVICE_NOW" || "SALESFORCE" || "JIRA" || "ZENDESK", // required
+ * serverUrl: "STRING_VALUE", // required
+ * authConfiguration: { // PluginAuthConfiguration Union: only one key present
+ * basicAuthConfiguration: { // BasicAuthConfiguration
+ * secretArn: "STRING_VALUE", // required
+ * roleArn: "STRING_VALUE", // required
+ * },
+ * oAuth2ClientCredentialConfiguration: { // OAuth2ClientCredentialConfiguration
+ * secretArn: "STRING_VALUE", // required
+ * roleArn: "STRING_VALUE", // required
+ * },
+ * },
+ * tags: [ // Tags
+ * { // Tag
+ * key: "STRING_VALUE", // required
+ * value: "STRING_VALUE", // required
+ * },
+ * ],
+ * clientToken: "STRING_VALUE",
+ * };
+ * const command = new CreatePluginCommand(input);
+ * const response = await client.send(command);
+ * // { // CreatePluginResponse
+ * // pluginId: "STRING_VALUE",
+ * // pluginArn: "STRING_VALUE",
+ * // };
+ *
+ * ```
+ *
+ * @param CreatePluginCommandInput - {@link CreatePluginCommandInput}
+ * @returns {@link CreatePluginCommandOutput}
+ * @see {@link CreatePluginCommandInput} for command's `input` shape.
+ * @see {@link CreatePluginCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link ConflictException} (client fault)
+ * You are trying to perform an action that conflicts with the current status of your
+ * resource. Fix any inconsistences with your resources and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ServiceQuotaExceededException} (client fault)
+ * You have exceeded the set limits for your Amazon Q service.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class CreatePluginCommand extends $Command<
+ CreatePluginCommandInput,
+ CreatePluginCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: CreatePluginCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(getEndpointPlugin(configuration, CreatePluginCommand.getEndpointParameterInstructions()));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "CreatePluginCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "CreatePlugin",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: CreatePluginCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_CreatePluginCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_CreatePluginCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/CreateRetrieverCommand.ts b/clients/client-qbusiness/src/commands/CreateRetrieverCommand.ts
new file mode 100644
index 000000000000..541947406021
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/CreateRetrieverCommand.ts
@@ -0,0 +1,184 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { CreateRetrieverRequest, CreateRetrieverResponse } from "../models/models_0";
+import { de_CreateRetrieverCommand, se_CreateRetrieverCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link CreateRetrieverCommand}.
+ */
+export interface CreateRetrieverCommandInput extends CreateRetrieverRequest {}
+/**
+ * @public
+ *
+ * The output of {@link CreateRetrieverCommand}.
+ */
+export interface CreateRetrieverCommandOutput extends CreateRetrieverResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Adds a retriever to your Amazon Q application.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, CreateRetrieverCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, CreateRetrieverCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // CreateRetrieverRequest
+ * applicationId: "STRING_VALUE", // required
+ * type: "NATIVE_INDEX" || "KENDRA_INDEX", // required
+ * displayName: "STRING_VALUE", // required
+ * configuration: { // RetrieverConfiguration Union: only one key present
+ * nativeIndexConfiguration: { // NativeIndexConfiguration
+ * indexId: "STRING_VALUE", // required
+ * },
+ * kendraIndexConfiguration: { // KendraIndexConfiguration
+ * indexId: "STRING_VALUE", // required
+ * },
+ * },
+ * roleArn: "STRING_VALUE",
+ * clientToken: "STRING_VALUE",
+ * tags: [ // Tags
+ * { // Tag
+ * key: "STRING_VALUE", // required
+ * value: "STRING_VALUE", // required
+ * },
+ * ],
+ * };
+ * const command = new CreateRetrieverCommand(input);
+ * const response = await client.send(command);
+ * // { // CreateRetrieverResponse
+ * // retrieverId: "STRING_VALUE",
+ * // retrieverArn: "STRING_VALUE",
+ * // };
+ *
+ * ```
+ *
+ * @param CreateRetrieverCommandInput - {@link CreateRetrieverCommandInput}
+ * @returns {@link CreateRetrieverCommandOutput}
+ * @see {@link CreateRetrieverCommandInput} for command's `input` shape.
+ * @see {@link CreateRetrieverCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link ConflictException} (client fault)
+ * You are trying to perform an action that conflicts with the current status of your
+ * resource. Fix any inconsistences with your resources and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ServiceQuotaExceededException} (client fault)
+ * You have exceeded the set limits for your Amazon Q service.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class CreateRetrieverCommand extends $Command<
+ CreateRetrieverCommandInput,
+ CreateRetrieverCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: CreateRetrieverCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, CreateRetrieverCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "CreateRetrieverCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "CreateRetriever",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: CreateRetrieverCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_CreateRetrieverCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_CreateRetrieverCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/CreateUserCommand.ts b/clients/client-qbusiness/src/commands/CreateUserCommand.ts
new file mode 100644
index 000000000000..0042d5420ca4
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/CreateUserCommand.ts
@@ -0,0 +1,171 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { CreateUserRequest, CreateUserResponse } from "../models/models_0";
+import { de_CreateUserCommand, se_CreateUserCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link CreateUserCommand}.
+ */
+export interface CreateUserCommandInput extends CreateUserRequest {}
+/**
+ * @public
+ *
+ * The output of {@link CreateUserCommand}.
+ */
+export interface CreateUserCommandOutput extends CreateUserResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Creates a universally unique identifier (UUID) mapped to a list of local user ids
+ * within an application.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, CreateUserCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, CreateUserCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // CreateUserRequest
+ * applicationId: "STRING_VALUE", // required
+ * userId: "STRING_VALUE", // required
+ * userAliases: [ // UserAliases
+ * { // UserAlias
+ * indexId: "STRING_VALUE",
+ * dataSourceId: "STRING_VALUE",
+ * userId: "STRING_VALUE", // required
+ * },
+ * ],
+ * clientToken: "STRING_VALUE",
+ * };
+ * const command = new CreateUserCommand(input);
+ * const response = await client.send(command);
+ * // {};
+ *
+ * ```
+ *
+ * @param CreateUserCommandInput - {@link CreateUserCommandInput}
+ * @returns {@link CreateUserCommandOutput}
+ * @see {@link CreateUserCommandInput} for command's `input` shape.
+ * @see {@link CreateUserCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link ConflictException} (client fault)
+ * You are trying to perform an action that conflicts with the current status of your
+ * resource. Fix any inconsistences with your resources and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ServiceQuotaExceededException} (client fault)
+ * You have exceeded the set limits for your Amazon Q service.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class CreateUserCommand extends $Command<
+ CreateUserCommandInput,
+ CreateUserCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: CreateUserCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(getEndpointPlugin(configuration, CreateUserCommand.getEndpointParameterInstructions()));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "CreateUserCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "CreateUser",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: CreateUserCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_CreateUserCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_CreateUserCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/CreateWebExperienceCommand.ts b/clients/client-qbusiness/src/commands/CreateWebExperienceCommand.ts
new file mode 100644
index 000000000000..7ac246d5a3c5
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/CreateWebExperienceCommand.ts
@@ -0,0 +1,177 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { CreateWebExperienceRequest, CreateWebExperienceResponse } from "../models/models_0";
+import { de_CreateWebExperienceCommand, se_CreateWebExperienceCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link CreateWebExperienceCommand}.
+ */
+export interface CreateWebExperienceCommandInput extends CreateWebExperienceRequest {}
+/**
+ * @public
+ *
+ * The output of {@link CreateWebExperienceCommand}.
+ */
+export interface CreateWebExperienceCommandOutput extends CreateWebExperienceResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Creates an Amazon Q web experience.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, CreateWebExperienceCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, CreateWebExperienceCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // CreateWebExperienceRequest
+ * applicationId: "STRING_VALUE", // required
+ * title: "STRING_VALUE",
+ * subtitle: "STRING_VALUE",
+ * welcomeMessage: "STRING_VALUE",
+ * samplePromptsControlMode: "ENABLED" || "DISABLED",
+ * tags: [ // Tags
+ * { // Tag
+ * key: "STRING_VALUE", // required
+ * value: "STRING_VALUE", // required
+ * },
+ * ],
+ * clientToken: "STRING_VALUE",
+ * };
+ * const command = new CreateWebExperienceCommand(input);
+ * const response = await client.send(command);
+ * // { // CreateWebExperienceResponse
+ * // webExperienceId: "STRING_VALUE",
+ * // webExperienceArn: "STRING_VALUE",
+ * // };
+ *
+ * ```
+ *
+ * @param CreateWebExperienceCommandInput - {@link CreateWebExperienceCommandInput}
+ * @returns {@link CreateWebExperienceCommandOutput}
+ * @see {@link CreateWebExperienceCommandInput} for command's `input` shape.
+ * @see {@link CreateWebExperienceCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link ConflictException} (client fault)
+ * You are trying to perform an action that conflicts with the current status of your
+ * resource. Fix any inconsistences with your resources and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ServiceQuotaExceededException} (client fault)
+ * You have exceeded the set limits for your Amazon Q service.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class CreateWebExperienceCommand extends $Command<
+ CreateWebExperienceCommandInput,
+ CreateWebExperienceCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: CreateWebExperienceCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, CreateWebExperienceCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "CreateWebExperienceCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "CreateWebExperience",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: CreateWebExperienceCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_CreateWebExperienceCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_CreateWebExperienceCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/DeleteApplicationCommand.ts b/clients/client-qbusiness/src/commands/DeleteApplicationCommand.ts
new file mode 100644
index 000000000000..5d79a785a940
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/DeleteApplicationCommand.ts
@@ -0,0 +1,160 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { DeleteApplicationRequest, DeleteApplicationResponse } from "../models/models_0";
+import { de_DeleteApplicationCommand, se_DeleteApplicationCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link DeleteApplicationCommand}.
+ */
+export interface DeleteApplicationCommandInput extends DeleteApplicationRequest {}
+/**
+ * @public
+ *
+ * The output of {@link DeleteApplicationCommand}.
+ */
+export interface DeleteApplicationCommandOutput extends DeleteApplicationResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Deletes an Amazon Q application.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, DeleteApplicationCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, DeleteApplicationCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // DeleteApplicationRequest
+ * applicationId: "STRING_VALUE", // required
+ * };
+ * const command = new DeleteApplicationCommand(input);
+ * const response = await client.send(command);
+ * // {};
+ *
+ * ```
+ *
+ * @param DeleteApplicationCommandInput - {@link DeleteApplicationCommandInput}
+ * @returns {@link DeleteApplicationCommandOutput}
+ * @see {@link DeleteApplicationCommandInput} for command's `input` shape.
+ * @see {@link DeleteApplicationCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link ConflictException} (client fault)
+ * You are trying to perform an action that conflicts with the current status of your
+ * resource. Fix any inconsistences with your resources and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class DeleteApplicationCommand extends $Command<
+ DeleteApplicationCommandInput,
+ DeleteApplicationCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: DeleteApplicationCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, DeleteApplicationCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "DeleteApplicationCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "DeleteApplication",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: DeleteApplicationCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_DeleteApplicationCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_DeleteApplicationCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/DeleteChatControlsConfigurationCommand.ts b/clients/client-qbusiness/src/commands/DeleteChatControlsConfigurationCommand.ts
new file mode 100644
index 000000000000..bcb7ccfef7ff
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/DeleteChatControlsConfigurationCommand.ts
@@ -0,0 +1,167 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { DeleteChatControlsConfigurationRequest, DeleteChatControlsConfigurationResponse } from "../models/models_0";
+import {
+ de_DeleteChatControlsConfigurationCommand,
+ se_DeleteChatControlsConfigurationCommand,
+} from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link DeleteChatControlsConfigurationCommand}.
+ */
+export interface DeleteChatControlsConfigurationCommandInput extends DeleteChatControlsConfigurationRequest {}
+/**
+ * @public
+ *
+ * The output of {@link DeleteChatControlsConfigurationCommand}.
+ */
+export interface DeleteChatControlsConfigurationCommandOutput
+ extends DeleteChatControlsConfigurationResponse,
+ __MetadataBearer {}
+
+/**
+ * @public
+ * Deletes chat controls configured for an existing Amazon Q application.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, DeleteChatControlsConfigurationCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, DeleteChatControlsConfigurationCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // DeleteChatControlsConfigurationRequest
+ * applicationId: "STRING_VALUE", // required
+ * };
+ * const command = new DeleteChatControlsConfigurationCommand(input);
+ * const response = await client.send(command);
+ * // {};
+ *
+ * ```
+ *
+ * @param DeleteChatControlsConfigurationCommandInput - {@link DeleteChatControlsConfigurationCommandInput}
+ * @returns {@link DeleteChatControlsConfigurationCommandOutput}
+ * @see {@link DeleteChatControlsConfigurationCommandInput} for command's `input` shape.
+ * @see {@link DeleteChatControlsConfigurationCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class DeleteChatControlsConfigurationCommand extends $Command<
+ DeleteChatControlsConfigurationCommandInput,
+ DeleteChatControlsConfigurationCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: DeleteChatControlsConfigurationCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, DeleteChatControlsConfigurationCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "DeleteChatControlsConfigurationCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "DeleteChatControlsConfiguration",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(
+ input: DeleteChatControlsConfigurationCommandInput,
+ context: __SerdeContext
+ ): Promise<__HttpRequest> {
+ return se_DeleteChatControlsConfigurationCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(
+ output: __HttpResponse,
+ context: __SerdeContext
+ ): Promise {
+ return de_DeleteChatControlsConfigurationCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/DeleteConversationCommand.ts b/clients/client-qbusiness/src/commands/DeleteConversationCommand.ts
new file mode 100644
index 000000000000..4f5fefe64b31
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/DeleteConversationCommand.ts
@@ -0,0 +1,162 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { DeleteConversationRequest, DeleteConversationResponse } from "../models/models_0";
+import { de_DeleteConversationCommand, se_DeleteConversationCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link DeleteConversationCommand}.
+ */
+export interface DeleteConversationCommandInput extends DeleteConversationRequest {}
+/**
+ * @public
+ *
+ * The output of {@link DeleteConversationCommand}.
+ */
+export interface DeleteConversationCommandOutput extends DeleteConversationResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Deletes an Amazon Q web experience conversation.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, DeleteConversationCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, DeleteConversationCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // DeleteConversationRequest
+ * conversationId: "STRING_VALUE", // required
+ * applicationId: "STRING_VALUE", // required
+ * userId: "STRING_VALUE", // required
+ * };
+ * const command = new DeleteConversationCommand(input);
+ * const response = await client.send(command);
+ * // {};
+ *
+ * ```
+ *
+ * @param DeleteConversationCommandInput - {@link DeleteConversationCommandInput}
+ * @returns {@link DeleteConversationCommandOutput}
+ * @see {@link DeleteConversationCommandInput} for command's `input` shape.
+ * @see {@link DeleteConversationCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link LicenseNotFoundException} (client fault)
+ * You don't have permissions to perform the action because your license is inactive. Ask
+ * your admin to activate your license and try again after your licence is active.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class DeleteConversationCommand extends $Command<
+ DeleteConversationCommandInput,
+ DeleteConversationCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: DeleteConversationCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, DeleteConversationCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "DeleteConversationCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "DeleteConversation",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: DeleteConversationCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_DeleteConversationCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_DeleteConversationCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/DeleteDataSourceCommand.ts b/clients/client-qbusiness/src/commands/DeleteDataSourceCommand.ts
new file mode 100644
index 000000000000..1a32d9736e91
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/DeleteDataSourceCommand.ts
@@ -0,0 +1,164 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { DeleteDataSourceRequest, DeleteDataSourceResponse } from "../models/models_0";
+import { de_DeleteDataSourceCommand, se_DeleteDataSourceCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link DeleteDataSourceCommand}.
+ */
+export interface DeleteDataSourceCommandInput extends DeleteDataSourceRequest {}
+/**
+ * @public
+ *
+ * The output of {@link DeleteDataSourceCommand}.
+ */
+export interface DeleteDataSourceCommandOutput extends DeleteDataSourceResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Deletes an Amazon Q data source connector. While the data source is being
+ * deleted, the Status
field returned by a call to the
+ * DescribeDataSource
API is set to DELETING
.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, DeleteDataSourceCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, DeleteDataSourceCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // DeleteDataSourceRequest
+ * applicationId: "STRING_VALUE", // required
+ * indexId: "STRING_VALUE", // required
+ * dataSourceId: "STRING_VALUE", // required
+ * };
+ * const command = new DeleteDataSourceCommand(input);
+ * const response = await client.send(command);
+ * // {};
+ *
+ * ```
+ *
+ * @param DeleteDataSourceCommandInput - {@link DeleteDataSourceCommandInput}
+ * @returns {@link DeleteDataSourceCommandOutput}
+ * @see {@link DeleteDataSourceCommandInput} for command's `input` shape.
+ * @see {@link DeleteDataSourceCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link ConflictException} (client fault)
+ * You are trying to perform an action that conflicts with the current status of your
+ * resource. Fix any inconsistences with your resources and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class DeleteDataSourceCommand extends $Command<
+ DeleteDataSourceCommandInput,
+ DeleteDataSourceCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: DeleteDataSourceCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, DeleteDataSourceCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "DeleteDataSourceCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "DeleteDataSource",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: DeleteDataSourceCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_DeleteDataSourceCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_DeleteDataSourceCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/DeleteGroupCommand.ts b/clients/client-qbusiness/src/commands/DeleteGroupCommand.ts
new file mode 100644
index 000000000000..fcf3aa9a4ccc
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/DeleteGroupCommand.ts
@@ -0,0 +1,169 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { DeleteGroupRequest, DeleteGroupResponse } from "../models/models_0";
+import { de_DeleteGroupCommand, se_DeleteGroupCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link DeleteGroupCommand}.
+ */
+export interface DeleteGroupCommandInput extends DeleteGroupRequest {}
+/**
+ * @public
+ *
+ * The output of {@link DeleteGroupCommand}.
+ */
+export interface DeleteGroupCommandOutput extends DeleteGroupResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Deletes a group so that all users and sub groups that belong to the group can no
+ * longer access documents only available to that group. For example, after deleting the
+ * group "Summer Interns", all interns who belonged to that group no longer see intern-only
+ * documents in their chat results.
+ * If you want to delete, update, or replace users or sub groups of a group, you need to
+ * use the PutGroup
operation. For example, if a user in the group
+ * "Engineering" leaves the engineering team and another user takes their place, you
+ * provide an updated list of users or sub groups that belong to the "Engineering" group
+ * when calling PutGroup
.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, DeleteGroupCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, DeleteGroupCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // DeleteGroupRequest
+ * applicationId: "STRING_VALUE", // required
+ * indexId: "STRING_VALUE", // required
+ * groupName: "STRING_VALUE", // required
+ * dataSourceId: "STRING_VALUE",
+ * };
+ * const command = new DeleteGroupCommand(input);
+ * const response = await client.send(command);
+ * // {};
+ *
+ * ```
+ *
+ * @param DeleteGroupCommandInput - {@link DeleteGroupCommandInput}
+ * @returns {@link DeleteGroupCommandOutput}
+ * @see {@link DeleteGroupCommandInput} for command's `input` shape.
+ * @see {@link DeleteGroupCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link ConflictException} (client fault)
+ * You are trying to perform an action that conflicts with the current status of your
+ * resource. Fix any inconsistences with your resources and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class DeleteGroupCommand extends $Command<
+ DeleteGroupCommandInput,
+ DeleteGroupCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: DeleteGroupCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(getEndpointPlugin(configuration, DeleteGroupCommand.getEndpointParameterInstructions()));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "DeleteGroupCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "DeleteGroup",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: DeleteGroupCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_DeleteGroupCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_DeleteGroupCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/DeleteIndexCommand.ts b/clients/client-qbusiness/src/commands/DeleteIndexCommand.ts
new file mode 100644
index 000000000000..dbf7bddd6359
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/DeleteIndexCommand.ts
@@ -0,0 +1,159 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { DeleteIndexRequest, DeleteIndexResponse } from "../models/models_0";
+import { de_DeleteIndexCommand, se_DeleteIndexCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link DeleteIndexCommand}.
+ */
+export interface DeleteIndexCommandInput extends DeleteIndexRequest {}
+/**
+ * @public
+ *
+ * The output of {@link DeleteIndexCommand}.
+ */
+export interface DeleteIndexCommandOutput extends DeleteIndexResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Deletes an Amazon Q index.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, DeleteIndexCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, DeleteIndexCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // DeleteIndexRequest
+ * applicationId: "STRING_VALUE", // required
+ * indexId: "STRING_VALUE", // required
+ * };
+ * const command = new DeleteIndexCommand(input);
+ * const response = await client.send(command);
+ * // {};
+ *
+ * ```
+ *
+ * @param DeleteIndexCommandInput - {@link DeleteIndexCommandInput}
+ * @returns {@link DeleteIndexCommandOutput}
+ * @see {@link DeleteIndexCommandInput} for command's `input` shape.
+ * @see {@link DeleteIndexCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link ConflictException} (client fault)
+ * You are trying to perform an action that conflicts with the current status of your
+ * resource. Fix any inconsistences with your resources and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class DeleteIndexCommand extends $Command<
+ DeleteIndexCommandInput,
+ DeleteIndexCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: DeleteIndexCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(getEndpointPlugin(configuration, DeleteIndexCommand.getEndpointParameterInstructions()));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "DeleteIndexCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "DeleteIndex",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: DeleteIndexCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_DeleteIndexCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_DeleteIndexCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/DeletePluginCommand.ts b/clients/client-qbusiness/src/commands/DeletePluginCommand.ts
new file mode 100644
index 000000000000..41d883a4ff0f
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/DeletePluginCommand.ts
@@ -0,0 +1,159 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { DeletePluginRequest, DeletePluginResponse } from "../models/models_0";
+import { de_DeletePluginCommand, se_DeletePluginCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link DeletePluginCommand}.
+ */
+export interface DeletePluginCommandInput extends DeletePluginRequest {}
+/**
+ * @public
+ *
+ * The output of {@link DeletePluginCommand}.
+ */
+export interface DeletePluginCommandOutput extends DeletePluginResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Deletes an Amazon Q plugin.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, DeletePluginCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, DeletePluginCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // DeletePluginRequest
+ * applicationId: "STRING_VALUE", // required
+ * pluginId: "STRING_VALUE", // required
+ * };
+ * const command = new DeletePluginCommand(input);
+ * const response = await client.send(command);
+ * // {};
+ *
+ * ```
+ *
+ * @param DeletePluginCommandInput - {@link DeletePluginCommandInput}
+ * @returns {@link DeletePluginCommandOutput}
+ * @see {@link DeletePluginCommandInput} for command's `input` shape.
+ * @see {@link DeletePluginCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link ConflictException} (client fault)
+ * You are trying to perform an action that conflicts with the current status of your
+ * resource. Fix any inconsistences with your resources and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class DeletePluginCommand extends $Command<
+ DeletePluginCommandInput,
+ DeletePluginCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: DeletePluginCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(getEndpointPlugin(configuration, DeletePluginCommand.getEndpointParameterInstructions()));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "DeletePluginCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "DeletePlugin",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: DeletePluginCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_DeletePluginCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_DeletePluginCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/DeleteRetrieverCommand.ts b/clients/client-qbusiness/src/commands/DeleteRetrieverCommand.ts
new file mode 100644
index 000000000000..13948b7fa12f
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/DeleteRetrieverCommand.ts
@@ -0,0 +1,161 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { DeleteRetrieverRequest, DeleteRetrieverResponse } from "../models/models_0";
+import { de_DeleteRetrieverCommand, se_DeleteRetrieverCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link DeleteRetrieverCommand}.
+ */
+export interface DeleteRetrieverCommandInput extends DeleteRetrieverRequest {}
+/**
+ * @public
+ *
+ * The output of {@link DeleteRetrieverCommand}.
+ */
+export interface DeleteRetrieverCommandOutput extends DeleteRetrieverResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Deletes the retriever used by an Amazon Q application.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, DeleteRetrieverCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, DeleteRetrieverCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // DeleteRetrieverRequest
+ * applicationId: "STRING_VALUE", // required
+ * retrieverId: "STRING_VALUE", // required
+ * };
+ * const command = new DeleteRetrieverCommand(input);
+ * const response = await client.send(command);
+ * // {};
+ *
+ * ```
+ *
+ * @param DeleteRetrieverCommandInput - {@link DeleteRetrieverCommandInput}
+ * @returns {@link DeleteRetrieverCommandOutput}
+ * @see {@link DeleteRetrieverCommandInput} for command's `input` shape.
+ * @see {@link DeleteRetrieverCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link ConflictException} (client fault)
+ * You are trying to perform an action that conflicts with the current status of your
+ * resource. Fix any inconsistences with your resources and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class DeleteRetrieverCommand extends $Command<
+ DeleteRetrieverCommandInput,
+ DeleteRetrieverCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: DeleteRetrieverCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, DeleteRetrieverCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "DeleteRetrieverCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "DeleteRetriever",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: DeleteRetrieverCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_DeleteRetrieverCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_DeleteRetrieverCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/DeleteUserCommand.ts b/clients/client-qbusiness/src/commands/DeleteUserCommand.ts
new file mode 100644
index 000000000000..938669cf1924
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/DeleteUserCommand.ts
@@ -0,0 +1,159 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { DeleteUserRequest, DeleteUserResponse } from "../models/models_0";
+import { de_DeleteUserCommand, se_DeleteUserCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link DeleteUserCommand}.
+ */
+export interface DeleteUserCommandInput extends DeleteUserRequest {}
+/**
+ * @public
+ *
+ * The output of {@link DeleteUserCommand}.
+ */
+export interface DeleteUserCommandOutput extends DeleteUserResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Deletes a user by email id.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, DeleteUserCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, DeleteUserCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // DeleteUserRequest
+ * applicationId: "STRING_VALUE", // required
+ * userId: "STRING_VALUE", // required
+ * };
+ * const command = new DeleteUserCommand(input);
+ * const response = await client.send(command);
+ * // {};
+ *
+ * ```
+ *
+ * @param DeleteUserCommandInput - {@link DeleteUserCommandInput}
+ * @returns {@link DeleteUserCommandOutput}
+ * @see {@link DeleteUserCommandInput} for command's `input` shape.
+ * @see {@link DeleteUserCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link ConflictException} (client fault)
+ * You are trying to perform an action that conflicts with the current status of your
+ * resource. Fix any inconsistences with your resources and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class DeleteUserCommand extends $Command<
+ DeleteUserCommandInput,
+ DeleteUserCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: DeleteUserCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(getEndpointPlugin(configuration, DeleteUserCommand.getEndpointParameterInstructions()));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "DeleteUserCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "DeleteUser",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: DeleteUserCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_DeleteUserCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_DeleteUserCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/DeleteWebExperienceCommand.ts b/clients/client-qbusiness/src/commands/DeleteWebExperienceCommand.ts
new file mode 100644
index 000000000000..1b27a94c06ba
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/DeleteWebExperienceCommand.ts
@@ -0,0 +1,161 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { DeleteWebExperienceRequest, DeleteWebExperienceResponse } from "../models/models_0";
+import { de_DeleteWebExperienceCommand, se_DeleteWebExperienceCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link DeleteWebExperienceCommand}.
+ */
+export interface DeleteWebExperienceCommandInput extends DeleteWebExperienceRequest {}
+/**
+ * @public
+ *
+ * The output of {@link DeleteWebExperienceCommand}.
+ */
+export interface DeleteWebExperienceCommandOutput extends DeleteWebExperienceResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Deletes an Amazon Q web experience.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, DeleteWebExperienceCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, DeleteWebExperienceCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // DeleteWebExperienceRequest
+ * applicationId: "STRING_VALUE", // required
+ * webExperienceId: "STRING_VALUE", // required
+ * };
+ * const command = new DeleteWebExperienceCommand(input);
+ * const response = await client.send(command);
+ * // {};
+ *
+ * ```
+ *
+ * @param DeleteWebExperienceCommandInput - {@link DeleteWebExperienceCommandInput}
+ * @returns {@link DeleteWebExperienceCommandOutput}
+ * @see {@link DeleteWebExperienceCommandInput} for command's `input` shape.
+ * @see {@link DeleteWebExperienceCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link ConflictException} (client fault)
+ * You are trying to perform an action that conflicts with the current status of your
+ * resource. Fix any inconsistences with your resources and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class DeleteWebExperienceCommand extends $Command<
+ DeleteWebExperienceCommandInput,
+ DeleteWebExperienceCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: DeleteWebExperienceCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, DeleteWebExperienceCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "DeleteWebExperienceCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "DeleteWebExperience",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: DeleteWebExperienceCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_DeleteWebExperienceCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_DeleteWebExperienceCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/GetApplicationCommand.ts b/clients/client-qbusiness/src/commands/GetApplicationCommand.ts
new file mode 100644
index 000000000000..582fbaab5de6
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/GetApplicationCommand.ts
@@ -0,0 +1,179 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import {
+ GetApplicationRequest,
+ GetApplicationResponse,
+ GetApplicationResponseFilterSensitiveLog,
+} from "../models/models_0";
+import { de_GetApplicationCommand, se_GetApplicationCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link GetApplicationCommand}.
+ */
+export interface GetApplicationCommandInput extends GetApplicationRequest {}
+/**
+ * @public
+ *
+ * The output of {@link GetApplicationCommand}.
+ */
+export interface GetApplicationCommandOutput extends GetApplicationResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Gets information about an existing Amazon Q application.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, GetApplicationCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, GetApplicationCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // GetApplicationRequest
+ * applicationId: "STRING_VALUE", // required
+ * };
+ * const command = new GetApplicationCommand(input);
+ * const response = await client.send(command);
+ * // { // GetApplicationResponse
+ * // displayName: "STRING_VALUE",
+ * // applicationId: "STRING_VALUE",
+ * // applicationArn: "STRING_VALUE",
+ * // roleArn: "STRING_VALUE",
+ * // status: "CREATING" || "ACTIVE" || "DELETING" || "FAILED" || "UPDATING",
+ * // description: "STRING_VALUE",
+ * // encryptionConfiguration: { // EncryptionConfiguration
+ * // kmsKeyId: "STRING_VALUE",
+ * // },
+ * // createdAt: new Date("TIMESTAMP"),
+ * // updatedAt: new Date("TIMESTAMP"),
+ * // error: { // ErrorDetail
+ * // errorMessage: "STRING_VALUE",
+ * // errorCode: "InternalError" || "InvalidRequest" || "ResourceInactive" || "ResourceNotFound",
+ * // },
+ * // attachmentsConfiguration: { // AppliedAttachmentsConfiguration
+ * // attachmentsControlMode: "ENABLED" || "DISABLED",
+ * // },
+ * // };
+ *
+ * ```
+ *
+ * @param GetApplicationCommandInput - {@link GetApplicationCommandInput}
+ * @returns {@link GetApplicationCommandOutput}
+ * @see {@link GetApplicationCommandInput} for command's `input` shape.
+ * @see {@link GetApplicationCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class GetApplicationCommand extends $Command<
+ GetApplicationCommandInput,
+ GetApplicationCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: GetApplicationCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, GetApplicationCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "GetApplicationCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: GetApplicationResponseFilterSensitiveLog,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "GetApplication",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: GetApplicationCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_GetApplicationCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_GetApplicationCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/GetChatControlsConfigurationCommand.ts b/clients/client-qbusiness/src/commands/GetChatControlsConfigurationCommand.ts
new file mode 100644
index 000000000000..459ef072191d
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/GetChatControlsConfigurationCommand.ts
@@ -0,0 +1,219 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { GetChatControlsConfigurationRequest, GetChatControlsConfigurationResponse } from "../models/models_0";
+import {
+ de_GetChatControlsConfigurationCommand,
+ se_GetChatControlsConfigurationCommand,
+} from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link GetChatControlsConfigurationCommand}.
+ */
+export interface GetChatControlsConfigurationCommandInput extends GetChatControlsConfigurationRequest {}
+/**
+ * @public
+ *
+ * The output of {@link GetChatControlsConfigurationCommand}.
+ */
+export interface GetChatControlsConfigurationCommandOutput
+ extends GetChatControlsConfigurationResponse,
+ __MetadataBearer {}
+
+/**
+ * @public
+ * Gets information about an chat controls configured for an existing Amazon Q
+ * application.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, GetChatControlsConfigurationCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, GetChatControlsConfigurationCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // GetChatControlsConfigurationRequest
+ * applicationId: "STRING_VALUE", // required
+ * maxResults: Number("int"),
+ * nextToken: "STRING_VALUE",
+ * };
+ * const command = new GetChatControlsConfigurationCommand(input);
+ * const response = await client.send(command);
+ * // { // GetChatControlsConfigurationResponse
+ * // responseScope: "ENTERPRISE_CONTENT_ONLY" || "EXTENDED_KNOWLEDGE_ENABLED",
+ * // blockedPhrases: { // BlockedPhrasesConfiguration
+ * // blockedPhrases: [ // BlockedPhrases
+ * // "STRING_VALUE",
+ * // ],
+ * // systemMessageOverride: "STRING_VALUE",
+ * // },
+ * // topicConfigurations: [ // TopicConfigurations
+ * // { // TopicConfiguration
+ * // name: "STRING_VALUE", // required
+ * // description: "STRING_VALUE",
+ * // exampleChatMessages: [ // ExampleChatMessages
+ * // "STRING_VALUE",
+ * // ],
+ * // rules: [ // Rules // required
+ * // { // Rule
+ * // includedUsersAndGroups: { // UsersAndGroups
+ * // userIds: [ // UserIds
+ * // "STRING_VALUE",
+ * // ],
+ * // userGroups: [ // UserGroups
+ * // "STRING_VALUE",
+ * // ],
+ * // },
+ * // excludedUsersAndGroups: {
+ * // userIds: [
+ * // "STRING_VALUE",
+ * // ],
+ * // userGroups: [
+ * // "STRING_VALUE",
+ * // ],
+ * // },
+ * // ruleType: "CONTENT_BLOCKER_RULE" || "CONTENT_RETRIEVAL_RULE", // required
+ * // ruleConfiguration: { // RuleConfiguration Union: only one key present
+ * // contentBlockerRule: { // ContentBlockerRule
+ * // systemMessageOverride: "STRING_VALUE",
+ * // },
+ * // contentRetrievalRule: { // ContentRetrievalRule
+ * // eligibleDataSources: [ // EligibleDataSources
+ * // { // EligibleDataSource
+ * // indexId: "STRING_VALUE",
+ * // dataSourceId: "STRING_VALUE",
+ * // },
+ * // ],
+ * // },
+ * // },
+ * // },
+ * // ],
+ * // },
+ * // ],
+ * // nextToken: "STRING_VALUE",
+ * // };
+ *
+ * ```
+ *
+ * @param GetChatControlsConfigurationCommandInput - {@link GetChatControlsConfigurationCommandInput}
+ * @returns {@link GetChatControlsConfigurationCommandOutput}
+ * @see {@link GetChatControlsConfigurationCommandInput} for command's `input` shape.
+ * @see {@link GetChatControlsConfigurationCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class GetChatControlsConfigurationCommand extends $Command<
+ GetChatControlsConfigurationCommandInput,
+ GetChatControlsConfigurationCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: GetChatControlsConfigurationCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, GetChatControlsConfigurationCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "GetChatControlsConfigurationCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "GetChatControlsConfiguration",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: GetChatControlsConfigurationCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_GetChatControlsConfigurationCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(
+ output: __HttpResponse,
+ context: __SerdeContext
+ ): Promise {
+ return de_GetChatControlsConfigurationCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/GetDataSourceCommand.ts b/clients/client-qbusiness/src/commands/GetDataSourceCommand.ts
new file mode 100644
index 000000000000..ce3eb30fed3b
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/GetDataSourceCommand.ts
@@ -0,0 +1,247 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { GetDataSourceRequest, GetDataSourceResponse } from "../models/models_0";
+import { de_GetDataSourceCommand, se_GetDataSourceCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link GetDataSourceCommand}.
+ */
+export interface GetDataSourceCommandInput extends GetDataSourceRequest {}
+/**
+ * @public
+ *
+ * The output of {@link GetDataSourceCommand}.
+ */
+export interface GetDataSourceCommandOutput extends GetDataSourceResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Gets information about an existing Amazon Q data source connector.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, GetDataSourceCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, GetDataSourceCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // GetDataSourceRequest
+ * applicationId: "STRING_VALUE", // required
+ * indexId: "STRING_VALUE", // required
+ * dataSourceId: "STRING_VALUE", // required
+ * };
+ * const command = new GetDataSourceCommand(input);
+ * const response = await client.send(command);
+ * // { // GetDataSourceResponse
+ * // applicationId: "STRING_VALUE",
+ * // indexId: "STRING_VALUE",
+ * // dataSourceId: "STRING_VALUE",
+ * // dataSourceArn: "STRING_VALUE",
+ * // displayName: "STRING_VALUE",
+ * // type: "STRING_VALUE",
+ * // configuration: "DOCUMENT_VALUE",
+ * // vpcConfiguration: { // DataSourceVpcConfiguration
+ * // subnetIds: [ // SubnetIds // required
+ * // "STRING_VALUE",
+ * // ],
+ * // securityGroupIds: [ // SecurityGroupIds // required
+ * // "STRING_VALUE",
+ * // ],
+ * // },
+ * // createdAt: new Date("TIMESTAMP"),
+ * // updatedAt: new Date("TIMESTAMP"),
+ * // description: "STRING_VALUE",
+ * // status: "PENDING_CREATION" || "CREATING" || "ACTIVE" || "DELETING" || "FAILED" || "UPDATING",
+ * // syncSchedule: "STRING_VALUE",
+ * // roleArn: "STRING_VALUE",
+ * // error: { // ErrorDetail
+ * // errorMessage: "STRING_VALUE",
+ * // errorCode: "InternalError" || "InvalidRequest" || "ResourceInactive" || "ResourceNotFound",
+ * // },
+ * // documentEnrichmentConfiguration: { // DocumentEnrichmentConfiguration
+ * // inlineConfigurations: [ // InlineDocumentEnrichmentConfigurations
+ * // { // InlineDocumentEnrichmentConfiguration
+ * // condition: { // DocumentAttributeCondition
+ * // key: "STRING_VALUE", // required
+ * // operator: "GREATER_THAN" || "GREATER_THAN_OR_EQUALS" || "LESS_THAN" || "LESS_THAN_OR_EQUALS" || "EQUALS" || "NOT_EQUALS" || "CONTAINS" || "NOT_CONTAINS" || "EXISTS" || "NOT_EXISTS" || "BEGINS_WITH", // required
+ * // value: { // DocumentAttributeValue Union: only one key present
+ * // stringValue: "STRING_VALUE",
+ * // stringListValue: [ // DocumentAttributeStringListValue
+ * // "STRING_VALUE",
+ * // ],
+ * // longValue: Number("long"),
+ * // dateValue: new Date("TIMESTAMP"),
+ * // },
+ * // },
+ * // target: { // DocumentAttributeTarget
+ * // key: "STRING_VALUE", // required
+ * // value: {// Union: only one key present
+ * // stringValue: "STRING_VALUE",
+ * // stringListValue: [
+ * // "STRING_VALUE",
+ * // ],
+ * // longValue: Number("long"),
+ * // dateValue: new Date("TIMESTAMP"),
+ * // },
+ * // attributeValueOperator: "DELETE",
+ * // },
+ * // documentContentOperator: "DELETE",
+ * // },
+ * // ],
+ * // preExtractionHookConfiguration: { // HookConfiguration
+ * // invocationCondition: {
+ * // key: "STRING_VALUE", // required
+ * // operator: "GREATER_THAN" || "GREATER_THAN_OR_EQUALS" || "LESS_THAN" || "LESS_THAN_OR_EQUALS" || "EQUALS" || "NOT_EQUALS" || "CONTAINS" || "NOT_CONTAINS" || "EXISTS" || "NOT_EXISTS" || "BEGINS_WITH", // required
+ * // value: {// Union: only one key present
+ * // stringValue: "STRING_VALUE",
+ * // stringListValue: [
+ * // "STRING_VALUE",
+ * // ],
+ * // longValue: Number("long"),
+ * // dateValue: new Date("TIMESTAMP"),
+ * // },
+ * // },
+ * // lambdaArn: "STRING_VALUE",
+ * // s3BucketName: "STRING_VALUE",
+ * // roleArn: "STRING_VALUE",
+ * // },
+ * // postExtractionHookConfiguration: {
+ * // invocationCondition: {
+ * // key: "STRING_VALUE", // required
+ * // operator: "GREATER_THAN" || "GREATER_THAN_OR_EQUALS" || "LESS_THAN" || "LESS_THAN_OR_EQUALS" || "EQUALS" || "NOT_EQUALS" || "CONTAINS" || "NOT_CONTAINS" || "EXISTS" || "NOT_EXISTS" || "BEGINS_WITH", // required
+ * // value: {// Union: only one key present
+ * // stringValue: "STRING_VALUE",
+ * // stringListValue: [
+ * // "STRING_VALUE",
+ * // ],
+ * // longValue: Number("long"),
+ * // dateValue: new Date("TIMESTAMP"),
+ * // },
+ * // },
+ * // lambdaArn: "STRING_VALUE",
+ * // s3BucketName: "STRING_VALUE",
+ * // roleArn: "STRING_VALUE",
+ * // },
+ * // },
+ * // };
+ *
+ * ```
+ *
+ * @param GetDataSourceCommandInput - {@link GetDataSourceCommandInput}
+ * @returns {@link GetDataSourceCommandOutput}
+ * @see {@link GetDataSourceCommandInput} for command's `input` shape.
+ * @see {@link GetDataSourceCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class GetDataSourceCommand extends $Command<
+ GetDataSourceCommandInput,
+ GetDataSourceCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: GetDataSourceCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(getEndpointPlugin(configuration, GetDataSourceCommand.getEndpointParameterInstructions()));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "GetDataSourceCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "GetDataSource",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: GetDataSourceCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_GetDataSourceCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_GetDataSourceCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/GetGroupCommand.ts b/clients/client-qbusiness/src/commands/GetGroupCommand.ts
new file mode 100644
index 000000000000..53ef1ab3398a
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/GetGroupCommand.ts
@@ -0,0 +1,180 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { GetGroupRequest, GetGroupResponse } from "../models/models_0";
+import { de_GetGroupCommand, se_GetGroupCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link GetGroupCommand}.
+ */
+export interface GetGroupCommandInput extends GetGroupRequest {}
+/**
+ * @public
+ *
+ * The output of {@link GetGroupCommand}.
+ */
+export interface GetGroupCommandOutput extends GetGroupResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Describes a group by group name.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, GetGroupCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, GetGroupCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // GetGroupRequest
+ * applicationId: "STRING_VALUE", // required
+ * indexId: "STRING_VALUE", // required
+ * groupName: "STRING_VALUE", // required
+ * dataSourceId: "STRING_VALUE",
+ * };
+ * const command = new GetGroupCommand(input);
+ * const response = await client.send(command);
+ * // { // GetGroupResponse
+ * // status: { // GroupStatusDetail
+ * // status: "FAILED" || "SUCCEEDED" || "PROCESSING" || "DELETING" || "DELETED",
+ * // lastUpdatedAt: new Date("TIMESTAMP"),
+ * // errorDetail: { // ErrorDetail
+ * // errorMessage: "STRING_VALUE",
+ * // errorCode: "InternalError" || "InvalidRequest" || "ResourceInactive" || "ResourceNotFound",
+ * // },
+ * // },
+ * // statusHistory: [ // GroupStatusDetails
+ * // {
+ * // status: "FAILED" || "SUCCEEDED" || "PROCESSING" || "DELETING" || "DELETED",
+ * // lastUpdatedAt: new Date("TIMESTAMP"),
+ * // errorDetail: {
+ * // errorMessage: "STRING_VALUE",
+ * // errorCode: "InternalError" || "InvalidRequest" || "ResourceInactive" || "ResourceNotFound",
+ * // },
+ * // },
+ * // ],
+ * // };
+ *
+ * ```
+ *
+ * @param GetGroupCommandInput - {@link GetGroupCommandInput}
+ * @returns {@link GetGroupCommandOutput}
+ * @see {@link GetGroupCommandInput} for command's `input` shape.
+ * @see {@link GetGroupCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link ConflictException} (client fault)
+ * You are trying to perform an action that conflicts with the current status of your
+ * resource. Fix any inconsistences with your resources and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class GetGroupCommand extends $Command<
+ GetGroupCommandInput,
+ GetGroupCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: GetGroupCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(getEndpointPlugin(configuration, GetGroupCommand.getEndpointParameterInstructions()));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "GetGroupCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "GetGroup",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: GetGroupCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_GetGroupCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_GetGroupCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/GetIndexCommand.ts b/clients/client-qbusiness/src/commands/GetIndexCommand.ts
new file mode 100644
index 000000000000..2af16c10a951
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/GetIndexCommand.ts
@@ -0,0 +1,184 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { GetIndexRequest, GetIndexResponse } from "../models/models_0";
+import { de_GetIndexCommand, se_GetIndexCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link GetIndexCommand}.
+ */
+export interface GetIndexCommandInput extends GetIndexRequest {}
+/**
+ * @public
+ *
+ * The output of {@link GetIndexCommand}.
+ */
+export interface GetIndexCommandOutput extends GetIndexResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Gets information about an existing Amazon Q index.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, GetIndexCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, GetIndexCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // GetIndexRequest
+ * applicationId: "STRING_VALUE", // required
+ * indexId: "STRING_VALUE", // required
+ * };
+ * const command = new GetIndexCommand(input);
+ * const response = await client.send(command);
+ * // { // GetIndexResponse
+ * // applicationId: "STRING_VALUE",
+ * // indexId: "STRING_VALUE",
+ * // displayName: "STRING_VALUE",
+ * // indexArn: "STRING_VALUE",
+ * // status: "CREATING" || "ACTIVE" || "DELETING" || "FAILED" || "UPDATING",
+ * // description: "STRING_VALUE",
+ * // createdAt: new Date("TIMESTAMP"),
+ * // updatedAt: new Date("TIMESTAMP"),
+ * // capacityConfiguration: { // IndexCapacityConfiguration
+ * // units: Number("int"),
+ * // },
+ * // documentAttributeConfigurations: [ // DocumentAttributeConfigurations
+ * // { // DocumentAttributeConfiguration
+ * // name: "STRING_VALUE",
+ * // type: "STRING" || "STRING_LIST" || "NUMBER" || "DATE",
+ * // search: "ENABLED" || "DISABLED",
+ * // },
+ * // ],
+ * // error: { // ErrorDetail
+ * // errorMessage: "STRING_VALUE",
+ * // errorCode: "InternalError" || "InvalidRequest" || "ResourceInactive" || "ResourceNotFound",
+ * // },
+ * // indexStatistics: { // IndexStatistics
+ * // textDocumentStatistics: { // TextDocumentStatistics
+ * // indexedTextBytes: Number("long"),
+ * // indexedTextDocumentCount: Number("int"),
+ * // },
+ * // },
+ * // };
+ *
+ * ```
+ *
+ * @param GetIndexCommandInput - {@link GetIndexCommandInput}
+ * @returns {@link GetIndexCommandOutput}
+ * @see {@link GetIndexCommandInput} for command's `input` shape.
+ * @see {@link GetIndexCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class GetIndexCommand extends $Command<
+ GetIndexCommandInput,
+ GetIndexCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: GetIndexCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(getEndpointPlugin(configuration, GetIndexCommand.getEndpointParameterInstructions()));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "GetIndexCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "GetIndex",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: GetIndexCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_GetIndexCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_GetIndexCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/GetPluginCommand.ts b/clients/client-qbusiness/src/commands/GetPluginCommand.ts
new file mode 100644
index 000000000000..e07f22e54668
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/GetPluginCommand.ts
@@ -0,0 +1,175 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { GetPluginRequest, GetPluginResponse } from "../models/models_0";
+import { de_GetPluginCommand, se_GetPluginCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link GetPluginCommand}.
+ */
+export interface GetPluginCommandInput extends GetPluginRequest {}
+/**
+ * @public
+ *
+ * The output of {@link GetPluginCommand}.
+ */
+export interface GetPluginCommandOutput extends GetPluginResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Gets information about an existing Amazon Q plugin.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, GetPluginCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, GetPluginCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // GetPluginRequest
+ * applicationId: "STRING_VALUE", // required
+ * pluginId: "STRING_VALUE", // required
+ * };
+ * const command = new GetPluginCommand(input);
+ * const response = await client.send(command);
+ * // { // GetPluginResponse
+ * // applicationId: "STRING_VALUE",
+ * // pluginId: "STRING_VALUE",
+ * // displayName: "STRING_VALUE",
+ * // type: "SERVICE_NOW" || "SALESFORCE" || "JIRA" || "ZENDESK",
+ * // serverUrl: "STRING_VALUE",
+ * // authConfiguration: { // PluginAuthConfiguration Union: only one key present
+ * // basicAuthConfiguration: { // BasicAuthConfiguration
+ * // secretArn: "STRING_VALUE", // required
+ * // roleArn: "STRING_VALUE", // required
+ * // },
+ * // oAuth2ClientCredentialConfiguration: { // OAuth2ClientCredentialConfiguration
+ * // secretArn: "STRING_VALUE", // required
+ * // roleArn: "STRING_VALUE", // required
+ * // },
+ * // },
+ * // pluginArn: "STRING_VALUE",
+ * // state: "ENABLED" || "DISABLED",
+ * // createdAt: new Date("TIMESTAMP"),
+ * // updatedAt: new Date("TIMESTAMP"),
+ * // };
+ *
+ * ```
+ *
+ * @param GetPluginCommandInput - {@link GetPluginCommandInput}
+ * @returns {@link GetPluginCommandOutput}
+ * @see {@link GetPluginCommandInput} for command's `input` shape.
+ * @see {@link GetPluginCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class GetPluginCommand extends $Command<
+ GetPluginCommandInput,
+ GetPluginCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: GetPluginCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(getEndpointPlugin(configuration, GetPluginCommand.getEndpointParameterInstructions()));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "GetPluginCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "GetPlugin",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: GetPluginCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_GetPluginCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_GetPluginCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/GetRetrieverCommand.ts b/clients/client-qbusiness/src/commands/GetRetrieverCommand.ts
new file mode 100644
index 000000000000..32cb1a1b9e8e
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/GetRetrieverCommand.ts
@@ -0,0 +1,174 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { GetRetrieverRequest, GetRetrieverResponse } from "../models/models_0";
+import { de_GetRetrieverCommand, se_GetRetrieverCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link GetRetrieverCommand}.
+ */
+export interface GetRetrieverCommandInput extends GetRetrieverRequest {}
+/**
+ * @public
+ *
+ * The output of {@link GetRetrieverCommand}.
+ */
+export interface GetRetrieverCommandOutput extends GetRetrieverResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Gets information about an existing retriever used by an Amazon Q
+ * application.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, GetRetrieverCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, GetRetrieverCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // GetRetrieverRequest
+ * applicationId: "STRING_VALUE", // required
+ * retrieverId: "STRING_VALUE", // required
+ * };
+ * const command = new GetRetrieverCommand(input);
+ * const response = await client.send(command);
+ * // { // GetRetrieverResponse
+ * // applicationId: "STRING_VALUE",
+ * // retrieverId: "STRING_VALUE",
+ * // retrieverArn: "STRING_VALUE",
+ * // type: "NATIVE_INDEX" || "KENDRA_INDEX",
+ * // status: "CREATING" || "ACTIVE" || "FAILED",
+ * // displayName: "STRING_VALUE",
+ * // configuration: { // RetrieverConfiguration Union: only one key present
+ * // nativeIndexConfiguration: { // NativeIndexConfiguration
+ * // indexId: "STRING_VALUE", // required
+ * // },
+ * // kendraIndexConfiguration: { // KendraIndexConfiguration
+ * // indexId: "STRING_VALUE", // required
+ * // },
+ * // },
+ * // roleArn: "STRING_VALUE",
+ * // createdAt: new Date("TIMESTAMP"),
+ * // updatedAt: new Date("TIMESTAMP"),
+ * // };
+ *
+ * ```
+ *
+ * @param GetRetrieverCommandInput - {@link GetRetrieverCommandInput}
+ * @returns {@link GetRetrieverCommandOutput}
+ * @see {@link GetRetrieverCommandInput} for command's `input` shape.
+ * @see {@link GetRetrieverCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class GetRetrieverCommand extends $Command<
+ GetRetrieverCommandInput,
+ GetRetrieverCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: GetRetrieverCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(getEndpointPlugin(configuration, GetRetrieverCommand.getEndpointParameterInstructions()));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "GetRetrieverCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "GetRetriever",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: GetRetrieverCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_GetRetrieverCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_GetRetrieverCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/GetUserCommand.ts b/clients/client-qbusiness/src/commands/GetUserCommand.ts
new file mode 100644
index 000000000000..15d170f64f89
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/GetUserCommand.ts
@@ -0,0 +1,164 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { GetUserRequest, GetUserResponse } from "../models/models_0";
+import { de_GetUserCommand, se_GetUserCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link GetUserCommand}.
+ */
+export interface GetUserCommandInput extends GetUserRequest {}
+/**
+ * @public
+ *
+ * The output of {@link GetUserCommand}.
+ */
+export interface GetUserCommandOutput extends GetUserResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Describes the universally unique identifier (UUID) associated with a local user in a
+ * data source.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, GetUserCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, GetUserCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // GetUserRequest
+ * applicationId: "STRING_VALUE", // required
+ * userId: "STRING_VALUE", // required
+ * };
+ * const command = new GetUserCommand(input);
+ * const response = await client.send(command);
+ * // { // GetUserResponse
+ * // userAliases: [ // UserAliases
+ * // { // UserAlias
+ * // indexId: "STRING_VALUE",
+ * // dataSourceId: "STRING_VALUE",
+ * // userId: "STRING_VALUE", // required
+ * // },
+ * // ],
+ * // };
+ *
+ * ```
+ *
+ * @param GetUserCommandInput - {@link GetUserCommandInput}
+ * @returns {@link GetUserCommandOutput}
+ * @see {@link GetUserCommandInput} for command's `input` shape.
+ * @see {@link GetUserCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link ConflictException} (client fault)
+ * You are trying to perform an action that conflicts with the current status of your
+ * resource. Fix any inconsistences with your resources and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class GetUserCommand extends $Command {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: GetUserCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(getEndpointPlugin(configuration, GetUserCommand.getEndpointParameterInstructions()));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "GetUserCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "GetUser",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: GetUserCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_GetUserCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_GetUserCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/GetWebExperienceCommand.ts b/clients/client-qbusiness/src/commands/GetWebExperienceCommand.ts
new file mode 100644
index 000000000000..fa5cce1d6c3c
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/GetWebExperienceCommand.ts
@@ -0,0 +1,181 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { GetWebExperienceRequest, GetWebExperienceResponse } from "../models/models_0";
+import { de_GetWebExperienceCommand, se_GetWebExperienceCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link GetWebExperienceCommand}.
+ */
+export interface GetWebExperienceCommandInput extends GetWebExperienceRequest {}
+/**
+ * @public
+ *
+ * The output of {@link GetWebExperienceCommand}.
+ */
+export interface GetWebExperienceCommandOutput extends GetWebExperienceResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Gets information about an existing Amazon Q web experience.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, GetWebExperienceCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, GetWebExperienceCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // GetWebExperienceRequest
+ * applicationId: "STRING_VALUE", // required
+ * webExperienceId: "STRING_VALUE", // required
+ * };
+ * const command = new GetWebExperienceCommand(input);
+ * const response = await client.send(command);
+ * // { // GetWebExperienceResponse
+ * // applicationId: "STRING_VALUE",
+ * // webExperienceId: "STRING_VALUE",
+ * // webExperienceArn: "STRING_VALUE",
+ * // defaultEndpoint: "STRING_VALUE",
+ * // status: "CREATING" || "ACTIVE" || "DELETING" || "FAILED" || "PENDING_AUTH_CONFIG",
+ * // createdAt: new Date("TIMESTAMP"),
+ * // updatedAt: new Date("TIMESTAMP"),
+ * // title: "STRING_VALUE",
+ * // subtitle: "STRING_VALUE",
+ * // welcomeMessage: "STRING_VALUE",
+ * // samplePromptsControlMode: "ENABLED" || "DISABLED",
+ * // authenticationConfiguration: { // WebExperienceAuthConfiguration Union: only one key present
+ * // samlConfiguration: { // SamlConfiguration
+ * // metadataXML: "STRING_VALUE", // required
+ * // roleArn: "STRING_VALUE", // required
+ * // userIdAttribute: "STRING_VALUE", // required
+ * // userGroupAttribute: "STRING_VALUE",
+ * // },
+ * // },
+ * // error: { // ErrorDetail
+ * // errorMessage: "STRING_VALUE",
+ * // errorCode: "InternalError" || "InvalidRequest" || "ResourceInactive" || "ResourceNotFound",
+ * // },
+ * // };
+ *
+ * ```
+ *
+ * @param GetWebExperienceCommandInput - {@link GetWebExperienceCommandInput}
+ * @returns {@link GetWebExperienceCommandOutput}
+ * @see {@link GetWebExperienceCommandInput} for command's `input` shape.
+ * @see {@link GetWebExperienceCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class GetWebExperienceCommand extends $Command<
+ GetWebExperienceCommandInput,
+ GetWebExperienceCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: GetWebExperienceCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, GetWebExperienceCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "GetWebExperienceCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "GetWebExperience",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: GetWebExperienceCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_GetWebExperienceCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_GetWebExperienceCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/ListApplicationsCommand.ts b/clients/client-qbusiness/src/commands/ListApplicationsCommand.ts
new file mode 100644
index 000000000000..9fdec016c3c7
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/ListApplicationsCommand.ts
@@ -0,0 +1,164 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { ListApplicationsRequest, ListApplicationsResponse } from "../models/models_0";
+import { de_ListApplicationsCommand, se_ListApplicationsCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link ListApplicationsCommand}.
+ */
+export interface ListApplicationsCommandInput extends ListApplicationsRequest {}
+/**
+ * @public
+ *
+ * The output of {@link ListApplicationsCommand}.
+ */
+export interface ListApplicationsCommandOutput extends ListApplicationsResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Lists Amazon Q applications.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, ListApplicationsCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, ListApplicationsCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // ListApplicationsRequest
+ * nextToken: "STRING_VALUE",
+ * maxResults: Number("int"),
+ * };
+ * const command = new ListApplicationsCommand(input);
+ * const response = await client.send(command);
+ * // { // ListApplicationsResponse
+ * // nextToken: "STRING_VALUE",
+ * // applications: [ // Applications
+ * // { // Application
+ * // displayName: "STRING_VALUE",
+ * // applicationId: "STRING_VALUE",
+ * // createdAt: new Date("TIMESTAMP"),
+ * // updatedAt: new Date("TIMESTAMP"),
+ * // status: "CREATING" || "ACTIVE" || "DELETING" || "FAILED" || "UPDATING",
+ * // },
+ * // ],
+ * // };
+ *
+ * ```
+ *
+ * @param ListApplicationsCommandInput - {@link ListApplicationsCommandInput}
+ * @returns {@link ListApplicationsCommandOutput}
+ * @see {@link ListApplicationsCommandInput} for command's `input` shape.
+ * @see {@link ListApplicationsCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class ListApplicationsCommand extends $Command<
+ ListApplicationsCommandInput,
+ ListApplicationsCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: ListApplicationsCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, ListApplicationsCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "ListApplicationsCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "ListApplications",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: ListApplicationsCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_ListApplicationsCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_ListApplicationsCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/ListConversationsCommand.ts b/clients/client-qbusiness/src/commands/ListConversationsCommand.ts
new file mode 100644
index 000000000000..7f7392efd91d
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/ListConversationsCommand.ts
@@ -0,0 +1,172 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { ListConversationsRequest, ListConversationsResponse } from "../models/models_0";
+import { de_ListConversationsCommand, se_ListConversationsCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link ListConversationsCommand}.
+ */
+export interface ListConversationsCommandInput extends ListConversationsRequest {}
+/**
+ * @public
+ *
+ * The output of {@link ListConversationsCommand}.
+ */
+export interface ListConversationsCommandOutput extends ListConversationsResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Lists one or more Amazon Q conversations.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, ListConversationsCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, ListConversationsCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // ListConversationsRequest
+ * applicationId: "STRING_VALUE", // required
+ * userId: "STRING_VALUE", // required
+ * nextToken: "STRING_VALUE",
+ * maxResults: Number("int"),
+ * };
+ * const command = new ListConversationsCommand(input);
+ * const response = await client.send(command);
+ * // { // ListConversationsResponse
+ * // nextToken: "STRING_VALUE",
+ * // conversations: [ // Conversations
+ * // { // Conversation
+ * // conversationId: "STRING_VALUE",
+ * // title: "STRING_VALUE",
+ * // startTime: new Date("TIMESTAMP"),
+ * // },
+ * // ],
+ * // };
+ *
+ * ```
+ *
+ * @param ListConversationsCommandInput - {@link ListConversationsCommandInput}
+ * @returns {@link ListConversationsCommandOutput}
+ * @see {@link ListConversationsCommandInput} for command's `input` shape.
+ * @see {@link ListConversationsCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link LicenseNotFoundException} (client fault)
+ * You don't have permissions to perform the action because your license is inactive. Ask
+ * your admin to activate your license and try again after your licence is active.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class ListConversationsCommand extends $Command<
+ ListConversationsCommandInput,
+ ListConversationsCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: ListConversationsCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, ListConversationsCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "ListConversationsCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "ListConversations",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: ListConversationsCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_ListConversationsCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_ListConversationsCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/ListDataSourceSyncJobsCommand.ts b/clients/client-qbusiness/src/commands/ListDataSourceSyncJobsCommand.ts
new file mode 100644
index 000000000000..7c178dbe9fdb
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/ListDataSourceSyncJobsCommand.ts
@@ -0,0 +1,185 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { ListDataSourceSyncJobsRequest, ListDataSourceSyncJobsResponse } from "../models/models_0";
+import { de_ListDataSourceSyncJobsCommand, se_ListDataSourceSyncJobsCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link ListDataSourceSyncJobsCommand}.
+ */
+export interface ListDataSourceSyncJobsCommandInput extends ListDataSourceSyncJobsRequest {}
+/**
+ * @public
+ *
+ * The output of {@link ListDataSourceSyncJobsCommand}.
+ */
+export interface ListDataSourceSyncJobsCommandOutput extends ListDataSourceSyncJobsResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Get information about an Amazon Q data source connector synchronization.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, ListDataSourceSyncJobsCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, ListDataSourceSyncJobsCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // ListDataSourceSyncJobsRequest
+ * dataSourceId: "STRING_VALUE", // required
+ * applicationId: "STRING_VALUE", // required
+ * indexId: "STRING_VALUE", // required
+ * nextToken: "STRING_VALUE",
+ * maxResults: Number("int"),
+ * startTime: new Date("TIMESTAMP"),
+ * endTime: new Date("TIMESTAMP"),
+ * statusFilter: "FAILED" || "SUCCEEDED" || "SYNCING" || "INCOMPLETE" || "STOPPING" || "ABORTED" || "SYNCING_INDEXING",
+ * };
+ * const command = new ListDataSourceSyncJobsCommand(input);
+ * const response = await client.send(command);
+ * // { // ListDataSourceSyncJobsResponse
+ * // history: [ // DataSourceSyncJobs
+ * // { // DataSourceSyncJob
+ * // executionId: "STRING_VALUE",
+ * // startTime: new Date("TIMESTAMP"),
+ * // endTime: new Date("TIMESTAMP"),
+ * // status: "FAILED" || "SUCCEEDED" || "SYNCING" || "INCOMPLETE" || "STOPPING" || "ABORTED" || "SYNCING_INDEXING",
+ * // error: { // ErrorDetail
+ * // errorMessage: "STRING_VALUE",
+ * // errorCode: "InternalError" || "InvalidRequest" || "ResourceInactive" || "ResourceNotFound",
+ * // },
+ * // dataSourceErrorCode: "STRING_VALUE",
+ * // metrics: { // DataSourceSyncJobMetrics
+ * // documentsAdded: "STRING_VALUE",
+ * // documentsModified: "STRING_VALUE",
+ * // documentsDeleted: "STRING_VALUE",
+ * // documentsFailed: "STRING_VALUE",
+ * // documentsScanned: "STRING_VALUE",
+ * // },
+ * // },
+ * // ],
+ * // nextToken: "STRING_VALUE",
+ * // };
+ *
+ * ```
+ *
+ * @param ListDataSourceSyncJobsCommandInput - {@link ListDataSourceSyncJobsCommandInput}
+ * @returns {@link ListDataSourceSyncJobsCommandOutput}
+ * @see {@link ListDataSourceSyncJobsCommandInput} for command's `input` shape.
+ * @see {@link ListDataSourceSyncJobsCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class ListDataSourceSyncJobsCommand extends $Command<
+ ListDataSourceSyncJobsCommandInput,
+ ListDataSourceSyncJobsCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: ListDataSourceSyncJobsCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, ListDataSourceSyncJobsCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "ListDataSourceSyncJobsCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "ListDataSourceSyncJobs",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: ListDataSourceSyncJobsCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_ListDataSourceSyncJobsCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_ListDataSourceSyncJobsCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/ListDataSourcesCommand.ts b/clients/client-qbusiness/src/commands/ListDataSourcesCommand.ts
new file mode 100644
index 000000000000..a22ea038561d
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/ListDataSourcesCommand.ts
@@ -0,0 +1,171 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { ListDataSourcesRequest, ListDataSourcesResponse } from "../models/models_0";
+import { de_ListDataSourcesCommand, se_ListDataSourcesCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link ListDataSourcesCommand}.
+ */
+export interface ListDataSourcesCommandInput extends ListDataSourcesRequest {}
+/**
+ * @public
+ *
+ * The output of {@link ListDataSourcesCommand}.
+ */
+export interface ListDataSourcesCommandOutput extends ListDataSourcesResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Lists the Amazon Q data source connectors that you have created.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, ListDataSourcesCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, ListDataSourcesCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // ListDataSourcesRequest
+ * applicationId: "STRING_VALUE", // required
+ * indexId: "STRING_VALUE", // required
+ * nextToken: "STRING_VALUE",
+ * maxResults: Number("int"),
+ * };
+ * const command = new ListDataSourcesCommand(input);
+ * const response = await client.send(command);
+ * // { // ListDataSourcesResponse
+ * // dataSources: [ // DataSources
+ * // { // DataSource
+ * // displayName: "STRING_VALUE",
+ * // dataSourceId: "STRING_VALUE",
+ * // type: "STRING_VALUE",
+ * // createdAt: new Date("TIMESTAMP"),
+ * // updatedAt: new Date("TIMESTAMP"),
+ * // status: "PENDING_CREATION" || "CREATING" || "ACTIVE" || "DELETING" || "FAILED" || "UPDATING",
+ * // },
+ * // ],
+ * // nextToken: "STRING_VALUE",
+ * // };
+ *
+ * ```
+ *
+ * @param ListDataSourcesCommandInput - {@link ListDataSourcesCommandInput}
+ * @returns {@link ListDataSourcesCommandOutput}
+ * @see {@link ListDataSourcesCommandInput} for command's `input` shape.
+ * @see {@link ListDataSourcesCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class ListDataSourcesCommand extends $Command<
+ ListDataSourcesCommandInput,
+ ListDataSourcesCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: ListDataSourcesCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, ListDataSourcesCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "ListDataSourcesCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "ListDataSources",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: ListDataSourcesCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_ListDataSourcesCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_ListDataSourcesCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/ListDocumentsCommand.ts b/clients/client-qbusiness/src/commands/ListDocumentsCommand.ts
new file mode 100644
index 000000000000..894cb8ee7668
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/ListDocumentsCommand.ts
@@ -0,0 +1,174 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { ListDocumentsRequest, ListDocumentsResponse } from "../models/models_0";
+import { de_ListDocumentsCommand, se_ListDocumentsCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link ListDocumentsCommand}.
+ */
+export interface ListDocumentsCommandInput extends ListDocumentsRequest {}
+/**
+ * @public
+ *
+ * The output of {@link ListDocumentsCommand}.
+ */
+export interface ListDocumentsCommandOutput extends ListDocumentsResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * A list of documents attached to an index.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, ListDocumentsCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, ListDocumentsCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // ListDocumentsRequest
+ * applicationId: "STRING_VALUE", // required
+ * indexId: "STRING_VALUE", // required
+ * dataSourceIds: [ // DataSourceIds
+ * "STRING_VALUE",
+ * ],
+ * nextToken: "STRING_VALUE",
+ * maxResults: Number("int"),
+ * };
+ * const command = new ListDocumentsCommand(input);
+ * const response = await client.send(command);
+ * // { // ListDocumentsResponse
+ * // documentDetailList: [ // DocumentDetailList
+ * // { // DocumentDetails
+ * // documentId: "STRING_VALUE",
+ * // status: "RECEIVED" || "PROCESSING" || "INDEXED" || "UPDATED" || "FAILED" || "DELETING" || "DELETED" || "DOCUMENT_FAILED_TO_INDEX",
+ * // error: { // ErrorDetail
+ * // errorMessage: "STRING_VALUE",
+ * // errorCode: "InternalError" || "InvalidRequest" || "ResourceInactive" || "ResourceNotFound",
+ * // },
+ * // createdAt: new Date("TIMESTAMP"),
+ * // updatedAt: new Date("TIMESTAMP"),
+ * // },
+ * // ],
+ * // nextToken: "STRING_VALUE",
+ * // };
+ *
+ * ```
+ *
+ * @param ListDocumentsCommandInput - {@link ListDocumentsCommandInput}
+ * @returns {@link ListDocumentsCommandOutput}
+ * @see {@link ListDocumentsCommandInput} for command's `input` shape.
+ * @see {@link ListDocumentsCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class ListDocumentsCommand extends $Command<
+ ListDocumentsCommandInput,
+ ListDocumentsCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: ListDocumentsCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(getEndpointPlugin(configuration, ListDocumentsCommand.getEndpointParameterInstructions()));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "ListDocumentsCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "ListDocuments",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: ListDocumentsCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_ListDocumentsCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_ListDocumentsCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/ListGroupsCommand.ts b/clients/client-qbusiness/src/commands/ListGroupsCommand.ts
new file mode 100644
index 000000000000..58e7935a0594
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/ListGroupsCommand.ts
@@ -0,0 +1,170 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { ListGroupsRequest, ListGroupsResponse } from "../models/models_0";
+import { de_ListGroupsCommand, se_ListGroupsCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link ListGroupsCommand}.
+ */
+export interface ListGroupsCommandInput extends ListGroupsRequest {}
+/**
+ * @public
+ *
+ * The output of {@link ListGroupsCommand}.
+ */
+export interface ListGroupsCommandOutput extends ListGroupsResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Provides a list of groups that are mapped to users.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, ListGroupsCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, ListGroupsCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // ListGroupsRequest
+ * applicationId: "STRING_VALUE", // required
+ * indexId: "STRING_VALUE", // required
+ * updatedEarlierThan: new Date("TIMESTAMP"), // required
+ * dataSourceId: "STRING_VALUE",
+ * nextToken: "STRING_VALUE",
+ * maxResults: Number("int"),
+ * };
+ * const command = new ListGroupsCommand(input);
+ * const response = await client.send(command);
+ * // { // ListGroupsResponse
+ * // nextToken: "STRING_VALUE",
+ * // items: [ // GroupSummaryList
+ * // { // GroupSummary
+ * // groupName: "STRING_VALUE",
+ * // },
+ * // ],
+ * // };
+ *
+ * ```
+ *
+ * @param ListGroupsCommandInput - {@link ListGroupsCommandInput}
+ * @returns {@link ListGroupsCommandOutput}
+ * @see {@link ListGroupsCommandInput} for command's `input` shape.
+ * @see {@link ListGroupsCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link ConflictException} (client fault)
+ * You are trying to perform an action that conflicts with the current status of your
+ * resource. Fix any inconsistences with your resources and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class ListGroupsCommand extends $Command<
+ ListGroupsCommandInput,
+ ListGroupsCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: ListGroupsCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(getEndpointPlugin(configuration, ListGroupsCommand.getEndpointParameterInstructions()));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "ListGroupsCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "ListGroups",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: ListGroupsCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_ListGroupsCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_ListGroupsCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/ListIndicesCommand.ts b/clients/client-qbusiness/src/commands/ListIndicesCommand.ts
new file mode 100644
index 000000000000..3077a56ff376
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/ListIndicesCommand.ts
@@ -0,0 +1,167 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { ListIndicesRequest, ListIndicesResponse } from "../models/models_0";
+import { de_ListIndicesCommand, se_ListIndicesCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link ListIndicesCommand}.
+ */
+export interface ListIndicesCommandInput extends ListIndicesRequest {}
+/**
+ * @public
+ *
+ * The output of {@link ListIndicesCommand}.
+ */
+export interface ListIndicesCommandOutput extends ListIndicesResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Lists the Amazon Q indices you have created.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, ListIndicesCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, ListIndicesCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // ListIndicesRequest
+ * applicationId: "STRING_VALUE", // required
+ * nextToken: "STRING_VALUE",
+ * maxResults: Number("int"),
+ * };
+ * const command = new ListIndicesCommand(input);
+ * const response = await client.send(command);
+ * // { // ListIndicesResponse
+ * // nextToken: "STRING_VALUE",
+ * // indices: [ // Indices
+ * // { // Index
+ * // displayName: "STRING_VALUE",
+ * // indexId: "STRING_VALUE",
+ * // createdAt: new Date("TIMESTAMP"),
+ * // updatedAt: new Date("TIMESTAMP"),
+ * // status: "CREATING" || "ACTIVE" || "DELETING" || "FAILED" || "UPDATING",
+ * // },
+ * // ],
+ * // };
+ *
+ * ```
+ *
+ * @param ListIndicesCommandInput - {@link ListIndicesCommandInput}
+ * @returns {@link ListIndicesCommandOutput}
+ * @see {@link ListIndicesCommandInput} for command's `input` shape.
+ * @see {@link ListIndicesCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class ListIndicesCommand extends $Command<
+ ListIndicesCommandInput,
+ ListIndicesCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: ListIndicesCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(getEndpointPlugin(configuration, ListIndicesCommand.getEndpointParameterInstructions()));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "ListIndicesCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "ListIndices",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: ListIndicesCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_ListIndicesCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_ListIndicesCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/ListMessagesCommand.ts b/clients/client-qbusiness/src/commands/ListMessagesCommand.ts
new file mode 100644
index 000000000000..e53a7cda0a53
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/ListMessagesCommand.ts
@@ -0,0 +1,226 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { ListMessagesRequest, ListMessagesResponse } from "../models/models_0";
+import { de_ListMessagesCommand, se_ListMessagesCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link ListMessagesCommand}.
+ */
+export interface ListMessagesCommandInput extends ListMessagesRequest {}
+/**
+ * @public
+ *
+ * The output of {@link ListMessagesCommand}.
+ */
+export interface ListMessagesCommandOutput extends ListMessagesResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Gets a list of messages associated with an Amazon Q web experience.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, ListMessagesCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, ListMessagesCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // ListMessagesRequest
+ * conversationId: "STRING_VALUE", // required
+ * applicationId: "STRING_VALUE", // required
+ * userId: "STRING_VALUE", // required
+ * nextToken: "STRING_VALUE",
+ * maxResults: Number("int"),
+ * };
+ * const command = new ListMessagesCommand(input);
+ * const response = await client.send(command);
+ * // { // ListMessagesResponse
+ * // messages: [ // Messages
+ * // { // Message
+ * // messageId: "STRING_VALUE",
+ * // body: "STRING_VALUE",
+ * // time: new Date("TIMESTAMP"),
+ * // type: "USER" || "SYSTEM",
+ * // attachments: [ // AttachmentsOutput
+ * // { // AttachmentOutput
+ * // name: "STRING_VALUE",
+ * // status: "FAILED" || "SUCCEEDED",
+ * // error: { // ErrorDetail
+ * // errorMessage: "STRING_VALUE",
+ * // errorCode: "InternalError" || "InvalidRequest" || "ResourceInactive" || "ResourceNotFound",
+ * // },
+ * // },
+ * // ],
+ * // sourceAttribution: [ // SourceAttributions
+ * // { // SourceAttribution
+ * // title: "STRING_VALUE",
+ * // snippet: "STRING_VALUE",
+ * // url: "STRING_VALUE",
+ * // citationNumber: Number("int"),
+ * // updatedAt: new Date("TIMESTAMP"),
+ * // textMessageSegments: [ // TextSegmentList
+ * // { // TextSegment
+ * // beginOffset: Number("int"),
+ * // endOffset: Number("int"),
+ * // },
+ * // ],
+ * // },
+ * // ],
+ * // actionReview: { // ActionReview
+ * // pluginId: "STRING_VALUE",
+ * // pluginType: "SERVICE_NOW" || "SALESFORCE" || "JIRA" || "ZENDESK",
+ * // payload: { // ActionReviewPayload
+ * // "": { // ActionReviewPayloadField
+ * // displayName: "STRING_VALUE",
+ * // displayOrder: Number("int"),
+ * // type: "STRING" || "NUMBER" || "ARRAY" || "BOOLEAN",
+ * // value: "DOCUMENT_VALUE",
+ * // allowedValues: [ // ActionReviewPayloadFieldAllowedValues
+ * // { // ActionReviewPayloadFieldAllowedValue
+ * // value: "DOCUMENT_VALUE",
+ * // displayValue: "DOCUMENT_VALUE",
+ * // },
+ * // ],
+ * // required: true || false,
+ * // },
+ * // },
+ * // payloadFieldNameSeparator: "STRING_VALUE",
+ * // },
+ * // actionExecution: { // ActionExecution
+ * // pluginId: "STRING_VALUE", // required
+ * // payload: { // ActionExecutionPayload // required
+ * // "": { // ActionExecutionPayloadField
+ * // value: "DOCUMENT_VALUE", // required
+ * // },
+ * // },
+ * // payloadFieldNameSeparator: "STRING_VALUE", // required
+ * // },
+ * // },
+ * // ],
+ * // nextToken: "STRING_VALUE",
+ * // };
+ *
+ * ```
+ *
+ * @param ListMessagesCommandInput - {@link ListMessagesCommandInput}
+ * @returns {@link ListMessagesCommandOutput}
+ * @see {@link ListMessagesCommandInput} for command's `input` shape.
+ * @see {@link ListMessagesCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link LicenseNotFoundException} (client fault)
+ * You don't have permissions to perform the action because your license is inactive. Ask
+ * your admin to activate your license and try again after your licence is active.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class ListMessagesCommand extends $Command<
+ ListMessagesCommandInput,
+ ListMessagesCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: ListMessagesCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(getEndpointPlugin(configuration, ListMessagesCommand.getEndpointParameterInstructions()));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "ListMessagesCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "ListMessages",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: ListMessagesCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_ListMessagesCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_ListMessagesCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/ListPluginsCommand.ts b/clients/client-qbusiness/src/commands/ListPluginsCommand.ts
new file mode 100644
index 000000000000..7d1367f10ecd
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/ListPluginsCommand.ts
@@ -0,0 +1,169 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { ListPluginsRequest, ListPluginsResponse } from "../models/models_0";
+import { de_ListPluginsCommand, se_ListPluginsCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link ListPluginsCommand}.
+ */
+export interface ListPluginsCommandInput extends ListPluginsRequest {}
+/**
+ * @public
+ *
+ * The output of {@link ListPluginsCommand}.
+ */
+export interface ListPluginsCommandOutput extends ListPluginsResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Lists configured Amazon Q plugins.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, ListPluginsCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, ListPluginsCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // ListPluginsRequest
+ * applicationId: "STRING_VALUE", // required
+ * nextToken: "STRING_VALUE",
+ * maxResults: Number("int"),
+ * };
+ * const command = new ListPluginsCommand(input);
+ * const response = await client.send(command);
+ * // { // ListPluginsResponse
+ * // nextToken: "STRING_VALUE",
+ * // plugins: [ // Plugins
+ * // { // Plugin
+ * // pluginId: "STRING_VALUE",
+ * // displayName: "STRING_VALUE",
+ * // type: "SERVICE_NOW" || "SALESFORCE" || "JIRA" || "ZENDESK",
+ * // serverUrl: "STRING_VALUE",
+ * // state: "ENABLED" || "DISABLED",
+ * // createdAt: new Date("TIMESTAMP"),
+ * // updatedAt: new Date("TIMESTAMP"),
+ * // },
+ * // ],
+ * // };
+ *
+ * ```
+ *
+ * @param ListPluginsCommandInput - {@link ListPluginsCommandInput}
+ * @returns {@link ListPluginsCommandOutput}
+ * @see {@link ListPluginsCommandInput} for command's `input` shape.
+ * @see {@link ListPluginsCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class ListPluginsCommand extends $Command<
+ ListPluginsCommandInput,
+ ListPluginsCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: ListPluginsCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(getEndpointPlugin(configuration, ListPluginsCommand.getEndpointParameterInstructions()));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "ListPluginsCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "ListPlugins",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: ListPluginsCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_ListPluginsCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_ListPluginsCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/ListRetrieversCommand.ts b/clients/client-qbusiness/src/commands/ListRetrieversCommand.ts
new file mode 100644
index 000000000000..6df633838704
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/ListRetrieversCommand.ts
@@ -0,0 +1,169 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { ListRetrieversRequest, ListRetrieversResponse } from "../models/models_0";
+import { de_ListRetrieversCommand, se_ListRetrieversCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link ListRetrieversCommand}.
+ */
+export interface ListRetrieversCommandInput extends ListRetrieversRequest {}
+/**
+ * @public
+ *
+ * The output of {@link ListRetrieversCommand}.
+ */
+export interface ListRetrieversCommandOutput extends ListRetrieversResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Lists the retriever used by an Amazon Q application.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, ListRetrieversCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, ListRetrieversCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // ListRetrieversRequest
+ * applicationId: "STRING_VALUE", // required
+ * nextToken: "STRING_VALUE",
+ * maxResults: Number("int"),
+ * };
+ * const command = new ListRetrieversCommand(input);
+ * const response = await client.send(command);
+ * // { // ListRetrieversResponse
+ * // retrievers: [ // Retrievers
+ * // { // Retriever
+ * // applicationId: "STRING_VALUE",
+ * // retrieverId: "STRING_VALUE",
+ * // type: "NATIVE_INDEX" || "KENDRA_INDEX",
+ * // status: "CREATING" || "ACTIVE" || "FAILED",
+ * // displayName: "STRING_VALUE",
+ * // },
+ * // ],
+ * // nextToken: "STRING_VALUE",
+ * // };
+ *
+ * ```
+ *
+ * @param ListRetrieversCommandInput - {@link ListRetrieversCommandInput}
+ * @returns {@link ListRetrieversCommandOutput}
+ * @see {@link ListRetrieversCommandInput} for command's `input` shape.
+ * @see {@link ListRetrieversCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class ListRetrieversCommand extends $Command<
+ ListRetrieversCommandInput,
+ ListRetrieversCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: ListRetrieversCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, ListRetrieversCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "ListRetrieversCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "ListRetrievers",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: ListRetrieversCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_ListRetrieversCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_ListRetrieversCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/ListTagsForResourceCommand.ts b/clients/client-qbusiness/src/commands/ListTagsForResourceCommand.ts
new file mode 100644
index 000000000000..44c892c9a75e
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/ListTagsForResourceCommand.ts
@@ -0,0 +1,164 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { ListTagsForResourceRequest, ListTagsForResourceResponse } from "../models/models_0";
+import { de_ListTagsForResourceCommand, se_ListTagsForResourceCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link ListTagsForResourceCommand}.
+ */
+export interface ListTagsForResourceCommandInput extends ListTagsForResourceRequest {}
+/**
+ * @public
+ *
+ * The output of {@link ListTagsForResourceCommand}.
+ */
+export interface ListTagsForResourceCommandOutput extends ListTagsForResourceResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Gets a list of tags associated with a specified resource. Amazon Q applications
+ * and data sources can have tags associated with them.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, ListTagsForResourceCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, ListTagsForResourceCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // ListTagsForResourceRequest
+ * resourceARN: "STRING_VALUE", // required
+ * };
+ * const command = new ListTagsForResourceCommand(input);
+ * const response = await client.send(command);
+ * // { // ListTagsForResourceResponse
+ * // tags: [ // Tags
+ * // { // Tag
+ * // key: "STRING_VALUE", // required
+ * // value: "STRING_VALUE", // required
+ * // },
+ * // ],
+ * // };
+ *
+ * ```
+ *
+ * @param ListTagsForResourceCommandInput - {@link ListTagsForResourceCommandInput}
+ * @returns {@link ListTagsForResourceCommandOutput}
+ * @see {@link ListTagsForResourceCommandInput} for command's `input` shape.
+ * @see {@link ListTagsForResourceCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class ListTagsForResourceCommand extends $Command<
+ ListTagsForResourceCommandInput,
+ ListTagsForResourceCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: ListTagsForResourceCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, ListTagsForResourceCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "ListTagsForResourceCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "ListTagsForResource",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: ListTagsForResourceCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_ListTagsForResourceCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_ListTagsForResourceCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/ListWebExperiencesCommand.ts b/clients/client-qbusiness/src/commands/ListWebExperiencesCommand.ts
new file mode 100644
index 000000000000..691f2a6b2cda
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/ListWebExperiencesCommand.ts
@@ -0,0 +1,169 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { ListWebExperiencesRequest, ListWebExperiencesResponse } from "../models/models_0";
+import { de_ListWebExperiencesCommand, se_ListWebExperiencesCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link ListWebExperiencesCommand}.
+ */
+export interface ListWebExperiencesCommandInput extends ListWebExperiencesRequest {}
+/**
+ * @public
+ *
+ * The output of {@link ListWebExperiencesCommand}.
+ */
+export interface ListWebExperiencesCommandOutput extends ListWebExperiencesResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Lists one or more Amazon Q Web Experiences.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, ListWebExperiencesCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, ListWebExperiencesCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // ListWebExperiencesRequest
+ * applicationId: "STRING_VALUE", // required
+ * nextToken: "STRING_VALUE",
+ * maxResults: Number("int"),
+ * };
+ * const command = new ListWebExperiencesCommand(input);
+ * const response = await client.send(command);
+ * // { // ListWebExperiencesResponse
+ * // webExperiences: [ // WebExperiences
+ * // { // WebExperience
+ * // webExperienceId: "STRING_VALUE",
+ * // createdAt: new Date("TIMESTAMP"),
+ * // updatedAt: new Date("TIMESTAMP"),
+ * // defaultEndpoint: "STRING_VALUE",
+ * // status: "CREATING" || "ACTIVE" || "DELETING" || "FAILED" || "PENDING_AUTH_CONFIG",
+ * // },
+ * // ],
+ * // nextToken: "STRING_VALUE",
+ * // };
+ *
+ * ```
+ *
+ * @param ListWebExperiencesCommandInput - {@link ListWebExperiencesCommandInput}
+ * @returns {@link ListWebExperiencesCommandOutput}
+ * @see {@link ListWebExperiencesCommandInput} for command's `input` shape.
+ * @see {@link ListWebExperiencesCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class ListWebExperiencesCommand extends $Command<
+ ListWebExperiencesCommandInput,
+ ListWebExperiencesCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: ListWebExperiencesCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, ListWebExperiencesCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "ListWebExperiencesCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "ListWebExperiences",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: ListWebExperiencesCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_ListWebExperiencesCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_ListWebExperiencesCommand(output, context);
+ }
+}
diff --git a/clients/client-qbusiness/src/commands/PutFeedbackCommand.ts b/clients/client-qbusiness/src/commands/PutFeedbackCommand.ts
new file mode 100644
index 000000000000..414cea4b6759
--- /dev/null
+++ b/clients/client-qbusiness/src/commands/PutFeedbackCommand.ts
@@ -0,0 +1,165 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { PutFeedbackRequest } from "../models/models_0";
+import { de_PutFeedbackCommand, se_PutFeedbackCommand } from "../protocols/Aws_restJson1";
+import { QBusinessClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QBusinessClient";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link PutFeedbackCommand}.
+ */
+export interface PutFeedbackCommandInput extends PutFeedbackRequest {}
+/**
+ * @public
+ *
+ * The output of {@link PutFeedbackCommand}.
+ */
+export interface PutFeedbackCommandOutput extends __MetadataBearer {}
+
+/**
+ * @public
+ * Enables your end user to to provide feedback on their Amazon Q generated chat
+ * responses.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { QBusinessClient, PutFeedbackCommand } from "@aws-sdk/client-qbusiness"; // ES Modules import
+ * // const { QBusinessClient, PutFeedbackCommand } = require("@aws-sdk/client-qbusiness"); // CommonJS import
+ * const client = new QBusinessClient(config);
+ * const input = { // PutFeedbackRequest
+ * applicationId: "STRING_VALUE", // required
+ * userId: "STRING_VALUE", // required
+ * conversationId: "STRING_VALUE", // required
+ * messageId: "STRING_VALUE", // required
+ * messageCopiedAt: new Date("TIMESTAMP"),
+ * messageUsefulness: { // MessageUsefulnessFeedback
+ * usefulness: "USEFUL" || "NOT_USEFUL", // required
+ * reason: "NOT_FACTUALLY_CORRECT" || "HARMFUL_OR_UNSAFE" || "INCORRECT_OR_MISSING_SOURCES" || "NOT_HELPFUL" || "FACTUALLY_CORRECT" || "COMPLETE" || "RELEVANT_SOURCES" || "HELPFUL",
+ * comment: "STRING_VALUE",
+ * submittedAt: new Date("TIMESTAMP"), // required
+ * },
+ * };
+ * const command = new PutFeedbackCommand(input);
+ * const response = await client.send(command);
+ * // {};
+ *
+ * ```
+ *
+ * @param PutFeedbackCommandInput - {@link PutFeedbackCommandInput}
+ * @returns {@link PutFeedbackCommandOutput}
+ * @see {@link PutFeedbackCommandInput} for command's `input` shape.
+ * @see {@link PutFeedbackCommandOutput} for command's `response` shape.
+ * @see {@link QBusinessClientResolvedConfig | config} for QBusinessClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ * You don't have access to perform this action. Make sure you have the required
+ * permission policies and user accounts and try again.
+ *
+ * @throws {@link InternalServerException} (server fault)
+ * An issue occurred with the internal server used for your Amazon Q service. Wait
+ * some minutes and try again, or contact Support for help.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * The resource you want to use doesn’t exist. Make sure you have provided the correct
+ * resource and try again.
+ *
+ * @throws {@link ThrottlingException} (client fault)
+ * The request was denied due to throttling. Reduce the number of requests and try
+ * again.
+ *
+ * @throws {@link ValidationException} (client fault)
+ * The input doesn't meet the constraints set by the Amazon Q service. Provide the
+ * correct input and try again.
+ *
+ * @throws {@link QBusinessServiceException}
+ * Base exception class for all service exceptions from QBusiness service.
+ *
+ */
+export class PutFeedbackCommand extends $Command<
+ PutFeedbackCommandInput,
+ PutFeedbackCommandOutput,
+ QBusinessClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: PutFeedbackCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: QBusinessClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(getEndpointPlugin(configuration, PutFeedbackCommand.getEndpointParameterInstructions()));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "QBusinessClient";
+ const commandName = "PutFeedbackCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "ExpertQ",
+ operation: "PutFeedback",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: PutFeedbackCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_PutFeedbackCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise