AWS SDK for C++

AWS SDK for C++ Version 1.11.607

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/CodeVulnerabilityDetails.h>
10#include <aws/inspector2/model/EpssDetails.h>
11#include <aws/inspector2/model/ExploitAvailable.h>
12#include <aws/inspector2/model/ExploitabilityDetails.h>
13#include <aws/core/utils/DateTime.h>
14#include <aws/inspector2/model/FixAvailable.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/Remediation.h>
19#include <aws/core/utils/memory/stl/AWSVector.h>
20#include <aws/inspector2/model/Severity.h>
21#include <aws/inspector2/model/FindingStatus.h>
22#include <aws/inspector2/model/FindingType.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& GetAwsAccountId() const { return m_awsAccountId; }
60 inline bool AwsAccountIdHasBeenSet() const { return m_awsAccountIdHasBeenSet; }
61 template<typename AwsAccountIdT = Aws::String>
62 void SetAwsAccountId(AwsAccountIdT&& value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId = std::forward<AwsAccountIdT>(value); }
63 template<typename AwsAccountIdT = Aws::String>
64 Finding& WithAwsAccountId(AwsAccountIdT&& value) { SetAwsAccountId(std::forward<AwsAccountIdT>(value)); return *this;}
66
68
72 inline const CodeVulnerabilityDetails& GetCodeVulnerabilityDetails() const { return m_codeVulnerabilityDetails; }
73 inline bool CodeVulnerabilityDetailsHasBeenSet() const { return m_codeVulnerabilityDetailsHasBeenSet; }
74 template<typename CodeVulnerabilityDetailsT = CodeVulnerabilityDetails>
75 void SetCodeVulnerabilityDetails(CodeVulnerabilityDetailsT&& value) { m_codeVulnerabilityDetailsHasBeenSet = true; m_codeVulnerabilityDetails = std::forward<CodeVulnerabilityDetailsT>(value); }
76 template<typename CodeVulnerabilityDetailsT = CodeVulnerabilityDetails>
77 Finding& WithCodeVulnerabilityDetails(CodeVulnerabilityDetailsT&& value) { SetCodeVulnerabilityDetails(std::forward<CodeVulnerabilityDetailsT>(value)); return *this;}
79
81
84 inline const Aws::String& GetDescription() const { return m_description; }
85 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
86 template<typename DescriptionT = Aws::String>
87 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
88 template<typename DescriptionT = Aws::String>
89 Finding& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
91
93
96 inline const EpssDetails& GetEpss() const { return m_epss; }
97 inline bool EpssHasBeenSet() const { return m_epssHasBeenSet; }
98 template<typename EpssT = EpssDetails>
99 void SetEpss(EpssT&& value) { m_epssHasBeenSet = true; m_epss = std::forward<EpssT>(value); }
100 template<typename EpssT = EpssDetails>
101 Finding& WithEpss(EpssT&& value) { SetEpss(std::forward<EpssT>(value)); return *this;}
103
105
108 inline ExploitAvailable GetExploitAvailable() const { return m_exploitAvailable; }
109 inline bool ExploitAvailableHasBeenSet() const { return m_exploitAvailableHasBeenSet; }
110 inline void SetExploitAvailable(ExploitAvailable value) { m_exploitAvailableHasBeenSet = true; m_exploitAvailable = value; }
111 inline Finding& WithExploitAvailable(ExploitAvailable value) { SetExploitAvailable(value); return *this;}
113
115
119 inline const ExploitabilityDetails& GetExploitabilityDetails() const { return m_exploitabilityDetails; }
120 inline bool ExploitabilityDetailsHasBeenSet() const { return m_exploitabilityDetailsHasBeenSet; }
121 template<typename ExploitabilityDetailsT = ExploitabilityDetails>
122 void SetExploitabilityDetails(ExploitabilityDetailsT&& value) { m_exploitabilityDetailsHasBeenSet = true; m_exploitabilityDetails = std::forward<ExploitabilityDetailsT>(value); }
123 template<typename ExploitabilityDetailsT = ExploitabilityDetails>
124 Finding& WithExploitabilityDetails(ExploitabilityDetailsT&& value) { SetExploitabilityDetails(std::forward<ExploitabilityDetailsT>(value)); return *this;}
126
128
131 inline const Aws::String& GetFindingArn() const { return m_findingArn; }
132 inline bool FindingArnHasBeenSet() const { return m_findingArnHasBeenSet; }
133 template<typename FindingArnT = Aws::String>
134 void SetFindingArn(FindingArnT&& value) { m_findingArnHasBeenSet = true; m_findingArn = std::forward<FindingArnT>(value); }
135 template<typename FindingArnT = Aws::String>
136 Finding& WithFindingArn(FindingArnT&& value) { SetFindingArn(std::forward<FindingArnT>(value)); return *this;}
138
140
143 inline const Aws::Utils::DateTime& GetFirstObservedAt() const { return m_firstObservedAt; }
144 inline bool FirstObservedAtHasBeenSet() const { return m_firstObservedAtHasBeenSet; }
145 template<typename FirstObservedAtT = Aws::Utils::DateTime>
146 void SetFirstObservedAt(FirstObservedAtT&& value) { m_firstObservedAtHasBeenSet = true; m_firstObservedAt = std::forward<FirstObservedAtT>(value); }
147 template<typename FirstObservedAtT = Aws::Utils::DateTime>
148 Finding& WithFirstObservedAt(FirstObservedAtT&& value) { SetFirstObservedAt(std::forward<FirstObservedAtT>(value)); return *this;}
150
152
158 inline FixAvailable GetFixAvailable() const { return m_fixAvailable; }
159 inline bool FixAvailableHasBeenSet() const { return m_fixAvailableHasBeenSet; }
160 inline void SetFixAvailable(FixAvailable value) { m_fixAvailableHasBeenSet = true; m_fixAvailable = value; }
161 inline Finding& WithFixAvailable(FixAvailable value) { SetFixAvailable(value); return *this;}
163
165
168 inline double GetInspectorScore() const { return m_inspectorScore; }
169 inline bool InspectorScoreHasBeenSet() const { return m_inspectorScoreHasBeenSet; }
170 inline void SetInspectorScore(double value) { m_inspectorScoreHasBeenSet = true; m_inspectorScore = value; }
171 inline Finding& WithInspectorScore(double value) { SetInspectorScore(value); return *this;}
173
175
178 inline const InspectorScoreDetails& GetInspectorScoreDetails() const { return m_inspectorScoreDetails; }
179 inline bool InspectorScoreDetailsHasBeenSet() const { return m_inspectorScoreDetailsHasBeenSet; }
180 template<typename InspectorScoreDetailsT = InspectorScoreDetails>
181 void SetInspectorScoreDetails(InspectorScoreDetailsT&& value) { m_inspectorScoreDetailsHasBeenSet = true; m_inspectorScoreDetails = std::forward<InspectorScoreDetailsT>(value); }
182 template<typename InspectorScoreDetailsT = InspectorScoreDetails>
183 Finding& WithInspectorScoreDetails(InspectorScoreDetailsT&& value) { SetInspectorScoreDetails(std::forward<InspectorScoreDetailsT>(value)); return *this;}
185
187
191 inline const Aws::Utils::DateTime& GetLastObservedAt() const { return m_lastObservedAt; }
192 inline bool LastObservedAtHasBeenSet() const { return m_lastObservedAtHasBeenSet; }
193 template<typename LastObservedAtT = Aws::Utils::DateTime>
194 void SetLastObservedAt(LastObservedAtT&& value) { m_lastObservedAtHasBeenSet = true; m_lastObservedAt = std::forward<LastObservedAtT>(value); }
195 template<typename LastObservedAtT = Aws::Utils::DateTime>
196 Finding& WithLastObservedAt(LastObservedAtT&& value) { SetLastObservedAt(std::forward<LastObservedAtT>(value)); return *this;}
198
200
203 inline const NetworkReachabilityDetails& GetNetworkReachabilityDetails() const { return m_networkReachabilityDetails; }
204 inline bool NetworkReachabilityDetailsHasBeenSet() const { return m_networkReachabilityDetailsHasBeenSet; }
205 template<typename NetworkReachabilityDetailsT = NetworkReachabilityDetails>
206 void SetNetworkReachabilityDetails(NetworkReachabilityDetailsT&& value) { m_networkReachabilityDetailsHasBeenSet = true; m_networkReachabilityDetails = std::forward<NetworkReachabilityDetailsT>(value); }
207 template<typename NetworkReachabilityDetailsT = NetworkReachabilityDetails>
208 Finding& WithNetworkReachabilityDetails(NetworkReachabilityDetailsT&& value) { SetNetworkReachabilityDetails(std::forward<NetworkReachabilityDetailsT>(value)); return *this;}
210
212
215 inline const PackageVulnerabilityDetails& GetPackageVulnerabilityDetails() const { return m_packageVulnerabilityDetails; }
216 inline bool PackageVulnerabilityDetailsHasBeenSet() const { return m_packageVulnerabilityDetailsHasBeenSet; }
217 template<typename PackageVulnerabilityDetailsT = PackageVulnerabilityDetails>
218 void SetPackageVulnerabilityDetails(PackageVulnerabilityDetailsT&& value) { m_packageVulnerabilityDetailsHasBeenSet = true; m_packageVulnerabilityDetails = std::forward<PackageVulnerabilityDetailsT>(value); }
219 template<typename PackageVulnerabilityDetailsT = PackageVulnerabilityDetails>
220 Finding& WithPackageVulnerabilityDetails(PackageVulnerabilityDetailsT&& value) { SetPackageVulnerabilityDetails(std::forward<PackageVulnerabilityDetailsT>(value)); return *this;}
222
224
227 inline const Remediation& GetRemediation() const { return m_remediation; }
228 inline bool RemediationHasBeenSet() const { return m_remediationHasBeenSet; }
229 template<typename RemediationT = Remediation>
230 void SetRemediation(RemediationT&& value) { m_remediationHasBeenSet = true; m_remediation = std::forward<RemediationT>(value); }
231 template<typename RemediationT = Remediation>
232 Finding& WithRemediation(RemediationT&& value) { SetRemediation(std::forward<RemediationT>(value)); return *this;}
234
236
243 inline const Aws::Vector<Resource>& GetResources() const { return m_resources; }
244 inline bool ResourcesHasBeenSet() const { return m_resourcesHasBeenSet; }
245 template<typename ResourcesT = Aws::Vector<Resource>>
246 void SetResources(ResourcesT&& value) { m_resourcesHasBeenSet = true; m_resources = std::forward<ResourcesT>(value); }
247 template<typename ResourcesT = Aws::Vector<Resource>>
248 Finding& WithResources(ResourcesT&& value) { SetResources(std::forward<ResourcesT>(value)); return *this;}
249 template<typename ResourcesT = Resource>
250 Finding& AddResources(ResourcesT&& value) { m_resourcesHasBeenSet = true; m_resources.emplace_back(std::forward<ResourcesT>(value)); return *this; }
252
254
261 inline Severity GetSeverity() const { return m_severity; }
262 inline bool SeverityHasBeenSet() const { return m_severityHasBeenSet; }
263 inline void SetSeverity(Severity value) { m_severityHasBeenSet = true; m_severity = value; }
264 inline Finding& WithSeverity(Severity value) { SetSeverity(value); return *this;}
266
268
271 inline FindingStatus GetStatus() const { return m_status; }
272 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
273 inline void SetStatus(FindingStatus value) { m_statusHasBeenSet = true; m_status = value; }
274 inline Finding& WithStatus(FindingStatus value) { SetStatus(value); return *this;}
276
278
281 inline const Aws::String& GetTitle() const { return m_title; }
282 inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; }
283 template<typename TitleT = Aws::String>
284 void SetTitle(TitleT&& value) { m_titleHasBeenSet = true; m_title = std::forward<TitleT>(value); }
285 template<typename TitleT = Aws::String>
286 Finding& WithTitle(TitleT&& value) { SetTitle(std::forward<TitleT>(value)); return *this;}
288
290
296 inline FindingType GetType() const { return m_type; }
297 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
298 inline void SetType(FindingType value) { m_typeHasBeenSet = true; m_type = value; }
299 inline Finding& WithType(FindingType value) { SetType(value); return *this;}
301
303
306 inline const Aws::Utils::DateTime& GetUpdatedAt() const { return m_updatedAt; }
307 inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; }
308 template<typename UpdatedAtT = Aws::Utils::DateTime>
309 void SetUpdatedAt(UpdatedAtT&& value) { m_updatedAtHasBeenSet = true; m_updatedAt = std::forward<UpdatedAtT>(value); }
310 template<typename UpdatedAtT = Aws::Utils::DateTime>
311 Finding& WithUpdatedAt(UpdatedAtT&& value) { SetUpdatedAt(std::forward<UpdatedAtT>(value)); return *this;}
313 private:
314
315 Aws::String m_awsAccountId;
316 bool m_awsAccountIdHasBeenSet = false;
317
318 CodeVulnerabilityDetails m_codeVulnerabilityDetails;
319 bool m_codeVulnerabilityDetailsHasBeenSet = false;
320
321 Aws::String m_description;
322 bool m_descriptionHasBeenSet = false;
323
324 EpssDetails m_epss;
325 bool m_epssHasBeenSet = false;
326
328 bool m_exploitAvailableHasBeenSet = false;
329
330 ExploitabilityDetails m_exploitabilityDetails;
331 bool m_exploitabilityDetailsHasBeenSet = false;
332
333 Aws::String m_findingArn;
334 bool m_findingArnHasBeenSet = false;
335
336 Aws::Utils::DateTime m_firstObservedAt{};
337 bool m_firstObservedAtHasBeenSet = false;
338
339 FixAvailable m_fixAvailable{FixAvailable::NOT_SET};
340 bool m_fixAvailableHasBeenSet = false;
341
342 double m_inspectorScore{0.0};
343 bool m_inspectorScoreHasBeenSet = false;
344
345 InspectorScoreDetails m_inspectorScoreDetails;
346 bool m_inspectorScoreDetailsHasBeenSet = false;
347
348 Aws::Utils::DateTime m_lastObservedAt{};
349 bool m_lastObservedAtHasBeenSet = false;
350
351 NetworkReachabilityDetails m_networkReachabilityDetails;
352 bool m_networkReachabilityDetailsHasBeenSet = false;
353
354 PackageVulnerabilityDetails m_packageVulnerabilityDetails;
355 bool m_packageVulnerabilityDetailsHasBeenSet = false;
356
357 Remediation m_remediation;
358 bool m_remediationHasBeenSet = false;
359
360 Aws::Vector<Resource> m_resources;
361 bool m_resourcesHasBeenSet = false;
362
363 Severity m_severity{Severity::NOT_SET};
364 bool m_severityHasBeenSet = false;
365
367 bool m_statusHasBeenSet = false;
368
369 Aws::String m_title;
370 bool m_titleHasBeenSet = false;
371
373 bool m_typeHasBeenSet = false;
374
375 Aws::Utils::DateTime m_updatedAt{};
376 bool m_updatedAtHasBeenSet = false;
377 };
378
379} // namespace Model
380} // namespace Inspector2
381} // namespace Aws
bool CodeVulnerabilityDetailsHasBeenSet() const
Definition Finding.h:73
bool DescriptionHasBeenSet() const
Definition Finding.h:85
const ExploitabilityDetails & GetExploitabilityDetails() const
Definition Finding.h:119
const InspectorScoreDetails & GetInspectorScoreDetails() const
Definition Finding.h:178
Finding & WithPackageVulnerabilityDetails(PackageVulnerabilityDetailsT &&value)
Definition Finding.h:220
const Aws::Utils::DateTime & GetLastObservedAt() const
Definition Finding.h:191
void SetFirstObservedAt(FirstObservedAtT &&value)
Definition Finding.h:146
Severity GetSeverity() const
Definition Finding.h:261
Finding & WithExploitabilityDetails(ExploitabilityDetailsT &&value)
Definition Finding.h:124
void SetUpdatedAt(UpdatedAtT &&value)
Definition Finding.h:309
void SetAwsAccountId(AwsAccountIdT &&value)
Definition Finding.h:62
bool InspectorScoreDetailsHasBeenSet() const
Definition Finding.h:179
FixAvailable GetFixAvailable() const
Definition Finding.h:158
Finding & WithNetworkReachabilityDetails(NetworkReachabilityDetailsT &&value)
Definition Finding.h:208
void SetCodeVulnerabilityDetails(CodeVulnerabilityDetailsT &&value)
Definition Finding.h:75
const Aws::Utils::DateTime & GetFirstObservedAt() const
Definition Finding.h:143
const CodeVulnerabilityDetails & GetCodeVulnerabilityDetails() const
Definition Finding.h:72
void SetResources(ResourcesT &&value)
Definition Finding.h:246
Finding & WithFixAvailable(FixAvailable value)
Definition Finding.h:161
bool NetworkReachabilityDetailsHasBeenSet() const
Definition Finding.h:204
void SetStatus(FindingStatus value)
Definition Finding.h:273
void SetFindingArn(FindingArnT &&value)
Definition Finding.h:134
Finding & WithType(FindingType value)
Definition Finding.h:299
bool ExploitabilityDetailsHasBeenSet() const
Definition Finding.h:120
void SetInspectorScoreDetails(InspectorScoreDetailsT &&value)
Definition Finding.h:181
FindingType GetType() const
Definition Finding.h:296
FindingStatus GetStatus() const
Definition Finding.h:271
double GetInspectorScore() const
Definition Finding.h:168
void SetFixAvailable(FixAvailable value)
Definition Finding.h:160
void SetExploitabilityDetails(ExploitabilityDetailsT &&value)
Definition Finding.h:122
Finding & WithExploitAvailable(ExploitAvailable value)
Definition Finding.h:111
Finding & WithDescription(DescriptionT &&value)
Definition Finding.h:89
bool FirstObservedAtHasBeenSet() const
Definition Finding.h:144
const Aws::Utils::DateTime & GetUpdatedAt() const
Definition Finding.h:306
AWS_INSPECTOR2_API Finding(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetDescription() const
Definition Finding.h:84
Finding & WithStatus(FindingStatus value)
Definition Finding.h:274
void SetRemediation(RemediationT &&value)
Definition Finding.h:230
Finding & WithRemediation(RemediationT &&value)
Definition Finding.h:232
bool LastObservedAtHasBeenSet() const
Definition Finding.h:192
bool RemediationHasBeenSet() const
Definition Finding.h:228
bool AwsAccountIdHasBeenSet() const
Definition Finding.h:60
Finding & WithFindingArn(FindingArnT &&value)
Definition Finding.h:136
Finding & WithResources(ResourcesT &&value)
Definition Finding.h:248
AWS_INSPECTOR2_API Aws::Utils::Json::JsonValue Jsonize() const
Finding & WithTitle(TitleT &&value)
Definition Finding.h:286
Finding & WithInspectorScore(double value)
Definition Finding.h:171
Finding & WithFirstObservedAt(FirstObservedAtT &&value)
Definition Finding.h:148
Finding & WithLastObservedAt(LastObservedAtT &&value)
Definition Finding.h:196
void SetExploitAvailable(ExploitAvailable value)
Definition Finding.h:110
void SetDescription(DescriptionT &&value)
Definition Finding.h:87
void SetLastObservedAt(LastObservedAtT &&value)
Definition Finding.h:194
Finding & AddResources(ResourcesT &&value)
Definition Finding.h:250
void SetSeverity(Severity value)
Definition Finding.h:263
void SetNetworkReachabilityDetails(NetworkReachabilityDetailsT &&value)
Definition Finding.h:206
void SetPackageVulnerabilityDetails(PackageVulnerabilityDetailsT &&value)
Definition Finding.h:218
AWS_INSPECTOR2_API Finding()=default
ExploitAvailable GetExploitAvailable() const
Definition Finding.h:108
bool ExploitAvailableHasBeenSet() const
Definition Finding.h:109
Finding & WithUpdatedAt(UpdatedAtT &&value)
Definition Finding.h:311
AWS_INSPECTOR2_API Finding & operator=(Aws::Utils::Json::JsonView jsonValue)
Finding & WithCodeVulnerabilityDetails(CodeVulnerabilityDetailsT &&value)
Definition Finding.h:77
const Aws::String & GetFindingArn() const
Definition Finding.h:131
void SetEpss(EpssT &&value)
Definition Finding.h:99
const Aws::String & GetAwsAccountId() const
Definition Finding.h:59
const Remediation & GetRemediation() const
Definition Finding.h:227
bool FixAvailableHasBeenSet() const
Definition Finding.h:159
void SetTitle(TitleT &&value)
Definition Finding.h:284
void SetType(FindingType value)
Definition Finding.h:298
bool FindingArnHasBeenSet() const
Definition Finding.h:132
void SetInspectorScore(double value)
Definition Finding.h:170
bool InspectorScoreHasBeenSet() const
Definition Finding.h:169
Finding & WithAwsAccountId(AwsAccountIdT &&value)
Definition Finding.h:64
Finding & WithSeverity(Severity value)
Definition Finding.h:264
const Aws::Vector< Resource > & GetResources() const
Definition Finding.h:243
const PackageVulnerabilityDetails & GetPackageVulnerabilityDetails() const
Definition Finding.h:215
const NetworkReachabilityDetails & GetNetworkReachabilityDetails() const
Definition Finding.h:203
Finding & WithInspectorScoreDetails(InspectorScoreDetailsT &&value)
Definition Finding.h:183
const Aws::String & GetTitle() const
Definition Finding.h:281
Finding & WithEpss(EpssT &&value)
Definition Finding.h:101
bool PackageVulnerabilityDetailsHasBeenSet() const
Definition Finding.h:216
const EpssDetails & GetEpss() const
Definition Finding.h:96
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue