AWS SDK for C++

AWS SDK for C++ Version 1.11.748

Loading...
Searching...
No Matches
EbsVolume.h
1
6#pragma once
7#include <aws/cost-optimization-hub/CostOptimizationHub_EXPORTS.h>
8#include <aws/cost-optimization-hub/model/EbsVolumeConfiguration.h>
9#include <aws/cost-optimization-hub/model/ResourceCostCalculation.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Json {
16class JsonValue;
17class JsonView;
18} // namespace Json
19} // namespace Utils
20namespace CostOptimizationHub {
21namespace Model {
22
30class EbsVolume {
31 public:
32 AWS_COSTOPTIMIZATIONHUB_API EbsVolume() = default;
33 AWS_COSTOPTIMIZATIONHUB_API EbsVolume(Aws::Utils::Json::JsonView jsonValue);
34 AWS_COSTOPTIMIZATIONHUB_API EbsVolume& operator=(Aws::Utils::Json::JsonView jsonValue);
35 AWS_COSTOPTIMIZATIONHUB_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
42 inline const EbsVolumeConfiguration& GetConfiguration() const { return m_configuration; }
43 inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; }
44 template <typename ConfigurationT = EbsVolumeConfiguration>
45 void SetConfiguration(ConfigurationT&& value) {
46 m_configurationHasBeenSet = true;
47 m_configuration = std::forward<ConfigurationT>(value);
48 }
49 template <typename ConfigurationT = EbsVolumeConfiguration>
50 EbsVolume& WithConfiguration(ConfigurationT&& value) {
51 SetConfiguration(std::forward<ConfigurationT>(value));
52 return *this;
53 }
55
57
60 inline const ResourceCostCalculation& GetCostCalculation() const { return m_costCalculation; }
61 inline bool CostCalculationHasBeenSet() const { return m_costCalculationHasBeenSet; }
62 template <typename CostCalculationT = ResourceCostCalculation>
63 void SetCostCalculation(CostCalculationT&& value) {
64 m_costCalculationHasBeenSet = true;
65 m_costCalculation = std::forward<CostCalculationT>(value);
66 }
67 template <typename CostCalculationT = ResourceCostCalculation>
68 EbsVolume& WithCostCalculation(CostCalculationT&& value) {
69 SetCostCalculation(std::forward<CostCalculationT>(value));
70 return *this;
71 }
73 private:
74 EbsVolumeConfiguration m_configuration;
75
76 ResourceCostCalculation m_costCalculation;
77 bool m_configurationHasBeenSet = false;
78 bool m_costCalculationHasBeenSet = false;
79};
80
81} // namespace Model
82} // namespace CostOptimizationHub
83} // namespace Aws
AWS_COSTOPTIMIZATIONHUB_API EbsVolume()=default
void SetCostCalculation(CostCalculationT &&value)
Definition EbsVolume.h:63
AWS_COSTOPTIMIZATIONHUB_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_COSTOPTIMIZATIONHUB_API EbsVolume & operator=(Aws::Utils::Json::JsonView jsonValue)
EbsVolume & WithCostCalculation(CostCalculationT &&value)
Definition EbsVolume.h:68
void SetConfiguration(ConfigurationT &&value)
Definition EbsVolume.h:45
AWS_COSTOPTIMIZATIONHUB_API EbsVolume(Aws::Utils::Json::JsonView jsonValue)
const ResourceCostCalculation & GetCostCalculation() const
Definition EbsVolume.h:60
const EbsVolumeConfiguration & GetConfiguration() const
Definition EbsVolume.h:42
EbsVolume & WithConfiguration(ConfigurationT &&value)
Definition EbsVolume.h:50
Aws::Utils::Json::JsonValue JsonValue