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

Options for a domain's off-peak * window, during which OpenSearch Service can perform mandatory configuration * changes on the domain.

See Also:

AWS * API Reference

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

Whether to enable an off-peak window.

This option is only available * when modifying a domain created prior to February 16, 2023, not when creating a * new domain. All domains created after this date have the off-peak window enabled * by default. You can't disable the off-peak window after it's enabled for a * domain.

*/ inline bool GetEnabled() const{ return m_enabled; } /** *

Whether to enable an off-peak window.

This option is only available * when modifying a domain created prior to February 16, 2023, not when creating a * new domain. All domains created after this date have the off-peak window enabled * by default. You can't disable the off-peak window after it's enabled for a * domain.

*/ inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } /** *

Whether to enable an off-peak window.

This option is only available * when modifying a domain created prior to February 16, 2023, not when creating a * new domain. All domains created after this date have the off-peak window enabled * by default. You can't disable the off-peak window after it's enabled for a * domain.

*/ inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } /** *

Whether to enable an off-peak window.

This option is only available * when modifying a domain created prior to February 16, 2023, not when creating a * new domain. All domains created after this date have the off-peak window enabled * by default. You can't disable the off-peak window after it's enabled for a * domain.

*/ inline OffPeakWindowOptions& WithEnabled(bool value) { SetEnabled(value); return *this;} /** *

Off-peak window settings for the domain.

*/ inline const OffPeakWindow& GetOffPeakWindow() const{ return m_offPeakWindow; } /** *

Off-peak window settings for the domain.

*/ inline bool OffPeakWindowHasBeenSet() const { return m_offPeakWindowHasBeenSet; } /** *

Off-peak window settings for the domain.

*/ inline void SetOffPeakWindow(const OffPeakWindow& value) { m_offPeakWindowHasBeenSet = true; m_offPeakWindow = value; } /** *

Off-peak window settings for the domain.

*/ inline void SetOffPeakWindow(OffPeakWindow&& value) { m_offPeakWindowHasBeenSet = true; m_offPeakWindow = std::move(value); } /** *

Off-peak window settings for the domain.

*/ inline OffPeakWindowOptions& WithOffPeakWindow(const OffPeakWindow& value) { SetOffPeakWindow(value); return *this;} /** *

Off-peak window settings for the domain.

*/ inline OffPeakWindowOptions& WithOffPeakWindow(OffPeakWindow&& value) { SetOffPeakWindow(std::move(value)); return *this;} private: bool m_enabled; bool m_enabledHasBeenSet = false; OffPeakWindow m_offPeakWindow; bool m_offPeakWindowHasBeenSet = false; }; } // namespace Model } // namespace OpenSearchService } // namespace Aws