AWS SDK for C++

AWS SDK for C++ Version 1.11.748

Loading...
Searching...
No Matches
SnapshotSchedule.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/redshift/Redshift_EXPORTS.h>
12#include <aws/redshift/model/ClusterAssociatedToSchedule.h>
13#include <aws/redshift/model/ResponseMetadata.h>
14#include <aws/redshift/model/Tag.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Xml {
21class XmlNode;
22} // namespace Xml
23} // namespace Utils
24namespace Redshift {
25namespace Model {
26
35 public:
36 AWS_REDSHIFT_API SnapshotSchedule() = default;
37 AWS_REDSHIFT_API SnapshotSchedule(const Aws::Utils::Xml::XmlNode& xmlNode);
38 AWS_REDSHIFT_API SnapshotSchedule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
39
40 AWS_REDSHIFT_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
41 AWS_REDSHIFT_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
42
44
47 inline const Aws::Vector<Aws::String>& GetScheduleDefinitions() const { return m_scheduleDefinitions; }
48 inline bool ScheduleDefinitionsHasBeenSet() const { return m_scheduleDefinitionsHasBeenSet; }
49 template <typename ScheduleDefinitionsT = Aws::Vector<Aws::String>>
50 void SetScheduleDefinitions(ScheduleDefinitionsT&& value) {
51 m_scheduleDefinitionsHasBeenSet = true;
52 m_scheduleDefinitions = std::forward<ScheduleDefinitionsT>(value);
53 }
54 template <typename ScheduleDefinitionsT = Aws::Vector<Aws::String>>
55 SnapshotSchedule& WithScheduleDefinitions(ScheduleDefinitionsT&& value) {
56 SetScheduleDefinitions(std::forward<ScheduleDefinitionsT>(value));
57 return *this;
58 }
59 template <typename ScheduleDefinitionsT = Aws::String>
60 SnapshotSchedule& AddScheduleDefinitions(ScheduleDefinitionsT&& value) {
61 m_scheduleDefinitionsHasBeenSet = true;
62 m_scheduleDefinitions.emplace_back(std::forward<ScheduleDefinitionsT>(value));
63 return *this;
64 }
66
68
71 inline const Aws::String& GetScheduleIdentifier() const { return m_scheduleIdentifier; }
72 inline bool ScheduleIdentifierHasBeenSet() const { return m_scheduleIdentifierHasBeenSet; }
73 template <typename ScheduleIdentifierT = Aws::String>
74 void SetScheduleIdentifier(ScheduleIdentifierT&& value) {
75 m_scheduleIdentifierHasBeenSet = true;
76 m_scheduleIdentifier = std::forward<ScheduleIdentifierT>(value);
77 }
78 template <typename ScheduleIdentifierT = Aws::String>
79 SnapshotSchedule& WithScheduleIdentifier(ScheduleIdentifierT&& value) {
80 SetScheduleIdentifier(std::forward<ScheduleIdentifierT>(value));
81 return *this;
82 }
84
86
89 inline const Aws::String& GetScheduleDescription() const { return m_scheduleDescription; }
90 inline bool ScheduleDescriptionHasBeenSet() const { return m_scheduleDescriptionHasBeenSet; }
91 template <typename ScheduleDescriptionT = Aws::String>
92 void SetScheduleDescription(ScheduleDescriptionT&& value) {
93 m_scheduleDescriptionHasBeenSet = true;
94 m_scheduleDescription = std::forward<ScheduleDescriptionT>(value);
95 }
96 template <typename ScheduleDescriptionT = Aws::String>
97 SnapshotSchedule& WithScheduleDescription(ScheduleDescriptionT&& value) {
98 SetScheduleDescription(std::forward<ScheduleDescriptionT>(value));
99 return *this;
100 }
102
104
107 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
108 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
109 template <typename TagsT = Aws::Vector<Tag>>
110 void SetTags(TagsT&& value) {
111 m_tagsHasBeenSet = true;
112 m_tags = std::forward<TagsT>(value);
113 }
114 template <typename TagsT = Aws::Vector<Tag>>
115 SnapshotSchedule& WithTags(TagsT&& value) {
116 SetTags(std::forward<TagsT>(value));
117 return *this;
118 }
119 template <typename TagsT = Tag>
120 SnapshotSchedule& AddTags(TagsT&& value) {
121 m_tagsHasBeenSet = true;
122 m_tags.emplace_back(std::forward<TagsT>(value));
123 return *this;
124 }
126
128
131 inline const Aws::Vector<Aws::Utils::DateTime>& GetNextInvocations() const { return m_nextInvocations; }
132 inline bool NextInvocationsHasBeenSet() const { return m_nextInvocationsHasBeenSet; }
133 template <typename NextInvocationsT = Aws::Vector<Aws::Utils::DateTime>>
134 void SetNextInvocations(NextInvocationsT&& value) {
135 m_nextInvocationsHasBeenSet = true;
136 m_nextInvocations = std::forward<NextInvocationsT>(value);
137 }
138 template <typename NextInvocationsT = Aws::Vector<Aws::Utils::DateTime>>
139 SnapshotSchedule& WithNextInvocations(NextInvocationsT&& value) {
140 SetNextInvocations(std::forward<NextInvocationsT>(value));
141 return *this;
142 }
143 template <typename NextInvocationsT = Aws::Utils::DateTime>
144 SnapshotSchedule& AddNextInvocations(NextInvocationsT&& value) {
145 m_nextInvocationsHasBeenSet = true;
146 m_nextInvocations.emplace_back(std::forward<NextInvocationsT>(value));
147 return *this;
148 }
150
152
155 inline int GetAssociatedClusterCount() const { return m_associatedClusterCount; }
156 inline bool AssociatedClusterCountHasBeenSet() const { return m_associatedClusterCountHasBeenSet; }
157 inline void SetAssociatedClusterCount(int value) {
158 m_associatedClusterCountHasBeenSet = true;
159 m_associatedClusterCount = value;
160 }
163 return *this;
164 }
166
168
172 inline const Aws::Vector<ClusterAssociatedToSchedule>& GetAssociatedClusters() const { return m_associatedClusters; }
173 inline bool AssociatedClustersHasBeenSet() const { return m_associatedClustersHasBeenSet; }
174 template <typename AssociatedClustersT = Aws::Vector<ClusterAssociatedToSchedule>>
175 void SetAssociatedClusters(AssociatedClustersT&& value) {
176 m_associatedClustersHasBeenSet = true;
177 m_associatedClusters = std::forward<AssociatedClustersT>(value);
178 }
179 template <typename AssociatedClustersT = Aws::Vector<ClusterAssociatedToSchedule>>
180 SnapshotSchedule& WithAssociatedClusters(AssociatedClustersT&& value) {
181 SetAssociatedClusters(std::forward<AssociatedClustersT>(value));
182 return *this;
183 }
184 template <typename AssociatedClustersT = ClusterAssociatedToSchedule>
185 SnapshotSchedule& AddAssociatedClusters(AssociatedClustersT&& value) {
186 m_associatedClustersHasBeenSet = true;
187 m_associatedClusters.emplace_back(std::forward<AssociatedClustersT>(value));
188 return *this;
189 }
191
193
194 inline const ResponseMetadata& GetResponseMetadata() const { return m_responseMetadata; }
195 template <typename ResponseMetadataT = ResponseMetadata>
196 void SetResponseMetadata(ResponseMetadataT&& value) {
197 m_responseMetadataHasBeenSet = true;
198 m_responseMetadata = std::forward<ResponseMetadataT>(value);
199 }
200 template <typename ResponseMetadataT = ResponseMetadata>
201 SnapshotSchedule& WithResponseMetadata(ResponseMetadataT&& value) {
202 SetResponseMetadata(std::forward<ResponseMetadataT>(value));
203 return *this;
204 }
206 private:
207 Aws::Vector<Aws::String> m_scheduleDefinitions;
208
209 Aws::String m_scheduleIdentifier;
210
211 Aws::String m_scheduleDescription;
212
213 Aws::Vector<Tag> m_tags;
214
215 Aws::Vector<Aws::Utils::DateTime> m_nextInvocations;
216
217 int m_associatedClusterCount{0};
218
219 Aws::Vector<ClusterAssociatedToSchedule> m_associatedClusters;
220
221 ResponseMetadata m_responseMetadata;
222 bool m_scheduleDefinitionsHasBeenSet = false;
223 bool m_scheduleIdentifierHasBeenSet = false;
224 bool m_scheduleDescriptionHasBeenSet = false;
225 bool m_tagsHasBeenSet = false;
226 bool m_nextInvocationsHasBeenSet = false;
227 bool m_associatedClusterCountHasBeenSet = false;
228 bool m_associatedClustersHasBeenSet = false;
229 bool m_responseMetadataHasBeenSet = true;
230};
231
232} // namespace Model
233} // namespace Redshift
234} // namespace Aws
AWS_REDSHIFT_API SnapshotSchedule()=default
void SetResponseMetadata(ResponseMetadataT &&value)
SnapshotSchedule & WithNextInvocations(NextInvocationsT &&value)
const Aws::String & GetScheduleIdentifier() const
SnapshotSchedule & WithAssociatedClusterCount(int value)
SnapshotSchedule & WithTags(TagsT &&value)
void SetScheduleDefinitions(ScheduleDefinitionsT &&value)
SnapshotSchedule & WithResponseMetadata(ResponseMetadataT &&value)
SnapshotSchedule & WithScheduleIdentifier(ScheduleIdentifierT &&value)
AWS_REDSHIFT_API SnapshotSchedule & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::Vector< Tag > & GetTags() const
SnapshotSchedule & WithScheduleDefinitions(ScheduleDefinitionsT &&value)
const Aws::Vector< Aws::Utils::DateTime > & GetNextInvocations() const
void SetScheduleDescription(ScheduleDescriptionT &&value)
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &oStream, const char *location) const
AWS_REDSHIFT_API SnapshotSchedule(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetAssociatedClusters(AssociatedClustersT &&value)
void SetScheduleIdentifier(ScheduleIdentifierT &&value)
const Aws::Vector< ClusterAssociatedToSchedule > & GetAssociatedClusters() const
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
SnapshotSchedule & AddAssociatedClusters(AssociatedClustersT &&value)
void SetNextInvocations(NextInvocationsT &&value)
SnapshotSchedule & AddNextInvocations(NextInvocationsT &&value)
const ResponseMetadata & GetResponseMetadata() const
SnapshotSchedule & WithScheduleDescription(ScheduleDescriptionT &&value)
const Aws::String & GetScheduleDescription() const
SnapshotSchedule & AddScheduleDefinitions(ScheduleDefinitionsT &&value)
const Aws::Vector< Aws::String > & GetScheduleDefinitions() const
SnapshotSchedule & WithAssociatedClusters(AssociatedClustersT &&value)
SnapshotSchedule & AddTags(TagsT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream