AWS SDK for C++

AWS SDK for C++ Version 1.11.440

Loading...
Searching...
No Matches
UsageLimit.h
1
6#pragma once
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>
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:
41 AWS_REDSHIFT_API UsageLimit();
42 AWS_REDSHIFT_API UsageLimit(const Aws::Utils::Xml::XmlNode& xmlNode);
43 AWS_REDSHIFT_API UsageLimit& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
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
50
53 inline const Aws::String& GetUsageLimitId() const{ return m_usageLimitId; }
54 inline bool UsageLimitIdHasBeenSet() const { return m_usageLimitIdHasBeenSet; }
55 inline void SetUsageLimitId(const Aws::String& value) { m_usageLimitIdHasBeenSet = true; m_usageLimitId = value; }
56 inline void SetUsageLimitId(Aws::String&& value) { m_usageLimitIdHasBeenSet = true; m_usageLimitId = std::move(value); }
57 inline void SetUsageLimitId(const char* value) { m_usageLimitIdHasBeenSet = true; m_usageLimitId.assign(value); }
58 inline UsageLimit& WithUsageLimitId(const Aws::String& value) { SetUsageLimitId(value); return *this;}
59 inline UsageLimit& WithUsageLimitId(Aws::String&& value) { SetUsageLimitId(std::move(value)); return *this;}
60 inline UsageLimit& WithUsageLimitId(const char* value) { SetUsageLimitId(value); return *this;}
62
64
67 inline const Aws::String& GetClusterIdentifier() const{ return m_clusterIdentifier; }
68 inline bool ClusterIdentifierHasBeenSet() const { return m_clusterIdentifierHasBeenSet; }
69 inline void SetClusterIdentifier(const Aws::String& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = value; }
70 inline void SetClusterIdentifier(Aws::String&& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = std::move(value); }
71 inline void SetClusterIdentifier(const char* value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier.assign(value); }
72 inline UsageLimit& WithClusterIdentifier(const Aws::String& value) { SetClusterIdentifier(value); return *this;}
73 inline UsageLimit& WithClusterIdentifier(Aws::String&& value) { SetClusterIdentifier(std::move(value)); return *this;}
74 inline UsageLimit& WithClusterIdentifier(const char* value) { SetClusterIdentifier(value); return *this;}
76
78
81 inline const UsageLimitFeatureType& GetFeatureType() const{ return m_featureType; }
82 inline bool FeatureTypeHasBeenSet() const { return m_featureTypeHasBeenSet; }
83 inline void SetFeatureType(const UsageLimitFeatureType& value) { m_featureTypeHasBeenSet = true; m_featureType = value; }
84 inline void SetFeatureType(UsageLimitFeatureType&& value) { m_featureTypeHasBeenSet = true; m_featureType = std::move(value); }
85 inline UsageLimit& WithFeatureType(const UsageLimitFeatureType& value) { SetFeatureType(value); return *this;}
86 inline UsageLimit& WithFeatureType(UsageLimitFeatureType&& value) { SetFeatureType(std::move(value)); return *this;}
88
90
94 inline const UsageLimitLimitType& GetLimitType() const{ return m_limitType; }
95 inline bool LimitTypeHasBeenSet() const { return m_limitTypeHasBeenSet; }
96 inline void SetLimitType(const UsageLimitLimitType& value) { m_limitTypeHasBeenSet = true; m_limitType = value; }
97 inline void SetLimitType(UsageLimitLimitType&& value) { m_limitTypeHasBeenSet = true; m_limitType = std::move(value); }
98 inline UsageLimit& WithLimitType(const UsageLimitLimitType& value) { SetLimitType(value); return *this;}
99 inline UsageLimit& WithLimitType(UsageLimitLimitType&& value) { SetLimitType(std::move(value)); return *this;}
101
103
107 inline long long GetAmount() const{ return m_amount; }
108 inline bool AmountHasBeenSet() const { return m_amountHasBeenSet; }
109 inline void SetAmount(long long value) { m_amountHasBeenSet = true; m_amount = value; }
110 inline UsageLimit& WithAmount(long long value) { SetAmount(value); return *this;}
112
114
118 inline const UsageLimitPeriod& GetPeriod() const{ return m_period; }
119 inline bool PeriodHasBeenSet() const { return m_periodHasBeenSet; }
120 inline void SetPeriod(const UsageLimitPeriod& value) { m_periodHasBeenSet = true; m_period = value; }
121 inline void SetPeriod(UsageLimitPeriod&& value) { m_periodHasBeenSet = true; m_period = std::move(value); }
122 inline UsageLimit& WithPeriod(const UsageLimitPeriod& value) { SetPeriod(value); return *this;}
123 inline UsageLimit& WithPeriod(UsageLimitPeriod&& value) { SetPeriod(std::move(value)); return *this;}
125
127
134 inline const UsageLimitBreachAction& GetBreachAction() const{ return m_breachAction; }
135 inline bool BreachActionHasBeenSet() const { return m_breachActionHasBeenSet; }
136 inline void SetBreachAction(const UsageLimitBreachAction& value) { m_breachActionHasBeenSet = true; m_breachAction = value; }
137 inline void SetBreachAction(UsageLimitBreachAction&& value) { m_breachActionHasBeenSet = true; m_breachAction = std::move(value); }
138 inline UsageLimit& WithBreachAction(const UsageLimitBreachAction& value) { SetBreachAction(value); return *this;}
139 inline UsageLimit& WithBreachAction(UsageLimitBreachAction&& value) { SetBreachAction(std::move(value)); return *this;}
141
143
146 inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
147 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
148 inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
149 inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
150 inline UsageLimit& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
151 inline UsageLimit& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
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; }
155
157
158 inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
159 inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
160 inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
161 inline UsageLimit& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
162 inline UsageLimit& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
164 private:
165
166 Aws::String m_usageLimitId;
167 bool m_usageLimitIdHasBeenSet = false;
168
169 Aws::String m_clusterIdentifier;
170 bool m_clusterIdentifierHasBeenSet = false;
171
172 UsageLimitFeatureType m_featureType;
173 bool m_featureTypeHasBeenSet = false;
174
175 UsageLimitLimitType m_limitType;
176 bool m_limitTypeHasBeenSet = false;
177
178 long long m_amount;
179 bool m_amountHasBeenSet = false;
180
181 UsageLimitPeriod m_period;
182 bool m_periodHasBeenSet = false;
183
184 UsageLimitBreachAction m_breachAction;
185 bool m_breachActionHasBeenSet = false;
186
187 Aws::Vector<Tag> m_tags;
188 bool m_tagsHasBeenSet = false;
189
190 ResponseMetadata m_responseMetadata;
191 };
192
193} // namespace Model
194} // namespace Redshift
195} // namespace Aws
void SetAmount(long long value)
Definition UsageLimit.h:109
UsageLimit & WithTags(const Aws::Vector< Tag > &value)
Definition UsageLimit.h:150
UsageLimit & AddTags(Tag &&value)
Definition UsageLimit.h:153
UsageLimit & WithFeatureType(const UsageLimitFeatureType &value)
Definition UsageLimit.h:85
const Aws::String & GetClusterIdentifier() const
Definition UsageLimit.h:67
UsageLimit & WithUsageLimitId(Aws::String &&value)
Definition UsageLimit.h:59
void SetTags(const Aws::Vector< Tag > &value)
Definition UsageLimit.h:148
void SetLimitType(const UsageLimitLimitType &value)
Definition UsageLimit.h:96
UsageLimit & WithTags(Aws::Vector< Tag > &&value)
Definition UsageLimit.h:151
const UsageLimitBreachAction & GetBreachAction() const
Definition UsageLimit.h:134
void SetUsageLimitId(const char *value)
Definition UsageLimit.h:57
const UsageLimitLimitType & GetLimitType() const
Definition UsageLimit.h:94
void SetBreachAction(UsageLimitBreachAction &&value)
Definition UsageLimit.h:137
UsageLimit & WithLimitType(UsageLimitLimitType &&value)
Definition UsageLimit.h:99
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &oStream, const char *location) const
UsageLimit & WithUsageLimitId(const char *value)
Definition UsageLimit.h:60
void SetPeriod(UsageLimitPeriod &&value)
Definition UsageLimit.h:121
AWS_REDSHIFT_API UsageLimit & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
UsageLimit & WithFeatureType(UsageLimitFeatureType &&value)
Definition UsageLimit.h:86
void SetLimitType(UsageLimitLimitType &&value)
Definition UsageLimit.h:97
void SetResponseMetadata(const ResponseMetadata &value)
Definition UsageLimit.h:159
UsageLimit & WithClusterIdentifier(Aws::String &&value)
Definition UsageLimit.h:73
UsageLimit & WithResponseMetadata(const ResponseMetadata &value)
Definition UsageLimit.h:161
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:120
void SetFeatureType(const UsageLimitFeatureType &value)
Definition UsageLimit.h:83
UsageLimit & WithResponseMetadata(ResponseMetadata &&value)
Definition UsageLimit.h:162
void SetClusterIdentifier(Aws::String &&value)
Definition UsageLimit.h:70
const Aws::String & GetUsageLimitId() const
Definition UsageLimit.h:53
UsageLimit & WithPeriod(const UsageLimitPeriod &value)
Definition UsageLimit.h:122
const Aws::Vector< Tag > & GetTags() const
Definition UsageLimit.h:146
void SetResponseMetadata(ResponseMetadata &&value)
Definition UsageLimit.h:160
UsageLimit & WithLimitType(const UsageLimitLimitType &value)
Definition UsageLimit.h:98
void SetTags(Aws::Vector< Tag > &&value)
Definition UsageLimit.h:149
UsageLimit & WithClusterIdentifier(const Aws::String &value)
Definition UsageLimit.h:72
void SetClusterIdentifier(const char *value)
Definition UsageLimit.h:71
const UsageLimitPeriod & GetPeriod() const
Definition UsageLimit.h:118
UsageLimit & WithClusterIdentifier(const char *value)
Definition UsageLimit.h:74
UsageLimit & WithAmount(long long value)
Definition UsageLimit.h:110
UsageLimit & AddTags(const Tag &value)
Definition UsageLimit.h:152
void SetUsageLimitId(const Aws::String &value)
Definition UsageLimit.h:55
bool ClusterIdentifierHasBeenSet() const
Definition UsageLimit.h:68
UsageLimit & WithPeriod(UsageLimitPeriod &&value)
Definition UsageLimit.h:123
const UsageLimitFeatureType & GetFeatureType() const
Definition UsageLimit.h:81
void SetUsageLimitId(Aws::String &&value)
Definition UsageLimit.h:56
AWS_REDSHIFT_API UsageLimit(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetBreachAction(const UsageLimitBreachAction &value)
Definition UsageLimit.h:136
UsageLimit & WithUsageLimitId(const Aws::String &value)
Definition UsageLimit.h:58
void SetClusterIdentifier(const Aws::String &value)
Definition UsageLimit.h:69
UsageLimit & WithBreachAction(const UsageLimitBreachAction &value)
Definition UsageLimit.h:138
const ResponseMetadata & GetResponseMetadata() const
Definition UsageLimit.h:158
void SetFeatureType(UsageLimitFeatureType &&value)
Definition UsageLimit.h:84
UsageLimit & WithBreachAction(UsageLimitBreachAction &&value)
Definition UsageLimit.h:139
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