AWS SDK for C++  1.9.107
AWS SDK for C++
CreateUsageLimitRequest.h
Go to the documentation of this file.
1 
6 #pragma once
15 #include <aws/redshift/model/Tag.h>
16 #include <utility>
17 
18 namespace Aws
19 {
20 namespace Redshift
21 {
22 namespace Model
23 {
24 
28  {
29  public:
31 
32  // Service request name is the Operation name which will send this request out,
33  // each operation should has unique request name, so that we can get operation's name from this request.
34  // Note: this is not true for response, multiple operations may have the same response name,
35  // so we can not get operation's name from response.
36  inline virtual const char* GetServiceRequestName() const override { return "CreateUsageLimit"; }
37 
38  Aws::String SerializePayload() const override;
39 
40  protected:
41  void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
42 
43  public:
44 
48  inline const Aws::String& GetClusterIdentifier() const{ return m_clusterIdentifier; }
49 
53  inline bool ClusterIdentifierHasBeenSet() const { return m_clusterIdentifierHasBeenSet; }
54 
58  inline void SetClusterIdentifier(const Aws::String& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = value; }
59 
63  inline void SetClusterIdentifier(Aws::String&& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = std::move(value); }
64 
68  inline void SetClusterIdentifier(const char* value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier.assign(value); }
69 
73  inline CreateUsageLimitRequest& WithClusterIdentifier(const Aws::String& value) { SetClusterIdentifier(value); return *this;}
74 
78  inline CreateUsageLimitRequest& WithClusterIdentifier(Aws::String&& value) { SetClusterIdentifier(std::move(value)); return *this;}
79 
83  inline CreateUsageLimitRequest& WithClusterIdentifier(const char* value) { SetClusterIdentifier(value); return *this;}
84 
85 
89  inline const UsageLimitFeatureType& GetFeatureType() const{ return m_featureType; }
90 
94  inline bool FeatureTypeHasBeenSet() const { return m_featureTypeHasBeenSet; }
95 
99  inline void SetFeatureType(const UsageLimitFeatureType& value) { m_featureTypeHasBeenSet = true; m_featureType = value; }
100 
104  inline void SetFeatureType(UsageLimitFeatureType&& value) { m_featureTypeHasBeenSet = true; m_featureType = std::move(value); }
105 
109  inline CreateUsageLimitRequest& WithFeatureType(const UsageLimitFeatureType& value) { SetFeatureType(value); return *this;}
110 
114  inline CreateUsageLimitRequest& WithFeatureType(UsageLimitFeatureType&& value) { SetFeatureType(std::move(value)); return *this;}
115 
116 
124  inline const UsageLimitLimitType& GetLimitType() const{ return m_limitType; }
125 
133  inline bool LimitTypeHasBeenSet() const { return m_limitTypeHasBeenSet; }
134 
142  inline void SetLimitType(const UsageLimitLimitType& value) { m_limitTypeHasBeenSet = true; m_limitType = value; }
143 
151  inline void SetLimitType(UsageLimitLimitType&& value) { m_limitTypeHasBeenSet = true; m_limitType = std::move(value); }
152 
160  inline CreateUsageLimitRequest& WithLimitType(const UsageLimitLimitType& value) { SetLimitType(value); return *this;}
161 
169  inline CreateUsageLimitRequest& WithLimitType(UsageLimitLimitType&& value) { SetLimitType(std::move(value)); return *this;}
170 
171 
176  inline long long GetAmount() const{ return m_amount; }
177 
182  inline bool AmountHasBeenSet() const { return m_amountHasBeenSet; }
183 
188  inline void SetAmount(long long value) { m_amountHasBeenSet = true; m_amount = value; }
189 
194  inline CreateUsageLimitRequest& WithAmount(long long value) { SetAmount(value); return *this;}
195 
196 
201  inline const UsageLimitPeriod& GetPeriod() const{ return m_period; }
202 
207  inline bool PeriodHasBeenSet() const { return m_periodHasBeenSet; }
208 
213  inline void SetPeriod(const UsageLimitPeriod& value) { m_periodHasBeenSet = true; m_period = value; }
214 
219  inline void SetPeriod(UsageLimitPeriod&& value) { m_periodHasBeenSet = true; m_period = std::move(value); }
220 
225  inline CreateUsageLimitRequest& WithPeriod(const UsageLimitPeriod& value) { SetPeriod(value); return *this;}
226 
231  inline CreateUsageLimitRequest& WithPeriod(UsageLimitPeriod&& value) { SetPeriod(std::move(value)); return *this;}
232 
233 
238  inline const UsageLimitBreachAction& GetBreachAction() const{ return m_breachAction; }
239 
244  inline bool BreachActionHasBeenSet() const { return m_breachActionHasBeenSet; }
245 
250  inline void SetBreachAction(const UsageLimitBreachAction& value) { m_breachActionHasBeenSet = true; m_breachAction = value; }
251 
256  inline void SetBreachAction(UsageLimitBreachAction&& value) { m_breachActionHasBeenSet = true; m_breachAction = std::move(value); }
257 
262  inline CreateUsageLimitRequest& WithBreachAction(const UsageLimitBreachAction& value) { SetBreachAction(value); return *this;}
263 
268  inline CreateUsageLimitRequest& WithBreachAction(UsageLimitBreachAction&& value) { SetBreachAction(std::move(value)); return *this;}
269 
270 
274  inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
275 
279  inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
280 
284  inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
285 
289  inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
290 
294  inline CreateUsageLimitRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
295 
299  inline CreateUsageLimitRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
300 
304  inline CreateUsageLimitRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
305 
309  inline CreateUsageLimitRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
310 
311  private:
312 
313  Aws::String m_clusterIdentifier;
314  bool m_clusterIdentifierHasBeenSet;
315 
316  UsageLimitFeatureType m_featureType;
317  bool m_featureTypeHasBeenSet;
318 
319  UsageLimitLimitType m_limitType;
320  bool m_limitTypeHasBeenSet;
321 
322  long long m_amount;
323  bool m_amountHasBeenSet;
324 
325  UsageLimitPeriod m_period;
326  bool m_periodHasBeenSet;
327 
328  UsageLimitBreachAction m_breachAction;
329  bool m_breachActionHasBeenSet;
330 
331  Aws::Vector<Tag> m_tags;
332  bool m_tagsHasBeenSet;
333  };
334 
335 } // namespace Model
336 } // namespace Redshift
337 } // namespace Aws
Aws::Redshift::Model::Tag
Definition: Tag.h:33
Aws::Http::URI
Definition: URI.h:32
Aws::Redshift::Model::CreateUsageLimitRequest::WithClusterIdentifier
CreateUsageLimitRequest & WithClusterIdentifier(const Aws::String &value)
Definition: CreateUsageLimitRequest.h:73
UsageLimitBreachAction.h
Aws::Redshift::Model::CreateUsageLimitRequest::WithClusterIdentifier
CreateUsageLimitRequest & WithClusterIdentifier(Aws::String &&value)
Definition: CreateUsageLimitRequest.h:78
Aws::Redshift::Model::CreateUsageLimitRequest::GetLimitType
const UsageLimitLimitType & GetLimitType() const
Definition: CreateUsageLimitRequest.h:124
Aws::Redshift::Model::CreateUsageLimitRequest::BreachActionHasBeenSet
bool BreachActionHasBeenSet() const
Definition: CreateUsageLimitRequest.h:244
Aws::Redshift::Model::CreateUsageLimitRequest::ClusterIdentifierHasBeenSet
bool ClusterIdentifierHasBeenSet() const
Definition: CreateUsageLimitRequest.h:53
Aws::Redshift::Model::CreateUsageLimitRequest::TagsHasBeenSet
bool TagsHasBeenSet() const
Definition: CreateUsageLimitRequest.h:279
Aws::Redshift::Model::CreateUsageLimitRequest::SetBreachAction
void SetBreachAction(UsageLimitBreachAction &&value)
Definition: CreateUsageLimitRequest.h:256
Aws::Redshift::Model::CreateUsageLimitRequest::WithTags
CreateUsageLimitRequest & WithTags(Aws::Vector< Tag > &&value)
Definition: CreateUsageLimitRequest.h:299
Aws::Redshift::Model::CreateUsageLimitRequest::WithBreachAction
CreateUsageLimitRequest & WithBreachAction(const UsageLimitBreachAction &value)
Definition: CreateUsageLimitRequest.h:262
Tag.h
Aws::Redshift::Model::CreateUsageLimitRequest::WithBreachAction
CreateUsageLimitRequest & WithBreachAction(UsageLimitBreachAction &&value)
Definition: CreateUsageLimitRequest.h:268
Aws::Redshift::Model::CreateUsageLimitRequest::SetAmount
void SetAmount(long long value)
Definition: CreateUsageLimitRequest.h:188
Aws::Redshift::Model::CreateUsageLimitRequest::SetClusterIdentifier
void SetClusterIdentifier(const Aws::String &value)
Definition: CreateUsageLimitRequest.h:58
Aws::Redshift::Model::CreateUsageLimitRequest::GetClusterIdentifier
const Aws::String & GetClusterIdentifier() const
Definition: CreateUsageLimitRequest.h:48
Aws::Redshift::Model::CreateUsageLimitRequest::SetClusterIdentifier
void SetClusterIdentifier(const char *value)
Definition: CreateUsageLimitRequest.h:68
Aws::Redshift::Model::CreateUsageLimitRequest::SetLimitType
void SetLimitType(const UsageLimitLimitType &value)
Definition: CreateUsageLimitRequest.h:142
Aws::Redshift::Model::CreateUsageLimitRequest::SetBreachAction
void SetBreachAction(const UsageLimitBreachAction &value)
Definition: CreateUsageLimitRequest.h:250
Aws::Vector
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:17
UsageLimitFeatureType.h
RedshiftRequest.h
Aws::Redshift::Model::CreateUsageLimitRequest::SetClusterIdentifier
void SetClusterIdentifier(Aws::String &&value)
Definition: CreateUsageLimitRequest.h:63
AWSVector.h
Aws::Redshift::Model::CreateUsageLimitRequest::WithLimitType
CreateUsageLimitRequest & WithLimitType(const UsageLimitLimitType &value)
Definition: CreateUsageLimitRequest.h:160
Aws::Redshift::Model::CreateUsageLimitRequest::GetPeriod
const UsageLimitPeriod & GetPeriod() const
Definition: CreateUsageLimitRequest.h:201
Aws::Redshift::Model::CreateUsageLimitRequest::WithAmount
CreateUsageLimitRequest & WithAmount(long long value)
Definition: CreateUsageLimitRequest.h:194
Aws::Redshift::Model::CreateUsageLimitRequest::GetFeatureType
const UsageLimitFeatureType & GetFeatureType() const
Definition: CreateUsageLimitRequest.h:89
Aws::Redshift::Model::UsageLimitBreachAction
UsageLimitBreachAction
Definition: UsageLimitBreachAction.h:17
Aws::Redshift::Model::CreateUsageLimitRequest::GetServiceRequestName
virtual const char * GetServiceRequestName() const override
Definition: CreateUsageLimitRequest.h:36
Aws::Redshift::Model::CreateUsageLimitRequest::SetTags
void SetTags(Aws::Vector< Tag > &&value)
Definition: CreateUsageLimitRequest.h:289
Aws::Redshift::Model::CreateUsageLimitRequest::SetFeatureType
void SetFeatureType(UsageLimitFeatureType &&value)
Definition: CreateUsageLimitRequest.h:104
Aws::Redshift::Model::CreateUsageLimitRequest::CreateUsageLimitRequest
CreateUsageLimitRequest()
AWS_REDSHIFT_API
#define AWS_REDSHIFT_API
Definition: Redshift_EXPORTS.h:28
UsageLimitPeriod.h
Aws::Redshift::Model::CreateUsageLimitRequest
Definition: CreateUsageLimitRequest.h:28
Aws::Redshift::RedshiftRequest
Definition: RedshiftRequest.h:17
Aws::Redshift::Model::CreateUsageLimitRequest::SetLimitType
void SetLimitType(UsageLimitLimitType &&value)
Definition: CreateUsageLimitRequest.h:151
Aws::Redshift::Model::CreateUsageLimitRequest::AddTags
CreateUsageLimitRequest & AddTags(const Tag &value)
Definition: CreateUsageLimitRequest.h:304
AWSString.h
Aws::Redshift::Model::CreateUsageLimitRequest::SetPeriod
void SetPeriod(UsageLimitPeriod &&value)
Definition: CreateUsageLimitRequest.h:219
Aws::Redshift::Model::CreateUsageLimitRequest::WithFeatureType
CreateUsageLimitRequest & WithFeatureType(UsageLimitFeatureType &&value)
Definition: CreateUsageLimitRequest.h:114
Aws::Redshift::Model::CreateUsageLimitRequest::SetPeriod
void SetPeriod(const UsageLimitPeriod &value)
Definition: CreateUsageLimitRequest.h:213
Aws::Redshift::Model::CreateUsageLimitRequest::AddTags
CreateUsageLimitRequest & AddTags(Tag &&value)
Definition: CreateUsageLimitRequest.h:309
Aws::Redshift::Model::CreateUsageLimitRequest::WithPeriod
CreateUsageLimitRequest & WithPeriod(UsageLimitPeriod &&value)
Definition: CreateUsageLimitRequest.h:231
Aws::Redshift::Model::CreateUsageLimitRequest::GetBreachAction
const UsageLimitBreachAction & GetBreachAction() const
Definition: CreateUsageLimitRequest.h:238
Aws::Redshift::Model::CreateUsageLimitRequest::WithLimitType
CreateUsageLimitRequest & WithLimitType(UsageLimitLimitType &&value)
Definition: CreateUsageLimitRequest.h:169
Aws::Redshift::Model::CreateUsageLimitRequest::WithPeriod
CreateUsageLimitRequest & WithPeriod(const UsageLimitPeriod &value)
Definition: CreateUsageLimitRequest.h:225
UsageLimitLimitType.h
Aws::Redshift::Model::CreateUsageLimitRequest::PeriodHasBeenSet
bool PeriodHasBeenSet() const
Definition: CreateUsageLimitRequest.h:207
Aws::Redshift::Model::CreateUsageLimitRequest::SetTags
void SetTags(const Aws::Vector< Tag > &value)
Definition: CreateUsageLimitRequest.h:284
Aws
Definition: AccessManagementClient.h:15
Aws::Redshift::Model::CreateUsageLimitRequest::SetFeatureType
void SetFeatureType(const UsageLimitFeatureType &value)
Definition: CreateUsageLimitRequest.h:99
Aws::Redshift::Model::CreateUsageLimitRequest::DumpBodyToUrl
void DumpBodyToUrl(Aws::Http::URI &uri) const override
Aws::Redshift::Model::UsageLimitLimitType
UsageLimitLimitType
Definition: UsageLimitLimitType.h:17
Aws::Redshift::Model::CreateUsageLimitRequest::GetAmount
long long GetAmount() const
Definition: CreateUsageLimitRequest.h:176
Redshift_EXPORTS.h
Aws::String
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
Aws::Redshift::Model::CreateUsageLimitRequest::GetTags
const Aws::Vector< Tag > & GetTags() const
Definition: CreateUsageLimitRequest.h:274
Aws::Redshift::Model::CreateUsageLimitRequest::LimitTypeHasBeenSet
bool LimitTypeHasBeenSet() const
Definition: CreateUsageLimitRequest.h:133
Aws::Redshift::Model::CreateUsageLimitRequest::WithTags
CreateUsageLimitRequest & WithTags(const Aws::Vector< Tag > &value)
Definition: CreateUsageLimitRequest.h:294
Aws::Redshift::Model::CreateUsageLimitRequest::WithClusterIdentifier
CreateUsageLimitRequest & WithClusterIdentifier(const char *value)
Definition: CreateUsageLimitRequest.h:83
Aws::Redshift::Model::CreateUsageLimitRequest::FeatureTypeHasBeenSet
bool FeatureTypeHasBeenSet() const
Definition: CreateUsageLimitRequest.h:94
Aws::Redshift::Model::CreateUsageLimitRequest::WithFeatureType
CreateUsageLimitRequest & WithFeatureType(const UsageLimitFeatureType &value)
Definition: CreateUsageLimitRequest.h:109
Aws::Redshift::Model::CreateUsageLimitRequest::SerializePayload
Aws::String SerializePayload() const override
Aws::Redshift::Model::CreateUsageLimitRequest::AmountHasBeenSet
bool AmountHasBeenSet() const
Definition: CreateUsageLimitRequest.h:182
Aws::Redshift::Model::UsageLimitFeatureType
UsageLimitFeatureType
Definition: UsageLimitFeatureType.h:17
Aws::Redshift::Model::UsageLimitPeriod
UsageLimitPeriod
Definition: UsageLimitPeriod.h:17