diff --git a/clients/client-chatbot/README.md b/clients/client-chatbot/README.md index 379a24c8ed08..e7e996d9cb33 100644 --- a/clients/client-chatbot/README.md +++ b/clients/client-chatbot/README.md @@ -23,16 +23,16 @@ using your favorite package manager: The AWS SDK is modulized by clients and commands. To send a request, you only need to import the `ChatbotClient` and -the commands you need, for example `ListMicrosoftTeamsConfiguredTeamsCommand`: +the commands you need, for example `ListTagsForResourceCommand`: ```js // ES5 example -const { ChatbotClient, ListMicrosoftTeamsConfiguredTeamsCommand } = require("@aws-sdk/client-chatbot"); +const { ChatbotClient, ListTagsForResourceCommand } = require("@aws-sdk/client-chatbot"); ``` ```ts // ES6+ example -import { ChatbotClient, ListMicrosoftTeamsConfiguredTeamsCommand } from "@aws-sdk/client-chatbot"; +import { ChatbotClient, ListTagsForResourceCommand } from "@aws-sdk/client-chatbot"; ``` ### Usage @@ -51,7 +51,7 @@ const client = new ChatbotClient({ region: "REGION" }); const params = { /** input parameters */ }; -const command = new ListMicrosoftTeamsConfiguredTeamsCommand(params); +const command = new ListTagsForResourceCommand(params); ``` #### Async/await @@ -130,7 +130,7 @@ const client = new AWS.Chatbot({ region: "REGION" }); // async/await. try { - const data = await client.listMicrosoftTeamsConfiguredTeams(params); + const data = await client.listTagsForResource(params); // process data. } catch (error) { // error handling. @@ -138,7 +138,7 @@ try { // Promises. client - .listMicrosoftTeamsConfiguredTeams(params) + .listTagsForResource(params) .then((data) => { // process data. }) @@ -147,7 +147,7 @@ client }); // callbacks. -client.listMicrosoftTeamsConfiguredTeams(params, (err, data) => { +client.listTagsForResource(params, (err, data) => { // process err and data. }); ``` @@ -354,6 +354,30 @@ ListMicrosoftTeamsUserIdentities [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/chatbot/command/ListMicrosoftTeamsUserIdentitiesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-chatbot/Interface/ListMicrosoftTeamsUserIdentitiesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-chatbot/Interface/ListMicrosoftTeamsUserIdentitiesCommandOutput/) + +
+ +ListTagsForResource + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/chatbot/command/ListTagsForResourceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-chatbot/Interface/ListTagsForResourceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-chatbot/Interface/ListTagsForResourceCommandOutput/) + +
+
+ +TagResource + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/chatbot/command/TagResourceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-chatbot/Interface/TagResourceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-chatbot/Interface/TagResourceCommandOutput/) + +
+
+ +UntagResource + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/chatbot/command/UntagResourceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-chatbot/Interface/UntagResourceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-chatbot/Interface/UntagResourceCommandOutput/) +
diff --git a/clients/client-chatbot/src/Chatbot.ts b/clients/client-chatbot/src/Chatbot.ts index 65fa1a0bc8c6..5c5927eb1384 100644 --- a/clients/client-chatbot/src/Chatbot.ts +++ b/clients/client-chatbot/src/Chatbot.ts @@ -98,6 +98,17 @@ import { ListMicrosoftTeamsUserIdentitiesCommandInput, ListMicrosoftTeamsUserIdentitiesCommandOutput, } from "./commands/ListMicrosoftTeamsUserIdentitiesCommand"; +import { + ListTagsForResourceCommand, + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "./commands/ListTagsForResourceCommand"; +import { TagResourceCommand, TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; +import { + UntagResourceCommand, + UntagResourceCommandInput, + UntagResourceCommandOutput, +} from "./commands/UntagResourceCommand"; import { UpdateAccountPreferencesCommand, UpdateAccountPreferencesCommandInput, @@ -139,6 +150,9 @@ const commands = { ListMicrosoftTeamsChannelConfigurationsCommand, ListMicrosoftTeamsConfiguredTeamsCommand, ListMicrosoftTeamsUserIdentitiesCommand, + ListTagsForResourceCommand, + TagResourceCommand, + UntagResourceCommand, UpdateAccountPreferencesCommand, UpdateChimeWebhookConfigurationCommand, UpdateMicrosoftTeamsChannelConfigurationCommand, @@ -477,6 +491,45 @@ export interface Chatbot { cb: (err: any, data?: ListMicrosoftTeamsUserIdentitiesCommandOutput) => 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 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 UpdateAccountPreferencesCommand} */ diff --git a/clients/client-chatbot/src/ChatbotClient.ts b/clients/client-chatbot/src/ChatbotClient.ts index ecf4669f6c07..f8b9fe47f787 100644 --- a/clients/client-chatbot/src/ChatbotClient.ts +++ b/clients/client-chatbot/src/ChatbotClient.ts @@ -129,6 +129,12 @@ import { ListMicrosoftTeamsUserIdentitiesCommandInput, ListMicrosoftTeamsUserIdentitiesCommandOutput, } from "./commands/ListMicrosoftTeamsUserIdentitiesCommand"; +import { + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "./commands/ListTagsForResourceCommand"; +import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; +import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; import { UpdateAccountPreferencesCommandInput, UpdateAccountPreferencesCommandOutput, @@ -179,6 +185,9 @@ export type ServiceInputTypes = | ListMicrosoftTeamsChannelConfigurationsCommandInput | ListMicrosoftTeamsConfiguredTeamsCommandInput | ListMicrosoftTeamsUserIdentitiesCommandInput + | ListTagsForResourceCommandInput + | TagResourceCommandInput + | UntagResourceCommandInput | UpdateAccountPreferencesCommandInput | UpdateChimeWebhookConfigurationCommandInput | UpdateMicrosoftTeamsChannelConfigurationCommandInput @@ -207,6 +216,9 @@ export type ServiceOutputTypes = | ListMicrosoftTeamsChannelConfigurationsCommandOutput | ListMicrosoftTeamsConfiguredTeamsCommandOutput | ListMicrosoftTeamsUserIdentitiesCommandOutput + | ListTagsForResourceCommandOutput + | TagResourceCommandOutput + | UntagResourceCommandOutput | UpdateAccountPreferencesCommandOutput | UpdateChimeWebhookConfigurationCommandOutput | UpdateMicrosoftTeamsChannelConfigurationCommandOutput diff --git a/clients/client-chatbot/src/commands/CreateChimeWebhookConfigurationCommand.ts b/clients/client-chatbot/src/commands/CreateChimeWebhookConfigurationCommand.ts index bc1da1c91603..2c12d6c2be80 100644 --- a/clients/client-chatbot/src/commands/CreateChimeWebhookConfigurationCommand.ts +++ b/clients/client-chatbot/src/commands/CreateChimeWebhookConfigurationCommand.ts @@ -48,6 +48,12 @@ export interface CreateChimeWebhookConfigurationCommandOutput * IamRoleArn: "STRING_VALUE", // required * ConfigurationName: "STRING_VALUE", // required * LoggingLevel: "STRING_VALUE", + * Tags: [ // Tags + * { // Tag + * TagKey: "STRING_VALUE", // required + * TagValue: "STRING_VALUE", // required + * }, + * ], * }; * const command = new CreateChimeWebhookConfigurationCommand(input); * const response = await client.send(command); @@ -61,6 +67,12 @@ export interface CreateChimeWebhookConfigurationCommandOutput * // ], * // ConfigurationName: "STRING_VALUE", * // LoggingLevel: "STRING_VALUE", + * // Tags: [ // Tags + * // { // Tag + * // TagKey: "STRING_VALUE", // required + * // TagValue: "STRING_VALUE", // required + * // }, + * // ], * // }, * // }; * diff --git a/clients/client-chatbot/src/commands/CreateMicrosoftTeamsChannelConfigurationCommand.ts b/clients/client-chatbot/src/commands/CreateMicrosoftTeamsChannelConfigurationCommand.ts index 62513a26586b..63bdebe823f0 100644 --- a/clients/client-chatbot/src/commands/CreateMicrosoftTeamsChannelConfigurationCommand.ts +++ b/clients/client-chatbot/src/commands/CreateMicrosoftTeamsChannelConfigurationCommand.ts @@ -55,6 +55,12 @@ export interface CreateMicrosoftTeamsChannelConfigurationCommandOutput * "STRING_VALUE", * ], * UserAuthorizationRequired: true || false, + * Tags: [ // Tags + * { // Tag + * TagKey: "STRING_VALUE", // required + * TagValue: "STRING_VALUE", // required + * }, + * ], * }; * const command = new CreateMicrosoftTeamsChannelConfigurationCommand(input); * const response = await client.send(command); @@ -76,6 +82,12 @@ export interface CreateMicrosoftTeamsChannelConfigurationCommandOutput * // "STRING_VALUE", * // ], * // UserAuthorizationRequired: true || false, + * // Tags: [ // Tags + * // { // Tag + * // TagKey: "STRING_VALUE", // required + * // TagValue: "STRING_VALUE", // required + * // }, + * // ], * // }, * // }; * diff --git a/clients/client-chatbot/src/commands/CreateSlackChannelConfigurationCommand.ts b/clients/client-chatbot/src/commands/CreateSlackChannelConfigurationCommand.ts index d1e83e2cddae..59cb0c560a5d 100644 --- a/clients/client-chatbot/src/commands/CreateSlackChannelConfigurationCommand.ts +++ b/clients/client-chatbot/src/commands/CreateSlackChannelConfigurationCommand.ts @@ -53,6 +53,12 @@ export interface CreateSlackChannelConfigurationCommandOutput * "STRING_VALUE", * ], * UserAuthorizationRequired: true || false, + * Tags: [ // Tags + * { // Tag + * TagKey: "STRING_VALUE", // required + * TagValue: "STRING_VALUE", // required + * }, + * ], * }; * const command = new CreateSlackChannelConfigurationCommand(input); * const response = await client.send(command); @@ -73,6 +79,12 @@ export interface CreateSlackChannelConfigurationCommandOutput * // "STRING_VALUE", * // ], * // UserAuthorizationRequired: true || false, + * // Tags: [ // Tags + * // { // Tag + * // TagKey: "STRING_VALUE", // required + * // TagValue: "STRING_VALUE", // required + * // }, + * // ], * // }, * // }; * diff --git a/clients/client-chatbot/src/commands/DescribeChimeWebhookConfigurationsCommand.ts b/clients/client-chatbot/src/commands/DescribeChimeWebhookConfigurationsCommand.ts index 9ff98c42b95f..d90ae0654eb3 100644 --- a/clients/client-chatbot/src/commands/DescribeChimeWebhookConfigurationsCommand.ts +++ b/clients/client-chatbot/src/commands/DescribeChimeWebhookConfigurationsCommand.ts @@ -61,6 +61,12 @@ export interface DescribeChimeWebhookConfigurationsCommandOutput * // ], * // ConfigurationName: "STRING_VALUE", * // LoggingLevel: "STRING_VALUE", + * // Tags: [ // Tags + * // { // Tag + * // TagKey: "STRING_VALUE", // required + * // TagValue: "STRING_VALUE", // required + * // }, + * // ], * // }, * // ], * // }; diff --git a/clients/client-chatbot/src/commands/DescribeSlackChannelConfigurationsCommand.ts b/clients/client-chatbot/src/commands/DescribeSlackChannelConfigurationsCommand.ts index 421945281c6c..dc09a0a8915e 100644 --- a/clients/client-chatbot/src/commands/DescribeSlackChannelConfigurationsCommand.ts +++ b/clients/client-chatbot/src/commands/DescribeSlackChannelConfigurationsCommand.ts @@ -68,6 +68,12 @@ export interface DescribeSlackChannelConfigurationsCommandOutput * // "STRING_VALUE", * // ], * // UserAuthorizationRequired: true || false, + * // Tags: [ // Tags + * // { // Tag + * // TagKey: "STRING_VALUE", // required + * // TagValue: "STRING_VALUE", // required + * // }, + * // ], * // }, * // ], * // }; diff --git a/clients/client-chatbot/src/commands/GetMicrosoftTeamsChannelConfigurationCommand.ts b/clients/client-chatbot/src/commands/GetMicrosoftTeamsChannelConfigurationCommand.ts index 51838898147c..82b912add0ae 100644 --- a/clients/client-chatbot/src/commands/GetMicrosoftTeamsChannelConfigurationCommand.ts +++ b/clients/client-chatbot/src/commands/GetMicrosoftTeamsChannelConfigurationCommand.ts @@ -62,6 +62,12 @@ export interface GetMicrosoftTeamsChannelConfigurationCommandOutput * // "STRING_VALUE", * // ], * // UserAuthorizationRequired: true || false, + * // Tags: [ // Tags + * // { // Tag + * // TagKey: "STRING_VALUE", // required + * // TagValue: "STRING_VALUE", // required + * // }, + * // ], * // }, * // }; * diff --git a/clients/client-chatbot/src/commands/ListMicrosoftTeamsChannelConfigurationsCommand.ts b/clients/client-chatbot/src/commands/ListMicrosoftTeamsChannelConfigurationsCommand.ts index 2d0fb0b60f42..c79814d6a7a4 100644 --- a/clients/client-chatbot/src/commands/ListMicrosoftTeamsChannelConfigurationsCommand.ts +++ b/clients/client-chatbot/src/commands/ListMicrosoftTeamsChannelConfigurationsCommand.ts @@ -66,6 +66,12 @@ export interface ListMicrosoftTeamsChannelConfigurationsCommandOutput * // "STRING_VALUE", * // ], * // UserAuthorizationRequired: true || false, + * // Tags: [ // Tags + * // { // Tag + * // TagKey: "STRING_VALUE", // required + * // TagValue: "STRING_VALUE", // required + * // }, + * // ], * // }, * // ], * // }; diff --git a/clients/client-chatbot/src/commands/ListTagsForResourceCommand.ts b/clients/client-chatbot/src/commands/ListTagsForResourceCommand.ts new file mode 100644 index 000000000000..10d3f84800ca --- /dev/null +++ b/clients/client-chatbot/src/commands/ListTagsForResourceCommand.ts @@ -0,0 +1,96 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { ChatbotClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChatbotClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { ListTagsForResourceRequest, ListTagsForResourceResponse } from "../models/models_0"; +import { de_ListTagsForResourceCommand, se_ListTagsForResourceCommand } from "../protocols/Aws_restJson1"; + +/** + * @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 {} + +/** + * Retrieves the list of tags applied to a configuration. + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ChatbotClient, ListTagsForResourceCommand } from "@aws-sdk/client-chatbot"; // ES Modules import + * // const { ChatbotClient, ListTagsForResourceCommand } = require("@aws-sdk/client-chatbot"); // CommonJS import + * const client = new ChatbotClient(config); + * const input = { // ListTagsForResourceRequest + * ResourceARN: "STRING_VALUE", // required + * }; + * const command = new ListTagsForResourceCommand(input); + * const response = await client.send(command); + * // { // ListTagsForResourceResponse + * // Tags: [ // TagList + * // { // Tag + * // TagKey: "STRING_VALUE", // required + * // TagValue: "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 ChatbotClientResolvedConfig | config} for ChatbotClient's `config` shape. + * + * @throws {@link InternalServiceError} (server fault) + * Customer/consumer-facing internal service exception. + * https://w.amazon.com/index.php/AWS/API_Standards/Exceptions#InternalServiceError + * + * @throws {@link ResourceNotFoundException} (client fault) + * We were not able to find the resource for your request. + * + * @throws {@link ServiceUnavailableException} (client fault) + * We can’t process your request right now because of a server issue. Try again later. + * + * @throws {@link ChatbotServiceException} + *

Base exception class for all service exceptions from Chatbot service.

+ * + * @public + */ +export class ListTagsForResourceCommand extends $Command + .classBuilder< + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, + ChatbotClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: ChatbotClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WheatleyOrchestration_20171011", "ListTagsForResource", {}) + .n("ChatbotClient", "ListTagsForResourceCommand") + .f(void 0, void 0) + .ser(se_ListTagsForResourceCommand) + .de(de_ListTagsForResourceCommand) + .build() {} diff --git a/clients/client-chatbot/src/commands/TagResourceCommand.ts b/clients/client-chatbot/src/commands/TagResourceCommand.ts new file mode 100644 index 000000000000..88792d3dfa62 --- /dev/null +++ b/clients/client-chatbot/src/commands/TagResourceCommand.ts @@ -0,0 +1,98 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { ChatbotClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChatbotClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { TagResourceRequest, TagResourceResponse } from "../models/models_0"; +import { de_TagResourceCommand, se_TagResourceCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link TagResourceCommand}. + */ +export interface TagResourceCommandInput extends TagResourceRequest {} +/** + * @public + * + * The output of {@link TagResourceCommand}. + */ +export interface TagResourceCommandOutput extends TagResourceResponse, __MetadataBearer {} + +/** + * Applies the supplied tags to a configuration. + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ChatbotClient, TagResourceCommand } from "@aws-sdk/client-chatbot"; // ES Modules import + * // const { ChatbotClient, TagResourceCommand } = require("@aws-sdk/client-chatbot"); // CommonJS import + * const client = new ChatbotClient(config); + * const input = { // TagResourceRequest + * ResourceARN: "STRING_VALUE", // required + * Tags: [ // TagList // required + * { // Tag + * TagKey: "STRING_VALUE", // required + * TagValue: "STRING_VALUE", // required + * }, + * ], + * }; + * const command = new TagResourceCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param TagResourceCommandInput - {@link TagResourceCommandInput} + * @returns {@link TagResourceCommandOutput} + * @see {@link TagResourceCommandInput} for command's `input` shape. + * @see {@link TagResourceCommandOutput} for command's `response` shape. + * @see {@link ChatbotClientResolvedConfig | config} for ChatbotClient's `config` shape. + * + * @throws {@link InternalServiceError} (server fault) + * Customer/consumer-facing internal service exception. + * https://w.amazon.com/index.php/AWS/API_Standards/Exceptions#InternalServiceError + * + * @throws {@link ResourceNotFoundException} (client fault) + * We were not able to find the resource for your request. + * + * @throws {@link ServiceUnavailableException} (client fault) + * We can’t process your request right now because of a server issue. Try again later. + * + * @throws {@link TooManyTagsException} (client fault) + * The supplied list of tags contains too many tags. + * + * @throws {@link ChatbotServiceException} + *

Base exception class for all service exceptions from Chatbot service.

+ * + * @public + */ +export class TagResourceCommand extends $Command + .classBuilder< + TagResourceCommandInput, + TagResourceCommandOutput, + ChatbotClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: ChatbotClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WheatleyOrchestration_20171011", "TagResource", {}) + .n("ChatbotClient", "TagResourceCommand") + .f(void 0, void 0) + .ser(se_TagResourceCommand) + .de(de_TagResourceCommand) + .build() {} diff --git a/clients/client-chatbot/src/commands/UntagResourceCommand.ts b/clients/client-chatbot/src/commands/UntagResourceCommand.ts new file mode 100644 index 000000000000..02f0e5ab0669 --- /dev/null +++ b/clients/client-chatbot/src/commands/UntagResourceCommand.ts @@ -0,0 +1,92 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { ChatbotClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChatbotClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { UntagResourceRequest, UntagResourceResponse } from "../models/models_0"; +import { de_UntagResourceCommand, se_UntagResourceCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link UntagResourceCommand}. + */ +export interface UntagResourceCommandInput extends UntagResourceRequest {} +/** + * @public + * + * The output of {@link UntagResourceCommand}. + */ +export interface UntagResourceCommandOutput extends UntagResourceResponse, __MetadataBearer {} + +/** + * Removes the supplied tags from a configuration + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ChatbotClient, UntagResourceCommand } from "@aws-sdk/client-chatbot"; // ES Modules import + * // const { ChatbotClient, UntagResourceCommand } = require("@aws-sdk/client-chatbot"); // CommonJS import + * const client = new ChatbotClient(config); + * const input = { // UntagResourceRequest + * ResourceARN: "STRING_VALUE", // required + * TagKeys: [ // TagKeyList // required + * "STRING_VALUE", + * ], + * }; + * const command = new UntagResourceCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param UntagResourceCommandInput - {@link UntagResourceCommandInput} + * @returns {@link UntagResourceCommandOutput} + * @see {@link UntagResourceCommandInput} for command's `input` shape. + * @see {@link UntagResourceCommandOutput} for command's `response` shape. + * @see {@link ChatbotClientResolvedConfig | config} for ChatbotClient's `config` shape. + * + * @throws {@link InternalServiceError} (server fault) + * Customer/consumer-facing internal service exception. + * https://w.amazon.com/index.php/AWS/API_Standards/Exceptions#InternalServiceError + * + * @throws {@link ResourceNotFoundException} (client fault) + * We were not able to find the resource for your request. + * + * @throws {@link ServiceUnavailableException} (client fault) + * We can’t process your request right now because of a server issue. Try again later. + * + * @throws {@link ChatbotServiceException} + *

Base exception class for all service exceptions from Chatbot service.

+ * + * @public + */ +export class UntagResourceCommand extends $Command + .classBuilder< + UntagResourceCommandInput, + UntagResourceCommandOutput, + ChatbotClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: ChatbotClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WheatleyOrchestration_20171011", "UntagResource", {}) + .n("ChatbotClient", "UntagResourceCommand") + .f(void 0, void 0) + .ser(se_UntagResourceCommand) + .de(de_UntagResourceCommand) + .build() {} diff --git a/clients/client-chatbot/src/commands/UpdateChimeWebhookConfigurationCommand.ts b/clients/client-chatbot/src/commands/UpdateChimeWebhookConfigurationCommand.ts index e77f6d53bb3e..9fa88242e3be 100644 --- a/clients/client-chatbot/src/commands/UpdateChimeWebhookConfigurationCommand.ts +++ b/clients/client-chatbot/src/commands/UpdateChimeWebhookConfigurationCommand.ts @@ -61,6 +61,12 @@ export interface UpdateChimeWebhookConfigurationCommandOutput * // ], * // ConfigurationName: "STRING_VALUE", * // LoggingLevel: "STRING_VALUE", + * // Tags: [ // Tags + * // { // Tag + * // TagKey: "STRING_VALUE", // required + * // TagValue: "STRING_VALUE", // required + * // }, + * // ], * // }, * // }; * diff --git a/clients/client-chatbot/src/commands/UpdateMicrosoftTeamsChannelConfigurationCommand.ts b/clients/client-chatbot/src/commands/UpdateMicrosoftTeamsChannelConfigurationCommand.ts index 0ce55abeb760..c6817276f434 100644 --- a/clients/client-chatbot/src/commands/UpdateMicrosoftTeamsChannelConfigurationCommand.ts +++ b/clients/client-chatbot/src/commands/UpdateMicrosoftTeamsChannelConfigurationCommand.ts @@ -73,6 +73,12 @@ export interface UpdateMicrosoftTeamsChannelConfigurationCommandOutput * // "STRING_VALUE", * // ], * // UserAuthorizationRequired: true || false, + * // Tags: [ // Tags + * // { // Tag + * // TagKey: "STRING_VALUE", // required + * // TagValue: "STRING_VALUE", // required + * // }, + * // ], * // }, * // }; * diff --git a/clients/client-chatbot/src/commands/UpdateSlackChannelConfigurationCommand.ts b/clients/client-chatbot/src/commands/UpdateSlackChannelConfigurationCommand.ts index 8edc6305f283..b1a80da48edc 100644 --- a/clients/client-chatbot/src/commands/UpdateSlackChannelConfigurationCommand.ts +++ b/clients/client-chatbot/src/commands/UpdateSlackChannelConfigurationCommand.ts @@ -72,6 +72,12 @@ export interface UpdateSlackChannelConfigurationCommandOutput * // "STRING_VALUE", * // ], * // UserAuthorizationRequired: true || false, + * // Tags: [ // Tags + * // { // Tag + * // TagKey: "STRING_VALUE", // required + * // TagValue: "STRING_VALUE", // required + * // }, + * // ], * // }, * // }; * diff --git a/clients/client-chatbot/src/commands/index.ts b/clients/client-chatbot/src/commands/index.ts index 3cff79d06220..724a632763b4 100644 --- a/clients/client-chatbot/src/commands/index.ts +++ b/clients/client-chatbot/src/commands/index.ts @@ -18,6 +18,9 @@ export * from "./GetMicrosoftTeamsChannelConfigurationCommand"; export * from "./ListMicrosoftTeamsChannelConfigurationsCommand"; export * from "./ListMicrosoftTeamsConfiguredTeamsCommand"; export * from "./ListMicrosoftTeamsUserIdentitiesCommand"; +export * from "./ListTagsForResourceCommand"; +export * from "./TagResourceCommand"; +export * from "./UntagResourceCommand"; export * from "./UpdateAccountPreferencesCommand"; export * from "./UpdateChimeWebhookConfigurationCommand"; export * from "./UpdateMicrosoftTeamsChannelConfigurationCommand"; diff --git a/clients/client-chatbot/src/models/models_0.ts b/clients/client-chatbot/src/models/models_0.ts index ec3af8d32aca..36dea3a8a6b7 100644 --- a/clients/client-chatbot/src/models/models_0.ts +++ b/clients/client-chatbot/src/models/models_0.ts @@ -21,6 +21,24 @@ export interface AccountPreferences { TrainingDataCollectionEnabled?: boolean; } +/** + * A tag applied to the configuration. + * @public + */ +export interface Tag { + /** + * The tag key. + * @public + */ + TagKey: string | undefined; + + /** + * The tag value. + * @public + */ + TagValue: string | undefined; +} + /** * An AWS Chatbot configuration for Amazon Chime. * @public @@ -61,6 +79,12 @@ export interface ChimeWebhookConfiguration { * @public */ LoggingLevel?: string; + + /** + * A list of tags applied to the configuration. + * @public + */ + Tags?: Tag[]; } /** @@ -168,6 +192,12 @@ export interface CreateChimeWebhookConfigurationRequest { * @public */ LoggingLevel?: string; + + /** + * A list of tags to apply to the configuration. + * @public + */ + Tags?: Tag[]; } /** @@ -332,6 +362,12 @@ export interface CreateTeamsChannelConfigurationRequest { * @public */ UserAuthorizationRequired?: boolean; + + /** + * A list of tags to apply to the configuration. + * @public + */ + Tags?: Tag[]; } /** @@ -410,6 +446,12 @@ export interface TeamsChannelConfiguration { * @public */ UserAuthorizationRequired?: boolean; + + /** + * A list of tags applied to the configuration. + * @public + */ + Tags?: Tag[]; } /** @@ -502,6 +544,12 @@ export interface CreateSlackChannelConfigurationRequest { * @public */ UserAuthorizationRequired?: boolean; + + /** + * A list of tags to apply to the configuration. + * @public + */ + Tags?: Tag[]; } /** @@ -574,6 +622,12 @@ export interface SlackChannelConfiguration { * @public */ UserAuthorizationRequired?: boolean; + + /** + * A list of tags applied to the configuration. + * @public + */ + Tags?: Tag[]; } /** @@ -1271,6 +1325,29 @@ export interface GetTeamsChannelConfigurationResult { ChannelConfiguration?: TeamsChannelConfiguration; } +/** + * Customer/consumer-facing internal service exception. + * https://w.amazon.com/index.php/AWS/API_Standards/Exceptions#InternalServiceError + * @public + */ +export class InternalServiceError extends __BaseException { + readonly name: "InternalServiceError" = "InternalServiceError"; + readonly $fault: "server" = "server"; + Message?: string; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "InternalServiceError", + $fault: "server", + ...opts, + }); + Object.setPrototypeOf(this, InternalServiceError.prototype); + this.Message = opts.Message; + } +} + /** * We can’t process your request right now because of a server issue. Try again later. * @public @@ -1499,6 +1576,112 @@ export interface ListMicrosoftTeamsUserIdentitiesResult { NextToken?: string; } +/** + * @public + */ +export interface ListTagsForResourceRequest { + /** + * The ARN of the configuration. + * @public + */ + ResourceARN: string | undefined; +} + +/** + * @public + */ +export interface ListTagsForResourceResponse { + /** + * A list of tags applied to the configuration. + * @public + */ + Tags?: Tag[]; +} + +/** + * We can’t process your request right now because of a server issue. Try again later. + * @public + */ +export class ServiceUnavailableException extends __BaseException { + readonly name: "ServiceUnavailableException" = "ServiceUnavailableException"; + readonly $fault: "client" = "client"; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "ServiceUnavailableException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ServiceUnavailableException.prototype); + } +} + +/** + * @public + */ +export interface TagResourceRequest { + /** + * The ARN of the configuration. + * @public + */ + ResourceARN: string | undefined; + + /** + * A list of tags to apply to the configuration. + * @public + */ + Tags: Tag[] | undefined; +} + +/** + * @public + */ +export interface TagResourceResponse {} + +/** + * The supplied list of tags contains too many tags. + * @public + */ +export class TooManyTagsException extends __BaseException { + readonly name: "TooManyTagsException" = "TooManyTagsException"; + readonly $fault: "client" = "client"; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "TooManyTagsException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, TooManyTagsException.prototype); + } +} + +/** + * @public + */ +export interface UntagResourceRequest { + /** + * The ARN of the configuration. + * @public + */ + ResourceARN: string | undefined; + + /** + * A list of tag keys to remove from the configuration. + * @public + */ + TagKeys: string[] | undefined; +} + +/** + * @public + */ +export interface UntagResourceResponse {} + /** * We can’t process your request right now because of a server issue. Try again later. * @public diff --git a/clients/client-chatbot/src/protocols/Aws_restJson1.ts b/clients/client-chatbot/src/protocols/Aws_restJson1.ts index 62a30aadccc8..aaf9d11ef960 100644 --- a/clients/client-chatbot/src/protocols/Aws_restJson1.ts +++ b/clients/client-chatbot/src/protocols/Aws_restJson1.ts @@ -95,6 +95,12 @@ import { ListMicrosoftTeamsUserIdentitiesCommandInput, ListMicrosoftTeamsUserIdentitiesCommandOutput, } from "../commands/ListMicrosoftTeamsUserIdentitiesCommand"; +import { + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "../commands/ListTagsForResourceCommand"; +import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; +import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; import { UpdateAccountPreferencesCommandInput, UpdateAccountPreferencesCommandOutput, @@ -130,6 +136,7 @@ import { DescribeSlackWorkspacesException, GetAccountPreferencesException, GetTeamsChannelConfigurationException, + InternalServiceError, InvalidParameterException, InvalidRequestException, LimitExceededException, @@ -137,6 +144,9 @@ import { ListMicrosoftTeamsUserIdentitiesException, ListTeamsChannelConfigurationsException, ResourceNotFoundException, + ServiceUnavailableException, + Tag, + TooManyTagsException, UpdateAccountPreferencesException, UpdateChimeWebhookConfigurationException, UpdateSlackChannelConfigurationException, @@ -162,6 +172,7 @@ export const se_CreateChimeWebhookConfigurationCommand = async ( IamRoleArn: [], LoggingLevel: [], SnsTopicArns: (_) => _json(_), + Tags: (_) => _json(_), WebhookDescription: [], WebhookUrl: [], }) @@ -192,6 +203,7 @@ export const se_CreateMicrosoftTeamsChannelConfigurationCommand = async ( IamRoleArn: [], LoggingLevel: [], SnsTopicArns: (_) => _json(_), + Tags: (_) => _json(_), TeamId: [], TeamName: [], TenantId: [], @@ -225,6 +237,7 @@ export const se_CreateSlackChannelConfigurationCommand = async ( SlackChannelName: [], SlackTeamId: [], SnsTopicArns: (_) => _json(_), + Tags: (_) => _json(_), UserAuthorizationRequired: [], }) ); @@ -595,6 +608,74 @@ export const se_ListMicrosoftTeamsUserIdentitiesCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1ListTagsForResourceCommand + */ +export const se_ListTagsForResourceCommand = async ( + input: ListTagsForResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/list-tags-for-resource"); + let body: any; + body = JSON.stringify( + take(input, { + ResourceARN: [], + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1TagResourceCommand + */ +export const se_TagResourceCommand = async ( + input: TagResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/tag-resource"); + let body: any; + body = JSON.stringify( + take(input, { + ResourceARN: [], + Tags: (_) => _json(_), + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1UntagResourceCommand + */ +export const se_UntagResourceCommand = async ( + input: UntagResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/untag-resource"); + let body: any; + body = JSON.stringify( + take(input, { + ResourceARN: [], + TagKeys: (_) => _json(_), + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1UpdateAccountPreferencesCommand */ @@ -1081,6 +1162,61 @@ export const de_ListMicrosoftTeamsUserIdentitiesCommand = async ( return contents; }; +/** + * deserializeAws_restJson1ListTagsForResourceCommand + */ +export const de_ListTagsForResourceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + Tags: _json, + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1TagResourceCommand + */ +export const de_TagResourceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + +/** + * deserializeAws_restJson1UntagResourceCommand + */ +export const de_UntagResourceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + /** * deserializeAws_restJson1UpdateAccountPreferencesCommand */ @@ -1247,6 +1383,15 @@ const de_CommandError = async (output: __HttpResponse, context: __SerdeContext): case "ListMicrosoftTeamsUserIdentitiesException": case "com.amazonaws.chatbot#ListMicrosoftTeamsUserIdentitiesException": throw await de_ListMicrosoftTeamsUserIdentitiesExceptionRes(parsedOutput, context); + case "InternalServiceError": + case "com.amazonaws.chatbot#InternalServiceError": + throw await de_InternalServiceErrorRes(parsedOutput, context); + case "ServiceUnavailableException": + case "com.amazonaws.chatbot#ServiceUnavailableException": + throw await de_ServiceUnavailableExceptionRes(parsedOutput, context); + case "TooManyTagsException": + case "com.amazonaws.chatbot#TooManyTagsException": + throw await de_TooManyTagsExceptionRes(parsedOutput, context); case "UpdateAccountPreferencesException": case "com.amazonaws.chatbot#UpdateAccountPreferencesException": throw await de_UpdateAccountPreferencesExceptionRes(parsedOutput, context); @@ -1607,6 +1752,26 @@ const de_GetTeamsChannelConfigurationExceptionRes = async ( return __decorateServiceException(exception, parsedOutput.body); }; +/** + * deserializeAws_restJson1InternalServiceErrorRes + */ +const de_InternalServiceErrorRes = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: any = map({}); + const data: any = parsedOutput.body; + const doc = take(data, { + Message: __expectString, + }); + Object.assign(contents, doc); + const exception = new InternalServiceError({ + $metadata: deserializeMetadata(parsedOutput), + ...contents, + }); + return __decorateServiceException(exception, parsedOutput.body); +}; + /** * deserializeAws_restJson1InvalidParameterExceptionRes */ @@ -1747,6 +1912,46 @@ const de_ResourceNotFoundExceptionRes = async ( return __decorateServiceException(exception, parsedOutput.body); }; +/** + * deserializeAws_restJson1ServiceUnavailableExceptionRes + */ +const de_ServiceUnavailableExceptionRes = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: any = map({}); + const data: any = parsedOutput.body; + const doc = take(data, { + message: __expectString, + }); + Object.assign(contents, doc); + const exception = new ServiceUnavailableException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents, + }); + return __decorateServiceException(exception, parsedOutput.body); +}; + +/** + * deserializeAws_restJson1TooManyTagsExceptionRes + */ +const de_TooManyTagsExceptionRes = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: any = map({}); + const data: any = parsedOutput.body; + const doc = take(data, { + message: __expectString, + }); + Object.assign(contents, doc); + const exception = new TooManyTagsException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents, + }); + return __decorateServiceException(exception, parsedOutput.body); +}; + /** * deserializeAws_restJson1UpdateAccountPreferencesExceptionRes */ @@ -1831,6 +2036,14 @@ const de_UpdateTeamsChannelConfigurationExceptionRes = async ( // se_SnsTopicArnList omitted. +// se_Tag omitted. + +// se_TagKeyList omitted. + +// se_TagList omitted. + +// se_Tags omitted. + // de_AccountPreferences omitted. // de_ChimeWebhookConfiguration omitted. @@ -1857,6 +2070,12 @@ const de_UpdateTeamsChannelConfigurationExceptionRes = async ( // de_SnsTopicArnList omitted. +// de_Tag omitted. + +// de_TagList omitted. + +// de_Tags omitted. + // de_TeamChannelConfigurationsList omitted. // de_TeamsChannelConfiguration omitted. diff --git a/codegen/sdk-codegen/aws-models/chatbot.json b/codegen/sdk-codegen/aws-models/chatbot.json index 5705fc21355b..d6f26c7bf665 100644 --- a/codegen/sdk-codegen/aws-models/chatbot.json +++ b/codegen/sdk-codegen/aws-models/chatbot.json @@ -49,6 +49,16 @@ "smithy.api#documentation": "Preferences which apply for AWS Chatbot usage in the calling AWS account." } }, + "com.amazonaws.chatbot#AmazonResourceName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1011 + }, + "smithy.api#pattern": "^arn:aws:(wheatley|chatbot):[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$" + } + }, "com.amazonaws.chatbot#Arn": { "type": "string", "traits": { @@ -124,6 +134,12 @@ "traits": { "smithy.api#documentation": "Specifies the logging level for this configuration. This property affects the log entries pushed to Amazon CloudWatch Logs.Logging levels include ERROR, INFO, or NONE." } + }, + "Tags": { + "target": "com.amazonaws.chatbot#Tags", + "traits": { + "smithy.api#documentation": "A list of tags applied to the configuration." + } } }, "traits": { @@ -302,6 +318,12 @@ "traits": { "smithy.api#documentation": "Logging levels include ERROR, INFO, or NONE." } + }, + "Tags": { + "target": "com.amazonaws.chatbot#Tags", + "traits": { + "smithy.api#documentation": "A list of tags to apply to the configuration." + } } }, "traits": { @@ -463,6 +485,12 @@ "traits": { "smithy.api#documentation": "Enables use of a user role requirement in your chat configuration." } + }, + "Tags": { + "target": "com.amazonaws.chatbot#Tags", + "traits": { + "smithy.api#documentation": "A list of tags to apply to the configuration." + } } }, "traits": { @@ -569,6 +597,12 @@ "traits": { "smithy.api#documentation": "Enables use of a user role requirement in your chat configuration." } + }, + "Tags": { + "target": "com.amazonaws.chatbot#Tags", + "traits": { + "smithy.api#documentation": "A list of tags to apply to the configuration." + } } }, "traits": { @@ -1574,6 +1608,19 @@ "target": "com.amazonaws.chatbot#GuardrailPolicyArn" } }, + "com.amazonaws.chatbot#InternalServiceError": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.chatbot#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "Customer/consumer-facing internal service exception.\n https://w.amazon.com/index.php/AWS/API_Standards/Exceptions#InternalServiceError", + "smithy.api#error": "server", + "smithy.api#httpError": 500 + } + }, "com.amazonaws.chatbot#InvalidParameterException": { "type": "structure", "members": { @@ -1824,6 +1871,63 @@ "smithy.api#output": {} } }, + "com.amazonaws.chatbot#ListTagsForResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.chatbot#ListTagsForResourceRequest" + }, + "output": { + "target": "com.amazonaws.chatbot#ListTagsForResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chatbot#InternalServiceError" + }, + { + "target": "com.amazonaws.chatbot#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.chatbot#ServiceUnavailableException" + } + ], + "traits": { + "smithy.api#documentation": "Retrieves the list of tags applied to a configuration.", + "smithy.api#http": { + "method": "POST", + "uri": "/list-tags-for-resource", + "code": 200 + } + } + }, + "com.amazonaws.chatbot#ListTagsForResourceRequest": { + "type": "structure", + "members": { + "ResourceARN": { + "target": "com.amazonaws.chatbot#AmazonResourceName", + "traits": { + "smithy.api#documentation": "The ARN of the configuration.", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.chatbot#ListTagsForResourceResponse": { + "type": "structure", + "members": { + "Tags": { + "target": "com.amazonaws.chatbot#TagList", + "traits": { + "smithy.api#documentation": "A list of tags applied to the configuration." + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.chatbot#ListTeamsChannelConfigurationsException": { "type": "structure", "members": { @@ -1915,6 +2019,19 @@ "smithy.api#httpError": 404 } }, + "com.amazonaws.chatbot#ServiceUnavailableException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.chatbot#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "We can’t process your request right now because of a server issue. Try again later.", + "smithy.api#error": "client", + "smithy.api#httpError": 429 + } + }, "com.amazonaws.chatbot#SlackChannelConfiguration": { "type": "structure", "members": { @@ -1990,6 +2107,12 @@ "traits": { "smithy.api#documentation": "Enables use of a user role requirement in your chat configuration." } + }, + "Tags": { + "target": "com.amazonaws.chatbot#Tags", + "traits": { + "smithy.api#documentation": "A list of tags applied to the configuration." + } } }, "traits": { @@ -2135,6 +2258,136 @@ "com.amazonaws.chatbot#String": { "type": "string" }, + "com.amazonaws.chatbot#Tag": { + "type": "structure", + "members": { + "TagKey": { + "target": "com.amazonaws.chatbot#TagKey", + "traits": { + "smithy.api#documentation": "The tag key.", + "smithy.api#required": {} + } + }, + "TagValue": { + "target": "com.amazonaws.chatbot#TagValue", + "traits": { + "smithy.api#documentation": "The tag value.", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "A tag applied to the configuration." + } + }, + "com.amazonaws.chatbot#TagKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + } + } + }, + "com.amazonaws.chatbot#TagKeyList": { + "type": "list", + "member": { + "target": "com.amazonaws.chatbot#TagKey" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 200 + } + } + }, + "com.amazonaws.chatbot#TagList": { + "type": "list", + "member": { + "target": "com.amazonaws.chatbot#Tag" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 200 + } + } + }, + "com.amazonaws.chatbot#TagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.chatbot#TagResourceRequest" + }, + "output": { + "target": "com.amazonaws.chatbot#TagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chatbot#InternalServiceError" + }, + { + "target": "com.amazonaws.chatbot#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.chatbot#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chatbot#TooManyTagsException" + } + ], + "traits": { + "smithy.api#documentation": "Applies the supplied tags to a configuration.", + "smithy.api#http": { + "method": "POST", + "uri": "/tag-resource", + "code": 200 + } + } + }, + "com.amazonaws.chatbot#TagResourceRequest": { + "type": "structure", + "members": { + "ResourceARN": { + "target": "com.amazonaws.chatbot#AmazonResourceName", + "traits": { + "smithy.api#documentation": "The ARN of the configuration.", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.chatbot#TagList", + "traits": { + "smithy.api#documentation": "A list of tags to apply to the configuration.", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.chatbot#TagResourceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.chatbot#TagValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + } + } + }, + "com.amazonaws.chatbot#Tags": { + "type": "list", + "member": { + "target": "com.amazonaws.chatbot#Tag" + } + }, "com.amazonaws.chatbot#TeamChannelConfigurationsList": { "type": "list", "member": { @@ -2231,6 +2484,12 @@ "traits": { "smithy.api#documentation": "Enables use of a user role requirement in your chat configuration." } + }, + "Tags": { + "target": "com.amazonaws.chatbot#Tags", + "traits": { + "smithy.api#documentation": "A list of tags applied to the configuration." + } } }, "traits": { @@ -2316,6 +2575,19 @@ "smithy.api#documentation": "Identifes a user level permission for a channel configuration." } }, + "com.amazonaws.chatbot#TooManyTagsException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.chatbot#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "The supplied list of tags contains too many tags.", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, "com.amazonaws.chatbot#UUID": { "type": "string", "traits": { @@ -2326,6 +2598,63 @@ "smithy.api#pattern": "^[0-9A-Fa-f]{8}(?:-[0-9A-Fa-f]{4}){3}-[0-9A-Fa-f]{12}$" } }, + "com.amazonaws.chatbot#UntagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.chatbot#UntagResourceRequest" + }, + "output": { + "target": "com.amazonaws.chatbot#UntagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chatbot#InternalServiceError" + }, + { + "target": "com.amazonaws.chatbot#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.chatbot#ServiceUnavailableException" + } + ], + "traits": { + "smithy.api#documentation": "Removes the supplied tags from a configuration", + "smithy.api#http": { + "method": "POST", + "uri": "/untag-resource", + "code": 200 + } + } + }, + "com.amazonaws.chatbot#UntagResourceRequest": { + "type": "structure", + "members": { + "ResourceARN": { + "target": "com.amazonaws.chatbot#AmazonResourceName", + "traits": { + "smithy.api#documentation": "The ARN of the configuration.", + "smithy.api#required": {} + } + }, + "TagKeys": { + "target": "com.amazonaws.chatbot#TagKeyList", + "traits": { + "smithy.api#documentation": "A list of tag keys to remove from the configuration.", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.chatbot#UntagResourceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.chatbot#UpdateAccountPreferences": { "type": "operation", "input": { @@ -2797,6 +3126,15 @@ { "target": "com.amazonaws.chatbot#ListMicrosoftTeamsUserIdentities" }, + { + "target": "com.amazonaws.chatbot#ListTagsForResource" + }, + { + "target": "com.amazonaws.chatbot#TagResource" + }, + { + "target": "com.amazonaws.chatbot#UntagResource" + }, { "target": "com.amazonaws.chatbot#UpdateAccountPreferences" },