1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/s3-crt/S3Crt_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/memory/stl/AWSVector.h>
10 #include <aws/s3-crt/model/Event.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace Utils
16 {
17 namespace Xml
18 {
19   class XmlNode;
20 } // namespace Xml
21 } // namespace Utils
22 namespace S3Crt
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>This data type is deprecated. Use <a
29    * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_QueueConfiguration.html">QueueConfiguration</a>
30    * for the same purposes. This data type specifies the configuration for publishing
31    * messages to an Amazon Simple Queue Service (Amazon SQS) queue when Amazon S3
32    * detects specified events. </p><p><h3>See Also:</h3>   <a
33    * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/QueueConfigurationDeprecated">AWS
34    * API Reference</a></p>
35    */
36   class AWS_S3CRT_API QueueConfigurationDeprecated
37   {
38   public:
39     QueueConfigurationDeprecated();
40     QueueConfigurationDeprecated(const Aws::Utils::Xml::XmlNode& xmlNode);
41     QueueConfigurationDeprecated& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
42 
43     void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
44 
45 
46 
GetId()47     inline const Aws::String& GetId() const{ return m_id; }
48 
49 
IdHasBeenSet()50     inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
51 
52 
SetId(const Aws::String & value)53     inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
54 
55 
SetId(Aws::String && value)56     inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); }
57 
58 
SetId(const char * value)59     inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
60 
61 
WithId(const Aws::String & value)62     inline QueueConfigurationDeprecated& WithId(const Aws::String& value) { SetId(value); return *this;}
63 
64 
WithId(Aws::String && value)65     inline QueueConfigurationDeprecated& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
66 
67 
WithId(const char * value)68     inline QueueConfigurationDeprecated& WithId(const char* value) { SetId(value); return *this;}
69 
70 
71     /**
72      * <p>A collection of bucket events for which to send notifications.</p>
73      */
GetEvents()74     inline const Aws::Vector<Event>& GetEvents() const{ return m_events; }
75 
76     /**
77      * <p>A collection of bucket events for which to send notifications.</p>
78      */
EventsHasBeenSet()79     inline bool EventsHasBeenSet() const { return m_eventsHasBeenSet; }
80 
81     /**
82      * <p>A collection of bucket events for which to send notifications.</p>
83      */
SetEvents(const Aws::Vector<Event> & value)84     inline void SetEvents(const Aws::Vector<Event>& value) { m_eventsHasBeenSet = true; m_events = value; }
85 
86     /**
87      * <p>A collection of bucket events for which to send notifications.</p>
88      */
SetEvents(Aws::Vector<Event> && value)89     inline void SetEvents(Aws::Vector<Event>&& value) { m_eventsHasBeenSet = true; m_events = std::move(value); }
90 
91     /**
92      * <p>A collection of bucket events for which to send notifications.</p>
93      */
WithEvents(const Aws::Vector<Event> & value)94     inline QueueConfigurationDeprecated& WithEvents(const Aws::Vector<Event>& value) { SetEvents(value); return *this;}
95 
96     /**
97      * <p>A collection of bucket events for which to send notifications.</p>
98      */
WithEvents(Aws::Vector<Event> && value)99     inline QueueConfigurationDeprecated& WithEvents(Aws::Vector<Event>&& value) { SetEvents(std::move(value)); return *this;}
100 
101     /**
102      * <p>A collection of bucket events for which to send notifications.</p>
103      */
AddEvents(const Event & value)104     inline QueueConfigurationDeprecated& AddEvents(const Event& value) { m_eventsHasBeenSet = true; m_events.push_back(value); return *this; }
105 
106     /**
107      * <p>A collection of bucket events for which to send notifications.</p>
108      */
AddEvents(Event && value)109     inline QueueConfigurationDeprecated& AddEvents(Event&& value) { m_eventsHasBeenSet = true; m_events.push_back(std::move(value)); return *this; }
110 
111 
112     /**
113      * <p>The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3
114      * publishes a message when it detects events of the specified type. </p>
115      */
GetQueue()116     inline const Aws::String& GetQueue() const{ return m_queue; }
117 
118     /**
119      * <p>The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3
120      * publishes a message when it detects events of the specified type. </p>
121      */
QueueHasBeenSet()122     inline bool QueueHasBeenSet() const { return m_queueHasBeenSet; }
123 
124     /**
125      * <p>The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3
126      * publishes a message when it detects events of the specified type. </p>
127      */
SetQueue(const Aws::String & value)128     inline void SetQueue(const Aws::String& value) { m_queueHasBeenSet = true; m_queue = value; }
129 
130     /**
131      * <p>The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3
132      * publishes a message when it detects events of the specified type. </p>
133      */
SetQueue(Aws::String && value)134     inline void SetQueue(Aws::String&& value) { m_queueHasBeenSet = true; m_queue = std::move(value); }
135 
136     /**
137      * <p>The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3
138      * publishes a message when it detects events of the specified type. </p>
139      */
SetQueue(const char * value)140     inline void SetQueue(const char* value) { m_queueHasBeenSet = true; m_queue.assign(value); }
141 
142     /**
143      * <p>The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3
144      * publishes a message when it detects events of the specified type. </p>
145      */
WithQueue(const Aws::String & value)146     inline QueueConfigurationDeprecated& WithQueue(const Aws::String& value) { SetQueue(value); return *this;}
147 
148     /**
149      * <p>The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3
150      * publishes a message when it detects events of the specified type. </p>
151      */
WithQueue(Aws::String && value)152     inline QueueConfigurationDeprecated& WithQueue(Aws::String&& value) { SetQueue(std::move(value)); return *this;}
153 
154     /**
155      * <p>The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3
156      * publishes a message when it detects events of the specified type. </p>
157      */
WithQueue(const char * value)158     inline QueueConfigurationDeprecated& WithQueue(const char* value) { SetQueue(value); return *this;}
159 
160   private:
161 
162     Aws::String m_id;
163     bool m_idHasBeenSet;
164 
165     Aws::Vector<Event> m_events;
166     bool m_eventsHasBeenSet;
167 
168     Aws::String m_queue;
169     bool m_queueHasBeenSet;
170   };
171 
172 } // namespace Model
173 } // namespace S3Crt
174 } // namespace Aws
175