AWS SDK for C++

AWS SDK for C++ Version 1.11.608

Loading...
Searching...
No Matches
InstanceDetails.h
1
6#pragma once
7#include <aws/guardduty/GuardDuty_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/guardduty/model/IamInstanceProfile.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/guardduty/model/NetworkInterface.h>
12#include <aws/guardduty/model/ProductCode.h>
13#include <aws/guardduty/model/Tag.h>
14#include <utility>
15
16namespace Aws
17{
18namespace Utils
19{
20namespace Json
21{
22 class JsonValue;
23 class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace GuardDuty
27{
28namespace Model
29{
30
38 {
39 public:
40 AWS_GUARDDUTY_API InstanceDetails() = default;
41 AWS_GUARDDUTY_API InstanceDetails(Aws::Utils::Json::JsonView jsonValue);
43 AWS_GUARDDUTY_API Aws::Utils::Json::JsonValue Jsonize() const;
44
45
47
50 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
51 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
52 template<typename AvailabilityZoneT = Aws::String>
53 void SetAvailabilityZone(AvailabilityZoneT&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::forward<AvailabilityZoneT>(value); }
54 template<typename AvailabilityZoneT = Aws::String>
55 InstanceDetails& WithAvailabilityZone(AvailabilityZoneT&& value) { SetAvailabilityZone(std::forward<AvailabilityZoneT>(value)); return *this;}
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) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = std::forward<IamInstanceProfileT>(value); }
66 template<typename IamInstanceProfileT = IamInstanceProfile>
67 InstanceDetails& WithIamInstanceProfile(IamInstanceProfileT&& value) { SetIamInstanceProfile(std::forward<IamInstanceProfileT>(value)); return *this;}
69
71
74 inline const Aws::String& GetImageDescription() const { return m_imageDescription; }
75 inline bool ImageDescriptionHasBeenSet() const { return m_imageDescriptionHasBeenSet; }
76 template<typename ImageDescriptionT = Aws::String>
77 void SetImageDescription(ImageDescriptionT&& value) { m_imageDescriptionHasBeenSet = true; m_imageDescription = std::forward<ImageDescriptionT>(value); }
78 template<typename ImageDescriptionT = Aws::String>
79 InstanceDetails& WithImageDescription(ImageDescriptionT&& value) { SetImageDescription(std::forward<ImageDescriptionT>(value)); return *this;}
81
83
86 inline const Aws::String& GetImageId() const { return m_imageId; }
87 inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; }
88 template<typename ImageIdT = Aws::String>
89 void SetImageId(ImageIdT&& value) { m_imageIdHasBeenSet = true; m_imageId = std::forward<ImageIdT>(value); }
90 template<typename ImageIdT = Aws::String>
91 InstanceDetails& WithImageId(ImageIdT&& value) { SetImageId(std::forward<ImageIdT>(value)); return *this;}
93
95
98 inline const Aws::String& GetInstanceId() const { return m_instanceId; }
99 inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; }
100 template<typename InstanceIdT = Aws::String>
101 void SetInstanceId(InstanceIdT&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::forward<InstanceIdT>(value); }
102 template<typename InstanceIdT = Aws::String>
103 InstanceDetails& WithInstanceId(InstanceIdT&& value) { SetInstanceId(std::forward<InstanceIdT>(value)); return *this;}
105
107
110 inline const Aws::String& GetInstanceState() const { return m_instanceState; }
111 inline bool InstanceStateHasBeenSet() const { return m_instanceStateHasBeenSet; }
112 template<typename InstanceStateT = Aws::String>
113 void SetInstanceState(InstanceStateT&& value) { m_instanceStateHasBeenSet = true; m_instanceState = std::forward<InstanceStateT>(value); }
114 template<typename InstanceStateT = Aws::String>
115 InstanceDetails& WithInstanceState(InstanceStateT&& value) { SetInstanceState(std::forward<InstanceStateT>(value)); return *this;}
117
119
122 inline const Aws::String& GetInstanceType() const { return m_instanceType; }
123 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
124 template<typename InstanceTypeT = Aws::String>
125 void SetInstanceType(InstanceTypeT&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::forward<InstanceTypeT>(value); }
126 template<typename InstanceTypeT = Aws::String>
127 InstanceDetails& WithInstanceType(InstanceTypeT&& value) { SetInstanceType(std::forward<InstanceTypeT>(value)); return *this;}
129
131
135 inline const Aws::String& GetOutpostArn() const { return m_outpostArn; }
136 inline bool OutpostArnHasBeenSet() const { return m_outpostArnHasBeenSet; }
137 template<typename OutpostArnT = Aws::String>
138 void SetOutpostArn(OutpostArnT&& value) { m_outpostArnHasBeenSet = true; m_outpostArn = std::forward<OutpostArnT>(value); }
139 template<typename OutpostArnT = Aws::String>
140 InstanceDetails& WithOutpostArn(OutpostArnT&& value) { SetOutpostArn(std::forward<OutpostArnT>(value)); return *this;}
142
144
147 inline const Aws::String& GetLaunchTime() const { return m_launchTime; }
148 inline bool LaunchTimeHasBeenSet() const { return m_launchTimeHasBeenSet; }
149 template<typename LaunchTimeT = Aws::String>
150 void SetLaunchTime(LaunchTimeT&& value) { m_launchTimeHasBeenSet = true; m_launchTime = std::forward<LaunchTimeT>(value); }
151 template<typename LaunchTimeT = Aws::String>
152 InstanceDetails& WithLaunchTime(LaunchTimeT&& value) { SetLaunchTime(std::forward<LaunchTimeT>(value)); return *this;}
154
156
159 inline const Aws::Vector<NetworkInterface>& GetNetworkInterfaces() const { return m_networkInterfaces; }
160 inline bool NetworkInterfacesHasBeenSet() const { return m_networkInterfacesHasBeenSet; }
161 template<typename NetworkInterfacesT = Aws::Vector<NetworkInterface>>
162 void SetNetworkInterfaces(NetworkInterfacesT&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces = std::forward<NetworkInterfacesT>(value); }
163 template<typename NetworkInterfacesT = Aws::Vector<NetworkInterface>>
164 InstanceDetails& WithNetworkInterfaces(NetworkInterfacesT&& value) { SetNetworkInterfaces(std::forward<NetworkInterfacesT>(value)); return *this;}
165 template<typename NetworkInterfacesT = NetworkInterface>
166 InstanceDetails& AddNetworkInterfaces(NetworkInterfacesT&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.emplace_back(std::forward<NetworkInterfacesT>(value)); return *this; }
168
170
173 inline const Aws::String& GetPlatform() const { return m_platform; }
174 inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; }
175 template<typename PlatformT = Aws::String>
176 void SetPlatform(PlatformT&& value) { m_platformHasBeenSet = true; m_platform = std::forward<PlatformT>(value); }
177 template<typename PlatformT = Aws::String>
178 InstanceDetails& WithPlatform(PlatformT&& value) { SetPlatform(std::forward<PlatformT>(value)); return *this;}
180
182
185 inline const Aws::Vector<ProductCode>& GetProductCodes() const { return m_productCodes; }
186 inline bool ProductCodesHasBeenSet() const { return m_productCodesHasBeenSet; }
187 template<typename ProductCodesT = Aws::Vector<ProductCode>>
188 void SetProductCodes(ProductCodesT&& value) { m_productCodesHasBeenSet = true; m_productCodes = std::forward<ProductCodesT>(value); }
189 template<typename ProductCodesT = Aws::Vector<ProductCode>>
190 InstanceDetails& WithProductCodes(ProductCodesT&& value) { SetProductCodes(std::forward<ProductCodesT>(value)); return *this;}
191 template<typename ProductCodesT = ProductCode>
192 InstanceDetails& AddProductCodes(ProductCodesT&& value) { m_productCodesHasBeenSet = true; m_productCodes.emplace_back(std::forward<ProductCodesT>(value)); return *this; }
194
196
199 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
200 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
201 template<typename TagsT = Aws::Vector<Tag>>
202 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
203 template<typename TagsT = Aws::Vector<Tag>>
204 InstanceDetails& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
205 template<typename TagsT = Tag>
206 InstanceDetails& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
208 private:
209
210 Aws::String m_availabilityZone;
211 bool m_availabilityZoneHasBeenSet = false;
212
213 IamInstanceProfile m_iamInstanceProfile;
214 bool m_iamInstanceProfileHasBeenSet = false;
215
216 Aws::String m_imageDescription;
217 bool m_imageDescriptionHasBeenSet = false;
218
219 Aws::String m_imageId;
220 bool m_imageIdHasBeenSet = false;
221
222 Aws::String m_instanceId;
223 bool m_instanceIdHasBeenSet = false;
224
225 Aws::String m_instanceState;
226 bool m_instanceStateHasBeenSet = false;
227
228 Aws::String m_instanceType;
229 bool m_instanceTypeHasBeenSet = false;
230
231 Aws::String m_outpostArn;
232 bool m_outpostArnHasBeenSet = false;
233
234 Aws::String m_launchTime;
235 bool m_launchTimeHasBeenSet = false;
236
237 Aws::Vector<NetworkInterface> m_networkInterfaces;
238 bool m_networkInterfacesHasBeenSet = false;
239
240 Aws::String m_platform;
241 bool m_platformHasBeenSet = false;
242
243 Aws::Vector<ProductCode> m_productCodes;
244 bool m_productCodesHasBeenSet = false;
245
246 Aws::Vector<Tag> m_tags;
247 bool m_tagsHasBeenSet = false;
248 };
249
250} // namespace Model
251} // namespace GuardDuty
252} // 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