AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
TopicConfiguration.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/S3_EXPORTS.h>
10#include <aws/s3/model/Event.h>
11#include <aws/s3/model/NotificationConfigurationFilter.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Xml {
18class XmlNode;
19} // namespace Xml
20} // namespace Utils
21namespace S3 {
22namespace Model {
23
32 public:
33 AWS_S3_API TopicConfiguration() = default;
34 AWS_S3_API TopicConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode);
36
37 AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
38
40
41 inline const Aws::String& GetId() const { return m_id; }
42 inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
43 template <typename IdT = Aws::String>
44 void SetId(IdT&& value) {
45 m_idHasBeenSet = true;
46 m_id = std::forward<IdT>(value);
47 }
48 template <typename IdT = Aws::String>
49 TopicConfiguration& WithId(IdT&& value) {
50 SetId(std::forward<IdT>(value));
51 return *this;
52 }
54
56
60 inline const Aws::String& GetTopicArn() const { return m_topicArn; }
61 inline bool TopicArnHasBeenSet() const { return m_topicArnHasBeenSet; }
62 template <typename TopicArnT = Aws::String>
63 void SetTopicArn(TopicArnT&& value) {
64 m_topicArnHasBeenSet = true;
65 m_topicArn = std::forward<TopicArnT>(value);
66 }
67 template <typename TopicArnT = Aws::String>
68 TopicConfiguration& WithTopicArn(TopicArnT&& value) {
69 SetTopicArn(std::forward<TopicArnT>(value));
70 return *this;
71 }
73
75
81 inline const Aws::Vector<Event>& GetEvents() const { return m_events; }
82 inline bool EventsHasBeenSet() const { return m_eventsHasBeenSet; }
83 template <typename EventsT = Aws::Vector<Event>>
84 void SetEvents(EventsT&& value) {
85 m_eventsHasBeenSet = true;
86 m_events = std::forward<EventsT>(value);
87 }
88 template <typename EventsT = Aws::Vector<Event>>
89 TopicConfiguration& WithEvents(EventsT&& value) {
90 SetEvents(std::forward<EventsT>(value));
91 return *this;
92 }
94 m_eventsHasBeenSet = true;
95 m_events.push_back(value);
96 return *this;
97 }
99
101
102 inline const NotificationConfigurationFilter& GetFilter() const { return m_filter; }
103 inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; }
104 template <typename FilterT = NotificationConfigurationFilter>
105 void SetFilter(FilterT&& value) {
106 m_filterHasBeenSet = true;
107 m_filter = std::forward<FilterT>(value);
108 }
109 template <typename FilterT = NotificationConfigurationFilter>
110 TopicConfiguration& WithFilter(FilterT&& value) {
111 SetFilter(std::forward<FilterT>(value));
112 return *this;
113 }
115 private:
116 Aws::String m_id;
117
118 Aws::String m_topicArn;
119
120 Aws::Vector<Event> m_events;
121
123 bool m_idHasBeenSet = false;
124 bool m_topicArnHasBeenSet = false;
125 bool m_eventsHasBeenSet = false;
126 bool m_filterHasBeenSet = false;
127};
128
129} // namespace Model
130} // namespace S3
131} // namespace Aws
TopicConfiguration & WithTopicArn(TopicArnT &&value)
const Aws::String & GetId() const
AWS_S3_API TopicConfiguration & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
TopicConfiguration & WithId(IdT &&value)
TopicConfiguration & WithFilter(FilterT &&value)
TopicConfiguration & WithEvents(EventsT &&value)
TopicConfiguration & AddEvents(Event value)
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode &parentNode) const
AWS_S3_API TopicConfiguration(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::Vector< Event > & GetEvents() const
const Aws::String & GetTopicArn() const
AWS_S3_API TopicConfiguration()=default
const NotificationConfigurationFilter & GetFilter() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector