AWS SDK for C++

AWS SDK for C++ Version 1.11.632

Loading...
Searching...
No Matches
Finding.h
1
6#pragma once
7#include <aws/inspector2/Inspector2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/inspector2/model/FindingType.h>
10#include <aws/inspector2/model/Remediation.h>
11#include <aws/inspector2/model/Severity.h>
12#include <aws/core/utils/DateTime.h>
13#include <aws/inspector2/model/FindingStatus.h>
14#include <aws/core/utils/memory/stl/AWSVector.h>
15#include <aws/inspector2/model/InspectorScoreDetails.h>
16#include <aws/inspector2/model/NetworkReachabilityDetails.h>
17#include <aws/inspector2/model/PackageVulnerabilityDetails.h>
18#include <aws/inspector2/model/FixAvailable.h>
19#include <aws/inspector2/model/ExploitAvailable.h>
20#include <aws/inspector2/model/ExploitabilityDetails.h>
21#include <aws/inspector2/model/CodeVulnerabilityDetails.h>
22#include <aws/inspector2/model/EpssDetails.h>
23#include <aws/inspector2/model/Resource.h>
24#include <utility>
25
26namespace Aws
27{
28namespace Utils
29{
30namespace Json
31{
32 class JsonValue;
33 class JsonView;
34} // namespace Json
35} // namespace Utils
36namespace Inspector2
37{
38namespace Model
39{
40
46 class Finding
47 {
48 public:
49 AWS_INSPECTOR2_API Finding() = default;
50 AWS_INSPECTOR2_API Finding(Aws::Utils::Json::JsonView jsonValue);
51 AWS_INSPECTOR2_API Finding& operator=(Aws::Utils::Json::JsonView jsonValue);
52 AWS_INSPECTOR2_API Aws::Utils::Json::JsonValue Jsonize() const;
53
54
56
59 inline const Aws::String& GetFindingArn() const { return m_findingArn; }
60 inline bool FindingArnHasBeenSet() const { return m_findingArnHasBeenSet; }
61 template<typename FindingArnT = Aws::String>
62 void SetFindingArn(FindingArnT&& value) { m_findingArnHasBeenSet = true; m_findingArn = std::forward<FindingArnT>(value); }
63 template<typename FindingArnT = Aws::String>
64 Finding& WithFindingArn(FindingArnT&& value) { SetFindingArn(std::forward<FindingArnT>(value)); return *this;}
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) { m_awsAccountIdHasBeenSet = true; m_awsAccountId = std::forward<AwsAccountIdT>(value); }
75 template<typename AwsAccountIdT = Aws::String>
76 Finding& WithAwsAccountId(AwsAccountIdT&& value) { SetAwsAccountId(std::forward<AwsAccountIdT>(value)); return *this;}
78
80
86 inline FindingType GetType() const { return m_type; }
87 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
88 inline void SetType(FindingType value) { m_typeHasBeenSet = true; m_type = value; }
89 inline Finding& WithType(FindingType value) { SetType(value); return *this;}
91
93
96 inline const Aws::String& GetDescription() const { return m_description; }
97 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
98 template<typename DescriptionT = Aws::String>
99 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
100 template<typename DescriptionT = Aws::String>
101 Finding& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
103
105
108 inline const Aws::String& GetTitle() const { return m_title; }
109 inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; }
110 template<typename TitleT = Aws::String>
111 void SetTitle(TitleT&& value) { m_titleHasBeenSet = true; m_title = std::forward<TitleT>(value); }
112 template<typename TitleT = Aws::String>
113 Finding& WithTitle(TitleT&& value) { SetTitle(std::forward<TitleT>(value)); return *this;}
115
117
120 inline const Remediation& GetRemediation() const { return m_remediation; }
121 inline bool RemediationHasBeenSet() const { return m_remediationHasBeenSet; }
122 template<typename RemediationT = Remediation>
123 void SetRemediation(RemediationT&& value) { m_remediationHasBeenSet = true; m_remediation = std::forward<RemediationT>(value); }
124 template<typename RemediationT = Remediation>
125 Finding& WithRemediation(RemediationT&& value) { SetRemediation(std::forward<RemediationT>(value)); return *this;}
127
129
136 inline Severity GetSeverity() const { return m_severity; }
137 inline bool SeverityHasBeenSet() const { return m_severityHasBeenSet; }
138 inline void SetSeverity(Severity value) { m_severityHasBeenSet = true; m_severity = value; }
139 inline Finding& WithSeverity(Severity value) { SetSeverity(value); return *this;}
141
143
146 inline const Aws::Utils::DateTime& GetFirstObservedAt() const { return m_firstObservedAt; }
147 inline bool FirstObservedAtHasBeenSet() const { return m_firstObservedAtHasBeenSet; }
148 template<typename FirstObservedAtT = Aws::Utils::DateTime>
149 void SetFirstObservedAt(FirstObservedAtT&& value) { m_firstObservedAtHasBeenSet = true; m_firstObservedAt = std::forward<FirstObservedAtT>(value); }
150 template<typename FirstObservedAtT = Aws::Utils::DateTime>
151 Finding& WithFirstObservedAt(FirstObservedAtT&& value) { SetFirstObservedAt(std::forward<FirstObservedAtT>(value)); return *this;}
153
155
159 inline const Aws::Utils::DateTime& GetLastObservedAt() const { return m_lastObservedAt; }
160 inline bool LastObservedAtHasBeenSet() const { return m_lastObservedAtHasBeenSet; }
161 template<typename LastObservedAtT = Aws::Utils::DateTime>
162 void SetLastObservedAt(LastObservedAtT&& value) { m_lastObservedAtHasBeenSet = true; m_lastObservedAt = std::forward<LastObservedAtT>(value); }
163 template<typename LastObservedAtT = Aws::Utils::DateTime>
164 Finding& WithLastObservedAt(LastObservedAtT&& value) { SetLastObservedAt(std::forward<LastObservedAtT>(value)); return *this;}
166
168
171 inline const Aws::Utils::DateTime& GetUpdatedAt() const { return m_updatedAt; }
172 inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; }
173 template<typename UpdatedAtT = Aws::Utils::DateTime>
174 void SetUpdatedAt(UpdatedAtT&& value) { m_updatedAtHasBeenSet = true; m_updatedAt = std::forward<UpdatedAtT>(value); }
175 template<typename UpdatedAtT = Aws::Utils::DateTime>
176 Finding& WithUpdatedAt(UpdatedAtT&& value) { SetUpdatedAt(std::forward<UpdatedAtT>(value)); return *this;}
178
180
183 inline FindingStatus GetStatus() const { return m_status; }
184 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
185 inline void SetStatus(FindingStatus value) { m_statusHasBeenSet = true; m_status = value; }
186 inline Finding& WithStatus(FindingStatus value) { SetStatus(value); return *this;}
188
190
197 inline const Aws::Vector<Resource>& GetResources() const { return m_resources; }
198 inline bool ResourcesHasBeenSet() const { return m_resourcesHasBeenSet; }
199 template<typename ResourcesT = Aws::Vector<Resource>>
200 void SetResources(ResourcesT&& value) { m_resourcesHasBeenSet = true; m_resources = std::forward<ResourcesT>(value); }
201 template<typename ResourcesT = Aws::Vector<Resource>>
202 Finding& WithResources(ResourcesT&& value) { SetResources(std::forward<ResourcesT>(value)); return *this;}
203 template<typename ResourcesT = Resource>
204 Finding& AddResources(ResourcesT&& value) { m_resourcesHasBeenSet = true; m_resources.emplace_back(std::forward<ResourcesT>(value)); return *this; }
206
208
211 inline double GetInspectorScore() const { return m_inspectorScore; }
212 inline bool InspectorScoreHasBeenSet() const { return m_inspectorScoreHasBeenSet; }
213 inline void SetInspectorScore(double value) { m_inspectorScoreHasBeenSet = true; m_inspectorScore = value; }
214 inline Finding& WithInspectorScore(double value) { SetInspectorScore(value); return *this;}
216
218
221 inline const InspectorScoreDetails& GetInspectorScoreDetails() const { return m_inspectorScoreDetails; }
222 inline bool InspectorScoreDetailsHasBeenSet() const { return m_inspectorScoreDetailsHasBeenSet; }
223 template<typename InspectorScoreDetailsT = InspectorScoreDetails>
224 void SetInspectorScoreDetails(InspectorScoreDetailsT&& value) { m_inspectorScoreDetailsHasBeenSet = true; m_inspectorScoreDetails = std::forward<InspectorScoreDetailsT>(value); }
225 template<typename InspectorScoreDetailsT = InspectorScoreDetails>
226 Finding& WithInspectorScoreDetails(InspectorScoreDetailsT&& value) { SetInspectorScoreDetails(std::forward<InspectorScoreDetailsT>(value)); return *this;}
228
230
233 inline const NetworkReachabilityDetails& GetNetworkReachabilityDetails() const { return m_networkReachabilityDetails; }
234 inline bool NetworkReachabilityDetailsHasBeenSet() const { return m_networkReachabilityDetailsHasBeenSet; }
235 template<typename NetworkReachabilityDetailsT = NetworkReachabilityDetails>
236 void SetNetworkReachabilityDetails(NetworkReachabilityDetailsT&& value) { m_networkReachabilityDetailsHasBeenSet = true; m_networkReachabilityDetails = std::forward<NetworkReachabilityDetailsT>(value); }
237 template<typename NetworkReachabilityDetailsT = NetworkReachabilityDetails>
238 Finding& WithNetworkReachabilityDetails(NetworkReachabilityDetailsT&& value) { SetNetworkReachabilityDetails(std::forward<NetworkReachabilityDetailsT>(value)); return *this;}
240
242
245 inline const PackageVulnerabilityDetails& GetPackageVulnerabilityDetails() const { return m_packageVulnerabilityDetails; }
246 inline bool PackageVulnerabilityDetailsHasBeenSet() const { return m_packageVulnerabilityDetailsHasBeenSet; }
247 template<typename PackageVulnerabilityDetailsT = PackageVulnerabilityDetails>
248 void SetPackageVulnerabilityDetails(PackageVulnerabilityDetailsT&& value) { m_packageVulnerabilityDetailsHasBeenSet = true; m_packageVulnerabilityDetails = std::forward<PackageVulnerabilityDetailsT>(value); }
249 template<typename PackageVulnerabilityDetailsT = PackageVulnerabilityDetails>
250 Finding& WithPackageVulnerabilityDetails(PackageVulnerabilityDetailsT&& value) { SetPackageVulnerabilityDetails(std::forward<PackageVulnerabilityDetailsT>(value)); return *this;}
252
254
260 inline FixAvailable GetFixAvailable() const { return m_fixAvailable; }
261 inline bool FixAvailableHasBeenSet() const { return m_fixAvailableHasBeenSet; }
262 inline void SetFixAvailable(FixAvailable value) { m_fixAvailableHasBeenSet = true; m_fixAvailable = value; }
263 inline Finding& WithFixAvailable(FixAvailable value) { SetFixAvailable(value); return *this;}
265
267
270 inline ExploitAvailable GetExploitAvailable() const { return m_exploitAvailable; }
271 inline bool ExploitAvailableHasBeenSet() const { return m_exploitAvailableHasBeenSet; }
272 inline void SetExploitAvailable(ExploitAvailable value) { m_exploitAvailableHasBeenSet = true; m_exploitAvailable = value; }
273 inline Finding& WithExploitAvailable(ExploitAvailable value) { SetExploitAvailable(value); return *this;}
275
277
281 inline const ExploitabilityDetails& GetExploitabilityDetails() const { return m_exploitabilityDetails; }
282 inline bool ExploitabilityDetailsHasBeenSet() const { return m_exploitabilityDetailsHasBeenSet; }
283 template<typename ExploitabilityDetailsT = ExploitabilityDetails>
284 void SetExploitabilityDetails(ExploitabilityDetailsT&& value) { m_exploitabilityDetailsHasBeenSet = true; m_exploitabilityDetails = std::forward<ExploitabilityDetailsT>(value); }
285 template<typename ExploitabilityDetailsT = ExploitabilityDetails>
286 Finding& WithExploitabilityDetails(ExploitabilityDetailsT&& value) { SetExploitabilityDetails(std::forward<ExploitabilityDetailsT>(value)); return *this;}
288
290
294 inline const CodeVulnerabilityDetails& GetCodeVulnerabilityDetails() const { return m_codeVulnerabilityDetails; }
295 inline bool CodeVulnerabilityDetailsHasBeenSet() const { return m_codeVulnerabilityDetailsHasBeenSet; }
296 template<typename CodeVulnerabilityDetailsT = CodeVulnerabilityDetails>
297 void SetCodeVulnerabilityDetails(CodeVulnerabilityDetailsT&& value) { m_codeVulnerabilityDetailsHasBeenSet = true; m_codeVulnerabilityDetails = std::forward<CodeVulnerabilityDetailsT>(value); }
298 template<typename CodeVulnerabilityDetailsT = CodeVulnerabilityDetails>
299 Finding& WithCodeVulnerabilityDetails(CodeVulnerabilityDetailsT&& value) { SetCodeVulnerabilityDetails(std::forward<CodeVulnerabilityDetailsT>(value)); return *this;}
301
303
306 inline const EpssDetails& GetEpss() const { return m_epss; }
307 inline bool EpssHasBeenSet() const { return m_epssHasBeenSet; }
308 template<typename EpssT = EpssDetails>
309 void SetEpss(EpssT&& value) { m_epssHasBeenSet = true; m_epss = std::forward<EpssT>(value); }
310 template<typename EpssT = EpssDetails>
311 Finding& WithEpss(EpssT&& value) { SetEpss(std::forward<EpssT>(value)); return *this;}
313 private:
314
315 Aws::String m_findingArn;
316 bool m_findingArnHasBeenSet = false;
317
318 Aws::String m_awsAccountId;
319 bool m_awsAccountIdHasBeenSet = false;
320
322 bool m_typeHasBeenSet = false;
323
324 Aws::String m_description;
325 bool m_descriptionHasBeenSet = false;
326
327 Aws::String m_title;
328 bool m_titleHasBeenSet = false;
329
330 Remediation m_remediation;
331 bool m_remediationHasBeenSet = false;
332
333 Severity m_severity{Severity::NOT_SET};
334 bool m_severityHasBeenSet = false;
335
336 Aws::Utils::DateTime m_firstObservedAt{};
337 bool m_firstObservedAtHasBeenSet = false;
338
339 Aws::Utils::DateTime m_lastObservedAt{};
340 bool m_lastObservedAtHasBeenSet = false;
341
342 Aws::Utils::DateTime m_updatedAt{};
343 bool m_updatedAtHasBeenSet = false;
344
346 bool m_statusHasBeenSet = false;
347
348 Aws::Vector<Resource> m_resources;
349 bool m_resourcesHasBeenSet = false;
350
351 double m_inspectorScore{0.0};
352 bool m_inspectorScoreHasBeenSet = false;
353
354 InspectorScoreDetails m_inspectorScoreDetails;
355 bool m_inspectorScoreDetailsHasBeenSet = false;
356
357 NetworkReachabilityDetails m_networkReachabilityDetails;
358 bool m_networkReachabilityDetailsHasBeenSet = false;
359
360 PackageVulnerabilityDetails m_packageVulnerabilityDetails;
361 bool m_packageVulnerabilityDetailsHasBeenSet = false;
362
363 FixAvailable m_fixAvailable{FixAvailable::NOT_SET};
364 bool m_fixAvailableHasBeenSet = false;
365
367 bool m_exploitAvailableHasBeenSet = false;
368
369 ExploitabilityDetails m_exploitabilityDetails;
370 bool m_exploitabilityDetailsHasBeenSet = false;
371
372 CodeVulnerabilityDetails m_codeVulnerabilityDetails;
373 bool m_codeVulnerabilityDetailsHasBeenSet = false;
374
375 EpssDetails m_epss;
376 bool m_epssHasBeenSet = false;
377 };
378
379} // namespace Model
380} // namespace Inspector2
381} // namespace Aws
bool CodeVulnerabilityDetailsHasBeenSet() const
Definition Finding.h:295
bool DescriptionHasBeenSet() const
Definition Finding.h:97
const ExploitabilityDetails & GetExploitabilityDetails() const
Definition Finding.h:281
const InspectorScoreDetails & GetInspectorScoreDetails() const
Definition Finding.h:221
Finding & WithPackageVulnerabilityDetails(PackageVulnerabilityDetailsT &&value)
Definition Finding.h:250
const Aws::Utils::DateTime & GetLastObservedAt() const
Definition Finding.h:159
void SetFirstObservedAt(FirstObservedAtT &&value)
Definition Finding.h:149
Severity GetSeverity() const
Definition Finding.h:136
Finding & WithExploitabilityDetails(ExploitabilityDetailsT &&value)
Definition Finding.h:286
void SetUpdatedAt(UpdatedAtT &&value)
Definition Finding.h:174
void SetAwsAccountId(AwsAccountIdT &&value)
Definition Finding.h:74
bool InspectorScoreDetailsHasBeenSet() const
Definition Finding.h:222
FixAvailable GetFixAvailable() const
Definition Finding.h:260
Finding & WithNetworkReachabilityDetails(NetworkReachabilityDetailsT &&value)
Definition Finding.h:238
void SetCodeVulnerabilityDetails(CodeVulnerabilityDetailsT &&value)
Definition Finding.h:297
const Aws::Utils::DateTime & GetFirstObservedAt() const
Definition Finding.h:146
const CodeVulnerabilityDetails & GetCodeVulnerabilityDetails() const
Definition Finding.h:294
void SetResources(ResourcesT &&value)
Definition Finding.h:200
Finding & WithFixAvailable(FixAvailable value)
Definition Finding.h:263
bool NetworkReachabilityDetailsHasBeenSet() const
Definition Finding.h:234
void SetStatus(FindingStatus value)
Definition Finding.h:185
void SetFindingArn(FindingArnT &&value)
Definition Finding.h:62
Finding & WithType(FindingType value)
Definition Finding.h:89
bool ExploitabilityDetailsHasBeenSet() const
Definition Finding.h:282
void SetInspectorScoreDetails(InspectorScoreDetailsT &&value)
Definition Finding.h:224
FindingType GetType() const
Definition Finding.h:86
FindingStatus GetStatus() const
Definition Finding.h:183
double GetInspectorScore() const
Definition Finding.h:211
void SetFixAvailable(FixAvailable value)
Definition Finding.h:262
void SetExploitabilityDetails(ExploitabilityDetailsT &&value)
Definition Finding.h:284
Finding & WithExploitAvailable(ExploitAvailable value)
Definition Finding.h:273
Finding & WithDescription(DescriptionT &&value)
Definition Finding.h:101
bool FirstObservedAtHasBeenSet() const
Definition Finding.h:147
const Aws::Utils::DateTime & GetUpdatedAt() const
Definition Finding.h:171
AWS_INSPECTOR2_API Finding(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetDescription() const
Definition Finding.h:96
Finding & WithStatus(FindingStatus value)
Definition Finding.h:186
void SetRemediation(RemediationT &&value)
Definition Finding.h:123
Finding & WithRemediation(RemediationT &&value)
Definition Finding.h:125
bool LastObservedAtHasBeenSet() const
Definition Finding.h:160
bool RemediationHasBeenSet() const
Definition Finding.h:121
bool AwsAccountIdHasBeenSet() const
Definition Finding.h:72
Finding & WithFindingArn(FindingArnT &&value)
Definition Finding.h:64
Finding & WithResources(ResourcesT &&value)
Definition Finding.h:202
AWS_INSPECTOR2_API Aws::Utils::Json::JsonValue Jsonize() const
Finding & WithTitle(TitleT &&value)
Definition Finding.h:113
Finding & WithInspectorScore(double value)
Definition Finding.h:214
Finding & WithFirstObservedAt(FirstObservedAtT &&value)
Definition Finding.h:151
Finding & WithLastObservedAt(LastObservedAtT &&value)
Definition Finding.h:164
void SetExploitAvailable(ExploitAvailable value)
Definition Finding.h:272
void SetDescription(DescriptionT &&value)
Definition Finding.h:99
void SetLastObservedAt(LastObservedAtT &&value)
Definition Finding.h:162
Finding & AddResources(ResourcesT &&value)
Definition Finding.h:204
void SetSeverity(Severity value)
Definition Finding.h:138
void SetNetworkReachabilityDetails(NetworkReachabilityDetailsT &&value)
Definition Finding.h:236
void SetPackageVulnerabilityDetails(PackageVulnerabilityDetailsT &&value)
Definition Finding.h:248
AWS_INSPECTOR2_API Finding()=default
ExploitAvailable GetExploitAvailable() const
Definition Finding.h:270
bool ExploitAvailableHasBeenSet() const
Definition Finding.h:271
Finding & WithUpdatedAt(UpdatedAtT &&value)
Definition Finding.h:176
AWS_INSPECTOR2_API Finding & operator=(Aws::Utils::Json::JsonView jsonValue)
Finding & WithCodeVulnerabilityDetails(CodeVulnerabilityDetailsT &&value)
Definition Finding.h:299
const Aws::String & GetFindingArn() const
Definition Finding.h:59
void SetEpss(EpssT &&value)
Definition Finding.h:309
const Aws::String & GetAwsAccountId() const
Definition Finding.h:71
const Remediation & GetRemediation() const
Definition Finding.h:120
bool FixAvailableHasBeenSet() const
Definition Finding.h:261
void SetTitle(TitleT &&value)
Definition Finding.h:111
void SetType(FindingType value)
Definition Finding.h:88
bool FindingArnHasBeenSet() const
Definition Finding.h:60
void SetInspectorScore(double value)
Definition Finding.h:213
bool InspectorScoreHasBeenSet() const
Definition Finding.h:212
Finding & WithAwsAccountId(AwsAccountIdT &&value)
Definition Finding.h:76
Finding & WithSeverity(Severity value)
Definition Finding.h:139
const Aws::Vector< Resource > & GetResources() const
Definition Finding.h:197
const PackageVulnerabilityDetails & GetPackageVulnerabilityDetails() const
Definition Finding.h:245
const NetworkReachabilityDetails & GetNetworkReachabilityDetails() const
Definition Finding.h:233
Finding & WithInspectorScoreDetails(InspectorScoreDetailsT &&value)
Definition Finding.h:226
const Aws::String & GetTitle() const
Definition Finding.h:108
Finding & WithEpss(EpssT &&value)
Definition Finding.h:311
bool PackageVulnerabilityDetailsHasBeenSet() const
Definition Finding.h:246
const EpssDetails & GetEpss() const
Definition Finding.h:306
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue