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

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

See Also:

AWS * API Reference

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

The number of budget periods included in the moving-average calculation that * determines your auto-adjusted budget amount. The maximum value depends on the * TimeUnit granularity of the budget:

*/ inline int GetBudgetAdjustmentPeriod() const{ return m_budgetAdjustmentPeriod; } /** *

The number of budget periods included in the moving-average calculation that * determines your auto-adjusted budget amount. The maximum value depends on the * TimeUnit granularity of the budget:

*/ inline bool BudgetAdjustmentPeriodHasBeenSet() const { return m_budgetAdjustmentPeriodHasBeenSet; } /** *

The number of budget periods included in the moving-average calculation that * determines your auto-adjusted budget amount. The maximum value depends on the * TimeUnit granularity of the budget:

*/ inline void SetBudgetAdjustmentPeriod(int value) { m_budgetAdjustmentPeriodHasBeenSet = true; m_budgetAdjustmentPeriod = value; } /** *

The number of budget periods included in the moving-average calculation that * determines your auto-adjusted budget amount. The maximum value depends on the * TimeUnit granularity of the budget:

*/ inline HistoricalOptions& WithBudgetAdjustmentPeriod(int value) { SetBudgetAdjustmentPeriod(value); return *this;} /** *

The integer that describes how many budget periods in your * BudgetAdjustmentPeriod are included in the calculation of your * current BudgetLimit. If the first budget period in your * BudgetAdjustmentPeriod has no cost data, then that budget period * isn’t included in the average that determines your budget limit.

For * example, if you set BudgetAdjustmentPeriod as 4 * quarters, but your account had no cost data in the first quarter, then only the * last three quarters are included in the calculation. In this scenario, * LookBackAvailablePeriods returns 3.

You can’t * set your own LookBackAvailablePeriods. The value is automatically * calculated from the BudgetAdjustmentPeriod and your historical cost * data.

*/ inline int GetLookBackAvailablePeriods() const{ return m_lookBackAvailablePeriods; } /** *

The integer that describes how many budget periods in your * BudgetAdjustmentPeriod are included in the calculation of your * current BudgetLimit. If the first budget period in your * BudgetAdjustmentPeriod has no cost data, then that budget period * isn’t included in the average that determines your budget limit.

For * example, if you set BudgetAdjustmentPeriod as 4 * quarters, but your account had no cost data in the first quarter, then only the * last three quarters are included in the calculation. In this scenario, * LookBackAvailablePeriods returns 3.

You can’t * set your own LookBackAvailablePeriods. The value is automatically * calculated from the BudgetAdjustmentPeriod and your historical cost * data.

*/ inline bool LookBackAvailablePeriodsHasBeenSet() const { return m_lookBackAvailablePeriodsHasBeenSet; } /** *

The integer that describes how many budget periods in your * BudgetAdjustmentPeriod are included in the calculation of your * current BudgetLimit. If the first budget period in your * BudgetAdjustmentPeriod has no cost data, then that budget period * isn’t included in the average that determines your budget limit.

For * example, if you set BudgetAdjustmentPeriod as 4 * quarters, but your account had no cost data in the first quarter, then only the * last three quarters are included in the calculation. In this scenario, * LookBackAvailablePeriods returns 3.

You can’t * set your own LookBackAvailablePeriods. The value is automatically * calculated from the BudgetAdjustmentPeriod and your historical cost * data.

*/ inline void SetLookBackAvailablePeriods(int value) { m_lookBackAvailablePeriodsHasBeenSet = true; m_lookBackAvailablePeriods = value; } /** *

The integer that describes how many budget periods in your * BudgetAdjustmentPeriod are included in the calculation of your * current BudgetLimit. If the first budget period in your * BudgetAdjustmentPeriod has no cost data, then that budget period * isn’t included in the average that determines your budget limit.

For * example, if you set BudgetAdjustmentPeriod as 4 * quarters, but your account had no cost data in the first quarter, then only the * last three quarters are included in the calculation. In this scenario, * LookBackAvailablePeriods returns 3.

You can’t * set your own LookBackAvailablePeriods. The value is automatically * calculated from the BudgetAdjustmentPeriod and your historical cost * data.

*/ inline HistoricalOptions& WithLookBackAvailablePeriods(int value) { SetLookBackAvailablePeriods(value); return *this;} private: int m_budgetAdjustmentPeriod; bool m_budgetAdjustmentPeriodHasBeenSet = false; int m_lookBackAvailablePeriods; bool m_lookBackAvailablePeriodsHasBeenSet = false; }; } // namespace Model } // namespace Budgets } // namespace Aws