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

This data type is used in the Subscription data type.

See * Also:

AWS * API Reference

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

The event for which Amazon Simple Notification Service (SNS) notifications * are sent.

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

The event for which Amazon Simple Notification Service (SNS) notifications * are sent.

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

The event for which Amazon Simple Notification Service (SNS) notifications * are sent.

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

The event for which Amazon Simple Notification Service (SNS) notifications * are sent.

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

The event for which Amazon Simple Notification Service (SNS) notifications * are sent.

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

The event for which Amazon Simple Notification Service (SNS) notifications * are sent.

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

The time at which SubscribeToEvent is called.

*/ inline const Aws::Utils::DateTime& GetSubscribedAt() const{ return m_subscribedAt; } /** *

The time at which SubscribeToEvent is called.

*/ inline bool SubscribedAtHasBeenSet() const { return m_subscribedAtHasBeenSet; } /** *

The time at which SubscribeToEvent is called.

*/ inline void SetSubscribedAt(const Aws::Utils::DateTime& value) { m_subscribedAtHasBeenSet = true; m_subscribedAt = value; } /** *

The time at which SubscribeToEvent is called.

*/ inline void SetSubscribedAt(Aws::Utils::DateTime&& value) { m_subscribedAtHasBeenSet = true; m_subscribedAt = std::move(value); } /** *

The time at which SubscribeToEvent is called.

*/ inline EventSubscription& WithSubscribedAt(const Aws::Utils::DateTime& value) { SetSubscribedAt(value); return *this;} /** *

The time at which SubscribeToEvent is called.

*/ inline EventSubscription& WithSubscribedAt(Aws::Utils::DateTime&& value) { SetSubscribedAt(std::move(value)); return *this;} private: InspectorEvent m_event; bool m_eventHasBeenSet = false; Aws::Utils::DateTime m_subscribedAt; bool m_subscribedAtHasBeenSet = false; }; } // namespace Model } // namespace Inspector } // namespace Aws