7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/redshift/Redshift_EXPORTS.h>
11#include <aws/redshift/model/ResponseMetadata.h>
12#include <aws/redshift/model/Tag.h>
13#include <aws/redshift/model/UsageLimitBreachAction.h>
14#include <aws/redshift/model/UsageLimitFeatureType.h>
15#include <aws/redshift/model/UsageLimitLimitType.h>
16#include <aws/redshift/model/UsageLimitPeriod.h>
49 template <
typename UsageLimitIdT = Aws::String>
51 m_usageLimitIdHasBeenSet =
true;
52 m_usageLimitId = std::forward<UsageLimitIdT>(value);
54 template <
typename UsageLimitIdT = Aws::String>
67 template <
typename ClusterIdentifierT = Aws::String>
69 m_clusterIdentifierHasBeenSet =
true;
70 m_clusterIdentifier = std::forward<ClusterIdentifierT>(value);
72 template <
typename ClusterIdentifierT = Aws::String>
86 m_featureTypeHasBeenSet =
true;
87 m_featureType = value;
103 m_limitTypeHasBeenSet =
true;
120 m_amountHasBeenSet =
true;
137 m_periodHasBeenSet =
true;
157 m_breachActionHasBeenSet =
true;
158 m_breachAction = value;
172 template <
typename TagsT = Aws::Vector<Tag>>
174 m_tagsHasBeenSet =
true;
175 m_tags = std::forward<TagsT>(value);
177 template <
typename TagsT = Aws::Vector<Tag>>
179 SetTags(std::forward<TagsT>(value));
182 template <
typename TagsT = Tag>
184 m_tagsHasBeenSet =
true;
185 m_tags.emplace_back(std::forward<TagsT>(value));
193 template <
typename ResponseMetadataT = ResponseMetadata>
195 m_responseMetadataHasBeenSet =
true;
196 m_responseMetadata = std::forward<ResponseMetadataT>(value);
198 template <
typename ResponseMetadataT = ResponseMetadata>
213 long long m_amount{0};
221 ResponseMetadata m_responseMetadata;
222 bool m_usageLimitIdHasBeenSet =
false;
223 bool m_clusterIdentifierHasBeenSet =
false;
224 bool m_featureTypeHasBeenSet =
false;
225 bool m_limitTypeHasBeenSet =
false;
226 bool m_amountHasBeenSet =
false;
227 bool m_periodHasBeenSet =
false;
228 bool m_breachActionHasBeenSet =
false;
229 bool m_tagsHasBeenSet =
false;
230 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