AWS SDK for C++

AWS SDK for C++ Version 1.11.744

Loading...
Searching...
No Matches
Ec2Instance.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/ProductCode.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace GuardDuty {
23namespace Model {
24
32 public:
33 AWS_GUARDDUTY_API Ec2Instance() = default;
34 AWS_GUARDDUTY_API Ec2Instance(Aws::Utils::Json::JsonView jsonValue);
35 AWS_GUARDDUTY_API Ec2Instance& operator=(Aws::Utils::Json::JsonView jsonValue);
36 AWS_GUARDDUTY_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
45 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
46 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
47 template <typename AvailabilityZoneT = Aws::String>
48 void SetAvailabilityZone(AvailabilityZoneT&& value) {
49 m_availabilityZoneHasBeenSet = true;
50 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
51 }
52 template <typename AvailabilityZoneT = Aws::String>
53 Ec2Instance& WithAvailabilityZone(AvailabilityZoneT&& value) {
54 SetAvailabilityZone(std::forward<AvailabilityZoneT>(value));
55 return *this;
56 }
58
60
63 inline const Aws::String& GetImageDescription() const { return m_imageDescription; }
64 inline bool ImageDescriptionHasBeenSet() const { return m_imageDescriptionHasBeenSet; }
65 template <typename ImageDescriptionT = Aws::String>
66 void SetImageDescription(ImageDescriptionT&& value) {
67 m_imageDescriptionHasBeenSet = true;
68 m_imageDescription = std::forward<ImageDescriptionT>(value);
69 }
70 template <typename ImageDescriptionT = Aws::String>
71 Ec2Instance& WithImageDescription(ImageDescriptionT&& value) {
72 SetImageDescription(std::forward<ImageDescriptionT>(value));
73 return *this;
74 }
76
78
83 inline const Aws::String& GetInstanceState() const { return m_instanceState; }
84 inline bool InstanceStateHasBeenSet() const { return m_instanceStateHasBeenSet; }
85 template <typename InstanceStateT = Aws::String>
86 void SetInstanceState(InstanceStateT&& value) {
87 m_instanceStateHasBeenSet = true;
88 m_instanceState = std::forward<InstanceStateT>(value);
89 }
90 template <typename InstanceStateT = Aws::String>
91 Ec2Instance& WithInstanceState(InstanceStateT&& value) {
92 SetInstanceState(std::forward<InstanceStateT>(value));
93 return *this;
94 }
96
98
99 inline const IamInstanceProfile& GetIamInstanceProfile() const { return m_iamInstanceProfile; }
100 inline bool IamInstanceProfileHasBeenSet() const { return m_iamInstanceProfileHasBeenSet; }
101 template <typename IamInstanceProfileT = IamInstanceProfile>
102 void SetIamInstanceProfile(IamInstanceProfileT&& value) {
103 m_iamInstanceProfileHasBeenSet = true;
104 m_iamInstanceProfile = std::forward<IamInstanceProfileT>(value);
105 }
106 template <typename IamInstanceProfileT = IamInstanceProfile>
107 Ec2Instance& WithIamInstanceProfile(IamInstanceProfileT&& value) {
108 SetIamInstanceProfile(std::forward<IamInstanceProfileT>(value));
109 return *this;
110 }
112
114
117 inline const Aws::String& GetInstanceType() const { return m_instanceType; }
118 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
119 template <typename InstanceTypeT = Aws::String>
120 void SetInstanceType(InstanceTypeT&& value) {
121 m_instanceTypeHasBeenSet = true;
122 m_instanceType = std::forward<InstanceTypeT>(value);
123 }
124 template <typename InstanceTypeT = Aws::String>
125 Ec2Instance& WithInstanceType(InstanceTypeT&& value) {
126 SetInstanceType(std::forward<InstanceTypeT>(value));
127 return *this;
128 }
130
132
136 inline const Aws::String& GetOutpostArn() const { return m_outpostArn; }
137 inline bool OutpostArnHasBeenSet() const { return m_outpostArnHasBeenSet; }
138 template <typename OutpostArnT = Aws::String>
139 void SetOutpostArn(OutpostArnT&& value) {
140 m_outpostArnHasBeenSet = true;
141 m_outpostArn = std::forward<OutpostArnT>(value);
142 }
143 template <typename OutpostArnT = Aws::String>
144 Ec2Instance& WithOutpostArn(OutpostArnT&& value) {
145 SetOutpostArn(std::forward<OutpostArnT>(value));
146 return *this;
147 }
149
151
154 inline const Aws::String& GetPlatform() const { return m_platform; }
155 inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; }
156 template <typename PlatformT = Aws::String>
157 void SetPlatform(PlatformT&& value) {
158 m_platformHasBeenSet = true;
159 m_platform = std::forward<PlatformT>(value);
160 }
161 template <typename PlatformT = Aws::String>
162 Ec2Instance& WithPlatform(PlatformT&& value) {
163 SetPlatform(std::forward<PlatformT>(value));
164 return *this;
165 }
167
169
172 inline const Aws::Vector<ProductCode>& GetProductCodes() const { return m_productCodes; }
173 inline bool ProductCodesHasBeenSet() const { return m_productCodesHasBeenSet; }
174 template <typename ProductCodesT = Aws::Vector<ProductCode>>
175 void SetProductCodes(ProductCodesT&& value) {
176 m_productCodesHasBeenSet = true;
177 m_productCodes = std::forward<ProductCodesT>(value);
178 }
179 template <typename ProductCodesT = Aws::Vector<ProductCode>>
180 Ec2Instance& WithProductCodes(ProductCodesT&& value) {
181 SetProductCodes(std::forward<ProductCodesT>(value));
182 return *this;
183 }
184 template <typename ProductCodesT = ProductCode>
185 Ec2Instance& AddProductCodes(ProductCodesT&& value) {
186 m_productCodesHasBeenSet = true;
187 m_productCodes.emplace_back(std::forward<ProductCodesT>(value));
188 return *this;
189 }
191
193
196 inline const Aws::Vector<Aws::String>& GetEc2NetworkInterfaceUids() const { return m_ec2NetworkInterfaceUids; }
197 inline bool Ec2NetworkInterfaceUidsHasBeenSet() const { return m_ec2NetworkInterfaceUidsHasBeenSet; }
198 template <typename Ec2NetworkInterfaceUidsT = Aws::Vector<Aws::String>>
199 void SetEc2NetworkInterfaceUids(Ec2NetworkInterfaceUidsT&& value) {
200 m_ec2NetworkInterfaceUidsHasBeenSet = true;
201 m_ec2NetworkInterfaceUids = std::forward<Ec2NetworkInterfaceUidsT>(value);
202 }
203 template <typename Ec2NetworkInterfaceUidsT = Aws::Vector<Aws::String>>
204 Ec2Instance& WithEc2NetworkInterfaceUids(Ec2NetworkInterfaceUidsT&& value) {
205 SetEc2NetworkInterfaceUids(std::forward<Ec2NetworkInterfaceUidsT>(value));
206 return *this;
207 }
208 template <typename Ec2NetworkInterfaceUidsT = Aws::String>
209 Ec2Instance& AddEc2NetworkInterfaceUids(Ec2NetworkInterfaceUidsT&& value) {
210 m_ec2NetworkInterfaceUidsHasBeenSet = true;
211 m_ec2NetworkInterfaceUids.emplace_back(std::forward<Ec2NetworkInterfaceUidsT>(value));
212 return *this;
213 }
215 private:
216 Aws::String m_availabilityZone;
217
218 Aws::String m_imageDescription;
219
220 Aws::String m_instanceState;
221
222 IamInstanceProfile m_iamInstanceProfile;
223
224 Aws::String m_instanceType;
225
226 Aws::String m_outpostArn;
227
228 Aws::String m_platform;
229
230 Aws::Vector<ProductCode> m_productCodes;
231
232 Aws::Vector<Aws::String> m_ec2NetworkInterfaceUids;
233 bool m_availabilityZoneHasBeenSet = false;
234 bool m_imageDescriptionHasBeenSet = false;
235 bool m_instanceStateHasBeenSet = false;
236 bool m_iamInstanceProfileHasBeenSet = false;
237 bool m_instanceTypeHasBeenSet = false;
238 bool m_outpostArnHasBeenSet = false;
239 bool m_platformHasBeenSet = false;
240 bool m_productCodesHasBeenSet = false;
241 bool m_ec2NetworkInterfaceUidsHasBeenSet = false;
242};
243
244} // namespace Model
245} // namespace GuardDuty
246} // namespace Aws
const Aws::String & GetPlatform() const
AWS_GUARDDUTY_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_GUARDDUTY_API Ec2Instance & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetIamInstanceProfile(IamInstanceProfileT &&value)
const Aws::Vector< ProductCode > & GetProductCodes() const
void SetAvailabilityZone(AvailabilityZoneT &&value)
Definition Ec2Instance.h:48
Ec2Instance & WithAvailabilityZone(AvailabilityZoneT &&value)
Definition Ec2Instance.h:53
Ec2Instance & WithEc2NetworkInterfaceUids(Ec2NetworkInterfaceUidsT &&value)
const IamInstanceProfile & GetIamInstanceProfile() const
Definition Ec2Instance.h:99
void SetProductCodes(ProductCodesT &&value)
const Aws::String & GetInstanceType() const
Ec2Instance & AddProductCodes(ProductCodesT &&value)
AWS_GUARDDUTY_API Ec2Instance()=default
Ec2Instance & WithInstanceType(InstanceTypeT &&value)
const Aws::String & GetInstanceState() const
Definition Ec2Instance.h:83
void SetEc2NetworkInterfaceUids(Ec2NetworkInterfaceUidsT &&value)
void SetPlatform(PlatformT &&value)
const Aws::Vector< Aws::String > & GetEc2NetworkInterfaceUids() const
Ec2Instance & WithOutpostArn(OutpostArnT &&value)
AWS_GUARDDUTY_API Ec2Instance(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetAvailabilityZone() const
Definition Ec2Instance.h:45
Ec2Instance & WithImageDescription(ImageDescriptionT &&value)
Definition Ec2Instance.h:71
const Aws::String & GetImageDescription() const
Definition Ec2Instance.h:63
Ec2Instance & WithIamInstanceProfile(IamInstanceProfileT &&value)
void SetImageDescription(ImageDescriptionT &&value)
Definition Ec2Instance.h:66
void SetInstanceType(InstanceTypeT &&value)
Ec2Instance & WithPlatform(PlatformT &&value)
Ec2Instance & WithProductCodes(ProductCodesT &&value)
Ec2Instance & AddEc2NetworkInterfaceUids(Ec2NetworkInterfaceUidsT &&value)
void SetInstanceState(InstanceStateT &&value)
Definition Ec2Instance.h:86
const Aws::String & GetOutpostArn() const
void SetOutpostArn(OutpostArnT &&value)
Ec2Instance & WithInstanceState(InstanceStateT &&value)
Definition Ec2Instance.h:91
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue