AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
ModifyUsageLimitResult.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/redshift/Redshift_EXPORTS.h>
10#include <aws/redshift/model/ResponseMetadata.h>
11#include <aws/redshift/model/Tag.h>
12#include <aws/redshift/model/UsageLimitBreachAction.h>
13#include <aws/redshift/model/UsageLimitFeatureType.h>
14#include <aws/redshift/model/UsageLimitLimitType.h>
15#include <aws/redshift/model/UsageLimitPeriod.h>
16
17#include <utility>
18
19namespace Aws {
20template <typename RESULT_TYPE>
21class AmazonWebServiceResult;
22
23namespace Utils {
24namespace Xml {
25class XmlDocument;
26} // namespace Xml
27} // namespace Utils
28namespace Redshift {
29namespace Model {
36 public:
37 AWS_REDSHIFT_API ModifyUsageLimitResult() = default;
40
42
45 inline const Aws::String& GetUsageLimitId() const { return m_usageLimitId; }
46 template <typename UsageLimitIdT = Aws::String>
47 void SetUsageLimitId(UsageLimitIdT&& value) {
48 m_usageLimitIdHasBeenSet = true;
49 m_usageLimitId = std::forward<UsageLimitIdT>(value);
50 }
51 template <typename UsageLimitIdT = Aws::String>
52 ModifyUsageLimitResult& WithUsageLimitId(UsageLimitIdT&& value) {
53 SetUsageLimitId(std::forward<UsageLimitIdT>(value));
54 return *this;
55 }
57
59
62 inline const Aws::String& GetClusterIdentifier() const { return m_clusterIdentifier; }
63 template <typename ClusterIdentifierT = Aws::String>
64 void SetClusterIdentifier(ClusterIdentifierT&& value) {
65 m_clusterIdentifierHasBeenSet = true;
66 m_clusterIdentifier = std::forward<ClusterIdentifierT>(value);
67 }
68 template <typename ClusterIdentifierT = Aws::String>
69 ModifyUsageLimitResult& WithClusterIdentifier(ClusterIdentifierT&& value) {
70 SetClusterIdentifier(std::forward<ClusterIdentifierT>(value));
71 return *this;
72 }
74
76
79 inline UsageLimitFeatureType GetFeatureType() const { return m_featureType; }
81 m_featureTypeHasBeenSet = true;
82 m_featureType = value;
83 }
85 SetFeatureType(value);
86 return *this;
87 }
89
91
95 inline UsageLimitLimitType GetLimitType() const { return m_limitType; }
96 inline void SetLimitType(UsageLimitLimitType value) {
97 m_limitTypeHasBeenSet = true;
98 m_limitType = value;
99 }
101 SetLimitType(value);
102 return *this;
103 }
105
107
111 inline long long GetAmount() const { return m_amount; }
112 inline void SetAmount(long long value) {
113 m_amountHasBeenSet = true;
114 m_amount = value;
115 }
116 inline ModifyUsageLimitResult& WithAmount(long long value) {
117 SetAmount(value);
118 return *this;
119 }
121
123
127 inline UsageLimitPeriod GetPeriod() const { return m_period; }
128 inline void SetPeriod(UsageLimitPeriod value) {
129 m_periodHasBeenSet = true;
130 m_period = value;
131 }
133 SetPeriod(value);
134 return *this;
135 }
137
139
146 inline UsageLimitBreachAction GetBreachAction() const { return m_breachAction; }
148 m_breachActionHasBeenSet = true;
149 m_breachAction = value;
150 }
152 SetBreachAction(value);
153 return *this;
154 }
156
158
161 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
162 template <typename TagsT = Aws::Vector<Tag>>
163 void SetTags(TagsT&& value) {
164 m_tagsHasBeenSet = true;
165 m_tags = std::forward<TagsT>(value);
166 }
167 template <typename TagsT = Aws::Vector<Tag>>
169 SetTags(std::forward<TagsT>(value));
170 return *this;
171 }
172 template <typename TagsT = Tag>
174 m_tagsHasBeenSet = true;
175 m_tags.emplace_back(std::forward<TagsT>(value));
176 return *this;
177 }
179
181
182 inline const ResponseMetadata& GetResponseMetadata() const { return m_responseMetadata; }
183 template <typename ResponseMetadataT = ResponseMetadata>
184 void SetResponseMetadata(ResponseMetadataT&& value) {
185 m_responseMetadataHasBeenSet = true;
186 m_responseMetadata = std::forward<ResponseMetadataT>(value);
187 }
188 template <typename ResponseMetadataT = ResponseMetadata>
189 ModifyUsageLimitResult& WithResponseMetadata(ResponseMetadataT&& value) {
190 SetResponseMetadata(std::forward<ResponseMetadataT>(value));
191 return *this;
192 }
194 private:
195 Aws::String m_usageLimitId;
196
197 Aws::String m_clusterIdentifier;
198
200
202
203 long long m_amount{0};
204
206
208
209 Aws::Vector<Tag> m_tags;
210
211 ResponseMetadata m_responseMetadata;
212 bool m_usageLimitIdHasBeenSet = false;
213 bool m_clusterIdentifierHasBeenSet = false;
214 bool m_featureTypeHasBeenSet = false;
215 bool m_limitTypeHasBeenSet = false;
216 bool m_amountHasBeenSet = false;
217 bool m_periodHasBeenSet = false;
218 bool m_breachActionHasBeenSet = false;
219 bool m_tagsHasBeenSet = false;
220 bool m_responseMetadataHasBeenSet = false;
221};
222
223} // namespace Model
224} // namespace Redshift
225} // namespace Aws
void SetClusterIdentifier(ClusterIdentifierT &&value)
ModifyUsageLimitResult & WithBreachAction(UsageLimitBreachAction value)
ModifyUsageLimitResult & WithPeriod(UsageLimitPeriod value)
AWS_REDSHIFT_API ModifyUsageLimitResult()=default
const ResponseMetadata & GetResponseMetadata() const
ModifyUsageLimitResult & WithTags(TagsT &&value)
ModifyUsageLimitResult & WithClusterIdentifier(ClusterIdentifierT &&value)
ModifyUsageLimitResult & WithUsageLimitId(UsageLimitIdT &&value)
ModifyUsageLimitResult & WithFeatureType(UsageLimitFeatureType value)
void SetFeatureType(UsageLimitFeatureType value)
void SetResponseMetadata(ResponseMetadataT &&value)
ModifyUsageLimitResult & AddTags(TagsT &&value)
ModifyUsageLimitResult & WithLimitType(UsageLimitLimitType value)
AWS_REDSHIFT_API ModifyUsageLimitResult(const Aws::AmazonWebServiceResult< Aws::Utils::Xml::XmlDocument > &result)
void SetBreachAction(UsageLimitBreachAction value)
ModifyUsageLimitResult & WithAmount(long long value)
AWS_REDSHIFT_API ModifyUsageLimitResult & operator=(const Aws::AmazonWebServiceResult< Aws::Utils::Xml::XmlDocument > &result)
ModifyUsageLimitResult & WithResponseMetadata(ResponseMetadataT &&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