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

Used as one of the elements of the AssessmentRun data * type.

See Also:

AWS * API Reference

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

The date of the notification.

*/ inline const Aws::Utils::DateTime& GetDate() const{ return m_date; } /** *

The date of the notification.

*/ inline bool DateHasBeenSet() const { return m_dateHasBeenSet; } /** *

The date of the notification.

*/ inline void SetDate(const Aws::Utils::DateTime& value) { m_dateHasBeenSet = true; m_date = value; } /** *

The date of the notification.

*/ inline void SetDate(Aws::Utils::DateTime&& value) { m_dateHasBeenSet = true; m_date = std::move(value); } /** *

The date of the notification.

*/ inline AssessmentRunNotification& WithDate(const Aws::Utils::DateTime& value) { SetDate(value); return *this;} /** *

The date of the notification.

*/ inline AssessmentRunNotification& WithDate(Aws::Utils::DateTime&& value) { SetDate(std::move(value)); return *this;} /** *

The event for which a notification is sent.

*/ inline const InspectorEvent& GetEvent() const{ return m_event; } /** *

The event for which a notification is sent.

*/ inline bool EventHasBeenSet() const { return m_eventHasBeenSet; } /** *

The event for which a notification is sent.

*/ inline void SetEvent(const InspectorEvent& value) { m_eventHasBeenSet = true; m_event = value; } /** *

The event for which a notification is sent.

*/ inline void SetEvent(InspectorEvent&& value) { m_eventHasBeenSet = true; m_event = std::move(value); } /** *

The event for which a notification is sent.

*/ inline AssessmentRunNotification& WithEvent(const InspectorEvent& value) { SetEvent(value); return *this;} /** *

The event for which a notification is sent.

*/ inline AssessmentRunNotification& WithEvent(InspectorEvent&& value) { SetEvent(std::move(value)); return *this;} /** *

The message included in the notification.

*/ inline const Aws::String& GetMessage() const{ return m_message; } /** *

The message included in the notification.

*/ inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } /** *

The message included in the notification.

*/ inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } /** *

The message included in the notification.

*/ inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } /** *

The message included in the notification.

*/ inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } /** *

The message included in the notification.

*/ inline AssessmentRunNotification& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} /** *

The message included in the notification.

*/ inline AssessmentRunNotification& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} /** *

The message included in the notification.

*/ inline AssessmentRunNotification& WithMessage(const char* value) { SetMessage(value); return *this;} /** *

The Boolean value that specifies whether the notification represents an * error.

*/ inline bool GetError() const{ return m_error; } /** *

The Boolean value that specifies whether the notification represents an * error.

*/ inline bool ErrorHasBeenSet() const { return m_errorHasBeenSet; } /** *

The Boolean value that specifies whether the notification represents an * error.

*/ inline void SetError(bool value) { m_errorHasBeenSet = true; m_error = value; } /** *

The Boolean value that specifies whether the notification represents an * error.

*/ inline AssessmentRunNotification& WithError(bool value) { SetError(value); return *this;} /** *

The SNS topic to which the SNS notification is sent.

*/ inline const Aws::String& GetSnsTopicArn() const{ return m_snsTopicArn; } /** *

The SNS topic to which the SNS notification is sent.

*/ inline bool SnsTopicArnHasBeenSet() const { return m_snsTopicArnHasBeenSet; } /** *

The SNS topic to which the SNS notification is sent.

*/ inline void SetSnsTopicArn(const Aws::String& value) { m_snsTopicArnHasBeenSet = true; m_snsTopicArn = value; } /** *

The SNS topic to which the SNS notification is sent.

*/ inline void SetSnsTopicArn(Aws::String&& value) { m_snsTopicArnHasBeenSet = true; m_snsTopicArn = std::move(value); } /** *

The SNS topic to which the SNS notification is sent.

*/ inline void SetSnsTopicArn(const char* value) { m_snsTopicArnHasBeenSet = true; m_snsTopicArn.assign(value); } /** *

The SNS topic to which the SNS notification is sent.

*/ inline AssessmentRunNotification& WithSnsTopicArn(const Aws::String& value) { SetSnsTopicArn(value); return *this;} /** *

The SNS topic to which the SNS notification is sent.

*/ inline AssessmentRunNotification& WithSnsTopicArn(Aws::String&& value) { SetSnsTopicArn(std::move(value)); return *this;} /** *

The SNS topic to which the SNS notification is sent.

*/ inline AssessmentRunNotification& WithSnsTopicArn(const char* value) { SetSnsTopicArn(value); return *this;} /** *

The status code of the SNS notification.

*/ inline const AssessmentRunNotificationSnsStatusCode& GetSnsPublishStatusCode() const{ return m_snsPublishStatusCode; } /** *

The status code of the SNS notification.

*/ inline bool SnsPublishStatusCodeHasBeenSet() const { return m_snsPublishStatusCodeHasBeenSet; } /** *

The status code of the SNS notification.

*/ inline void SetSnsPublishStatusCode(const AssessmentRunNotificationSnsStatusCode& value) { m_snsPublishStatusCodeHasBeenSet = true; m_snsPublishStatusCode = value; } /** *

The status code of the SNS notification.

*/ inline void SetSnsPublishStatusCode(AssessmentRunNotificationSnsStatusCode&& value) { m_snsPublishStatusCodeHasBeenSet = true; m_snsPublishStatusCode = std::move(value); } /** *

The status code of the SNS notification.

*/ inline AssessmentRunNotification& WithSnsPublishStatusCode(const AssessmentRunNotificationSnsStatusCode& value) { SetSnsPublishStatusCode(value); return *this;} /** *

The status code of the SNS notification.

*/ inline AssessmentRunNotification& WithSnsPublishStatusCode(AssessmentRunNotificationSnsStatusCode&& value) { SetSnsPublishStatusCode(std::move(value)); return *this;} private: Aws::Utils::DateTime m_date; bool m_dateHasBeenSet = false; InspectorEvent m_event; bool m_eventHasBeenSet = false; Aws::String m_message; bool m_messageHasBeenSet = false; bool m_error; bool m_errorHasBeenSet = false; Aws::String m_snsTopicArn; bool m_snsTopicArnHasBeenSet = false; AssessmentRunNotificationSnsStatusCode m_snsPublishStatusCode; bool m_snsPublishStatusCodeHasBeenSet = false; }; } // namespace Model } // namespace Inspector } // namespace Aws