/** * 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 ivschat { namespace Model { /** *

Configuration information for optional message review.

See * Also:

AWS * API Reference

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

Specifies the fallback behavior (whether the message is allowed or denied) if * the handler does not return a valid response, encounters an error, or times out. * (For the timeout period, see * Service Quotas.) If allowed, the message is delivered with returned content * to all users connected to the room. If denied, the message is not delivered to * any user. Default: ALLOW.

*/ inline const FallbackResult& GetFallbackResult() const{ return m_fallbackResult; } /** *

Specifies the fallback behavior (whether the message is allowed or denied) if * the handler does not return a valid response, encounters an error, or times out. * (For the timeout period, see * Service Quotas.) If allowed, the message is delivered with returned content * to all users connected to the room. If denied, the message is not delivered to * any user. Default: ALLOW.

*/ inline bool FallbackResultHasBeenSet() const { return m_fallbackResultHasBeenSet; } /** *

Specifies the fallback behavior (whether the message is allowed or denied) if * the handler does not return a valid response, encounters an error, or times out. * (For the timeout period, see * Service Quotas.) If allowed, the message is delivered with returned content * to all users connected to the room. If denied, the message is not delivered to * any user. Default: ALLOW.

*/ inline void SetFallbackResult(const FallbackResult& value) { m_fallbackResultHasBeenSet = true; m_fallbackResult = value; } /** *

Specifies the fallback behavior (whether the message is allowed or denied) if * the handler does not return a valid response, encounters an error, or times out. * (For the timeout period, see * Service Quotas.) If allowed, the message is delivered with returned content * to all users connected to the room. If denied, the message is not delivered to * any user. Default: ALLOW.

*/ inline void SetFallbackResult(FallbackResult&& value) { m_fallbackResultHasBeenSet = true; m_fallbackResult = std::move(value); } /** *

Specifies the fallback behavior (whether the message is allowed or denied) if * the handler does not return a valid response, encounters an error, or times out. * (For the timeout period, see * Service Quotas.) If allowed, the message is delivered with returned content * to all users connected to the room. If denied, the message is not delivered to * any user. Default: ALLOW.

*/ inline MessageReviewHandler& WithFallbackResult(const FallbackResult& value) { SetFallbackResult(value); return *this;} /** *

Specifies the fallback behavior (whether the message is allowed or denied) if * the handler does not return a valid response, encounters an error, or times out. * (For the timeout period, see * Service Quotas.) If allowed, the message is delivered with returned content * to all users connected to the room. If denied, the message is not delivered to * any user. Default: ALLOW.

*/ inline MessageReviewHandler& WithFallbackResult(FallbackResult&& value) { SetFallbackResult(std::move(value)); return *this;} /** *

Identifier of the message review handler. Currently this must be an ARN of a * lambda function.

*/ inline const Aws::String& GetUri() const{ return m_uri; } /** *

Identifier of the message review handler. Currently this must be an ARN of a * lambda function.

*/ inline bool UriHasBeenSet() const { return m_uriHasBeenSet; } /** *

Identifier of the message review handler. Currently this must be an ARN of a * lambda function.

*/ inline void SetUri(const Aws::String& value) { m_uriHasBeenSet = true; m_uri = value; } /** *

Identifier of the message review handler. Currently this must be an ARN of a * lambda function.

*/ inline void SetUri(Aws::String&& value) { m_uriHasBeenSet = true; m_uri = std::move(value); } /** *

Identifier of the message review handler. Currently this must be an ARN of a * lambda function.

*/ inline void SetUri(const char* value) { m_uriHasBeenSet = true; m_uri.assign(value); } /** *

Identifier of the message review handler. Currently this must be an ARN of a * lambda function.

*/ inline MessageReviewHandler& WithUri(const Aws::String& value) { SetUri(value); return *this;} /** *

Identifier of the message review handler. Currently this must be an ARN of a * lambda function.

*/ inline MessageReviewHandler& WithUri(Aws::String&& value) { SetUri(std::move(value)); return *this;} /** *

Identifier of the message review handler. Currently this must be an ARN of a * lambda function.

*/ inline MessageReviewHandler& WithUri(const char* value) { SetUri(value); return *this;} private: FallbackResult m_fallbackResult; bool m_fallbackResultHasBeenSet = false; Aws::String m_uri; bool m_uriHasBeenSet = false; }; } // namespace Model } // namespace ivschat } // namespace Aws