AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
CostAndUsageComparison.h
1
6#pragma once
7#include <aws/ce/CostExplorer_EXPORTS.h>
8#include <aws/ce/model/ComparisonMetricValue.h>
9#include <aws/ce/model/Expression.h>
10#include <aws/core/utils/memory/stl/AWSMap.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace CostExplorer {
23namespace Model {
24
32 public:
33 AWS_COSTEXPLORER_API CostAndUsageComparison() = default;
34 AWS_COSTEXPLORER_API CostAndUsageComparison(Aws::Utils::Json::JsonView jsonValue);
36 AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
40 inline const Expression& GetCostAndUsageSelector() const { return m_costAndUsageSelector; }
41 inline bool CostAndUsageSelectorHasBeenSet() const { return m_costAndUsageSelectorHasBeenSet; }
42 template <typename CostAndUsageSelectorT = Expression>
43 void SetCostAndUsageSelector(CostAndUsageSelectorT&& value) {
44 m_costAndUsageSelectorHasBeenSet = true;
45 m_costAndUsageSelector = std::forward<CostAndUsageSelectorT>(value);
46 }
47 template <typename CostAndUsageSelectorT = Expression>
48 CostAndUsageComparison& WithCostAndUsageSelector(CostAndUsageSelectorT&& value) {
49 SetCostAndUsageSelector(std::forward<CostAndUsageSelectorT>(value));
50 return *this;
51 }
53
55
58 inline const Aws::Map<Aws::String, ComparisonMetricValue>& GetMetrics() const { return m_metrics; }
59 inline bool MetricsHasBeenSet() const { return m_metricsHasBeenSet; }
60 template <typename MetricsT = Aws::Map<Aws::String, ComparisonMetricValue>>
61 void SetMetrics(MetricsT&& value) {
62 m_metricsHasBeenSet = true;
63 m_metrics = std::forward<MetricsT>(value);
64 }
65 template <typename MetricsT = Aws::Map<Aws::String, ComparisonMetricValue>>
67 SetMetrics(std::forward<MetricsT>(value));
68 return *this;
69 }
70 template <typename MetricsKeyT = Aws::String, typename MetricsValueT = ComparisonMetricValue>
71 CostAndUsageComparison& AddMetrics(MetricsKeyT&& key, MetricsValueT&& value) {
72 m_metricsHasBeenSet = true;
73 m_metrics.emplace(std::forward<MetricsKeyT>(key), std::forward<MetricsValueT>(value));
74 return *this;
75 }
77 private:
78 Expression m_costAndUsageSelector;
79
81 bool m_costAndUsageSelectorHasBeenSet = false;
82 bool m_metricsHasBeenSet = false;
83};
84
85} // namespace Model
86} // namespace CostExplorer
87} // namespace Aws
const Aws::Map< Aws::String, ComparisonMetricValue > & GetMetrics() const
AWS_COSTEXPLORER_API CostAndUsageComparison(Aws::Utils::Json::JsonView jsonValue)
AWS_COSTEXPLORER_API CostAndUsageComparison & operator=(Aws::Utils::Json::JsonView jsonValue)
CostAndUsageComparison & WithMetrics(MetricsT &&value)
CostAndUsageComparison & AddMetrics(MetricsKeyT &&key, MetricsValueT &&value)
AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const
void SetCostAndUsageSelector(CostAndUsageSelectorT &&value)
CostAndUsageComparison & WithCostAndUsageSelector(CostAndUsageSelectorT &&value)
AWS_COSTEXPLORER_API CostAndUsageComparison()=default
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
Aws::Utils::Json::JsonValue JsonValue