/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes a snapshot schedule. You can set a regular interval for creating
* snapshots of a cluster. You can also schedule snapshots for specific dates.
* See Also:
AWS
* API Reference
A list of ScheduleDefinitions.
*/ inline const Aws::VectorA list of ScheduleDefinitions.
*/ inline bool ScheduleDefinitionsHasBeenSet() const { return m_scheduleDefinitionsHasBeenSet; } /** *A list of ScheduleDefinitions.
*/ inline void SetScheduleDefinitions(const Aws::VectorA list of ScheduleDefinitions.
*/ inline void SetScheduleDefinitions(Aws::VectorA list of ScheduleDefinitions.
*/ inline SnapshotSchedule& WithScheduleDefinitions(const Aws::VectorA list of ScheduleDefinitions.
*/ inline SnapshotSchedule& WithScheduleDefinitions(Aws::VectorA list of ScheduleDefinitions.
*/ inline SnapshotSchedule& AddScheduleDefinitions(const Aws::String& value) { m_scheduleDefinitionsHasBeenSet = true; m_scheduleDefinitions.push_back(value); return *this; } /** *A list of ScheduleDefinitions.
*/ inline SnapshotSchedule& AddScheduleDefinitions(Aws::String&& value) { m_scheduleDefinitionsHasBeenSet = true; m_scheduleDefinitions.push_back(std::move(value)); return *this; } /** *A list of ScheduleDefinitions.
*/ inline SnapshotSchedule& AddScheduleDefinitions(const char* value) { m_scheduleDefinitionsHasBeenSet = true; m_scheduleDefinitions.push_back(value); return *this; } /** *A unique identifier for the schedule.
*/ inline const Aws::String& GetScheduleIdentifier() const{ return m_scheduleIdentifier; } /** *A unique identifier for the schedule.
*/ inline bool ScheduleIdentifierHasBeenSet() const { return m_scheduleIdentifierHasBeenSet; } /** *A unique identifier for the schedule.
*/ inline void SetScheduleIdentifier(const Aws::String& value) { m_scheduleIdentifierHasBeenSet = true; m_scheduleIdentifier = value; } /** *A unique identifier for the schedule.
*/ inline void SetScheduleIdentifier(Aws::String&& value) { m_scheduleIdentifierHasBeenSet = true; m_scheduleIdentifier = std::move(value); } /** *A unique identifier for the schedule.
*/ inline void SetScheduleIdentifier(const char* value) { m_scheduleIdentifierHasBeenSet = true; m_scheduleIdentifier.assign(value); } /** *A unique identifier for the schedule.
*/ inline SnapshotSchedule& WithScheduleIdentifier(const Aws::String& value) { SetScheduleIdentifier(value); return *this;} /** *A unique identifier for the schedule.
*/ inline SnapshotSchedule& WithScheduleIdentifier(Aws::String&& value) { SetScheduleIdentifier(std::move(value)); return *this;} /** *A unique identifier for the schedule.
*/ inline SnapshotSchedule& WithScheduleIdentifier(const char* value) { SetScheduleIdentifier(value); return *this;} /** *The description of the schedule.
*/ inline const Aws::String& GetScheduleDescription() const{ return m_scheduleDescription; } /** *The description of the schedule.
*/ inline bool ScheduleDescriptionHasBeenSet() const { return m_scheduleDescriptionHasBeenSet; } /** *The description of the schedule.
*/ inline void SetScheduleDescription(const Aws::String& value) { m_scheduleDescriptionHasBeenSet = true; m_scheduleDescription = value; } /** *The description of the schedule.
*/ inline void SetScheduleDescription(Aws::String&& value) { m_scheduleDescriptionHasBeenSet = true; m_scheduleDescription = std::move(value); } /** *The description of the schedule.
*/ inline void SetScheduleDescription(const char* value) { m_scheduleDescriptionHasBeenSet = true; m_scheduleDescription.assign(value); } /** *The description of the schedule.
*/ inline SnapshotSchedule& WithScheduleDescription(const Aws::String& value) { SetScheduleDescription(value); return *this;} /** *The description of the schedule.
*/ inline SnapshotSchedule& WithScheduleDescription(Aws::String&& value) { SetScheduleDescription(std::move(value)); return *this;} /** *The description of the schedule.
*/ inline SnapshotSchedule& WithScheduleDescription(const char* value) { SetScheduleDescription(value); return *this;} /** *An optional set of tags describing the schedule.
*/ inline const Aws::VectorAn optional set of tags describing the schedule.
*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *An optional set of tags describing the schedule.
*/ inline void SetTags(const Aws::VectorAn optional set of tags describing the schedule.
*/ inline void SetTags(Aws::VectorAn optional set of tags describing the schedule.
*/ inline SnapshotSchedule& WithTags(const Aws::VectorAn optional set of tags describing the schedule.
*/ inline SnapshotSchedule& WithTags(Aws::VectorAn optional set of tags describing the schedule.
*/ inline SnapshotSchedule& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *An optional set of tags describing the schedule.
*/ inline SnapshotSchedule& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** * */ inline const Aws::VectorThe number of clusters associated with the schedule.
*/ inline int GetAssociatedClusterCount() const{ return m_associatedClusterCount; } /** *The number of clusters associated with the schedule.
*/ inline bool AssociatedClusterCountHasBeenSet() const { return m_associatedClusterCountHasBeenSet; } /** *The number of clusters associated with the schedule.
*/ inline void SetAssociatedClusterCount(int value) { m_associatedClusterCountHasBeenSet = true; m_associatedClusterCount = value; } /** *The number of clusters associated with the schedule.
*/ inline SnapshotSchedule& WithAssociatedClusterCount(int value) { SetAssociatedClusterCount(value); return *this;} /** *A list of clusters associated with the schedule. A maximum of 100 clusters is * returned.
*/ inline const Aws::VectorA list of clusters associated with the schedule. A maximum of 100 clusters is * returned.
*/ inline bool AssociatedClustersHasBeenSet() const { return m_associatedClustersHasBeenSet; } /** *A list of clusters associated with the schedule. A maximum of 100 clusters is * returned.
*/ inline void SetAssociatedClusters(const Aws::VectorA list of clusters associated with the schedule. A maximum of 100 clusters is * returned.
*/ inline void SetAssociatedClusters(Aws::VectorA list of clusters associated with the schedule. A maximum of 100 clusters is * returned.
*/ inline SnapshotSchedule& WithAssociatedClusters(const Aws::VectorA list of clusters associated with the schedule. A maximum of 100 clusters is * returned.
*/ inline SnapshotSchedule& WithAssociatedClusters(Aws::VectorA list of clusters associated with the schedule. A maximum of 100 clusters is * returned.
*/ inline SnapshotSchedule& AddAssociatedClusters(const ClusterAssociatedToSchedule& value) { m_associatedClustersHasBeenSet = true; m_associatedClusters.push_back(value); return *this; } /** *A list of clusters associated with the schedule. A maximum of 100 clusters is * returned.
*/ inline SnapshotSchedule& AddAssociatedClusters(ClusterAssociatedToSchedule&& value) { m_associatedClustersHasBeenSet = true; m_associatedClusters.push_back(std::move(value)); return *this; } inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } inline SnapshotSchedule& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} inline SnapshotSchedule& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} private: Aws::Vector