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

Specifies the type of message that triggers a bot.

See Also:

* AWS * API Reference

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

Sets standard messages as the bot trigger. For standard messages:

    *
  • ALL: The bot processes all standard messages.

  • *
  • AUTO: The bot responds to ALL messages when the channel * has one other non-hidden member, and responds to MENTIONS when the channel has * more than one other non-hidden member.

  • MENTIONS: * The bot processes all standard messages that have a message attribute with * CHIME.mentions and a value of the bot ARN.

  • * NONE: The bot processes no standard messages.

*/ inline const StandardMessages& GetStandardMessages() const{ return m_standardMessages; } /** *

Sets standard messages as the bot trigger. For standard messages:

    *
  • ALL: The bot processes all standard messages.

  • *
  • AUTO: The bot responds to ALL messages when the channel * has one other non-hidden member, and responds to MENTIONS when the channel has * more than one other non-hidden member.

  • MENTIONS: * The bot processes all standard messages that have a message attribute with * CHIME.mentions and a value of the bot ARN.

  • * NONE: The bot processes no standard messages.

*/ inline bool StandardMessagesHasBeenSet() const { return m_standardMessagesHasBeenSet; } /** *

Sets standard messages as the bot trigger. For standard messages:

    *
  • ALL: The bot processes all standard messages.

  • *
  • AUTO: The bot responds to ALL messages when the channel * has one other non-hidden member, and responds to MENTIONS when the channel has * more than one other non-hidden member.

  • MENTIONS: * The bot processes all standard messages that have a message attribute with * CHIME.mentions and a value of the bot ARN.

  • * NONE: The bot processes no standard messages.

*/ inline void SetStandardMessages(const StandardMessages& value) { m_standardMessagesHasBeenSet = true; m_standardMessages = value; } /** *

Sets standard messages as the bot trigger. For standard messages:

    *
  • ALL: The bot processes all standard messages.

  • *
  • AUTO: The bot responds to ALL messages when the channel * has one other non-hidden member, and responds to MENTIONS when the channel has * more than one other non-hidden member.

  • MENTIONS: * The bot processes all standard messages that have a message attribute with * CHIME.mentions and a value of the bot ARN.

  • * NONE: The bot processes no standard messages.

*/ inline void SetStandardMessages(StandardMessages&& value) { m_standardMessagesHasBeenSet = true; m_standardMessages = std::move(value); } /** *

Sets standard messages as the bot trigger. For standard messages:

    *
  • ALL: The bot processes all standard messages.

  • *
  • AUTO: The bot responds to ALL messages when the channel * has one other non-hidden member, and responds to MENTIONS when the channel has * more than one other non-hidden member.

  • MENTIONS: * The bot processes all standard messages that have a message attribute with * CHIME.mentions and a value of the bot ARN.

  • * NONE: The bot processes no standard messages.

*/ inline InvokedBy& WithStandardMessages(const StandardMessages& value) { SetStandardMessages(value); return *this;} /** *

Sets standard messages as the bot trigger. For standard messages:

    *
  • ALL: The bot processes all standard messages.

  • *
  • AUTO: The bot responds to ALL messages when the channel * has one other non-hidden member, and responds to MENTIONS when the channel has * more than one other non-hidden member.

  • MENTIONS: * The bot processes all standard messages that have a message attribute with * CHIME.mentions and a value of the bot ARN.

  • * NONE: The bot processes no standard messages.

*/ inline InvokedBy& WithStandardMessages(StandardMessages&& value) { SetStandardMessages(std::move(value)); return *this;} /** *

Sets targeted messages as the bot trigger. For targeted messages:

    *
  • ALL: The bot processes all TargetedMessages * sent to it. The bot then responds with a targeted message back to the sender. *

  • NONE: The bot processes no targeted * messages.

*/ inline const TargetedMessages& GetTargetedMessages() const{ return m_targetedMessages; } /** *

Sets targeted messages as the bot trigger. For targeted messages:

    *
  • ALL: The bot processes all TargetedMessages * sent to it. The bot then responds with a targeted message back to the sender. *

  • NONE: The bot processes no targeted * messages.

*/ inline bool TargetedMessagesHasBeenSet() const { return m_targetedMessagesHasBeenSet; } /** *

Sets targeted messages as the bot trigger. For targeted messages:

    *
  • ALL: The bot processes all TargetedMessages * sent to it. The bot then responds with a targeted message back to the sender. *

  • NONE: The bot processes no targeted * messages.

*/ inline void SetTargetedMessages(const TargetedMessages& value) { m_targetedMessagesHasBeenSet = true; m_targetedMessages = value; } /** *

Sets targeted messages as the bot trigger. For targeted messages:

    *
  • ALL: The bot processes all TargetedMessages * sent to it. The bot then responds with a targeted message back to the sender. *

  • NONE: The bot processes no targeted * messages.

*/ inline void SetTargetedMessages(TargetedMessages&& value) { m_targetedMessagesHasBeenSet = true; m_targetedMessages = std::move(value); } /** *

Sets targeted messages as the bot trigger. For targeted messages:

    *
  • ALL: The bot processes all TargetedMessages * sent to it. The bot then responds with a targeted message back to the sender. *

  • NONE: The bot processes no targeted * messages.

*/ inline InvokedBy& WithTargetedMessages(const TargetedMessages& value) { SetTargetedMessages(value); return *this;} /** *

Sets targeted messages as the bot trigger. For targeted messages:

    *
  • ALL: The bot processes all TargetedMessages * sent to it. The bot then responds with a targeted message back to the sender. *

  • NONE: The bot processes no targeted * messages.

*/ inline InvokedBy& WithTargetedMessages(TargetedMessages&& value) { SetTargetedMessages(std::move(value)); return *this;} private: StandardMessages m_standardMessages; bool m_standardMessagesHasBeenSet = false; TargetedMessages m_targetedMessages; bool m_targetedMessagesHasBeenSet = false; }; } // namespace Model } // namespace ChimeSDKIdentity } // namespace Aws