AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
CreateUsagePlanRequest.h
1
6#pragma once
7#include <aws/apigateway/APIGateway_EXPORTS.h>
8#include <aws/apigateway/APIGatewayRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/apigateway/model/ThrottleSettings.h>
12#include <aws/apigateway/model/QuotaSettings.h>
13#include <aws/core/utils/memory/stl/AWSMap.h>
14#include <aws/apigateway/model/ApiStage.h>
15#include <utility>
16
17namespace Aws
18{
19namespace APIGateway
20{
21namespace Model
22{
23
32 {
33 public:
34 AWS_APIGATEWAY_API CreateUsagePlanRequest() = default;
35
36 // Service request name is the Operation name which will send this request out,
37 // each operation should has unique request name, so that we can get operation's name from this request.
38 // Note: this is not true for response, multiple operations may have the same response name,
39 // so we can not get operation's name from response.
40 inline virtual const char* GetServiceRequestName() const override { return "CreateUsagePlan"; }
41
42 AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
43
44
46
49 inline const Aws::String& GetName() const { return m_name; }
50 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
51 template<typename NameT = Aws::String>
52 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
53 template<typename NameT = Aws::String>
54 CreateUsagePlanRequest& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
56
58
61 inline const Aws::String& GetDescription() const { return m_description; }
62 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
63 template<typename DescriptionT = Aws::String>
64 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
65 template<typename DescriptionT = Aws::String>
66 CreateUsagePlanRequest& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
68
70
73 inline const Aws::Vector<ApiStage>& GetApiStages() const { return m_apiStages; }
74 inline bool ApiStagesHasBeenSet() const { return m_apiStagesHasBeenSet; }
75 template<typename ApiStagesT = Aws::Vector<ApiStage>>
76 void SetApiStages(ApiStagesT&& value) { m_apiStagesHasBeenSet = true; m_apiStages = std::forward<ApiStagesT>(value); }
77 template<typename ApiStagesT = Aws::Vector<ApiStage>>
78 CreateUsagePlanRequest& WithApiStages(ApiStagesT&& value) { SetApiStages(std::forward<ApiStagesT>(value)); return *this;}
79 template<typename ApiStagesT = ApiStage>
80 CreateUsagePlanRequest& AddApiStages(ApiStagesT&& value) { m_apiStagesHasBeenSet = true; m_apiStages.emplace_back(std::forward<ApiStagesT>(value)); return *this; }
82
84
87 inline const ThrottleSettings& GetThrottle() const { return m_throttle; }
88 inline bool ThrottleHasBeenSet() const { return m_throttleHasBeenSet; }
89 template<typename ThrottleT = ThrottleSettings>
90 void SetThrottle(ThrottleT&& value) { m_throttleHasBeenSet = true; m_throttle = std::forward<ThrottleT>(value); }
91 template<typename ThrottleT = ThrottleSettings>
92 CreateUsagePlanRequest& WithThrottle(ThrottleT&& value) { SetThrottle(std::forward<ThrottleT>(value)); return *this;}
94
96
99 inline const QuotaSettings& GetQuota() const { return m_quota; }
100 inline bool QuotaHasBeenSet() const { return m_quotaHasBeenSet; }
101 template<typename QuotaT = QuotaSettings>
102 void SetQuota(QuotaT&& value) { m_quotaHasBeenSet = true; m_quota = std::forward<QuotaT>(value); }
103 template<typename QuotaT = QuotaSettings>
104 CreateUsagePlanRequest& WithQuota(QuotaT&& value) { SetQuota(std::forward<QuotaT>(value)); return *this;}
106
108
113 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
114 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
115 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
116 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
117 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
118 CreateUsagePlanRequest& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
119 template<typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
120 CreateUsagePlanRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
121 m_tagsHasBeenSet = true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value)); return *this;
122 }
124 private:
125
126 Aws::String m_name;
127 bool m_nameHasBeenSet = false;
128
129 Aws::String m_description;
130 bool m_descriptionHasBeenSet = false;
131
132 Aws::Vector<ApiStage> m_apiStages;
133 bool m_apiStagesHasBeenSet = false;
134
135 ThrottleSettings m_throttle;
136 bool m_throttleHasBeenSet = false;
137
138 QuotaSettings m_quota;
139 bool m_quotaHasBeenSet = false;
140
142 bool m_tagsHasBeenSet = false;
143 };
144
145} // namespace Model
146} // namespace APIGateway
147} // namespace Aws
CreateUsagePlanRequest & WithQuota(QuotaT &&value)
CreateUsagePlanRequest & AddApiStages(ApiStagesT &&value)
CreateUsagePlanRequest & WithThrottle(ThrottleT &&value)
CreateUsagePlanRequest & WithDescription(DescriptionT &&value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
CreateUsagePlanRequest & WithName(NameT &&value)
CreateUsagePlanRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
AWS_APIGATEWAY_API Aws::String SerializePayload() const override
CreateUsagePlanRequest & WithApiStages(ApiStagesT &&value)
CreateUsagePlanRequest & WithTags(TagsT &&value)
virtual const char * GetServiceRequestName() const override
const Aws::Vector< ApiStage > & GetApiStages() const
AWS_APIGATEWAY_API CreateUsagePlanRequest()=default
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector