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/securityhub/SecurityHub_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/memory/stl/AWSVector.h>
10 #include <aws/securityhub/model/AwsRdsDbSubnetGroupSubnet.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace Utils
16 {
17 namespace Json
18 {
19   class JsonValue;
20   class JsonView;
21 } // namespace Json
22 } // namespace Utils
23 namespace SecurityHub
24 {
25 namespace Model
26 {
27 
28   /**
29    * <p>Information about the subnet group for the database instance.</p><p><h3>See
30    * Also:</h3>   <a
31    * href="http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsRdsDbSubnetGroup">AWS
32    * API Reference</a></p>
33    */
34   class AWS_SECURITYHUB_API AwsRdsDbSubnetGroup
35   {
36   public:
37     AwsRdsDbSubnetGroup();
38     AwsRdsDbSubnetGroup(Aws::Utils::Json::JsonView jsonValue);
39     AwsRdsDbSubnetGroup& operator=(Aws::Utils::Json::JsonView jsonValue);
40     Aws::Utils::Json::JsonValue Jsonize() const;
41 
42 
43     /**
44      * <p>The name of the subnet group.</p>
45      */
GetDbSubnetGroupName()46     inline const Aws::String& GetDbSubnetGroupName() const{ return m_dbSubnetGroupName; }
47 
48     /**
49      * <p>The name of the subnet group.</p>
50      */
DbSubnetGroupNameHasBeenSet()51     inline bool DbSubnetGroupNameHasBeenSet() const { return m_dbSubnetGroupNameHasBeenSet; }
52 
53     /**
54      * <p>The name of the subnet group.</p>
55      */
SetDbSubnetGroupName(const Aws::String & value)56     inline void SetDbSubnetGroupName(const Aws::String& value) { m_dbSubnetGroupNameHasBeenSet = true; m_dbSubnetGroupName = value; }
57 
58     /**
59      * <p>The name of the subnet group.</p>
60      */
SetDbSubnetGroupName(Aws::String && value)61     inline void SetDbSubnetGroupName(Aws::String&& value) { m_dbSubnetGroupNameHasBeenSet = true; m_dbSubnetGroupName = std::move(value); }
62 
63     /**
64      * <p>The name of the subnet group.</p>
65      */
SetDbSubnetGroupName(const char * value)66     inline void SetDbSubnetGroupName(const char* value) { m_dbSubnetGroupNameHasBeenSet = true; m_dbSubnetGroupName.assign(value); }
67 
68     /**
69      * <p>The name of the subnet group.</p>
70      */
WithDbSubnetGroupName(const Aws::String & value)71     inline AwsRdsDbSubnetGroup& WithDbSubnetGroupName(const Aws::String& value) { SetDbSubnetGroupName(value); return *this;}
72 
73     /**
74      * <p>The name of the subnet group.</p>
75      */
WithDbSubnetGroupName(Aws::String && value)76     inline AwsRdsDbSubnetGroup& WithDbSubnetGroupName(Aws::String&& value) { SetDbSubnetGroupName(std::move(value)); return *this;}
77 
78     /**
79      * <p>The name of the subnet group.</p>
80      */
WithDbSubnetGroupName(const char * value)81     inline AwsRdsDbSubnetGroup& WithDbSubnetGroupName(const char* value) { SetDbSubnetGroupName(value); return *this;}
82 
83 
84     /**
85      * <p>The description of the subnet group.</p>
86      */
GetDbSubnetGroupDescription()87     inline const Aws::String& GetDbSubnetGroupDescription() const{ return m_dbSubnetGroupDescription; }
88 
89     /**
90      * <p>The description of the subnet group.</p>
91      */
DbSubnetGroupDescriptionHasBeenSet()92     inline bool DbSubnetGroupDescriptionHasBeenSet() const { return m_dbSubnetGroupDescriptionHasBeenSet; }
93 
94     /**
95      * <p>The description of the subnet group.</p>
96      */
SetDbSubnetGroupDescription(const Aws::String & value)97     inline void SetDbSubnetGroupDescription(const Aws::String& value) { m_dbSubnetGroupDescriptionHasBeenSet = true; m_dbSubnetGroupDescription = value; }
98 
99     /**
100      * <p>The description of the subnet group.</p>
101      */
SetDbSubnetGroupDescription(Aws::String && value)102     inline void SetDbSubnetGroupDescription(Aws::String&& value) { m_dbSubnetGroupDescriptionHasBeenSet = true; m_dbSubnetGroupDescription = std::move(value); }
103 
104     /**
105      * <p>The description of the subnet group.</p>
106      */
SetDbSubnetGroupDescription(const char * value)107     inline void SetDbSubnetGroupDescription(const char* value) { m_dbSubnetGroupDescriptionHasBeenSet = true; m_dbSubnetGroupDescription.assign(value); }
108 
109     /**
110      * <p>The description of the subnet group.</p>
111      */
WithDbSubnetGroupDescription(const Aws::String & value)112     inline AwsRdsDbSubnetGroup& WithDbSubnetGroupDescription(const Aws::String& value) { SetDbSubnetGroupDescription(value); return *this;}
113 
114     /**
115      * <p>The description of the subnet group.</p>
116      */
WithDbSubnetGroupDescription(Aws::String && value)117     inline AwsRdsDbSubnetGroup& WithDbSubnetGroupDescription(Aws::String&& value) { SetDbSubnetGroupDescription(std::move(value)); return *this;}
118 
119     /**
120      * <p>The description of the subnet group.</p>
121      */
WithDbSubnetGroupDescription(const char * value)122     inline AwsRdsDbSubnetGroup& WithDbSubnetGroupDescription(const char* value) { SetDbSubnetGroupDescription(value); return *this;}
123 
124 
125     /**
126      * <p>The VPC ID of the subnet group.</p>
127      */
GetVpcId()128     inline const Aws::String& GetVpcId() const{ return m_vpcId; }
129 
130     /**
131      * <p>The VPC ID of the subnet group.</p>
132      */
VpcIdHasBeenSet()133     inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; }
134 
135     /**
136      * <p>The VPC ID of the subnet group.</p>
137      */
SetVpcId(const Aws::String & value)138     inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; }
139 
140     /**
141      * <p>The VPC ID of the subnet group.</p>
142      */
SetVpcId(Aws::String && value)143     inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); }
144 
145     /**
146      * <p>The VPC ID of the subnet group.</p>
147      */
SetVpcId(const char * value)148     inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); }
149 
150     /**
151      * <p>The VPC ID of the subnet group.</p>
152      */
WithVpcId(const Aws::String & value)153     inline AwsRdsDbSubnetGroup& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;}
154 
155     /**
156      * <p>The VPC ID of the subnet group.</p>
157      */
WithVpcId(Aws::String && value)158     inline AwsRdsDbSubnetGroup& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;}
159 
160     /**
161      * <p>The VPC ID of the subnet group.</p>
162      */
WithVpcId(const char * value)163     inline AwsRdsDbSubnetGroup& WithVpcId(const char* value) { SetVpcId(value); return *this;}
164 
165 
166     /**
167      * <p>The status of the subnet group.</p>
168      */
GetSubnetGroupStatus()169     inline const Aws::String& GetSubnetGroupStatus() const{ return m_subnetGroupStatus; }
170 
171     /**
172      * <p>The status of the subnet group.</p>
173      */
SubnetGroupStatusHasBeenSet()174     inline bool SubnetGroupStatusHasBeenSet() const { return m_subnetGroupStatusHasBeenSet; }
175 
176     /**
177      * <p>The status of the subnet group.</p>
178      */
SetSubnetGroupStatus(const Aws::String & value)179     inline void SetSubnetGroupStatus(const Aws::String& value) { m_subnetGroupStatusHasBeenSet = true; m_subnetGroupStatus = value; }
180 
181     /**
182      * <p>The status of the subnet group.</p>
183      */
SetSubnetGroupStatus(Aws::String && value)184     inline void SetSubnetGroupStatus(Aws::String&& value) { m_subnetGroupStatusHasBeenSet = true; m_subnetGroupStatus = std::move(value); }
185 
186     /**
187      * <p>The status of the subnet group.</p>
188      */
SetSubnetGroupStatus(const char * value)189     inline void SetSubnetGroupStatus(const char* value) { m_subnetGroupStatusHasBeenSet = true; m_subnetGroupStatus.assign(value); }
190 
191     /**
192      * <p>The status of the subnet group.</p>
193      */
WithSubnetGroupStatus(const Aws::String & value)194     inline AwsRdsDbSubnetGroup& WithSubnetGroupStatus(const Aws::String& value) { SetSubnetGroupStatus(value); return *this;}
195 
196     /**
197      * <p>The status of the subnet group.</p>
198      */
WithSubnetGroupStatus(Aws::String && value)199     inline AwsRdsDbSubnetGroup& WithSubnetGroupStatus(Aws::String&& value) { SetSubnetGroupStatus(std::move(value)); return *this;}
200 
201     /**
202      * <p>The status of the subnet group.</p>
203      */
WithSubnetGroupStatus(const char * value)204     inline AwsRdsDbSubnetGroup& WithSubnetGroupStatus(const char* value) { SetSubnetGroupStatus(value); return *this;}
205 
206 
207     /**
208      * <p>A list of subnets in the subnet group.</p>
209      */
GetSubnets()210     inline const Aws::Vector<AwsRdsDbSubnetGroupSubnet>& GetSubnets() const{ return m_subnets; }
211 
212     /**
213      * <p>A list of subnets in the subnet group.</p>
214      */
SubnetsHasBeenSet()215     inline bool SubnetsHasBeenSet() const { return m_subnetsHasBeenSet; }
216 
217     /**
218      * <p>A list of subnets in the subnet group.</p>
219      */
SetSubnets(const Aws::Vector<AwsRdsDbSubnetGroupSubnet> & value)220     inline void SetSubnets(const Aws::Vector<AwsRdsDbSubnetGroupSubnet>& value) { m_subnetsHasBeenSet = true; m_subnets = value; }
221 
222     /**
223      * <p>A list of subnets in the subnet group.</p>
224      */
SetSubnets(Aws::Vector<AwsRdsDbSubnetGroupSubnet> && value)225     inline void SetSubnets(Aws::Vector<AwsRdsDbSubnetGroupSubnet>&& value) { m_subnetsHasBeenSet = true; m_subnets = std::move(value); }
226 
227     /**
228      * <p>A list of subnets in the subnet group.</p>
229      */
WithSubnets(const Aws::Vector<AwsRdsDbSubnetGroupSubnet> & value)230     inline AwsRdsDbSubnetGroup& WithSubnets(const Aws::Vector<AwsRdsDbSubnetGroupSubnet>& value) { SetSubnets(value); return *this;}
231 
232     /**
233      * <p>A list of subnets in the subnet group.</p>
234      */
WithSubnets(Aws::Vector<AwsRdsDbSubnetGroupSubnet> && value)235     inline AwsRdsDbSubnetGroup& WithSubnets(Aws::Vector<AwsRdsDbSubnetGroupSubnet>&& value) { SetSubnets(std::move(value)); return *this;}
236 
237     /**
238      * <p>A list of subnets in the subnet group.</p>
239      */
AddSubnets(const AwsRdsDbSubnetGroupSubnet & value)240     inline AwsRdsDbSubnetGroup& AddSubnets(const AwsRdsDbSubnetGroupSubnet& value) { m_subnetsHasBeenSet = true; m_subnets.push_back(value); return *this; }
241 
242     /**
243      * <p>A list of subnets in the subnet group.</p>
244      */
AddSubnets(AwsRdsDbSubnetGroupSubnet && value)245     inline AwsRdsDbSubnetGroup& AddSubnets(AwsRdsDbSubnetGroupSubnet&& value) { m_subnetsHasBeenSet = true; m_subnets.push_back(std::move(value)); return *this; }
246 
247 
248     /**
249      * <p>The ARN of the subnet group.</p>
250      */
GetDbSubnetGroupArn()251     inline const Aws::String& GetDbSubnetGroupArn() const{ return m_dbSubnetGroupArn; }
252 
253     /**
254      * <p>The ARN of the subnet group.</p>
255      */
DbSubnetGroupArnHasBeenSet()256     inline bool DbSubnetGroupArnHasBeenSet() const { return m_dbSubnetGroupArnHasBeenSet; }
257 
258     /**
259      * <p>The ARN of the subnet group.</p>
260      */
SetDbSubnetGroupArn(const Aws::String & value)261     inline void SetDbSubnetGroupArn(const Aws::String& value) { m_dbSubnetGroupArnHasBeenSet = true; m_dbSubnetGroupArn = value; }
262 
263     /**
264      * <p>The ARN of the subnet group.</p>
265      */
SetDbSubnetGroupArn(Aws::String && value)266     inline void SetDbSubnetGroupArn(Aws::String&& value) { m_dbSubnetGroupArnHasBeenSet = true; m_dbSubnetGroupArn = std::move(value); }
267 
268     /**
269      * <p>The ARN of the subnet group.</p>
270      */
SetDbSubnetGroupArn(const char * value)271     inline void SetDbSubnetGroupArn(const char* value) { m_dbSubnetGroupArnHasBeenSet = true; m_dbSubnetGroupArn.assign(value); }
272 
273     /**
274      * <p>The ARN of the subnet group.</p>
275      */
WithDbSubnetGroupArn(const Aws::String & value)276     inline AwsRdsDbSubnetGroup& WithDbSubnetGroupArn(const Aws::String& value) { SetDbSubnetGroupArn(value); return *this;}
277 
278     /**
279      * <p>The ARN of the subnet group.</p>
280      */
WithDbSubnetGroupArn(Aws::String && value)281     inline AwsRdsDbSubnetGroup& WithDbSubnetGroupArn(Aws::String&& value) { SetDbSubnetGroupArn(std::move(value)); return *this;}
282 
283     /**
284      * <p>The ARN of the subnet group.</p>
285      */
WithDbSubnetGroupArn(const char * value)286     inline AwsRdsDbSubnetGroup& WithDbSubnetGroupArn(const char* value) { SetDbSubnetGroupArn(value); return *this;}
287 
288   private:
289 
290     Aws::String m_dbSubnetGroupName;
291     bool m_dbSubnetGroupNameHasBeenSet;
292 
293     Aws::String m_dbSubnetGroupDescription;
294     bool m_dbSubnetGroupDescriptionHasBeenSet;
295 
296     Aws::String m_vpcId;
297     bool m_vpcIdHasBeenSet;
298 
299     Aws::String m_subnetGroupStatus;
300     bool m_subnetGroupStatusHasBeenSet;
301 
302     Aws::Vector<AwsRdsDbSubnetGroupSubnet> m_subnets;
303     bool m_subnetsHasBeenSet;
304 
305     Aws::String m_dbSubnetGroupArn;
306     bool m_dbSubnetGroupArnHasBeenSet;
307   };
308 
309 } // namespace Model
310 } // namespace SecurityHub
311 } // namespace Aws
312