AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
UsagePlan.h
1
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/ThrottleSettings.h>
11#include <aws/apigateway/model/QuotaSettings.h>
12#include <aws/core/utils/memory/stl/AWSMap.h>
13#include <aws/apigateway/model/ApiStage.h>
14#include <utility>
15
16namespace Aws
17{
18namespace Utils
19{
20namespace Json
21{
22 class JsonValue;
23 class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace APIGateway
27{
28namespace Model
29{
30
44 {
45 public:
46 AWS_APIGATEWAY_API UsagePlan() = default;
47 AWS_APIGATEWAY_API UsagePlan(Aws::Utils::Json::JsonView jsonValue);
48 AWS_APIGATEWAY_API UsagePlan& operator=(Aws::Utils::Json::JsonView jsonValue);
49 AWS_APIGATEWAY_API Aws::Utils::Json::JsonValue Jsonize() const;
50
51
53
56 inline const Aws::String& GetId() const { return m_id; }
57 inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
58 template<typename IdT = Aws::String>
59 void SetId(IdT&& value) { m_idHasBeenSet = true; m_id = std::forward<IdT>(value); }
60 template<typename IdT = Aws::String>
61 UsagePlan& WithId(IdT&& value) { SetId(std::forward<IdT>(value)); return *this;}
63
65
68 inline const Aws::String& GetName() const { return m_name; }
69 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
70 template<typename NameT = Aws::String>
71 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
72 template<typename NameT = Aws::String>
73 UsagePlan& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
75
77
80 inline const Aws::String& GetDescription() const { return m_description; }
81 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
82 template<typename DescriptionT = Aws::String>
83 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
84 template<typename DescriptionT = Aws::String>
85 UsagePlan& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
87
89
92 inline const Aws::Vector<ApiStage>& GetApiStages() const { return m_apiStages; }
93 inline bool ApiStagesHasBeenSet() const { return m_apiStagesHasBeenSet; }
94 template<typename ApiStagesT = Aws::Vector<ApiStage>>
95 void SetApiStages(ApiStagesT&& value) { m_apiStagesHasBeenSet = true; m_apiStages = std::forward<ApiStagesT>(value); }
96 template<typename ApiStagesT = Aws::Vector<ApiStage>>
97 UsagePlan& WithApiStages(ApiStagesT&& value) { SetApiStages(std::forward<ApiStagesT>(value)); return *this;}
98 template<typename ApiStagesT = ApiStage>
99 UsagePlan& AddApiStages(ApiStagesT&& value) { m_apiStagesHasBeenSet = true; m_apiStages.emplace_back(std::forward<ApiStagesT>(value)); return *this; }
101
103
107 inline const ThrottleSettings& GetThrottle() const { return m_throttle; }
108 inline bool ThrottleHasBeenSet() const { return m_throttleHasBeenSet; }
109 template<typename ThrottleT = ThrottleSettings>
110 void SetThrottle(ThrottleT&& value) { m_throttleHasBeenSet = true; m_throttle = std::forward<ThrottleT>(value); }
111 template<typename ThrottleT = ThrottleSettings>
112 UsagePlan& WithThrottle(ThrottleT&& value) { SetThrottle(std::forward<ThrottleT>(value)); return *this;}
114
116
120 inline const QuotaSettings& GetQuota() const { return m_quota; }
121 inline bool QuotaHasBeenSet() const { return m_quotaHasBeenSet; }
122 template<typename QuotaT = QuotaSettings>
123 void SetQuota(QuotaT&& value) { m_quotaHasBeenSet = true; m_quota = std::forward<QuotaT>(value); }
124 template<typename QuotaT = QuotaSettings>
125 UsagePlan& WithQuota(QuotaT&& value) { SetQuota(std::forward<QuotaT>(value)); return *this;}
127
129
133 inline const Aws::String& GetProductCode() const { return m_productCode; }
134 inline bool ProductCodeHasBeenSet() const { return m_productCodeHasBeenSet; }
135 template<typename ProductCodeT = Aws::String>
136 void SetProductCode(ProductCodeT&& value) { m_productCodeHasBeenSet = true; m_productCode = std::forward<ProductCodeT>(value); }
137 template<typename ProductCodeT = Aws::String>
138 UsagePlan& WithProductCode(ProductCodeT&& value) { SetProductCode(std::forward<ProductCodeT>(value)); return *this;}
140
142
146 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
147 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
148 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
149 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
150 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
151 UsagePlan& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
152 template<typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
153 UsagePlan& AddTags(TagsKeyT&& key, TagsValueT&& value) {
154 m_tagsHasBeenSet = true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value)); return *this;
155 }
157
159
160 inline const Aws::String& GetRequestId() const { return m_requestId; }
161 inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; }
162 template<typename RequestIdT = Aws::String>
163 void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward<RequestIdT>(value); }
164 template<typename RequestIdT = Aws::String>
165 UsagePlan& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward<RequestIdT>(value)); return *this;}
167 private:
168
169 Aws::String m_id;
170 bool m_idHasBeenSet = false;
171
172 Aws::String m_name;
173 bool m_nameHasBeenSet = false;
174
175 Aws::String m_description;
176 bool m_descriptionHasBeenSet = false;
177
178 Aws::Vector<ApiStage> m_apiStages;
179 bool m_apiStagesHasBeenSet = false;
180
181 ThrottleSettings m_throttle;
182 bool m_throttleHasBeenSet = false;
183
184 QuotaSettings m_quota;
185 bool m_quotaHasBeenSet = false;
186
187 Aws::String m_productCode;
188 bool m_productCodeHasBeenSet = false;
189
191 bool m_tagsHasBeenSet = false;
192
193 Aws::String m_requestId;
194 bool m_requestIdHasBeenSet = false;
195 };
196
197} // namespace Model
198} // namespace APIGateway
199} // namespace Aws
const Aws::String & GetName() const
Definition UsagePlan.h:68
UsagePlan & AddApiStages(ApiStagesT &&value)
Definition UsagePlan.h:99
UsagePlan & WithQuota(QuotaT &&value)
Definition UsagePlan.h:125
UsagePlan & WithProductCode(ProductCodeT &&value)
Definition UsagePlan.h:138
AWS_APIGATEWAY_API UsagePlan(Aws::Utils::Json::JsonView jsonValue)
UsagePlan & WithDescription(DescriptionT &&value)
Definition UsagePlan.h:85
void SetThrottle(ThrottleT &&value)
Definition UsagePlan.h:110
void SetTags(TagsT &&value)
Definition UsagePlan.h:149
UsagePlan & WithTags(TagsT &&value)
Definition UsagePlan.h:151
const QuotaSettings & GetQuota() const
Definition UsagePlan.h:120
const Aws::Map< Aws::String, Aws::String > & GetTags() const
Definition UsagePlan.h:146
const Aws::String & GetRequestId() const
Definition UsagePlan.h:160
void SetQuota(QuotaT &&value)
Definition UsagePlan.h:123
UsagePlan & WithRequestId(RequestIdT &&value)
Definition UsagePlan.h:165
UsagePlan & WithName(NameT &&value)
Definition UsagePlan.h:73
void SetProductCode(ProductCodeT &&value)
Definition UsagePlan.h:136
const Aws::String & GetId() const
Definition UsagePlan.h:56
AWS_APIGATEWAY_API UsagePlan()=default
AWS_APIGATEWAY_API UsagePlan & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< ApiStage > & GetApiStages() const
Definition UsagePlan.h:92
const ThrottleSettings & GetThrottle() const
Definition UsagePlan.h:107
void SetDescription(DescriptionT &&value)
Definition UsagePlan.h:83
void SetApiStages(ApiStagesT &&value)
Definition UsagePlan.h:95
const Aws::String & GetProductCode() const
Definition UsagePlan.h:133
UsagePlan & WithId(IdT &&value)
Definition UsagePlan.h:61
void SetName(NameT &&value)
Definition UsagePlan.h:71
AWS_APIGATEWAY_API Aws::Utils::Json::JsonValue Jsonize() const
UsagePlan & WithThrottle(ThrottleT &&value)
Definition UsagePlan.h:112
UsagePlan & AddTags(TagsKeyT &&key, TagsValueT &&value)
Definition UsagePlan.h:153
void SetRequestId(RequestIdT &&value)
Definition UsagePlan.h:163
UsagePlan & WithApiStages(ApiStagesT &&value)
Definition UsagePlan.h:97
const Aws::String & GetDescription() const
Definition UsagePlan.h:80
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
Aws::Utils::Json::JsonValue JsonValue