7#include <aws/redshift/Redshift_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/redshift/model/UsageLimitFeatureType.h>
11#include <aws/redshift/model/UsageLimitLimitType.h>
12#include <aws/redshift/model/UsageLimitPeriod.h>
13#include <aws/redshift/model/UsageLimitBreachAction.h>
14#include <aws/core/utils/memory/stl/AWSVector.h>
15#include <aws/redshift/model/ResponseMetadata.h>
16#include <aws/redshift/model/Tag.h>
57 inline void SetUsageLimitId(
const char* value) { m_usageLimitIdHasBeenSet =
true; m_usageLimitId.assign(value); }
71 inline void SetClusterIdentifier(
const char* value) { m_clusterIdentifierHasBeenSet =
true; m_clusterIdentifier.assign(value); }
109 inline void SetAmount(
long long value) { m_amountHasBeenSet =
true; m_amount = value; }
152 inline UsageLimit&
AddTags(
const Tag& value) { m_tagsHasBeenSet =
true; m_tags.push_back(value);
return *
this; }
153 inline UsageLimit&
AddTags(
Tag&& value) { m_tagsHasBeenSet =
true; m_tags.push_back(std::move(value));
return *
this; }
167 bool m_usageLimitIdHasBeenSet =
false;
170 bool m_clusterIdentifierHasBeenSet =
false;
173 bool m_featureTypeHasBeenSet =
false;
176 bool m_limitTypeHasBeenSet =
false;
179 bool m_amountHasBeenSet =
false;
182 bool m_periodHasBeenSet =
false;
185 bool m_breachActionHasBeenSet =
false;
188 bool m_tagsHasBeenSet =
false;
void SetAmount(long long value)
bool UsageLimitIdHasBeenSet() const
bool BreachActionHasBeenSet() const
UsageLimit & WithTags(const Aws::Vector< Tag > &value)
UsageLimit & AddTags(Tag &&value)
UsageLimit & WithFeatureType(const UsageLimitFeatureType &value)
const Aws::String & GetClusterIdentifier() const
UsageLimit & WithUsageLimitId(Aws::String &&value)
bool LimitTypeHasBeenSet() const
void SetTags(const Aws::Vector< Tag > &value)
void SetLimitType(const UsageLimitLimitType &value)
UsageLimit & WithTags(Aws::Vector< Tag > &&value)
const UsageLimitBreachAction & GetBreachAction() const
bool AmountHasBeenSet() const
void SetUsageLimitId(const char *value)
const UsageLimitLimitType & GetLimitType() const
void SetBreachAction(UsageLimitBreachAction &&value)
bool PeriodHasBeenSet() const
UsageLimit & WithLimitType(UsageLimitLimitType &&value)
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &oStream, const char *location) const
UsageLimit & WithUsageLimitId(const char *value)
void SetPeriod(UsageLimitPeriod &&value)
AWS_REDSHIFT_API UsageLimit & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
UsageLimit & WithFeatureType(UsageLimitFeatureType &&value)
void SetLimitType(UsageLimitLimitType &&value)
AWS_REDSHIFT_API UsageLimit()
void SetResponseMetadata(const ResponseMetadata &value)
UsageLimit & WithClusterIdentifier(Aws::String &&value)
UsageLimit & WithResponseMetadata(const ResponseMetadata &value)
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
void SetPeriod(const UsageLimitPeriod &value)
void SetFeatureType(const UsageLimitFeatureType &value)
UsageLimit & WithResponseMetadata(ResponseMetadata &&value)
void SetClusterIdentifier(Aws::String &&value)
const Aws::String & GetUsageLimitId() const
UsageLimit & WithPeriod(const UsageLimitPeriod &value)
const Aws::Vector< Tag > & GetTags() const
void SetResponseMetadata(ResponseMetadata &&value)
UsageLimit & WithLimitType(const UsageLimitLimitType &value)
void SetTags(Aws::Vector< Tag > &&value)
UsageLimit & WithClusterIdentifier(const Aws::String &value)
void SetClusterIdentifier(const char *value)
const UsageLimitPeriod & GetPeriod() const
UsageLimit & WithClusterIdentifier(const char *value)
UsageLimit & WithAmount(long long value)
UsageLimit & AddTags(const Tag &value)
bool FeatureTypeHasBeenSet() const
void SetUsageLimitId(const Aws::String &value)
bool ClusterIdentifierHasBeenSet() const
UsageLimit & WithPeriod(UsageLimitPeriod &&value)
const UsageLimitFeatureType & GetFeatureType() const
void SetUsageLimitId(Aws::String &&value)
AWS_REDSHIFT_API UsageLimit(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetBreachAction(const UsageLimitBreachAction &value)
bool TagsHasBeenSet() const
UsageLimit & WithUsageLimitId(const Aws::String &value)
void SetClusterIdentifier(const Aws::String &value)
UsageLimit & WithBreachAction(const UsageLimitBreachAction &value)
const ResponseMetadata & GetResponseMetadata() const
void SetFeatureType(UsageLimitFeatureType &&value)
long long GetAmount() const
UsageLimit & WithBreachAction(UsageLimitBreachAction &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream