AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
EC2InstanceDetails.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
29 public:
30 AWS_COSTEXPLORER_API EC2InstanceDetails() = default;
31 AWS_COSTEXPLORER_API EC2InstanceDetails(Aws::Utils::Json::JsonView jsonValue);
33 AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const;
34
36
39 inline const Aws::String& GetFamily() const { return m_family; }
40 inline bool FamilyHasBeenSet() const { return m_familyHasBeenSet; }
41 template <typename FamilyT = Aws::String>
42 void SetFamily(FamilyT&& value) {
43 m_familyHasBeenSet = true;
44 m_family = std::forward<FamilyT>(value);
45 }
46 template <typename FamilyT = Aws::String>
47 EC2InstanceDetails& WithFamily(FamilyT&& value) {
48 SetFamily(std::forward<FamilyT>(value));
49 return *this;
50 }
52
54
57 inline const Aws::String& GetInstanceType() const { return m_instanceType; }
58 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
59 template <typename InstanceTypeT = Aws::String>
60 void SetInstanceType(InstanceTypeT&& value) {
61 m_instanceTypeHasBeenSet = true;
62 m_instanceType = std::forward<InstanceTypeT>(value);
63 }
64 template <typename InstanceTypeT = Aws::String>
65 EC2InstanceDetails& WithInstanceType(InstanceTypeT&& value) {
66 SetInstanceType(std::forward<InstanceTypeT>(value));
67 return *this;
68 }
70
72
75 inline const Aws::String& GetRegion() const { return m_region; }
76 inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; }
77 template <typename RegionT = Aws::String>
78 void SetRegion(RegionT&& value) {
79 m_regionHasBeenSet = true;
80 m_region = std::forward<RegionT>(value);
81 }
82 template <typename RegionT = Aws::String>
83 EC2InstanceDetails& WithRegion(RegionT&& value) {
84 SetRegion(std::forward<RegionT>(value));
85 return *this;
86 }
88
90
93 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
94 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
95 template <typename AvailabilityZoneT = Aws::String>
96 void SetAvailabilityZone(AvailabilityZoneT&& value) {
97 m_availabilityZoneHasBeenSet = true;
98 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
99 }
100 template <typename AvailabilityZoneT = Aws::String>
101 EC2InstanceDetails& WithAvailabilityZone(AvailabilityZoneT&& value) {
102 SetAvailabilityZone(std::forward<AvailabilityZoneT>(value));
103 return *this;
104 }
106
108
112 inline const Aws::String& GetPlatform() const { return m_platform; }
113 inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; }
114 template <typename PlatformT = Aws::String>
115 void SetPlatform(PlatformT&& value) {
116 m_platformHasBeenSet = true;
117 m_platform = std::forward<PlatformT>(value);
118 }
119 template <typename PlatformT = Aws::String>
120 EC2InstanceDetails& WithPlatform(PlatformT&& value) {
121 SetPlatform(std::forward<PlatformT>(value));
122 return *this;
123 }
125
127
130 inline const Aws::String& GetTenancy() const { return m_tenancy; }
131 inline bool TenancyHasBeenSet() const { return m_tenancyHasBeenSet; }
132 template <typename TenancyT = Aws::String>
133 void SetTenancy(TenancyT&& value) {
134 m_tenancyHasBeenSet = true;
135 m_tenancy = std::forward<TenancyT>(value);
136 }
137 template <typename TenancyT = Aws::String>
138 EC2InstanceDetails& WithTenancy(TenancyT&& value) {
139 SetTenancy(std::forward<TenancyT>(value));
140 return *this;
141 }
143
145
149 inline bool GetCurrentGeneration() const { return m_currentGeneration; }
150 inline bool CurrentGenerationHasBeenSet() const { return m_currentGenerationHasBeenSet; }
151 inline void SetCurrentGeneration(bool value) {
152 m_currentGenerationHasBeenSet = true;
153 m_currentGeneration = value;
154 }
157 return *this;
158 }
160
162
165 inline bool GetSizeFlexEligible() const { return m_sizeFlexEligible; }
166 inline bool SizeFlexEligibleHasBeenSet() const { return m_sizeFlexEligibleHasBeenSet; }
167 inline void SetSizeFlexEligible(bool value) {
168 m_sizeFlexEligibleHasBeenSet = true;
169 m_sizeFlexEligible = value;
170 }
172 SetSizeFlexEligible(value);
173 return *this;
174 }
176 private:
177 Aws::String m_family;
178
179 Aws::String m_instanceType;
180
181 Aws::String m_region;
182
183 Aws::String m_availabilityZone;
184
185 Aws::String m_platform;
186
187 Aws::String m_tenancy;
188
189 bool m_currentGeneration{false};
190
191 bool m_sizeFlexEligible{false};
192 bool m_familyHasBeenSet = false;
193 bool m_instanceTypeHasBeenSet = false;
194 bool m_regionHasBeenSet = false;
195 bool m_availabilityZoneHasBeenSet = false;
196 bool m_platformHasBeenSet = false;
197 bool m_tenancyHasBeenSet = false;
198 bool m_currentGenerationHasBeenSet = false;
199 bool m_sizeFlexEligibleHasBeenSet = false;
200};
201
202} // namespace Model
203} // namespace CostExplorer
204} // namespace Aws
EC2InstanceDetails & WithTenancy(TenancyT &&value)
EC2InstanceDetails & WithRegion(RegionT &&value)
EC2InstanceDetails & WithFamily(FamilyT &&value)
AWS_COSTEXPLORER_API EC2InstanceDetails & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetAvailabilityZone(AvailabilityZoneT &&value)
EC2InstanceDetails & WithAvailabilityZone(AvailabilityZoneT &&value)
EC2InstanceDetails & WithCurrentGeneration(bool value)
AWS_COSTEXPLORER_API EC2InstanceDetails(Aws::Utils::Json::JsonView jsonValue)
EC2InstanceDetails & WithSizeFlexEligible(bool value)
EC2InstanceDetails & WithInstanceType(InstanceTypeT &&value)
AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_COSTEXPLORER_API EC2InstanceDetails()=default
EC2InstanceDetails & WithPlatform(PlatformT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue