AWS SDK for C++

AWS SDK for C++ Version 1.11.743

Loading...
Searching...
No Matches
Finding.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/inspector2/Inspector2_EXPORTS.h>
11#include <aws/inspector2/model/CodeVulnerabilityDetails.h>
12#include <aws/inspector2/model/EpssDetails.h>
13#include <aws/inspector2/model/ExploitAvailable.h>
14#include <aws/inspector2/model/ExploitabilityDetails.h>
15#include <aws/inspector2/model/FindingStatus.h>
16#include <aws/inspector2/model/FindingType.h>
17#include <aws/inspector2/model/FixAvailable.h>
18#include <aws/inspector2/model/InspectorScoreDetails.h>
19#include <aws/inspector2/model/NetworkReachabilityDetails.h>
20#include <aws/inspector2/model/PackageVulnerabilityDetails.h>
21#include <aws/inspector2/model/Remediation.h>
22#include <aws/inspector2/model/Resource.h>
23#include <aws/inspector2/model/Severity.h>
24
25#include <utility>
26
27namespace Aws {
28namespace Utils {
29namespace Json {
30class JsonValue;
31class JsonView;
32} // namespace Json
33} // namespace Utils
34namespace Inspector2 {
35namespace Model {
36
42class Finding {
43 public:
44 AWS_INSPECTOR2_API Finding() = default;
45 AWS_INSPECTOR2_API Finding(Aws::Utils::Json::JsonView jsonValue);
46 AWS_INSPECTOR2_API Finding& operator=(Aws::Utils::Json::JsonView jsonValue);
47 AWS_INSPECTOR2_API Aws::Utils::Json::JsonValue Jsonize() const;
48
50
53 inline const Aws::String& GetFindingArn() const { return m_findingArn; }
54 inline bool FindingArnHasBeenSet() const { return m_findingArnHasBeenSet; }
55 template <typename FindingArnT = Aws::String>
56 void SetFindingArn(FindingArnT&& value) {
57 m_findingArnHasBeenSet = true;
58 m_findingArn = std::forward<FindingArnT>(value);
59 }
60 template <typename FindingArnT = Aws::String>
61 Finding& WithFindingArn(FindingArnT&& value) {
62 SetFindingArn(std::forward<FindingArnT>(value));
63 return *this;
64 }
66
68
71 inline const Aws::String& GetAwsAccountId() const { return m_awsAccountId; }
72 inline bool AwsAccountIdHasBeenSet() const { return m_awsAccountIdHasBeenSet; }
73 template <typename AwsAccountIdT = Aws::String>
74 void SetAwsAccountId(AwsAccountIdT&& value) {
75 m_awsAccountIdHasBeenSet = true;
76 m_awsAccountId = std::forward<AwsAccountIdT>(value);
77 }
78 template <typename AwsAccountIdT = Aws::String>
79 Finding& WithAwsAccountId(AwsAccountIdT&& value) {
80 SetAwsAccountId(std::forward<AwsAccountIdT>(value));
81 return *this;
82 }
84
86
92 inline FindingType GetType() const { return m_type; }
93 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
94 inline void SetType(FindingType value) {
95 m_typeHasBeenSet = true;
96 m_type = value;
97 }
98 inline Finding& WithType(FindingType value) {
99 SetType(value);
100 return *this;
101 }
103
105
108 inline const Aws::String& GetDescription() const { return m_description; }
109 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
110 template <typename DescriptionT = Aws::String>
111 void SetDescription(DescriptionT&& value) {
112 m_descriptionHasBeenSet = true;
113 m_description = std::forward<DescriptionT>(value);
114 }
115 template <typename DescriptionT = Aws::String>
116 Finding& WithDescription(DescriptionT&& value) {
117 SetDescription(std::forward<DescriptionT>(value));
118 return *this;
119 }
121
123
126 inline const Aws::String& GetTitle() const { return m_title; }
127 inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; }
128 template <typename TitleT = Aws::String>
129 void SetTitle(TitleT&& value) {
130 m_titleHasBeenSet = true;
131 m_title = std::forward<TitleT>(value);
132 }
133 template <typename TitleT = Aws::String>
134 Finding& WithTitle(TitleT&& value) {
135 SetTitle(std::forward<TitleT>(value));
136 return *this;
137 }
139
141
144 inline const Remediation& GetRemediation() const { return m_remediation; }
145 inline bool RemediationHasBeenSet() const { return m_remediationHasBeenSet; }
146 template <typename RemediationT = Remediation>
147 void SetRemediation(RemediationT&& value) {
148 m_remediationHasBeenSet = true;
149 m_remediation = std::forward<RemediationT>(value);
150 }
151 template <typename RemediationT = Remediation>
152 Finding& WithRemediation(RemediationT&& value) {
153 SetRemediation(std::forward<RemediationT>(value));
154 return *this;
155 }
157
159
166 inline Severity GetSeverity() const { return m_severity; }
167 inline bool SeverityHasBeenSet() const { return m_severityHasBeenSet; }
168 inline void SetSeverity(Severity value) {
169 m_severityHasBeenSet = true;
170 m_severity = value;
171 }
173 SetSeverity(value);
174 return *this;
175 }
177
179
182 inline const Aws::Utils::DateTime& GetFirstObservedAt() const { return m_firstObservedAt; }
183 inline bool FirstObservedAtHasBeenSet() const { return m_firstObservedAtHasBeenSet; }
184 template <typename FirstObservedAtT = Aws::Utils::DateTime>
185 void SetFirstObservedAt(FirstObservedAtT&& value) {
186 m_firstObservedAtHasBeenSet = true;
187 m_firstObservedAt = std::forward<FirstObservedAtT>(value);
188 }
189 template <typename FirstObservedAtT = Aws::Utils::DateTime>
190 Finding& WithFirstObservedAt(FirstObservedAtT&& value) {
191 SetFirstObservedAt(std::forward<FirstObservedAtT>(value));
192 return *this;
193 }
195
197
201 inline const Aws::Utils::DateTime& GetLastObservedAt() const { return m_lastObservedAt; }
202 inline bool LastObservedAtHasBeenSet() const { return m_lastObservedAtHasBeenSet; }
203 template <typename LastObservedAtT = Aws::Utils::DateTime>
204 void SetLastObservedAt(LastObservedAtT&& value) {
205 m_lastObservedAtHasBeenSet = true;
206 m_lastObservedAt = std::forward<LastObservedAtT>(value);
207 }
208 template <typename LastObservedAtT = Aws::Utils::DateTime>
209 Finding& WithLastObservedAt(LastObservedAtT&& value) {
210 SetLastObservedAt(std::forward<LastObservedAtT>(value));
211 return *this;
212 }
214
216
219 inline const Aws::Utils::DateTime& GetUpdatedAt() const { return m_updatedAt; }
220 inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; }
221 template <typename UpdatedAtT = Aws::Utils::DateTime>
222 void SetUpdatedAt(UpdatedAtT&& value) {
223 m_updatedAtHasBeenSet = true;
224 m_updatedAt = std::forward<UpdatedAtT>(value);
225 }
226 template <typename UpdatedAtT = Aws::Utils::DateTime>
227 Finding& WithUpdatedAt(UpdatedAtT&& value) {
228 SetUpdatedAt(std::forward<UpdatedAtT>(value));
229 return *this;
230 }
232
234
237 inline FindingStatus GetStatus() const { return m_status; }
238 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
239 inline void SetStatus(FindingStatus value) {
240 m_statusHasBeenSet = true;
241 m_status = value;
242 }
244 SetStatus(value);
245 return *this;
246 }
248
250
257 inline const Aws::Vector<Resource>& GetResources() const { return m_resources; }
258 inline bool ResourcesHasBeenSet() const { return m_resourcesHasBeenSet; }
259 template <typename ResourcesT = Aws::Vector<Resource>>
260 void SetResources(ResourcesT&& value) {
261 m_resourcesHasBeenSet = true;
262 m_resources = std::forward<ResourcesT>(value);
263 }
264 template <typename ResourcesT = Aws::Vector<Resource>>
265 Finding& WithResources(ResourcesT&& value) {
266 SetResources(std::forward<ResourcesT>(value));
267 return *this;
268 }
269 template <typename ResourcesT = Resource>
270 Finding& AddResources(ResourcesT&& value) {
271 m_resourcesHasBeenSet = true;
272 m_resources.emplace_back(std::forward<ResourcesT>(value));
273 return *this;
274 }
276
278
281 inline double GetInspectorScore() const { return m_inspectorScore; }
282 inline bool InspectorScoreHasBeenSet() const { return m_inspectorScoreHasBeenSet; }
283 inline void SetInspectorScore(double value) {
284 m_inspectorScoreHasBeenSet = true;
285 m_inspectorScore = value;
286 }
287 inline Finding& WithInspectorScore(double value) {
288 SetInspectorScore(value);
289 return *this;
290 }
292
294
297 inline const InspectorScoreDetails& GetInspectorScoreDetails() const { return m_inspectorScoreDetails; }
298 inline bool InspectorScoreDetailsHasBeenSet() const { return m_inspectorScoreDetailsHasBeenSet; }
299 template <typename InspectorScoreDetailsT = InspectorScoreDetails>
300 void SetInspectorScoreDetails(InspectorScoreDetailsT&& value) {
301 m_inspectorScoreDetailsHasBeenSet = true;
302 m_inspectorScoreDetails = std::forward<InspectorScoreDetailsT>(value);
303 }
304 template <typename InspectorScoreDetailsT = InspectorScoreDetails>
305 Finding& WithInspectorScoreDetails(InspectorScoreDetailsT&& value) {
306 SetInspectorScoreDetails(std::forward<InspectorScoreDetailsT>(value));
307 return *this;
308 }
310
312
315 inline const NetworkReachabilityDetails& GetNetworkReachabilityDetails() const { return m_networkReachabilityDetails; }
316 inline bool NetworkReachabilityDetailsHasBeenSet() const { return m_networkReachabilityDetailsHasBeenSet; }
317 template <typename NetworkReachabilityDetailsT = NetworkReachabilityDetails>
318 void SetNetworkReachabilityDetails(NetworkReachabilityDetailsT&& value) {
319 m_networkReachabilityDetailsHasBeenSet = true;
320 m_networkReachabilityDetails = std::forward<NetworkReachabilityDetailsT>(value);
321 }
322 template <typename NetworkReachabilityDetailsT = NetworkReachabilityDetails>
323 Finding& WithNetworkReachabilityDetails(NetworkReachabilityDetailsT&& value) {
324 SetNetworkReachabilityDetails(std::forward<NetworkReachabilityDetailsT>(value));
325 return *this;
326 }
328
330
333 inline const PackageVulnerabilityDetails& GetPackageVulnerabilityDetails() const { return m_packageVulnerabilityDetails; }
334 inline bool PackageVulnerabilityDetailsHasBeenSet() const { return m_packageVulnerabilityDetailsHasBeenSet; }
335 template <typename PackageVulnerabilityDetailsT = PackageVulnerabilityDetails>
336 void SetPackageVulnerabilityDetails(PackageVulnerabilityDetailsT&& value) {
337 m_packageVulnerabilityDetailsHasBeenSet = true;
338 m_packageVulnerabilityDetails = std::forward<PackageVulnerabilityDetailsT>(value);
339 }
340 template <typename PackageVulnerabilityDetailsT = PackageVulnerabilityDetails>
341 Finding& WithPackageVulnerabilityDetails(PackageVulnerabilityDetailsT&& value) {
342 SetPackageVulnerabilityDetails(std::forward<PackageVulnerabilityDetailsT>(value));
343 return *this;
344 }
346
348
354 inline FixAvailable GetFixAvailable() const { return m_fixAvailable; }
355 inline bool FixAvailableHasBeenSet() const { return m_fixAvailableHasBeenSet; }
356 inline void SetFixAvailable(FixAvailable value) {
357 m_fixAvailableHasBeenSet = true;
358 m_fixAvailable = value;
359 }
361 SetFixAvailable(value);
362 return *this;
363 }
365
367
370 inline ExploitAvailable GetExploitAvailable() const { return m_exploitAvailable; }
371 inline bool ExploitAvailableHasBeenSet() const { return m_exploitAvailableHasBeenSet; }
373 m_exploitAvailableHasBeenSet = true;
374 m_exploitAvailable = value;
375 }
377 SetExploitAvailable(value);
378 return *this;
379 }
381
383
387 inline const ExploitabilityDetails& GetExploitabilityDetails() const { return m_exploitabilityDetails; }
388 inline bool ExploitabilityDetailsHasBeenSet() const { return m_exploitabilityDetailsHasBeenSet; }
389 template <typename ExploitabilityDetailsT = ExploitabilityDetails>
390 void SetExploitabilityDetails(ExploitabilityDetailsT&& value) {
391 m_exploitabilityDetailsHasBeenSet = true;
392 m_exploitabilityDetails = std::forward<ExploitabilityDetailsT>(value);
393 }
394 template <typename ExploitabilityDetailsT = ExploitabilityDetails>
395 Finding& WithExploitabilityDetails(ExploitabilityDetailsT&& value) {
396 SetExploitabilityDetails(std::forward<ExploitabilityDetailsT>(value));
397 return *this;
398 }
400
402
406 inline const CodeVulnerabilityDetails& GetCodeVulnerabilityDetails() const { return m_codeVulnerabilityDetails; }
407 inline bool CodeVulnerabilityDetailsHasBeenSet() const { return m_codeVulnerabilityDetailsHasBeenSet; }
408 template <typename CodeVulnerabilityDetailsT = CodeVulnerabilityDetails>
409 void SetCodeVulnerabilityDetails(CodeVulnerabilityDetailsT&& value) {
410 m_codeVulnerabilityDetailsHasBeenSet = true;
411 m_codeVulnerabilityDetails = std::forward<CodeVulnerabilityDetailsT>(value);
412 }
413 template <typename CodeVulnerabilityDetailsT = CodeVulnerabilityDetails>
414 Finding& WithCodeVulnerabilityDetails(CodeVulnerabilityDetailsT&& value) {
415 SetCodeVulnerabilityDetails(std::forward<CodeVulnerabilityDetailsT>(value));
416 return *this;
417 }
419
421
424 inline const EpssDetails& GetEpss() const { return m_epss; }
425 inline bool EpssHasBeenSet() const { return m_epssHasBeenSet; }
426 template <typename EpssT = EpssDetails>
427 void SetEpss(EpssT&& value) {
428 m_epssHasBeenSet = true;
429 m_epss = std::forward<EpssT>(value);
430 }
431 template <typename EpssT = EpssDetails>
432 Finding& WithEpss(EpssT&& value) {
433 SetEpss(std::forward<EpssT>(value));
434 return *this;
435 }
437 private:
438 Aws::String m_findingArn;
439
440 Aws::String m_awsAccountId;
441
443
444 Aws::String m_description;
445
446 Aws::String m_title;
447
448 Remediation m_remediation;
449
450 Severity m_severity{Severity::NOT_SET};
451
452 Aws::Utils::DateTime m_firstObservedAt{};
453
454 Aws::Utils::DateTime m_lastObservedAt{};
455
456 Aws::Utils::DateTime m_updatedAt{};
457
459
460 Aws::Vector<Resource> m_resources;
461
462 double m_inspectorScore{0.0};
463
464 InspectorScoreDetails m_inspectorScoreDetails;
465
466 NetworkReachabilityDetails m_networkReachabilityDetails;
467
468 PackageVulnerabilityDetails m_packageVulnerabilityDetails;
469
470 FixAvailable m_fixAvailable{FixAvailable::NOT_SET};
471
473
474 ExploitabilityDetails m_exploitabilityDetails;
475
476 CodeVulnerabilityDetails m_codeVulnerabilityDetails;
477
478 EpssDetails m_epss;
479 bool m_findingArnHasBeenSet = false;
480 bool m_awsAccountIdHasBeenSet = false;
481 bool m_typeHasBeenSet = false;
482 bool m_descriptionHasBeenSet = false;
483 bool m_titleHasBeenSet = false;
484 bool m_remediationHasBeenSet = false;
485 bool m_severityHasBeenSet = false;
486 bool m_firstObservedAtHasBeenSet = false;
487 bool m_lastObservedAtHasBeenSet = false;
488 bool m_updatedAtHasBeenSet = false;
489 bool m_statusHasBeenSet = false;
490 bool m_resourcesHasBeenSet = false;
491 bool m_inspectorScoreHasBeenSet = false;
492 bool m_inspectorScoreDetailsHasBeenSet = false;
493 bool m_networkReachabilityDetailsHasBeenSet = false;
494 bool m_packageVulnerabilityDetailsHasBeenSet = false;
495 bool m_fixAvailableHasBeenSet = false;
496 bool m_exploitAvailableHasBeenSet = false;
497 bool m_exploitabilityDetailsHasBeenSet = false;
498 bool m_codeVulnerabilityDetailsHasBeenSet = false;
499 bool m_epssHasBeenSet = false;
500};
501
502} // namespace Model
503} // namespace Inspector2
504} // namespace Aws
bool CodeVulnerabilityDetailsHasBeenSet() const
Definition Finding.h:407
bool DescriptionHasBeenSet() const
Definition Finding.h:109
const ExploitabilityDetails & GetExploitabilityDetails() const
Definition Finding.h:387
const InspectorScoreDetails & GetInspectorScoreDetails() const
Definition Finding.h:297
Finding & WithPackageVulnerabilityDetails(PackageVulnerabilityDetailsT &&value)
Definition Finding.h:341
const Aws::Utils::DateTime & GetLastObservedAt() const
Definition Finding.h:201
void SetFirstObservedAt(FirstObservedAtT &&value)
Definition Finding.h:185
Severity GetSeverity() const
Definition Finding.h:166
Finding & WithExploitabilityDetails(ExploitabilityDetailsT &&value)
Definition Finding.h:395
void SetUpdatedAt(UpdatedAtT &&value)
Definition Finding.h:222
void SetAwsAccountId(AwsAccountIdT &&value)
Definition Finding.h:74
bool InspectorScoreDetailsHasBeenSet() const
Definition Finding.h:298
FixAvailable GetFixAvailable() const
Definition Finding.h:354
Finding & WithNetworkReachabilityDetails(NetworkReachabilityDetailsT &&value)
Definition Finding.h:323
void SetCodeVulnerabilityDetails(CodeVulnerabilityDetailsT &&value)
Definition Finding.h:409
const Aws::Utils::DateTime & GetFirstObservedAt() const
Definition Finding.h:182
const CodeVulnerabilityDetails & GetCodeVulnerabilityDetails() const
Definition Finding.h:406
void SetResources(ResourcesT &&value)
Definition Finding.h:260
Finding & WithFixAvailable(FixAvailable value)
Definition Finding.h:360
bool NetworkReachabilityDetailsHasBeenSet() const
Definition Finding.h:316
void SetStatus(FindingStatus value)
Definition Finding.h:239
void SetFindingArn(FindingArnT &&value)
Definition Finding.h:56
Finding & WithType(FindingType value)
Definition Finding.h:98
bool ExploitabilityDetailsHasBeenSet() const
Definition Finding.h:388
void SetInspectorScoreDetails(InspectorScoreDetailsT &&value)
Definition Finding.h:300
FindingType GetType() const
Definition Finding.h:92
FindingStatus GetStatus() const
Definition Finding.h:237
double GetInspectorScore() const
Definition Finding.h:281
void SetFixAvailable(FixAvailable value)
Definition Finding.h:356
void SetExploitabilityDetails(ExploitabilityDetailsT &&value)
Definition Finding.h:390
Finding & WithExploitAvailable(ExploitAvailable value)
Definition Finding.h:376
Finding & WithDescription(DescriptionT &&value)
Definition Finding.h:116
bool FirstObservedAtHasBeenSet() const
Definition Finding.h:183
const Aws::Utils::DateTime & GetUpdatedAt() const
Definition Finding.h:219
AWS_INSPECTOR2_API Finding(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetDescription() const
Definition Finding.h:108
Finding & WithStatus(FindingStatus value)
Definition Finding.h:243
void SetRemediation(RemediationT &&value)
Definition Finding.h:147
Finding & WithRemediation(RemediationT &&value)
Definition Finding.h:152
bool LastObservedAtHasBeenSet() const
Definition Finding.h:202
bool RemediationHasBeenSet() const
Definition Finding.h:145
bool AwsAccountIdHasBeenSet() const
Definition Finding.h:72
Finding & WithFindingArn(FindingArnT &&value)
Definition Finding.h:61
Finding & WithResources(ResourcesT &&value)
Definition Finding.h:265
AWS_INSPECTOR2_API Aws::Utils::Json::JsonValue Jsonize() const
Finding & WithTitle(TitleT &&value)
Definition Finding.h:134
Finding & WithInspectorScore(double value)
Definition Finding.h:287
Finding & WithFirstObservedAt(FirstObservedAtT &&value)
Definition Finding.h:190
Finding & WithLastObservedAt(LastObservedAtT &&value)
Definition Finding.h:209
void SetExploitAvailable(ExploitAvailable value)
Definition Finding.h:372
void SetDescription(DescriptionT &&value)
Definition Finding.h:111
void SetLastObservedAt(LastObservedAtT &&value)
Definition Finding.h:204
Finding & AddResources(ResourcesT &&value)
Definition Finding.h:270
void SetSeverity(Severity value)
Definition Finding.h:168
void SetNetworkReachabilityDetails(NetworkReachabilityDetailsT &&value)
Definition Finding.h:318
void SetPackageVulnerabilityDetails(PackageVulnerabilityDetailsT &&value)
Definition Finding.h:336
AWS_INSPECTOR2_API Finding()=default
ExploitAvailable GetExploitAvailable() const
Definition Finding.h:370
bool ExploitAvailableHasBeenSet() const
Definition Finding.h:371
Finding & WithUpdatedAt(UpdatedAtT &&value)
Definition Finding.h:227
AWS_INSPECTOR2_API Finding & operator=(Aws::Utils::Json::JsonView jsonValue)
Finding & WithCodeVulnerabilityDetails(CodeVulnerabilityDetailsT &&value)
Definition Finding.h:414
const Aws::String & GetFindingArn() const
Definition Finding.h:53
void SetEpss(EpssT &&value)
Definition Finding.h:427
const Aws::String & GetAwsAccountId() const
Definition Finding.h:71
const Remediation & GetRemediation() const
Definition Finding.h:144
bool FixAvailableHasBeenSet() const
Definition Finding.h:355
void SetTitle(TitleT &&value)
Definition Finding.h:129
void SetType(FindingType value)
Definition Finding.h:94
bool FindingArnHasBeenSet() const
Definition Finding.h:54
void SetInspectorScore(double value)
Definition Finding.h:283
bool InspectorScoreHasBeenSet() const
Definition Finding.h:282
Finding & WithAwsAccountId(AwsAccountIdT &&value)
Definition Finding.h:79
Finding & WithSeverity(Severity value)
Definition Finding.h:172
const Aws::Vector< Resource > & GetResources() const
Definition Finding.h:257
const PackageVulnerabilityDetails & GetPackageVulnerabilityDetails() const
Definition Finding.h:333
const NetworkReachabilityDetails & GetNetworkReachabilityDetails() const
Definition Finding.h:315
Finding & WithInspectorScoreDetails(InspectorScoreDetailsT &&value)
Definition Finding.h:305
const Aws::String & GetTitle() const
Definition Finding.h:126
Finding & WithEpss(EpssT &&value)
Definition Finding.h:432
bool PackageVulnerabilityDetailsHasBeenSet() const
Definition Finding.h:334
const EpssDetails & GetEpss() const
Definition Finding.h:424
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue