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 <aws/core/utils/memory/stl/AWSVector.h>
10 #include <aws/apigateway/model/SdkConfigurationProperty.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 APIGateway
24 {
25 namespace Model
26 {
27 
28   /**
29    * <p>A type of SDK that API Gateway can generate.</p><p><h3>See Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/SdkType">AWS
31    * API Reference</a></p>
32    */
33   class AWS_APIGATEWAY_API SdkType
34   {
35   public:
36     SdkType();
37     SdkType(Aws::Utils::Json::JsonView jsonValue);
38     SdkType& operator=(Aws::Utils::Json::JsonView jsonValue);
39     Aws::Utils::Json::JsonValue Jsonize() const;
40 
41 
42     /**
43      * <p>The identifier of an <a>SdkType</a> instance.</p>
44      */
GetId()45     inline const Aws::String& GetId() const{ return m_id; }
46 
47     /**
48      * <p>The identifier of an <a>SdkType</a> instance.</p>
49      */
IdHasBeenSet()50     inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
51 
52     /**
53      * <p>The identifier of an <a>SdkType</a> instance.</p>
54      */
SetId(const Aws::String & value)55     inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
56 
57     /**
58      * <p>The identifier of an <a>SdkType</a> instance.</p>
59      */
SetId(Aws::String && value)60     inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); }
61 
62     /**
63      * <p>The identifier of an <a>SdkType</a> instance.</p>
64      */
SetId(const char * value)65     inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
66 
67     /**
68      * <p>The identifier of an <a>SdkType</a> instance.</p>
69      */
WithId(const Aws::String & value)70     inline SdkType& WithId(const Aws::String& value) { SetId(value); return *this;}
71 
72     /**
73      * <p>The identifier of an <a>SdkType</a> instance.</p>
74      */
WithId(Aws::String && value)75     inline SdkType& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
76 
77     /**
78      * <p>The identifier of an <a>SdkType</a> instance.</p>
79      */
WithId(const char * value)80     inline SdkType& WithId(const char* value) { SetId(value); return *this;}
81 
82 
83     /**
84      * <p>The user-friendly name of an <a>SdkType</a> instance.</p>
85      */
GetFriendlyName()86     inline const Aws::String& GetFriendlyName() const{ return m_friendlyName; }
87 
88     /**
89      * <p>The user-friendly name of an <a>SdkType</a> instance.</p>
90      */
FriendlyNameHasBeenSet()91     inline bool FriendlyNameHasBeenSet() const { return m_friendlyNameHasBeenSet; }
92 
93     /**
94      * <p>The user-friendly name of an <a>SdkType</a> instance.</p>
95      */
SetFriendlyName(const Aws::String & value)96     inline void SetFriendlyName(const Aws::String& value) { m_friendlyNameHasBeenSet = true; m_friendlyName = value; }
97 
98     /**
99      * <p>The user-friendly name of an <a>SdkType</a> instance.</p>
100      */
SetFriendlyName(Aws::String && value)101     inline void SetFriendlyName(Aws::String&& value) { m_friendlyNameHasBeenSet = true; m_friendlyName = std::move(value); }
102 
103     /**
104      * <p>The user-friendly name of an <a>SdkType</a> instance.</p>
105      */
SetFriendlyName(const char * value)106     inline void SetFriendlyName(const char* value) { m_friendlyNameHasBeenSet = true; m_friendlyName.assign(value); }
107 
108     /**
109      * <p>The user-friendly name of an <a>SdkType</a> instance.</p>
110      */
WithFriendlyName(const Aws::String & value)111     inline SdkType& WithFriendlyName(const Aws::String& value) { SetFriendlyName(value); return *this;}
112 
113     /**
114      * <p>The user-friendly name of an <a>SdkType</a> instance.</p>
115      */
WithFriendlyName(Aws::String && value)116     inline SdkType& WithFriendlyName(Aws::String&& value) { SetFriendlyName(std::move(value)); return *this;}
117 
118     /**
119      * <p>The user-friendly name of an <a>SdkType</a> instance.</p>
120      */
WithFriendlyName(const char * value)121     inline SdkType& WithFriendlyName(const char* value) { SetFriendlyName(value); return *this;}
122 
123 
124     /**
125      * <p>The description of an <a>SdkType</a>.</p>
126      */
GetDescription()127     inline const Aws::String& GetDescription() const{ return m_description; }
128 
129     /**
130      * <p>The description of an <a>SdkType</a>.</p>
131      */
DescriptionHasBeenSet()132     inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
133 
134     /**
135      * <p>The description of an <a>SdkType</a>.</p>
136      */
SetDescription(const Aws::String & value)137     inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
138 
139     /**
140      * <p>The description of an <a>SdkType</a>.</p>
141      */
SetDescription(Aws::String && value)142     inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
143 
144     /**
145      * <p>The description of an <a>SdkType</a>.</p>
146      */
SetDescription(const char * value)147     inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
148 
149     /**
150      * <p>The description of an <a>SdkType</a>.</p>
151      */
WithDescription(const Aws::String & value)152     inline SdkType& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
153 
154     /**
155      * <p>The description of an <a>SdkType</a>.</p>
156      */
WithDescription(Aws::String && value)157     inline SdkType& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
158 
159     /**
160      * <p>The description of an <a>SdkType</a>.</p>
161      */
WithDescription(const char * value)162     inline SdkType& WithDescription(const char* value) { SetDescription(value); return *this;}
163 
164 
165     /**
166      * <p>A list of configuration properties of an <a>SdkType</a>.</p>
167      */
GetConfigurationProperties()168     inline const Aws::Vector<SdkConfigurationProperty>& GetConfigurationProperties() const{ return m_configurationProperties; }
169 
170     /**
171      * <p>A list of configuration properties of an <a>SdkType</a>.</p>
172      */
ConfigurationPropertiesHasBeenSet()173     inline bool ConfigurationPropertiesHasBeenSet() const { return m_configurationPropertiesHasBeenSet; }
174 
175     /**
176      * <p>A list of configuration properties of an <a>SdkType</a>.</p>
177      */
SetConfigurationProperties(const Aws::Vector<SdkConfigurationProperty> & value)178     inline void SetConfigurationProperties(const Aws::Vector<SdkConfigurationProperty>& value) { m_configurationPropertiesHasBeenSet = true; m_configurationProperties = value; }
179 
180     /**
181      * <p>A list of configuration properties of an <a>SdkType</a>.</p>
182      */
SetConfigurationProperties(Aws::Vector<SdkConfigurationProperty> && value)183     inline void SetConfigurationProperties(Aws::Vector<SdkConfigurationProperty>&& value) { m_configurationPropertiesHasBeenSet = true; m_configurationProperties = std::move(value); }
184 
185     /**
186      * <p>A list of configuration properties of an <a>SdkType</a>.</p>
187      */
WithConfigurationProperties(const Aws::Vector<SdkConfigurationProperty> & value)188     inline SdkType& WithConfigurationProperties(const Aws::Vector<SdkConfigurationProperty>& value) { SetConfigurationProperties(value); return *this;}
189 
190     /**
191      * <p>A list of configuration properties of an <a>SdkType</a>.</p>
192      */
WithConfigurationProperties(Aws::Vector<SdkConfigurationProperty> && value)193     inline SdkType& WithConfigurationProperties(Aws::Vector<SdkConfigurationProperty>&& value) { SetConfigurationProperties(std::move(value)); return *this;}
194 
195     /**
196      * <p>A list of configuration properties of an <a>SdkType</a>.</p>
197      */
AddConfigurationProperties(const SdkConfigurationProperty & value)198     inline SdkType& AddConfigurationProperties(const SdkConfigurationProperty& value) { m_configurationPropertiesHasBeenSet = true; m_configurationProperties.push_back(value); return *this; }
199 
200     /**
201      * <p>A list of configuration properties of an <a>SdkType</a>.</p>
202      */
AddConfigurationProperties(SdkConfigurationProperty && value)203     inline SdkType& AddConfigurationProperties(SdkConfigurationProperty&& value) { m_configurationPropertiesHasBeenSet = true; m_configurationProperties.push_back(std::move(value)); return *this; }
204 
205   private:
206 
207     Aws::String m_id;
208     bool m_idHasBeenSet;
209 
210     Aws::String m_friendlyName;
211     bool m_friendlyNameHasBeenSet;
212 
213     Aws::String m_description;
214     bool m_descriptionHasBeenSet;
215 
216     Aws::Vector<SdkConfigurationProperty> m_configurationProperties;
217     bool m_configurationPropertiesHasBeenSet;
218   };
219 
220 } // namespace Model
221 } // namespace APIGateway
222 } // namespace Aws
223