AWS SDK for C++

AWS SDK for C++ Version 1.11.695

Loading...
Searching...
No Matches
NotificationConfiguration.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/s3-crt/S3Crt_EXPORTS.h>
10#include <aws/s3-crt/model/EventBridgeConfiguration.h>
11#include <aws/s3-crt/model/LambdaFunctionConfiguration.h>
12#include <aws/s3-crt/model/QueueConfiguration.h>
13#include <aws/s3-crt/model/TopicConfiguration.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Xml {
20class XmlNode;
21} // namespace Xml
22} // namespace Utils
23namespace S3Crt {
24namespace Model {
25
34 public:
35 AWS_S3CRT_API NotificationConfiguration() = default;
38
39 AWS_S3CRT_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
40
42
46 inline const Aws::Vector<TopicConfiguration>& GetTopicConfigurations() const { return m_topicConfigurations; }
47 inline bool TopicConfigurationsHasBeenSet() const { return m_topicConfigurationsHasBeenSet; }
48 template <typename TopicConfigurationsT = Aws::Vector<TopicConfiguration>>
49 void SetTopicConfigurations(TopicConfigurationsT&& value) {
50 m_topicConfigurationsHasBeenSet = true;
51 m_topicConfigurations = std::forward<TopicConfigurationsT>(value);
52 }
53 template <typename TopicConfigurationsT = Aws::Vector<TopicConfiguration>>
54 NotificationConfiguration& WithTopicConfigurations(TopicConfigurationsT&& value) {
55 SetTopicConfigurations(std::forward<TopicConfigurationsT>(value));
56 return *this;
57 }
58 template <typename TopicConfigurationsT = TopicConfiguration>
59 NotificationConfiguration& AddTopicConfigurations(TopicConfigurationsT&& value) {
60 m_topicConfigurationsHasBeenSet = true;
61 m_topicConfigurations.emplace_back(std::forward<TopicConfigurationsT>(value));
62 return *this;
63 }
65
67
71 inline const Aws::Vector<QueueConfiguration>& GetQueueConfigurations() const { return m_queueConfigurations; }
72 inline bool QueueConfigurationsHasBeenSet() const { return m_queueConfigurationsHasBeenSet; }
73 template <typename QueueConfigurationsT = Aws::Vector<QueueConfiguration>>
74 void SetQueueConfigurations(QueueConfigurationsT&& value) {
75 m_queueConfigurationsHasBeenSet = true;
76 m_queueConfigurations = std::forward<QueueConfigurationsT>(value);
77 }
78 template <typename QueueConfigurationsT = Aws::Vector<QueueConfiguration>>
79 NotificationConfiguration& WithQueueConfigurations(QueueConfigurationsT&& value) {
80 SetQueueConfigurations(std::forward<QueueConfigurationsT>(value));
81 return *this;
82 }
83 template <typename QueueConfigurationsT = QueueConfiguration>
84 NotificationConfiguration& AddQueueConfigurations(QueueConfigurationsT&& value) {
85 m_queueConfigurationsHasBeenSet = true;
86 m_queueConfigurations.emplace_back(std::forward<QueueConfigurationsT>(value));
87 return *this;
88 }
90
92
96 inline const Aws::Vector<LambdaFunctionConfiguration>& GetLambdaFunctionConfigurations() const { return m_lambdaFunctionConfigurations; }
97 inline bool LambdaFunctionConfigurationsHasBeenSet() const { return m_lambdaFunctionConfigurationsHasBeenSet; }
98 template <typename LambdaFunctionConfigurationsT = Aws::Vector<LambdaFunctionConfiguration>>
99 void SetLambdaFunctionConfigurations(LambdaFunctionConfigurationsT&& value) {
100 m_lambdaFunctionConfigurationsHasBeenSet = true;
101 m_lambdaFunctionConfigurations = std::forward<LambdaFunctionConfigurationsT>(value);
102 }
103 template <typename LambdaFunctionConfigurationsT = Aws::Vector<LambdaFunctionConfiguration>>
104 NotificationConfiguration& WithLambdaFunctionConfigurations(LambdaFunctionConfigurationsT&& value) {
105 SetLambdaFunctionConfigurations(std::forward<LambdaFunctionConfigurationsT>(value));
106 return *this;
107 }
108 template <typename LambdaFunctionConfigurationsT = LambdaFunctionConfiguration>
109 NotificationConfiguration& AddLambdaFunctionConfigurations(LambdaFunctionConfigurationsT&& value) {
110 m_lambdaFunctionConfigurationsHasBeenSet = true;
111 m_lambdaFunctionConfigurations.emplace_back(std::forward<LambdaFunctionConfigurationsT>(value));
112 return *this;
113 }
115
117
120 inline const EventBridgeConfiguration& GetEventBridgeConfiguration() const { return m_eventBridgeConfiguration; }
121 inline bool EventBridgeConfigurationHasBeenSet() const { return m_eventBridgeConfigurationHasBeenSet; }
122 template <typename EventBridgeConfigurationT = EventBridgeConfiguration>
123 void SetEventBridgeConfiguration(EventBridgeConfigurationT&& value) {
124 m_eventBridgeConfigurationHasBeenSet = true;
125 m_eventBridgeConfiguration = std::forward<EventBridgeConfigurationT>(value);
126 }
127 template <typename EventBridgeConfigurationT = EventBridgeConfiguration>
128 NotificationConfiguration& WithEventBridgeConfiguration(EventBridgeConfigurationT&& value) {
129 SetEventBridgeConfiguration(std::forward<EventBridgeConfigurationT>(value));
130 return *this;
131 }
133
135
136 inline const Aws::String& GetRequestId() const { return m_requestId; }
137 inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; }
138 template <typename RequestIdT = Aws::String>
139 void SetRequestId(RequestIdT&& value) {
140 m_requestIdHasBeenSet = true;
141 m_requestId = std::forward<RequestIdT>(value);
142 }
143 template <typename RequestIdT = Aws::String>
145 SetRequestId(std::forward<RequestIdT>(value));
146 return *this;
147 }
149 private:
150 Aws::Vector<TopicConfiguration> m_topicConfigurations;
151 bool m_topicConfigurationsHasBeenSet = false;
152
153 Aws::Vector<QueueConfiguration> m_queueConfigurations;
154 bool m_queueConfigurationsHasBeenSet = false;
155
156 Aws::Vector<LambdaFunctionConfiguration> m_lambdaFunctionConfigurations;
157 bool m_lambdaFunctionConfigurationsHasBeenSet = false;
158
159 EventBridgeConfiguration m_eventBridgeConfiguration;
160 bool m_eventBridgeConfigurationHasBeenSet = false;
161
162 Aws::String m_requestId;
163 bool m_requestIdHasBeenSet = false;
164};
165
166} // namespace Model
167} // namespace S3Crt
168} // namespace Aws
AWS_S3CRT_API NotificationConfiguration(const Aws::Utils::Xml::XmlNode &xmlNode)
NotificationConfiguration & WithQueueConfigurations(QueueConfigurationsT &&value)
NotificationConfiguration & AddLambdaFunctionConfigurations(LambdaFunctionConfigurationsT &&value)
const Aws::Vector< TopicConfiguration > & GetTopicConfigurations() const
NotificationConfiguration & WithEventBridgeConfiguration(EventBridgeConfigurationT &&value)
AWS_S3CRT_API NotificationConfiguration & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetTopicConfigurations(TopicConfigurationsT &&value)
NotificationConfiguration & AddTopicConfigurations(TopicConfigurationsT &&value)
const Aws::Vector< QueueConfiguration > & GetQueueConfigurations() const
AWS_S3CRT_API void AddToNode(Aws::Utils::Xml::XmlNode &parentNode) const
const Aws::Vector< LambdaFunctionConfiguration > & GetLambdaFunctionConfigurations() const
NotificationConfiguration & WithRequestId(RequestIdT &&value)
NotificationConfiguration & AddQueueConfigurations(QueueConfigurationsT &&value)
const EventBridgeConfiguration & GetEventBridgeConfiguration() const
AWS_S3CRT_API NotificationConfiguration()=default
void SetEventBridgeConfiguration(EventBridgeConfigurationT &&value)
NotificationConfiguration & WithTopicConfigurations(TopicConfigurationsT &&value)
void SetLambdaFunctionConfigurations(LambdaFunctionConfigurationsT &&value)
NotificationConfiguration & WithLambdaFunctionConfigurations(LambdaFunctionConfigurationsT &&value)
void SetQueueConfigurations(QueueConfigurationsT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector