7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/redshift/RedshiftRequest.h>
10#include <aws/redshift/Redshift_EXPORTS.h>
11#include <aws/redshift/model/Tag.h>
12#include <aws/redshift/model/UsageLimitBreachAction.h>
13#include <aws/redshift/model/UsageLimitFeatureType.h>
14#include <aws/redshift/model/UsageLimitLimitType.h>
15#include <aws/redshift/model/UsageLimitPeriod.h>
47 template <
typename ClusterIdentifierT = Aws::String>
49 m_clusterIdentifierHasBeenSet =
true;
50 m_clusterIdentifier = std::forward<ClusterIdentifierT>(value);
52 template <
typename ClusterIdentifierT = Aws::String>
66 m_featureTypeHasBeenSet =
true;
67 m_featureType = value;
90 m_limitTypeHasBeenSet =
true;
107 m_amountHasBeenSet =
true;
124 m_periodHasBeenSet =
true;
141 m_breachActionHasBeenSet =
true;
142 m_breachAction = value;
156 template <
typename TagsT = Aws::Vector<Tag>>
158 m_tagsHasBeenSet =
true;
159 m_tags = std::forward<TagsT>(value);
161 template <
typename TagsT = Aws::Vector<Tag>>
163 SetTags(std::forward<TagsT>(value));
166 template <
typename TagsT = Tag>
168 m_tagsHasBeenSet =
true;
169 m_tags.emplace_back(std::forward<TagsT>(value));
180 long long m_amount{0};
187 bool m_clusterIdentifierHasBeenSet =
false;
188 bool m_featureTypeHasBeenSet =
false;
189 bool m_limitTypeHasBeenSet =
false;
190 bool m_amountHasBeenSet =
false;
191 bool m_periodHasBeenSet =
false;
192 bool m_breachActionHasBeenSet =
false;
193 bool m_tagsHasBeenSet =
false;
bool AmountHasBeenSet() const
CreateUsageLimitRequest & WithBreachAction(UsageLimitBreachAction value)
CreateUsageLimitRequest & AddTags(TagsT &&value)
CreateUsageLimitRequest & WithClusterIdentifier(ClusterIdentifierT &&value)
void SetPeriod(UsageLimitPeriod value)
CreateUsageLimitRequest & WithLimitType(UsageLimitLimitType value)
const Aws::String & GetClusterIdentifier() const
const Aws::Vector< Tag > & GetTags() const
UsageLimitFeatureType GetFeatureType() const
void SetTags(TagsT &&value)
AWS_REDSHIFT_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
AWS_REDSHIFT_API CreateUsageLimitRequest()=default
CreateUsageLimitRequest & WithPeriod(UsageLimitPeriod value)
bool FeatureTypeHasBeenSet() const
CreateUsageLimitRequest & WithAmount(long long value)
bool ClusterIdentifierHasBeenSet() const
virtual const char * GetServiceRequestName() const override
AWS_REDSHIFT_API Aws::String SerializePayload() const override
long long GetAmount() const
bool TagsHasBeenSet() const
void SetFeatureType(UsageLimitFeatureType value)
CreateUsageLimitRequest & WithTags(TagsT &&value)
void SetLimitType(UsageLimitLimitType value)
void SetClusterIdentifier(ClusterIdentifierT &&value)
bool LimitTypeHasBeenSet() const
UsageLimitBreachAction GetBreachAction() const
bool BreachActionHasBeenSet() const
CreateUsageLimitRequest & WithFeatureType(UsageLimitFeatureType value)
void SetBreachAction(UsageLimitBreachAction value)
UsageLimitLimitType GetLimitType() const
UsageLimitPeriod GetPeriod() const
void SetAmount(long long value)
bool PeriodHasBeenSet() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector