AWS SDK for C++

AWS SDK for C++ Version 1.11.743

Loading...
Searching...
No Matches
Shard.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/keyspacesstreams/KeyspacesStreams_EXPORTS.h>
10#include <aws/keyspacesstreams/model/SequenceNumberRange.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace KeyspacesStreams {
22namespace Model {
23
30class Shard {
31 public:
32 AWS_KEYSPACESSTREAMS_API Shard() = default;
33 AWS_KEYSPACESSTREAMS_API Shard(Aws::Utils::Json::JsonView jsonValue);
34 AWS_KEYSPACESSTREAMS_API Shard& operator=(Aws::Utils::Json::JsonView jsonValue);
35 AWS_KEYSPACESSTREAMS_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
41 inline const Aws::String& GetShardId() const { return m_shardId; }
42 inline bool ShardIdHasBeenSet() const { return m_shardIdHasBeenSet; }
43 template <typename ShardIdT = Aws::String>
44 void SetShardId(ShardIdT&& value) {
45 m_shardIdHasBeenSet = true;
46 m_shardId = std::forward<ShardIdT>(value);
47 }
48 template <typename ShardIdT = Aws::String>
49 Shard& WithShardId(ShardIdT&& value) {
50 SetShardId(std::forward<ShardIdT>(value));
51 return *this;
52 }
54
56
59 inline const SequenceNumberRange& GetSequenceNumberRange() const { return m_sequenceNumberRange; }
60 inline bool SequenceNumberRangeHasBeenSet() const { return m_sequenceNumberRangeHasBeenSet; }
61 template <typename SequenceNumberRangeT = SequenceNumberRange>
62 void SetSequenceNumberRange(SequenceNumberRangeT&& value) {
63 m_sequenceNumberRangeHasBeenSet = true;
64 m_sequenceNumberRange = std::forward<SequenceNumberRangeT>(value);
65 }
66 template <typename SequenceNumberRangeT = SequenceNumberRange>
67 Shard& WithSequenceNumberRange(SequenceNumberRangeT&& value) {
68 SetSequenceNumberRange(std::forward<SequenceNumberRangeT>(value));
69 return *this;
70 }
72
74
78 inline const Aws::Vector<Aws::String>& GetParentShardIds() const { return m_parentShardIds; }
79 inline bool ParentShardIdsHasBeenSet() const { return m_parentShardIdsHasBeenSet; }
80 template <typename ParentShardIdsT = Aws::Vector<Aws::String>>
81 void SetParentShardIds(ParentShardIdsT&& value) {
82 m_parentShardIdsHasBeenSet = true;
83 m_parentShardIds = std::forward<ParentShardIdsT>(value);
84 }
85 template <typename ParentShardIdsT = Aws::Vector<Aws::String>>
86 Shard& WithParentShardIds(ParentShardIdsT&& value) {
87 SetParentShardIds(std::forward<ParentShardIdsT>(value));
88 return *this;
89 }
90 template <typename ParentShardIdsT = Aws::String>
91 Shard& AddParentShardIds(ParentShardIdsT&& value) {
92 m_parentShardIdsHasBeenSet = true;
93 m_parentShardIds.emplace_back(std::forward<ParentShardIdsT>(value));
94 return *this;
95 }
97 private:
98 Aws::String m_shardId;
99
100 SequenceNumberRange m_sequenceNumberRange;
101
102 Aws::Vector<Aws::String> m_parentShardIds;
103 bool m_shardIdHasBeenSet = false;
104 bool m_sequenceNumberRangeHasBeenSet = false;
105 bool m_parentShardIdsHasBeenSet = false;
106};
107
108} // namespace Model
109} // namespace KeyspacesStreams
110} // namespace Aws
Shard & WithShardId(ShardIdT &&value)
Definition Shard.h:49
AWS_KEYSPACESSTREAMS_API Shard()=default
const Aws::String & GetShardId() const
Definition Shard.h:41
Shard & AddParentShardIds(ParentShardIdsT &&value)
Definition Shard.h:91
AWS_KEYSPACESSTREAMS_API Shard(Aws::Utils::Json::JsonView jsonValue)
bool SequenceNumberRangeHasBeenSet() const
Definition Shard.h:60
Shard & WithSequenceNumberRange(SequenceNumberRangeT &&value)
Definition Shard.h:67
bool ParentShardIdsHasBeenSet() const
Definition Shard.h:79
const Aws::Vector< Aws::String > & GetParentShardIds() const
Definition Shard.h:78
AWS_KEYSPACESSTREAMS_API Shard & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetParentShardIds(ParentShardIdsT &&value)
Definition Shard.h:81
void SetShardId(ShardIdT &&value)
Definition Shard.h:44
const SequenceNumberRange & GetSequenceNumberRange() const
Definition Shard.h:59
void SetSequenceNumberRange(SequenceNumberRangeT &&value)
Definition Shard.h:62
Shard & WithParentShardIds(ParentShardIdsT &&value)
Definition Shard.h:86
AWS_KEYSPACESSTREAMS_API Aws::Utils::Json::JsonValue Jsonize() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue