AWS SDK for C++

AWS SDK for C++ Version 1.11.746

Loading...
Searching...
No Matches
InstanceDetails.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/guardduty/GuardDuty_EXPORTS.h>
10#include <aws/guardduty/model/IamInstanceProfile.h>
11#include <aws/guardduty/model/NetworkInterface.h>
12#include <aws/guardduty/model/ProductCode.h>
13#include <aws/guardduty/model/Tag.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace GuardDuty {
25namespace Model {
26
34 public:
35 AWS_GUARDDUTY_API InstanceDetails() = default;
36 AWS_GUARDDUTY_API InstanceDetails(Aws::Utils::Json::JsonView jsonValue);
38 AWS_GUARDDUTY_API Aws::Utils::Json::JsonValue Jsonize() const;
39
41
44 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
45 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
46 template <typename AvailabilityZoneT = Aws::String>
47 void SetAvailabilityZone(AvailabilityZoneT&& value) {
48 m_availabilityZoneHasBeenSet = true;
49 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
50 }
51 template <typename AvailabilityZoneT = Aws::String>
52 InstanceDetails& WithAvailabilityZone(AvailabilityZoneT&& value) {
53 SetAvailabilityZone(std::forward<AvailabilityZoneT>(value));
54 return *this;
55 }
57
59
62 inline const IamInstanceProfile& GetIamInstanceProfile() const { return m_iamInstanceProfile; }
63 inline bool IamInstanceProfileHasBeenSet() const { return m_iamInstanceProfileHasBeenSet; }
64 template <typename IamInstanceProfileT = IamInstanceProfile>
65 void SetIamInstanceProfile(IamInstanceProfileT&& value) {
66 m_iamInstanceProfileHasBeenSet = true;
67 m_iamInstanceProfile = std::forward<IamInstanceProfileT>(value);
68 }
69 template <typename IamInstanceProfileT = IamInstanceProfile>
70 InstanceDetails& WithIamInstanceProfile(IamInstanceProfileT&& value) {
71 SetIamInstanceProfile(std::forward<IamInstanceProfileT>(value));
72 return *this;
73 }
75
77
80 inline const Aws::String& GetImageDescription() const { return m_imageDescription; }
81 inline bool ImageDescriptionHasBeenSet() const { return m_imageDescriptionHasBeenSet; }
82 template <typename ImageDescriptionT = Aws::String>
83 void SetImageDescription(ImageDescriptionT&& value) {
84 m_imageDescriptionHasBeenSet = true;
85 m_imageDescription = std::forward<ImageDescriptionT>(value);
86 }
87 template <typename ImageDescriptionT = Aws::String>
88 InstanceDetails& WithImageDescription(ImageDescriptionT&& value) {
89 SetImageDescription(std::forward<ImageDescriptionT>(value));
90 return *this;
91 }
93
95
98 inline const Aws::String& GetImageId() const { return m_imageId; }
99 inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; }
100 template <typename ImageIdT = Aws::String>
101 void SetImageId(ImageIdT&& value) {
102 m_imageIdHasBeenSet = true;
103 m_imageId = std::forward<ImageIdT>(value);
104 }
105 template <typename ImageIdT = Aws::String>
106 InstanceDetails& WithImageId(ImageIdT&& value) {
107 SetImageId(std::forward<ImageIdT>(value));
108 return *this;
109 }
111
113
116 inline const Aws::String& GetInstanceId() const { return m_instanceId; }
117 inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; }
118 template <typename InstanceIdT = Aws::String>
119 void SetInstanceId(InstanceIdT&& value) {
120 m_instanceIdHasBeenSet = true;
121 m_instanceId = std::forward<InstanceIdT>(value);
122 }
123 template <typename InstanceIdT = Aws::String>
124 InstanceDetails& WithInstanceId(InstanceIdT&& value) {
125 SetInstanceId(std::forward<InstanceIdT>(value));
126 return *this;
127 }
129
131
134 inline const Aws::String& GetInstanceState() const { return m_instanceState; }
135 inline bool InstanceStateHasBeenSet() const { return m_instanceStateHasBeenSet; }
136 template <typename InstanceStateT = Aws::String>
137 void SetInstanceState(InstanceStateT&& value) {
138 m_instanceStateHasBeenSet = true;
139 m_instanceState = std::forward<InstanceStateT>(value);
140 }
141 template <typename InstanceStateT = Aws::String>
142 InstanceDetails& WithInstanceState(InstanceStateT&& value) {
143 SetInstanceState(std::forward<InstanceStateT>(value));
144 return *this;
145 }
147
149
152 inline const Aws::String& GetInstanceType() const { return m_instanceType; }
153 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
154 template <typename InstanceTypeT = Aws::String>
155 void SetInstanceType(InstanceTypeT&& value) {
156 m_instanceTypeHasBeenSet = true;
157 m_instanceType = std::forward<InstanceTypeT>(value);
158 }
159 template <typename InstanceTypeT = Aws::String>
160 InstanceDetails& WithInstanceType(InstanceTypeT&& value) {
161 SetInstanceType(std::forward<InstanceTypeT>(value));
162 return *this;
163 }
165
167
171 inline const Aws::String& GetOutpostArn() const { return m_outpostArn; }
172 inline bool OutpostArnHasBeenSet() const { return m_outpostArnHasBeenSet; }
173 template <typename OutpostArnT = Aws::String>
174 void SetOutpostArn(OutpostArnT&& value) {
175 m_outpostArnHasBeenSet = true;
176 m_outpostArn = std::forward<OutpostArnT>(value);
177 }
178 template <typename OutpostArnT = Aws::String>
179 InstanceDetails& WithOutpostArn(OutpostArnT&& value) {
180 SetOutpostArn(std::forward<OutpostArnT>(value));
181 return *this;
182 }
184
186
189 inline const Aws::String& GetLaunchTime() const { return m_launchTime; }
190 inline bool LaunchTimeHasBeenSet() const { return m_launchTimeHasBeenSet; }
191 template <typename LaunchTimeT = Aws::String>
192 void SetLaunchTime(LaunchTimeT&& value) {
193 m_launchTimeHasBeenSet = true;
194 m_launchTime = std::forward<LaunchTimeT>(value);
195 }
196 template <typename LaunchTimeT = Aws::String>
197 InstanceDetails& WithLaunchTime(LaunchTimeT&& value) {
198 SetLaunchTime(std::forward<LaunchTimeT>(value));
199 return *this;
200 }
202
204
207 inline const Aws::Vector<NetworkInterface>& GetNetworkInterfaces() const { return m_networkInterfaces; }
208 inline bool NetworkInterfacesHasBeenSet() const { return m_networkInterfacesHasBeenSet; }
209 template <typename NetworkInterfacesT = Aws::Vector<NetworkInterface>>
210 void SetNetworkInterfaces(NetworkInterfacesT&& value) {
211 m_networkInterfacesHasBeenSet = true;
212 m_networkInterfaces = std::forward<NetworkInterfacesT>(value);
213 }
214 template <typename NetworkInterfacesT = Aws::Vector<NetworkInterface>>
215 InstanceDetails& WithNetworkInterfaces(NetworkInterfacesT&& value) {
216 SetNetworkInterfaces(std::forward<NetworkInterfacesT>(value));
217 return *this;
218 }
219 template <typename NetworkInterfacesT = NetworkInterface>
220 InstanceDetails& AddNetworkInterfaces(NetworkInterfacesT&& value) {
221 m_networkInterfacesHasBeenSet = true;
222 m_networkInterfaces.emplace_back(std::forward<NetworkInterfacesT>(value));
223 return *this;
224 }
226
228
231 inline const Aws::String& GetPlatform() const { return m_platform; }
232 inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; }
233 template <typename PlatformT = Aws::String>
234 void SetPlatform(PlatformT&& value) {
235 m_platformHasBeenSet = true;
236 m_platform = std::forward<PlatformT>(value);
237 }
238 template <typename PlatformT = Aws::String>
239 InstanceDetails& WithPlatform(PlatformT&& value) {
240 SetPlatform(std::forward<PlatformT>(value));
241 return *this;
242 }
244
246
249 inline const Aws::Vector<ProductCode>& GetProductCodes() const { return m_productCodes; }
250 inline bool ProductCodesHasBeenSet() const { return m_productCodesHasBeenSet; }
251 template <typename ProductCodesT = Aws::Vector<ProductCode>>
252 void SetProductCodes(ProductCodesT&& value) {
253 m_productCodesHasBeenSet = true;
254 m_productCodes = std::forward<ProductCodesT>(value);
255 }
256 template <typename ProductCodesT = Aws::Vector<ProductCode>>
257 InstanceDetails& WithProductCodes(ProductCodesT&& value) {
258 SetProductCodes(std::forward<ProductCodesT>(value));
259 return *this;
260 }
261 template <typename ProductCodesT = ProductCode>
262 InstanceDetails& AddProductCodes(ProductCodesT&& value) {
263 m_productCodesHasBeenSet = true;
264 m_productCodes.emplace_back(std::forward<ProductCodesT>(value));
265 return *this;
266 }
268
270
273 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
274 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
275 template <typename TagsT = Aws::Vector<Tag>>
276 void SetTags(TagsT&& value) {
277 m_tagsHasBeenSet = true;
278 m_tags = std::forward<TagsT>(value);
279 }
280 template <typename TagsT = Aws::Vector<Tag>>
281 InstanceDetails& WithTags(TagsT&& value) {
282 SetTags(std::forward<TagsT>(value));
283 return *this;
284 }
285 template <typename TagsT = Tag>
286 InstanceDetails& AddTags(TagsT&& value) {
287 m_tagsHasBeenSet = true;
288 m_tags.emplace_back(std::forward<TagsT>(value));
289 return *this;
290 }
292 private:
293 Aws::String m_availabilityZone;
294
295 IamInstanceProfile m_iamInstanceProfile;
296
297 Aws::String m_imageDescription;
298
299 Aws::String m_imageId;
300
301 Aws::String m_instanceId;
302
303 Aws::String m_instanceState;
304
305 Aws::String m_instanceType;
306
307 Aws::String m_outpostArn;
308
309 Aws::String m_launchTime;
310
311 Aws::Vector<NetworkInterface> m_networkInterfaces;
312
313 Aws::String m_platform;
314
315 Aws::Vector<ProductCode> m_productCodes;
316
317 Aws::Vector<Tag> m_tags;
318 bool m_availabilityZoneHasBeenSet = false;
319 bool m_iamInstanceProfileHasBeenSet = false;
320 bool m_imageDescriptionHasBeenSet = false;
321 bool m_imageIdHasBeenSet = false;
322 bool m_instanceIdHasBeenSet = false;
323 bool m_instanceStateHasBeenSet = false;
324 bool m_instanceTypeHasBeenSet = false;
325 bool m_outpostArnHasBeenSet = false;
326 bool m_launchTimeHasBeenSet = false;
327 bool m_networkInterfacesHasBeenSet = false;
328 bool m_platformHasBeenSet = false;
329 bool m_productCodesHasBeenSet = false;
330 bool m_tagsHasBeenSet = false;
331};
332
333} // namespace Model
334} // namespace GuardDuty
335} // namespace Aws
InstanceDetails & WithOutpostArn(OutpostArnT &&value)
InstanceDetails & AddProductCodes(ProductCodesT &&value)
AWS_GUARDDUTY_API InstanceDetails(Aws::Utils::Json::JsonView jsonValue)
InstanceDetails & WithPlatform(PlatformT &&value)
AWS_GUARDDUTY_API Aws::Utils::Json::JsonValue Jsonize() const
void SetIamInstanceProfile(IamInstanceProfileT &&value)
InstanceDetails & WithInstanceType(InstanceTypeT &&value)
const Aws::String & GetInstanceType() const
InstanceDetails & AddNetworkInterfaces(NetworkInterfacesT &&value)
InstanceDetails & WithIamInstanceProfile(IamInstanceProfileT &&value)
InstanceDetails & WithNetworkInterfaces(NetworkInterfacesT &&value)
const Aws::Vector< NetworkInterface > & GetNetworkInterfaces() const
const Aws::String & GetOutpostArn() const
InstanceDetails & WithLaunchTime(LaunchTimeT &&value)
const Aws::Vector< Tag > & GetTags() const
InstanceDetails & WithProductCodes(ProductCodesT &&value)
void SetImageDescription(ImageDescriptionT &&value)
InstanceDetails & WithTags(TagsT &&value)
void SetInstanceState(InstanceStateT &&value)
const Aws::String & GetInstanceState() const
void SetInstanceId(InstanceIdT &&value)
AWS_GUARDDUTY_API InstanceDetails & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetOutpostArn(OutpostArnT &&value)
void SetInstanceType(InstanceTypeT &&value)
void SetProductCodes(ProductCodesT &&value)
InstanceDetails & AddTags(TagsT &&value)
AWS_GUARDDUTY_API InstanceDetails()=default
const Aws::String & GetInstanceId() const
const Aws::Vector< ProductCode > & GetProductCodes() const
InstanceDetails & WithInstanceId(InstanceIdT &&value)
InstanceDetails & WithImageId(ImageIdT &&value)
const Aws::String & GetLaunchTime() const
void SetAvailabilityZone(AvailabilityZoneT &&value)
const Aws::String & GetImageDescription() const
InstanceDetails & WithInstanceState(InstanceStateT &&value)
InstanceDetails & WithImageDescription(ImageDescriptionT &&value)
const Aws::String & GetAvailabilityZone() const
const Aws::String & GetPlatform() const
InstanceDetails & WithAvailabilityZone(AvailabilityZoneT &&value)
void SetLaunchTime(LaunchTimeT &&value)
void SetNetworkInterfaces(NetworkInterfacesT &&value)
const IamInstanceProfile & GetIamInstanceProfile() const
const Aws::String & GetImageId() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue