AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
EventDestinationDefinition.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/pinpoint-email/PinpointEmail_EXPORTS.h>
9#include <aws/pinpoint-email/model/CloudWatchDestination.h>
10#include <aws/pinpoint-email/model/EventType.h>
11#include <aws/pinpoint-email/model/KinesisFirehoseDestination.h>
12#include <aws/pinpoint-email/model/PinpointDestination.h>
13#include <aws/pinpoint-email/model/SnsDestination.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace PinpointEmail {
25namespace Model {
26
36 public:
37 AWS_PINPOINTEMAIL_API EventDestinationDefinition() = default;
40 AWS_PINPOINTEMAIL_API Aws::Utils::Json::JsonValue Jsonize() const;
41
43
50 inline bool GetEnabled() const { return m_enabled; }
51 inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; }
52 inline void SetEnabled(bool value) {
53 m_enabledHasBeenSet = true;
54 m_enabled = value;
55 }
57 SetEnabled(value);
58 return *this;
59 }
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) {
71 m_matchingEventTypesHasBeenSet = true;
72 m_matchingEventTypes = std::forward<MatchingEventTypesT>(value);
73 }
74 template <typename MatchingEventTypesT = Aws::Vector<EventType>>
75 EventDestinationDefinition& WithMatchingEventTypes(MatchingEventTypesT&& value) {
76 SetMatchingEventTypes(std::forward<MatchingEventTypesT>(value));
77 return *this;
78 }
80 m_matchingEventTypesHasBeenSet = true;
81 m_matchingEventTypes.push_back(value);
82 return *this;
83 }
85
87
92 inline const KinesisFirehoseDestination& GetKinesisFirehoseDestination() const { return m_kinesisFirehoseDestination; }
93 inline bool KinesisFirehoseDestinationHasBeenSet() const { return m_kinesisFirehoseDestinationHasBeenSet; }
94 template <typename KinesisFirehoseDestinationT = KinesisFirehoseDestination>
95 void SetKinesisFirehoseDestination(KinesisFirehoseDestinationT&& value) {
96 m_kinesisFirehoseDestinationHasBeenSet = true;
97 m_kinesisFirehoseDestination = std::forward<KinesisFirehoseDestinationT>(value);
98 }
99 template <typename KinesisFirehoseDestinationT = KinesisFirehoseDestination>
100 EventDestinationDefinition& WithKinesisFirehoseDestination(KinesisFirehoseDestinationT&& value) {
101 SetKinesisFirehoseDestination(std::forward<KinesisFirehoseDestinationT>(value));
102 return *this;
103 }
105
107
112 inline const CloudWatchDestination& GetCloudWatchDestination() const { return m_cloudWatchDestination; }
113 inline bool CloudWatchDestinationHasBeenSet() const { return m_cloudWatchDestinationHasBeenSet; }
114 template <typename CloudWatchDestinationT = CloudWatchDestination>
115 void SetCloudWatchDestination(CloudWatchDestinationT&& value) {
116 m_cloudWatchDestinationHasBeenSet = true;
117 m_cloudWatchDestination = std::forward<CloudWatchDestinationT>(value);
118 }
119 template <typename CloudWatchDestinationT = CloudWatchDestination>
120 EventDestinationDefinition& WithCloudWatchDestination(CloudWatchDestinationT&& value) {
121 SetCloudWatchDestination(std::forward<CloudWatchDestinationT>(value));
122 return *this;
123 }
125
127
131 inline const SnsDestination& GetSnsDestination() const { return m_snsDestination; }
132 inline bool SnsDestinationHasBeenSet() const { return m_snsDestinationHasBeenSet; }
133 template <typename SnsDestinationT = SnsDestination>
134 void SetSnsDestination(SnsDestinationT&& value) {
135 m_snsDestinationHasBeenSet = true;
136 m_snsDestination = std::forward<SnsDestinationT>(value);
137 }
138 template <typename SnsDestinationT = SnsDestination>
140 SetSnsDestination(std::forward<SnsDestinationT>(value));
141 return *this;
142 }
144
146
151 inline const PinpointDestination& GetPinpointDestination() const { return m_pinpointDestination; }
152 inline bool PinpointDestinationHasBeenSet() const { return m_pinpointDestinationHasBeenSet; }
153 template <typename PinpointDestinationT = PinpointDestination>
154 void SetPinpointDestination(PinpointDestinationT&& value) {
155 m_pinpointDestinationHasBeenSet = true;
156 m_pinpointDestination = std::forward<PinpointDestinationT>(value);
157 }
158 template <typename PinpointDestinationT = PinpointDestination>
160 SetPinpointDestination(std::forward<PinpointDestinationT>(value));
161 return *this;
162 }
164 private:
165 bool m_enabled{false};
166
167 Aws::Vector<EventType> m_matchingEventTypes;
168
169 KinesisFirehoseDestination m_kinesisFirehoseDestination;
170
171 CloudWatchDestination m_cloudWatchDestination;
172
173 SnsDestination m_snsDestination;
174
175 PinpointDestination m_pinpointDestination;
176 bool m_enabledHasBeenSet = false;
177 bool m_matchingEventTypesHasBeenSet = false;
178 bool m_kinesisFirehoseDestinationHasBeenSet = false;
179 bool m_cloudWatchDestinationHasBeenSet = false;
180 bool m_snsDestinationHasBeenSet = false;
181 bool m_pinpointDestinationHasBeenSet = false;
182};
183
184} // namespace Model
185} // namespace PinpointEmail
186} // 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