AWS SDK for C++

AWS SDK for C++ Version 1.11.440

Loading...
Searching...
No Matches
CreateUsageLimitRequest.h
1
6#pragma once
7#include <aws/redshift/Redshift_EXPORTS.h>
8#include <aws/redshift/RedshiftRequest.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/Tag.h>
16#include <utility>
17
18namespace Aws
19{
20namespace Redshift
21{
22namespace Model
23{
24
28 {
29 public:
30 AWS_REDSHIFT_API CreateUsageLimitRequest();
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_REDSHIFT_API Aws::String SerializePayload() const override;
39
40 protected:
41 AWS_REDSHIFT_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
42
43 public:
44
46
49 inline const Aws::String& GetClusterIdentifier() const{ return m_clusterIdentifier; }
50 inline bool ClusterIdentifierHasBeenSet() const { return m_clusterIdentifierHasBeenSet; }
51 inline void SetClusterIdentifier(const Aws::String& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = value; }
52 inline void SetClusterIdentifier(Aws::String&& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = std::move(value); }
53 inline void SetClusterIdentifier(const char* value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier.assign(value); }
55 inline CreateUsageLimitRequest& WithClusterIdentifier(Aws::String&& value) { SetClusterIdentifier(std::move(value)); return *this;}
56 inline CreateUsageLimitRequest& WithClusterIdentifier(const char* value) { SetClusterIdentifier(value); return *this;}
58
60
63 inline const UsageLimitFeatureType& GetFeatureType() const{ return m_featureType; }
64 inline bool FeatureTypeHasBeenSet() const { return m_featureTypeHasBeenSet; }
65 inline void SetFeatureType(const UsageLimitFeatureType& value) { m_featureTypeHasBeenSet = true; m_featureType = value; }
66 inline void SetFeatureType(UsageLimitFeatureType&& value) { m_featureTypeHasBeenSet = true; m_featureType = std::move(value); }
67 inline CreateUsageLimitRequest& WithFeatureType(const UsageLimitFeatureType& value) { SetFeatureType(value); return *this;}
68 inline CreateUsageLimitRequest& WithFeatureType(UsageLimitFeatureType&& value) { SetFeatureType(std::move(value)); return *this;}
70
72
81 inline const UsageLimitLimitType& GetLimitType() const{ return m_limitType; }
82 inline bool LimitTypeHasBeenSet() const { return m_limitTypeHasBeenSet; }
83 inline void SetLimitType(const UsageLimitLimitType& value) { m_limitTypeHasBeenSet = true; m_limitType = value; }
84 inline void SetLimitType(UsageLimitLimitType&& value) { m_limitTypeHasBeenSet = true; m_limitType = std::move(value); }
85 inline CreateUsageLimitRequest& WithLimitType(const UsageLimitLimitType& value) { SetLimitType(value); return *this;}
86 inline CreateUsageLimitRequest& WithLimitType(UsageLimitLimitType&& value) { SetLimitType(std::move(value)); return *this;}
88
90
94 inline long long GetAmount() const{ return m_amount; }
95 inline bool AmountHasBeenSet() const { return m_amountHasBeenSet; }
96 inline void SetAmount(long long value) { m_amountHasBeenSet = true; m_amount = value; }
97 inline CreateUsageLimitRequest& WithAmount(long long value) { SetAmount(value); return *this;}
99
101
105 inline const UsageLimitPeriod& GetPeriod() const{ return m_period; }
106 inline bool PeriodHasBeenSet() const { return m_periodHasBeenSet; }
107 inline void SetPeriod(const UsageLimitPeriod& value) { m_periodHasBeenSet = true; m_period = value; }
108 inline void SetPeriod(UsageLimitPeriod&& value) { m_periodHasBeenSet = true; m_period = std::move(value); }
109 inline CreateUsageLimitRequest& WithPeriod(const UsageLimitPeriod& value) { SetPeriod(value); return *this;}
110 inline CreateUsageLimitRequest& WithPeriod(UsageLimitPeriod&& value) { SetPeriod(std::move(value)); return *this;}
112
114
118 inline const UsageLimitBreachAction& GetBreachAction() const{ return m_breachAction; }
119 inline bool BreachActionHasBeenSet() const { return m_breachActionHasBeenSet; }
120 inline void SetBreachAction(const UsageLimitBreachAction& value) { m_breachActionHasBeenSet = true; m_breachAction = value; }
121 inline void SetBreachAction(UsageLimitBreachAction&& value) { m_breachActionHasBeenSet = true; m_breachAction = std::move(value); }
123 inline CreateUsageLimitRequest& WithBreachAction(UsageLimitBreachAction&& value) { SetBreachAction(std::move(value)); return *this;}
125
127
130 inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
131 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
132 inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
133 inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
134 inline CreateUsageLimitRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
135 inline CreateUsageLimitRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
136 inline CreateUsageLimitRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
137 inline CreateUsageLimitRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
139 private:
140
141 Aws::String m_clusterIdentifier;
142 bool m_clusterIdentifierHasBeenSet = false;
143
144 UsageLimitFeatureType m_featureType;
145 bool m_featureTypeHasBeenSet = false;
146
147 UsageLimitLimitType m_limitType;
148 bool m_limitTypeHasBeenSet = false;
149
150 long long m_amount;
151 bool m_amountHasBeenSet = false;
152
153 UsageLimitPeriod m_period;
154 bool m_periodHasBeenSet = false;
155
156 UsageLimitBreachAction m_breachAction;
157 bool m_breachActionHasBeenSet = false;
158
159 Aws::Vector<Tag> m_tags;
160 bool m_tagsHasBeenSet = false;
161 };
162
163} // namespace Model
164} // namespace Redshift
165} // namespace Aws
CreateUsageLimitRequest & AddTags(Tag &&value)
CreateUsageLimitRequest & WithPeriod(UsageLimitPeriod &&value)
CreateUsageLimitRequest & WithLimitType(const UsageLimitLimitType &value)
const UsageLimitLimitType & GetLimitType() const
void SetLimitType(const UsageLimitLimitType &value)
AWS_REDSHIFT_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
const UsageLimitBreachAction & GetBreachAction() const
CreateUsageLimitRequest & WithLimitType(UsageLimitLimitType &&value)
CreateUsageLimitRequest & WithBreachAction(const UsageLimitBreachAction &value)
CreateUsageLimitRequest & WithTags(const Aws::Vector< Tag > &value)
CreateUsageLimitRequest & WithTags(Aws::Vector< Tag > &&value)
const UsageLimitFeatureType & GetFeatureType() const
CreateUsageLimitRequest & WithAmount(long long value)
void SetBreachAction(UsageLimitBreachAction &&value)
virtual const char * GetServiceRequestName() const override
AWS_REDSHIFT_API Aws::String SerializePayload() const override
void SetTags(const Aws::Vector< Tag > &value)
CreateUsageLimitRequest & WithClusterIdentifier(const Aws::String &value)
CreateUsageLimitRequest & WithBreachAction(UsageLimitBreachAction &&value)
void SetFeatureType(const UsageLimitFeatureType &value)
CreateUsageLimitRequest & WithFeatureType(const UsageLimitFeatureType &value)
CreateUsageLimitRequest & WithClusterIdentifier(Aws::String &&value)
void SetFeatureType(UsageLimitFeatureType &&value)
void SetBreachAction(const UsageLimitBreachAction &value)
CreateUsageLimitRequest & WithPeriod(const UsageLimitPeriod &value)
CreateUsageLimitRequest & WithFeatureType(UsageLimitFeatureType &&value)
CreateUsageLimitRequest & AddTags(const Tag &value)
CreateUsageLimitRequest & WithClusterIdentifier(const char *value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector