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

Specifies the configuration for notifications of inference results for * asynchronous inference.

See Also:

AWS * API Reference

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

Amazon SNS topic to post a notification to when inference completes * successfully. If no topic is provided, no notification is sent on success.

*/ inline const Aws::String& GetSuccessTopic() const{ return m_successTopic; } /** *

Amazon SNS topic to post a notification to when inference completes * successfully. If no topic is provided, no notification is sent on success.

*/ inline bool SuccessTopicHasBeenSet() const { return m_successTopicHasBeenSet; } /** *

Amazon SNS topic to post a notification to when inference completes * successfully. If no topic is provided, no notification is sent on success.

*/ inline void SetSuccessTopic(const Aws::String& value) { m_successTopicHasBeenSet = true; m_successTopic = value; } /** *

Amazon SNS topic to post a notification to when inference completes * successfully. If no topic is provided, no notification is sent on success.

*/ inline void SetSuccessTopic(Aws::String&& value) { m_successTopicHasBeenSet = true; m_successTopic = std::move(value); } /** *

Amazon SNS topic to post a notification to when inference completes * successfully. If no topic is provided, no notification is sent on success.

*/ inline void SetSuccessTopic(const char* value) { m_successTopicHasBeenSet = true; m_successTopic.assign(value); } /** *

Amazon SNS topic to post a notification to when inference completes * successfully. If no topic is provided, no notification is sent on success.

*/ inline AsyncInferenceNotificationConfig& WithSuccessTopic(const Aws::String& value) { SetSuccessTopic(value); return *this;} /** *

Amazon SNS topic to post a notification to when inference completes * successfully. If no topic is provided, no notification is sent on success.

*/ inline AsyncInferenceNotificationConfig& WithSuccessTopic(Aws::String&& value) { SetSuccessTopic(std::move(value)); return *this;} /** *

Amazon SNS topic to post a notification to when inference completes * successfully. If no topic is provided, no notification is sent on success.

*/ inline AsyncInferenceNotificationConfig& WithSuccessTopic(const char* value) { SetSuccessTopic(value); return *this;} /** *

Amazon SNS topic to post a notification to when inference fails. If no topic * is provided, no notification is sent on failure.

*/ inline const Aws::String& GetErrorTopic() const{ return m_errorTopic; } /** *

Amazon SNS topic to post a notification to when inference fails. If no topic * is provided, no notification is sent on failure.

*/ inline bool ErrorTopicHasBeenSet() const { return m_errorTopicHasBeenSet; } /** *

Amazon SNS topic to post a notification to when inference fails. If no topic * is provided, no notification is sent on failure.

*/ inline void SetErrorTopic(const Aws::String& value) { m_errorTopicHasBeenSet = true; m_errorTopic = value; } /** *

Amazon SNS topic to post a notification to when inference fails. If no topic * is provided, no notification is sent on failure.

*/ inline void SetErrorTopic(Aws::String&& value) { m_errorTopicHasBeenSet = true; m_errorTopic = std::move(value); } /** *

Amazon SNS topic to post a notification to when inference fails. If no topic * is provided, no notification is sent on failure.

*/ inline void SetErrorTopic(const char* value) { m_errorTopicHasBeenSet = true; m_errorTopic.assign(value); } /** *

Amazon SNS topic to post a notification to when inference fails. If no topic * is provided, no notification is sent on failure.

*/ inline AsyncInferenceNotificationConfig& WithErrorTopic(const Aws::String& value) { SetErrorTopic(value); return *this;} /** *

Amazon SNS topic to post a notification to when inference fails. If no topic * is provided, no notification is sent on failure.

*/ inline AsyncInferenceNotificationConfig& WithErrorTopic(Aws::String&& value) { SetErrorTopic(std::move(value)); return *this;} /** *

Amazon SNS topic to post a notification to when inference fails. If no topic * is provided, no notification is sent on failure.

*/ inline AsyncInferenceNotificationConfig& WithErrorTopic(const char* value) { SetErrorTopic(value); return *this;} /** *

The Amazon SNS topics where you want the inference response to be * included.

The inference response is included only if the response * size is less than or equal to 128 KB.

*/ inline const Aws::Vector& GetIncludeInferenceResponseIn() const{ return m_includeInferenceResponseIn; } /** *

The Amazon SNS topics where you want the inference response to be * included.

The inference response is included only if the response * size is less than or equal to 128 KB.

*/ inline bool IncludeInferenceResponseInHasBeenSet() const { return m_includeInferenceResponseInHasBeenSet; } /** *

The Amazon SNS topics where you want the inference response to be * included.

The inference response is included only if the response * size is less than or equal to 128 KB.

*/ inline void SetIncludeInferenceResponseIn(const Aws::Vector& value) { m_includeInferenceResponseInHasBeenSet = true; m_includeInferenceResponseIn = value; } /** *

The Amazon SNS topics where you want the inference response to be * included.

The inference response is included only if the response * size is less than or equal to 128 KB.

*/ inline void SetIncludeInferenceResponseIn(Aws::Vector&& value) { m_includeInferenceResponseInHasBeenSet = true; m_includeInferenceResponseIn = std::move(value); } /** *

The Amazon SNS topics where you want the inference response to be * included.

The inference response is included only if the response * size is less than or equal to 128 KB.

*/ inline AsyncInferenceNotificationConfig& WithIncludeInferenceResponseIn(const Aws::Vector& value) { SetIncludeInferenceResponseIn(value); return *this;} /** *

The Amazon SNS topics where you want the inference response to be * included.

The inference response is included only if the response * size is less than or equal to 128 KB.

*/ inline AsyncInferenceNotificationConfig& WithIncludeInferenceResponseIn(Aws::Vector&& value) { SetIncludeInferenceResponseIn(std::move(value)); return *this;} /** *

The Amazon SNS topics where you want the inference response to be * included.

The inference response is included only if the response * size is less than or equal to 128 KB.

*/ inline AsyncInferenceNotificationConfig& AddIncludeInferenceResponseIn(const AsyncNotificationTopicTypes& value) { m_includeInferenceResponseInHasBeenSet = true; m_includeInferenceResponseIn.push_back(value); return *this; } /** *

The Amazon SNS topics where you want the inference response to be * included.

The inference response is included only if the response * size is less than or equal to 128 KB.

*/ inline AsyncInferenceNotificationConfig& AddIncludeInferenceResponseIn(AsyncNotificationTopicTypes&& value) { m_includeInferenceResponseInHasBeenSet = true; m_includeInferenceResponseIn.push_back(std::move(value)); return *this; } private: Aws::String m_successTopic; bool m_successTopicHasBeenSet = false; Aws::String m_errorTopic; bool m_errorTopicHasBeenSet = false; Aws::Vector m_includeInferenceResponseIn; bool m_includeInferenceResponseInHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws