AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
CreateUsageLimitResult.h
1
6#pragma once
7#include <aws/redshift/Redshift_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/redshift/model/UsageLimitFeatureType.h>
10#include <aws/redshift/model/UsageLimitLimitType.h>
11#include <aws/redshift/model/UsageLimitPeriod.h>
12#include <aws/redshift/model/UsageLimitBreachAction.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
14#include <aws/redshift/model/ResponseMetadata.h>
15#include <aws/redshift/model/Tag.h>
16#include <utility>
17
18namespace Aws
19{
20template<typename RESULT_TYPE>
21class AmazonWebServiceResult;
22
23namespace Utils
24{
25namespace Xml
26{
27 class XmlDocument;
28} // namespace Xml
29} // namespace Utils
30namespace Redshift
31{
32namespace Model
33{
40 {
41 public:
42 AWS_REDSHIFT_API CreateUsageLimitResult() = default;
45
46
48
51 inline const Aws::String& GetUsageLimitId() const { return m_usageLimitId; }
52 template<typename UsageLimitIdT = Aws::String>
53 void SetUsageLimitId(UsageLimitIdT&& value) { m_usageLimitIdHasBeenSet = true; m_usageLimitId = std::forward<UsageLimitIdT>(value); }
54 template<typename UsageLimitIdT = Aws::String>
55 CreateUsageLimitResult& WithUsageLimitId(UsageLimitIdT&& value) { SetUsageLimitId(std::forward<UsageLimitIdT>(value)); return *this;}
57
59
62 inline const Aws::String& GetClusterIdentifier() const { return m_clusterIdentifier; }
63 template<typename ClusterIdentifierT = Aws::String>
64 void SetClusterIdentifier(ClusterIdentifierT&& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = std::forward<ClusterIdentifierT>(value); }
65 template<typename ClusterIdentifierT = Aws::String>
66 CreateUsageLimitResult& WithClusterIdentifier(ClusterIdentifierT&& value) { SetClusterIdentifier(std::forward<ClusterIdentifierT>(value)); return *this;}
68
70
73 inline UsageLimitFeatureType GetFeatureType() const { return m_featureType; }
74 inline void SetFeatureType(UsageLimitFeatureType value) { m_featureTypeHasBeenSet = true; m_featureType = value; }
77
79
83 inline UsageLimitLimitType GetLimitType() const { return m_limitType; }
84 inline void SetLimitType(UsageLimitLimitType value) { m_limitTypeHasBeenSet = true; m_limitType = value; }
87
89
93 inline long long GetAmount() const { return m_amount; }
94 inline void SetAmount(long long value) { m_amountHasBeenSet = true; m_amount = value; }
95 inline CreateUsageLimitResult& WithAmount(long long value) { SetAmount(value); return *this;}
97
99
103 inline UsageLimitPeriod GetPeriod() const { return m_period; }
104 inline void SetPeriod(UsageLimitPeriod value) { m_periodHasBeenSet = true; m_period = value; }
105 inline CreateUsageLimitResult& WithPeriod(UsageLimitPeriod value) { SetPeriod(value); return *this;}
107
109
116 inline UsageLimitBreachAction GetBreachAction() const { return m_breachAction; }
117 inline void SetBreachAction(UsageLimitBreachAction value) { m_breachActionHasBeenSet = true; m_breachAction = value; }
120
122
125 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
126 template<typename TagsT = Aws::Vector<Tag>>
127 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
128 template<typename TagsT = Aws::Vector<Tag>>
129 CreateUsageLimitResult& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
130 template<typename TagsT = Tag>
131 CreateUsageLimitResult& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
133
135
136 inline const ResponseMetadata& GetResponseMetadata() const { return m_responseMetadata; }
137 template<typename ResponseMetadataT = ResponseMetadata>
138 void SetResponseMetadata(ResponseMetadataT&& value) { m_responseMetadataHasBeenSet = true; m_responseMetadata = std::forward<ResponseMetadataT>(value); }
139 template<typename ResponseMetadataT = ResponseMetadata>
140 CreateUsageLimitResult& WithResponseMetadata(ResponseMetadataT&& value) { SetResponseMetadata(std::forward<ResponseMetadataT>(value)); return *this;}
142 private:
143
144 Aws::String m_usageLimitId;
145 bool m_usageLimitIdHasBeenSet = false;
146
147 Aws::String m_clusterIdentifier;
148 bool m_clusterIdentifierHasBeenSet = false;
149
151 bool m_featureTypeHasBeenSet = false;
152
154 bool m_limitTypeHasBeenSet = false;
155
156 long long m_amount{0};
157 bool m_amountHasBeenSet = false;
158
160 bool m_periodHasBeenSet = false;
161
163 bool m_breachActionHasBeenSet = false;
164
165 Aws::Vector<Tag> m_tags;
166 bool m_tagsHasBeenSet = false;
167
168 ResponseMetadata m_responseMetadata;
169 bool m_responseMetadataHasBeenSet = false;
170 };
171
172} // namespace Model
173} // namespace Redshift
174} // 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)
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