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/lightsail/Lightsail_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/DateTime.h>
10 #include <aws/lightsail/model/ResourceLocation.h>
11 #include <aws/lightsail/model/ResourceType.h>
12 #include <aws/core/utils/memory/stl/AWSVector.h>
13 #include <aws/lightsail/model/RelationalDatabaseHardware.h>
14 #include <aws/lightsail/model/PendingModifiedRelationalDatabaseValues.h>
15 #include <aws/lightsail/model/RelationalDatabaseEndpoint.h>
16 #include <aws/lightsail/model/Tag.h>
17 #include <aws/lightsail/model/PendingMaintenanceAction.h>
18 #include <utility>
19 
20 namespace Aws
21 {
22 namespace Utils
23 {
24 namespace Json
25 {
26   class JsonValue;
27   class JsonView;
28 } // namespace Json
29 } // namespace Utils
30 namespace Lightsail
31 {
32 namespace Model
33 {
34 
35   /**
36    * <p>Describes a database.</p><p><h3>See Also:</h3>   <a
37    * href="http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RelationalDatabase">AWS
38    * API Reference</a></p>
39    */
40   class AWS_LIGHTSAIL_API RelationalDatabase
41   {
42   public:
43     RelationalDatabase();
44     RelationalDatabase(Aws::Utils::Json::JsonView jsonValue);
45     RelationalDatabase& operator=(Aws::Utils::Json::JsonView jsonValue);
46     Aws::Utils::Json::JsonValue Jsonize() const;
47 
48 
49     /**
50      * <p>The unique name of the database resource in Lightsail.</p>
51      */
GetName()52     inline const Aws::String& GetName() const{ return m_name; }
53 
54     /**
55      * <p>The unique name of the database resource in Lightsail.</p>
56      */
NameHasBeenSet()57     inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
58 
59     /**
60      * <p>The unique name of the database resource in Lightsail.</p>
61      */
SetName(const Aws::String & value)62     inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
63 
64     /**
65      * <p>The unique name of the database resource in Lightsail.</p>
66      */
SetName(Aws::String && value)67     inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
68 
69     /**
70      * <p>The unique name of the database resource in Lightsail.</p>
71      */
SetName(const char * value)72     inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
73 
74     /**
75      * <p>The unique name of the database resource in Lightsail.</p>
76      */
WithName(const Aws::String & value)77     inline RelationalDatabase& WithName(const Aws::String& value) { SetName(value); return *this;}
78 
79     /**
80      * <p>The unique name of the database resource in Lightsail.</p>
81      */
WithName(Aws::String && value)82     inline RelationalDatabase& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
83 
84     /**
85      * <p>The unique name of the database resource in Lightsail.</p>
86      */
WithName(const char * value)87     inline RelationalDatabase& WithName(const char* value) { SetName(value); return *this;}
88 
89 
90     /**
91      * <p>The Amazon Resource Name (ARN) of the database.</p>
92      */
GetArn()93     inline const Aws::String& GetArn() const{ return m_arn; }
94 
95     /**
96      * <p>The Amazon Resource Name (ARN) of the database.</p>
97      */
ArnHasBeenSet()98     inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
99 
100     /**
101      * <p>The Amazon Resource Name (ARN) of the database.</p>
102      */
SetArn(const Aws::String & value)103     inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; }
104 
105     /**
106      * <p>The Amazon Resource Name (ARN) of the database.</p>
107      */
SetArn(Aws::String && value)108     inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); }
109 
110     /**
111      * <p>The Amazon Resource Name (ARN) of the database.</p>
112      */
SetArn(const char * value)113     inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); }
114 
115     /**
116      * <p>The Amazon Resource Name (ARN) of the database.</p>
117      */
WithArn(const Aws::String & value)118     inline RelationalDatabase& WithArn(const Aws::String& value) { SetArn(value); return *this;}
119 
120     /**
121      * <p>The Amazon Resource Name (ARN) of the database.</p>
122      */
WithArn(Aws::String && value)123     inline RelationalDatabase& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;}
124 
125     /**
126      * <p>The Amazon Resource Name (ARN) of the database.</p>
127      */
WithArn(const char * value)128     inline RelationalDatabase& WithArn(const char* value) { SetArn(value); return *this;}
129 
130 
131     /**
132      * <p>The support code for the database. Include this code in your email to support
133      * when you have questions about a database in Lightsail. This code enables our
134      * support team to look up your Lightsail information more easily.</p>
135      */
GetSupportCode()136     inline const Aws::String& GetSupportCode() const{ return m_supportCode; }
137 
138     /**
139      * <p>The support code for the database. Include this code in your email to support
140      * when you have questions about a database in Lightsail. This code enables our
141      * support team to look up your Lightsail information more easily.</p>
142      */
SupportCodeHasBeenSet()143     inline bool SupportCodeHasBeenSet() const { return m_supportCodeHasBeenSet; }
144 
145     /**
146      * <p>The support code for the database. Include this code in your email to support
147      * when you have questions about a database in Lightsail. This code enables our
148      * support team to look up your Lightsail information more easily.</p>
149      */
SetSupportCode(const Aws::String & value)150     inline void SetSupportCode(const Aws::String& value) { m_supportCodeHasBeenSet = true; m_supportCode = value; }
151 
152     /**
153      * <p>The support code for the database. Include this code in your email to support
154      * when you have questions about a database in Lightsail. This code enables our
155      * support team to look up your Lightsail information more easily.</p>
156      */
SetSupportCode(Aws::String && value)157     inline void SetSupportCode(Aws::String&& value) { m_supportCodeHasBeenSet = true; m_supportCode = std::move(value); }
158 
159     /**
160      * <p>The support code for the database. Include this code in your email to support
161      * when you have questions about a database in Lightsail. This code enables our
162      * support team to look up your Lightsail information more easily.</p>
163      */
SetSupportCode(const char * value)164     inline void SetSupportCode(const char* value) { m_supportCodeHasBeenSet = true; m_supportCode.assign(value); }
165 
166     /**
167      * <p>The support code for the database. Include this code in your email to support
168      * when you have questions about a database in Lightsail. This code enables our
169      * support team to look up your Lightsail information more easily.</p>
170      */
WithSupportCode(const Aws::String & value)171     inline RelationalDatabase& WithSupportCode(const Aws::String& value) { SetSupportCode(value); return *this;}
172 
173     /**
174      * <p>The support code for the database. Include this code in your email to support
175      * when you have questions about a database in Lightsail. This code enables our
176      * support team to look up your Lightsail information more easily.</p>
177      */
WithSupportCode(Aws::String && value)178     inline RelationalDatabase& WithSupportCode(Aws::String&& value) { SetSupportCode(std::move(value)); return *this;}
179 
180     /**
181      * <p>The support code for the database. Include this code in your email to support
182      * when you have questions about a database in Lightsail. This code enables our
183      * support team to look up your Lightsail information more easily.</p>
184      */
WithSupportCode(const char * value)185     inline RelationalDatabase& WithSupportCode(const char* value) { SetSupportCode(value); return *this;}
186 
187 
188     /**
189      * <p>The timestamp when the database was created. Formatted in Unix time.</p>
190      */
GetCreatedAt()191     inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; }
192 
193     /**
194      * <p>The timestamp when the database was created. Formatted in Unix time.</p>
195      */
CreatedAtHasBeenSet()196     inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; }
197 
198     /**
199      * <p>The timestamp when the database was created. Formatted in Unix time.</p>
200      */
SetCreatedAt(const Aws::Utils::DateTime & value)201     inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; }
202 
203     /**
204      * <p>The timestamp when the database was created. Formatted in Unix time.</p>
205      */
SetCreatedAt(Aws::Utils::DateTime && value)206     inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); }
207 
208     /**
209      * <p>The timestamp when the database was created. Formatted in Unix time.</p>
210      */
WithCreatedAt(const Aws::Utils::DateTime & value)211     inline RelationalDatabase& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;}
212 
213     /**
214      * <p>The timestamp when the database was created. Formatted in Unix time.</p>
215      */
WithCreatedAt(Aws::Utils::DateTime && value)216     inline RelationalDatabase& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;}
217 
218 
219     /**
220      * <p>The Region name and Availability Zone where the database is located.</p>
221      */
GetLocation()222     inline const ResourceLocation& GetLocation() const{ return m_location; }
223 
224     /**
225      * <p>The Region name and Availability Zone where the database is located.</p>
226      */
LocationHasBeenSet()227     inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; }
228 
229     /**
230      * <p>The Region name and Availability Zone where the database is located.</p>
231      */
SetLocation(const ResourceLocation & value)232     inline void SetLocation(const ResourceLocation& value) { m_locationHasBeenSet = true; m_location = value; }
233 
234     /**
235      * <p>The Region name and Availability Zone where the database is located.</p>
236      */
SetLocation(ResourceLocation && value)237     inline void SetLocation(ResourceLocation&& value) { m_locationHasBeenSet = true; m_location = std::move(value); }
238 
239     /**
240      * <p>The Region name and Availability Zone where the database is located.</p>
241      */
WithLocation(const ResourceLocation & value)242     inline RelationalDatabase& WithLocation(const ResourceLocation& value) { SetLocation(value); return *this;}
243 
244     /**
245      * <p>The Region name and Availability Zone where the database is located.</p>
246      */
WithLocation(ResourceLocation && value)247     inline RelationalDatabase& WithLocation(ResourceLocation&& value) { SetLocation(std::move(value)); return *this;}
248 
249 
250     /**
251      * <p>The Lightsail resource type for the database (for example,
252      * <code>RelationalDatabase</code>).</p>
253      */
GetResourceType()254     inline const ResourceType& GetResourceType() const{ return m_resourceType; }
255 
256     /**
257      * <p>The Lightsail resource type for the database (for example,
258      * <code>RelationalDatabase</code>).</p>
259      */
ResourceTypeHasBeenSet()260     inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; }
261 
262     /**
263      * <p>The Lightsail resource type for the database (for example,
264      * <code>RelationalDatabase</code>).</p>
265      */
SetResourceType(const ResourceType & value)266     inline void SetResourceType(const ResourceType& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; }
267 
268     /**
269      * <p>The Lightsail resource type for the database (for example,
270      * <code>RelationalDatabase</code>).</p>
271      */
SetResourceType(ResourceType && value)272     inline void SetResourceType(ResourceType&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); }
273 
274     /**
275      * <p>The Lightsail resource type for the database (for example,
276      * <code>RelationalDatabase</code>).</p>
277      */
WithResourceType(const ResourceType & value)278     inline RelationalDatabase& WithResourceType(const ResourceType& value) { SetResourceType(value); return *this;}
279 
280     /**
281      * <p>The Lightsail resource type for the database (for example,
282      * <code>RelationalDatabase</code>).</p>
283      */
WithResourceType(ResourceType && value)284     inline RelationalDatabase& WithResourceType(ResourceType&& value) { SetResourceType(std::move(value)); return *this;}
285 
286 
287     /**
288      * <p>The tag keys and optional values for the resource. For more information about
289      * tags in Lightsail, see the <a
290      * href="https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags">Amazon
291      * Lightsail Developer Guide</a>.</p>
292      */
GetTags()293     inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
294 
295     /**
296      * <p>The tag keys and optional values for the resource. For more information about
297      * tags in Lightsail, see the <a
298      * href="https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags">Amazon
299      * Lightsail Developer Guide</a>.</p>
300      */
TagsHasBeenSet()301     inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
302 
303     /**
304      * <p>The tag keys and optional values for the resource. For more information about
305      * tags in Lightsail, see the <a
306      * href="https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags">Amazon
307      * Lightsail Developer Guide</a>.</p>
308      */
SetTags(const Aws::Vector<Tag> & value)309     inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
310 
311     /**
312      * <p>The tag keys and optional values for the resource. For more information about
313      * tags in Lightsail, see the <a
314      * href="https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags">Amazon
315      * Lightsail Developer Guide</a>.</p>
316      */
SetTags(Aws::Vector<Tag> && value)317     inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
318 
319     /**
320      * <p>The tag keys and optional values for the resource. For more information about
321      * tags in Lightsail, see the <a
322      * href="https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags">Amazon
323      * Lightsail Developer Guide</a>.</p>
324      */
WithTags(const Aws::Vector<Tag> & value)325     inline RelationalDatabase& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
326 
327     /**
328      * <p>The tag keys and optional values for the resource. For more information about
329      * tags in Lightsail, see the <a
330      * href="https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags">Amazon
331      * Lightsail Developer Guide</a>.</p>
332      */
WithTags(Aws::Vector<Tag> && value)333     inline RelationalDatabase& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
334 
335     /**
336      * <p>The tag keys and optional values for the resource. For more information about
337      * tags in Lightsail, see the <a
338      * href="https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags">Amazon
339      * Lightsail Developer Guide</a>.</p>
340      */
AddTags(const Tag & value)341     inline RelationalDatabase& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
342 
343     /**
344      * <p>The tag keys and optional values for the resource. For more information about
345      * tags in Lightsail, see the <a
346      * href="https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags">Amazon
347      * Lightsail Developer Guide</a>.</p>
348      */
AddTags(Tag && value)349     inline RelationalDatabase& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
350 
351 
352     /**
353      * <p>The blueprint ID for the database. A blueprint describes the major engine
354      * version of a database.</p>
355      */
GetRelationalDatabaseBlueprintId()356     inline const Aws::String& GetRelationalDatabaseBlueprintId() const{ return m_relationalDatabaseBlueprintId; }
357 
358     /**
359      * <p>The blueprint ID for the database. A blueprint describes the major engine
360      * version of a database.</p>
361      */
RelationalDatabaseBlueprintIdHasBeenSet()362     inline bool RelationalDatabaseBlueprintIdHasBeenSet() const { return m_relationalDatabaseBlueprintIdHasBeenSet; }
363 
364     /**
365      * <p>The blueprint ID for the database. A blueprint describes the major engine
366      * version of a database.</p>
367      */
SetRelationalDatabaseBlueprintId(const Aws::String & value)368     inline void SetRelationalDatabaseBlueprintId(const Aws::String& value) { m_relationalDatabaseBlueprintIdHasBeenSet = true; m_relationalDatabaseBlueprintId = value; }
369 
370     /**
371      * <p>The blueprint ID for the database. A blueprint describes the major engine
372      * version of a database.</p>
373      */
SetRelationalDatabaseBlueprintId(Aws::String && value)374     inline void SetRelationalDatabaseBlueprintId(Aws::String&& value) { m_relationalDatabaseBlueprintIdHasBeenSet = true; m_relationalDatabaseBlueprintId = std::move(value); }
375 
376     /**
377      * <p>The blueprint ID for the database. A blueprint describes the major engine
378      * version of a database.</p>
379      */
SetRelationalDatabaseBlueprintId(const char * value)380     inline void SetRelationalDatabaseBlueprintId(const char* value) { m_relationalDatabaseBlueprintIdHasBeenSet = true; m_relationalDatabaseBlueprintId.assign(value); }
381 
382     /**
383      * <p>The blueprint ID for the database. A blueprint describes the major engine
384      * version of a database.</p>
385      */
WithRelationalDatabaseBlueprintId(const Aws::String & value)386     inline RelationalDatabase& WithRelationalDatabaseBlueprintId(const Aws::String& value) { SetRelationalDatabaseBlueprintId(value); return *this;}
387 
388     /**
389      * <p>The blueprint ID for the database. A blueprint describes the major engine
390      * version of a database.</p>
391      */
WithRelationalDatabaseBlueprintId(Aws::String && value)392     inline RelationalDatabase& WithRelationalDatabaseBlueprintId(Aws::String&& value) { SetRelationalDatabaseBlueprintId(std::move(value)); return *this;}
393 
394     /**
395      * <p>The blueprint ID for the database. A blueprint describes the major engine
396      * version of a database.</p>
397      */
WithRelationalDatabaseBlueprintId(const char * value)398     inline RelationalDatabase& WithRelationalDatabaseBlueprintId(const char* value) { SetRelationalDatabaseBlueprintId(value); return *this;}
399 
400 
401     /**
402      * <p>The bundle ID for the database. A bundle describes the performance
403      * specifications for your database.</p>
404      */
GetRelationalDatabaseBundleId()405     inline const Aws::String& GetRelationalDatabaseBundleId() const{ return m_relationalDatabaseBundleId; }
406 
407     /**
408      * <p>The bundle ID for the database. A bundle describes the performance
409      * specifications for your database.</p>
410      */
RelationalDatabaseBundleIdHasBeenSet()411     inline bool RelationalDatabaseBundleIdHasBeenSet() const { return m_relationalDatabaseBundleIdHasBeenSet; }
412 
413     /**
414      * <p>The bundle ID for the database. A bundle describes the performance
415      * specifications for your database.</p>
416      */
SetRelationalDatabaseBundleId(const Aws::String & value)417     inline void SetRelationalDatabaseBundleId(const Aws::String& value) { m_relationalDatabaseBundleIdHasBeenSet = true; m_relationalDatabaseBundleId = value; }
418 
419     /**
420      * <p>The bundle ID for the database. A bundle describes the performance
421      * specifications for your database.</p>
422      */
SetRelationalDatabaseBundleId(Aws::String && value)423     inline void SetRelationalDatabaseBundleId(Aws::String&& value) { m_relationalDatabaseBundleIdHasBeenSet = true; m_relationalDatabaseBundleId = std::move(value); }
424 
425     /**
426      * <p>The bundle ID for the database. A bundle describes the performance
427      * specifications for your database.</p>
428      */
SetRelationalDatabaseBundleId(const char * value)429     inline void SetRelationalDatabaseBundleId(const char* value) { m_relationalDatabaseBundleIdHasBeenSet = true; m_relationalDatabaseBundleId.assign(value); }
430 
431     /**
432      * <p>The bundle ID for the database. A bundle describes the performance
433      * specifications for your database.</p>
434      */
WithRelationalDatabaseBundleId(const Aws::String & value)435     inline RelationalDatabase& WithRelationalDatabaseBundleId(const Aws::String& value) { SetRelationalDatabaseBundleId(value); return *this;}
436 
437     /**
438      * <p>The bundle ID for the database. A bundle describes the performance
439      * specifications for your database.</p>
440      */
WithRelationalDatabaseBundleId(Aws::String && value)441     inline RelationalDatabase& WithRelationalDatabaseBundleId(Aws::String&& value) { SetRelationalDatabaseBundleId(std::move(value)); return *this;}
442 
443     /**
444      * <p>The bundle ID for the database. A bundle describes the performance
445      * specifications for your database.</p>
446      */
WithRelationalDatabaseBundleId(const char * value)447     inline RelationalDatabase& WithRelationalDatabaseBundleId(const char* value) { SetRelationalDatabaseBundleId(value); return *this;}
448 
449 
450     /**
451      * <p>The name of the master database created when the Lightsail database resource
452      * is created.</p>
453      */
GetMasterDatabaseName()454     inline const Aws::String& GetMasterDatabaseName() const{ return m_masterDatabaseName; }
455 
456     /**
457      * <p>The name of the master database created when the Lightsail database resource
458      * is created.</p>
459      */
MasterDatabaseNameHasBeenSet()460     inline bool MasterDatabaseNameHasBeenSet() const { return m_masterDatabaseNameHasBeenSet; }
461 
462     /**
463      * <p>The name of the master database created when the Lightsail database resource
464      * is created.</p>
465      */
SetMasterDatabaseName(const Aws::String & value)466     inline void SetMasterDatabaseName(const Aws::String& value) { m_masterDatabaseNameHasBeenSet = true; m_masterDatabaseName = value; }
467 
468     /**
469      * <p>The name of the master database created when the Lightsail database resource
470      * is created.</p>
471      */
SetMasterDatabaseName(Aws::String && value)472     inline void SetMasterDatabaseName(Aws::String&& value) { m_masterDatabaseNameHasBeenSet = true; m_masterDatabaseName = std::move(value); }
473 
474     /**
475      * <p>The name of the master database created when the Lightsail database resource
476      * is created.</p>
477      */
SetMasterDatabaseName(const char * value)478     inline void SetMasterDatabaseName(const char* value) { m_masterDatabaseNameHasBeenSet = true; m_masterDatabaseName.assign(value); }
479 
480     /**
481      * <p>The name of the master database created when the Lightsail database resource
482      * is created.</p>
483      */
WithMasterDatabaseName(const Aws::String & value)484     inline RelationalDatabase& WithMasterDatabaseName(const Aws::String& value) { SetMasterDatabaseName(value); return *this;}
485 
486     /**
487      * <p>The name of the master database created when the Lightsail database resource
488      * is created.</p>
489      */
WithMasterDatabaseName(Aws::String && value)490     inline RelationalDatabase& WithMasterDatabaseName(Aws::String&& value) { SetMasterDatabaseName(std::move(value)); return *this;}
491 
492     /**
493      * <p>The name of the master database created when the Lightsail database resource
494      * is created.</p>
495      */
WithMasterDatabaseName(const char * value)496     inline RelationalDatabase& WithMasterDatabaseName(const char* value) { SetMasterDatabaseName(value); return *this;}
497 
498 
499     /**
500      * <p>Describes the hardware of the database.</p>
501      */
GetHardware()502     inline const RelationalDatabaseHardware& GetHardware() const{ return m_hardware; }
503 
504     /**
505      * <p>Describes the hardware of the database.</p>
506      */
HardwareHasBeenSet()507     inline bool HardwareHasBeenSet() const { return m_hardwareHasBeenSet; }
508 
509     /**
510      * <p>Describes the hardware of the database.</p>
511      */
SetHardware(const RelationalDatabaseHardware & value)512     inline void SetHardware(const RelationalDatabaseHardware& value) { m_hardwareHasBeenSet = true; m_hardware = value; }
513 
514     /**
515      * <p>Describes the hardware of the database.</p>
516      */
SetHardware(RelationalDatabaseHardware && value)517     inline void SetHardware(RelationalDatabaseHardware&& value) { m_hardwareHasBeenSet = true; m_hardware = std::move(value); }
518 
519     /**
520      * <p>Describes the hardware of the database.</p>
521      */
WithHardware(const RelationalDatabaseHardware & value)522     inline RelationalDatabase& WithHardware(const RelationalDatabaseHardware& value) { SetHardware(value); return *this;}
523 
524     /**
525      * <p>Describes the hardware of the database.</p>
526      */
WithHardware(RelationalDatabaseHardware && value)527     inline RelationalDatabase& WithHardware(RelationalDatabaseHardware&& value) { SetHardware(std::move(value)); return *this;}
528 
529 
530     /**
531      * <p>Describes the current state of the database.</p>
532      */
GetState()533     inline const Aws::String& GetState() const{ return m_state; }
534 
535     /**
536      * <p>Describes the current state of the database.</p>
537      */
StateHasBeenSet()538     inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
539 
540     /**
541      * <p>Describes the current state of the database.</p>
542      */
SetState(const Aws::String & value)543     inline void SetState(const Aws::String& value) { m_stateHasBeenSet = true; m_state = value; }
544 
545     /**
546      * <p>Describes the current state of the database.</p>
547      */
SetState(Aws::String && value)548     inline void SetState(Aws::String&& value) { m_stateHasBeenSet = true; m_state = std::move(value); }
549 
550     /**
551      * <p>Describes the current state of the database.</p>
552      */
SetState(const char * value)553     inline void SetState(const char* value) { m_stateHasBeenSet = true; m_state.assign(value); }
554 
555     /**
556      * <p>Describes the current state of the database.</p>
557      */
WithState(const Aws::String & value)558     inline RelationalDatabase& WithState(const Aws::String& value) { SetState(value); return *this;}
559 
560     /**
561      * <p>Describes the current state of the database.</p>
562      */
WithState(Aws::String && value)563     inline RelationalDatabase& WithState(Aws::String&& value) { SetState(std::move(value)); return *this;}
564 
565     /**
566      * <p>Describes the current state of the database.</p>
567      */
WithState(const char * value)568     inline RelationalDatabase& WithState(const char* value) { SetState(value); return *this;}
569 
570 
571     /**
572      * <p>Describes the secondary Availability Zone of a high availability
573      * database.</p> <p>The secondary database is used for failover support of a high
574      * availability database.</p>
575      */
GetSecondaryAvailabilityZone()576     inline const Aws::String& GetSecondaryAvailabilityZone() const{ return m_secondaryAvailabilityZone; }
577 
578     /**
579      * <p>Describes the secondary Availability Zone of a high availability
580      * database.</p> <p>The secondary database is used for failover support of a high
581      * availability database.</p>
582      */
SecondaryAvailabilityZoneHasBeenSet()583     inline bool SecondaryAvailabilityZoneHasBeenSet() const { return m_secondaryAvailabilityZoneHasBeenSet; }
584 
585     /**
586      * <p>Describes the secondary Availability Zone of a high availability
587      * database.</p> <p>The secondary database is used for failover support of a high
588      * availability database.</p>
589      */
SetSecondaryAvailabilityZone(const Aws::String & value)590     inline void SetSecondaryAvailabilityZone(const Aws::String& value) { m_secondaryAvailabilityZoneHasBeenSet = true; m_secondaryAvailabilityZone = value; }
591 
592     /**
593      * <p>Describes the secondary Availability Zone of a high availability
594      * database.</p> <p>The secondary database is used for failover support of a high
595      * availability database.</p>
596      */
SetSecondaryAvailabilityZone(Aws::String && value)597     inline void SetSecondaryAvailabilityZone(Aws::String&& value) { m_secondaryAvailabilityZoneHasBeenSet = true; m_secondaryAvailabilityZone = std::move(value); }
598 
599     /**
600      * <p>Describes the secondary Availability Zone of a high availability
601      * database.</p> <p>The secondary database is used for failover support of a high
602      * availability database.</p>
603      */
SetSecondaryAvailabilityZone(const char * value)604     inline void SetSecondaryAvailabilityZone(const char* value) { m_secondaryAvailabilityZoneHasBeenSet = true; m_secondaryAvailabilityZone.assign(value); }
605 
606     /**
607      * <p>Describes the secondary Availability Zone of a high availability
608      * database.</p> <p>The secondary database is used for failover support of a high
609      * availability database.</p>
610      */
WithSecondaryAvailabilityZone(const Aws::String & value)611     inline RelationalDatabase& WithSecondaryAvailabilityZone(const Aws::String& value) { SetSecondaryAvailabilityZone(value); return *this;}
612 
613     /**
614      * <p>Describes the secondary Availability Zone of a high availability
615      * database.</p> <p>The secondary database is used for failover support of a high
616      * availability database.</p>
617      */
WithSecondaryAvailabilityZone(Aws::String && value)618     inline RelationalDatabase& WithSecondaryAvailabilityZone(Aws::String&& value) { SetSecondaryAvailabilityZone(std::move(value)); return *this;}
619 
620     /**
621      * <p>Describes the secondary Availability Zone of a high availability
622      * database.</p> <p>The secondary database is used for failover support of a high
623      * availability database.</p>
624      */
WithSecondaryAvailabilityZone(const char * value)625     inline RelationalDatabase& WithSecondaryAvailabilityZone(const char* value) { SetSecondaryAvailabilityZone(value); return *this;}
626 
627 
628     /**
629      * <p>A Boolean value indicating whether automated backup retention is enabled for
630      * the database.</p>
631      */
GetBackupRetentionEnabled()632     inline bool GetBackupRetentionEnabled() const{ return m_backupRetentionEnabled; }
633 
634     /**
635      * <p>A Boolean value indicating whether automated backup retention is enabled for
636      * the database.</p>
637      */
BackupRetentionEnabledHasBeenSet()638     inline bool BackupRetentionEnabledHasBeenSet() const { return m_backupRetentionEnabledHasBeenSet; }
639 
640     /**
641      * <p>A Boolean value indicating whether automated backup retention is enabled for
642      * the database.</p>
643      */
SetBackupRetentionEnabled(bool value)644     inline void SetBackupRetentionEnabled(bool value) { m_backupRetentionEnabledHasBeenSet = true; m_backupRetentionEnabled = value; }
645 
646     /**
647      * <p>A Boolean value indicating whether automated backup retention is enabled for
648      * the database.</p>
649      */
WithBackupRetentionEnabled(bool value)650     inline RelationalDatabase& WithBackupRetentionEnabled(bool value) { SetBackupRetentionEnabled(value); return *this;}
651 
652 
653     /**
654      * <p>Describes pending database value modifications.</p>
655      */
GetPendingModifiedValues()656     inline const PendingModifiedRelationalDatabaseValues& GetPendingModifiedValues() const{ return m_pendingModifiedValues; }
657 
658     /**
659      * <p>Describes pending database value modifications.</p>
660      */
PendingModifiedValuesHasBeenSet()661     inline bool PendingModifiedValuesHasBeenSet() const { return m_pendingModifiedValuesHasBeenSet; }
662 
663     /**
664      * <p>Describes pending database value modifications.</p>
665      */
SetPendingModifiedValues(const PendingModifiedRelationalDatabaseValues & value)666     inline void SetPendingModifiedValues(const PendingModifiedRelationalDatabaseValues& value) { m_pendingModifiedValuesHasBeenSet = true; m_pendingModifiedValues = value; }
667 
668     /**
669      * <p>Describes pending database value modifications.</p>
670      */
SetPendingModifiedValues(PendingModifiedRelationalDatabaseValues && value)671     inline void SetPendingModifiedValues(PendingModifiedRelationalDatabaseValues&& value) { m_pendingModifiedValuesHasBeenSet = true; m_pendingModifiedValues = std::move(value); }
672 
673     /**
674      * <p>Describes pending database value modifications.</p>
675      */
WithPendingModifiedValues(const PendingModifiedRelationalDatabaseValues & value)676     inline RelationalDatabase& WithPendingModifiedValues(const PendingModifiedRelationalDatabaseValues& value) { SetPendingModifiedValues(value); return *this;}
677 
678     /**
679      * <p>Describes pending database value modifications.</p>
680      */
WithPendingModifiedValues(PendingModifiedRelationalDatabaseValues && value)681     inline RelationalDatabase& WithPendingModifiedValues(PendingModifiedRelationalDatabaseValues&& value) { SetPendingModifiedValues(std::move(value)); return *this;}
682 
683 
684     /**
685      * <p>The database software (for example, <code>MySQL</code>).</p>
686      */
GetEngine()687     inline const Aws::String& GetEngine() const{ return m_engine; }
688 
689     /**
690      * <p>The database software (for example, <code>MySQL</code>).</p>
691      */
EngineHasBeenSet()692     inline bool EngineHasBeenSet() const { return m_engineHasBeenSet; }
693 
694     /**
695      * <p>The database software (for example, <code>MySQL</code>).</p>
696      */
SetEngine(const Aws::String & value)697     inline void SetEngine(const Aws::String& value) { m_engineHasBeenSet = true; m_engine = value; }
698 
699     /**
700      * <p>The database software (for example, <code>MySQL</code>).</p>
701      */
SetEngine(Aws::String && value)702     inline void SetEngine(Aws::String&& value) { m_engineHasBeenSet = true; m_engine = std::move(value); }
703 
704     /**
705      * <p>The database software (for example, <code>MySQL</code>).</p>
706      */
SetEngine(const char * value)707     inline void SetEngine(const char* value) { m_engineHasBeenSet = true; m_engine.assign(value); }
708 
709     /**
710      * <p>The database software (for example, <code>MySQL</code>).</p>
711      */
WithEngine(const Aws::String & value)712     inline RelationalDatabase& WithEngine(const Aws::String& value) { SetEngine(value); return *this;}
713 
714     /**
715      * <p>The database software (for example, <code>MySQL</code>).</p>
716      */
WithEngine(Aws::String && value)717     inline RelationalDatabase& WithEngine(Aws::String&& value) { SetEngine(std::move(value)); return *this;}
718 
719     /**
720      * <p>The database software (for example, <code>MySQL</code>).</p>
721      */
WithEngine(const char * value)722     inline RelationalDatabase& WithEngine(const char* value) { SetEngine(value); return *this;}
723 
724 
725     /**
726      * <p>The database engine version (for example, <code>5.7.23</code>).</p>
727      */
GetEngineVersion()728     inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; }
729 
730     /**
731      * <p>The database engine version (for example, <code>5.7.23</code>).</p>
732      */
EngineVersionHasBeenSet()733     inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; }
734 
735     /**
736      * <p>The database engine version (for example, <code>5.7.23</code>).</p>
737      */
SetEngineVersion(const Aws::String & value)738     inline void SetEngineVersion(const Aws::String& value) { m_engineVersionHasBeenSet = true; m_engineVersion = value; }
739 
740     /**
741      * <p>The database engine version (for example, <code>5.7.23</code>).</p>
742      */
SetEngineVersion(Aws::String && value)743     inline void SetEngineVersion(Aws::String&& value) { m_engineVersionHasBeenSet = true; m_engineVersion = std::move(value); }
744 
745     /**
746      * <p>The database engine version (for example, <code>5.7.23</code>).</p>
747      */
SetEngineVersion(const char * value)748     inline void SetEngineVersion(const char* value) { m_engineVersionHasBeenSet = true; m_engineVersion.assign(value); }
749 
750     /**
751      * <p>The database engine version (for example, <code>5.7.23</code>).</p>
752      */
WithEngineVersion(const Aws::String & value)753     inline RelationalDatabase& WithEngineVersion(const Aws::String& value) { SetEngineVersion(value); return *this;}
754 
755     /**
756      * <p>The database engine version (for example, <code>5.7.23</code>).</p>
757      */
WithEngineVersion(Aws::String && value)758     inline RelationalDatabase& WithEngineVersion(Aws::String&& value) { SetEngineVersion(std::move(value)); return *this;}
759 
760     /**
761      * <p>The database engine version (for example, <code>5.7.23</code>).</p>
762      */
WithEngineVersion(const char * value)763     inline RelationalDatabase& WithEngineVersion(const char* value) { SetEngineVersion(value); return *this;}
764 
765 
766     /**
767      * <p>The latest point in time to which the database can be restored. Formatted in
768      * Unix time.</p>
769      */
GetLatestRestorableTime()770     inline const Aws::Utils::DateTime& GetLatestRestorableTime() const{ return m_latestRestorableTime; }
771 
772     /**
773      * <p>The latest point in time to which the database can be restored. Formatted in
774      * Unix time.</p>
775      */
LatestRestorableTimeHasBeenSet()776     inline bool LatestRestorableTimeHasBeenSet() const { return m_latestRestorableTimeHasBeenSet; }
777 
778     /**
779      * <p>The latest point in time to which the database can be restored. Formatted in
780      * Unix time.</p>
781      */
SetLatestRestorableTime(const Aws::Utils::DateTime & value)782     inline void SetLatestRestorableTime(const Aws::Utils::DateTime& value) { m_latestRestorableTimeHasBeenSet = true; m_latestRestorableTime = value; }
783 
784     /**
785      * <p>The latest point in time to which the database can be restored. Formatted in
786      * Unix time.</p>
787      */
SetLatestRestorableTime(Aws::Utils::DateTime && value)788     inline void SetLatestRestorableTime(Aws::Utils::DateTime&& value) { m_latestRestorableTimeHasBeenSet = true; m_latestRestorableTime = std::move(value); }
789 
790     /**
791      * <p>The latest point in time to which the database can be restored. Formatted in
792      * Unix time.</p>
793      */
WithLatestRestorableTime(const Aws::Utils::DateTime & value)794     inline RelationalDatabase& WithLatestRestorableTime(const Aws::Utils::DateTime& value) { SetLatestRestorableTime(value); return *this;}
795 
796     /**
797      * <p>The latest point in time to which the database can be restored. Formatted in
798      * Unix time.</p>
799      */
WithLatestRestorableTime(Aws::Utils::DateTime && value)800     inline RelationalDatabase& WithLatestRestorableTime(Aws::Utils::DateTime&& value) { SetLatestRestorableTime(std::move(value)); return *this;}
801 
802 
803     /**
804      * <p>The master user name of the database.</p>
805      */
GetMasterUsername()806     inline const Aws::String& GetMasterUsername() const{ return m_masterUsername; }
807 
808     /**
809      * <p>The master user name of the database.</p>
810      */
MasterUsernameHasBeenSet()811     inline bool MasterUsernameHasBeenSet() const { return m_masterUsernameHasBeenSet; }
812 
813     /**
814      * <p>The master user name of the database.</p>
815      */
SetMasterUsername(const Aws::String & value)816     inline void SetMasterUsername(const Aws::String& value) { m_masterUsernameHasBeenSet = true; m_masterUsername = value; }
817 
818     /**
819      * <p>The master user name of the database.</p>
820      */
SetMasterUsername(Aws::String && value)821     inline void SetMasterUsername(Aws::String&& value) { m_masterUsernameHasBeenSet = true; m_masterUsername = std::move(value); }
822 
823     /**
824      * <p>The master user name of the database.</p>
825      */
SetMasterUsername(const char * value)826     inline void SetMasterUsername(const char* value) { m_masterUsernameHasBeenSet = true; m_masterUsername.assign(value); }
827 
828     /**
829      * <p>The master user name of the database.</p>
830      */
WithMasterUsername(const Aws::String & value)831     inline RelationalDatabase& WithMasterUsername(const Aws::String& value) { SetMasterUsername(value); return *this;}
832 
833     /**
834      * <p>The master user name of the database.</p>
835      */
WithMasterUsername(Aws::String && value)836     inline RelationalDatabase& WithMasterUsername(Aws::String&& value) { SetMasterUsername(std::move(value)); return *this;}
837 
838     /**
839      * <p>The master user name of the database.</p>
840      */
WithMasterUsername(const char * value)841     inline RelationalDatabase& WithMasterUsername(const char* value) { SetMasterUsername(value); return *this;}
842 
843 
844     /**
845      * <p>The status of parameter updates for the database.</p>
846      */
GetParameterApplyStatus()847     inline const Aws::String& GetParameterApplyStatus() const{ return m_parameterApplyStatus; }
848 
849     /**
850      * <p>The status of parameter updates for the database.</p>
851      */
ParameterApplyStatusHasBeenSet()852     inline bool ParameterApplyStatusHasBeenSet() const { return m_parameterApplyStatusHasBeenSet; }
853 
854     /**
855      * <p>The status of parameter updates for the database.</p>
856      */
SetParameterApplyStatus(const Aws::String & value)857     inline void SetParameterApplyStatus(const Aws::String& value) { m_parameterApplyStatusHasBeenSet = true; m_parameterApplyStatus = value; }
858 
859     /**
860      * <p>The status of parameter updates for the database.</p>
861      */
SetParameterApplyStatus(Aws::String && value)862     inline void SetParameterApplyStatus(Aws::String&& value) { m_parameterApplyStatusHasBeenSet = true; m_parameterApplyStatus = std::move(value); }
863 
864     /**
865      * <p>The status of parameter updates for the database.</p>
866      */
SetParameterApplyStatus(const char * value)867     inline void SetParameterApplyStatus(const char* value) { m_parameterApplyStatusHasBeenSet = true; m_parameterApplyStatus.assign(value); }
868 
869     /**
870      * <p>The status of parameter updates for the database.</p>
871      */
WithParameterApplyStatus(const Aws::String & value)872     inline RelationalDatabase& WithParameterApplyStatus(const Aws::String& value) { SetParameterApplyStatus(value); return *this;}
873 
874     /**
875      * <p>The status of parameter updates for the database.</p>
876      */
WithParameterApplyStatus(Aws::String && value)877     inline RelationalDatabase& WithParameterApplyStatus(Aws::String&& value) { SetParameterApplyStatus(std::move(value)); return *this;}
878 
879     /**
880      * <p>The status of parameter updates for the database.</p>
881      */
WithParameterApplyStatus(const char * value)882     inline RelationalDatabase& WithParameterApplyStatus(const char* value) { SetParameterApplyStatus(value); return *this;}
883 
884 
885     /**
886      * <p>The daily time range during which automated backups are created for the
887      * database (for example, <code>16:00-16:30</code>).</p>
888      */
GetPreferredBackupWindow()889     inline const Aws::String& GetPreferredBackupWindow() const{ return m_preferredBackupWindow; }
890 
891     /**
892      * <p>The daily time range during which automated backups are created for the
893      * database (for example, <code>16:00-16:30</code>).</p>
894      */
PreferredBackupWindowHasBeenSet()895     inline bool PreferredBackupWindowHasBeenSet() const { return m_preferredBackupWindowHasBeenSet; }
896 
897     /**
898      * <p>The daily time range during which automated backups are created for the
899      * database (for example, <code>16:00-16:30</code>).</p>
900      */
SetPreferredBackupWindow(const Aws::String & value)901     inline void SetPreferredBackupWindow(const Aws::String& value) { m_preferredBackupWindowHasBeenSet = true; m_preferredBackupWindow = value; }
902 
903     /**
904      * <p>The daily time range during which automated backups are created for the
905      * database (for example, <code>16:00-16:30</code>).</p>
906      */
SetPreferredBackupWindow(Aws::String && value)907     inline void SetPreferredBackupWindow(Aws::String&& value) { m_preferredBackupWindowHasBeenSet = true; m_preferredBackupWindow = std::move(value); }
908 
909     /**
910      * <p>The daily time range during which automated backups are created for the
911      * database (for example, <code>16:00-16:30</code>).</p>
912      */
SetPreferredBackupWindow(const char * value)913     inline void SetPreferredBackupWindow(const char* value) { m_preferredBackupWindowHasBeenSet = true; m_preferredBackupWindow.assign(value); }
914 
915     /**
916      * <p>The daily time range during which automated backups are created for the
917      * database (for example, <code>16:00-16:30</code>).</p>
918      */
WithPreferredBackupWindow(const Aws::String & value)919     inline RelationalDatabase& WithPreferredBackupWindow(const Aws::String& value) { SetPreferredBackupWindow(value); return *this;}
920 
921     /**
922      * <p>The daily time range during which automated backups are created for the
923      * database (for example, <code>16:00-16:30</code>).</p>
924      */
WithPreferredBackupWindow(Aws::String && value)925     inline RelationalDatabase& WithPreferredBackupWindow(Aws::String&& value) { SetPreferredBackupWindow(std::move(value)); return *this;}
926 
927     /**
928      * <p>The daily time range during which automated backups are created for the
929      * database (for example, <code>16:00-16:30</code>).</p>
930      */
WithPreferredBackupWindow(const char * value)931     inline RelationalDatabase& WithPreferredBackupWindow(const char* value) { SetPreferredBackupWindow(value); return *this;}
932 
933 
934     /**
935      * <p>The weekly time range during which system maintenance can occur on the
936      * database.</p> <p>In the format <code>ddd:hh24:mi-ddd:hh24:mi</code>. For
937      * example, <code>Tue:17:00-Tue:17:30</code>.</p>
938      */
GetPreferredMaintenanceWindow()939     inline const Aws::String& GetPreferredMaintenanceWindow() const{ return m_preferredMaintenanceWindow; }
940 
941     /**
942      * <p>The weekly time range during which system maintenance can occur on the
943      * database.</p> <p>In the format <code>ddd:hh24:mi-ddd:hh24:mi</code>. For
944      * example, <code>Tue:17:00-Tue:17:30</code>.</p>
945      */
PreferredMaintenanceWindowHasBeenSet()946     inline bool PreferredMaintenanceWindowHasBeenSet() const { return m_preferredMaintenanceWindowHasBeenSet; }
947 
948     /**
949      * <p>The weekly time range during which system maintenance can occur on the
950      * database.</p> <p>In the format <code>ddd:hh24:mi-ddd:hh24:mi</code>. For
951      * example, <code>Tue:17:00-Tue:17:30</code>.</p>
952      */
SetPreferredMaintenanceWindow(const Aws::String & value)953     inline void SetPreferredMaintenanceWindow(const Aws::String& value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow = value; }
954 
955     /**
956      * <p>The weekly time range during which system maintenance can occur on the
957      * database.</p> <p>In the format <code>ddd:hh24:mi-ddd:hh24:mi</code>. For
958      * example, <code>Tue:17:00-Tue:17:30</code>.</p>
959      */
SetPreferredMaintenanceWindow(Aws::String && value)960     inline void SetPreferredMaintenanceWindow(Aws::String&& value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow = std::move(value); }
961 
962     /**
963      * <p>The weekly time range during which system maintenance can occur on the
964      * database.</p> <p>In the format <code>ddd:hh24:mi-ddd:hh24:mi</code>. For
965      * example, <code>Tue:17:00-Tue:17:30</code>.</p>
966      */
SetPreferredMaintenanceWindow(const char * value)967     inline void SetPreferredMaintenanceWindow(const char* value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow.assign(value); }
968 
969     /**
970      * <p>The weekly time range during which system maintenance can occur on the
971      * database.</p> <p>In the format <code>ddd:hh24:mi-ddd:hh24:mi</code>. For
972      * example, <code>Tue:17:00-Tue:17:30</code>.</p>
973      */
WithPreferredMaintenanceWindow(const Aws::String & value)974     inline RelationalDatabase& WithPreferredMaintenanceWindow(const Aws::String& value) { SetPreferredMaintenanceWindow(value); return *this;}
975 
976     /**
977      * <p>The weekly time range during which system maintenance can occur on the
978      * database.</p> <p>In the format <code>ddd:hh24:mi-ddd:hh24:mi</code>. For
979      * example, <code>Tue:17:00-Tue:17:30</code>.</p>
980      */
WithPreferredMaintenanceWindow(Aws::String && value)981     inline RelationalDatabase& WithPreferredMaintenanceWindow(Aws::String&& value) { SetPreferredMaintenanceWindow(std::move(value)); return *this;}
982 
983     /**
984      * <p>The weekly time range during which system maintenance can occur on the
985      * database.</p> <p>In the format <code>ddd:hh24:mi-ddd:hh24:mi</code>. For
986      * example, <code>Tue:17:00-Tue:17:30</code>.</p>
987      */
WithPreferredMaintenanceWindow(const char * value)988     inline RelationalDatabase& WithPreferredMaintenanceWindow(const char* value) { SetPreferredMaintenanceWindow(value); return *this;}
989 
990 
991     /**
992      * <p>A Boolean value indicating whether the database is publicly accessible.</p>
993      */
GetPubliclyAccessible()994     inline bool GetPubliclyAccessible() const{ return m_publiclyAccessible; }
995 
996     /**
997      * <p>A Boolean value indicating whether the database is publicly accessible.</p>
998      */
PubliclyAccessibleHasBeenSet()999     inline bool PubliclyAccessibleHasBeenSet() const { return m_publiclyAccessibleHasBeenSet; }
1000 
1001     /**
1002      * <p>A Boolean value indicating whether the database is publicly accessible.</p>
1003      */
SetPubliclyAccessible(bool value)1004     inline void SetPubliclyAccessible(bool value) { m_publiclyAccessibleHasBeenSet = true; m_publiclyAccessible = value; }
1005 
1006     /**
1007      * <p>A Boolean value indicating whether the database is publicly accessible.</p>
1008      */
WithPubliclyAccessible(bool value)1009     inline RelationalDatabase& WithPubliclyAccessible(bool value) { SetPubliclyAccessible(value); return *this;}
1010 
1011 
1012     /**
1013      * <p>The master endpoint for the database.</p>
1014      */
GetMasterEndpoint()1015     inline const RelationalDatabaseEndpoint& GetMasterEndpoint() const{ return m_masterEndpoint; }
1016 
1017     /**
1018      * <p>The master endpoint for the database.</p>
1019      */
MasterEndpointHasBeenSet()1020     inline bool MasterEndpointHasBeenSet() const { return m_masterEndpointHasBeenSet; }
1021 
1022     /**
1023      * <p>The master endpoint for the database.</p>
1024      */
SetMasterEndpoint(const RelationalDatabaseEndpoint & value)1025     inline void SetMasterEndpoint(const RelationalDatabaseEndpoint& value) { m_masterEndpointHasBeenSet = true; m_masterEndpoint = value; }
1026 
1027     /**
1028      * <p>The master endpoint for the database.</p>
1029      */
SetMasterEndpoint(RelationalDatabaseEndpoint && value)1030     inline void SetMasterEndpoint(RelationalDatabaseEndpoint&& value) { m_masterEndpointHasBeenSet = true; m_masterEndpoint = std::move(value); }
1031 
1032     /**
1033      * <p>The master endpoint for the database.</p>
1034      */
WithMasterEndpoint(const RelationalDatabaseEndpoint & value)1035     inline RelationalDatabase& WithMasterEndpoint(const RelationalDatabaseEndpoint& value) { SetMasterEndpoint(value); return *this;}
1036 
1037     /**
1038      * <p>The master endpoint for the database.</p>
1039      */
WithMasterEndpoint(RelationalDatabaseEndpoint && value)1040     inline RelationalDatabase& WithMasterEndpoint(RelationalDatabaseEndpoint&& value) { SetMasterEndpoint(std::move(value)); return *this;}
1041 
1042 
1043     /**
1044      * <p>Describes the pending maintenance actions for the database.</p>
1045      */
GetPendingMaintenanceActions()1046     inline const Aws::Vector<PendingMaintenanceAction>& GetPendingMaintenanceActions() const{ return m_pendingMaintenanceActions; }
1047 
1048     /**
1049      * <p>Describes the pending maintenance actions for the database.</p>
1050      */
PendingMaintenanceActionsHasBeenSet()1051     inline bool PendingMaintenanceActionsHasBeenSet() const { return m_pendingMaintenanceActionsHasBeenSet; }
1052 
1053     /**
1054      * <p>Describes the pending maintenance actions for the database.</p>
1055      */
SetPendingMaintenanceActions(const Aws::Vector<PendingMaintenanceAction> & value)1056     inline void SetPendingMaintenanceActions(const Aws::Vector<PendingMaintenanceAction>& value) { m_pendingMaintenanceActionsHasBeenSet = true; m_pendingMaintenanceActions = value; }
1057 
1058     /**
1059      * <p>Describes the pending maintenance actions for the database.</p>
1060      */
SetPendingMaintenanceActions(Aws::Vector<PendingMaintenanceAction> && value)1061     inline void SetPendingMaintenanceActions(Aws::Vector<PendingMaintenanceAction>&& value) { m_pendingMaintenanceActionsHasBeenSet = true; m_pendingMaintenanceActions = std::move(value); }
1062 
1063     /**
1064      * <p>Describes the pending maintenance actions for the database.</p>
1065      */
WithPendingMaintenanceActions(const Aws::Vector<PendingMaintenanceAction> & value)1066     inline RelationalDatabase& WithPendingMaintenanceActions(const Aws::Vector<PendingMaintenanceAction>& value) { SetPendingMaintenanceActions(value); return *this;}
1067 
1068     /**
1069      * <p>Describes the pending maintenance actions for the database.</p>
1070      */
WithPendingMaintenanceActions(Aws::Vector<PendingMaintenanceAction> && value)1071     inline RelationalDatabase& WithPendingMaintenanceActions(Aws::Vector<PendingMaintenanceAction>&& value) { SetPendingMaintenanceActions(std::move(value)); return *this;}
1072 
1073     /**
1074      * <p>Describes the pending maintenance actions for the database.</p>
1075      */
AddPendingMaintenanceActions(const PendingMaintenanceAction & value)1076     inline RelationalDatabase& AddPendingMaintenanceActions(const PendingMaintenanceAction& value) { m_pendingMaintenanceActionsHasBeenSet = true; m_pendingMaintenanceActions.push_back(value); return *this; }
1077 
1078     /**
1079      * <p>Describes the pending maintenance actions for the database.</p>
1080      */
AddPendingMaintenanceActions(PendingMaintenanceAction && value)1081     inline RelationalDatabase& AddPendingMaintenanceActions(PendingMaintenanceAction&& value) { m_pendingMaintenanceActionsHasBeenSet = true; m_pendingMaintenanceActions.push_back(std::move(value)); return *this; }
1082 
1083 
1084     /**
1085      * <p>The certificate associated with the database.</p>
1086      */
GetCaCertificateIdentifier()1087     inline const Aws::String& GetCaCertificateIdentifier() const{ return m_caCertificateIdentifier; }
1088 
1089     /**
1090      * <p>The certificate associated with the database.</p>
1091      */
CaCertificateIdentifierHasBeenSet()1092     inline bool CaCertificateIdentifierHasBeenSet() const { return m_caCertificateIdentifierHasBeenSet; }
1093 
1094     /**
1095      * <p>The certificate associated with the database.</p>
1096      */
SetCaCertificateIdentifier(const Aws::String & value)1097     inline void SetCaCertificateIdentifier(const Aws::String& value) { m_caCertificateIdentifierHasBeenSet = true; m_caCertificateIdentifier = value; }
1098 
1099     /**
1100      * <p>The certificate associated with the database.</p>
1101      */
SetCaCertificateIdentifier(Aws::String && value)1102     inline void SetCaCertificateIdentifier(Aws::String&& value) { m_caCertificateIdentifierHasBeenSet = true; m_caCertificateIdentifier = std::move(value); }
1103 
1104     /**
1105      * <p>The certificate associated with the database.</p>
1106      */
SetCaCertificateIdentifier(const char * value)1107     inline void SetCaCertificateIdentifier(const char* value) { m_caCertificateIdentifierHasBeenSet = true; m_caCertificateIdentifier.assign(value); }
1108 
1109     /**
1110      * <p>The certificate associated with the database.</p>
1111      */
WithCaCertificateIdentifier(const Aws::String & value)1112     inline RelationalDatabase& WithCaCertificateIdentifier(const Aws::String& value) { SetCaCertificateIdentifier(value); return *this;}
1113 
1114     /**
1115      * <p>The certificate associated with the database.</p>
1116      */
WithCaCertificateIdentifier(Aws::String && value)1117     inline RelationalDatabase& WithCaCertificateIdentifier(Aws::String&& value) { SetCaCertificateIdentifier(std::move(value)); return *this;}
1118 
1119     /**
1120      * <p>The certificate associated with the database.</p>
1121      */
WithCaCertificateIdentifier(const char * value)1122     inline RelationalDatabase& WithCaCertificateIdentifier(const char* value) { SetCaCertificateIdentifier(value); return *this;}
1123 
1124   private:
1125 
1126     Aws::String m_name;
1127     bool m_nameHasBeenSet;
1128 
1129     Aws::String m_arn;
1130     bool m_arnHasBeenSet;
1131 
1132     Aws::String m_supportCode;
1133     bool m_supportCodeHasBeenSet;
1134 
1135     Aws::Utils::DateTime m_createdAt;
1136     bool m_createdAtHasBeenSet;
1137 
1138     ResourceLocation m_location;
1139     bool m_locationHasBeenSet;
1140 
1141     ResourceType m_resourceType;
1142     bool m_resourceTypeHasBeenSet;
1143 
1144     Aws::Vector<Tag> m_tags;
1145     bool m_tagsHasBeenSet;
1146 
1147     Aws::String m_relationalDatabaseBlueprintId;
1148     bool m_relationalDatabaseBlueprintIdHasBeenSet;
1149 
1150     Aws::String m_relationalDatabaseBundleId;
1151     bool m_relationalDatabaseBundleIdHasBeenSet;
1152 
1153     Aws::String m_masterDatabaseName;
1154     bool m_masterDatabaseNameHasBeenSet;
1155 
1156     RelationalDatabaseHardware m_hardware;
1157     bool m_hardwareHasBeenSet;
1158 
1159     Aws::String m_state;
1160     bool m_stateHasBeenSet;
1161 
1162     Aws::String m_secondaryAvailabilityZone;
1163     bool m_secondaryAvailabilityZoneHasBeenSet;
1164 
1165     bool m_backupRetentionEnabled;
1166     bool m_backupRetentionEnabledHasBeenSet;
1167 
1168     PendingModifiedRelationalDatabaseValues m_pendingModifiedValues;
1169     bool m_pendingModifiedValuesHasBeenSet;
1170 
1171     Aws::String m_engine;
1172     bool m_engineHasBeenSet;
1173 
1174     Aws::String m_engineVersion;
1175     bool m_engineVersionHasBeenSet;
1176 
1177     Aws::Utils::DateTime m_latestRestorableTime;
1178     bool m_latestRestorableTimeHasBeenSet;
1179 
1180     Aws::String m_masterUsername;
1181     bool m_masterUsernameHasBeenSet;
1182 
1183     Aws::String m_parameterApplyStatus;
1184     bool m_parameterApplyStatusHasBeenSet;
1185 
1186     Aws::String m_preferredBackupWindow;
1187     bool m_preferredBackupWindowHasBeenSet;
1188 
1189     Aws::String m_preferredMaintenanceWindow;
1190     bool m_preferredMaintenanceWindowHasBeenSet;
1191 
1192     bool m_publiclyAccessible;
1193     bool m_publiclyAccessibleHasBeenSet;
1194 
1195     RelationalDatabaseEndpoint m_masterEndpoint;
1196     bool m_masterEndpointHasBeenSet;
1197 
1198     Aws::Vector<PendingMaintenanceAction> m_pendingMaintenanceActions;
1199     bool m_pendingMaintenanceActionsHasBeenSet;
1200 
1201     Aws::String m_caCertificateIdentifier;
1202     bool m_caCertificateIdentifierHasBeenSet;
1203   };
1204 
1205 } // namespace Model
1206 } // namespace Lightsail
1207 } // namespace Aws
1208