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/core/utils/memory/stl/AWSStreamFwd.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Utils
15 {
16 namespace Xml
17 {
18   class XmlNode;
19 } // namespace Xml
20 } // namespace Utils
21 namespace RDS
22 {
23 namespace Model
24 {
25 
26   /**
27    * <p>Contains the details of an Amazon RDS DB parameter group. </p> <p>This data
28    * type is used as a response element in the <code>DescribeDBParameterGroups</code>
29    * action. </p><p><h3>See Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBParameterGroup">AWS
31    * API Reference</a></p>
32    */
33   class AWS_RDS_API DBParameterGroup
34   {
35   public:
36     DBParameterGroup();
37     DBParameterGroup(const Aws::Utils::Xml::XmlNode& xmlNode);
38     DBParameterGroup& 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 name of the DB parameter group.</p>
46      */
GetDBParameterGroupName()47     inline const Aws::String& GetDBParameterGroupName() const{ return m_dBParameterGroupName; }
48 
49     /**
50      * <p>The name of the DB parameter group.</p>
51      */
DBParameterGroupNameHasBeenSet()52     inline bool DBParameterGroupNameHasBeenSet() const { return m_dBParameterGroupNameHasBeenSet; }
53 
54     /**
55      * <p>The name of the DB parameter group.</p>
56      */
SetDBParameterGroupName(const Aws::String & value)57     inline void SetDBParameterGroupName(const Aws::String& value) { m_dBParameterGroupNameHasBeenSet = true; m_dBParameterGroupName = value; }
58 
59     /**
60      * <p>The name of the DB parameter group.</p>
61      */
SetDBParameterGroupName(Aws::String && value)62     inline void SetDBParameterGroupName(Aws::String&& value) { m_dBParameterGroupNameHasBeenSet = true; m_dBParameterGroupName = std::move(value); }
63 
64     /**
65      * <p>The name of the DB parameter group.</p>
66      */
SetDBParameterGroupName(const char * value)67     inline void SetDBParameterGroupName(const char* value) { m_dBParameterGroupNameHasBeenSet = true; m_dBParameterGroupName.assign(value); }
68 
69     /**
70      * <p>The name of the DB parameter group.</p>
71      */
WithDBParameterGroupName(const Aws::String & value)72     inline DBParameterGroup& WithDBParameterGroupName(const Aws::String& value) { SetDBParameterGroupName(value); return *this;}
73 
74     /**
75      * <p>The name of the DB parameter group.</p>
76      */
WithDBParameterGroupName(Aws::String && value)77     inline DBParameterGroup& WithDBParameterGroupName(Aws::String&& value) { SetDBParameterGroupName(std::move(value)); return *this;}
78 
79     /**
80      * <p>The name of the DB parameter group.</p>
81      */
WithDBParameterGroupName(const char * value)82     inline DBParameterGroup& WithDBParameterGroupName(const char* value) { SetDBParameterGroupName(value); return *this;}
83 
84 
85     /**
86      * <p>The name of the DB parameter group family that this DB parameter group is
87      * compatible with.</p>
88      */
GetDBParameterGroupFamily()89     inline const Aws::String& GetDBParameterGroupFamily() const{ return m_dBParameterGroupFamily; }
90 
91     /**
92      * <p>The name of the DB parameter group family that this DB parameter group is
93      * compatible with.</p>
94      */
DBParameterGroupFamilyHasBeenSet()95     inline bool DBParameterGroupFamilyHasBeenSet() const { return m_dBParameterGroupFamilyHasBeenSet; }
96 
97     /**
98      * <p>The name of the DB parameter group family that this DB parameter group is
99      * compatible with.</p>
100      */
SetDBParameterGroupFamily(const Aws::String & value)101     inline void SetDBParameterGroupFamily(const Aws::String& value) { m_dBParameterGroupFamilyHasBeenSet = true; m_dBParameterGroupFamily = value; }
102 
103     /**
104      * <p>The name of the DB parameter group family that this DB parameter group is
105      * compatible with.</p>
106      */
SetDBParameterGroupFamily(Aws::String && value)107     inline void SetDBParameterGroupFamily(Aws::String&& value) { m_dBParameterGroupFamilyHasBeenSet = true; m_dBParameterGroupFamily = std::move(value); }
108 
109     /**
110      * <p>The name of the DB parameter group family that this DB parameter group is
111      * compatible with.</p>
112      */
SetDBParameterGroupFamily(const char * value)113     inline void SetDBParameterGroupFamily(const char* value) { m_dBParameterGroupFamilyHasBeenSet = true; m_dBParameterGroupFamily.assign(value); }
114 
115     /**
116      * <p>The name of the DB parameter group family that this DB parameter group is
117      * compatible with.</p>
118      */
WithDBParameterGroupFamily(const Aws::String & value)119     inline DBParameterGroup& WithDBParameterGroupFamily(const Aws::String& value) { SetDBParameterGroupFamily(value); return *this;}
120 
121     /**
122      * <p>The name of the DB parameter group family that this DB parameter group is
123      * compatible with.</p>
124      */
WithDBParameterGroupFamily(Aws::String && value)125     inline DBParameterGroup& WithDBParameterGroupFamily(Aws::String&& value) { SetDBParameterGroupFamily(std::move(value)); return *this;}
126 
127     /**
128      * <p>The name of the DB parameter group family that this DB parameter group is
129      * compatible with.</p>
130      */
WithDBParameterGroupFamily(const char * value)131     inline DBParameterGroup& WithDBParameterGroupFamily(const char* value) { SetDBParameterGroupFamily(value); return *this;}
132 
133 
134     /**
135      * <p>Provides the customer-specified description for this DB parameter group.</p>
136      */
GetDescription()137     inline const Aws::String& GetDescription() const{ return m_description; }
138 
139     /**
140      * <p>Provides the customer-specified description for this DB parameter group.</p>
141      */
DescriptionHasBeenSet()142     inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
143 
144     /**
145      * <p>Provides the customer-specified description for this DB parameter group.</p>
146      */
SetDescription(const Aws::String & value)147     inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
148 
149     /**
150      * <p>Provides the customer-specified description for this DB parameter group.</p>
151      */
SetDescription(Aws::String && value)152     inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
153 
154     /**
155      * <p>Provides the customer-specified description for this DB parameter group.</p>
156      */
SetDescription(const char * value)157     inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
158 
159     /**
160      * <p>Provides the customer-specified description for this DB parameter group.</p>
161      */
WithDescription(const Aws::String & value)162     inline DBParameterGroup& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
163 
164     /**
165      * <p>Provides the customer-specified description for this DB parameter group.</p>
166      */
WithDescription(Aws::String && value)167     inline DBParameterGroup& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
168 
169     /**
170      * <p>Provides the customer-specified description for this DB parameter group.</p>
171      */
WithDescription(const char * value)172     inline DBParameterGroup& WithDescription(const char* value) { SetDescription(value); return *this;}
173 
174 
175     /**
176      * <p>The Amazon Resource Name (ARN) for the DB parameter group.</p>
177      */
GetDBParameterGroupArn()178     inline const Aws::String& GetDBParameterGroupArn() const{ return m_dBParameterGroupArn; }
179 
180     /**
181      * <p>The Amazon Resource Name (ARN) for the DB parameter group.</p>
182      */
DBParameterGroupArnHasBeenSet()183     inline bool DBParameterGroupArnHasBeenSet() const { return m_dBParameterGroupArnHasBeenSet; }
184 
185     /**
186      * <p>The Amazon Resource Name (ARN) for the DB parameter group.</p>
187      */
SetDBParameterGroupArn(const Aws::String & value)188     inline void SetDBParameterGroupArn(const Aws::String& value) { m_dBParameterGroupArnHasBeenSet = true; m_dBParameterGroupArn = value; }
189 
190     /**
191      * <p>The Amazon Resource Name (ARN) for the DB parameter group.</p>
192      */
SetDBParameterGroupArn(Aws::String && value)193     inline void SetDBParameterGroupArn(Aws::String&& value) { m_dBParameterGroupArnHasBeenSet = true; m_dBParameterGroupArn = std::move(value); }
194 
195     /**
196      * <p>The Amazon Resource Name (ARN) for the DB parameter group.</p>
197      */
SetDBParameterGroupArn(const char * value)198     inline void SetDBParameterGroupArn(const char* value) { m_dBParameterGroupArnHasBeenSet = true; m_dBParameterGroupArn.assign(value); }
199 
200     /**
201      * <p>The Amazon Resource Name (ARN) for the DB parameter group.</p>
202      */
WithDBParameterGroupArn(const Aws::String & value)203     inline DBParameterGroup& WithDBParameterGroupArn(const Aws::String& value) { SetDBParameterGroupArn(value); return *this;}
204 
205     /**
206      * <p>The Amazon Resource Name (ARN) for the DB parameter group.</p>
207      */
WithDBParameterGroupArn(Aws::String && value)208     inline DBParameterGroup& WithDBParameterGroupArn(Aws::String&& value) { SetDBParameterGroupArn(std::move(value)); return *this;}
209 
210     /**
211      * <p>The Amazon Resource Name (ARN) for the DB parameter group.</p>
212      */
WithDBParameterGroupArn(const char * value)213     inline DBParameterGroup& WithDBParameterGroupArn(const char* value) { SetDBParameterGroupArn(value); return *this;}
214 
215   private:
216 
217     Aws::String m_dBParameterGroupName;
218     bool m_dBParameterGroupNameHasBeenSet;
219 
220     Aws::String m_dBParameterGroupFamily;
221     bool m_dBParameterGroupFamilyHasBeenSet;
222 
223     Aws::String m_description;
224     bool m_descriptionHasBeenSet;
225 
226     Aws::String m_dBParameterGroupArn;
227     bool m_dBParameterGroupArnHasBeenSet;
228   };
229 
230 } // namespace Model
231 } // namespace RDS
232 } // namespace Aws
233