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>The version for an option. Option group option versions are returned by the
28    * <code>DescribeOptionGroupOptions</code> action.</p><p><h3>See Also:</h3>   <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/OptionVersion">AWS
30    * API Reference</a></p>
31    */
32   class AWS_RDS_API OptionVersion
33   {
34   public:
35     OptionVersion();
36     OptionVersion(const Aws::Utils::Xml::XmlNode& xmlNode);
37     OptionVersion& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
38 
39     void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
40     void OutputToStream(Aws::OStream& oStream, const char* location) const;
41 
42 
43     /**
44      * <p>The version of the option.</p>
45      */
GetVersion()46     inline const Aws::String& GetVersion() const{ return m_version; }
47 
48     /**
49      * <p>The version of the option.</p>
50      */
VersionHasBeenSet()51     inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; }
52 
53     /**
54      * <p>The version of the option.</p>
55      */
SetVersion(const Aws::String & value)56     inline void SetVersion(const Aws::String& value) { m_versionHasBeenSet = true; m_version = value; }
57 
58     /**
59      * <p>The version of the option.</p>
60      */
SetVersion(Aws::String && value)61     inline void SetVersion(Aws::String&& value) { m_versionHasBeenSet = true; m_version = std::move(value); }
62 
63     /**
64      * <p>The version of the option.</p>
65      */
SetVersion(const char * value)66     inline void SetVersion(const char* value) { m_versionHasBeenSet = true; m_version.assign(value); }
67 
68     /**
69      * <p>The version of the option.</p>
70      */
WithVersion(const Aws::String & value)71     inline OptionVersion& WithVersion(const Aws::String& value) { SetVersion(value); return *this;}
72 
73     /**
74      * <p>The version of the option.</p>
75      */
WithVersion(Aws::String && value)76     inline OptionVersion& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;}
77 
78     /**
79      * <p>The version of the option.</p>
80      */
WithVersion(const char * value)81     inline OptionVersion& WithVersion(const char* value) { SetVersion(value); return *this;}
82 
83 
84     /**
85      * <p>True if the version is the default version of the option, and otherwise
86      * false.</p>
87      */
GetIsDefault()88     inline bool GetIsDefault() const{ return m_isDefault; }
89 
90     /**
91      * <p>True if the version is the default version of the option, and otherwise
92      * false.</p>
93      */
IsDefaultHasBeenSet()94     inline bool IsDefaultHasBeenSet() const { return m_isDefaultHasBeenSet; }
95 
96     /**
97      * <p>True if the version is the default version of the option, and otherwise
98      * false.</p>
99      */
SetIsDefault(bool value)100     inline void SetIsDefault(bool value) { m_isDefaultHasBeenSet = true; m_isDefault = value; }
101 
102     /**
103      * <p>True if the version is the default version of the option, and otherwise
104      * false.</p>
105      */
WithIsDefault(bool value)106     inline OptionVersion& WithIsDefault(bool value) { SetIsDefault(value); return *this;}
107 
108   private:
109 
110     Aws::String m_version;
111     bool m_versionHasBeenSet;
112 
113     bool m_isDefault;
114     bool m_isDefaultHasBeenSet;
115   };
116 
117 } // namespace Model
118 } // namespace RDS
119 } // namespace Aws
120