AWS SDK for C++  1.9.20
AWS SDK for C++
UsagePlan.h
Go to the documentation of this file.
1 
6 #pragma once
14 #include <utility>
15 
16 namespace Aws
17 {
18 namespace Utils
19 {
20 namespace Json
21 {
22  class JsonValue;
23  class JsonView;
24 } // namespace Json
25 } // namespace Utils
26 namespace APIGateway
27 {
28 namespace Model
29 {
30 
43  {
44  public:
49 
50 
54  inline const Aws::String& GetId() const{ return m_id; }
55 
59  inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
60 
64  inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
65 
69  inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); }
70 
74  inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
75 
79  inline UsagePlan& WithId(const Aws::String& value) { SetId(value); return *this;}
80 
84  inline UsagePlan& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
85 
89  inline UsagePlan& WithId(const char* value) { SetId(value); return *this;}
90 
91 
95  inline const Aws::String& GetName() const{ return m_name; }
96 
100  inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
101 
105  inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
106 
110  inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
111 
115  inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
116 
120  inline UsagePlan& WithName(const Aws::String& value) { SetName(value); return *this;}
121 
125  inline UsagePlan& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
126 
130  inline UsagePlan& WithName(const char* value) { SetName(value); return *this;}
131 
132 
136  inline const Aws::String& GetDescription() const{ return m_description; }
137 
141  inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
142 
146  inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
147 
151  inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
152 
156  inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
157 
161  inline UsagePlan& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
162 
166  inline UsagePlan& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
167 
171  inline UsagePlan& WithDescription(const char* value) { SetDescription(value); return *this;}
172 
173 
177  inline const Aws::Vector<ApiStage>& GetApiStages() const{ return m_apiStages; }
178 
182  inline bool ApiStagesHasBeenSet() const { return m_apiStagesHasBeenSet; }
183 
187  inline void SetApiStages(const Aws::Vector<ApiStage>& value) { m_apiStagesHasBeenSet = true; m_apiStages = value; }
188 
192  inline void SetApiStages(Aws::Vector<ApiStage>&& value) { m_apiStagesHasBeenSet = true; m_apiStages = std::move(value); }
193 
197  inline UsagePlan& WithApiStages(const Aws::Vector<ApiStage>& value) { SetApiStages(value); return *this;}
198 
202  inline UsagePlan& WithApiStages(Aws::Vector<ApiStage>&& value) { SetApiStages(std::move(value)); return *this;}
203 
207  inline UsagePlan& AddApiStages(const ApiStage& value) { m_apiStagesHasBeenSet = true; m_apiStages.push_back(value); return *this; }
208 
212  inline UsagePlan& AddApiStages(ApiStage&& value) { m_apiStagesHasBeenSet = true; m_apiStages.push_back(std::move(value)); return *this; }
213 
214 
218  inline const ThrottleSettings& GetThrottle() const{ return m_throttle; }
219 
223  inline bool ThrottleHasBeenSet() const { return m_throttleHasBeenSet; }
224 
228  inline void SetThrottle(const ThrottleSettings& value) { m_throttleHasBeenSet = true; m_throttle = value; }
229 
233  inline void SetThrottle(ThrottleSettings&& value) { m_throttleHasBeenSet = true; m_throttle = std::move(value); }
234 
238  inline UsagePlan& WithThrottle(const ThrottleSettings& value) { SetThrottle(value); return *this;}
239 
243  inline UsagePlan& WithThrottle(ThrottleSettings&& value) { SetThrottle(std::move(value)); return *this;}
244 
245 
249  inline const QuotaSettings& GetQuota() const{ return m_quota; }
250 
254  inline bool QuotaHasBeenSet() const { return m_quotaHasBeenSet; }
255 
259  inline void SetQuota(const QuotaSettings& value) { m_quotaHasBeenSet = true; m_quota = value; }
260 
264  inline void SetQuota(QuotaSettings&& value) { m_quotaHasBeenSet = true; m_quota = std::move(value); }
265 
269  inline UsagePlan& WithQuota(const QuotaSettings& value) { SetQuota(value); return *this;}
270 
274  inline UsagePlan& WithQuota(QuotaSettings&& value) { SetQuota(std::move(value)); return *this;}
275 
276 
281  inline const Aws::String& GetProductCode() const{ return m_productCode; }
282 
287  inline bool ProductCodeHasBeenSet() const { return m_productCodeHasBeenSet; }
288 
293  inline void SetProductCode(const Aws::String& value) { m_productCodeHasBeenSet = true; m_productCode = value; }
294 
299  inline void SetProductCode(Aws::String&& value) { m_productCodeHasBeenSet = true; m_productCode = std::move(value); }
300 
305  inline void SetProductCode(const char* value) { m_productCodeHasBeenSet = true; m_productCode.assign(value); }
306 
311  inline UsagePlan& WithProductCode(const Aws::String& value) { SetProductCode(value); return *this;}
312 
317  inline UsagePlan& WithProductCode(Aws::String&& value) { SetProductCode(std::move(value)); return *this;}
318 
323  inline UsagePlan& WithProductCode(const char* value) { SetProductCode(value); return *this;}
324 
325 
330  inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; }
331 
336  inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
337 
342  inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tagsHasBeenSet = true; m_tags = value; }
343 
348  inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
349 
354  inline UsagePlan& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;}
355 
360  inline UsagePlan& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;}
361 
366  inline UsagePlan& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
367 
372  inline UsagePlan& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
373 
378  inline UsagePlan& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
379 
384  inline UsagePlan& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; }
385 
390  inline UsagePlan& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
391 
396  inline UsagePlan& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
397 
402  inline UsagePlan& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
403 
404  private:
405 
406  Aws::String m_id;
407  bool m_idHasBeenSet;
408 
409  Aws::String m_name;
410  bool m_nameHasBeenSet;
411 
412  Aws::String m_description;
413  bool m_descriptionHasBeenSet;
414 
415  Aws::Vector<ApiStage> m_apiStages;
416  bool m_apiStagesHasBeenSet;
417 
418  ThrottleSettings m_throttle;
419  bool m_throttleHasBeenSet;
420 
421  QuotaSettings m_quota;
422  bool m_quotaHasBeenSet;
423 
424  Aws::String m_productCode;
425  bool m_productCodeHasBeenSet;
426 
428  bool m_tagsHasBeenSet;
429  };
430 
431 } // namespace Model
432 } // namespace APIGateway
433 } // namespace Aws
Aws::APIGateway::Model::UsagePlan::WithQuota
UsagePlan & WithQuota(const QuotaSettings &value)
Definition: UsagePlan.h:269
Aws::APIGateway::Model::UsagePlan::SetName
void SetName(Aws::String &&value)
Definition: UsagePlan.h:110
Aws::APIGateway::Model::UsagePlan::SetApiStages
void SetApiStages(Aws::Vector< ApiStage > &&value)
Definition: UsagePlan.h:192
Aws::APIGateway::Model::UsagePlan::AddTags
UsagePlan & AddTags(Aws::String &&key, const char *value)
Definition: UsagePlan.h:396
Aws::APIGateway::Model::UsagePlan::SetTags
void SetTags(Aws::Map< Aws::String, Aws::String > &&value)
Definition: UsagePlan.h:348
Aws::APIGateway::Model::UsagePlan::AddApiStages
UsagePlan & AddApiStages(ApiStage &&value)
Definition: UsagePlan.h:212
Aws::APIGateway::Model::UsagePlan::SetProductCode
void SetProductCode(const char *value)
Definition: UsagePlan.h:305
Aws::APIGateway::Model::UsagePlan::SetDescription
void SetDescription(Aws::String &&value)
Definition: UsagePlan.h:151
AWS_APIGATEWAY_API
#define AWS_APIGATEWAY_API
Definition: APIGateway_EXPORTS.h:28
Aws::APIGateway::Model::UsagePlan::AddTags
UsagePlan & AddTags(Aws::String &&key, Aws::String &&value)
Definition: UsagePlan.h:384
Aws::APIGateway::Model::UsagePlan::SetProductCode
void SetProductCode(const Aws::String &value)
Definition: UsagePlan.h:293
Aws::APIGateway::Model::UsagePlan::WithApiStages
UsagePlan & WithApiStages(Aws::Vector< ApiStage > &&value)
Definition: UsagePlan.h:202
Aws::APIGateway::Model::UsagePlan::WithDescription
UsagePlan & WithDescription(Aws::String &&value)
Definition: UsagePlan.h:166
QuotaSettings.h
Aws::APIGateway::Model::UsagePlan::WithName
UsagePlan & WithName(const char *value)
Definition: UsagePlan.h:130
Aws::APIGateway::Model::UsagePlan::SetName
void SetName(const Aws::String &value)
Definition: UsagePlan.h:105
Aws::APIGateway::Model::UsagePlan::UsagePlan
UsagePlan()
Aws::APIGateway::Model::UsagePlan
Definition: UsagePlan.h:43
Aws::APIGateway::Model::UsagePlan::WithTags
UsagePlan & WithTags(Aws::Map< Aws::String, Aws::String > &&value)
Definition: UsagePlan.h:360
Aws::APIGateway::Model::UsagePlan::SetDescription
void SetDescription(const Aws::String &value)
Definition: UsagePlan.h:146
Aws::APIGateway::Model::UsagePlan::ProductCodeHasBeenSet
bool ProductCodeHasBeenSet() const
Definition: UsagePlan.h:287
Aws::APIGateway::Model::UsagePlan::SetName
void SetName(const char *value)
Definition: UsagePlan.h:115
APIGateway_EXPORTS.h
Aws::APIGateway::Model::UsagePlan::SetApiStages
void SetApiStages(const Aws::Vector< ApiStage > &value)
Definition: UsagePlan.h:187
Aws::Vector
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:17
Aws::APIGateway::Model::UsagePlan::SetProductCode
void SetProductCode(Aws::String &&value)
Definition: UsagePlan.h:299
Aws::APIGateway::Model::UsagePlan::SetQuota
void SetQuota(QuotaSettings &&value)
Definition: UsagePlan.h:264
Aws::APIGateway::Model::UsagePlan::WithProductCode
UsagePlan & WithProductCode(Aws::String &&value)
Definition: UsagePlan.h:317
AWSVector.h
Aws::APIGateway::Model::UsagePlan::GetQuota
const QuotaSettings & GetQuota() const
Definition: UsagePlan.h:249
Aws::APIGateway::Model::UsagePlan::WithTags
UsagePlan & WithTags(const Aws::Map< Aws::String, Aws::String > &value)
Definition: UsagePlan.h:354
Aws::APIGateway::Model::UsagePlan::GetProductCode
const Aws::String & GetProductCode() const
Definition: UsagePlan.h:281
Aws::APIGateway::Model::UsagePlan::GetDescription
const Aws::String & GetDescription() const
Definition: UsagePlan.h:136
Aws::APIGateway::Model::UsagePlan::TagsHasBeenSet
bool TagsHasBeenSet() const
Definition: UsagePlan.h:336
Aws::APIGateway::Model::UsagePlan::AddTags
UsagePlan & AddTags(const Aws::String &key, const Aws::String &value)
Definition: UsagePlan.h:366
ApiStage.h
Aws::APIGateway::Model::UsagePlan::AddTags
UsagePlan & AddTags(Aws::String &&key, const Aws::String &value)
Definition: UsagePlan.h:372
Aws::APIGateway::Model::UsagePlan::SetTags
void SetTags(const Aws::Map< Aws::String, Aws::String > &value)
Definition: UsagePlan.h:342
Aws::APIGateway::Model::UsagePlan::WithThrottle
UsagePlan & WithThrottle(const ThrottleSettings &value)
Definition: UsagePlan.h:238
Aws::APIGateway::Model::UsagePlan::SetDescription
void SetDescription(const char *value)
Definition: UsagePlan.h:156
Aws::APIGateway::Model::UsagePlan::SetThrottle
void SetThrottle(const ThrottleSettings &value)
Definition: UsagePlan.h:228
Aws::APIGateway::Model::ThrottleSettings
Definition: ThrottleSettings.h:30
Aws::APIGateway::Model::UsagePlan::ThrottleHasBeenSet
bool ThrottleHasBeenSet() const
Definition: UsagePlan.h:223
Aws::APIGateway::Model::UsagePlan::GetApiStages
const Aws::Vector< ApiStage > & GetApiStages() const
Definition: UsagePlan.h:177
Aws::APIGateway::Model::UsagePlan::WithThrottle
UsagePlan & WithThrottle(ThrottleSettings &&value)
Definition: UsagePlan.h:243
Aws::Utils::Json::JsonView
Definition: JsonSerializer.h:222
AWSString.h
Aws::Utils::Json::JsonValue
Definition: JsonSerializer.h:30
Aws::APIGateway::Model::UsagePlan::WithId
UsagePlan & WithId(Aws::String &&value)
Definition: UsagePlan.h:84
Aws::APIGateway::Model::UsagePlan::ApiStagesHasBeenSet
bool ApiStagesHasBeenSet() const
Definition: UsagePlan.h:182
Aws::APIGateway::Model::UsagePlan::GetId
const Aws::String & GetId() const
Definition: UsagePlan.h:54
Aws::APIGateway::Model::UsagePlan::SetId
void SetId(const char *value)
Definition: UsagePlan.h:74
Aws::APIGateway::Model::UsagePlan::WithApiStages
UsagePlan & WithApiStages(const Aws::Vector< ApiStage > &value)
Definition: UsagePlan.h:197
Aws::APIGateway::Model::UsagePlan::WithQuota
UsagePlan & WithQuota(QuotaSettings &&value)
Definition: UsagePlan.h:274
Aws::APIGateway::Model::UsagePlan::UsagePlan
UsagePlan(Aws::Utils::Json::JsonView jsonValue)
Aws::APIGateway::Model::UsagePlan::Jsonize
Aws::Utils::Json::JsonValue Jsonize() const
Aws::APIGateway::Model::UsagePlan::WithProductCode
UsagePlan & WithProductCode(const Aws::String &value)
Definition: UsagePlan.h:311
Aws::APIGateway::Model::UsagePlan::SetId
void SetId(const Aws::String &value)
Definition: UsagePlan.h:64
Aws::APIGateway::Model::UsagePlan::WithName
UsagePlan & WithName(const Aws::String &value)
Definition: UsagePlan.h:120
Aws::APIGateway::Model::UsagePlan::AddApiStages
UsagePlan & AddApiStages(const ApiStage &value)
Definition: UsagePlan.h:207
Aws::APIGateway::Model::UsagePlan::GetThrottle
const ThrottleSettings & GetThrottle() const
Definition: UsagePlan.h:218
Aws::APIGateway::Model::UsagePlan::WithId
UsagePlan & WithId(const Aws::String &value)
Definition: UsagePlan.h:79
Aws
Definition: AccessManagementClient.h:15
Aws::APIGateway::Model::UsagePlan::WithName
UsagePlan & WithName(Aws::String &&value)
Definition: UsagePlan.h:125
Aws::APIGateway::Model::UsagePlan::IdHasBeenSet
bool IdHasBeenSet() const
Definition: UsagePlan.h:59
Aws::APIGateway::Model::UsagePlan::WithId
UsagePlan & WithId(const char *value)
Definition: UsagePlan.h:89
Aws::APIGateway::Model::UsagePlan::AddTags
UsagePlan & AddTags(const Aws::String &key, Aws::String &&value)
Definition: UsagePlan.h:378
Aws::APIGateway::Model::ApiStage
Definition: ApiStage.h:35
Aws::String
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
Aws::APIGateway::Model::UsagePlan::WithDescription
UsagePlan & WithDescription(const char *value)
Definition: UsagePlan.h:171
Aws::APIGateway::Model::UsagePlan::WithProductCode
UsagePlan & WithProductCode(const char *value)
Definition: UsagePlan.h:323
Aws::APIGateway::Model::UsagePlan::SetThrottle
void SetThrottle(ThrottleSettings &&value)
Definition: UsagePlan.h:233
Aws::APIGateway::Model::UsagePlan::GetTags
const Aws::Map< Aws::String, Aws::String > & GetTags() const
Definition: UsagePlan.h:330
Aws::APIGateway::Model::UsagePlan::AddTags
UsagePlan & AddTags(const char *key, Aws::String &&value)
Definition: UsagePlan.h:390
Aws::APIGateway::Model::UsagePlan::NameHasBeenSet
bool NameHasBeenSet() const
Definition: UsagePlan.h:100
Aws::APIGateway::Model::UsagePlan::SetId
void SetId(Aws::String &&value)
Definition: UsagePlan.h:69
Aws::APIGateway::Model::UsagePlan::DescriptionHasBeenSet
bool DescriptionHasBeenSet() const
Definition: UsagePlan.h:141
Aws::APIGateway::Model::UsagePlan::GetName
const Aws::String & GetName() const
Definition: UsagePlan.h:95
Aws::APIGateway::Model::UsagePlan::SetQuota
void SetQuota(const QuotaSettings &value)
Definition: UsagePlan.h:259
Aws::APIGateway::Model::UsagePlan::AddTags
UsagePlan & AddTags(const char *key, const char *value)
Definition: UsagePlan.h:402
Aws::APIGateway::Model::UsagePlan::QuotaHasBeenSet
bool QuotaHasBeenSet() const
Definition: UsagePlan.h:254
Aws::APIGateway::Model::QuotaSettings
Definition: QuotaSettings.h:32
Aws::APIGateway::Model::UsagePlan::WithDescription
UsagePlan & WithDescription(const Aws::String &value)
Definition: UsagePlan.h:161
ThrottleSettings.h
AWSMap.h
Aws::Map
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
Definition: AWSMap.h:19
Aws::APIGateway::Model::UsagePlan::operator=
UsagePlan & operator=(Aws::Utils::Json::JsonView jsonValue)