AWS SDK for C++

AWS SDK for C++ Version 1.11.911

Loading...
Searching...
No Matches
CdcSpecification.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/crt/cbor/Cbor.h>
9#include <aws/keyspaces/Keyspaces_EXPORTS.h>
10#include <aws/keyspaces/model/CdcPropagateTags.h>
11#include <aws/keyspaces/model/CdcStatus.h>
12#include <aws/keyspaces/model/Tag.h>
13#include <aws/keyspaces/model/ViewType.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Cbor {
20class CborValue;
21} // namespace Cbor
22} // namespace Utils
23namespace Keyspaces {
24namespace Model {
25
36 public:
37 AWS_KEYSPACES_API CdcSpecification() = default;
38 AWS_KEYSPACES_API CdcSpecification(const std::shared_ptr<Aws::Crt::Cbor::CborDecoder>& decoder);
39 AWS_KEYSPACES_API CdcSpecification& operator=(const std::shared_ptr<Aws::Crt::Cbor::CborDecoder>& decoder);
40 AWS_KEYSPACES_API void CborEncode(Aws::Crt::Cbor::CborEncoder& encoder) const;
41
43
47 inline CdcStatus GetStatus() const { return m_status; }
48 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
49 inline void SetStatus(CdcStatus value) {
50 m_statusHasBeenSet = true;
51 m_status = value;
52 }
54 SetStatus(value);
55 return *this;
56 }
58
60
71 inline ViewType GetViewType() const { return m_viewType; }
72 inline bool ViewTypeHasBeenSet() const { return m_viewTypeHasBeenSet; }
73 inline void SetViewType(ViewType value) {
74 m_viewTypeHasBeenSet = true;
75 m_viewType = value;
76 }
78 SetViewType(value);
79 return *this;
80 }
82
84
87 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
88 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
89 template <typename TagsT = Aws::Vector<Tag>>
90 void SetTags(TagsT&& value) {
91 m_tagsHasBeenSet = true;
92 m_tags = std::forward<TagsT>(value);
93 }
94 template <typename TagsT = Aws::Vector<Tag>>
95 CdcSpecification& WithTags(TagsT&& value) {
96 SetTags(std::forward<TagsT>(value));
97 return *this;
98 }
99 template <typename TagsT = Tag>
100 CdcSpecification& AddTags(TagsT&& value) {
101 m_tagsHasBeenSet = true;
102 m_tags.emplace_back(std::forward<TagsT>(value));
103 return *this;
104 }
106
108
111 inline CdcPropagateTags GetPropagateTags() const { return m_propagateTags; }
112 inline bool PropagateTagsHasBeenSet() const { return m_propagateTagsHasBeenSet; }
114 m_propagateTagsHasBeenSet = true;
115 m_propagateTags = value;
116 }
118 SetPropagateTags(value);
119 return *this;
120 }
122 private:
124
125 ViewType m_viewType{ViewType::NOT_SET};
126
127 Aws::Vector<Tag> m_tags;
128
130 bool m_statusHasBeenSet = false;
131 bool m_viewTypeHasBeenSet = false;
132 bool m_tagsHasBeenSet = false;
133 bool m_propagateTagsHasBeenSet = false;
134};
135
136} // namespace Model
137} // namespace Keyspaces
138} // namespace Aws
AWS_KEYSPACES_API CdcSpecification()=default
CdcSpecification & WithStatus(CdcStatus value)
CdcSpecification & WithPropagateTags(CdcPropagateTags value)
AWS_KEYSPACES_API void CborEncode(Aws::Crt::Cbor::CborEncoder &encoder) const
CdcSpecification & WithTags(TagsT &&value)
AWS_KEYSPACES_API CdcSpecification(const std::shared_ptr< Aws::Crt::Cbor::CborDecoder > &decoder)
const Aws::Vector< Tag > & GetTags() const
CdcSpecification & WithViewType(ViewType value)
AWS_KEYSPACES_API CdcSpecification & operator=(const std::shared_ptr< Aws::Crt::Cbor::CborDecoder > &decoder)
CdcSpecification & AddTags(TagsT &&value)
void SetPropagateTags(CdcPropagateTags value)
std::vector< T, Aws::Allocator< T > > Vector