AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
QueueConfiguration.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 QueueConfiguration() = default;
34 AWS_S3_API QueueConfiguration(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 QueueConfiguration& WithId(IdT&& value) {
50 SetId(std::forward<IdT>(value));
51 return *this;
52 }
54
56
60 inline const Aws::String& GetQueueArn() const { return m_queueArn; }
61 inline bool QueueArnHasBeenSet() const { return m_queueArnHasBeenSet; }
62 template <typename QueueArnT = Aws::String>
63 void SetQueueArn(QueueArnT&& value) {
64 m_queueArnHasBeenSet = true;
65 m_queueArn = std::forward<QueueArnT>(value);
66 }
67 template <typename QueueArnT = Aws::String>
68 QueueConfiguration& WithQueueArn(QueueArnT&& value) {
69 SetQueueArn(std::forward<QueueArnT>(value));
70 return *this;
71 }
73
75
78 inline const Aws::Vector<Event>& GetEvents() const { return m_events; }
79 inline bool EventsHasBeenSet() const { return m_eventsHasBeenSet; }
80 template <typename EventsT = Aws::Vector<Event>>
81 void SetEvents(EventsT&& value) {
82 m_eventsHasBeenSet = true;
83 m_events = std::forward<EventsT>(value);
84 }
85 template <typename EventsT = Aws::Vector<Event>>
86 QueueConfiguration& WithEvents(EventsT&& value) {
87 SetEvents(std::forward<EventsT>(value));
88 return *this;
89 }
91 m_eventsHasBeenSet = true;
92 m_events.push_back(value);
93 return *this;
94 }
96
98
99 inline const NotificationConfigurationFilter& GetFilter() const { return m_filter; }
100 inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; }
101 template <typename FilterT = NotificationConfigurationFilter>
102 void SetFilter(FilterT&& value) {
103 m_filterHasBeenSet = true;
104 m_filter = std::forward<FilterT>(value);
105 }
106 template <typename FilterT = NotificationConfigurationFilter>
107 QueueConfiguration& WithFilter(FilterT&& value) {
108 SetFilter(std::forward<FilterT>(value));
109 return *this;
110 }
112 private:
113 Aws::String m_id;
114
115 Aws::String m_queueArn;
116
117 Aws::Vector<Event> m_events;
118
120 bool m_idHasBeenSet = false;
121 bool m_queueArnHasBeenSet = false;
122 bool m_eventsHasBeenSet = false;
123 bool m_filterHasBeenSet = false;
124};
125
126} // namespace Model
127} // namespace S3
128} // namespace Aws
const Aws::Vector< Event > & GetEvents() const
QueueConfiguration & AddEvents(Event value)
QueueConfiguration & WithQueueArn(QueueArnT &&value)
AWS_S3_API QueueConfiguration()=default
QueueConfiguration & WithId(IdT &&value)
AWS_S3_API QueueConfiguration(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::String & GetQueueArn() const
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode &parentNode) const
QueueConfiguration & WithFilter(FilterT &&value)
const NotificationConfigurationFilter & GetFilter() const
const Aws::String & GetId() const
QueueConfiguration & WithEvents(EventsT &&value)
AWS_S3_API QueueConfiguration & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector