AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
CostComparisonDriver.h
1
6#pragma once
7#include <aws/ce/CostExplorer_EXPORTS.h>
8#include <aws/ce/model/ComparisonMetricValue.h>
9#include <aws/ce/model/CostDriver.h>
10#include <aws/ce/model/Expression.h>
11#include <aws/core/utils/memory/stl/AWSMap.h>
12#include <aws/core/utils/memory/stl/AWSString.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace CostExplorer {
25namespace Model {
26
34 public:
35 AWS_COSTEXPLORER_API CostComparisonDriver() = default;
36 AWS_COSTEXPLORER_API CostComparisonDriver(Aws::Utils::Json::JsonView jsonValue);
38 AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const;
39
41
42 inline const Expression& GetCostSelector() const { return m_costSelector; }
43 inline bool CostSelectorHasBeenSet() const { return m_costSelectorHasBeenSet; }
44 template <typename CostSelectorT = Expression>
45 void SetCostSelector(CostSelectorT&& value) {
46 m_costSelectorHasBeenSet = true;
47 m_costSelector = std::forward<CostSelectorT>(value);
48 }
49 template <typename CostSelectorT = Expression>
50 CostComparisonDriver& WithCostSelector(CostSelectorT&& value) {
51 SetCostSelector(std::forward<CostSelectorT>(value));
52 return *this;
53 }
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) {
64 m_metricsHasBeenSet = true;
65 m_metrics = std::forward<MetricsT>(value);
66 }
67 template <typename MetricsT = Aws::Map<Aws::String, ComparisonMetricValue>>
68 CostComparisonDriver& WithMetrics(MetricsT&& value) {
69 SetMetrics(std::forward<MetricsT>(value));
70 return *this;
71 }
72 template <typename MetricsKeyT = Aws::String, typename MetricsValueT = ComparisonMetricValue>
73 CostComparisonDriver& AddMetrics(MetricsKeyT&& key, MetricsValueT&& value) {
74 m_metricsHasBeenSet = true;
75 m_metrics.emplace(std::forward<MetricsKeyT>(key), std::forward<MetricsValueT>(value));
76 return *this;
77 }
79
81
87 inline const Aws::Vector<CostDriver>& GetCostDrivers() const { return m_costDrivers; }
88 inline bool CostDriversHasBeenSet() const { return m_costDriversHasBeenSet; }
89 template <typename CostDriversT = Aws::Vector<CostDriver>>
90 void SetCostDrivers(CostDriversT&& value) {
91 m_costDriversHasBeenSet = true;
92 m_costDrivers = std::forward<CostDriversT>(value);
93 }
94 template <typename CostDriversT = Aws::Vector<CostDriver>>
95 CostComparisonDriver& WithCostDrivers(CostDriversT&& value) {
96 SetCostDrivers(std::forward<CostDriversT>(value));
97 return *this;
98 }
99 template <typename CostDriversT = CostDriver>
100 CostComparisonDriver& AddCostDrivers(CostDriversT&& value) {
101 m_costDriversHasBeenSet = true;
102 m_costDrivers.emplace_back(std::forward<CostDriversT>(value));
103 return *this;
104 }
106 private:
107 Expression m_costSelector;
108
110
111 Aws::Vector<CostDriver> m_costDrivers;
112 bool m_costSelectorHasBeenSet = false;
113 bool m_metricsHasBeenSet = false;
114 bool m_costDriversHasBeenSet = false;
115};
116
117} // namespace Model
118} // namespace CostExplorer
119} // 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