/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include This object is deprecated. Use the domain's off-peak
* window to schedule Auto-Tune optimizations. For migration instructions, see
* Migrating
* from Auto-Tune maintenance windows. The Auto-Tune maintenance
* schedule. For more information, see Auto-Tune
* for Amazon OpenSearch Service.See Also:
AWS
* API Reference
The Epoch timestamp at which the Auto-Tune maintenance schedule starts.
*/ inline const Aws::Utils::DateTime& GetStartAt() const{ return m_startAt; } /** *The Epoch timestamp at which the Auto-Tune maintenance schedule starts.
*/ inline bool StartAtHasBeenSet() const { return m_startAtHasBeenSet; } /** *The Epoch timestamp at which the Auto-Tune maintenance schedule starts.
*/ inline void SetStartAt(const Aws::Utils::DateTime& value) { m_startAtHasBeenSet = true; m_startAt = value; } /** *The Epoch timestamp at which the Auto-Tune maintenance schedule starts.
*/ inline void SetStartAt(Aws::Utils::DateTime&& value) { m_startAtHasBeenSet = true; m_startAt = std::move(value); } /** *The Epoch timestamp at which the Auto-Tune maintenance schedule starts.
*/ inline AutoTuneMaintenanceSchedule& WithStartAt(const Aws::Utils::DateTime& value) { SetStartAt(value); return *this;} /** *The Epoch timestamp at which the Auto-Tune maintenance schedule starts.
*/ inline AutoTuneMaintenanceSchedule& WithStartAt(Aws::Utils::DateTime&& value) { SetStartAt(std::move(value)); return *this;} /** *The duration of the maintenance schedule. For example, "Duration":
* {"Value": 2, "Unit": "HOURS"}
.
The duration of the maintenance schedule. For example, "Duration":
* {"Value": 2, "Unit": "HOURS"}
.
The duration of the maintenance schedule. For example, "Duration":
* {"Value": 2, "Unit": "HOURS"}
.
The duration of the maintenance schedule. For example, "Duration":
* {"Value": 2, "Unit": "HOURS"}
.
The duration of the maintenance schedule. For example, "Duration":
* {"Value": 2, "Unit": "HOURS"}
.
The duration of the maintenance schedule. For example, "Duration":
* {"Value": 2, "Unit": "HOURS"}
.
A cron expression for a recurring maintenance schedule during which Auto-Tune * can deploy changes.
*/ inline const Aws::String& GetCronExpressionForRecurrence() const{ return m_cronExpressionForRecurrence; } /** *A cron expression for a recurring maintenance schedule during which Auto-Tune * can deploy changes.
*/ inline bool CronExpressionForRecurrenceHasBeenSet() const { return m_cronExpressionForRecurrenceHasBeenSet; } /** *A cron expression for a recurring maintenance schedule during which Auto-Tune * can deploy changes.
*/ inline void SetCronExpressionForRecurrence(const Aws::String& value) { m_cronExpressionForRecurrenceHasBeenSet = true; m_cronExpressionForRecurrence = value; } /** *A cron expression for a recurring maintenance schedule during which Auto-Tune * can deploy changes.
*/ inline void SetCronExpressionForRecurrence(Aws::String&& value) { m_cronExpressionForRecurrenceHasBeenSet = true; m_cronExpressionForRecurrence = std::move(value); } /** *A cron expression for a recurring maintenance schedule during which Auto-Tune * can deploy changes.
*/ inline void SetCronExpressionForRecurrence(const char* value) { m_cronExpressionForRecurrenceHasBeenSet = true; m_cronExpressionForRecurrence.assign(value); } /** *A cron expression for a recurring maintenance schedule during which Auto-Tune * can deploy changes.
*/ inline AutoTuneMaintenanceSchedule& WithCronExpressionForRecurrence(const Aws::String& value) { SetCronExpressionForRecurrence(value); return *this;} /** *A cron expression for a recurring maintenance schedule during which Auto-Tune * can deploy changes.
*/ inline AutoTuneMaintenanceSchedule& WithCronExpressionForRecurrence(Aws::String&& value) { SetCronExpressionForRecurrence(std::move(value)); return *this;} /** *A cron expression for a recurring maintenance schedule during which Auto-Tune * can deploy changes.
*/ inline AutoTuneMaintenanceSchedule& WithCronExpressionForRecurrence(const char* value) { SetCronExpressionForRecurrence(value); return *this;} private: Aws::Utils::DateTime m_startAt; bool m_startAtHasBeenSet = false; Duration m_duration; bool m_durationHasBeenSet = false; Aws::String m_cronExpressionForRecurrence; bool m_cronExpressionForRecurrenceHasBeenSet = false; }; } // namespace Model } // namespace OpenSearchService } // namespace Aws