AWS SDK for C++
AWS SDK for C++
Loading...
Searching...
No Matches
UsageLimit.h
Go to the documentation of this file.
1
6#pragma once
17#include <utility>
18
19namespace Aws
20{
21namespace Utils
22{
23namespace Xml
24{
25 class XmlNode;
26} // namespace Xml
27} // namespace Utils
28namespace Redshift
29{
30namespace Model
31{
32
39 {
40 public:
44
45 AWS_REDSHIFT_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
46 AWS_REDSHIFT_API 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 = false;
379
380 Aws::String m_clusterIdentifier;
381 bool m_clusterIdentifierHasBeenSet = false;
382
383 UsageLimitFeatureType m_featureType;
384 bool m_featureTypeHasBeenSet = false;
385
386 UsageLimitLimitType m_limitType;
387 bool m_limitTypeHasBeenSet = false;
388
389 long long m_amount;
390 bool m_amountHasBeenSet = false;
391
392 UsageLimitPeriod m_period;
393 bool m_periodHasBeenSet = false;
394
395 UsageLimitBreachAction m_breachAction;
396 bool m_breachActionHasBeenSet = false;
397
398 Aws::Vector<Tag> m_tags;
399 bool m_tagsHasBeenSet = false;
400
401 ResponseMetadata m_responseMetadata;
402 bool m_responseMetadataHasBeenSet = false;
403 };
404
405} // namespace Model
406} // namespace Redshift
407} // namespace Aws
#define AWS_REDSHIFT_API
void SetAmount(long long value)
Definition: UsageLimit.h:215
UsageLimit & WithTags(const Aws::Vector< Tag > &value)
Definition: UsageLimit.h:339
UsageLimit & AddTags(Tag &&value)
Definition: UsageLimit.h:354
UsageLimit & WithFeatureType(const UsageLimitFeatureType &value)
Definition: UsageLimit.h:154
const Aws::String & GetClusterIdentifier() const
Definition: UsageLimit.h:93
UsageLimit & WithUsageLimitId(Aws::String &&value)
Definition: UsageLimit.h:82
void SetTags(const Aws::Vector< Tag > &value)
Definition: UsageLimit.h:329
void SetLimitType(const UsageLimitLimitType &value)
Definition: UsageLimit.h:178
UsageLimit & WithTags(Aws::Vector< Tag > &&value)
Definition: UsageLimit.h:344
const UsageLimitBreachAction & GetBreachAction() const
Definition: UsageLimit.h:268
void SetUsageLimitId(const char *value)
Definition: UsageLimit.h:72
bool ResponseMetadataHasBeenSet() const
Definition: UsageLimit.h:361
const UsageLimitLimitType & GetLimitType() const
Definition: UsageLimit.h:166
void SetBreachAction(UsageLimitBreachAction &&value)
Definition: UsageLimit.h:295
UsageLimit & WithLimitType(UsageLimitLimitType &&value)
Definition: UsageLimit.h:196
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &oStream, const char *location) const
UsageLimit & WithUsageLimitId(const char *value)
Definition: UsageLimit.h:87
void SetPeriod(UsageLimitPeriod &&value)
Definition: UsageLimit.h:246
AWS_REDSHIFT_API UsageLimit & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
UsageLimit & WithFeatureType(UsageLimitFeatureType &&value)
Definition: UsageLimit.h:159
void SetLimitType(UsageLimitLimitType &&value)
Definition: UsageLimit.h:184
void SetResponseMetadata(const ResponseMetadata &value)
Definition: UsageLimit.h:364
UsageLimit & WithClusterIdentifier(Aws::String &&value)
Definition: UsageLimit.h:123
UsageLimit & WithResponseMetadata(const ResponseMetadata &value)
Definition: UsageLimit.h:370
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
void SetPeriod(const UsageLimitPeriod &value)
Definition: UsageLimit.h:240
void SetFeatureType(const UsageLimitFeatureType &value)
Definition: UsageLimit.h:144
UsageLimit & WithResponseMetadata(ResponseMetadata &&value)
Definition: UsageLimit.h:373
void SetClusterIdentifier(Aws::String &&value)
Definition: UsageLimit.h:108
const Aws::String & GetUsageLimitId() const
Definition: UsageLimit.h:52
UsageLimit & WithPeriod(const UsageLimitPeriod &value)
Definition: UsageLimit.h:252
const Aws::Vector< Tag > & GetTags() const
Definition: UsageLimit.h:319
void SetResponseMetadata(ResponseMetadata &&value)
Definition: UsageLimit.h:367
UsageLimit & WithLimitType(const UsageLimitLimitType &value)
Definition: UsageLimit.h:190
void SetTags(Aws::Vector< Tag > &&value)
Definition: UsageLimit.h:334
UsageLimit & WithClusterIdentifier(const Aws::String &value)
Definition: UsageLimit.h:118
void SetClusterIdentifier(const char *value)
Definition: UsageLimit.h:113
const UsageLimitPeriod & GetPeriod() const
Definition: UsageLimit.h:228
UsageLimit & WithClusterIdentifier(const char *value)
Definition: UsageLimit.h:128
UsageLimit & WithAmount(long long value)
Definition: UsageLimit.h:221
UsageLimit & AddTags(const Tag &value)
Definition: UsageLimit.h:349
void SetUsageLimitId(const Aws::String &value)
Definition: UsageLimit.h:62
bool ClusterIdentifierHasBeenSet() const
Definition: UsageLimit.h:98
UsageLimit & WithPeriod(UsageLimitPeriod &&value)
Definition: UsageLimit.h:258
const UsageLimitFeatureType & GetFeatureType() const
Definition: UsageLimit.h:134
void SetUsageLimitId(Aws::String &&value)
Definition: UsageLimit.h:67
AWS_REDSHIFT_API UsageLimit(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetBreachAction(const UsageLimitBreachAction &value)
Definition: UsageLimit.h:286
UsageLimit & WithUsageLimitId(const Aws::String &value)
Definition: UsageLimit.h:77
void SetClusterIdentifier(const Aws::String &value)
Definition: UsageLimit.h:103
UsageLimit & WithBreachAction(const UsageLimitBreachAction &value)
Definition: UsageLimit.h:304
const ResponseMetadata & GetResponseMetadata() const
Definition: UsageLimit.h:358
void SetFeatureType(UsageLimitFeatureType &&value)
Definition: UsageLimit.h:149
UsageLimit & WithBreachAction(UsageLimitBreachAction &&value)
Definition: UsageLimit.h:313
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