/** * 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 OpenSearchService { namespace Model { /** */ class UpdateScheduledActionRequest : public OpenSearchServiceRequest { public: AWS_OPENSEARCHSERVICE_API UpdateScheduledActionRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UpdateScheduledAction"; } AWS_OPENSEARCHSERVICE_API Aws::String SerializePayload() const override; /** *

The name of the domain to reschedule an action for.

*/ inline const Aws::String& GetDomainName() const{ return m_domainName; } /** *

The name of the domain to reschedule an action for.

*/ inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; } /** *

The name of the domain to reschedule an action for.

*/ inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; } /** *

The name of the domain to reschedule an action for.

*/ inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); } /** *

The name of the domain to reschedule an action for.

*/ inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); } /** *

The name of the domain to reschedule an action for.

*/ inline UpdateScheduledActionRequest& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;} /** *

The name of the domain to reschedule an action for.

*/ inline UpdateScheduledActionRequest& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;} /** *

The name of the domain to reschedule an action for.

*/ inline UpdateScheduledActionRequest& WithDomainName(const char* value) { SetDomainName(value); return *this;} /** *

The unique identifier of the action to reschedule. To retrieve this ID, send * a ListScheduledActions * request.

*/ inline const Aws::String& GetActionID() const{ return m_actionID; } /** *

The unique identifier of the action to reschedule. To retrieve this ID, send * a ListScheduledActions * request.

*/ inline bool ActionIDHasBeenSet() const { return m_actionIDHasBeenSet; } /** *

The unique identifier of the action to reschedule. To retrieve this ID, send * a ListScheduledActions * request.

*/ inline void SetActionID(const Aws::String& value) { m_actionIDHasBeenSet = true; m_actionID = value; } /** *

The unique identifier of the action to reschedule. To retrieve this ID, send * a ListScheduledActions * request.

*/ inline void SetActionID(Aws::String&& value) { m_actionIDHasBeenSet = true; m_actionID = std::move(value); } /** *

The unique identifier of the action to reschedule. To retrieve this ID, send * a ListScheduledActions * request.

*/ inline void SetActionID(const char* value) { m_actionIDHasBeenSet = true; m_actionID.assign(value); } /** *

The unique identifier of the action to reschedule. To retrieve this ID, send * a ListScheduledActions * request.

*/ inline UpdateScheduledActionRequest& WithActionID(const Aws::String& value) { SetActionID(value); return *this;} /** *

The unique identifier of the action to reschedule. To retrieve this ID, send * a ListScheduledActions * request.

*/ inline UpdateScheduledActionRequest& WithActionID(Aws::String&& value) { SetActionID(std::move(value)); return *this;} /** *

The unique identifier of the action to reschedule. To retrieve this ID, send * a ListScheduledActions * request.

*/ inline UpdateScheduledActionRequest& WithActionID(const char* value) { SetActionID(value); return *this;} /** *

The type of action to reschedule. Can be one of * SERVICE_SOFTWARE_UPDATE, JVM_HEAP_SIZE_TUNING, or * JVM_YOUNG_GEN_TUNING. To retrieve this value, send a ListScheduledActions * request.

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

The type of action to reschedule. Can be one of * SERVICE_SOFTWARE_UPDATE, JVM_HEAP_SIZE_TUNING, or * JVM_YOUNG_GEN_TUNING. To retrieve this value, send a ListScheduledActions * request.

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

The type of action to reschedule. Can be one of * SERVICE_SOFTWARE_UPDATE, JVM_HEAP_SIZE_TUNING, or * JVM_YOUNG_GEN_TUNING. To retrieve this value, send a ListScheduledActions * request.

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

The type of action to reschedule. Can be one of * SERVICE_SOFTWARE_UPDATE, JVM_HEAP_SIZE_TUNING, or * JVM_YOUNG_GEN_TUNING. To retrieve this value, send a ListScheduledActions * request.

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

The type of action to reschedule. Can be one of * SERVICE_SOFTWARE_UPDATE, JVM_HEAP_SIZE_TUNING, or * JVM_YOUNG_GEN_TUNING. To retrieve this value, send a ListScheduledActions * request.

*/ inline UpdateScheduledActionRequest& WithActionType(const ActionType& value) { SetActionType(value); return *this;} /** *

The type of action to reschedule. Can be one of * SERVICE_SOFTWARE_UPDATE, JVM_HEAP_SIZE_TUNING, or * JVM_YOUNG_GEN_TUNING. To retrieve this value, send a ListScheduledActions * request.

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

When to schedule the action.

  • NOW - Immediately * schedules the update to happen in the current hour if there's capacity * available.

  • TIMESTAMP - Lets you specify a custom * date and time to apply the update. If you specify this value, you must also * provide a value for DesiredStartTime.

  • * OFF_PEAK_WINDOW - Marks the action to be picked up during an * upcoming off-peak window. There's no guarantee that the change will be * implemented during the next immediate window. Depending on capacity, it might * happen in subsequent days.

*/ inline const ScheduleAt& GetScheduleAt() const{ return m_scheduleAt; } /** *

When to schedule the action.

  • NOW - Immediately * schedules the update to happen in the current hour if there's capacity * available.

  • TIMESTAMP - Lets you specify a custom * date and time to apply the update. If you specify this value, you must also * provide a value for DesiredStartTime.

  • * OFF_PEAK_WINDOW - Marks the action to be picked up during an * upcoming off-peak window. There's no guarantee that the change will be * implemented during the next immediate window. Depending on capacity, it might * happen in subsequent days.

*/ inline bool ScheduleAtHasBeenSet() const { return m_scheduleAtHasBeenSet; } /** *

When to schedule the action.

  • NOW - Immediately * schedules the update to happen in the current hour if there's capacity * available.

  • TIMESTAMP - Lets you specify a custom * date and time to apply the update. If you specify this value, you must also * provide a value for DesiredStartTime.

  • * OFF_PEAK_WINDOW - Marks the action to be picked up during an * upcoming off-peak window. There's no guarantee that the change will be * implemented during the next immediate window. Depending on capacity, it might * happen in subsequent days.

*/ inline void SetScheduleAt(const ScheduleAt& value) { m_scheduleAtHasBeenSet = true; m_scheduleAt = value; } /** *

When to schedule the action.

  • NOW - Immediately * schedules the update to happen in the current hour if there's capacity * available.

  • TIMESTAMP - Lets you specify a custom * date and time to apply the update. If you specify this value, you must also * provide a value for DesiredStartTime.

  • * OFF_PEAK_WINDOW - Marks the action to be picked up during an * upcoming off-peak window. There's no guarantee that the change will be * implemented during the next immediate window. Depending on capacity, it might * happen in subsequent days.

*/ inline void SetScheduleAt(ScheduleAt&& value) { m_scheduleAtHasBeenSet = true; m_scheduleAt = std::move(value); } /** *

When to schedule the action.

  • NOW - Immediately * schedules the update to happen in the current hour if there's capacity * available.

  • TIMESTAMP - Lets you specify a custom * date and time to apply the update. If you specify this value, you must also * provide a value for DesiredStartTime.

  • * OFF_PEAK_WINDOW - Marks the action to be picked up during an * upcoming off-peak window. There's no guarantee that the change will be * implemented during the next immediate window. Depending on capacity, it might * happen in subsequent days.

*/ inline UpdateScheduledActionRequest& WithScheduleAt(const ScheduleAt& value) { SetScheduleAt(value); return *this;} /** *

When to schedule the action.

  • NOW - Immediately * schedules the update to happen in the current hour if there's capacity * available.

  • TIMESTAMP - Lets you specify a custom * date and time to apply the update. If you specify this value, you must also * provide a value for DesiredStartTime.

  • * OFF_PEAK_WINDOW - Marks the action to be picked up during an * upcoming off-peak window. There's no guarantee that the change will be * implemented during the next immediate window. Depending on capacity, it might * happen in subsequent days.

*/ inline UpdateScheduledActionRequest& WithScheduleAt(ScheduleAt&& value) { SetScheduleAt(std::move(value)); return *this;} /** *

The time to implement the change, in Coordinated Universal Time (UTC). Only * specify this parameter if you set ScheduleAt to * TIMESTAMP.

*/ inline long long GetDesiredStartTime() const{ return m_desiredStartTime; } /** *

The time to implement the change, in Coordinated Universal Time (UTC). Only * specify this parameter if you set ScheduleAt to * TIMESTAMP.

*/ inline bool DesiredStartTimeHasBeenSet() const { return m_desiredStartTimeHasBeenSet; } /** *

The time to implement the change, in Coordinated Universal Time (UTC). Only * specify this parameter if you set ScheduleAt to * TIMESTAMP.

*/ inline void SetDesiredStartTime(long long value) { m_desiredStartTimeHasBeenSet = true; m_desiredStartTime = value; } /** *

The time to implement the change, in Coordinated Universal Time (UTC). Only * specify this parameter if you set ScheduleAt to * TIMESTAMP.

*/ inline UpdateScheduledActionRequest& WithDesiredStartTime(long long value) { SetDesiredStartTime(value); return *this;} private: Aws::String m_domainName; bool m_domainNameHasBeenSet = false; Aws::String m_actionID; bool m_actionIDHasBeenSet = false; ActionType m_actionType; bool m_actionTypeHasBeenSet = false; ScheduleAt m_scheduleAt; bool m_scheduleAtHasBeenSet = false; long long m_desiredStartTime; bool m_desiredStartTimeHasBeenSet = false; }; } // namespace Model } // namespace OpenSearchService } // namespace Aws