AWS SDK for C++

AWS SDK for C++ Version 1.11.760

Loading...
Searching...
No Matches
Record.h
1
6#pragma once
7#include <aws/core/utils/Array.h>
8#include <aws/core/utils/DateTime.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/kinesis/Kinesis_EXPORTS.h>
11#include <aws/kinesis/model/EncryptionType.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace Kinesis {
23namespace Model {
24
31class Record {
32 public:
33 AWS_KINESIS_API Record() = default;
34 AWS_KINESIS_API Record(Aws::Utils::Json::JsonView jsonValue);
35 AWS_KINESIS_API Record& operator=(Aws::Utils::Json::JsonView jsonValue);
36 AWS_KINESIS_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
42 inline const Aws::String& GetSequenceNumber() const { return m_sequenceNumber; }
43 inline bool SequenceNumberHasBeenSet() const { return m_sequenceNumberHasBeenSet; }
44 template <typename SequenceNumberT = Aws::String>
45 void SetSequenceNumber(SequenceNumberT&& value) {
46 m_sequenceNumberHasBeenSet = true;
47 m_sequenceNumber = std::forward<SequenceNumberT>(value);
48 }
49 template <typename SequenceNumberT = Aws::String>
50 Record& WithSequenceNumber(SequenceNumberT&& value) {
51 SetSequenceNumber(std::forward<SequenceNumberT>(value));
52 return *this;
53 }
55
57
60 inline const Aws::Utils::DateTime& GetApproximateArrivalTimestamp() const { return m_approximateArrivalTimestamp; }
61 inline bool ApproximateArrivalTimestampHasBeenSet() const { return m_approximateArrivalTimestampHasBeenSet; }
62 template <typename ApproximateArrivalTimestampT = Aws::Utils::DateTime>
63 void SetApproximateArrivalTimestamp(ApproximateArrivalTimestampT&& value) {
64 m_approximateArrivalTimestampHasBeenSet = true;
65 m_approximateArrivalTimestamp = std::forward<ApproximateArrivalTimestampT>(value);
66 }
67 template <typename ApproximateArrivalTimestampT = Aws::Utils::DateTime>
68 Record& WithApproximateArrivalTimestamp(ApproximateArrivalTimestampT&& value) {
69 SetApproximateArrivalTimestamp(std::forward<ApproximateArrivalTimestampT>(value));
70 return *this;
71 }
73
75
82 inline const Aws::Utils::ByteBuffer& GetData() const { return m_data; }
83 inline bool DataHasBeenSet() const { return m_dataHasBeenSet; }
84 template <typename DataT = Aws::Utils::ByteBuffer>
85 void SetData(DataT&& value) {
86 m_dataHasBeenSet = true;
87 m_data = std::forward<DataT>(value);
88 }
89 template <typename DataT = Aws::Utils::ByteBuffer>
90 Record& WithData(DataT&& value) {
91 SetData(std::forward<DataT>(value));
92 return *this;
93 }
95
97
100 inline const Aws::String& GetPartitionKey() const { return m_partitionKey; }
101 inline bool PartitionKeyHasBeenSet() const { return m_partitionKeyHasBeenSet; }
102 template <typename PartitionKeyT = Aws::String>
103 void SetPartitionKey(PartitionKeyT&& value) {
104 m_partitionKeyHasBeenSet = true;
105 m_partitionKey = std::forward<PartitionKeyT>(value);
106 }
107 template <typename PartitionKeyT = Aws::String>
108 Record& WithPartitionKey(PartitionKeyT&& value) {
109 SetPartitionKey(std::forward<PartitionKeyT>(value));
110 return *this;
111 }
113
115
122 inline EncryptionType GetEncryptionType() const { return m_encryptionType; }
123 inline bool EncryptionTypeHasBeenSet() const { return m_encryptionTypeHasBeenSet; }
125 m_encryptionTypeHasBeenSet = true;
126 m_encryptionType = value;
127 }
129 SetEncryptionType(value);
130 return *this;
131 }
133 private:
134 Aws::String m_sequenceNumber;
135
136 Aws::Utils::DateTime m_approximateArrivalTimestamp{};
137
138 Aws::Utils::ByteBuffer m_data{};
139
140 Aws::String m_partitionKey;
141
142 EncryptionType m_encryptionType{EncryptionType::NOT_SET};
143 bool m_sequenceNumberHasBeenSet = false;
144 bool m_approximateArrivalTimestampHasBeenSet = false;
145 bool m_dataHasBeenSet = false;
146 bool m_partitionKeyHasBeenSet = false;
147 bool m_encryptionTypeHasBeenSet = false;
148};
149
150} // namespace Model
151} // namespace Kinesis
152} // namespace Aws
Record & WithSequenceNumber(SequenceNumberT &&value)
Definition Record.h:50
AWS_KINESIS_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::Utils::ByteBuffer & GetData() const
Definition Record.h:82
void SetData(DataT &&value)
Definition Record.h:85
Record & WithApproximateArrivalTimestamp(ApproximateArrivalTimestampT &&value)
Definition Record.h:68
void SetSequenceNumber(SequenceNumberT &&value)
Definition Record.h:45
void SetPartitionKey(PartitionKeyT &&value)
Definition Record.h:103
const Aws::Utils::DateTime & GetApproximateArrivalTimestamp() const
Definition Record.h:60
AWS_KINESIS_API Record & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetApproximateArrivalTimestamp(ApproximateArrivalTimestampT &&value)
Definition Record.h:63
AWS_KINESIS_API Record(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetPartitionKey() const
Definition Record.h:100
bool EncryptionTypeHasBeenSet() const
Definition Record.h:123
bool SequenceNumberHasBeenSet() const
Definition Record.h:43
Record & WithEncryptionType(EncryptionType value)
Definition Record.h:128
EncryptionType GetEncryptionType() const
Definition Record.h:122
bool PartitionKeyHasBeenSet() const
Definition Record.h:101
AWS_KINESIS_API Record()=default
const Aws::String & GetSequenceNumber() const
Definition Record.h:42
bool ApproximateArrivalTimestampHasBeenSet() const
Definition Record.h:61
void SetEncryptionType(EncryptionType value)
Definition Record.h:124
Record & WithPartitionKey(PartitionKeyT &&value)
Definition Record.h:108
bool DataHasBeenSet() const
Definition Record.h:83
Record & WithData(DataT &&value)
Definition Record.h:90
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue