AWS SDK for C++

AWS SDK for C++ Version 1.11.745

Loading...
Searching...
No Matches
Ec2Instance.h
1
6#pragma once
7#include <aws/cost-optimization-hub/CostOptimizationHub_EXPORTS.h>
8#include <aws/cost-optimization-hub/model/Ec2InstanceConfiguration.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
30 public:
31 AWS_COSTOPTIMIZATIONHUB_API Ec2Instance() = default;
32 AWS_COSTOPTIMIZATIONHUB_API Ec2Instance(Aws::Utils::Json::JsonView jsonValue);
33 AWS_COSTOPTIMIZATIONHUB_API Ec2Instance& operator=(Aws::Utils::Json::JsonView jsonValue);
34 AWS_COSTOPTIMIZATIONHUB_API Aws::Utils::Json::JsonValue Jsonize() const;
35
37
40 inline const Ec2InstanceConfiguration& GetConfiguration() const { return m_configuration; }
41 inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; }
42 template <typename ConfigurationT = Ec2InstanceConfiguration>
43 void SetConfiguration(ConfigurationT&& value) {
44 m_configurationHasBeenSet = true;
45 m_configuration = std::forward<ConfigurationT>(value);
46 }
47 template <typename ConfigurationT = Ec2InstanceConfiguration>
48 Ec2Instance& WithConfiguration(ConfigurationT&& value) {
49 SetConfiguration(std::forward<ConfigurationT>(value));
50 return *this;
51 }
53
55
58 inline const ResourceCostCalculation& GetCostCalculation() const { return m_costCalculation; }
59 inline bool CostCalculationHasBeenSet() const { return m_costCalculationHasBeenSet; }
60 template <typename CostCalculationT = ResourceCostCalculation>
61 void SetCostCalculation(CostCalculationT&& value) {
62 m_costCalculationHasBeenSet = true;
63 m_costCalculation = std::forward<CostCalculationT>(value);
64 }
65 template <typename CostCalculationT = ResourceCostCalculation>
66 Ec2Instance& WithCostCalculation(CostCalculationT&& value) {
67 SetCostCalculation(std::forward<CostCalculationT>(value));
68 return *this;
69 }
71 private:
72 Ec2InstanceConfiguration m_configuration;
73
74 ResourceCostCalculation m_costCalculation;
75 bool m_configurationHasBeenSet = false;
76 bool m_costCalculationHasBeenSet = false;
77};
78
79} // namespace Model
80} // namespace CostOptimizationHub
81} // namespace Aws
const ResourceCostCalculation & GetCostCalculation() const
Definition Ec2Instance.h:58
AWS_COSTOPTIMIZATIONHUB_API Ec2Instance & operator=(Aws::Utils::Json::JsonView jsonValue)
Ec2Instance & WithCostCalculation(CostCalculationT &&value)
Definition Ec2Instance.h:66
AWS_COSTOPTIMIZATIONHUB_API Ec2Instance()=default
void SetConfiguration(ConfigurationT &&value)
Definition Ec2Instance.h:43
AWS_COSTOPTIMIZATIONHUB_API Aws::Utils::Json::JsonValue Jsonize() const
void SetCostCalculation(CostCalculationT &&value)
Definition Ec2Instance.h:61
Ec2Instance & WithConfiguration(ConfigurationT &&value)
Definition Ec2Instance.h:48
const Ec2InstanceConfiguration & GetConfiguration() const
Definition Ec2Instance.h:40
AWS_COSTOPTIMIZATIONHUB_API Ec2Instance(Aws::Utils::Json::JsonView jsonValue)
Aws::Utils::Json::JsonValue JsonValue