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/docdb/DocDB_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/core/utils/memory/stl/AWSVector.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 DocDB
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>Detailed information about an event to which you have
29    * subscribed.</p><p><h3>See Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/EventSubscription">AWS
31    * API Reference</a></p>
32    */
33   class AWS_DOCDB_API EventSubscription
34   {
35   public:
36     EventSubscription();
37     EventSubscription(const Aws::Utils::Xml::XmlNode& xmlNode);
38     EventSubscription& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
39 
40     void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
41     void OutputToStream(Aws::OStream& oStream, const char* location) const;
42 
43 
44     /**
45      * <p>The Amazon Web Services customer account that is associated with the Amazon
46      * DocumentDB event notification subscription.</p>
47      */
GetCustomerAwsId()48     inline const Aws::String& GetCustomerAwsId() const{ return m_customerAwsId; }
49 
50     /**
51      * <p>The Amazon Web Services customer account that is associated with the Amazon
52      * DocumentDB event notification subscription.</p>
53      */
CustomerAwsIdHasBeenSet()54     inline bool CustomerAwsIdHasBeenSet() const { return m_customerAwsIdHasBeenSet; }
55 
56     /**
57      * <p>The Amazon Web Services customer account that is associated with the Amazon
58      * DocumentDB event notification subscription.</p>
59      */
SetCustomerAwsId(const Aws::String & value)60     inline void SetCustomerAwsId(const Aws::String& value) { m_customerAwsIdHasBeenSet = true; m_customerAwsId = value; }
61 
62     /**
63      * <p>The Amazon Web Services customer account that is associated with the Amazon
64      * DocumentDB event notification subscription.</p>
65      */
SetCustomerAwsId(Aws::String && value)66     inline void SetCustomerAwsId(Aws::String&& value) { m_customerAwsIdHasBeenSet = true; m_customerAwsId = std::move(value); }
67 
68     /**
69      * <p>The Amazon Web Services customer account that is associated with the Amazon
70      * DocumentDB event notification subscription.</p>
71      */
SetCustomerAwsId(const char * value)72     inline void SetCustomerAwsId(const char* value) { m_customerAwsIdHasBeenSet = true; m_customerAwsId.assign(value); }
73 
74     /**
75      * <p>The Amazon Web Services customer account that is associated with the Amazon
76      * DocumentDB event notification subscription.</p>
77      */
WithCustomerAwsId(const Aws::String & value)78     inline EventSubscription& WithCustomerAwsId(const Aws::String& value) { SetCustomerAwsId(value); return *this;}
79 
80     /**
81      * <p>The Amazon Web Services customer account that is associated with the Amazon
82      * DocumentDB event notification subscription.</p>
83      */
WithCustomerAwsId(Aws::String && value)84     inline EventSubscription& WithCustomerAwsId(Aws::String&& value) { SetCustomerAwsId(std::move(value)); return *this;}
85 
86     /**
87      * <p>The Amazon Web Services customer account that is associated with the Amazon
88      * DocumentDB event notification subscription.</p>
89      */
WithCustomerAwsId(const char * value)90     inline EventSubscription& WithCustomerAwsId(const char* value) { SetCustomerAwsId(value); return *this;}
91 
92 
93     /**
94      * <p>The Amazon DocumentDB event notification subscription ID.</p>
95      */
GetCustSubscriptionId()96     inline const Aws::String& GetCustSubscriptionId() const{ return m_custSubscriptionId; }
97 
98     /**
99      * <p>The Amazon DocumentDB event notification subscription ID.</p>
100      */
CustSubscriptionIdHasBeenSet()101     inline bool CustSubscriptionIdHasBeenSet() const { return m_custSubscriptionIdHasBeenSet; }
102 
103     /**
104      * <p>The Amazon DocumentDB event notification subscription ID.</p>
105      */
SetCustSubscriptionId(const Aws::String & value)106     inline void SetCustSubscriptionId(const Aws::String& value) { m_custSubscriptionIdHasBeenSet = true; m_custSubscriptionId = value; }
107 
108     /**
109      * <p>The Amazon DocumentDB event notification subscription ID.</p>
110      */
SetCustSubscriptionId(Aws::String && value)111     inline void SetCustSubscriptionId(Aws::String&& value) { m_custSubscriptionIdHasBeenSet = true; m_custSubscriptionId = std::move(value); }
112 
113     /**
114      * <p>The Amazon DocumentDB event notification subscription ID.</p>
115      */
SetCustSubscriptionId(const char * value)116     inline void SetCustSubscriptionId(const char* value) { m_custSubscriptionIdHasBeenSet = true; m_custSubscriptionId.assign(value); }
117 
118     /**
119      * <p>The Amazon DocumentDB event notification subscription ID.</p>
120      */
WithCustSubscriptionId(const Aws::String & value)121     inline EventSubscription& WithCustSubscriptionId(const Aws::String& value) { SetCustSubscriptionId(value); return *this;}
122 
123     /**
124      * <p>The Amazon DocumentDB event notification subscription ID.</p>
125      */
WithCustSubscriptionId(Aws::String && value)126     inline EventSubscription& WithCustSubscriptionId(Aws::String&& value) { SetCustSubscriptionId(std::move(value)); return *this;}
127 
128     /**
129      * <p>The Amazon DocumentDB event notification subscription ID.</p>
130      */
WithCustSubscriptionId(const char * value)131     inline EventSubscription& WithCustSubscriptionId(const char* value) { SetCustSubscriptionId(value); return *this;}
132 
133 
134     /**
135      * <p>The topic ARN of the Amazon DocumentDB event notification subscription.</p>
136      */
GetSnsTopicArn()137     inline const Aws::String& GetSnsTopicArn() const{ return m_snsTopicArn; }
138 
139     /**
140      * <p>The topic ARN of the Amazon DocumentDB event notification subscription.</p>
141      */
SnsTopicArnHasBeenSet()142     inline bool SnsTopicArnHasBeenSet() const { return m_snsTopicArnHasBeenSet; }
143 
144     /**
145      * <p>The topic ARN of the Amazon DocumentDB event notification subscription.</p>
146      */
SetSnsTopicArn(const Aws::String & value)147     inline void SetSnsTopicArn(const Aws::String& value) { m_snsTopicArnHasBeenSet = true; m_snsTopicArn = value; }
148 
149     /**
150      * <p>The topic ARN of the Amazon DocumentDB event notification subscription.</p>
151      */
SetSnsTopicArn(Aws::String && value)152     inline void SetSnsTopicArn(Aws::String&& value) { m_snsTopicArnHasBeenSet = true; m_snsTopicArn = std::move(value); }
153 
154     /**
155      * <p>The topic ARN of the Amazon DocumentDB event notification subscription.</p>
156      */
SetSnsTopicArn(const char * value)157     inline void SetSnsTopicArn(const char* value) { m_snsTopicArnHasBeenSet = true; m_snsTopicArn.assign(value); }
158 
159     /**
160      * <p>The topic ARN of the Amazon DocumentDB event notification subscription.</p>
161      */
WithSnsTopicArn(const Aws::String & value)162     inline EventSubscription& WithSnsTopicArn(const Aws::String& value) { SetSnsTopicArn(value); return *this;}
163 
164     /**
165      * <p>The topic ARN of the Amazon DocumentDB event notification subscription.</p>
166      */
WithSnsTopicArn(Aws::String && value)167     inline EventSubscription& WithSnsTopicArn(Aws::String&& value) { SetSnsTopicArn(std::move(value)); return *this;}
168 
169     /**
170      * <p>The topic ARN of the Amazon DocumentDB event notification subscription.</p>
171      */
WithSnsTopicArn(const char * value)172     inline EventSubscription& WithSnsTopicArn(const char* value) { SetSnsTopicArn(value); return *this;}
173 
174 
175     /**
176      * <p>The status of the Amazon DocumentDB event notification subscription.</p>
177      * <p>Constraints:</p> <p>Can be one of the following: <code>creating</code>,
178      * <code>modifying</code>, <code>deleting</code>, <code>active</code>,
179      * <code>no-permission</code>, <code>topic-not-exist</code> </p> <p>The
180      * <code>no-permission</code> status indicates that Amazon DocumentDB no longer has
181      * permission to post to the SNS topic. The <code>topic-not-exist</code> status
182      * indicates that the topic was deleted after the subscription was created.</p>
183      */
GetStatus()184     inline const Aws::String& GetStatus() const{ return m_status; }
185 
186     /**
187      * <p>The status of the Amazon DocumentDB event notification subscription.</p>
188      * <p>Constraints:</p> <p>Can be one of the following: <code>creating</code>,
189      * <code>modifying</code>, <code>deleting</code>, <code>active</code>,
190      * <code>no-permission</code>, <code>topic-not-exist</code> </p> <p>The
191      * <code>no-permission</code> status indicates that Amazon DocumentDB no longer has
192      * permission to post to the SNS topic. The <code>topic-not-exist</code> status
193      * indicates that the topic was deleted after the subscription was created.</p>
194      */
StatusHasBeenSet()195     inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
196 
197     /**
198      * <p>The status of the Amazon DocumentDB event notification subscription.</p>
199      * <p>Constraints:</p> <p>Can be one of the following: <code>creating</code>,
200      * <code>modifying</code>, <code>deleting</code>, <code>active</code>,
201      * <code>no-permission</code>, <code>topic-not-exist</code> </p> <p>The
202      * <code>no-permission</code> status indicates that Amazon DocumentDB no longer has
203      * permission to post to the SNS topic. The <code>topic-not-exist</code> status
204      * indicates that the topic was deleted after the subscription was created.</p>
205      */
SetStatus(const Aws::String & value)206     inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; }
207 
208     /**
209      * <p>The status of the Amazon DocumentDB event notification subscription.</p>
210      * <p>Constraints:</p> <p>Can be one of the following: <code>creating</code>,
211      * <code>modifying</code>, <code>deleting</code>, <code>active</code>,
212      * <code>no-permission</code>, <code>topic-not-exist</code> </p> <p>The
213      * <code>no-permission</code> status indicates that Amazon DocumentDB no longer has
214      * permission to post to the SNS topic. The <code>topic-not-exist</code> status
215      * indicates that the topic was deleted after the subscription was created.</p>
216      */
SetStatus(Aws::String && value)217     inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
218 
219     /**
220      * <p>The status of the Amazon DocumentDB event notification subscription.</p>
221      * <p>Constraints:</p> <p>Can be one of the following: <code>creating</code>,
222      * <code>modifying</code>, <code>deleting</code>, <code>active</code>,
223      * <code>no-permission</code>, <code>topic-not-exist</code> </p> <p>The
224      * <code>no-permission</code> status indicates that Amazon DocumentDB no longer has
225      * permission to post to the SNS topic. The <code>topic-not-exist</code> status
226      * indicates that the topic was deleted after the subscription was created.</p>
227      */
SetStatus(const char * value)228     inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); }
229 
230     /**
231      * <p>The status of the Amazon DocumentDB event notification subscription.</p>
232      * <p>Constraints:</p> <p>Can be one of the following: <code>creating</code>,
233      * <code>modifying</code>, <code>deleting</code>, <code>active</code>,
234      * <code>no-permission</code>, <code>topic-not-exist</code> </p> <p>The
235      * <code>no-permission</code> status indicates that Amazon DocumentDB no longer has
236      * permission to post to the SNS topic. The <code>topic-not-exist</code> status
237      * indicates that the topic was deleted after the subscription was created.</p>
238      */
WithStatus(const Aws::String & value)239     inline EventSubscription& WithStatus(const Aws::String& value) { SetStatus(value); return *this;}
240 
241     /**
242      * <p>The status of the Amazon DocumentDB event notification subscription.</p>
243      * <p>Constraints:</p> <p>Can be one of the following: <code>creating</code>,
244      * <code>modifying</code>, <code>deleting</code>, <code>active</code>,
245      * <code>no-permission</code>, <code>topic-not-exist</code> </p> <p>The
246      * <code>no-permission</code> status indicates that Amazon DocumentDB no longer has
247      * permission to post to the SNS topic. The <code>topic-not-exist</code> status
248      * indicates that the topic was deleted after the subscription was created.</p>
249      */
WithStatus(Aws::String && value)250     inline EventSubscription& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;}
251 
252     /**
253      * <p>The status of the Amazon DocumentDB event notification subscription.</p>
254      * <p>Constraints:</p> <p>Can be one of the following: <code>creating</code>,
255      * <code>modifying</code>, <code>deleting</code>, <code>active</code>,
256      * <code>no-permission</code>, <code>topic-not-exist</code> </p> <p>The
257      * <code>no-permission</code> status indicates that Amazon DocumentDB no longer has
258      * permission to post to the SNS topic. The <code>topic-not-exist</code> status
259      * indicates that the topic was deleted after the subscription was created.</p>
260      */
WithStatus(const char * value)261     inline EventSubscription& WithStatus(const char* value) { SetStatus(value); return *this;}
262 
263 
264     /**
265      * <p>The time at which the Amazon DocumentDB event notification subscription was
266      * created.</p>
267      */
GetSubscriptionCreationTime()268     inline const Aws::String& GetSubscriptionCreationTime() const{ return m_subscriptionCreationTime; }
269 
270     /**
271      * <p>The time at which the Amazon DocumentDB event notification subscription was
272      * created.</p>
273      */
SubscriptionCreationTimeHasBeenSet()274     inline bool SubscriptionCreationTimeHasBeenSet() const { return m_subscriptionCreationTimeHasBeenSet; }
275 
276     /**
277      * <p>The time at which the Amazon DocumentDB event notification subscription was
278      * created.</p>
279      */
SetSubscriptionCreationTime(const Aws::String & value)280     inline void SetSubscriptionCreationTime(const Aws::String& value) { m_subscriptionCreationTimeHasBeenSet = true; m_subscriptionCreationTime = value; }
281 
282     /**
283      * <p>The time at which the Amazon DocumentDB event notification subscription was
284      * created.</p>
285      */
SetSubscriptionCreationTime(Aws::String && value)286     inline void SetSubscriptionCreationTime(Aws::String&& value) { m_subscriptionCreationTimeHasBeenSet = true; m_subscriptionCreationTime = std::move(value); }
287 
288     /**
289      * <p>The time at which the Amazon DocumentDB event notification subscription was
290      * created.</p>
291      */
SetSubscriptionCreationTime(const char * value)292     inline void SetSubscriptionCreationTime(const char* value) { m_subscriptionCreationTimeHasBeenSet = true; m_subscriptionCreationTime.assign(value); }
293 
294     /**
295      * <p>The time at which the Amazon DocumentDB event notification subscription was
296      * created.</p>
297      */
WithSubscriptionCreationTime(const Aws::String & value)298     inline EventSubscription& WithSubscriptionCreationTime(const Aws::String& value) { SetSubscriptionCreationTime(value); return *this;}
299 
300     /**
301      * <p>The time at which the Amazon DocumentDB event notification subscription was
302      * created.</p>
303      */
WithSubscriptionCreationTime(Aws::String && value)304     inline EventSubscription& WithSubscriptionCreationTime(Aws::String&& value) { SetSubscriptionCreationTime(std::move(value)); return *this;}
305 
306     /**
307      * <p>The time at which the Amazon DocumentDB event notification subscription was
308      * created.</p>
309      */
WithSubscriptionCreationTime(const char * value)310     inline EventSubscription& WithSubscriptionCreationTime(const char* value) { SetSubscriptionCreationTime(value); return *this;}
311 
312 
313     /**
314      * <p>The source type for the Amazon DocumentDB event notification
315      * subscription.</p>
316      */
GetSourceType()317     inline const Aws::String& GetSourceType() const{ return m_sourceType; }
318 
319     /**
320      * <p>The source type for the Amazon DocumentDB event notification
321      * subscription.</p>
322      */
SourceTypeHasBeenSet()323     inline bool SourceTypeHasBeenSet() const { return m_sourceTypeHasBeenSet; }
324 
325     /**
326      * <p>The source type for the Amazon DocumentDB event notification
327      * subscription.</p>
328      */
SetSourceType(const Aws::String & value)329     inline void SetSourceType(const Aws::String& value) { m_sourceTypeHasBeenSet = true; m_sourceType = value; }
330 
331     /**
332      * <p>The source type for the Amazon DocumentDB event notification
333      * subscription.</p>
334      */
SetSourceType(Aws::String && value)335     inline void SetSourceType(Aws::String&& value) { m_sourceTypeHasBeenSet = true; m_sourceType = std::move(value); }
336 
337     /**
338      * <p>The source type for the Amazon DocumentDB event notification
339      * subscription.</p>
340      */
SetSourceType(const char * value)341     inline void SetSourceType(const char* value) { m_sourceTypeHasBeenSet = true; m_sourceType.assign(value); }
342 
343     /**
344      * <p>The source type for the Amazon DocumentDB event notification
345      * subscription.</p>
346      */
WithSourceType(const Aws::String & value)347     inline EventSubscription& WithSourceType(const Aws::String& value) { SetSourceType(value); return *this;}
348 
349     /**
350      * <p>The source type for the Amazon DocumentDB event notification
351      * subscription.</p>
352      */
WithSourceType(Aws::String && value)353     inline EventSubscription& WithSourceType(Aws::String&& value) { SetSourceType(std::move(value)); return *this;}
354 
355     /**
356      * <p>The source type for the Amazon DocumentDB event notification
357      * subscription.</p>
358      */
WithSourceType(const char * value)359     inline EventSubscription& WithSourceType(const char* value) { SetSourceType(value); return *this;}
360 
361 
362     /**
363      * <p>A list of source IDs for the Amazon DocumentDB event notification
364      * subscription.</p>
365      */
GetSourceIdsList()366     inline const Aws::Vector<Aws::String>& GetSourceIdsList() const{ return m_sourceIdsList; }
367 
368     /**
369      * <p>A list of source IDs for the Amazon DocumentDB event notification
370      * subscription.</p>
371      */
SourceIdsListHasBeenSet()372     inline bool SourceIdsListHasBeenSet() const { return m_sourceIdsListHasBeenSet; }
373 
374     /**
375      * <p>A list of source IDs for the Amazon DocumentDB event notification
376      * subscription.</p>
377      */
SetSourceIdsList(const Aws::Vector<Aws::String> & value)378     inline void SetSourceIdsList(const Aws::Vector<Aws::String>& value) { m_sourceIdsListHasBeenSet = true; m_sourceIdsList = value; }
379 
380     /**
381      * <p>A list of source IDs for the Amazon DocumentDB event notification
382      * subscription.</p>
383      */
SetSourceIdsList(Aws::Vector<Aws::String> && value)384     inline void SetSourceIdsList(Aws::Vector<Aws::String>&& value) { m_sourceIdsListHasBeenSet = true; m_sourceIdsList = std::move(value); }
385 
386     /**
387      * <p>A list of source IDs for the Amazon DocumentDB event notification
388      * subscription.</p>
389      */
WithSourceIdsList(const Aws::Vector<Aws::String> & value)390     inline EventSubscription& WithSourceIdsList(const Aws::Vector<Aws::String>& value) { SetSourceIdsList(value); return *this;}
391 
392     /**
393      * <p>A list of source IDs for the Amazon DocumentDB event notification
394      * subscription.</p>
395      */
WithSourceIdsList(Aws::Vector<Aws::String> && value)396     inline EventSubscription& WithSourceIdsList(Aws::Vector<Aws::String>&& value) { SetSourceIdsList(std::move(value)); return *this;}
397 
398     /**
399      * <p>A list of source IDs for the Amazon DocumentDB event notification
400      * subscription.</p>
401      */
AddSourceIdsList(const Aws::String & value)402     inline EventSubscription& AddSourceIdsList(const Aws::String& value) { m_sourceIdsListHasBeenSet = true; m_sourceIdsList.push_back(value); return *this; }
403 
404     /**
405      * <p>A list of source IDs for the Amazon DocumentDB event notification
406      * subscription.</p>
407      */
AddSourceIdsList(Aws::String && value)408     inline EventSubscription& AddSourceIdsList(Aws::String&& value) { m_sourceIdsListHasBeenSet = true; m_sourceIdsList.push_back(std::move(value)); return *this; }
409 
410     /**
411      * <p>A list of source IDs for the Amazon DocumentDB event notification
412      * subscription.</p>
413      */
AddSourceIdsList(const char * value)414     inline EventSubscription& AddSourceIdsList(const char* value) { m_sourceIdsListHasBeenSet = true; m_sourceIdsList.push_back(value); return *this; }
415 
416 
417     /**
418      * <p>A list of event categories for the Amazon DocumentDB event notification
419      * subscription.</p>
420      */
GetEventCategoriesList()421     inline const Aws::Vector<Aws::String>& GetEventCategoriesList() const{ return m_eventCategoriesList; }
422 
423     /**
424      * <p>A list of event categories for the Amazon DocumentDB event notification
425      * subscription.</p>
426      */
EventCategoriesListHasBeenSet()427     inline bool EventCategoriesListHasBeenSet() const { return m_eventCategoriesListHasBeenSet; }
428 
429     /**
430      * <p>A list of event categories for the Amazon DocumentDB event notification
431      * subscription.</p>
432      */
SetEventCategoriesList(const Aws::Vector<Aws::String> & value)433     inline void SetEventCategoriesList(const Aws::Vector<Aws::String>& value) { m_eventCategoriesListHasBeenSet = true; m_eventCategoriesList = value; }
434 
435     /**
436      * <p>A list of event categories for the Amazon DocumentDB event notification
437      * subscription.</p>
438      */
SetEventCategoriesList(Aws::Vector<Aws::String> && value)439     inline void SetEventCategoriesList(Aws::Vector<Aws::String>&& value) { m_eventCategoriesListHasBeenSet = true; m_eventCategoriesList = std::move(value); }
440 
441     /**
442      * <p>A list of event categories for the Amazon DocumentDB event notification
443      * subscription.</p>
444      */
WithEventCategoriesList(const Aws::Vector<Aws::String> & value)445     inline EventSubscription& WithEventCategoriesList(const Aws::Vector<Aws::String>& value) { SetEventCategoriesList(value); return *this;}
446 
447     /**
448      * <p>A list of event categories for the Amazon DocumentDB event notification
449      * subscription.</p>
450      */
WithEventCategoriesList(Aws::Vector<Aws::String> && value)451     inline EventSubscription& WithEventCategoriesList(Aws::Vector<Aws::String>&& value) { SetEventCategoriesList(std::move(value)); return *this;}
452 
453     /**
454      * <p>A list of event categories for the Amazon DocumentDB event notification
455      * subscription.</p>
456      */
AddEventCategoriesList(const Aws::String & value)457     inline EventSubscription& AddEventCategoriesList(const Aws::String& value) { m_eventCategoriesListHasBeenSet = true; m_eventCategoriesList.push_back(value); return *this; }
458 
459     /**
460      * <p>A list of event categories for the Amazon DocumentDB event notification
461      * subscription.</p>
462      */
AddEventCategoriesList(Aws::String && value)463     inline EventSubscription& AddEventCategoriesList(Aws::String&& value) { m_eventCategoriesListHasBeenSet = true; m_eventCategoriesList.push_back(std::move(value)); return *this; }
464 
465     /**
466      * <p>A list of event categories for the Amazon DocumentDB event notification
467      * subscription.</p>
468      */
AddEventCategoriesList(const char * value)469     inline EventSubscription& AddEventCategoriesList(const char* value) { m_eventCategoriesListHasBeenSet = true; m_eventCategoriesList.push_back(value); return *this; }
470 
471 
472     /**
473      * <p>A Boolean value indicating whether the subscription is enabled. A value of
474      * <code>true</code> indicates that the subscription is enabled.</p>
475      */
GetEnabled()476     inline bool GetEnabled() const{ return m_enabled; }
477 
478     /**
479      * <p>A Boolean value indicating whether the subscription is enabled. A value of
480      * <code>true</code> indicates that the subscription is enabled.</p>
481      */
EnabledHasBeenSet()482     inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; }
483 
484     /**
485      * <p>A Boolean value indicating whether the subscription is enabled. A value of
486      * <code>true</code> indicates that the subscription is enabled.</p>
487      */
SetEnabled(bool value)488     inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; }
489 
490     /**
491      * <p>A Boolean value indicating whether the subscription is enabled. A value of
492      * <code>true</code> indicates that the subscription is enabled.</p>
493      */
WithEnabled(bool value)494     inline EventSubscription& WithEnabled(bool value) { SetEnabled(value); return *this;}
495 
496 
497     /**
498      * <p>The Amazon Resource Name (ARN) for the event subscription.</p>
499      */
GetEventSubscriptionArn()500     inline const Aws::String& GetEventSubscriptionArn() const{ return m_eventSubscriptionArn; }
501 
502     /**
503      * <p>The Amazon Resource Name (ARN) for the event subscription.</p>
504      */
EventSubscriptionArnHasBeenSet()505     inline bool EventSubscriptionArnHasBeenSet() const { return m_eventSubscriptionArnHasBeenSet; }
506 
507     /**
508      * <p>The Amazon Resource Name (ARN) for the event subscription.</p>
509      */
SetEventSubscriptionArn(const Aws::String & value)510     inline void SetEventSubscriptionArn(const Aws::String& value) { m_eventSubscriptionArnHasBeenSet = true; m_eventSubscriptionArn = value; }
511 
512     /**
513      * <p>The Amazon Resource Name (ARN) for the event subscription.</p>
514      */
SetEventSubscriptionArn(Aws::String && value)515     inline void SetEventSubscriptionArn(Aws::String&& value) { m_eventSubscriptionArnHasBeenSet = true; m_eventSubscriptionArn = std::move(value); }
516 
517     /**
518      * <p>The Amazon Resource Name (ARN) for the event subscription.</p>
519      */
SetEventSubscriptionArn(const char * value)520     inline void SetEventSubscriptionArn(const char* value) { m_eventSubscriptionArnHasBeenSet = true; m_eventSubscriptionArn.assign(value); }
521 
522     /**
523      * <p>The Amazon Resource Name (ARN) for the event subscription.</p>
524      */
WithEventSubscriptionArn(const Aws::String & value)525     inline EventSubscription& WithEventSubscriptionArn(const Aws::String& value) { SetEventSubscriptionArn(value); return *this;}
526 
527     /**
528      * <p>The Amazon Resource Name (ARN) for the event subscription.</p>
529      */
WithEventSubscriptionArn(Aws::String && value)530     inline EventSubscription& WithEventSubscriptionArn(Aws::String&& value) { SetEventSubscriptionArn(std::move(value)); return *this;}
531 
532     /**
533      * <p>The Amazon Resource Name (ARN) for the event subscription.</p>
534      */
WithEventSubscriptionArn(const char * value)535     inline EventSubscription& WithEventSubscriptionArn(const char* value) { SetEventSubscriptionArn(value); return *this;}
536 
537   private:
538 
539     Aws::String m_customerAwsId;
540     bool m_customerAwsIdHasBeenSet;
541 
542     Aws::String m_custSubscriptionId;
543     bool m_custSubscriptionIdHasBeenSet;
544 
545     Aws::String m_snsTopicArn;
546     bool m_snsTopicArnHasBeenSet;
547 
548     Aws::String m_status;
549     bool m_statusHasBeenSet;
550 
551     Aws::String m_subscriptionCreationTime;
552     bool m_subscriptionCreationTimeHasBeenSet;
553 
554     Aws::String m_sourceType;
555     bool m_sourceTypeHasBeenSet;
556 
557     Aws::Vector<Aws::String> m_sourceIdsList;
558     bool m_sourceIdsListHasBeenSet;
559 
560     Aws::Vector<Aws::String> m_eventCategoriesList;
561     bool m_eventCategoriesListHasBeenSet;
562 
563     bool m_enabled;
564     bool m_enabledHasBeenSet;
565 
566     Aws::String m_eventSubscriptionArn;
567     bool m_eventSubscriptionArnHasBeenSet;
568   };
569 
570 } // namespace Model
571 } // namespace DocDB
572 } // namespace Aws
573