AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
EventDestination.h
1
6#pragma once
7#include <aws/email/SES_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/email/model/KinesisFirehoseDestination.h>
12#include <aws/email/model/CloudWatchDestination.h>
13#include <aws/email/model/SNSDestination.h>
14#include <aws/email/model/EventType.h>
15#include <utility>
16
17namespace Aws
18{
19namespace Utils
20{
21namespace Xml
22{
23 class XmlNode;
24} // namespace Xml
25} // namespace Utils
26namespace SES
27{
28namespace Model
29{
30
46 {
47 public:
48 AWS_SES_API EventDestination() = default;
49 AWS_SES_API EventDestination(const Aws::Utils::Xml::XmlNode& xmlNode);
51
52 AWS_SES_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
53 AWS_SES_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
54
55
57
63 inline const Aws::String& GetName() const { return m_name; }
64 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
65 template<typename NameT = Aws::String>
66 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
67 template<typename NameT = Aws::String>
68 EventDestination& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
70
72
78 inline bool GetEnabled() const { return m_enabled; }
79 inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; }
80 inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; }
81 inline EventDestination& WithEnabled(bool value) { SetEnabled(value); return *this;}
83
85
100 inline const Aws::Vector<EventType>& GetMatchingEventTypes() const { return m_matchingEventTypes; }
101 inline bool MatchingEventTypesHasBeenSet() const { return m_matchingEventTypesHasBeenSet; }
102 template<typename MatchingEventTypesT = Aws::Vector<EventType>>
103 void SetMatchingEventTypes(MatchingEventTypesT&& value) { m_matchingEventTypesHasBeenSet = true; m_matchingEventTypes = std::forward<MatchingEventTypesT>(value); }
104 template<typename MatchingEventTypesT = Aws::Vector<EventType>>
105 EventDestination& WithMatchingEventTypes(MatchingEventTypesT&& value) { SetMatchingEventTypes(std::forward<MatchingEventTypesT>(value)); return *this;}
106 inline EventDestination& AddMatchingEventTypes(EventType value) { m_matchingEventTypesHasBeenSet = true; m_matchingEventTypes.push_back(value); return *this; }
108
110
114 inline const KinesisFirehoseDestination& GetKinesisFirehoseDestination() const { return m_kinesisFirehoseDestination; }
115 inline bool KinesisFirehoseDestinationHasBeenSet() const { return m_kinesisFirehoseDestinationHasBeenSet; }
116 template<typename KinesisFirehoseDestinationT = KinesisFirehoseDestination>
117 void SetKinesisFirehoseDestination(KinesisFirehoseDestinationT&& value) { m_kinesisFirehoseDestinationHasBeenSet = true; m_kinesisFirehoseDestination = std::forward<KinesisFirehoseDestinationT>(value); }
118 template<typename KinesisFirehoseDestinationT = KinesisFirehoseDestination>
119 EventDestination& WithKinesisFirehoseDestination(KinesisFirehoseDestinationT&& value) { SetKinesisFirehoseDestination(std::forward<KinesisFirehoseDestinationT>(value)); return *this;}
121
123
127 inline const CloudWatchDestination& GetCloudWatchDestination() const { return m_cloudWatchDestination; }
128 inline bool CloudWatchDestinationHasBeenSet() const { return m_cloudWatchDestinationHasBeenSet; }
129 template<typename CloudWatchDestinationT = CloudWatchDestination>
130 void SetCloudWatchDestination(CloudWatchDestinationT&& value) { m_cloudWatchDestinationHasBeenSet = true; m_cloudWatchDestination = std::forward<CloudWatchDestinationT>(value); }
131 template<typename CloudWatchDestinationT = CloudWatchDestination>
132 EventDestination& WithCloudWatchDestination(CloudWatchDestinationT&& value) { SetCloudWatchDestination(std::forward<CloudWatchDestinationT>(value)); return *this;}
134
136
140 inline const SNSDestination& GetSNSDestination() const { return m_sNSDestination; }
141 inline bool SNSDestinationHasBeenSet() const { return m_sNSDestinationHasBeenSet; }
142 template<typename SNSDestinationT = SNSDestination>
143 void SetSNSDestination(SNSDestinationT&& value) { m_sNSDestinationHasBeenSet = true; m_sNSDestination = std::forward<SNSDestinationT>(value); }
144 template<typename SNSDestinationT = SNSDestination>
145 EventDestination& WithSNSDestination(SNSDestinationT&& value) { SetSNSDestination(std::forward<SNSDestinationT>(value)); return *this;}
147 private:
148
149 Aws::String m_name;
150 bool m_nameHasBeenSet = false;
151
152 bool m_enabled{false};
153 bool m_enabledHasBeenSet = false;
154
155 Aws::Vector<EventType> m_matchingEventTypes;
156 bool m_matchingEventTypesHasBeenSet = false;
157
158 KinesisFirehoseDestination m_kinesisFirehoseDestination;
159 bool m_kinesisFirehoseDestinationHasBeenSet = false;
160
161 CloudWatchDestination m_cloudWatchDestination;
162 bool m_cloudWatchDestinationHasBeenSet = false;
163
164 SNSDestination m_sNSDestination;
165 bool m_sNSDestinationHasBeenSet = false;
166 };
167
168} // namespace Model
169} // namespace SES
170} // 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