AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
ResourceDetails.h
1
6#pragma once
7#include <aws/cost-optimization-hub/CostOptimizationHub_EXPORTS.h>
8#include <aws/cost-optimization-hub/model/LambdaFunction.h>
9#include <aws/cost-optimization-hub/model/EcsService.h>
10#include <aws/cost-optimization-hub/model/Ec2Instance.h>
11#include <aws/cost-optimization-hub/model/EbsVolume.h>
12#include <aws/cost-optimization-hub/model/Ec2AutoScalingGroup.h>
13#include <aws/cost-optimization-hub/model/Ec2ReservedInstances.h>
14#include <aws/cost-optimization-hub/model/RdsReservedInstances.h>
15#include <aws/cost-optimization-hub/model/ElastiCacheReservedInstances.h>
16#include <aws/cost-optimization-hub/model/OpenSearchReservedInstances.h>
17#include <aws/cost-optimization-hub/model/RedshiftReservedInstances.h>
18#include <aws/cost-optimization-hub/model/Ec2InstanceSavingsPlans.h>
19#include <aws/cost-optimization-hub/model/ComputeSavingsPlans.h>
20#include <aws/cost-optimization-hub/model/SageMakerSavingsPlans.h>
21#include <aws/cost-optimization-hub/model/RdsDbInstance.h>
22#include <aws/cost-optimization-hub/model/RdsDbInstanceStorage.h>
23#include <aws/cost-optimization-hub/model/AuroraDbClusterStorage.h>
24#include <aws/cost-optimization-hub/model/DynamoDbReservedCapacity.h>
25#include <aws/cost-optimization-hub/model/MemoryDbReservedInstances.h>
26#include <utility>
27
28namespace Aws
29{
30namespace Utils
31{
32namespace Json
33{
34 class JsonValue;
35 class JsonView;
36} // namespace Json
37} // namespace Utils
38namespace CostOptimizationHub
39{
40namespace Model
41{
42
50 {
51 public:
52 AWS_COSTOPTIMIZATIONHUB_API ResourceDetails() = default;
53 AWS_COSTOPTIMIZATIONHUB_API ResourceDetails(Aws::Utils::Json::JsonView jsonValue);
54 AWS_COSTOPTIMIZATIONHUB_API ResourceDetails& operator=(Aws::Utils::Json::JsonView jsonValue);
55 AWS_COSTOPTIMIZATIONHUB_API Aws::Utils::Json::JsonValue Jsonize() const;
56
57
59
62 inline const LambdaFunction& GetLambdaFunction() const { return m_lambdaFunction; }
63 inline bool LambdaFunctionHasBeenSet() const { return m_lambdaFunctionHasBeenSet; }
64 template<typename LambdaFunctionT = LambdaFunction>
65 void SetLambdaFunction(LambdaFunctionT&& value) { m_lambdaFunctionHasBeenSet = true; m_lambdaFunction = std::forward<LambdaFunctionT>(value); }
66 template<typename LambdaFunctionT = LambdaFunction>
67 ResourceDetails& WithLambdaFunction(LambdaFunctionT&& value) { SetLambdaFunction(std::forward<LambdaFunctionT>(value)); return *this;}
69
71
74 inline const EcsService& GetEcsService() const { return m_ecsService; }
75 inline bool EcsServiceHasBeenSet() const { return m_ecsServiceHasBeenSet; }
76 template<typename EcsServiceT = EcsService>
77 void SetEcsService(EcsServiceT&& value) { m_ecsServiceHasBeenSet = true; m_ecsService = std::forward<EcsServiceT>(value); }
78 template<typename EcsServiceT = EcsService>
79 ResourceDetails& WithEcsService(EcsServiceT&& value) { SetEcsService(std::forward<EcsServiceT>(value)); return *this;}
81
83
86 inline const Ec2Instance& GetEc2Instance() const { return m_ec2Instance; }
87 inline bool Ec2InstanceHasBeenSet() const { return m_ec2InstanceHasBeenSet; }
88 template<typename Ec2InstanceT = Ec2Instance>
89 void SetEc2Instance(Ec2InstanceT&& value) { m_ec2InstanceHasBeenSet = true; m_ec2Instance = std::forward<Ec2InstanceT>(value); }
90 template<typename Ec2InstanceT = Ec2Instance>
91 ResourceDetails& WithEc2Instance(Ec2InstanceT&& value) { SetEc2Instance(std::forward<Ec2InstanceT>(value)); return *this;}
93
95
98 inline const EbsVolume& GetEbsVolume() const { return m_ebsVolume; }
99 inline bool EbsVolumeHasBeenSet() const { return m_ebsVolumeHasBeenSet; }
100 template<typename EbsVolumeT = EbsVolume>
101 void SetEbsVolume(EbsVolumeT&& value) { m_ebsVolumeHasBeenSet = true; m_ebsVolume = std::forward<EbsVolumeT>(value); }
102 template<typename EbsVolumeT = EbsVolume>
103 ResourceDetails& WithEbsVolume(EbsVolumeT&& value) { SetEbsVolume(std::forward<EbsVolumeT>(value)); return *this;}
105
107
110 inline const Ec2AutoScalingGroup& GetEc2AutoScalingGroup() const { return m_ec2AutoScalingGroup; }
111 inline bool Ec2AutoScalingGroupHasBeenSet() const { return m_ec2AutoScalingGroupHasBeenSet; }
112 template<typename Ec2AutoScalingGroupT = Ec2AutoScalingGroup>
113 void SetEc2AutoScalingGroup(Ec2AutoScalingGroupT&& value) { m_ec2AutoScalingGroupHasBeenSet = true; m_ec2AutoScalingGroup = std::forward<Ec2AutoScalingGroupT>(value); }
114 template<typename Ec2AutoScalingGroupT = Ec2AutoScalingGroup>
115 ResourceDetails& WithEc2AutoScalingGroup(Ec2AutoScalingGroupT&& value) { SetEc2AutoScalingGroup(std::forward<Ec2AutoScalingGroupT>(value)); return *this;}
117
119
122 inline const Ec2ReservedInstances& GetEc2ReservedInstances() const { return m_ec2ReservedInstances; }
123 inline bool Ec2ReservedInstancesHasBeenSet() const { return m_ec2ReservedInstancesHasBeenSet; }
124 template<typename Ec2ReservedInstancesT = Ec2ReservedInstances>
125 void SetEc2ReservedInstances(Ec2ReservedInstancesT&& value) { m_ec2ReservedInstancesHasBeenSet = true; m_ec2ReservedInstances = std::forward<Ec2ReservedInstancesT>(value); }
126 template<typename Ec2ReservedInstancesT = Ec2ReservedInstances>
127 ResourceDetails& WithEc2ReservedInstances(Ec2ReservedInstancesT&& value) { SetEc2ReservedInstances(std::forward<Ec2ReservedInstancesT>(value)); return *this;}
129
131
134 inline const RdsReservedInstances& GetRdsReservedInstances() const { return m_rdsReservedInstances; }
135 inline bool RdsReservedInstancesHasBeenSet() const { return m_rdsReservedInstancesHasBeenSet; }
136 template<typename RdsReservedInstancesT = RdsReservedInstances>
137 void SetRdsReservedInstances(RdsReservedInstancesT&& value) { m_rdsReservedInstancesHasBeenSet = true; m_rdsReservedInstances = std::forward<RdsReservedInstancesT>(value); }
138 template<typename RdsReservedInstancesT = RdsReservedInstances>
139 ResourceDetails& WithRdsReservedInstances(RdsReservedInstancesT&& value) { SetRdsReservedInstances(std::forward<RdsReservedInstancesT>(value)); return *this;}
141
143
146 inline const ElastiCacheReservedInstances& GetElastiCacheReservedInstances() const { return m_elastiCacheReservedInstances; }
147 inline bool ElastiCacheReservedInstancesHasBeenSet() const { return m_elastiCacheReservedInstancesHasBeenSet; }
148 template<typename ElastiCacheReservedInstancesT = ElastiCacheReservedInstances>
149 void SetElastiCacheReservedInstances(ElastiCacheReservedInstancesT&& value) { m_elastiCacheReservedInstancesHasBeenSet = true; m_elastiCacheReservedInstances = std::forward<ElastiCacheReservedInstancesT>(value); }
150 template<typename ElastiCacheReservedInstancesT = ElastiCacheReservedInstances>
151 ResourceDetails& WithElastiCacheReservedInstances(ElastiCacheReservedInstancesT&& value) { SetElastiCacheReservedInstances(std::forward<ElastiCacheReservedInstancesT>(value)); return *this;}
153
155
158 inline const OpenSearchReservedInstances& GetOpenSearchReservedInstances() const { return m_openSearchReservedInstances; }
159 inline bool OpenSearchReservedInstancesHasBeenSet() const { return m_openSearchReservedInstancesHasBeenSet; }
160 template<typename OpenSearchReservedInstancesT = OpenSearchReservedInstances>
161 void SetOpenSearchReservedInstances(OpenSearchReservedInstancesT&& value) { m_openSearchReservedInstancesHasBeenSet = true; m_openSearchReservedInstances = std::forward<OpenSearchReservedInstancesT>(value); }
162 template<typename OpenSearchReservedInstancesT = OpenSearchReservedInstances>
163 ResourceDetails& WithOpenSearchReservedInstances(OpenSearchReservedInstancesT&& value) { SetOpenSearchReservedInstances(std::forward<OpenSearchReservedInstancesT>(value)); return *this;}
165
167
170 inline const RedshiftReservedInstances& GetRedshiftReservedInstances() const { return m_redshiftReservedInstances; }
171 inline bool RedshiftReservedInstancesHasBeenSet() const { return m_redshiftReservedInstancesHasBeenSet; }
172 template<typename RedshiftReservedInstancesT = RedshiftReservedInstances>
173 void SetRedshiftReservedInstances(RedshiftReservedInstancesT&& value) { m_redshiftReservedInstancesHasBeenSet = true; m_redshiftReservedInstances = std::forward<RedshiftReservedInstancesT>(value); }
174 template<typename RedshiftReservedInstancesT = RedshiftReservedInstances>
175 ResourceDetails& WithRedshiftReservedInstances(RedshiftReservedInstancesT&& value) { SetRedshiftReservedInstances(std::forward<RedshiftReservedInstancesT>(value)); return *this;}
177
179
182 inline const Ec2InstanceSavingsPlans& GetEc2InstanceSavingsPlans() const { return m_ec2InstanceSavingsPlans; }
183 inline bool Ec2InstanceSavingsPlansHasBeenSet() const { return m_ec2InstanceSavingsPlansHasBeenSet; }
184 template<typename Ec2InstanceSavingsPlansT = Ec2InstanceSavingsPlans>
185 void SetEc2InstanceSavingsPlans(Ec2InstanceSavingsPlansT&& value) { m_ec2InstanceSavingsPlansHasBeenSet = true; m_ec2InstanceSavingsPlans = std::forward<Ec2InstanceSavingsPlansT>(value); }
186 template<typename Ec2InstanceSavingsPlansT = Ec2InstanceSavingsPlans>
187 ResourceDetails& WithEc2InstanceSavingsPlans(Ec2InstanceSavingsPlansT&& value) { SetEc2InstanceSavingsPlans(std::forward<Ec2InstanceSavingsPlansT>(value)); return *this;}
189
191
194 inline const ComputeSavingsPlans& GetComputeSavingsPlans() const { return m_computeSavingsPlans; }
195 inline bool ComputeSavingsPlansHasBeenSet() const { return m_computeSavingsPlansHasBeenSet; }
196 template<typename ComputeSavingsPlansT = ComputeSavingsPlans>
197 void SetComputeSavingsPlans(ComputeSavingsPlansT&& value) { m_computeSavingsPlansHasBeenSet = true; m_computeSavingsPlans = std::forward<ComputeSavingsPlansT>(value); }
198 template<typename ComputeSavingsPlansT = ComputeSavingsPlans>
199 ResourceDetails& WithComputeSavingsPlans(ComputeSavingsPlansT&& value) { SetComputeSavingsPlans(std::forward<ComputeSavingsPlansT>(value)); return *this;}
201
203
206 inline const SageMakerSavingsPlans& GetSageMakerSavingsPlans() const { return m_sageMakerSavingsPlans; }
207 inline bool SageMakerSavingsPlansHasBeenSet() const { return m_sageMakerSavingsPlansHasBeenSet; }
208 template<typename SageMakerSavingsPlansT = SageMakerSavingsPlans>
209 void SetSageMakerSavingsPlans(SageMakerSavingsPlansT&& value) { m_sageMakerSavingsPlansHasBeenSet = true; m_sageMakerSavingsPlans = std::forward<SageMakerSavingsPlansT>(value); }
210 template<typename SageMakerSavingsPlansT = SageMakerSavingsPlans>
211 ResourceDetails& WithSageMakerSavingsPlans(SageMakerSavingsPlansT&& value) { SetSageMakerSavingsPlans(std::forward<SageMakerSavingsPlansT>(value)); return *this;}
213
215
218 inline const RdsDbInstance& GetRdsDbInstance() const { return m_rdsDbInstance; }
219 inline bool RdsDbInstanceHasBeenSet() const { return m_rdsDbInstanceHasBeenSet; }
220 template<typename RdsDbInstanceT = RdsDbInstance>
221 void SetRdsDbInstance(RdsDbInstanceT&& value) { m_rdsDbInstanceHasBeenSet = true; m_rdsDbInstance = std::forward<RdsDbInstanceT>(value); }
222 template<typename RdsDbInstanceT = RdsDbInstance>
223 ResourceDetails& WithRdsDbInstance(RdsDbInstanceT&& value) { SetRdsDbInstance(std::forward<RdsDbInstanceT>(value)); return *this;}
225
227
230 inline const RdsDbInstanceStorage& GetRdsDbInstanceStorage() const { return m_rdsDbInstanceStorage; }
231 inline bool RdsDbInstanceStorageHasBeenSet() const { return m_rdsDbInstanceStorageHasBeenSet; }
232 template<typename RdsDbInstanceStorageT = RdsDbInstanceStorage>
233 void SetRdsDbInstanceStorage(RdsDbInstanceStorageT&& value) { m_rdsDbInstanceStorageHasBeenSet = true; m_rdsDbInstanceStorage = std::forward<RdsDbInstanceStorageT>(value); }
234 template<typename RdsDbInstanceStorageT = RdsDbInstanceStorage>
235 ResourceDetails& WithRdsDbInstanceStorage(RdsDbInstanceStorageT&& value) { SetRdsDbInstanceStorage(std::forward<RdsDbInstanceStorageT>(value)); return *this;}
237
239
242 inline const AuroraDbClusterStorage& GetAuroraDbClusterStorage() const { return m_auroraDbClusterStorage; }
243 inline bool AuroraDbClusterStorageHasBeenSet() const { return m_auroraDbClusterStorageHasBeenSet; }
244 template<typename AuroraDbClusterStorageT = AuroraDbClusterStorage>
245 void SetAuroraDbClusterStorage(AuroraDbClusterStorageT&& value) { m_auroraDbClusterStorageHasBeenSet = true; m_auroraDbClusterStorage = std::forward<AuroraDbClusterStorageT>(value); }
246 template<typename AuroraDbClusterStorageT = AuroraDbClusterStorage>
247 ResourceDetails& WithAuroraDbClusterStorage(AuroraDbClusterStorageT&& value) { SetAuroraDbClusterStorage(std::forward<AuroraDbClusterStorageT>(value)); return *this;}
249
251
254 inline const DynamoDbReservedCapacity& GetDynamoDbReservedCapacity() const { return m_dynamoDbReservedCapacity; }
255 inline bool DynamoDbReservedCapacityHasBeenSet() const { return m_dynamoDbReservedCapacityHasBeenSet; }
256 template<typename DynamoDbReservedCapacityT = DynamoDbReservedCapacity>
257 void SetDynamoDbReservedCapacity(DynamoDbReservedCapacityT&& value) { m_dynamoDbReservedCapacityHasBeenSet = true; m_dynamoDbReservedCapacity = std::forward<DynamoDbReservedCapacityT>(value); }
258 template<typename DynamoDbReservedCapacityT = DynamoDbReservedCapacity>
259 ResourceDetails& WithDynamoDbReservedCapacity(DynamoDbReservedCapacityT&& value) { SetDynamoDbReservedCapacity(std::forward<DynamoDbReservedCapacityT>(value)); return *this;}
261
263
266 inline const MemoryDbReservedInstances& GetMemoryDbReservedInstances() const { return m_memoryDbReservedInstances; }
267 inline bool MemoryDbReservedInstancesHasBeenSet() const { return m_memoryDbReservedInstancesHasBeenSet; }
268 template<typename MemoryDbReservedInstancesT = MemoryDbReservedInstances>
269 void SetMemoryDbReservedInstances(MemoryDbReservedInstancesT&& value) { m_memoryDbReservedInstancesHasBeenSet = true; m_memoryDbReservedInstances = std::forward<MemoryDbReservedInstancesT>(value); }
270 template<typename MemoryDbReservedInstancesT = MemoryDbReservedInstances>
271 ResourceDetails& WithMemoryDbReservedInstances(MemoryDbReservedInstancesT&& value) { SetMemoryDbReservedInstances(std::forward<MemoryDbReservedInstancesT>(value)); return *this;}
273 private:
274
275 LambdaFunction m_lambdaFunction;
276 bool m_lambdaFunctionHasBeenSet = false;
277
278 EcsService m_ecsService;
279 bool m_ecsServiceHasBeenSet = false;
280
281 Ec2Instance m_ec2Instance;
282 bool m_ec2InstanceHasBeenSet = false;
283
284 EbsVolume m_ebsVolume;
285 bool m_ebsVolumeHasBeenSet = false;
286
287 Ec2AutoScalingGroup m_ec2AutoScalingGroup;
288 bool m_ec2AutoScalingGroupHasBeenSet = false;
289
290 Ec2ReservedInstances m_ec2ReservedInstances;
291 bool m_ec2ReservedInstancesHasBeenSet = false;
292
293 RdsReservedInstances m_rdsReservedInstances;
294 bool m_rdsReservedInstancesHasBeenSet = false;
295
296 ElastiCacheReservedInstances m_elastiCacheReservedInstances;
297 bool m_elastiCacheReservedInstancesHasBeenSet = false;
298
299 OpenSearchReservedInstances m_openSearchReservedInstances;
300 bool m_openSearchReservedInstancesHasBeenSet = false;
301
302 RedshiftReservedInstances m_redshiftReservedInstances;
303 bool m_redshiftReservedInstancesHasBeenSet = false;
304
305 Ec2InstanceSavingsPlans m_ec2InstanceSavingsPlans;
306 bool m_ec2InstanceSavingsPlansHasBeenSet = false;
307
308 ComputeSavingsPlans m_computeSavingsPlans;
309 bool m_computeSavingsPlansHasBeenSet = false;
310
311 SageMakerSavingsPlans m_sageMakerSavingsPlans;
312 bool m_sageMakerSavingsPlansHasBeenSet = false;
313
314 RdsDbInstance m_rdsDbInstance;
315 bool m_rdsDbInstanceHasBeenSet = false;
316
317 RdsDbInstanceStorage m_rdsDbInstanceStorage;
318 bool m_rdsDbInstanceStorageHasBeenSet = false;
319
320 AuroraDbClusterStorage m_auroraDbClusterStorage;
321 bool m_auroraDbClusterStorageHasBeenSet = false;
322
323 DynamoDbReservedCapacity m_dynamoDbReservedCapacity;
324 bool m_dynamoDbReservedCapacityHasBeenSet = false;
325
326 MemoryDbReservedInstances m_memoryDbReservedInstances;
327 bool m_memoryDbReservedInstancesHasBeenSet = false;
328 };
329
330} // namespace Model
331} // namespace CostOptimizationHub
332} // namespace Aws
void SetEc2ReservedInstances(Ec2ReservedInstancesT &&value)
const Ec2AutoScalingGroup & GetEc2AutoScalingGroup() const
ResourceDetails & WithMemoryDbReservedInstances(MemoryDbReservedInstancesT &&value)
ResourceDetails & WithEc2InstanceSavingsPlans(Ec2InstanceSavingsPlansT &&value)
AWS_COSTOPTIMIZATIONHUB_API ResourceDetails & operator=(Aws::Utils::Json::JsonView jsonValue)
const AuroraDbClusterStorage & GetAuroraDbClusterStorage() const
const RedshiftReservedInstances & GetRedshiftReservedInstances() const
ResourceDetails & WithRdsDbInstanceStorage(RdsDbInstanceStorageT &&value)
ResourceDetails & WithOpenSearchReservedInstances(OpenSearchReservedInstancesT &&value)
ResourceDetails & WithEbsVolume(EbsVolumeT &&value)
ResourceDetails & WithEc2AutoScalingGroup(Ec2AutoScalingGroupT &&value)
void SetRdsDbInstanceStorage(RdsDbInstanceStorageT &&value)
const Ec2InstanceSavingsPlans & GetEc2InstanceSavingsPlans() const
ResourceDetails & WithRdsReservedInstances(RdsReservedInstancesT &&value)
void SetEc2InstanceSavingsPlans(Ec2InstanceSavingsPlansT &&value)
ResourceDetails & WithComputeSavingsPlans(ComputeSavingsPlansT &&value)
ResourceDetails & WithDynamoDbReservedCapacity(DynamoDbReservedCapacityT &&value)
void SetLambdaFunction(LambdaFunctionT &&value)
const MemoryDbReservedInstances & GetMemoryDbReservedInstances() const
const RdsReservedInstances & GetRdsReservedInstances() const
ResourceDetails & WithEc2Instance(Ec2InstanceT &&value)
ResourceDetails & WithRdsDbInstance(RdsDbInstanceT &&value)
const DynamoDbReservedCapacity & GetDynamoDbReservedCapacity() const
void SetRdsReservedInstances(RdsReservedInstancesT &&value)
void SetComputeSavingsPlans(ComputeSavingsPlansT &&value)
AWS_COSTOPTIMIZATIONHUB_API Aws::Utils::Json::JsonValue Jsonize() const
ResourceDetails & WithElastiCacheReservedInstances(ElastiCacheReservedInstancesT &&value)
void SetAuroraDbClusterStorage(AuroraDbClusterStorageT &&value)
void SetSageMakerSavingsPlans(SageMakerSavingsPlansT &&value)
void SetEc2AutoScalingGroup(Ec2AutoScalingGroupT &&value)
void SetOpenSearchReservedInstances(OpenSearchReservedInstancesT &&value)
void SetElastiCacheReservedInstances(ElastiCacheReservedInstancesT &&value)
ResourceDetails & WithSageMakerSavingsPlans(SageMakerSavingsPlansT &&value)
const OpenSearchReservedInstances & GetOpenSearchReservedInstances() const
void SetMemoryDbReservedInstances(MemoryDbReservedInstancesT &&value)
ResourceDetails & WithAuroraDbClusterStorage(AuroraDbClusterStorageT &&value)
ResourceDetails & WithRedshiftReservedInstances(RedshiftReservedInstancesT &&value)
ResourceDetails & WithEc2ReservedInstances(Ec2ReservedInstancesT &&value)
const LambdaFunction & GetLambdaFunction() const
ResourceDetails & WithEcsService(EcsServiceT &&value)
void SetDynamoDbReservedCapacity(DynamoDbReservedCapacityT &&value)
const ElastiCacheReservedInstances & GetElastiCacheReservedInstances() const
const Ec2ReservedInstances & GetEc2ReservedInstances() const
const SageMakerSavingsPlans & GetSageMakerSavingsPlans() const
AWS_COSTOPTIMIZATIONHUB_API ResourceDetails(Aws::Utils::Json::JsonView jsonValue)
const RdsDbInstanceStorage & GetRdsDbInstanceStorage() const
AWS_COSTOPTIMIZATIONHUB_API ResourceDetails()=default
const ComputeSavingsPlans & GetComputeSavingsPlans() const
void SetRedshiftReservedInstances(RedshiftReservedInstancesT &&value)
ResourceDetails & WithLambdaFunction(LambdaFunctionT &&value)
Aws::Utils::Json::JsonValue JsonValue