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

A history of the state of a budget at the end of the budget's specified time * period.

See Also:

AWS * API Reference

*/ class BudgetPerformanceHistory { public: AWS_BUDGETS_API BudgetPerformanceHistory(); AWS_BUDGETS_API BudgetPerformanceHistory(Aws::Utils::Json::JsonView jsonValue); AWS_BUDGETS_API BudgetPerformanceHistory& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_BUDGETS_API Aws::Utils::Json::JsonValue Jsonize() const; inline const Aws::String& GetBudgetName() const{ return m_budgetName; } inline bool BudgetNameHasBeenSet() const { return m_budgetNameHasBeenSet; } inline void SetBudgetName(const Aws::String& value) { m_budgetNameHasBeenSet = true; m_budgetName = value; } inline void SetBudgetName(Aws::String&& value) { m_budgetNameHasBeenSet = true; m_budgetName = std::move(value); } inline void SetBudgetName(const char* value) { m_budgetNameHasBeenSet = true; m_budgetName.assign(value); } inline BudgetPerformanceHistory& WithBudgetName(const Aws::String& value) { SetBudgetName(value); return *this;} inline BudgetPerformanceHistory& WithBudgetName(Aws::String&& value) { SetBudgetName(std::move(value)); return *this;} inline BudgetPerformanceHistory& WithBudgetName(const char* value) { SetBudgetName(value); return *this;} inline const BudgetType& GetBudgetType() const{ return m_budgetType; } inline bool BudgetTypeHasBeenSet() const { return m_budgetTypeHasBeenSet; } inline void SetBudgetType(const BudgetType& value) { m_budgetTypeHasBeenSet = true; m_budgetType = value; } inline void SetBudgetType(BudgetType&& value) { m_budgetTypeHasBeenSet = true; m_budgetType = std::move(value); } inline BudgetPerformanceHistory& WithBudgetType(const BudgetType& value) { SetBudgetType(value); return *this;} inline BudgetPerformanceHistory& WithBudgetType(BudgetType&& value) { SetBudgetType(std::move(value)); return *this;} /** *

The history of the cost filters for a budget during the specified time * period.

*/ inline const Aws::Map>& GetCostFilters() const{ return m_costFilters; } /** *

The history of the cost filters for a budget during the specified time * period.

*/ inline bool CostFiltersHasBeenSet() const { return m_costFiltersHasBeenSet; } /** *

The history of the cost filters for a budget during the specified time * period.

*/ inline void SetCostFilters(const Aws::Map>& value) { m_costFiltersHasBeenSet = true; m_costFilters = value; } /** *

The history of the cost filters for a budget during the specified time * period.

*/ inline void SetCostFilters(Aws::Map>&& value) { m_costFiltersHasBeenSet = true; m_costFilters = std::move(value); } /** *

The history of the cost filters for a budget during the specified time * period.

*/ inline BudgetPerformanceHistory& WithCostFilters(const Aws::Map>& value) { SetCostFilters(value); return *this;} /** *

The history of the cost filters for a budget during the specified time * period.

*/ inline BudgetPerformanceHistory& WithCostFilters(Aws::Map>&& value) { SetCostFilters(std::move(value)); return *this;} /** *

The history of the cost filters for a budget during the specified time * period.

*/ inline BudgetPerformanceHistory& AddCostFilters(const Aws::String& key, const Aws::Vector& value) { m_costFiltersHasBeenSet = true; m_costFilters.emplace(key, value); return *this; } /** *

The history of the cost filters for a budget during the specified time * period.

*/ inline BudgetPerformanceHistory& AddCostFilters(Aws::String&& key, const Aws::Vector& value) { m_costFiltersHasBeenSet = true; m_costFilters.emplace(std::move(key), value); return *this; } /** *

The history of the cost filters for a budget during the specified time * period.

*/ inline BudgetPerformanceHistory& AddCostFilters(const Aws::String& key, Aws::Vector&& value) { m_costFiltersHasBeenSet = true; m_costFilters.emplace(key, std::move(value)); return *this; } /** *

The history of the cost filters for a budget during the specified time * period.

*/ inline BudgetPerformanceHistory& AddCostFilters(Aws::String&& key, Aws::Vector&& value) { m_costFiltersHasBeenSet = true; m_costFilters.emplace(std::move(key), std::move(value)); return *this; } /** *

The history of the cost filters for a budget during the specified time * period.

*/ inline BudgetPerformanceHistory& AddCostFilters(const char* key, Aws::Vector&& value) { m_costFiltersHasBeenSet = true; m_costFilters.emplace(key, std::move(value)); return *this; } /** *

The history of the cost filters for a budget during the specified time * period.

*/ inline BudgetPerformanceHistory& AddCostFilters(const char* key, const Aws::Vector& value) { m_costFiltersHasBeenSet = true; m_costFilters.emplace(key, value); return *this; } /** *

The history of the cost types for a budget during the specified time * period.

*/ inline const CostTypes& GetCostTypes() const{ return m_costTypes; } /** *

The history of the cost types for a budget during the specified time * period.

*/ inline bool CostTypesHasBeenSet() const { return m_costTypesHasBeenSet; } /** *

The history of the cost types for a budget during the specified time * period.

*/ inline void SetCostTypes(const CostTypes& value) { m_costTypesHasBeenSet = true; m_costTypes = value; } /** *

The history of the cost types for a budget during the specified time * period.

*/ inline void SetCostTypes(CostTypes&& value) { m_costTypesHasBeenSet = true; m_costTypes = std::move(value); } /** *

The history of the cost types for a budget during the specified time * period.

*/ inline BudgetPerformanceHistory& WithCostTypes(const CostTypes& value) { SetCostTypes(value); return *this;} /** *

The history of the cost types for a budget during the specified time * period.

*/ inline BudgetPerformanceHistory& WithCostTypes(CostTypes&& value) { SetCostTypes(std::move(value)); return *this;} inline const TimeUnit& GetTimeUnit() const{ return m_timeUnit; } inline bool TimeUnitHasBeenSet() const { return m_timeUnitHasBeenSet; } inline void SetTimeUnit(const TimeUnit& value) { m_timeUnitHasBeenSet = true; m_timeUnit = value; } inline void SetTimeUnit(TimeUnit&& value) { m_timeUnitHasBeenSet = true; m_timeUnit = std::move(value); } inline BudgetPerformanceHistory& WithTimeUnit(const TimeUnit& value) { SetTimeUnit(value); return *this;} inline BudgetPerformanceHistory& WithTimeUnit(TimeUnit&& value) { SetTimeUnit(std::move(value)); return *this;} /** *

A list of amounts of cost or usage that you created budgets for, which are * compared to your actual costs or usage.

*/ inline const Aws::Vector& GetBudgetedAndActualAmountsList() const{ return m_budgetedAndActualAmountsList; } /** *

A list of amounts of cost or usage that you created budgets for, which are * compared to your actual costs or usage.

*/ inline bool BudgetedAndActualAmountsListHasBeenSet() const { return m_budgetedAndActualAmountsListHasBeenSet; } /** *

A list of amounts of cost or usage that you created budgets for, which are * compared to your actual costs or usage.

*/ inline void SetBudgetedAndActualAmountsList(const Aws::Vector& value) { m_budgetedAndActualAmountsListHasBeenSet = true; m_budgetedAndActualAmountsList = value; } /** *

A list of amounts of cost or usage that you created budgets for, which are * compared to your actual costs or usage.

*/ inline void SetBudgetedAndActualAmountsList(Aws::Vector&& value) { m_budgetedAndActualAmountsListHasBeenSet = true; m_budgetedAndActualAmountsList = std::move(value); } /** *

A list of amounts of cost or usage that you created budgets for, which are * compared to your actual costs or usage.

*/ inline BudgetPerformanceHistory& WithBudgetedAndActualAmountsList(const Aws::Vector& value) { SetBudgetedAndActualAmountsList(value); return *this;} /** *

A list of amounts of cost or usage that you created budgets for, which are * compared to your actual costs or usage.

*/ inline BudgetPerformanceHistory& WithBudgetedAndActualAmountsList(Aws::Vector&& value) { SetBudgetedAndActualAmountsList(std::move(value)); return *this;} /** *

A list of amounts of cost or usage that you created budgets for, which are * compared to your actual costs or usage.

*/ inline BudgetPerformanceHistory& AddBudgetedAndActualAmountsList(const BudgetedAndActualAmounts& value) { m_budgetedAndActualAmountsListHasBeenSet = true; m_budgetedAndActualAmountsList.push_back(value); return *this; } /** *

A list of amounts of cost or usage that you created budgets for, which are * compared to your actual costs or usage.

*/ inline BudgetPerformanceHistory& AddBudgetedAndActualAmountsList(BudgetedAndActualAmounts&& value) { m_budgetedAndActualAmountsListHasBeenSet = true; m_budgetedAndActualAmountsList.push_back(std::move(value)); return *this; } private: Aws::String m_budgetName; bool m_budgetNameHasBeenSet = false; BudgetType m_budgetType; bool m_budgetTypeHasBeenSet = false; Aws::Map> m_costFilters; bool m_costFiltersHasBeenSet = false; CostTypes m_costTypes; bool m_costTypesHasBeenSet = false; TimeUnit m_timeUnit; bool m_timeUnitHasBeenSet = false; Aws::Vector m_budgetedAndActualAmountsList; bool m_budgetedAndActualAmountsListHasBeenSet = false; }; } // namespace Model } // namespace Budgets } // namespace Aws