AWS SDK for C++

AWS SDK for C++ Version 1.11.787

Loading...
Searching...
No Matches
CreateUsageLimitResult.h
1
6#pragma once
7#include <aws/core/http/HttpResponse.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/redshift/Redshift_EXPORTS.h>
11#include <aws/redshift/model/ResponseMetadata.h>
12#include <aws/redshift/model/Tag.h>
13#include <aws/redshift/model/UsageLimitBreachAction.h>
14#include <aws/redshift/model/UsageLimitFeatureType.h>
15#include <aws/redshift/model/UsageLimitLimitType.h>
16#include <aws/redshift/model/UsageLimitPeriod.h>
17
18#include <utility>
19
20namespace Aws {
21template <typename RESULT_TYPE>
22class AmazonWebServiceResult;
23
24namespace Utils {
25namespace Xml {
26class XmlDocument;
27} // namespace Xml
28} // namespace Utils
29namespace Redshift {
30namespace Model {
37 public:
38 AWS_REDSHIFT_API CreateUsageLimitResult() = default;
41
43
46 inline const Aws::String& GetUsageLimitId() const { return m_usageLimitId; }
47 template <typename UsageLimitIdT = Aws::String>
48 void SetUsageLimitId(UsageLimitIdT&& value) {
49 m_usageLimitIdHasBeenSet = true;
50 m_usageLimitId = std::forward<UsageLimitIdT>(value);
51 }
52 template <typename UsageLimitIdT = Aws::String>
53 CreateUsageLimitResult& WithUsageLimitId(UsageLimitIdT&& value) {
54 SetUsageLimitId(std::forward<UsageLimitIdT>(value));
55 return *this;
56 }
58
60
63 inline const Aws::String& GetClusterIdentifier() const { return m_clusterIdentifier; }
64 template <typename ClusterIdentifierT = Aws::String>
65 void SetClusterIdentifier(ClusterIdentifierT&& value) {
66 m_clusterIdentifierHasBeenSet = true;
67 m_clusterIdentifier = std::forward<ClusterIdentifierT>(value);
68 }
69 template <typename ClusterIdentifierT = Aws::String>
70 CreateUsageLimitResult& WithClusterIdentifier(ClusterIdentifierT&& value) {
71 SetClusterIdentifier(std::forward<ClusterIdentifierT>(value));
72 return *this;
73 }
75
77
80 inline UsageLimitFeatureType GetFeatureType() const { return m_featureType; }
82 m_featureTypeHasBeenSet = true;
83 m_featureType = value;
84 }
86 SetFeatureType(value);
87 return *this;
88 }
90
92
96 inline UsageLimitLimitType GetLimitType() const { return m_limitType; }
97 inline void SetLimitType(UsageLimitLimitType value) {
98 m_limitTypeHasBeenSet = true;
99 m_limitType = value;
100 }
102 SetLimitType(value);
103 return *this;
104 }
106
108
112 inline long long GetAmount() const { return m_amount; }
113 inline void SetAmount(long long value) {
114 m_amountHasBeenSet = true;
115 m_amount = value;
116 }
117 inline CreateUsageLimitResult& WithAmount(long long value) {
118 SetAmount(value);
119 return *this;
120 }
122
124
128 inline UsageLimitPeriod GetPeriod() const { return m_period; }
129 inline void SetPeriod(UsageLimitPeriod value) {
130 m_periodHasBeenSet = true;
131 m_period = value;
132 }
134 SetPeriod(value);
135 return *this;
136 }
138
140
147 inline UsageLimitBreachAction GetBreachAction() const { return m_breachAction; }
149 m_breachActionHasBeenSet = true;
150 m_breachAction = value;
151 }
153 SetBreachAction(value);
154 return *this;
155 }
157
159
162 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
163 template <typename TagsT = Aws::Vector<Tag>>
164 void SetTags(TagsT&& value) {
165 m_tagsHasBeenSet = true;
166 m_tags = std::forward<TagsT>(value);
167 }
168 template <typename TagsT = Aws::Vector<Tag>>
170 SetTags(std::forward<TagsT>(value));
171 return *this;
172 }
173 template <typename TagsT = Tag>
175 m_tagsHasBeenSet = true;
176 m_tags.emplace_back(std::forward<TagsT>(value));
177 return *this;
178 }
180
182
183 inline const ResponseMetadata& GetResponseMetadata() const { return m_responseMetadata; }
184 template <typename ResponseMetadataT = ResponseMetadata>
185 void SetResponseMetadata(ResponseMetadataT&& value) {
186 m_responseMetadataHasBeenSet = true;
187 m_responseMetadata = std::forward<ResponseMetadataT>(value);
188 }
189 template <typename ResponseMetadataT = ResponseMetadata>
190 CreateUsageLimitResult& WithResponseMetadata(ResponseMetadataT&& value) {
191 SetResponseMetadata(std::forward<ResponseMetadataT>(value));
192 return *this;
193 }
195 inline Aws::Http::HttpResponseCode GetHttpResponseCode() const { return m_HttpResponseCode; }
196
197 private:
198 Aws::String m_usageLimitId;
199
200 Aws::String m_clusterIdentifier;
201
203
205
206 long long m_amount{0};
207
209
211
212 Aws::Vector<Tag> m_tags;
213
214 ResponseMetadata m_responseMetadata;
215 Aws::Http::HttpResponseCode m_HttpResponseCode;
216 bool m_usageLimitIdHasBeenSet = false;
217 bool m_clusterIdentifierHasBeenSet = false;
218 bool m_featureTypeHasBeenSet = false;
219 bool m_limitTypeHasBeenSet = false;
220 bool m_amountHasBeenSet = false;
221 bool m_periodHasBeenSet = false;
222 bool m_breachActionHasBeenSet = false;
223 bool m_tagsHasBeenSet = false;
224 bool m_responseMetadataHasBeenSet = false;
225};
226
227} // namespace Model
228} // namespace Redshift
229} // namespace Aws
void SetBreachAction(UsageLimitBreachAction value)
CreateUsageLimitResult & WithClusterIdentifier(ClusterIdentifierT &&value)
AWS_REDSHIFT_API CreateUsageLimitResult & operator=(const Aws::AmazonWebServiceResult< Aws::Utils::Xml::XmlDocument > &result)
CreateUsageLimitResult & WithFeatureType(UsageLimitFeatureType value)
CreateUsageLimitResult & WithResponseMetadata(ResponseMetadataT &&value)
CreateUsageLimitResult & WithTags(TagsT &&value)
const ResponseMetadata & GetResponseMetadata() const
CreateUsageLimitResult & WithBreachAction(UsageLimitBreachAction value)
void SetResponseMetadata(ResponseMetadataT &&value)
CreateUsageLimitResult & WithLimitType(UsageLimitLimitType value)
AWS_REDSHIFT_API CreateUsageLimitResult(const Aws::AmazonWebServiceResult< Aws::Utils::Xml::XmlDocument > &result)
AWS_REDSHIFT_API CreateUsageLimitResult()=default
void SetClusterIdentifier(ClusterIdentifierT &&value)
CreateUsageLimitResult & AddTags(TagsT &&value)
Aws::Http::HttpResponseCode GetHttpResponseCode() const
CreateUsageLimitResult & WithAmount(long long value)
CreateUsageLimitResult & WithUsageLimitId(UsageLimitIdT &&value)
CreateUsageLimitResult & WithPeriod(UsageLimitPeriod value)
void SetFeatureType(UsageLimitFeatureType value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Xml::XmlDocument XmlDocument