AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
EC2ResourceDetails.h
1
6#pragma once
7#include <aws/ce/CostExplorer_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9
10#include <utility>
11
12namespace Aws {
13namespace Utils {
14namespace Json {
15class JsonValue;
16class JsonView;
17} // namespace Json
18} // namespace Utils
19namespace CostExplorer {
20namespace Model {
21
28 public:
29 AWS_COSTEXPLORER_API EC2ResourceDetails() = default;
30 AWS_COSTEXPLORER_API EC2ResourceDetails(Aws::Utils::Json::JsonView jsonValue);
32 AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const;
33
35
38 inline const Aws::String& GetHourlyOnDemandRate() const { return m_hourlyOnDemandRate; }
39 inline bool HourlyOnDemandRateHasBeenSet() const { return m_hourlyOnDemandRateHasBeenSet; }
40 template <typename HourlyOnDemandRateT = Aws::String>
41 void SetHourlyOnDemandRate(HourlyOnDemandRateT&& value) {
42 m_hourlyOnDemandRateHasBeenSet = true;
43 m_hourlyOnDemandRate = std::forward<HourlyOnDemandRateT>(value);
44 }
45 template <typename HourlyOnDemandRateT = Aws::String>
46 EC2ResourceDetails& WithHourlyOnDemandRate(HourlyOnDemandRateT&& value) {
47 SetHourlyOnDemandRate(std::forward<HourlyOnDemandRateT>(value));
48 return *this;
49 }
51
53
56 inline const Aws::String& GetInstanceType() const { return m_instanceType; }
57 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
58 template <typename InstanceTypeT = Aws::String>
59 void SetInstanceType(InstanceTypeT&& value) {
60 m_instanceTypeHasBeenSet = true;
61 m_instanceType = std::forward<InstanceTypeT>(value);
62 }
63 template <typename InstanceTypeT = Aws::String>
64 EC2ResourceDetails& WithInstanceType(InstanceTypeT&& value) {
65 SetInstanceType(std::forward<InstanceTypeT>(value));
66 return *this;
67 }
69
71
76 inline const Aws::String& GetPlatform() const { return m_platform; }
77 inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; }
78 template <typename PlatformT = Aws::String>
79 void SetPlatform(PlatformT&& value) {
80 m_platformHasBeenSet = true;
81 m_platform = std::forward<PlatformT>(value);
82 }
83 template <typename PlatformT = Aws::String>
84 EC2ResourceDetails& WithPlatform(PlatformT&& value) {
85 SetPlatform(std::forward<PlatformT>(value));
86 return *this;
87 }
89
91
94 inline const Aws::String& GetRegion() const { return m_region; }
95 inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; }
96 template <typename RegionT = Aws::String>
97 void SetRegion(RegionT&& value) {
98 m_regionHasBeenSet = true;
99 m_region = std::forward<RegionT>(value);
100 }
101 template <typename RegionT = Aws::String>
102 EC2ResourceDetails& WithRegion(RegionT&& value) {
103 SetRegion(std::forward<RegionT>(value));
104 return *this;
105 }
107
109
112 inline const Aws::String& GetSku() const { return m_sku; }
113 inline bool SkuHasBeenSet() const { return m_skuHasBeenSet; }
114 template <typename SkuT = Aws::String>
115 void SetSku(SkuT&& value) {
116 m_skuHasBeenSet = true;
117 m_sku = std::forward<SkuT>(value);
118 }
119 template <typename SkuT = Aws::String>
121 SetSku(std::forward<SkuT>(value));
122 return *this;
123 }
125
127
130 inline const Aws::String& GetMemory() const { return m_memory; }
131 inline bool MemoryHasBeenSet() const { return m_memoryHasBeenSet; }
132 template <typename MemoryT = Aws::String>
133 void SetMemory(MemoryT&& value) {
134 m_memoryHasBeenSet = true;
135 m_memory = std::forward<MemoryT>(value);
136 }
137 template <typename MemoryT = Aws::String>
138 EC2ResourceDetails& WithMemory(MemoryT&& value) {
139 SetMemory(std::forward<MemoryT>(value));
140 return *this;
141 }
143
145
148 inline const Aws::String& GetNetworkPerformance() const { return m_networkPerformance; }
149 inline bool NetworkPerformanceHasBeenSet() const { return m_networkPerformanceHasBeenSet; }
150 template <typename NetworkPerformanceT = Aws::String>
151 void SetNetworkPerformance(NetworkPerformanceT&& value) {
152 m_networkPerformanceHasBeenSet = true;
153 m_networkPerformance = std::forward<NetworkPerformanceT>(value);
154 }
155 template <typename NetworkPerformanceT = Aws::String>
156 EC2ResourceDetails& WithNetworkPerformance(NetworkPerformanceT&& value) {
157 SetNetworkPerformance(std::forward<NetworkPerformanceT>(value));
158 return *this;
159 }
161
163
167 inline const Aws::String& GetStorage() const { return m_storage; }
168 inline bool StorageHasBeenSet() const { return m_storageHasBeenSet; }
169 template <typename StorageT = Aws::String>
170 void SetStorage(StorageT&& value) {
171 m_storageHasBeenSet = true;
172 m_storage = std::forward<StorageT>(value);
173 }
174 template <typename StorageT = Aws::String>
175 EC2ResourceDetails& WithStorage(StorageT&& value) {
176 SetStorage(std::forward<StorageT>(value));
177 return *this;
178 }
180
182
185 inline const Aws::String& GetVcpu() const { return m_vcpu; }
186 inline bool VcpuHasBeenSet() const { return m_vcpuHasBeenSet; }
187 template <typename VcpuT = Aws::String>
188 void SetVcpu(VcpuT&& value) {
189 m_vcpuHasBeenSet = true;
190 m_vcpu = std::forward<VcpuT>(value);
191 }
192 template <typename VcpuT = Aws::String>
193 EC2ResourceDetails& WithVcpu(VcpuT&& value) {
194 SetVcpu(std::forward<VcpuT>(value));
195 return *this;
196 }
198 private:
199 Aws::String m_hourlyOnDemandRate;
200
201 Aws::String m_instanceType;
202
203 Aws::String m_platform;
204
205 Aws::String m_region;
206
207 Aws::String m_sku;
208
209 Aws::String m_memory;
210
211 Aws::String m_networkPerformance;
212
213 Aws::String m_storage;
214
215 Aws::String m_vcpu;
216 bool m_hourlyOnDemandRateHasBeenSet = false;
217 bool m_instanceTypeHasBeenSet = false;
218 bool m_platformHasBeenSet = false;
219 bool m_regionHasBeenSet = false;
220 bool m_skuHasBeenSet = false;
221 bool m_memoryHasBeenSet = false;
222 bool m_networkPerformanceHasBeenSet = false;
223 bool m_storageHasBeenSet = false;
224 bool m_vcpuHasBeenSet = false;
225};
226
227} // namespace Model
228} // namespace CostExplorer
229} // namespace Aws
AWS_COSTEXPLORER_API EC2ResourceDetails & operator=(Aws::Utils::Json::JsonView jsonValue)
EC2ResourceDetails & WithStorage(StorageT &&value)
AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const
EC2ResourceDetails & WithHourlyOnDemandRate(HourlyOnDemandRateT &&value)
void SetHourlyOnDemandRate(HourlyOnDemandRateT &&value)
EC2ResourceDetails & WithVcpu(VcpuT &&value)
EC2ResourceDetails & WithMemory(MemoryT &&value)
EC2ResourceDetails & WithInstanceType(InstanceTypeT &&value)
EC2ResourceDetails & WithSku(SkuT &&value)
EC2ResourceDetails & WithPlatform(PlatformT &&value)
const Aws::String & GetHourlyOnDemandRate() const
AWS_COSTEXPLORER_API EC2ResourceDetails(Aws::Utils::Json::JsonView jsonValue)
void SetNetworkPerformance(NetworkPerformanceT &&value)
AWS_COSTEXPLORER_API EC2ResourceDetails()=default
EC2ResourceDetails & WithNetworkPerformance(NetworkPerformanceT &&value)
EC2ResourceDetails & WithRegion(RegionT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue