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

Information about a scheduled configuration change for an OpenSearch Service * domain. This actions can be a service * software update or a blue/green * Auto-Tune enhancement.

See Also:

AWS * API Reference

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

The unique identifier of the scheduled action.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

The unique identifier of the scheduled action.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

The unique identifier of the scheduled action.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

The unique identifier of the scheduled action.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

The unique identifier of the scheduled action.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

The unique identifier of the scheduled action.

*/ inline ScheduledAction& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

The unique identifier of the scheduled action.

*/ inline ScheduledAction& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

The unique identifier of the scheduled action.

*/ inline ScheduledAction& WithId(const char* value) { SetId(value); return *this;} /** *

The type of action that will be taken on the domain.

*/ inline const ActionType& GetType() const{ return m_type; } /** *

The type of action that will be taken on the domain.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of action that will be taken on the domain.

*/ inline void SetType(const ActionType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of action that will be taken on the domain.

*/ inline void SetType(ActionType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of action that will be taken on the domain.

*/ inline ScheduledAction& WithType(const ActionType& value) { SetType(value); return *this;} /** *

The type of action that will be taken on the domain.

*/ inline ScheduledAction& WithType(ActionType&& value) { SetType(std::move(value)); return *this;} /** *

The severity of the action.

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

The severity of the action.

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

The severity of the action.

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

The severity of the action.

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

The severity of the action.

*/ inline ScheduledAction& WithSeverity(const ActionSeverity& value) { SetSeverity(value); return *this;} /** *

The severity of the action.

*/ inline ScheduledAction& WithSeverity(ActionSeverity&& value) { SetSeverity(std::move(value)); return *this;} /** *

The time when the change is scheduled to happen.

*/ inline long long GetScheduledTime() const{ return m_scheduledTime; } /** *

The time when the change is scheduled to happen.

*/ inline bool ScheduledTimeHasBeenSet() const { return m_scheduledTimeHasBeenSet; } /** *

The time when the change is scheduled to happen.

*/ inline void SetScheduledTime(long long value) { m_scheduledTimeHasBeenSet = true; m_scheduledTime = value; } /** *

The time when the change is scheduled to happen.

*/ inline ScheduledAction& WithScheduledTime(long long value) { SetScheduledTime(value); return *this;} /** *

A description of the action to be taken.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

A description of the action to be taken.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

A description of the action to be taken.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

A description of the action to be taken.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

A description of the action to be taken.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

A description of the action to be taken.

*/ inline ScheduledAction& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

A description of the action to be taken.

*/ inline ScheduledAction& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

A description of the action to be taken.

*/ inline ScheduledAction& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

Whether the action was scheduled manually (CUSTOMER, or by * OpenSearch Service automatically (SYSTEM).

*/ inline const ScheduledBy& GetScheduledBy() const{ return m_scheduledBy; } /** *

Whether the action was scheduled manually (CUSTOMER, or by * OpenSearch Service automatically (SYSTEM).

*/ inline bool ScheduledByHasBeenSet() const { return m_scheduledByHasBeenSet; } /** *

Whether the action was scheduled manually (CUSTOMER, or by * OpenSearch Service automatically (SYSTEM).

*/ inline void SetScheduledBy(const ScheduledBy& value) { m_scheduledByHasBeenSet = true; m_scheduledBy = value; } /** *

Whether the action was scheduled manually (CUSTOMER, or by * OpenSearch Service automatically (SYSTEM).

*/ inline void SetScheduledBy(ScheduledBy&& value) { m_scheduledByHasBeenSet = true; m_scheduledBy = std::move(value); } /** *

Whether the action was scheduled manually (CUSTOMER, or by * OpenSearch Service automatically (SYSTEM).

*/ inline ScheduledAction& WithScheduledBy(const ScheduledBy& value) { SetScheduledBy(value); return *this;} /** *

Whether the action was scheduled manually (CUSTOMER, or by * OpenSearch Service automatically (SYSTEM).

*/ inline ScheduledAction& WithScheduledBy(ScheduledBy&& value) { SetScheduledBy(std::move(value)); return *this;} /** *

The current status of the scheduled action.

*/ inline const ActionStatus& GetStatus() const{ return m_status; } /** *

The current status of the scheduled action.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The current status of the scheduled action.

*/ inline void SetStatus(const ActionStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The current status of the scheduled action.

*/ inline void SetStatus(ActionStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The current status of the scheduled action.

*/ inline ScheduledAction& WithStatus(const ActionStatus& value) { SetStatus(value); return *this;} /** *

The current status of the scheduled action.

*/ inline ScheduledAction& WithStatus(ActionStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

Whether the action is required or optional.

*/ inline bool GetMandatory() const{ return m_mandatory; } /** *

Whether the action is required or optional.

*/ inline bool MandatoryHasBeenSet() const { return m_mandatoryHasBeenSet; } /** *

Whether the action is required or optional.

*/ inline void SetMandatory(bool value) { m_mandatoryHasBeenSet = true; m_mandatory = value; } /** *

Whether the action is required or optional.

*/ inline ScheduledAction& WithMandatory(bool value) { SetMandatory(value); return *this;} /** *

Whether or not the scheduled action is cancellable.

*/ inline bool GetCancellable() const{ return m_cancellable; } /** *

Whether or not the scheduled action is cancellable.

*/ inline bool CancellableHasBeenSet() const { return m_cancellableHasBeenSet; } /** *

Whether or not the scheduled action is cancellable.

*/ inline void SetCancellable(bool value) { m_cancellableHasBeenSet = true; m_cancellable = value; } /** *

Whether or not the scheduled action is cancellable.

*/ inline ScheduledAction& WithCancellable(bool value) { SetCancellable(value); return *this;} private: Aws::String m_id; bool m_idHasBeenSet = false; ActionType m_type; bool m_typeHasBeenSet = false; ActionSeverity m_severity; bool m_severityHasBeenSet = false; long long m_scheduledTime; bool m_scheduledTimeHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; ScheduledBy m_scheduledBy; bool m_scheduledByHasBeenSet = false; ActionStatus m_status; bool m_statusHasBeenSet = false; bool m_mandatory; bool m_mandatoryHasBeenSet = false; bool m_cancellable; bool m_cancellableHasBeenSet = false; }; } // namespace Model } // namespace OpenSearchService } // namespace Aws