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/rds/RDS_EXPORTS.h>
8 #include <aws/rds/RDSRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/core/utils/memory/stl/AWSVector.h>
11 #include <aws/rds/model/Filter.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 namespace RDS
17 {
18 namespace Model
19 {
20 
21   /**
22    * <p/><p><h3>See Also:</h3>   <a
23    * href="http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventCategoriesMessage">AWS
24    * API Reference</a></p>
25    */
26   class AWS_RDS_API DescribeEventCategoriesRequest : public RDSRequest
27   {
28   public:
29     DescribeEventCategoriesRequest();
30 
31     // Service request name is the Operation name which will send this request out,
32     // each operation should has unique request name, so that we can get operation's name from this request.
33     // Note: this is not true for response, multiple operations may have the same response name,
34     // so we can not get operation's name from response.
GetServiceRequestName()35     inline virtual const char* GetServiceRequestName() const override { return "DescribeEventCategories"; }
36 
37     Aws::String SerializePayload() const override;
38 
39   protected:
40     void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
41 
42   public:
43 
44     /**
45      * <p>The type of source that is generating the events.</p> <p>Valid values:
46      * <code>db-instance</code> | <code>db-cluster</code> |
47      * <code>db-parameter-group</code> | <code>db-security-group</code> |
48      * <code>db-snapshot</code> | <code>db-cluster-snapshot</code> </p>
49      */
GetSourceType()50     inline const Aws::String& GetSourceType() const{ return m_sourceType; }
51 
52     /**
53      * <p>The type of source that is generating the events.</p> <p>Valid values:
54      * <code>db-instance</code> | <code>db-cluster</code> |
55      * <code>db-parameter-group</code> | <code>db-security-group</code> |
56      * <code>db-snapshot</code> | <code>db-cluster-snapshot</code> </p>
57      */
SourceTypeHasBeenSet()58     inline bool SourceTypeHasBeenSet() const { return m_sourceTypeHasBeenSet; }
59 
60     /**
61      * <p>The type of source that is generating the events.</p> <p>Valid values:
62      * <code>db-instance</code> | <code>db-cluster</code> |
63      * <code>db-parameter-group</code> | <code>db-security-group</code> |
64      * <code>db-snapshot</code> | <code>db-cluster-snapshot</code> </p>
65      */
SetSourceType(const Aws::String & value)66     inline void SetSourceType(const Aws::String& value) { m_sourceTypeHasBeenSet = true; m_sourceType = value; }
67 
68     /**
69      * <p>The type of source that is generating the events.</p> <p>Valid values:
70      * <code>db-instance</code> | <code>db-cluster</code> |
71      * <code>db-parameter-group</code> | <code>db-security-group</code> |
72      * <code>db-snapshot</code> | <code>db-cluster-snapshot</code> </p>
73      */
SetSourceType(Aws::String && value)74     inline void SetSourceType(Aws::String&& value) { m_sourceTypeHasBeenSet = true; m_sourceType = std::move(value); }
75 
76     /**
77      * <p>The type of source that is generating the events.</p> <p>Valid values:
78      * <code>db-instance</code> | <code>db-cluster</code> |
79      * <code>db-parameter-group</code> | <code>db-security-group</code> |
80      * <code>db-snapshot</code> | <code>db-cluster-snapshot</code> </p>
81      */
SetSourceType(const char * value)82     inline void SetSourceType(const char* value) { m_sourceTypeHasBeenSet = true; m_sourceType.assign(value); }
83 
84     /**
85      * <p>The type of source that is generating the events.</p> <p>Valid values:
86      * <code>db-instance</code> | <code>db-cluster</code> |
87      * <code>db-parameter-group</code> | <code>db-security-group</code> |
88      * <code>db-snapshot</code> | <code>db-cluster-snapshot</code> </p>
89      */
WithSourceType(const Aws::String & value)90     inline DescribeEventCategoriesRequest& WithSourceType(const Aws::String& value) { SetSourceType(value); return *this;}
91 
92     /**
93      * <p>The type of source that is generating the events.</p> <p>Valid values:
94      * <code>db-instance</code> | <code>db-cluster</code> |
95      * <code>db-parameter-group</code> | <code>db-security-group</code> |
96      * <code>db-snapshot</code> | <code>db-cluster-snapshot</code> </p>
97      */
WithSourceType(Aws::String && value)98     inline DescribeEventCategoriesRequest& WithSourceType(Aws::String&& value) { SetSourceType(std::move(value)); return *this;}
99 
100     /**
101      * <p>The type of source that is generating the events.</p> <p>Valid values:
102      * <code>db-instance</code> | <code>db-cluster</code> |
103      * <code>db-parameter-group</code> | <code>db-security-group</code> |
104      * <code>db-snapshot</code> | <code>db-cluster-snapshot</code> </p>
105      */
WithSourceType(const char * value)106     inline DescribeEventCategoriesRequest& WithSourceType(const char* value) { SetSourceType(value); return *this;}
107 
108 
109     /**
110      * <p>This parameter isn't currently supported.</p>
111      */
GetFilters()112     inline const Aws::Vector<Filter>& GetFilters() const{ return m_filters; }
113 
114     /**
115      * <p>This parameter isn't currently supported.</p>
116      */
FiltersHasBeenSet()117     inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; }
118 
119     /**
120      * <p>This parameter isn't currently supported.</p>
121      */
SetFilters(const Aws::Vector<Filter> & value)122     inline void SetFilters(const Aws::Vector<Filter>& value) { m_filtersHasBeenSet = true; m_filters = value; }
123 
124     /**
125      * <p>This parameter isn't currently supported.</p>
126      */
SetFilters(Aws::Vector<Filter> && value)127     inline void SetFilters(Aws::Vector<Filter>&& value) { m_filtersHasBeenSet = true; m_filters = std::move(value); }
128 
129     /**
130      * <p>This parameter isn't currently supported.</p>
131      */
WithFilters(const Aws::Vector<Filter> & value)132     inline DescribeEventCategoriesRequest& WithFilters(const Aws::Vector<Filter>& value) { SetFilters(value); return *this;}
133 
134     /**
135      * <p>This parameter isn't currently supported.</p>
136      */
WithFilters(Aws::Vector<Filter> && value)137     inline DescribeEventCategoriesRequest& WithFilters(Aws::Vector<Filter>&& value) { SetFilters(std::move(value)); return *this;}
138 
139     /**
140      * <p>This parameter isn't currently supported.</p>
141      */
AddFilters(const Filter & value)142     inline DescribeEventCategoriesRequest& AddFilters(const Filter& value) { m_filtersHasBeenSet = true; m_filters.push_back(value); return *this; }
143 
144     /**
145      * <p>This parameter isn't currently supported.</p>
146      */
AddFilters(Filter && value)147     inline DescribeEventCategoriesRequest& AddFilters(Filter&& value) { m_filtersHasBeenSet = true; m_filters.push_back(std::move(value)); return *this; }
148 
149   private:
150 
151     Aws::String m_sourceType;
152     bool m_sourceTypeHasBeenSet;
153 
154     Aws::Vector<Filter> m_filters;
155     bool m_filtersHasBeenSet;
156   };
157 
158 } // namespace Model
159 } // namespace RDS
160 } // namespace Aws
161