AWS SDK for C++  1.9.103
AWS SDK for C++
UsageLimit.h
Go to the documentation of this file.
1 
6 #pragma once
16 #include <aws/redshift/model/Tag.h>
17 #include <utility>
18 
19 namespace Aws
20 {
21 namespace Utils
22 {
23 namespace Xml
24 {
25  class XmlNode;
26 } // namespace Xml
27 } // namespace Utils
28 namespace Redshift
29 {
30 namespace Model
31 {
32 
39  {
40  public:
44 
45  void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
46  void OutputToStream(Aws::OStream& oStream, const char* location) const;
47 
48 
52  inline const Aws::String& GetUsageLimitId() const{ return m_usageLimitId; }
53 
57  inline bool UsageLimitIdHasBeenSet() const { return m_usageLimitIdHasBeenSet; }
58 
62  inline void SetUsageLimitId(const Aws::String& value) { m_usageLimitIdHasBeenSet = true; m_usageLimitId = value; }
63 
67  inline void SetUsageLimitId(Aws::String&& value) { m_usageLimitIdHasBeenSet = true; m_usageLimitId = std::move(value); }
68 
72  inline void SetUsageLimitId(const char* value) { m_usageLimitIdHasBeenSet = true; m_usageLimitId.assign(value); }
73 
77  inline UsageLimit& WithUsageLimitId(const Aws::String& value) { SetUsageLimitId(value); return *this;}
78 
82  inline UsageLimit& WithUsageLimitId(Aws::String&& value) { SetUsageLimitId(std::move(value)); return *this;}
83 
87  inline UsageLimit& WithUsageLimitId(const char* value) { SetUsageLimitId(value); return *this;}
88 
89 
93  inline const Aws::String& GetClusterIdentifier() const{ return m_clusterIdentifier; }
94 
98  inline bool ClusterIdentifierHasBeenSet() const { return m_clusterIdentifierHasBeenSet; }
99 
103  inline void SetClusterIdentifier(const Aws::String& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = value; }
104 
108  inline void SetClusterIdentifier(Aws::String&& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = std::move(value); }
109 
113  inline void SetClusterIdentifier(const char* value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier.assign(value); }
114 
118  inline UsageLimit& WithClusterIdentifier(const Aws::String& value) { SetClusterIdentifier(value); return *this;}
119 
123  inline UsageLimit& WithClusterIdentifier(Aws::String&& value) { SetClusterIdentifier(std::move(value)); return *this;}
124 
128  inline UsageLimit& WithClusterIdentifier(const char* value) { SetClusterIdentifier(value); return *this;}
129 
130 
134  inline const UsageLimitFeatureType& GetFeatureType() const{ return m_featureType; }
135 
139  inline bool FeatureTypeHasBeenSet() const { return m_featureTypeHasBeenSet; }
140 
144  inline void SetFeatureType(const UsageLimitFeatureType& value) { m_featureTypeHasBeenSet = true; m_featureType = value; }
145 
149  inline void SetFeatureType(UsageLimitFeatureType&& value) { m_featureTypeHasBeenSet = true; m_featureType = std::move(value); }
150 
154  inline UsageLimit& WithFeatureType(const UsageLimitFeatureType& value) { SetFeatureType(value); return *this;}
155 
159  inline UsageLimit& WithFeatureType(UsageLimitFeatureType&& value) { SetFeatureType(std::move(value)); return *this;}
160 
161 
166  inline const UsageLimitLimitType& GetLimitType() const{ return m_limitType; }
167 
172  inline bool LimitTypeHasBeenSet() const { return m_limitTypeHasBeenSet; }
173 
178  inline void SetLimitType(const UsageLimitLimitType& value) { m_limitTypeHasBeenSet = true; m_limitType = value; }
179 
184  inline void SetLimitType(UsageLimitLimitType&& value) { m_limitTypeHasBeenSet = true; m_limitType = std::move(value); }
185 
190  inline UsageLimit& WithLimitType(const UsageLimitLimitType& value) { SetLimitType(value); return *this;}
191 
196  inline UsageLimit& WithLimitType(UsageLimitLimitType&& value) { SetLimitType(std::move(value)); return *this;}
197 
198 
203  inline long long GetAmount() const{ return m_amount; }
204 
209  inline bool AmountHasBeenSet() const { return m_amountHasBeenSet; }
210 
215  inline void SetAmount(long long value) { m_amountHasBeenSet = true; m_amount = value; }
216 
221  inline UsageLimit& WithAmount(long long value) { SetAmount(value); return *this;}
222 
223 
228  inline const UsageLimitPeriod& GetPeriod() const{ return m_period; }
229 
234  inline bool PeriodHasBeenSet() const { return m_periodHasBeenSet; }
235 
240  inline void SetPeriod(const UsageLimitPeriod& value) { m_periodHasBeenSet = true; m_period = value; }
241 
246  inline void SetPeriod(UsageLimitPeriod&& value) { m_periodHasBeenSet = true; m_period = std::move(value); }
247 
252  inline UsageLimit& WithPeriod(const UsageLimitPeriod& value) { SetPeriod(value); return *this;}
253 
258  inline UsageLimit& WithPeriod(UsageLimitPeriod&& value) { SetPeriod(std::move(value)); return *this;}
259 
260 
268  inline const UsageLimitBreachAction& GetBreachAction() const{ return m_breachAction; }
269 
277  inline bool BreachActionHasBeenSet() const { return m_breachActionHasBeenSet; }
278 
286  inline void SetBreachAction(const UsageLimitBreachAction& value) { m_breachActionHasBeenSet = true; m_breachAction = value; }
287 
295  inline void SetBreachAction(UsageLimitBreachAction&& value) { m_breachActionHasBeenSet = true; m_breachAction = std::move(value); }
296 
304  inline UsageLimit& WithBreachAction(const UsageLimitBreachAction& value) { SetBreachAction(value); return *this;}
305 
313  inline UsageLimit& WithBreachAction(UsageLimitBreachAction&& value) { SetBreachAction(std::move(value)); return *this;}
314 
315 
319  inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
320 
324  inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
325 
329  inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
330 
334  inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
335 
339  inline UsageLimit& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
340 
344  inline UsageLimit& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
345 
349  inline UsageLimit& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
350 
354  inline UsageLimit& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
355 
356 
357 
358  inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
359 
360 
361  inline bool ResponseMetadataHasBeenSet() const { return m_responseMetadataHasBeenSet; }
362 
363 
364  inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadataHasBeenSet = true; m_responseMetadata = value; }
365 
366 
367  inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadataHasBeenSet = true; m_responseMetadata = std::move(value); }
368 
369 
370  inline UsageLimit& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
371 
372 
373  inline UsageLimit& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
374 
375  private:
376 
377  Aws::String m_usageLimitId;
378  bool m_usageLimitIdHasBeenSet;
379 
380  Aws::String m_clusterIdentifier;
381  bool m_clusterIdentifierHasBeenSet;
382 
383  UsageLimitFeatureType m_featureType;
384  bool m_featureTypeHasBeenSet;
385 
386  UsageLimitLimitType m_limitType;
387  bool m_limitTypeHasBeenSet;
388 
389  long long m_amount;
390  bool m_amountHasBeenSet;
391 
392  UsageLimitPeriod m_period;
393  bool m_periodHasBeenSet;
394 
395  UsageLimitBreachAction m_breachAction;
396  bool m_breachActionHasBeenSet;
397 
398  Aws::Vector<Tag> m_tags;
399  bool m_tagsHasBeenSet;
400 
401  ResponseMetadata m_responseMetadata;
402  bool m_responseMetadataHasBeenSet;
403  };
404 
405 } // namespace Model
406 } // namespace Redshift
407 } // namespace Aws
Aws::Redshift::Model::UsageLimit::GetUsageLimitId
const Aws::String & GetUsageLimitId() const
Definition: UsageLimit.h:52
Aws::Redshift::Model::ResponseMetadata
Definition: ResponseMetadata.h:27
Aws::Redshift::Model::UsageLimit::SetClusterIdentifier
void SetClusterIdentifier(const Aws::String &value)
Definition: UsageLimit.h:103
Aws::Redshift::Model::Tag
Definition: Tag.h:33
Aws::Redshift::Model::UsageLimit::LimitTypeHasBeenSet
bool LimitTypeHasBeenSet() const
Definition: UsageLimit.h:172
UsageLimitBreachAction.h
Aws::Redshift::Model::UsageLimit::WithBreachAction
UsageLimit & WithBreachAction(const UsageLimitBreachAction &value)
Definition: UsageLimit.h:304
Aws::Redshift::Model::UsageLimit::SetResponseMetadata
void SetResponseMetadata(const ResponseMetadata &value)
Definition: UsageLimit.h:364
Aws::Redshift::Model::UsageLimit::FeatureTypeHasBeenSet
bool FeatureTypeHasBeenSet() const
Definition: UsageLimit.h:139
Aws::Redshift::Model::UsageLimit::WithUsageLimitId
UsageLimit & WithUsageLimitId(const Aws::String &value)
Definition: UsageLimit.h:77
Aws::Redshift::Model::UsageLimit::AmountHasBeenSet
bool AmountHasBeenSet() const
Definition: UsageLimit.h:209
Aws::Redshift::Model::UsageLimit::operator=
UsageLimit & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
Aws::Redshift::Model::UsageLimit::SetResponseMetadata
void SetResponseMetadata(ResponseMetadata &&value)
Definition: UsageLimit.h:367
Tag.h
Aws::Redshift::Model::UsageLimit::SetUsageLimitId
void SetUsageLimitId(const char *value)
Definition: UsageLimit.h:72
Aws::Redshift::Model::UsageLimit::ClusterIdentifierHasBeenSet
bool ClusterIdentifierHasBeenSet() const
Definition: UsageLimit.h:98
Aws::Redshift::Model::UsageLimit::OutputToStream
void OutputToStream(Aws::OStream &oStream, const char *location) const
Aws::Redshift::Model::UsageLimit::GetTags
const Aws::Vector< Tag > & GetTags() const
Definition: UsageLimit.h:319
Aws::Vector
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:17
Aws::Redshift::Model::UsageLimit::UsageLimit
UsageLimit(const Aws::Utils::Xml::XmlNode &xmlNode)
UsageLimitFeatureType.h
AWSStreamFwd.h
Aws::Redshift::Model::UsageLimit::WithClusterIdentifier
UsageLimit & WithClusterIdentifier(Aws::String &&value)
Definition: UsageLimit.h:123
Aws::Redshift::Model::UsageLimit::WithUsageLimitId
UsageLimit & WithUsageLimitId(Aws::String &&value)
Definition: UsageLimit.h:82
AWSVector.h
Aws::Redshift::Model::UsageLimit::SetAmount
void SetAmount(long long value)
Definition: UsageLimit.h:215
Aws::Redshift::Model::UsageLimit::GetResponseMetadata
const ResponseMetadata & GetResponseMetadata() const
Definition: UsageLimit.h:358
Aws::Redshift::Model::UsageLimit::SetClusterIdentifier
void SetClusterIdentifier(Aws::String &&value)
Definition: UsageLimit.h:108
Aws::Redshift::Model::UsageLimit::SetBreachAction
void SetBreachAction(const UsageLimitBreachAction &value)
Definition: UsageLimit.h:286
Aws::Redshift::Model::UsageLimit::GetLimitType
const UsageLimitLimitType & GetLimitType() const
Definition: UsageLimit.h:166
Aws::Redshift::Model::UsageLimit
Definition: UsageLimit.h:39
Aws::OStream
std::basic_ostream< char, std::char_traits< char > > OStream
Definition: AWSStreamFwd.h:21
Aws::Redshift::Model::UsageLimit::WithAmount
UsageLimit & WithAmount(long long value)
Definition: UsageLimit.h:221
Aws::Redshift::Model::UsageLimitBreachAction
UsageLimitBreachAction
Definition: UsageLimitBreachAction.h:17
Aws::Redshift::Model::UsageLimit::SetTags
void SetTags(Aws::Vector< Tag > &&value)
Definition: UsageLimit.h:334
Aws::Redshift::Model::UsageLimit::TagsHasBeenSet
bool TagsHasBeenSet() const
Definition: UsageLimit.h:324
Aws::Redshift::Model::UsageLimit::WithLimitType
UsageLimit & WithLimitType(const UsageLimitLimitType &value)
Definition: UsageLimit.h:190
Aws::Utils::Xml::XmlNode
Definition: XmlSerializer.h:53
Aws::Redshift::Model::UsageLimit::UsageLimit
UsageLimit()
Aws::Redshift::Model::UsageLimit::BreachActionHasBeenSet
bool BreachActionHasBeenSet() const
Definition: UsageLimit.h:277
Aws::Redshift::Model::UsageLimit::WithTags
UsageLimit & WithTags(const Aws::Vector< Tag > &value)
Definition: UsageLimit.h:339
AWS_REDSHIFT_API
#define AWS_REDSHIFT_API
Definition: Redshift_EXPORTS.h:28
UsageLimitPeriod.h
Aws::Redshift::Model::UsageLimit::SetUsageLimitId
void SetUsageLimitId(const Aws::String &value)
Definition: UsageLimit.h:62
Aws::Redshift::Model::UsageLimit::WithLimitType
UsageLimit & WithLimitType(UsageLimitLimitType &&value)
Definition: UsageLimit.h:196
Aws::Redshift::Model::UsageLimit::ResponseMetadataHasBeenSet
bool ResponseMetadataHasBeenSet() const
Definition: UsageLimit.h:361
Aws::Redshift::Model::UsageLimit::SetLimitType
void SetLimitType(UsageLimitLimitType &&value)
Definition: UsageLimit.h:184
AWSString.h
Aws::Redshift::Model::UsageLimit::SetTags
void SetTags(const Aws::Vector< Tag > &value)
Definition: UsageLimit.h:329
Aws::Redshift::Model::UsageLimit::WithResponseMetadata
UsageLimit & WithResponseMetadata(const ResponseMetadata &value)
Definition: UsageLimit.h:370
Aws::Redshift::Model::UsageLimit::WithClusterIdentifier
UsageLimit & WithClusterIdentifier(const Aws::String &value)
Definition: UsageLimit.h:118
Aws::Redshift::Model::UsageLimit::SetFeatureType
void SetFeatureType(const UsageLimitFeatureType &value)
Definition: UsageLimit.h:144
Aws::Redshift::Model::UsageLimit::GetAmount
long long GetAmount() const
Definition: UsageLimit.h:203
Aws::Redshift::Model::UsageLimit::SetLimitType
void SetLimitType(const UsageLimitLimitType &value)
Definition: UsageLimit.h:178
Aws::Redshift::Model::UsageLimit::GetClusterIdentifier
const Aws::String & GetClusterIdentifier() const
Definition: UsageLimit.h:93
Aws::Redshift::Model::UsageLimit::SetFeatureType
void SetFeatureType(UsageLimitFeatureType &&value)
Definition: UsageLimit.h:149
UsageLimitLimitType.h
Aws::Redshift::Model::UsageLimit::WithTags
UsageLimit & WithTags(Aws::Vector< Tag > &&value)
Definition: UsageLimit.h:344
Aws::Redshift::Model::UsageLimit::UsageLimitIdHasBeenSet
bool UsageLimitIdHasBeenSet() const
Definition: UsageLimit.h:57
Aws
Definition: AccessManagementClient.h:15
Aws::Redshift::Model::UsageLimit::WithUsageLimitId
UsageLimit & WithUsageLimitId(const char *value)
Definition: UsageLimit.h:87
Aws::Redshift::Model::UsageLimitLimitType
UsageLimitLimitType
Definition: UsageLimitLimitType.h:17
Redshift_EXPORTS.h
Aws::Redshift::Model::UsageLimit::PeriodHasBeenSet
bool PeriodHasBeenSet() const
Definition: UsageLimit.h:234
Aws::Redshift::Model::UsageLimit::AddTags
UsageLimit & AddTags(const Tag &value)
Definition: UsageLimit.h:349
Aws::Redshift::Model::UsageLimit::SetPeriod
void SetPeriod(UsageLimitPeriod &&value)
Definition: UsageLimit.h:246
Aws::String
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
Aws::Redshift::Model::UsageLimit::GetBreachAction
const UsageLimitBreachAction & GetBreachAction() const
Definition: UsageLimit.h:268
index
int index
Definition: cJSON.h:181
ResponseMetadata.h
Aws::Redshift::Model::UsageLimit::WithClusterIdentifier
UsageLimit & WithClusterIdentifier(const char *value)
Definition: UsageLimit.h:128
Aws::Redshift::Model::UsageLimit::WithPeriod
UsageLimit & WithPeriod(UsageLimitPeriod &&value)
Definition: UsageLimit.h:258
Aws::Redshift::Model::UsageLimit::WithFeatureType
UsageLimit & WithFeatureType(const UsageLimitFeatureType &value)
Definition: UsageLimit.h:154
Aws::Redshift::Model::UsageLimit::WithResponseMetadata
UsageLimit & WithResponseMetadata(ResponseMetadata &&value)
Definition: UsageLimit.h:373
Aws::Redshift::Model::UsageLimit::SetPeriod
void SetPeriod(const UsageLimitPeriod &value)
Definition: UsageLimit.h:240
Aws::Redshift::Model::UsageLimit::WithPeriod
UsageLimit & WithPeriod(const UsageLimitPeriod &value)
Definition: UsageLimit.h:252
Aws::Redshift::Model::UsageLimit::GetFeatureType
const UsageLimitFeatureType & GetFeatureType() const
Definition: UsageLimit.h:134
Aws::Redshift::Model::UsageLimit::SetUsageLimitId
void SetUsageLimitId(Aws::String &&value)
Definition: UsageLimit.h:67
Aws::Redshift::Model::UsageLimit::SetBreachAction
void SetBreachAction(UsageLimitBreachAction &&value)
Definition: UsageLimit.h:295
Aws::Redshift::Model::UsageLimit::AddTags
UsageLimit & AddTags(Tag &&value)
Definition: UsageLimit.h:354
Aws::Redshift::Model::UsageLimit::OutputToStream
void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
Aws::Redshift::Model::UsageLimit::SetClusterIdentifier
void SetClusterIdentifier(const char *value)
Definition: UsageLimit.h:113
Aws::Redshift::Model::UsageLimitFeatureType
UsageLimitFeatureType
Definition: UsageLimitFeatureType.h:17
Aws::Redshift::Model::UsageLimit::WithBreachAction
UsageLimit & WithBreachAction(UsageLimitBreachAction &&value)
Definition: UsageLimit.h:313
Aws::Redshift::Model::UsageLimit::WithFeatureType
UsageLimit & WithFeatureType(UsageLimitFeatureType &&value)
Definition: UsageLimit.h:159
Aws::Redshift::Model::UsageLimitPeriod
UsageLimitPeriod
Definition: UsageLimitPeriod.h:17
Aws::Redshift::Model::UsageLimit::GetPeriod
const UsageLimitPeriod & GetPeriod() const
Definition: UsageLimit.h:228