AWS SDK for C++

AWS SDK for C++ Version 1.11.608

Loading...
Searching...
No Matches
Group.h
1
6#pragma once
7#include <aws/ce/CostExplorer_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/core/utils/memory/stl/AWSMap.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/ce/model/MetricValue.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
34 class Group
35 {
36 public:
37 AWS_COSTEXPLORER_API Group() = default;
38 AWS_COSTEXPLORER_API Group(Aws::Utils::Json::JsonView jsonValue);
39 AWS_COSTEXPLORER_API Group& operator=(Aws::Utils::Json::JsonView jsonValue);
40 AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const;
41
42
44
47 inline const Aws::Vector<Aws::String>& GetKeys() const { return m_keys; }
48 inline bool KeysHasBeenSet() const { return m_keysHasBeenSet; }
49 template<typename KeysT = Aws::Vector<Aws::String>>
50 void SetKeys(KeysT&& value) { m_keysHasBeenSet = true; m_keys = std::forward<KeysT>(value); }
51 template<typename KeysT = Aws::Vector<Aws::String>>
52 Group& WithKeys(KeysT&& value) { SetKeys(std::forward<KeysT>(value)); return *this;}
53 template<typename KeysT = Aws::String>
54 Group& AddKeys(KeysT&& value) { m_keysHasBeenSet = true; m_keys.emplace_back(std::forward<KeysT>(value)); return *this; }
56
58
61 inline const Aws::Map<Aws::String, MetricValue>& GetMetrics() const { return m_metrics; }
62 inline bool MetricsHasBeenSet() const { return m_metricsHasBeenSet; }
63 template<typename MetricsT = Aws::Map<Aws::String, MetricValue>>
64 void SetMetrics(MetricsT&& value) { m_metricsHasBeenSet = true; m_metrics = std::forward<MetricsT>(value); }
65 template<typename MetricsT = Aws::Map<Aws::String, MetricValue>>
66 Group& WithMetrics(MetricsT&& value) { SetMetrics(std::forward<MetricsT>(value)); return *this;}
67 template<typename MetricsKeyT = Aws::String, typename MetricsValueT = MetricValue>
68 Group& AddMetrics(MetricsKeyT&& key, MetricsValueT&& value) {
69 m_metricsHasBeenSet = true; m_metrics.emplace(std::forward<MetricsKeyT>(key), std::forward<MetricsValueT>(value)); return *this;
70 }
72 private:
73
75 bool m_keysHasBeenSet = false;
76
78 bool m_metricsHasBeenSet = false;
79 };
80
81} // namespace Model
82} // namespace CostExplorer
83} // namespace Aws
Group & WithKeys(KeysT &&value)
Definition Group.h:52
void SetMetrics(MetricsT &&value)
Definition Group.h:64
bool MetricsHasBeenSet() const
Definition Group.h:62
Group & AddMetrics(MetricsKeyT &&key, MetricsValueT &&value)
Definition Group.h:68
Group & WithMetrics(MetricsT &&value)
Definition Group.h:66
AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const
void SetKeys(KeysT &&value)
Definition Group.h:50
AWS_COSTEXPLORER_API Group(Aws::Utils::Json::JsonView jsonValue)
const Aws::Map< Aws::String, MetricValue > & GetMetrics() const
Definition Group.h:61
AWS_COSTEXPLORER_API Group()=default
AWS_COSTEXPLORER_API Group & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< Aws::String > & GetKeys() const
Definition Group.h:47
bool KeysHasBeenSet() const
Definition Group.h:48
Group & AddKeys(KeysT &&value)
Definition Group.h:54
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