AWS SDK for C++

AWS SDK for C++ Version 1.11.608

Loading...
Searching...
No Matches
CostAndUsageComparison.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/AWSString.h>
11#include <aws/ce/model/ComparisonMetricValue.h>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Json
19{
20 class JsonValue;
21 class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace CostExplorer
25{
26namespace Model
27{
28
36 {
37 public:
38 AWS_COSTEXPLORER_API CostAndUsageComparison() = default;
39 AWS_COSTEXPLORER_API CostAndUsageComparison(Aws::Utils::Json::JsonView jsonValue);
41 AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const;
42
43
45
46 inline const Expression& GetCostAndUsageSelector() const { return m_costAndUsageSelector; }
47 inline bool CostAndUsageSelectorHasBeenSet() const { return m_costAndUsageSelectorHasBeenSet; }
48 template<typename CostAndUsageSelectorT = Expression>
49 void SetCostAndUsageSelector(CostAndUsageSelectorT&& value) { m_costAndUsageSelectorHasBeenSet = true; m_costAndUsageSelector = std::forward<CostAndUsageSelectorT>(value); }
50 template<typename CostAndUsageSelectorT = Expression>
51 CostAndUsageComparison& WithCostAndUsageSelector(CostAndUsageSelectorT&& value) { SetCostAndUsageSelector(std::forward<CostAndUsageSelectorT>(value)); return *this;}
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) { m_metricsHasBeenSet = true; m_metrics = std::forward<MetricsT>(value); }
62 template<typename MetricsT = Aws::Map<Aws::String, ComparisonMetricValue>>
63 CostAndUsageComparison& WithMetrics(MetricsT&& value) { SetMetrics(std::forward<MetricsT>(value)); return *this;}
64 template<typename MetricsKeyT = Aws::String, typename MetricsValueT = ComparisonMetricValue>
65 CostAndUsageComparison& AddMetrics(MetricsKeyT&& key, MetricsValueT&& value) {
66 m_metricsHasBeenSet = true; m_metrics.emplace(std::forward<MetricsKeyT>(key), std::forward<MetricsValueT>(value)); return *this;
67 }
69 private:
70
71 Expression m_costAndUsageSelector;
72 bool m_costAndUsageSelectorHasBeenSet = false;
73
75 bool m_metricsHasBeenSet = false;
76 };
77
78} // namespace Model
79} // namespace CostExplorer
80} // 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