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/opsworkscm/OpsWorksCM_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <utility>
10 
11 namespace Aws
12 {
13 namespace Utils
14 {
15 namespace Json
16 {
17   class JsonValue;
18   class JsonView;
19 } // namespace Json
20 } // namespace Utils
21 namespace OpsWorksCM
22 {
23 namespace Model
24 {
25 
26   /**
27    * <p>Stores account attributes. </p><p><h3>See Also:</h3>   <a
28    * href="http://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/AccountAttribute">AWS
29    * API Reference</a></p>
30    */
31   class AWS_OPSWORKSCM_API AccountAttribute
32   {
33   public:
34     AccountAttribute();
35     AccountAttribute(Aws::Utils::Json::JsonView jsonValue);
36     AccountAttribute& operator=(Aws::Utils::Json::JsonView jsonValue);
37     Aws::Utils::Json::JsonValue Jsonize() const;
38 
39 
40     /**
41      * <p> The attribute name. The following are supported attribute names. </p> <ul>
42      * <li> <p> <i>ServerLimit:</i> The number of current servers/maximum number of
43      * servers allowed. By default, you can have a maximum of 10 servers. </p> </li>
44      * <li> <p> <i>ManualBackupLimit:</i> The number of current manual backups/maximum
45      * number of backups allowed. By default, you can have a maximum of 50 manual
46      * backups saved. </p> </li> </ul>
47      */
GetName()48     inline const Aws::String& GetName() const{ return m_name; }
49 
50     /**
51      * <p> The attribute name. The following are supported attribute names. </p> <ul>
52      * <li> <p> <i>ServerLimit:</i> The number of current servers/maximum number of
53      * servers allowed. By default, you can have a maximum of 10 servers. </p> </li>
54      * <li> <p> <i>ManualBackupLimit:</i> The number of current manual backups/maximum
55      * number of backups allowed. By default, you can have a maximum of 50 manual
56      * backups saved. </p> </li> </ul>
57      */
NameHasBeenSet()58     inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
59 
60     /**
61      * <p> The attribute name. The following are supported attribute names. </p> <ul>
62      * <li> <p> <i>ServerLimit:</i> The number of current servers/maximum number of
63      * servers allowed. By default, you can have a maximum of 10 servers. </p> </li>
64      * <li> <p> <i>ManualBackupLimit:</i> The number of current manual backups/maximum
65      * number of backups allowed. By default, you can have a maximum of 50 manual
66      * backups saved. </p> </li> </ul>
67      */
SetName(const Aws::String & value)68     inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
69 
70     /**
71      * <p> The attribute name. The following are supported attribute names. </p> <ul>
72      * <li> <p> <i>ServerLimit:</i> The number of current servers/maximum number of
73      * servers allowed. By default, you can have a maximum of 10 servers. </p> </li>
74      * <li> <p> <i>ManualBackupLimit:</i> The number of current manual backups/maximum
75      * number of backups allowed. By default, you can have a maximum of 50 manual
76      * backups saved. </p> </li> </ul>
77      */
SetName(Aws::String && value)78     inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
79 
80     /**
81      * <p> The attribute name. The following are supported attribute names. </p> <ul>
82      * <li> <p> <i>ServerLimit:</i> The number of current servers/maximum number of
83      * servers allowed. By default, you can have a maximum of 10 servers. </p> </li>
84      * <li> <p> <i>ManualBackupLimit:</i> The number of current manual backups/maximum
85      * number of backups allowed. By default, you can have a maximum of 50 manual
86      * backups saved. </p> </li> </ul>
87      */
SetName(const char * value)88     inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
89 
90     /**
91      * <p> The attribute name. The following are supported attribute names. </p> <ul>
92      * <li> <p> <i>ServerLimit:</i> The number of current servers/maximum number of
93      * servers allowed. By default, you can have a maximum of 10 servers. </p> </li>
94      * <li> <p> <i>ManualBackupLimit:</i> The number of current manual backups/maximum
95      * number of backups allowed. By default, you can have a maximum of 50 manual
96      * backups saved. </p> </li> </ul>
97      */
WithName(const Aws::String & value)98     inline AccountAttribute& WithName(const Aws::String& value) { SetName(value); return *this;}
99 
100     /**
101      * <p> The attribute name. The following are supported attribute names. </p> <ul>
102      * <li> <p> <i>ServerLimit:</i> The number of current servers/maximum number of
103      * servers allowed. By default, you can have a maximum of 10 servers. </p> </li>
104      * <li> <p> <i>ManualBackupLimit:</i> The number of current manual backups/maximum
105      * number of backups allowed. By default, you can have a maximum of 50 manual
106      * backups saved. </p> </li> </ul>
107      */
WithName(Aws::String && value)108     inline AccountAttribute& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
109 
110     /**
111      * <p> The attribute name. The following are supported attribute names. </p> <ul>
112      * <li> <p> <i>ServerLimit:</i> The number of current servers/maximum number of
113      * servers allowed. By default, you can have a maximum of 10 servers. </p> </li>
114      * <li> <p> <i>ManualBackupLimit:</i> The number of current manual backups/maximum
115      * number of backups allowed. By default, you can have a maximum of 50 manual
116      * backups saved. </p> </li> </ul>
117      */
WithName(const char * value)118     inline AccountAttribute& WithName(const char* value) { SetName(value); return *this;}
119 
120 
121     /**
122      * <p> The maximum allowed value. </p>
123      */
GetMaximum()124     inline int GetMaximum() const{ return m_maximum; }
125 
126     /**
127      * <p> The maximum allowed value. </p>
128      */
MaximumHasBeenSet()129     inline bool MaximumHasBeenSet() const { return m_maximumHasBeenSet; }
130 
131     /**
132      * <p> The maximum allowed value. </p>
133      */
SetMaximum(int value)134     inline void SetMaximum(int value) { m_maximumHasBeenSet = true; m_maximum = value; }
135 
136     /**
137      * <p> The maximum allowed value. </p>
138      */
WithMaximum(int value)139     inline AccountAttribute& WithMaximum(int value) { SetMaximum(value); return *this;}
140 
141 
142     /**
143      * <p> The current usage, such as the current number of servers that are associated
144      * with the account. </p>
145      */
GetUsed()146     inline int GetUsed() const{ return m_used; }
147 
148     /**
149      * <p> The current usage, such as the current number of servers that are associated
150      * with the account. </p>
151      */
UsedHasBeenSet()152     inline bool UsedHasBeenSet() const { return m_usedHasBeenSet; }
153 
154     /**
155      * <p> The current usage, such as the current number of servers that are associated
156      * with the account. </p>
157      */
SetUsed(int value)158     inline void SetUsed(int value) { m_usedHasBeenSet = true; m_used = value; }
159 
160     /**
161      * <p> The current usage, such as the current number of servers that are associated
162      * with the account. </p>
163      */
WithUsed(int value)164     inline AccountAttribute& WithUsed(int value) { SetUsed(value); return *this;}
165 
166   private:
167 
168     Aws::String m_name;
169     bool m_nameHasBeenSet;
170 
171     int m_maximum;
172     bool m_maximumHasBeenSet;
173 
174     int m_used;
175     bool m_usedHasBeenSet;
176   };
177 
178 } // namespace Model
179 } // namespace OpsWorksCM
180 } // namespace Aws
181