AWS SDK for C++

AWS SDK for C++ Version 1.11.906

Loading...
Searching...
No Matches
MessageAttributeValue.h
1
6#pragma once
7#include <aws/core/utils/Array.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/sns/SNS_EXPORTS.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Xml {
17class XmlNode;
18} // namespace Xml
19} // namespace Utils
20namespace SNS {
21namespace Model {
22
44 public:
45 AWS_SNS_API MessageAttributeValue() = default;
48
49 AWS_SNS_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
50 AWS_SNS_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
51
53
59 inline const Aws::String& GetDataType() const { return m_dataType; }
60 inline bool DataTypeHasBeenSet() const { return m_dataTypeHasBeenSet; }
61 template <typename DataTypeT = Aws::String>
62 void SetDataType(DataTypeT&& value) {
63 m_dataTypeHasBeenSet = true;
64 m_dataType = std::forward<DataTypeT>(value);
65 }
66 template <typename DataTypeT = Aws::String>
67 MessageAttributeValue& WithDataType(DataTypeT&& value) {
68 SetDataType(std::forward<DataTypeT>(value));
69 return *this;
70 }
72
74
79 inline const Aws::String& GetStringValue() const { return m_stringValue; }
80 inline bool StringValueHasBeenSet() const { return m_stringValueHasBeenSet; }
81 template <typename StringValueT = Aws::String>
82 void SetStringValue(StringValueT&& value) {
83 m_stringValueHasBeenSet = true;
84 m_stringValue = std::forward<StringValueT>(value);
85 }
86 template <typename StringValueT = Aws::String>
87 MessageAttributeValue& WithStringValue(StringValueT&& value) {
88 SetStringValue(std::forward<StringValueT>(value));
89 return *this;
90 }
92
94
98 inline const Aws::Utils::ByteBuffer& GetBinaryValue() const { return m_binaryValue; }
99 inline bool BinaryValueHasBeenSet() const { return m_binaryValueHasBeenSet; }
100 template <typename BinaryValueT = Aws::Utils::ByteBuffer>
101 void SetBinaryValue(BinaryValueT&& value) {
102 m_binaryValueHasBeenSet = true;
103 m_binaryValue = std::forward<BinaryValueT>(value);
104 }
105 template <typename BinaryValueT = Aws::Utils::ByteBuffer>
106 MessageAttributeValue& WithBinaryValue(BinaryValueT&& value) {
107 SetBinaryValue(std::forward<BinaryValueT>(value));
108 return *this;
109 }
111 private:
112 Aws::String m_dataType;
113
114 Aws::String m_stringValue;
115
116 Aws::Utils::ByteBuffer m_binaryValue{};
117 bool m_dataTypeHasBeenSet = false;
118 bool m_stringValueHasBeenSet = false;
119 bool m_binaryValueHasBeenSet = false;
120};
121
122} // namespace Model
123} // namespace SNS
124} // namespace Aws
AWS_SNS_API MessageAttributeValue()=default
MessageAttributeValue & WithStringValue(StringValueT &&value)
AWS_SNS_API MessageAttributeValue(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_SNS_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
AWS_SNS_API void OutputToStream(Aws::OStream &oStream, const char *location) const
const Aws::Utils::ByteBuffer & GetBinaryValue() const
MessageAttributeValue & WithDataType(DataTypeT &&value)
MessageAttributeValue & WithBinaryValue(BinaryValueT &&value)
AWS_SNS_API MessageAttributeValue & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::basic_ostream< char, std::char_traits< char > > OStream