AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
CdcSpecification.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/keyspaces/Keyspaces_EXPORTS.h>
9#include <aws/keyspaces/model/CdcPropagateTags.h>
10#include <aws/keyspaces/model/CdcStatus.h>
11#include <aws/keyspaces/model/Tag.h>
12#include <aws/keyspaces/model/ViewType.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace Keyspaces {
24namespace Model {
25
36 public:
37 AWS_KEYSPACES_API CdcSpecification() = default;
38 AWS_KEYSPACES_API CdcSpecification(Aws::Utils::Json::JsonView jsonValue);
40 AWS_KEYSPACES_API Aws::Utils::Json::JsonValue Jsonize() 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)
CdcSpecification & WithTags(TagsT &&value)
const Aws::Vector< Tag > & GetTags() const
AWS_KEYSPACES_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_KEYSPACES_API CdcSpecification & operator=(Aws::Utils::Json::JsonView jsonValue)
CdcSpecification & WithViewType(ViewType value)
AWS_KEYSPACES_API CdcSpecification(Aws::Utils::Json::JsonView jsonValue)
CdcSpecification & AddTags(TagsT &&value)
void SetPropagateTags(CdcPropagateTags value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue