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>
55 template<
typename UsageLimitIdT = Aws::String>
56 void SetUsageLimitId(UsageLimitIdT&& value) { m_usageLimitIdHasBeenSet =
true; m_usageLimitId = std::forward<UsageLimitIdT>(value); }
57 template<
typename UsageLimitIdT = Aws::String>
67 template<
typename ClusterIdentifierT = Aws::String>
68 void SetClusterIdentifier(ClusterIdentifierT&& value) { m_clusterIdentifierHasBeenSet =
true; m_clusterIdentifier = std::forward<ClusterIdentifierT>(value); }
69 template<
typename ClusterIdentifierT = Aws::String>
99 inline long long GetAmount()
const {
return m_amount; }
101 inline void SetAmount(
long long value) { m_amountHasBeenSet =
true; m_amount = value; }
136 template<
typename TagsT = Aws::Vector<Tag>>
137 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
138 template<
typename TagsT = Aws::Vector<Tag>>
140 template<
typename TagsT = Tag>
141 UsageLimit&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
147 template<
typename ResponseMetadataT = ResponseMetadata>
148 void SetResponseMetadata(ResponseMetadataT&& value) { m_responseMetadataHasBeenSet =
true; m_responseMetadata = std::forward<ResponseMetadataT>(value); }
149 template<
typename ResponseMetadataT = ResponseMetadata>
155 bool m_usageLimitIdHasBeenSet =
false;
158 bool m_clusterIdentifierHasBeenSet =
false;
161 bool m_featureTypeHasBeenSet =
false;
164 bool m_limitTypeHasBeenSet =
false;
166 long long m_amount{0};
167 bool m_amountHasBeenSet =
false;
170 bool m_periodHasBeenSet =
false;
173 bool m_breachActionHasBeenSet =
false;
176 bool m_tagsHasBeenSet =
false;
178 ResponseMetadata m_responseMetadata;
179 bool m_responseMetadataHasBeenSet =
true;
void SetAmount(long long value)
bool UsageLimitIdHasBeenSet() const
bool BreachActionHasBeenSet() const
void SetUsageLimitId(UsageLimitIdT &&value)
UsageLimitFeatureType GetFeatureType() const
void SetLimitType(UsageLimitLimitType value)
UsageLimit & WithUsageLimitId(UsageLimitIdT &&value)
UsageLimit & WithResponseMetadata(ResponseMetadataT &&value)
const Aws::String & GetClusterIdentifier() const
UsageLimit & WithFeatureType(UsageLimitFeatureType value)
bool LimitTypeHasBeenSet() const
UsageLimit & WithPeriod(UsageLimitPeriod value)
void SetResponseMetadata(ResponseMetadataT &&value)
bool AmountHasBeenSet() const
UsageLimitBreachAction GetBreachAction() const
UsageLimit & WithLimitType(UsageLimitLimitType value)
bool PeriodHasBeenSet() const
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &oStream, const char *location) const
AWS_REDSHIFT_API UsageLimit & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetTags(TagsT &&value)
UsageLimitPeriod GetPeriod() const
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
const Aws::String & GetUsageLimitId() const
const Aws::Vector< Tag > & GetTags() const
void SetClusterIdentifier(ClusterIdentifierT &&value)
UsageLimit & WithAmount(long long value)
UsageLimit & AddTags(TagsT &&value)
UsageLimitLimitType GetLimitType() const
bool FeatureTypeHasBeenSet() const
bool ClusterIdentifierHasBeenSet() const
AWS_REDSHIFT_API UsageLimit(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetFeatureType(UsageLimitFeatureType value)
void SetBreachAction(UsageLimitBreachAction value)
bool TagsHasBeenSet() const
void SetPeriod(UsageLimitPeriod value)
AWS_REDSHIFT_API UsageLimit()=default
UsageLimit & WithBreachAction(UsageLimitBreachAction value)
const ResponseMetadata & GetResponseMetadata() const
UsageLimit & WithTags(TagsT &&value)
long long GetAmount() const
UsageLimit & WithClusterIdentifier(ClusterIdentifierT &&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