AWS SDK for C++

AWS SDK for C++ Version 1.11.766

Loading...
Searching...
No Matches
EventDestination.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/email/SES_EXPORTS.h>
11#include <aws/email/model/CloudWatchDestination.h>
12#include <aws/email/model/EventType.h>
13#include <aws/email/model/KinesisFirehoseDestination.h>
14#include <aws/email/model/SNSDestination.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Xml {
21class XmlNode;
22} // namespace Xml
23} // namespace Utils
24namespace SES {
25namespace Model {
26
42 public:
43 AWS_SES_API EventDestination() = default;
44 AWS_SES_API EventDestination(const Aws::Utils::Xml::XmlNode& xmlNode);
46
47 AWS_SES_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
48 AWS_SES_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
49
51
57 inline const Aws::String& GetName() const { return m_name; }
58 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
59 template <typename NameT = Aws::String>
60 void SetName(NameT&& value) {
61 m_nameHasBeenSet = true;
62 m_name = std::forward<NameT>(value);
63 }
64 template <typename NameT = Aws::String>
65 EventDestination& WithName(NameT&& value) {
66 SetName(std::forward<NameT>(value));
67 return *this;
68 }
70
72
78 inline bool GetEnabled() const { return m_enabled; }
79 inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; }
80 inline void SetEnabled(bool value) {
81 m_enabledHasBeenSet = true;
82 m_enabled = value;
83 }
84 inline EventDestination& WithEnabled(bool value) {
85 SetEnabled(value);
86 return *this;
87 }
89
91
106 inline const Aws::Vector<EventType>& GetMatchingEventTypes() const { return m_matchingEventTypes; }
107 inline bool MatchingEventTypesHasBeenSet() const { return m_matchingEventTypesHasBeenSet; }
108 template <typename MatchingEventTypesT = Aws::Vector<EventType>>
109 void SetMatchingEventTypes(MatchingEventTypesT&& value) {
110 m_matchingEventTypesHasBeenSet = true;
111 m_matchingEventTypes = std::forward<MatchingEventTypesT>(value);
112 }
113 template <typename MatchingEventTypesT = Aws::Vector<EventType>>
114 EventDestination& WithMatchingEventTypes(MatchingEventTypesT&& value) {
115 SetMatchingEventTypes(std::forward<MatchingEventTypesT>(value));
116 return *this;
117 }
119 m_matchingEventTypesHasBeenSet = true;
120 m_matchingEventTypes.push_back(value);
121 return *this;
122 }
124
126
130 inline const KinesisFirehoseDestination& GetKinesisFirehoseDestination() const { return m_kinesisFirehoseDestination; }
131 inline bool KinesisFirehoseDestinationHasBeenSet() const { return m_kinesisFirehoseDestinationHasBeenSet; }
132 template <typename KinesisFirehoseDestinationT = KinesisFirehoseDestination>
133 void SetKinesisFirehoseDestination(KinesisFirehoseDestinationT&& value) {
134 m_kinesisFirehoseDestinationHasBeenSet = true;
135 m_kinesisFirehoseDestination = std::forward<KinesisFirehoseDestinationT>(value);
136 }
137 template <typename KinesisFirehoseDestinationT = KinesisFirehoseDestination>
138 EventDestination& WithKinesisFirehoseDestination(KinesisFirehoseDestinationT&& value) {
139 SetKinesisFirehoseDestination(std::forward<KinesisFirehoseDestinationT>(value));
140 return *this;
141 }
143
145
149 inline const CloudWatchDestination& GetCloudWatchDestination() const { return m_cloudWatchDestination; }
150 inline bool CloudWatchDestinationHasBeenSet() const { return m_cloudWatchDestinationHasBeenSet; }
151 template <typename CloudWatchDestinationT = CloudWatchDestination>
152 void SetCloudWatchDestination(CloudWatchDestinationT&& value) {
153 m_cloudWatchDestinationHasBeenSet = true;
154 m_cloudWatchDestination = std::forward<CloudWatchDestinationT>(value);
155 }
156 template <typename CloudWatchDestinationT = CloudWatchDestination>
157 EventDestination& WithCloudWatchDestination(CloudWatchDestinationT&& value) {
158 SetCloudWatchDestination(std::forward<CloudWatchDestinationT>(value));
159 return *this;
160 }
162
164
168 inline const SNSDestination& GetSNSDestination() const { return m_sNSDestination; }
169 inline bool SNSDestinationHasBeenSet() const { return m_sNSDestinationHasBeenSet; }
170 template <typename SNSDestinationT = SNSDestination>
171 void SetSNSDestination(SNSDestinationT&& value) {
172 m_sNSDestinationHasBeenSet = true;
173 m_sNSDestination = std::forward<SNSDestinationT>(value);
174 }
175 template <typename SNSDestinationT = SNSDestination>
176 EventDestination& WithSNSDestination(SNSDestinationT&& value) {
177 SetSNSDestination(std::forward<SNSDestinationT>(value));
178 return *this;
179 }
181 private:
182 Aws::String m_name;
183
184 bool m_enabled{false};
185
186 Aws::Vector<EventType> m_matchingEventTypes;
187
188 KinesisFirehoseDestination m_kinesisFirehoseDestination;
189
190 CloudWatchDestination m_cloudWatchDestination;
191
192 SNSDestination m_sNSDestination;
193 bool m_nameHasBeenSet = false;
194 bool m_enabledHasBeenSet = false;
195 bool m_matchingEventTypesHasBeenSet = false;
196 bool m_kinesisFirehoseDestinationHasBeenSet = false;
197 bool m_cloudWatchDestinationHasBeenSet = false;
198 bool m_sNSDestinationHasBeenSet = false;
199};
200
201} // namespace Model
202} // namespace SES
203} // namespace Aws
void SetCloudWatchDestination(CloudWatchDestinationT &&value)
AWS_SES_API EventDestination & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
EventDestination & AddMatchingEventTypes(EventType value)
EventDestination & WithSNSDestination(SNSDestinationT &&value)
const CloudWatchDestination & GetCloudWatchDestination() const
AWS_SES_API EventDestination()=default
AWS_SES_API EventDestination(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetSNSDestination(SNSDestinationT &&value)
EventDestination & WithMatchingEventTypes(MatchingEventTypesT &&value)
void SetMatchingEventTypes(MatchingEventTypesT &&value)
const SNSDestination & GetSNSDestination() const
const Aws::String & GetName() const
EventDestination & WithCloudWatchDestination(CloudWatchDestinationT &&value)
const Aws::Vector< EventType > & GetMatchingEventTypes() const
const KinesisFirehoseDestination & GetKinesisFirehoseDestination() const
AWS_SES_API void OutputToStream(Aws::OStream &oStream, const char *location) const
EventDestination & WithName(NameT &&value)
void SetKinesisFirehoseDestination(KinesisFirehoseDestinationT &&value)
EventDestination & WithKinesisFirehoseDestination(KinesisFirehoseDestinationT &&value)
AWS_SES_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
EventDestination & WithEnabled(bool value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream