AWS SDK for C++

AWS SDK for C++ Version 1.11.743

Loading...
Searching...
No Matches
AttributeValue.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSMap.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/verifiedpermissions/VerifiedPermissions_EXPORTS.h>
11#include <aws/verifiedpermissions/model/EntityIdentifier.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace VerifiedPermissions {
23namespace Model {
24
41 public:
42 AWS_VERIFIEDPERMISSIONS_API AttributeValue() = default;
43 AWS_VERIFIEDPERMISSIONS_API AttributeValue(Aws::Utils::Json::JsonView jsonValue);
44 AWS_VERIFIEDPERMISSIONS_API AttributeValue& operator=(Aws::Utils::Json::JsonView jsonValue);
45 AWS_VERIFIEDPERMISSIONS_API Aws::Utils::Json::JsonValue Jsonize() const;
46
48
53 inline bool GetBoolean() const { return m_boolean; }
54 inline bool BooleanHasBeenSet() const { return m_booleanHasBeenSet; }
55 inline void SetBoolean(bool value) {
56 m_booleanHasBeenSet = true;
57 m_boolean = value;
58 }
59 inline AttributeValue& WithBoolean(bool value) {
60 SetBoolean(value);
61 return *this;
62 }
64
66
72 inline const EntityIdentifier& GetEntityIdentifier() const { return m_entityIdentifier; }
73 inline bool EntityIdentifierHasBeenSet() const { return m_entityIdentifierHasBeenSet; }
74 template <typename EntityIdentifierT = EntityIdentifier>
75 void SetEntityIdentifier(EntityIdentifierT&& value) {
76 m_entityIdentifierHasBeenSet = true;
77 m_entityIdentifier = std::forward<EntityIdentifierT>(value);
78 }
79 template <typename EntityIdentifierT = EntityIdentifier>
80 AttributeValue& WithEntityIdentifier(EntityIdentifierT&& value) {
81 SetEntityIdentifier(std::forward<EntityIdentifierT>(value));
82 return *this;
83 }
85
87
92 inline long long GetLong() const { return m_long; }
93 inline bool LongHasBeenSet() const { return m_longHasBeenSet; }
94 inline void SetLong(long long value) {
95 m_longHasBeenSet = true;
96 m_long = value;
97 }
98 inline AttributeValue& WithLong(long long value) {
99 SetLong(value);
100 return *this;
101 }
103
105
110 inline const Aws::String& GetString() const { return m_string; }
111 inline bool StringHasBeenSet() const { return m_stringHasBeenSet; }
112 template <typename StringT = Aws::String>
113 void SetString(StringT&& value) {
114 m_stringHasBeenSet = true;
115 m_string = std::forward<StringT>(value);
116 }
117 template <typename StringT = Aws::String>
118 AttributeValue& WithString(StringT&& value) {
119 SetString(std::forward<StringT>(value));
120 return *this;
121 }
123
125
130 inline const Aws::Vector<AttributeValue>& GetSet() const { return m_set; }
131 inline bool SetHasBeenSet() const { return m_setHasBeenSet; }
132 template <typename SetT = Aws::Vector<AttributeValue>>
133 void SetSet(SetT&& value) {
134 m_setHasBeenSet = true;
135 m_set = std::forward<SetT>(value);
136 }
137 template <typename SetT = Aws::Vector<AttributeValue>>
138 AttributeValue& WithSet(SetT&& value) {
139 SetSet(std::forward<SetT>(value));
140 return *this;
141 }
142 template <typename SetT = AttributeValue>
143 AttributeValue& AddSet(SetT&& value) {
144 m_setHasBeenSet = true;
145 m_set.emplace_back(std::forward<SetT>(value));
146 return *this;
147 }
149
151
156 inline const Aws::Map<Aws::String, AttributeValue>& GetRecord() const { return m_record; }
157 inline bool RecordHasBeenSet() const { return m_recordHasBeenSet; }
158 template <typename RecordT = Aws::Map<Aws::String, AttributeValue>>
159 void SetRecord(RecordT&& value) {
160 m_recordHasBeenSet = true;
161 m_record = std::forward<RecordT>(value);
162 }
163 template <typename RecordT = Aws::Map<Aws::String, AttributeValue>>
164 AttributeValue& WithRecord(RecordT&& value) {
165 SetRecord(std::forward<RecordT>(value));
166 return *this;
167 }
168 template <typename RecordKeyT = Aws::String, typename RecordValueT = AttributeValue>
169 AttributeValue& AddRecord(RecordKeyT&& key, RecordValueT&& value) {
170 m_recordHasBeenSet = true;
171 m_record.emplace(std::forward<RecordKeyT>(key), std::forward<RecordValueT>(value));
172 return *this;
173 }
175
177
182 inline const Aws::String& GetIpaddr() const { return m_ipaddr; }
183 inline bool IpaddrHasBeenSet() const { return m_ipaddrHasBeenSet; }
184 template <typename IpaddrT = Aws::String>
185 void SetIpaddr(IpaddrT&& value) {
186 m_ipaddrHasBeenSet = true;
187 m_ipaddr = std::forward<IpaddrT>(value);
188 }
189 template <typename IpaddrT = Aws::String>
190 AttributeValue& WithIpaddr(IpaddrT&& value) {
191 SetIpaddr(std::forward<IpaddrT>(value));
192 return *this;
193 }
195
197
202 inline const Aws::String& GetDecimal() const { return m_decimal; }
203 inline bool DecimalHasBeenSet() const { return m_decimalHasBeenSet; }
204 template <typename DecimalT = Aws::String>
205 void SetDecimal(DecimalT&& value) {
206 m_decimalHasBeenSet = true;
207 m_decimal = std::forward<DecimalT>(value);
208 }
209 template <typename DecimalT = Aws::String>
210 AttributeValue& WithDecimal(DecimalT&& value) {
211 SetDecimal(std::forward<DecimalT>(value));
212 return *this;
213 }
215
217
222 inline const Aws::String& GetDatetime() const { return m_datetime; }
223 inline bool DatetimeHasBeenSet() const { return m_datetimeHasBeenSet; }
224 template <typename DatetimeT = Aws::String>
225 void SetDatetime(DatetimeT&& value) {
226 m_datetimeHasBeenSet = true;
227 m_datetime = std::forward<DatetimeT>(value);
228 }
229 template <typename DatetimeT = Aws::String>
230 AttributeValue& WithDatetime(DatetimeT&& value) {
231 SetDatetime(std::forward<DatetimeT>(value));
232 return *this;
233 }
235
237
242 inline const Aws::String& GetDuration() const { return m_duration; }
243 inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; }
244 template <typename DurationT = Aws::String>
245 void SetDuration(DurationT&& value) {
246 m_durationHasBeenSet = true;
247 m_duration = std::forward<DurationT>(value);
248 }
249 template <typename DurationT = Aws::String>
250 AttributeValue& WithDuration(DurationT&& value) {
251 SetDuration(std::forward<DurationT>(value));
252 return *this;
253 }
255 private:
256 bool m_boolean{false};
257
258 EntityIdentifier m_entityIdentifier;
259
260 long long m_long{0};
261
262 Aws::String m_string;
263
265
267
268 Aws::String m_ipaddr;
269
270 Aws::String m_decimal;
271
272 Aws::String m_datetime;
273
274 Aws::String m_duration;
275 bool m_booleanHasBeenSet = false;
276 bool m_entityIdentifierHasBeenSet = false;
277 bool m_longHasBeenSet = false;
278 bool m_stringHasBeenSet = false;
279 bool m_setHasBeenSet = false;
280 bool m_recordHasBeenSet = false;
281 bool m_ipaddrHasBeenSet = false;
282 bool m_decimalHasBeenSet = false;
283 bool m_datetimeHasBeenSet = false;
284 bool m_durationHasBeenSet = false;
285};
286
287} // namespace Model
288} // namespace VerifiedPermissions
289} // namespace Aws
void SetEntityIdentifier(EntityIdentifierT &&value)
AttributeValue & WithIpaddr(IpaddrT &&value)
const EntityIdentifier & GetEntityIdentifier() const
const Aws::Map< Aws::String, AttributeValue > & GetRecord() const
AttributeValue & AddRecord(RecordKeyT &&key, RecordValueT &&value)
AttributeValue & WithLong(long long value)
AWS_VERIFIEDPERMISSIONS_API AttributeValue(Aws::Utils::Json::JsonView jsonValue)
AttributeValue & WithDatetime(DatetimeT &&value)
const Aws::Vector< AttributeValue > & GetSet() const
AWS_VERIFIEDPERMISSIONS_API AttributeValue()=default
AWS_VERIFIEDPERMISSIONS_API AttributeValue & operator=(Aws::Utils::Json::JsonView jsonValue)
AttributeValue & WithString(StringT &&value)
AttributeValue & WithDecimal(DecimalT &&value)
AttributeValue & WithDuration(DurationT &&value)
AttributeValue & WithRecord(RecordT &&value)
AWS_VERIFIEDPERMISSIONS_API Aws::Utils::Json::JsonValue Jsonize() const
AttributeValue & WithEntityIdentifier(EntityIdentifierT &&value)
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue