/** * 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 Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Budgets { namespace Model { /** *

The parameters that determine the budget amount for an auto-adjusting * budget.

See Also:

AWS * API Reference

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

The string that defines whether your budget auto-adjusts based on historical * or forecasted data.

*/ inline const AutoAdjustType& GetAutoAdjustType() const{ return m_autoAdjustType; } /** *

The string that defines whether your budget auto-adjusts based on historical * or forecasted data.

*/ inline bool AutoAdjustTypeHasBeenSet() const { return m_autoAdjustTypeHasBeenSet; } /** *

The string that defines whether your budget auto-adjusts based on historical * or forecasted data.

*/ inline void SetAutoAdjustType(const AutoAdjustType& value) { m_autoAdjustTypeHasBeenSet = true; m_autoAdjustType = value; } /** *

The string that defines whether your budget auto-adjusts based on historical * or forecasted data.

*/ inline void SetAutoAdjustType(AutoAdjustType&& value) { m_autoAdjustTypeHasBeenSet = true; m_autoAdjustType = std::move(value); } /** *

The string that defines whether your budget auto-adjusts based on historical * or forecasted data.

*/ inline AutoAdjustData& WithAutoAdjustType(const AutoAdjustType& value) { SetAutoAdjustType(value); return *this;} /** *

The string that defines whether your budget auto-adjusts based on historical * or forecasted data.

*/ inline AutoAdjustData& WithAutoAdjustType(AutoAdjustType&& value) { SetAutoAdjustType(std::move(value)); return *this;} /** *

The parameters that define or describe the historical data that your * auto-adjusting budget is based on.

*/ inline const HistoricalOptions& GetHistoricalOptions() const{ return m_historicalOptions; } /** *

The parameters that define or describe the historical data that your * auto-adjusting budget is based on.

*/ inline bool HistoricalOptionsHasBeenSet() const { return m_historicalOptionsHasBeenSet; } /** *

The parameters that define or describe the historical data that your * auto-adjusting budget is based on.

*/ inline void SetHistoricalOptions(const HistoricalOptions& value) { m_historicalOptionsHasBeenSet = true; m_historicalOptions = value; } /** *

The parameters that define or describe the historical data that your * auto-adjusting budget is based on.

*/ inline void SetHistoricalOptions(HistoricalOptions&& value) { m_historicalOptionsHasBeenSet = true; m_historicalOptions = std::move(value); } /** *

The parameters that define or describe the historical data that your * auto-adjusting budget is based on.

*/ inline AutoAdjustData& WithHistoricalOptions(const HistoricalOptions& value) { SetHistoricalOptions(value); return *this;} /** *

The parameters that define or describe the historical data that your * auto-adjusting budget is based on.

*/ inline AutoAdjustData& WithHistoricalOptions(HistoricalOptions&& value) { SetHistoricalOptions(std::move(value)); return *this;} /** *

The last time that your budget was auto-adjusted.

*/ inline const Aws::Utils::DateTime& GetLastAutoAdjustTime() const{ return m_lastAutoAdjustTime; } /** *

The last time that your budget was auto-adjusted.

*/ inline bool LastAutoAdjustTimeHasBeenSet() const { return m_lastAutoAdjustTimeHasBeenSet; } /** *

The last time that your budget was auto-adjusted.

*/ inline void SetLastAutoAdjustTime(const Aws::Utils::DateTime& value) { m_lastAutoAdjustTimeHasBeenSet = true; m_lastAutoAdjustTime = value; } /** *

The last time that your budget was auto-adjusted.

*/ inline void SetLastAutoAdjustTime(Aws::Utils::DateTime&& value) { m_lastAutoAdjustTimeHasBeenSet = true; m_lastAutoAdjustTime = std::move(value); } /** *

The last time that your budget was auto-adjusted.

*/ inline AutoAdjustData& WithLastAutoAdjustTime(const Aws::Utils::DateTime& value) { SetLastAutoAdjustTime(value); return *this;} /** *

The last time that your budget was auto-adjusted.

*/ inline AutoAdjustData& WithLastAutoAdjustTime(Aws::Utils::DateTime&& value) { SetLastAutoAdjustTime(std::move(value)); return *this;} private: AutoAdjustType m_autoAdjustType; bool m_autoAdjustTypeHasBeenSet = false; HistoricalOptions m_historicalOptions; bool m_historicalOptionsHasBeenSet = false; Aws::Utils::DateTime m_lastAutoAdjustTime; bool m_lastAutoAdjustTimeHasBeenSet = false; }; } // namespace Model } // namespace Budgets } // namespace Aws