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>
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>
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>
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>
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>>
98 template<
typename ApiStagesT = ApiStage>
99 UsagePlan&
AddApiStages(ApiStagesT&& value) { m_apiStagesHasBeenSet =
true; m_apiStages.emplace_back(std::forward<ApiStagesT>(value));
return *
this; }
109 template<
typename ThrottleT = ThrottleSettings>
110 void SetThrottle(ThrottleT&& value) { m_throttleHasBeenSet =
true; m_throttle = std::forward<ThrottleT>(value); }
111 template<
typename ThrottleT = ThrottleSettings>
122 template<
typename QuotaT = QuotaSettings>
123 void SetQuota(QuotaT&& value) { m_quotaHasBeenSet =
true; m_quota = std::forward<QuotaT>(value); }
124 template<
typename QuotaT = QuotaSettings>
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>
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>>
152 template<
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
154 m_tagsHasBeenSet =
true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
return *
this;
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>
170 bool m_idHasBeenSet =
false;
173 bool m_nameHasBeenSet =
false;
176 bool m_descriptionHasBeenSet =
false;
179 bool m_apiStagesHasBeenSet =
false;
182 bool m_throttleHasBeenSet =
false;
185 bool m_quotaHasBeenSet =
false;
188 bool m_productCodeHasBeenSet =
false;
191 bool m_tagsHasBeenSet =
false;
194 bool m_requestIdHasBeenSet =
false;
const Aws::String & GetName() const
UsagePlan & AddApiStages(ApiStagesT &&value)
UsagePlan & WithQuota(QuotaT &&value)
UsagePlan & WithProductCode(ProductCodeT &&value)
bool NameHasBeenSet() const
AWS_APIGATEWAY_API UsagePlan(Aws::Utils::Json::JsonView jsonValue)
UsagePlan & WithDescription(DescriptionT &&value)
bool TagsHasBeenSet() const
void SetThrottle(ThrottleT &&value)
void SetTags(TagsT &&value)
bool ThrottleHasBeenSet() const
UsagePlan & WithTags(TagsT &&value)
const QuotaSettings & GetQuota() const
const Aws::Map< Aws::String, Aws::String > & GetTags() const
const Aws::String & GetRequestId() const
void SetQuota(QuotaT &&value)
UsagePlan & WithRequestId(RequestIdT &&value)
UsagePlan & WithName(NameT &&value)
void SetProductCode(ProductCodeT &&value)
const Aws::String & GetId() const
AWS_APIGATEWAY_API UsagePlan()=default
AWS_APIGATEWAY_API UsagePlan & operator=(Aws::Utils::Json::JsonView jsonValue)
bool DescriptionHasBeenSet() const
const Aws::Vector< ApiStage > & GetApiStages() const
const ThrottleSettings & GetThrottle() const
void SetDescription(DescriptionT &&value)
void SetApiStages(ApiStagesT &&value)
bool QuotaHasBeenSet() const
const Aws::String & GetProductCode() const
bool ApiStagesHasBeenSet() const
UsagePlan & WithId(IdT &&value)
void SetName(NameT &&value)
AWS_APIGATEWAY_API Aws::Utils::Json::JsonValue Jsonize() const
bool RequestIdHasBeenSet() const
UsagePlan & WithThrottle(ThrottleT &&value)
UsagePlan & AddTags(TagsKeyT &&key, TagsValueT &&value)
void SetRequestId(RequestIdT &&value)
bool ProductCodeHasBeenSet() const
UsagePlan & WithApiStages(ApiStagesT &&value)
const Aws::String & GetDescription() const
bool IdHasBeenSet() const
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