/** * 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 OpenSearchService { namespace Model { /** *

Container for the request parameters to the * StartServiceSoftwareUpdate operation.

See Also:

AWS * API Reference

*/ class StartServiceSoftwareUpdateRequest : public OpenSearchServiceRequest { public: AWS_OPENSEARCHSERVICE_API StartServiceSoftwareUpdateRequest(); // 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 "StartServiceSoftwareUpdate"; } AWS_OPENSEARCHSERVICE_API Aws::String SerializePayload() const override; /** *

The name of the domain that you want to update to the latest service * software.

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

The name of the domain that you want to update to the latest service * software.

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

The name of the domain that you want to update to the latest service * software.

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

The name of the domain that you want to update to the latest service * software.

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

The name of the domain that you want to update to the latest service * software.

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

The name of the domain that you want to update to the latest service * software.

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

The name of the domain that you want to update to the latest service * software.

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

The name of the domain that you want to update to the latest service * software.

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

When to start the service software update.

  • 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 update to be picked up during an * upcoming off-peak window. There's no guarantee that the update will happen * during the next immediate window. Depending on capacity, it might happen in * subsequent days.

Default: NOW if you don't * specify a value for DesiredStartTime, and TIMESTAMP if * you do.

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

When to start the service software update.

  • 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 update to be picked up during an * upcoming off-peak window. There's no guarantee that the update will happen * during the next immediate window. Depending on capacity, it might happen in * subsequent days.

Default: NOW if you don't * specify a value for DesiredStartTime, and TIMESTAMP if * you do.

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

When to start the service software update.

  • 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 update to be picked up during an * upcoming off-peak window. There's no guarantee that the update will happen * during the next immediate window. Depending on capacity, it might happen in * subsequent days.

Default: NOW if you don't * specify a value for DesiredStartTime, and TIMESTAMP if * you do.

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

When to start the service software update.

  • 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 update to be picked up during an * upcoming off-peak window. There's no guarantee that the update will happen * during the next immediate window. Depending on capacity, it might happen in * subsequent days.

Default: NOW if you don't * specify a value for DesiredStartTime, and TIMESTAMP if * you do.

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

When to start the service software update.

  • 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 update to be picked up during an * upcoming off-peak window. There's no guarantee that the update will happen * during the next immediate window. Depending on capacity, it might happen in * subsequent days.

Default: NOW if you don't * specify a value for DesiredStartTime, and TIMESTAMP if * you do.

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

When to start the service software update.

  • 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 update to be picked up during an * upcoming off-peak window. There's no guarantee that the update will happen * during the next immediate window. Depending on capacity, it might happen in * subsequent days.

Default: NOW if you don't * specify a value for DesiredStartTime, and TIMESTAMP if * you do.

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

The Epoch timestamp when you want the service software update to start. You * only need to specify this parameter if you set ScheduleAt to * TIMESTAMP.

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

The Epoch timestamp when you want the service software update to start. You * only need to specify this parameter if you set ScheduleAt to * TIMESTAMP.

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

The Epoch timestamp when you want the service software update to start. You * only need to specify this parameter if you set ScheduleAt to * TIMESTAMP.

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

The Epoch timestamp when you want the service software update to start. You * only need to specify this parameter if you set ScheduleAt to * TIMESTAMP.

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