/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SSMIncidents { namespace Model { /** *

The Chatbot chat channel used for collaboration during an * incident.

See Also:

AWS * API Reference

*/ class ChatChannel { public: AWS_SSMINCIDENTS_API ChatChannel(); AWS_SSMINCIDENTS_API ChatChannel(Aws::Utils::Json::JsonView jsonValue); AWS_SSMINCIDENTS_API ChatChannel& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SSMINCIDENTS_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The Amazon SNS targets that Chatbot uses to notify the chat channel of * updates to an incident. You can also make updates to the incident through the * chat channel by using the Amazon SNS topics.

*/ inline const Aws::Vector& GetChatbotSns() const{ return m_chatbotSns; } /** *

The Amazon SNS targets that Chatbot uses to notify the chat channel of * updates to an incident. You can also make updates to the incident through the * chat channel by using the Amazon SNS topics.

*/ inline bool ChatbotSnsHasBeenSet() const { return m_chatbotSnsHasBeenSet; } /** *

The Amazon SNS targets that Chatbot uses to notify the chat channel of * updates to an incident. You can also make updates to the incident through the * chat channel by using the Amazon SNS topics.

*/ inline void SetChatbotSns(const Aws::Vector& value) { m_chatbotSnsHasBeenSet = true; m_chatbotSns = value; } /** *

The Amazon SNS targets that Chatbot uses to notify the chat channel of * updates to an incident. You can also make updates to the incident through the * chat channel by using the Amazon SNS topics.

*/ inline void SetChatbotSns(Aws::Vector&& value) { m_chatbotSnsHasBeenSet = true; m_chatbotSns = std::move(value); } /** *

The Amazon SNS targets that Chatbot uses to notify the chat channel of * updates to an incident. You can also make updates to the incident through the * chat channel by using the Amazon SNS topics.

*/ inline ChatChannel& WithChatbotSns(const Aws::Vector& value) { SetChatbotSns(value); return *this;} /** *

The Amazon SNS targets that Chatbot uses to notify the chat channel of * updates to an incident. You can also make updates to the incident through the * chat channel by using the Amazon SNS topics.

*/ inline ChatChannel& WithChatbotSns(Aws::Vector&& value) { SetChatbotSns(std::move(value)); return *this;} /** *

The Amazon SNS targets that Chatbot uses to notify the chat channel of * updates to an incident. You can also make updates to the incident through the * chat channel by using the Amazon SNS topics.

*/ inline ChatChannel& AddChatbotSns(const Aws::String& value) { m_chatbotSnsHasBeenSet = true; m_chatbotSns.push_back(value); return *this; } /** *

The Amazon SNS targets that Chatbot uses to notify the chat channel of * updates to an incident. You can also make updates to the incident through the * chat channel by using the Amazon SNS topics.

*/ inline ChatChannel& AddChatbotSns(Aws::String&& value) { m_chatbotSnsHasBeenSet = true; m_chatbotSns.push_back(std::move(value)); return *this; } /** *

The Amazon SNS targets that Chatbot uses to notify the chat channel of * updates to an incident. You can also make updates to the incident through the * chat channel by using the Amazon SNS topics.

*/ inline ChatChannel& AddChatbotSns(const char* value) { m_chatbotSnsHasBeenSet = true; m_chatbotSns.push_back(value); return *this; } /** *

Used to remove the chat channel from an incident record or response plan.

*/ inline const EmptyChatChannel& GetEmpty() const{ return m_empty; } /** *

Used to remove the chat channel from an incident record or response plan.

*/ inline bool EmptyHasBeenSet() const { return m_emptyHasBeenSet; } /** *

Used to remove the chat channel from an incident record or response plan.

*/ inline void SetEmpty(const EmptyChatChannel& value) { m_emptyHasBeenSet = true; m_empty = value; } /** *

Used to remove the chat channel from an incident record or response plan.

*/ inline void SetEmpty(EmptyChatChannel&& value) { m_emptyHasBeenSet = true; m_empty = std::move(value); } /** *

Used to remove the chat channel from an incident record or response plan.

*/ inline ChatChannel& WithEmpty(const EmptyChatChannel& value) { SetEmpty(value); return *this;} /** *

Used to remove the chat channel from an incident record or response plan.

*/ inline ChatChannel& WithEmpty(EmptyChatChannel&& value) { SetEmpty(std::move(value)); return *this;} private: Aws::Vector m_chatbotSns; bool m_chatbotSnsHasBeenSet = false; EmptyChatChannel m_empty; bool m_emptyHasBeenSet = false; }; } // namespace Model } // namespace SSMIncidents } // namespace Aws