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/apigateway/APIGateway_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 APIGateway
22 {
23 namespace Model
24 {
25 
26   /**
27    * <p>A configuration property of an SDK type.</p><p><h3>See Also:</h3>   <a
28    * href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/SdkConfigurationProperty">AWS
29    * API Reference</a></p>
30    */
31   class AWS_APIGATEWAY_API SdkConfigurationProperty
32   {
33   public:
34     SdkConfigurationProperty();
35     SdkConfigurationProperty(Aws::Utils::Json::JsonView jsonValue);
36     SdkConfigurationProperty& operator=(Aws::Utils::Json::JsonView jsonValue);
37     Aws::Utils::Json::JsonValue Jsonize() const;
38 
39 
40     /**
41      * <p>The name of a an <a>SdkType</a> configuration property.</p>
42      */
GetName()43     inline const Aws::String& GetName() const{ return m_name; }
44 
45     /**
46      * <p>The name of a an <a>SdkType</a> configuration property.</p>
47      */
NameHasBeenSet()48     inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
49 
50     /**
51      * <p>The name of a an <a>SdkType</a> configuration property.</p>
52      */
SetName(const Aws::String & value)53     inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
54 
55     /**
56      * <p>The name of a an <a>SdkType</a> configuration property.</p>
57      */
SetName(Aws::String && value)58     inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
59 
60     /**
61      * <p>The name of a an <a>SdkType</a> configuration property.</p>
62      */
SetName(const char * value)63     inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
64 
65     /**
66      * <p>The name of a an <a>SdkType</a> configuration property.</p>
67      */
WithName(const Aws::String & value)68     inline SdkConfigurationProperty& WithName(const Aws::String& value) { SetName(value); return *this;}
69 
70     /**
71      * <p>The name of a an <a>SdkType</a> configuration property.</p>
72      */
WithName(Aws::String && value)73     inline SdkConfigurationProperty& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
74 
75     /**
76      * <p>The name of a an <a>SdkType</a> configuration property.</p>
77      */
WithName(const char * value)78     inline SdkConfigurationProperty& WithName(const char* value) { SetName(value); return *this;}
79 
80 
81     /**
82      * <p>The user-friendly name of an <a>SdkType</a> configuration property.</p>
83      */
GetFriendlyName()84     inline const Aws::String& GetFriendlyName() const{ return m_friendlyName; }
85 
86     /**
87      * <p>The user-friendly name of an <a>SdkType</a> configuration property.</p>
88      */
FriendlyNameHasBeenSet()89     inline bool FriendlyNameHasBeenSet() const { return m_friendlyNameHasBeenSet; }
90 
91     /**
92      * <p>The user-friendly name of an <a>SdkType</a> configuration property.</p>
93      */
SetFriendlyName(const Aws::String & value)94     inline void SetFriendlyName(const Aws::String& value) { m_friendlyNameHasBeenSet = true; m_friendlyName = value; }
95 
96     /**
97      * <p>The user-friendly name of an <a>SdkType</a> configuration property.</p>
98      */
SetFriendlyName(Aws::String && value)99     inline void SetFriendlyName(Aws::String&& value) { m_friendlyNameHasBeenSet = true; m_friendlyName = std::move(value); }
100 
101     /**
102      * <p>The user-friendly name of an <a>SdkType</a> configuration property.</p>
103      */
SetFriendlyName(const char * value)104     inline void SetFriendlyName(const char* value) { m_friendlyNameHasBeenSet = true; m_friendlyName.assign(value); }
105 
106     /**
107      * <p>The user-friendly name of an <a>SdkType</a> configuration property.</p>
108      */
WithFriendlyName(const Aws::String & value)109     inline SdkConfigurationProperty& WithFriendlyName(const Aws::String& value) { SetFriendlyName(value); return *this;}
110 
111     /**
112      * <p>The user-friendly name of an <a>SdkType</a> configuration property.</p>
113      */
WithFriendlyName(Aws::String && value)114     inline SdkConfigurationProperty& WithFriendlyName(Aws::String&& value) { SetFriendlyName(std::move(value)); return *this;}
115 
116     /**
117      * <p>The user-friendly name of an <a>SdkType</a> configuration property.</p>
118      */
WithFriendlyName(const char * value)119     inline SdkConfigurationProperty& WithFriendlyName(const char* value) { SetFriendlyName(value); return *this;}
120 
121 
122     /**
123      * <p>The description of an <a>SdkType</a> configuration property.</p>
124      */
GetDescription()125     inline const Aws::String& GetDescription() const{ return m_description; }
126 
127     /**
128      * <p>The description of an <a>SdkType</a> configuration property.</p>
129      */
DescriptionHasBeenSet()130     inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
131 
132     /**
133      * <p>The description of an <a>SdkType</a> configuration property.</p>
134      */
SetDescription(const Aws::String & value)135     inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
136 
137     /**
138      * <p>The description of an <a>SdkType</a> configuration property.</p>
139      */
SetDescription(Aws::String && value)140     inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
141 
142     /**
143      * <p>The description of an <a>SdkType</a> configuration property.</p>
144      */
SetDescription(const char * value)145     inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
146 
147     /**
148      * <p>The description of an <a>SdkType</a> configuration property.</p>
149      */
WithDescription(const Aws::String & value)150     inline SdkConfigurationProperty& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
151 
152     /**
153      * <p>The description of an <a>SdkType</a> configuration property.</p>
154      */
WithDescription(Aws::String && value)155     inline SdkConfigurationProperty& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
156 
157     /**
158      * <p>The description of an <a>SdkType</a> configuration property.</p>
159      */
WithDescription(const char * value)160     inline SdkConfigurationProperty& WithDescription(const char* value) { SetDescription(value); return *this;}
161 
162 
163     /**
164      * <p>A boolean flag of an <a>SdkType</a> configuration property to indicate if the
165      * associated SDK configuration property is required (<code>true</code>) or not
166      * (<code>false</code>).</p>
167      */
GetRequired()168     inline bool GetRequired() const{ return m_required; }
169 
170     /**
171      * <p>A boolean flag of an <a>SdkType</a> configuration property to indicate if the
172      * associated SDK configuration property is required (<code>true</code>) or not
173      * (<code>false</code>).</p>
174      */
RequiredHasBeenSet()175     inline bool RequiredHasBeenSet() const { return m_requiredHasBeenSet; }
176 
177     /**
178      * <p>A boolean flag of an <a>SdkType</a> configuration property to indicate if the
179      * associated SDK configuration property is required (<code>true</code>) or not
180      * (<code>false</code>).</p>
181      */
SetRequired(bool value)182     inline void SetRequired(bool value) { m_requiredHasBeenSet = true; m_required = value; }
183 
184     /**
185      * <p>A boolean flag of an <a>SdkType</a> configuration property to indicate if the
186      * associated SDK configuration property is required (<code>true</code>) or not
187      * (<code>false</code>).</p>
188      */
WithRequired(bool value)189     inline SdkConfigurationProperty& WithRequired(bool value) { SetRequired(value); return *this;}
190 
191 
192     /**
193      * <p>The default value of an <a>SdkType</a> configuration property.</p>
194      */
GetDefaultValue()195     inline const Aws::String& GetDefaultValue() const{ return m_defaultValue; }
196 
197     /**
198      * <p>The default value of an <a>SdkType</a> configuration property.</p>
199      */
DefaultValueHasBeenSet()200     inline bool DefaultValueHasBeenSet() const { return m_defaultValueHasBeenSet; }
201 
202     /**
203      * <p>The default value of an <a>SdkType</a> configuration property.</p>
204      */
SetDefaultValue(const Aws::String & value)205     inline void SetDefaultValue(const Aws::String& value) { m_defaultValueHasBeenSet = true; m_defaultValue = value; }
206 
207     /**
208      * <p>The default value of an <a>SdkType</a> configuration property.</p>
209      */
SetDefaultValue(Aws::String && value)210     inline void SetDefaultValue(Aws::String&& value) { m_defaultValueHasBeenSet = true; m_defaultValue = std::move(value); }
211 
212     /**
213      * <p>The default value of an <a>SdkType</a> configuration property.</p>
214      */
SetDefaultValue(const char * value)215     inline void SetDefaultValue(const char* value) { m_defaultValueHasBeenSet = true; m_defaultValue.assign(value); }
216 
217     /**
218      * <p>The default value of an <a>SdkType</a> configuration property.</p>
219      */
WithDefaultValue(const Aws::String & value)220     inline SdkConfigurationProperty& WithDefaultValue(const Aws::String& value) { SetDefaultValue(value); return *this;}
221 
222     /**
223      * <p>The default value of an <a>SdkType</a> configuration property.</p>
224      */
WithDefaultValue(Aws::String && value)225     inline SdkConfigurationProperty& WithDefaultValue(Aws::String&& value) { SetDefaultValue(std::move(value)); return *this;}
226 
227     /**
228      * <p>The default value of an <a>SdkType</a> configuration property.</p>
229      */
WithDefaultValue(const char * value)230     inline SdkConfigurationProperty& WithDefaultValue(const char* value) { SetDefaultValue(value); return *this;}
231 
232   private:
233 
234     Aws::String m_name;
235     bool m_nameHasBeenSet;
236 
237     Aws::String m_friendlyName;
238     bool m_friendlyNameHasBeenSet;
239 
240     Aws::String m_description;
241     bool m_descriptionHasBeenSet;
242 
243     bool m_required;
244     bool m_requiredHasBeenSet;
245 
246     Aws::String m_defaultValue;
247     bool m_defaultValueHasBeenSet;
248   };
249 
250 } // namespace Model
251 } // namespace APIGateway
252 } // namespace Aws
253