AWS SDK for C++

AWS SDK for C++ Version 1.11.608

Loading...
Searching...
No Matches
CostComparisonDriver.h
1
6#pragma once
7#include <aws/ce/CostExplorer_EXPORTS.h>
8#include <aws/ce/model/Expression.h>
9#include <aws/core/utils/memory/stl/AWSMap.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <aws/ce/model/ComparisonMetricValue.h>
13#include <aws/ce/model/CostDriver.h>
14#include <utility>
15
16namespace Aws
17{
18namespace Utils
19{
20namespace Json
21{
22 class JsonValue;
23 class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace CostExplorer
27{
28namespace Model
29{
30
38 {
39 public:
40 AWS_COSTEXPLORER_API CostComparisonDriver() = default;
41 AWS_COSTEXPLORER_API CostComparisonDriver(Aws::Utils::Json::JsonView jsonValue);
43 AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const;
44
45
47
48 inline const Expression& GetCostSelector() const { return m_costSelector; }
49 inline bool CostSelectorHasBeenSet() const { return m_costSelectorHasBeenSet; }
50 template<typename CostSelectorT = Expression>
51 void SetCostSelector(CostSelectorT&& value) { m_costSelectorHasBeenSet = true; m_costSelector = std::forward<CostSelectorT>(value); }
52 template<typename CostSelectorT = Expression>
53 CostComparisonDriver& WithCostSelector(CostSelectorT&& value) { SetCostSelector(std::forward<CostSelectorT>(value)); return *this;}
55
57
60 inline const Aws::Map<Aws::String, ComparisonMetricValue>& GetMetrics() const { return m_metrics; }
61 inline bool MetricsHasBeenSet() const { return m_metricsHasBeenSet; }
62 template<typename MetricsT = Aws::Map<Aws::String, ComparisonMetricValue>>
63 void SetMetrics(MetricsT&& value) { m_metricsHasBeenSet = true; m_metrics = std::forward<MetricsT>(value); }
64 template<typename MetricsT = Aws::Map<Aws::String, ComparisonMetricValue>>
65 CostComparisonDriver& WithMetrics(MetricsT&& value) { SetMetrics(std::forward<MetricsT>(value)); return *this;}
66 template<typename MetricsKeyT = Aws::String, typename MetricsValueT = ComparisonMetricValue>
67 CostComparisonDriver& AddMetrics(MetricsKeyT&& key, MetricsValueT&& value) {
68 m_metricsHasBeenSet = true; m_metrics.emplace(std::forward<MetricsKeyT>(key), std::forward<MetricsValueT>(value)); return *this;
69 }
71
73
79 inline const Aws::Vector<CostDriver>& GetCostDrivers() const { return m_costDrivers; }
80 inline bool CostDriversHasBeenSet() const { return m_costDriversHasBeenSet; }
81 template<typename CostDriversT = Aws::Vector<CostDriver>>
82 void SetCostDrivers(CostDriversT&& value) { m_costDriversHasBeenSet = true; m_costDrivers = std::forward<CostDriversT>(value); }
83 template<typename CostDriversT = Aws::Vector<CostDriver>>
84 CostComparisonDriver& WithCostDrivers(CostDriversT&& value) { SetCostDrivers(std::forward<CostDriversT>(value)); return *this;}
85 template<typename CostDriversT = CostDriver>
86 CostComparisonDriver& AddCostDrivers(CostDriversT&& value) { m_costDriversHasBeenSet = true; m_costDrivers.emplace_back(std::forward<CostDriversT>(value)); return *this; }
88 private:
89
90 Expression m_costSelector;
91 bool m_costSelectorHasBeenSet = false;
92
94 bool m_metricsHasBeenSet = false;
95
96 Aws::Vector<CostDriver> m_costDrivers;
97 bool m_costDriversHasBeenSet = false;
98 };
99
100} // namespace Model
101} // namespace CostExplorer
102} // namespace Aws
AWS_COSTEXPLORER_API CostComparisonDriver & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Map< Aws::String, ComparisonMetricValue > & GetMetrics() const
AWS_COSTEXPLORER_API CostComparisonDriver(Aws::Utils::Json::JsonView jsonValue)
AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const
CostComparisonDriver & WithMetrics(MetricsT &&value)
const Aws::Vector< CostDriver > & GetCostDrivers() const
CostComparisonDriver & AddCostDrivers(CostDriversT &&value)
AWS_COSTEXPLORER_API CostComparisonDriver()=default
CostComparisonDriver & WithCostDrivers(CostDriversT &&value)
CostComparisonDriver & AddMetrics(MetricsKeyT &&key, MetricsValueT &&value)
CostComparisonDriver & WithCostSelector(CostSelectorT &&value)
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue