AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
InstanceDetails.h
1
6#pragma once
7#include <aws/ce/CostExplorer_EXPORTS.h>
8#include <aws/ce/model/EC2InstanceDetails.h>
9#include <aws/ce/model/ESInstanceDetails.h>
10#include <aws/ce/model/ElastiCacheInstanceDetails.h>
11#include <aws/ce/model/MemoryDBInstanceDetails.h>
12#include <aws/ce/model/RDSInstanceDetails.h>
13#include <aws/ce/model/RedshiftInstanceDetails.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace CostExplorer {
25namespace Model {
26
34 public:
35 AWS_COSTEXPLORER_API InstanceDetails() = default;
36 AWS_COSTEXPLORER_API InstanceDetails(Aws::Utils::Json::JsonView jsonValue);
37 AWS_COSTEXPLORER_API InstanceDetails& operator=(Aws::Utils::Json::JsonView jsonValue);
38 AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const;
39
41
45 inline const EC2InstanceDetails& GetEC2InstanceDetails() const { return m_eC2InstanceDetails; }
46 inline bool EC2InstanceDetailsHasBeenSet() const { return m_eC2InstanceDetailsHasBeenSet; }
47 template <typename EC2InstanceDetailsT = EC2InstanceDetails>
48 void SetEC2InstanceDetails(EC2InstanceDetailsT&& value) {
49 m_eC2InstanceDetailsHasBeenSet = true;
50 m_eC2InstanceDetails = std::forward<EC2InstanceDetailsT>(value);
51 }
52 template <typename EC2InstanceDetailsT = EC2InstanceDetails>
53 InstanceDetails& WithEC2InstanceDetails(EC2InstanceDetailsT&& value) {
54 SetEC2InstanceDetails(std::forward<EC2InstanceDetailsT>(value));
55 return *this;
56 }
58
60
64 inline const RDSInstanceDetails& GetRDSInstanceDetails() const { return m_rDSInstanceDetails; }
65 inline bool RDSInstanceDetailsHasBeenSet() const { return m_rDSInstanceDetailsHasBeenSet; }
66 template <typename RDSInstanceDetailsT = RDSInstanceDetails>
67 void SetRDSInstanceDetails(RDSInstanceDetailsT&& value) {
68 m_rDSInstanceDetailsHasBeenSet = true;
69 m_rDSInstanceDetails = std::forward<RDSInstanceDetailsT>(value);
70 }
71 template <typename RDSInstanceDetailsT = RDSInstanceDetails>
72 InstanceDetails& WithRDSInstanceDetails(RDSInstanceDetailsT&& value) {
73 SetRDSInstanceDetails(std::forward<RDSInstanceDetailsT>(value));
74 return *this;
75 }
77
79
83 inline const RedshiftInstanceDetails& GetRedshiftInstanceDetails() const { return m_redshiftInstanceDetails; }
84 inline bool RedshiftInstanceDetailsHasBeenSet() const { return m_redshiftInstanceDetailsHasBeenSet; }
85 template <typename RedshiftInstanceDetailsT = RedshiftInstanceDetails>
86 void SetRedshiftInstanceDetails(RedshiftInstanceDetailsT&& value) {
87 m_redshiftInstanceDetailsHasBeenSet = true;
88 m_redshiftInstanceDetails = std::forward<RedshiftInstanceDetailsT>(value);
89 }
90 template <typename RedshiftInstanceDetailsT = RedshiftInstanceDetails>
91 InstanceDetails& WithRedshiftInstanceDetails(RedshiftInstanceDetailsT&& value) {
92 SetRedshiftInstanceDetails(std::forward<RedshiftInstanceDetailsT>(value));
93 return *this;
94 }
96
98
102 inline const ElastiCacheInstanceDetails& GetElastiCacheInstanceDetails() const { return m_elastiCacheInstanceDetails; }
103 inline bool ElastiCacheInstanceDetailsHasBeenSet() const { return m_elastiCacheInstanceDetailsHasBeenSet; }
104 template <typename ElastiCacheInstanceDetailsT = ElastiCacheInstanceDetails>
105 void SetElastiCacheInstanceDetails(ElastiCacheInstanceDetailsT&& value) {
106 m_elastiCacheInstanceDetailsHasBeenSet = true;
107 m_elastiCacheInstanceDetails = std::forward<ElastiCacheInstanceDetailsT>(value);
108 }
109 template <typename ElastiCacheInstanceDetailsT = ElastiCacheInstanceDetails>
110 InstanceDetails& WithElastiCacheInstanceDetails(ElastiCacheInstanceDetailsT&& value) {
111 SetElastiCacheInstanceDetails(std::forward<ElastiCacheInstanceDetailsT>(value));
112 return *this;
113 }
115
117
121 inline const ESInstanceDetails& GetESInstanceDetails() const { return m_eSInstanceDetails; }
122 inline bool ESInstanceDetailsHasBeenSet() const { return m_eSInstanceDetailsHasBeenSet; }
123 template <typename ESInstanceDetailsT = ESInstanceDetails>
124 void SetESInstanceDetails(ESInstanceDetailsT&& value) {
125 m_eSInstanceDetailsHasBeenSet = true;
126 m_eSInstanceDetails = std::forward<ESInstanceDetailsT>(value);
127 }
128 template <typename ESInstanceDetailsT = ESInstanceDetails>
129 InstanceDetails& WithESInstanceDetails(ESInstanceDetailsT&& value) {
130 SetESInstanceDetails(std::forward<ESInstanceDetailsT>(value));
131 return *this;
132 }
134
136
140 inline const MemoryDBInstanceDetails& GetMemoryDBInstanceDetails() const { return m_memoryDBInstanceDetails; }
141 inline bool MemoryDBInstanceDetailsHasBeenSet() const { return m_memoryDBInstanceDetailsHasBeenSet; }
142 template <typename MemoryDBInstanceDetailsT = MemoryDBInstanceDetails>
143 void SetMemoryDBInstanceDetails(MemoryDBInstanceDetailsT&& value) {
144 m_memoryDBInstanceDetailsHasBeenSet = true;
145 m_memoryDBInstanceDetails = std::forward<MemoryDBInstanceDetailsT>(value);
146 }
147 template <typename MemoryDBInstanceDetailsT = MemoryDBInstanceDetails>
148 InstanceDetails& WithMemoryDBInstanceDetails(MemoryDBInstanceDetailsT&& value) {
149 SetMemoryDBInstanceDetails(std::forward<MemoryDBInstanceDetailsT>(value));
150 return *this;
151 }
153 private:
154 EC2InstanceDetails m_eC2InstanceDetails;
155
156 RDSInstanceDetails m_rDSInstanceDetails;
157
158 RedshiftInstanceDetails m_redshiftInstanceDetails;
159
160 ElastiCacheInstanceDetails m_elastiCacheInstanceDetails;
161
162 ESInstanceDetails m_eSInstanceDetails;
163
164 MemoryDBInstanceDetails m_memoryDBInstanceDetails;
165 bool m_eC2InstanceDetailsHasBeenSet = false;
166 bool m_rDSInstanceDetailsHasBeenSet = false;
167 bool m_redshiftInstanceDetailsHasBeenSet = false;
168 bool m_elastiCacheInstanceDetailsHasBeenSet = false;
169 bool m_eSInstanceDetailsHasBeenSet = false;
170 bool m_memoryDBInstanceDetailsHasBeenSet = false;
171};
172
173} // namespace Model
174} // namespace CostExplorer
175} // namespace Aws
void SetESInstanceDetails(ESInstanceDetailsT &&value)
const MemoryDBInstanceDetails & GetMemoryDBInstanceDetails() const
InstanceDetails & WithRDSInstanceDetails(RDSInstanceDetailsT &&value)
const RDSInstanceDetails & GetRDSInstanceDetails() const
InstanceDetails & WithRedshiftInstanceDetails(RedshiftInstanceDetailsT &&value)
InstanceDetails & WithMemoryDBInstanceDetails(MemoryDBInstanceDetailsT &&value)
void SetEC2InstanceDetails(EC2InstanceDetailsT &&value)
InstanceDetails & WithElastiCacheInstanceDetails(ElastiCacheInstanceDetailsT &&value)
const ElastiCacheInstanceDetails & GetElastiCacheInstanceDetails() const
InstanceDetails & WithEC2InstanceDetails(EC2InstanceDetailsT &&value)
void SetMemoryDBInstanceDetails(MemoryDBInstanceDetailsT &&value)
AWS_COSTEXPLORER_API InstanceDetails()=default
AWS_COSTEXPLORER_API InstanceDetails & operator=(Aws::Utils::Json::JsonView jsonValue)
const EC2InstanceDetails & GetEC2InstanceDetails() const
const RedshiftInstanceDetails & GetRedshiftInstanceDetails() const
void SetRedshiftInstanceDetails(RedshiftInstanceDetailsT &&value)
AWS_COSTEXPLORER_API InstanceDetails(Aws::Utils::Json::JsonView jsonValue)
InstanceDetails & WithESInstanceDetails(ESInstanceDetailsT &&value)
AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const
void SetElastiCacheInstanceDetails(ElastiCacheInstanceDetailsT &&value)
const ESInstanceDetails & GetESInstanceDetails() const
void SetRDSInstanceDetails(RDSInstanceDetailsT &&value)
Aws::Utils::Json::JsonValue JsonValue