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

Specifies details about a scheduled Auto-Tune action. For more information, * see Auto-Tune * for Amazon OpenSearch Service.

See Also:

AWS * API Reference

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

The date and time when the Auto-Tune action is scheduled for the domain.

*/ inline const Aws::Utils::DateTime& GetDate() const{ return m_date; } /** *

The date and time when the Auto-Tune action is scheduled for the domain.

*/ inline bool DateHasBeenSet() const { return m_dateHasBeenSet; } /** *

The date and time when the Auto-Tune action is scheduled for the domain.

*/ inline void SetDate(const Aws::Utils::DateTime& value) { m_dateHasBeenSet = true; m_date = value; } /** *

The date and time when the Auto-Tune action is scheduled for the domain.

*/ inline void SetDate(Aws::Utils::DateTime&& value) { m_dateHasBeenSet = true; m_date = std::move(value); } /** *

The date and time when the Auto-Tune action is scheduled for the domain.

*/ inline ScheduledAutoTuneDetails& WithDate(const Aws::Utils::DateTime& value) { SetDate(value); return *this;} /** *

The date and time when the Auto-Tune action is scheduled for the domain.

*/ inline ScheduledAutoTuneDetails& WithDate(Aws::Utils::DateTime&& value) { SetDate(std::move(value)); return *this;} /** *

The type of Auto-Tune action.

*/ inline const ScheduledAutoTuneActionType& GetActionType() const{ return m_actionType; } /** *

The type of Auto-Tune action.

*/ inline bool ActionTypeHasBeenSet() const { return m_actionTypeHasBeenSet; } /** *

The type of Auto-Tune action.

*/ inline void SetActionType(const ScheduledAutoTuneActionType& value) { m_actionTypeHasBeenSet = true; m_actionType = value; } /** *

The type of Auto-Tune action.

*/ inline void SetActionType(ScheduledAutoTuneActionType&& value) { m_actionTypeHasBeenSet = true; m_actionType = std::move(value); } /** *

The type of Auto-Tune action.

*/ inline ScheduledAutoTuneDetails& WithActionType(const ScheduledAutoTuneActionType& value) { SetActionType(value); return *this;} /** *

The type of Auto-Tune action.

*/ inline ScheduledAutoTuneDetails& WithActionType(ScheduledAutoTuneActionType&& value) { SetActionType(std::move(value)); return *this;} /** *

A description of the Auto-Tune action.

*/ inline const Aws::String& GetAction() const{ return m_action; } /** *

A description of the Auto-Tune action.

*/ inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; } /** *

A description of the Auto-Tune action.

*/ inline void SetAction(const Aws::String& value) { m_actionHasBeenSet = true; m_action = value; } /** *

A description of the Auto-Tune action.

*/ inline void SetAction(Aws::String&& value) { m_actionHasBeenSet = true; m_action = std::move(value); } /** *

A description of the Auto-Tune action.

*/ inline void SetAction(const char* value) { m_actionHasBeenSet = true; m_action.assign(value); } /** *

A description of the Auto-Tune action.

*/ inline ScheduledAutoTuneDetails& WithAction(const Aws::String& value) { SetAction(value); return *this;} /** *

A description of the Auto-Tune action.

*/ inline ScheduledAutoTuneDetails& WithAction(Aws::String&& value) { SetAction(std::move(value)); return *this;} /** *

A description of the Auto-Tune action.

*/ inline ScheduledAutoTuneDetails& WithAction(const char* value) { SetAction(value); return *this;} /** *

The severity of the Auto-Tune action. Valid values are LOW, * MEDIUM, and HIGH.

*/ inline const ScheduledAutoTuneSeverityType& GetSeverity() const{ return m_severity; } /** *

The severity of the Auto-Tune action. Valid values are LOW, * MEDIUM, and HIGH.

*/ inline bool SeverityHasBeenSet() const { return m_severityHasBeenSet; } /** *

The severity of the Auto-Tune action. Valid values are LOW, * MEDIUM, and HIGH.

*/ inline void SetSeverity(const ScheduledAutoTuneSeverityType& value) { m_severityHasBeenSet = true; m_severity = value; } /** *

The severity of the Auto-Tune action. Valid values are LOW, * MEDIUM, and HIGH.

*/ inline void SetSeverity(ScheduledAutoTuneSeverityType&& value) { m_severityHasBeenSet = true; m_severity = std::move(value); } /** *

The severity of the Auto-Tune action. Valid values are LOW, * MEDIUM, and HIGH.

*/ inline ScheduledAutoTuneDetails& WithSeverity(const ScheduledAutoTuneSeverityType& value) { SetSeverity(value); return *this;} /** *

The severity of the Auto-Tune action. Valid values are LOW, * MEDIUM, and HIGH.

*/ inline ScheduledAutoTuneDetails& WithSeverity(ScheduledAutoTuneSeverityType&& value) { SetSeverity(std::move(value)); return *this;} private: Aws::Utils::DateTime m_date; bool m_dateHasBeenSet = false; ScheduledAutoTuneActionType m_actionType; bool m_actionTypeHasBeenSet = false; Aws::String m_action; bool m_actionHasBeenSet = false; ScheduledAutoTuneSeverityType m_severity; bool m_severityHasBeenSet = false; }; } // namespace Model } // namespace OpenSearchService } // namespace Aws