AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
TopicConfiguration.h
1
6#pragma once
7#include <aws/s3/S3_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/s3/model/NotificationConfigurationFilter.h>
11#include <aws/s3/model/Event.h>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Xml
19{
20 class XmlNode;
21} // namespace Xml
22} // namespace Utils
23namespace S3
24{
25namespace Model
26{
27
36 {
37 public:
38 AWS_S3_API TopicConfiguration() = default;
39 AWS_S3_API TopicConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode);
41
42 AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
43
44
46
47 inline const Aws::String& GetId() const { return m_id; }
48 inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
49 template<typename IdT = Aws::String>
50 void SetId(IdT&& value) { m_idHasBeenSet = true; m_id = std::forward<IdT>(value); }
51 template<typename IdT = Aws::String>
52 TopicConfiguration& WithId(IdT&& value) { SetId(std::forward<IdT>(value)); return *this;}
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) { m_topicArnHasBeenSet = true; m_topicArn = std::forward<TopicArnT>(value); }
64 template<typename TopicArnT = Aws::String>
65 TopicConfiguration& WithTopicArn(TopicArnT&& value) { SetTopicArn(std::forward<TopicArnT>(value)); return *this;}
67
69
75 inline const Aws::Vector<Event>& GetEvents() const { return m_events; }
76 inline bool EventsHasBeenSet() const { return m_eventsHasBeenSet; }
77 template<typename EventsT = Aws::Vector<Event>>
78 void SetEvents(EventsT&& value) { m_eventsHasBeenSet = true; m_events = std::forward<EventsT>(value); }
79 template<typename EventsT = Aws::Vector<Event>>
80 TopicConfiguration& WithEvents(EventsT&& value) { SetEvents(std::forward<EventsT>(value)); return *this;}
81 inline TopicConfiguration& AddEvents(Event value) { m_eventsHasBeenSet = true; m_events.push_back(value); return *this; }
83
85
86 inline const NotificationConfigurationFilter& GetFilter() const { return m_filter; }
87 inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; }
88 template<typename FilterT = NotificationConfigurationFilter>
89 void SetFilter(FilterT&& value) { m_filterHasBeenSet = true; m_filter = std::forward<FilterT>(value); }
90 template<typename FilterT = NotificationConfigurationFilter>
91 TopicConfiguration& WithFilter(FilterT&& value) { SetFilter(std::forward<FilterT>(value)); return *this;}
93 private:
94
95 Aws::String m_id;
96 bool m_idHasBeenSet = false;
97
98 Aws::String m_topicArn;
99 bool m_topicArnHasBeenSet = false;
100
101 Aws::Vector<Event> m_events;
102 bool m_eventsHasBeenSet = false;
103
105 bool m_filterHasBeenSet = false;
106 };
107
108} // namespace Model
109} // namespace S3
110} // 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