7#include <aws/redshift/Redshift_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/redshift/model/ResponseMetadata.h>
12#include <aws/redshift/model/Tag.h>
13#include <aws/core/utils/DateTime.h>
14#include <aws/redshift/model/ClusterAssociatedToSchedule.h>
55 template<
typename ScheduleDefinitionsT = Aws::Vector<Aws::String>>
56 void SetScheduleDefinitions(ScheduleDefinitionsT&& value) { m_scheduleDefinitionsHasBeenSet =
true; m_scheduleDefinitions = std::forward<ScheduleDefinitionsT>(value); }
57 template<
typename ScheduleDefinitionsT = Aws::Vector<Aws::String>>
59 template<
typename ScheduleDefinitionsT = Aws::String>
60 SnapshotSchedule&
AddScheduleDefinitions(ScheduleDefinitionsT&& value) { m_scheduleDefinitionsHasBeenSet =
true; m_scheduleDefinitions.emplace_back(std::forward<ScheduleDefinitionsT>(value));
return *
this; }
69 template<
typename ScheduleIdentifierT = Aws::String>
70 void SetScheduleIdentifier(ScheduleIdentifierT&& value) { m_scheduleIdentifierHasBeenSet =
true; m_scheduleIdentifier = std::forward<ScheduleIdentifierT>(value); }
71 template<
typename ScheduleIdentifierT = Aws::String>
81 template<
typename ScheduleDescriptionT = Aws::String>
82 void SetScheduleDescription(ScheduleDescriptionT&& value) { m_scheduleDescriptionHasBeenSet =
true; m_scheduleDescription = std::forward<ScheduleDescriptionT>(value); }
83 template<
typename ScheduleDescriptionT = Aws::String>
93 template<
typename TagsT = Aws::Vector<Tag>>
94 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
95 template<
typename TagsT = Aws::Vector<Tag>>
97 template<
typename TagsT = Tag>
98 SnapshotSchedule&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
107 template<
typename NextInvocationsT = Aws::Vector<Aws::Utils::DateTime>>
108 void SetNextInvocations(NextInvocationsT&& value) { m_nextInvocationsHasBeenSet =
true; m_nextInvocations = std::forward<NextInvocationsT>(value); }
109 template<
typename NextInvocationsT = Aws::Vector<Aws::Utils::DateTime>>
111 template<
typename NextInvocationsT = Aws::Utils::DateTime>
112 SnapshotSchedule&
AddNextInvocations(NextInvocationsT&& value) { m_nextInvocationsHasBeenSet =
true; m_nextInvocations.emplace_back(std::forward<NextInvocationsT>(value));
return *
this; }
132 template<
typename AssociatedClustersT = Aws::Vector<ClusterAssociatedToSchedule>>
133 void SetAssociatedClusters(AssociatedClustersT&& value) { m_associatedClustersHasBeenSet =
true; m_associatedClusters = std::forward<AssociatedClustersT>(value); }
134 template<
typename AssociatedClustersT = Aws::Vector<ClusterAssociatedToSchedule>>
136 template<
typename AssociatedClustersT = ClusterAssociatedToSchedule>
137 SnapshotSchedule&
AddAssociatedClusters(AssociatedClustersT&& value) { m_associatedClustersHasBeenSet =
true; m_associatedClusters.emplace_back(std::forward<AssociatedClustersT>(value));
return *
this; }
143 template<
typename ResponseMetadataT = ResponseMetadata>
144 void SetResponseMetadata(ResponseMetadataT&& value) { m_responseMetadataHasBeenSet =
true; m_responseMetadata = std::forward<ResponseMetadataT>(value); }
145 template<
typename ResponseMetadataT = ResponseMetadata>
151 bool m_scheduleDefinitionsHasBeenSet =
false;
154 bool m_scheduleIdentifierHasBeenSet =
false;
157 bool m_scheduleDescriptionHasBeenSet =
false;
160 bool m_tagsHasBeenSet =
false;
163 bool m_nextInvocationsHasBeenSet =
false;
165 int m_associatedClusterCount{0};
166 bool m_associatedClusterCountHasBeenSet =
false;
169 bool m_associatedClustersHasBeenSet =
false;
171 ResponseMetadata m_responseMetadata;
172 bool m_responseMetadataHasBeenSet =
true;
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)
bool ScheduleDescriptionHasBeenSet() const
SnapshotSchedule & WithResponseMetadata(ResponseMetadataT &&value)
bool AssociatedClustersHasBeenSet() const
SnapshotSchedule & WithScheduleIdentifier(ScheduleIdentifierT &&value)
void SetTags(TagsT &&value)
AWS_REDSHIFT_API SnapshotSchedule & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::Vector< Tag > & GetTags() const
SnapshotSchedule & WithScheduleDefinitions(ScheduleDefinitionsT &&value)
bool ScheduleDefinitionsHasBeenSet() const
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)
int GetAssociatedClusterCount() const
SnapshotSchedule & AddNextInvocations(NextInvocationsT &&value)
const ResponseMetadata & GetResponseMetadata() const
SnapshotSchedule & WithScheduleDescription(ScheduleDescriptionT &&value)
void SetAssociatedClusterCount(int value)
const Aws::String & GetScheduleDescription() const
SnapshotSchedule & AddScheduleDefinitions(ScheduleDefinitionsT &&value)
bool ScheduleIdentifierHasBeenSet() const
bool NextInvocationsHasBeenSet() const
const Aws::Vector< Aws::String > & GetScheduleDefinitions() const
SnapshotSchedule & WithAssociatedClusters(AssociatedClustersT &&value)
bool AssociatedClusterCountHasBeenSet() const
bool TagsHasBeenSet() const
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