/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace OpenSearchService { namespace Model { /** *

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

*/ class AutoTuneMaintenanceSchedule { public: AWS_OPENSEARCHSERVICE_API AutoTuneMaintenanceSchedule(); AWS_OPENSEARCHSERVICE_API AutoTuneMaintenanceSchedule(Aws::Utils::Json::JsonView jsonValue); AWS_OPENSEARCHSERVICE_API AutoTuneMaintenanceSchedule& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_OPENSEARCHSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

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"}.

*/ inline const Duration& GetDuration() const{ return m_duration; } /** *

The duration of the maintenance schedule. For example, "Duration": * {"Value": 2, "Unit": "HOURS"}.

*/ inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; } /** *

The duration of the maintenance schedule. For example, "Duration": * {"Value": 2, "Unit": "HOURS"}.

*/ inline void SetDuration(const Duration& value) { m_durationHasBeenSet = true; m_duration = value; } /** *

The duration of the maintenance schedule. For example, "Duration": * {"Value": 2, "Unit": "HOURS"}.

*/ inline void SetDuration(Duration&& value) { m_durationHasBeenSet = true; m_duration = std::move(value); } /** *

The duration of the maintenance schedule. For example, "Duration": * {"Value": 2, "Unit": "HOURS"}.

*/ inline AutoTuneMaintenanceSchedule& WithDuration(const Duration& value) { SetDuration(value); return *this;} /** *

The duration of the maintenance schedule. For example, "Duration": * {"Value": 2, "Unit": "HOURS"}.

*/ inline AutoTuneMaintenanceSchedule& WithDuration(Duration&& value) { SetDuration(std::move(value)); return *this;} /** *

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