AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
EventDestinationDefinition.h
1
6#pragma once
7#include <aws/pinpoint-email/PinpointEmail_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/pinpoint-email/model/KinesisFirehoseDestination.h>
10#include <aws/pinpoint-email/model/CloudWatchDestination.h>
11#include <aws/pinpoint-email/model/SnsDestination.h>
12#include <aws/pinpoint-email/model/PinpointDestination.h>
13#include <aws/pinpoint-email/model/EventType.h>
14#include <utility>
15
16namespace Aws
17{
18namespace Utils
19{
20namespace Json
21{
22 class JsonValue;
23 class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace PinpointEmail
27{
28namespace Model
29{
30
40 {
41 public:
42 AWS_PINPOINTEMAIL_API EventDestinationDefinition() = default;
45 AWS_PINPOINTEMAIL_API Aws::Utils::Json::JsonValue Jsonize() const;
46
47
49
56 inline bool GetEnabled() const { return m_enabled; }
57 inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; }
58 inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; }
59 inline EventDestinationDefinition& WithEnabled(bool value) { SetEnabled(value); return *this;}
61
63
67 inline const Aws::Vector<EventType>& GetMatchingEventTypes() const { return m_matchingEventTypes; }
68 inline bool MatchingEventTypesHasBeenSet() const { return m_matchingEventTypesHasBeenSet; }
69 template<typename MatchingEventTypesT = Aws::Vector<EventType>>
70 void SetMatchingEventTypes(MatchingEventTypesT&& value) { m_matchingEventTypesHasBeenSet = true; m_matchingEventTypes = std::forward<MatchingEventTypesT>(value); }
71 template<typename MatchingEventTypesT = Aws::Vector<EventType>>
72 EventDestinationDefinition& WithMatchingEventTypes(MatchingEventTypesT&& value) { SetMatchingEventTypes(std::forward<MatchingEventTypesT>(value)); return *this;}
73 inline EventDestinationDefinition& AddMatchingEventTypes(EventType value) { m_matchingEventTypesHasBeenSet = true; m_matchingEventTypes.push_back(value); return *this; }
75
77
82 inline const KinesisFirehoseDestination& GetKinesisFirehoseDestination() const { return m_kinesisFirehoseDestination; }
83 inline bool KinesisFirehoseDestinationHasBeenSet() const { return m_kinesisFirehoseDestinationHasBeenSet; }
84 template<typename KinesisFirehoseDestinationT = KinesisFirehoseDestination>
85 void SetKinesisFirehoseDestination(KinesisFirehoseDestinationT&& value) { m_kinesisFirehoseDestinationHasBeenSet = true; m_kinesisFirehoseDestination = std::forward<KinesisFirehoseDestinationT>(value); }
86 template<typename KinesisFirehoseDestinationT = KinesisFirehoseDestination>
87 EventDestinationDefinition& WithKinesisFirehoseDestination(KinesisFirehoseDestinationT&& value) { SetKinesisFirehoseDestination(std::forward<KinesisFirehoseDestinationT>(value)); return *this;}
89
91
96 inline const CloudWatchDestination& GetCloudWatchDestination() const { return m_cloudWatchDestination; }
97 inline bool CloudWatchDestinationHasBeenSet() const { return m_cloudWatchDestinationHasBeenSet; }
98 template<typename CloudWatchDestinationT = CloudWatchDestination>
99 void SetCloudWatchDestination(CloudWatchDestinationT&& value) { m_cloudWatchDestinationHasBeenSet = true; m_cloudWatchDestination = std::forward<CloudWatchDestinationT>(value); }
100 template<typename CloudWatchDestinationT = CloudWatchDestination>
101 EventDestinationDefinition& WithCloudWatchDestination(CloudWatchDestinationT&& value) { SetCloudWatchDestination(std::forward<CloudWatchDestinationT>(value)); return *this;}
103
105
109 inline const SnsDestination& GetSnsDestination() const { return m_snsDestination; }
110 inline bool SnsDestinationHasBeenSet() const { return m_snsDestinationHasBeenSet; }
111 template<typename SnsDestinationT = SnsDestination>
112 void SetSnsDestination(SnsDestinationT&& value) { m_snsDestinationHasBeenSet = true; m_snsDestination = std::forward<SnsDestinationT>(value); }
113 template<typename SnsDestinationT = SnsDestination>
114 EventDestinationDefinition& WithSnsDestination(SnsDestinationT&& value) { SetSnsDestination(std::forward<SnsDestinationT>(value)); return *this;}
116
118
123 inline const PinpointDestination& GetPinpointDestination() const { return m_pinpointDestination; }
124 inline bool PinpointDestinationHasBeenSet() const { return m_pinpointDestinationHasBeenSet; }
125 template<typename PinpointDestinationT = PinpointDestination>
126 void SetPinpointDestination(PinpointDestinationT&& value) { m_pinpointDestinationHasBeenSet = true; m_pinpointDestination = std::forward<PinpointDestinationT>(value); }
127 template<typename PinpointDestinationT = PinpointDestination>
128 EventDestinationDefinition& WithPinpointDestination(PinpointDestinationT&& value) { SetPinpointDestination(std::forward<PinpointDestinationT>(value)); return *this;}
130 private:
131
132 bool m_enabled{false};
133 bool m_enabledHasBeenSet = false;
134
135 Aws::Vector<EventType> m_matchingEventTypes;
136 bool m_matchingEventTypesHasBeenSet = false;
137
138 KinesisFirehoseDestination m_kinesisFirehoseDestination;
139 bool m_kinesisFirehoseDestinationHasBeenSet = false;
140
141 CloudWatchDestination m_cloudWatchDestination;
142 bool m_cloudWatchDestinationHasBeenSet = false;
143
144 SnsDestination m_snsDestination;
145 bool m_snsDestinationHasBeenSet = false;
146
147 PinpointDestination m_pinpointDestination;
148 bool m_pinpointDestinationHasBeenSet = false;
149 };
150
151} // namespace Model
152} // namespace PinpointEmail
153} // namespace Aws
AWS_PINPOINTEMAIL_API Aws::Utils::Json::JsonValue Jsonize() const
EventDestinationDefinition & WithSnsDestination(SnsDestinationT &&value)
AWS_PINPOINTEMAIL_API EventDestinationDefinition & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_PINPOINTEMAIL_API EventDestinationDefinition(Aws::Utils::Json::JsonView jsonValue)
EventDestinationDefinition & AddMatchingEventTypes(EventType value)
EventDestinationDefinition & WithCloudWatchDestination(CloudWatchDestinationT &&value)
EventDestinationDefinition & WithKinesisFirehoseDestination(KinesisFirehoseDestinationT &&value)
EventDestinationDefinition & WithPinpointDestination(PinpointDestinationT &&value)
EventDestinationDefinition & WithMatchingEventTypes(MatchingEventTypesT &&value)
const Aws::Vector< EventType > & GetMatchingEventTypes() const
const KinesisFirehoseDestination & GetKinesisFirehoseDestination() const
void SetKinesisFirehoseDestination(KinesisFirehoseDestinationT &&value)
AWS_PINPOINTEMAIL_API EventDestinationDefinition()=default
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue