AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
NotificationConfiguration.h
1
6#pragma once
7#include <aws/s3/S3_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/s3/model/EventBridgeConfiguration.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/s3/model/TopicConfiguration.h>
12#include <aws/s3/model/QueueConfiguration.h>
13#include <aws/s3/model/LambdaFunctionConfiguration.h>
14#include <utility>
15
16namespace Aws
17{
18namespace Utils
19{
20namespace Xml
21{
22 class XmlNode;
23} // namespace Xml
24} // namespace Utils
25namespace S3
26{
27namespace Model
28{
29
38 {
39 public:
40 AWS_S3_API NotificationConfiguration() = default;
43
44 AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
45
46
48
52 inline const Aws::Vector<TopicConfiguration>& GetTopicConfigurations() const { return m_topicConfigurations; }
53 inline bool TopicConfigurationsHasBeenSet() const { return m_topicConfigurationsHasBeenSet; }
54 template<typename TopicConfigurationsT = Aws::Vector<TopicConfiguration>>
55 void SetTopicConfigurations(TopicConfigurationsT&& value) { m_topicConfigurationsHasBeenSet = true; m_topicConfigurations = std::forward<TopicConfigurationsT>(value); }
56 template<typename TopicConfigurationsT = Aws::Vector<TopicConfiguration>>
57 NotificationConfiguration& WithTopicConfigurations(TopicConfigurationsT&& value) { SetTopicConfigurations(std::forward<TopicConfigurationsT>(value)); return *this;}
58 template<typename TopicConfigurationsT = TopicConfiguration>
59 NotificationConfiguration& AddTopicConfigurations(TopicConfigurationsT&& value) { m_topicConfigurationsHasBeenSet = true; m_topicConfigurations.emplace_back(std::forward<TopicConfigurationsT>(value)); return *this; }
61
63
67 inline const Aws::Vector<QueueConfiguration>& GetQueueConfigurations() const { return m_queueConfigurations; }
68 inline bool QueueConfigurationsHasBeenSet() const { return m_queueConfigurationsHasBeenSet; }
69 template<typename QueueConfigurationsT = Aws::Vector<QueueConfiguration>>
70 void SetQueueConfigurations(QueueConfigurationsT&& value) { m_queueConfigurationsHasBeenSet = true; m_queueConfigurations = std::forward<QueueConfigurationsT>(value); }
71 template<typename QueueConfigurationsT = Aws::Vector<QueueConfiguration>>
72 NotificationConfiguration& WithQueueConfigurations(QueueConfigurationsT&& value) { SetQueueConfigurations(std::forward<QueueConfigurationsT>(value)); return *this;}
73 template<typename QueueConfigurationsT = QueueConfiguration>
74 NotificationConfiguration& AddQueueConfigurations(QueueConfigurationsT&& value) { m_queueConfigurationsHasBeenSet = true; m_queueConfigurations.emplace_back(std::forward<QueueConfigurationsT>(value)); return *this; }
76
78
82 inline const Aws::Vector<LambdaFunctionConfiguration>& GetLambdaFunctionConfigurations() const { return m_lambdaFunctionConfigurations; }
83 inline bool LambdaFunctionConfigurationsHasBeenSet() const { return m_lambdaFunctionConfigurationsHasBeenSet; }
84 template<typename LambdaFunctionConfigurationsT = Aws::Vector<LambdaFunctionConfiguration>>
85 void SetLambdaFunctionConfigurations(LambdaFunctionConfigurationsT&& value) { m_lambdaFunctionConfigurationsHasBeenSet = true; m_lambdaFunctionConfigurations = std::forward<LambdaFunctionConfigurationsT>(value); }
86 template<typename LambdaFunctionConfigurationsT = Aws::Vector<LambdaFunctionConfiguration>>
87 NotificationConfiguration& WithLambdaFunctionConfigurations(LambdaFunctionConfigurationsT&& value) { SetLambdaFunctionConfigurations(std::forward<LambdaFunctionConfigurationsT>(value)); return *this;}
88 template<typename LambdaFunctionConfigurationsT = LambdaFunctionConfiguration>
89 NotificationConfiguration& AddLambdaFunctionConfigurations(LambdaFunctionConfigurationsT&& value) { m_lambdaFunctionConfigurationsHasBeenSet = true; m_lambdaFunctionConfigurations.emplace_back(std::forward<LambdaFunctionConfigurationsT>(value)); return *this; }
91
93
96 inline const EventBridgeConfiguration& GetEventBridgeConfiguration() const { return m_eventBridgeConfiguration; }
97 inline bool EventBridgeConfigurationHasBeenSet() const { return m_eventBridgeConfigurationHasBeenSet; }
98 template<typename EventBridgeConfigurationT = EventBridgeConfiguration>
99 void SetEventBridgeConfiguration(EventBridgeConfigurationT&& value) { m_eventBridgeConfigurationHasBeenSet = true; m_eventBridgeConfiguration = std::forward<EventBridgeConfigurationT>(value); }
100 template<typename EventBridgeConfigurationT = EventBridgeConfiguration>
101 NotificationConfiguration& WithEventBridgeConfiguration(EventBridgeConfigurationT&& value) { SetEventBridgeConfiguration(std::forward<EventBridgeConfigurationT>(value)); return *this;}
103
105
106 inline const Aws::String& GetRequestId() const { return m_requestId; }
107 inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; }
108 template<typename RequestIdT = Aws::String>
109 void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward<RequestIdT>(value); }
110 template<typename RequestIdT = Aws::String>
111 NotificationConfiguration& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward<RequestIdT>(value)); return *this;}
113 private:
114
115 Aws::Vector<TopicConfiguration> m_topicConfigurations;
116 bool m_topicConfigurationsHasBeenSet = false;
117
118 Aws::Vector<QueueConfiguration> m_queueConfigurations;
119 bool m_queueConfigurationsHasBeenSet = false;
120
121 Aws::Vector<LambdaFunctionConfiguration> m_lambdaFunctionConfigurations;
122 bool m_lambdaFunctionConfigurationsHasBeenSet = false;
123
124 EventBridgeConfiguration m_eventBridgeConfiguration;
125 bool m_eventBridgeConfigurationHasBeenSet = false;
126
127 Aws::String m_requestId;
128 bool m_requestIdHasBeenSet = false;
129 };
130
131} // namespace Model
132} // namespace S3
133} // namespace Aws
AWS_S3_API NotificationConfiguration()=default
const Aws::Vector< LambdaFunctionConfiguration > & GetLambdaFunctionConfigurations() const
AWS_S3_API NotificationConfiguration & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode &parentNode) const
NotificationConfiguration & WithTopicConfigurations(TopicConfigurationsT &&value)
NotificationConfiguration & AddTopicConfigurations(TopicConfigurationsT &&value)
const EventBridgeConfiguration & GetEventBridgeConfiguration() const
const Aws::Vector< QueueConfiguration > & GetQueueConfigurations() const
void SetLambdaFunctionConfigurations(LambdaFunctionConfigurationsT &&value)
const Aws::Vector< TopicConfiguration > & GetTopicConfigurations() const
void SetEventBridgeConfiguration(EventBridgeConfigurationT &&value)
NotificationConfiguration & AddQueueConfigurations(QueueConfigurationsT &&value)
NotificationConfiguration & WithEventBridgeConfiguration(EventBridgeConfigurationT &&value)
void SetQueueConfigurations(QueueConfigurationsT &&value)
void SetTopicConfigurations(TopicConfigurationsT &&value)
NotificationConfiguration & WithRequestId(RequestIdT &&value)
NotificationConfiguration & WithLambdaFunctionConfigurations(LambdaFunctionConfigurationsT &&value)
NotificationConfiguration & AddLambdaFunctionConfigurations(LambdaFunctionConfigurationsT &&value)
AWS_S3_API NotificationConfiguration(const Aws::Utils::Xml::XmlNode &xmlNode)
NotificationConfiguration & WithQueueConfigurations(QueueConfigurationsT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector