AWS SDK for C++

AWS SDK for C++ Version 1.11.743

Loading...
Searching...
No Matches
Vulnerability.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/AtigData.h>
12#include <aws/inspector2/model/CisaData.h>
13#include <aws/inspector2/model/Cvss2.h>
14#include <aws/inspector2/model/Cvss3.h>
15#include <aws/inspector2/model/Cvss4.h>
16#include <aws/inspector2/model/Epss.h>
17#include <aws/inspector2/model/ExploitObserved.h>
18#include <aws/inspector2/model/VulnerabilitySource.h>
19
20#include <utility>
21
22namespace Aws {
23namespace Utils {
24namespace Json {
25class JsonValue;
26class JsonView;
27} // namespace Json
28} // namespace Utils
29namespace Inspector2 {
30namespace Model {
31
39 public:
40 AWS_INSPECTOR2_API Vulnerability() = default;
41 AWS_INSPECTOR2_API Vulnerability(Aws::Utils::Json::JsonView jsonValue);
42 AWS_INSPECTOR2_API Vulnerability& operator=(Aws::Utils::Json::JsonView jsonValue);
43 AWS_INSPECTOR2_API Aws::Utils::Json::JsonValue Jsonize() const;
44
46
49 inline const Aws::String& GetId() const { return m_id; }
50 inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
51 template <typename IdT = Aws::String>
52 void SetId(IdT&& value) {
53 m_idHasBeenSet = true;
54 m_id = std::forward<IdT>(value);
55 }
56 template <typename IdT = Aws::String>
57 Vulnerability& WithId(IdT&& value) {
58 SetId(std::forward<IdT>(value));
59 return *this;
60 }
62
64
67 inline const Aws::Vector<Aws::String>& GetCwes() const { return m_cwes; }
68 inline bool CwesHasBeenSet() const { return m_cwesHasBeenSet; }
69 template <typename CwesT = Aws::Vector<Aws::String>>
70 void SetCwes(CwesT&& value) {
71 m_cwesHasBeenSet = true;
72 m_cwes = std::forward<CwesT>(value);
73 }
74 template <typename CwesT = Aws::Vector<Aws::String>>
75 Vulnerability& WithCwes(CwesT&& value) {
76 SetCwes(std::forward<CwesT>(value));
77 return *this;
78 }
79 template <typename CwesT = Aws::String>
80 Vulnerability& AddCwes(CwesT&& value) {
81 m_cwesHasBeenSet = true;
82 m_cwes.emplace_back(std::forward<CwesT>(value));
83 return *this;
84 }
86
88
92 inline const CisaData& GetCisaData() const { return m_cisaData; }
93 inline bool CisaDataHasBeenSet() const { return m_cisaDataHasBeenSet; }
94 template <typename CisaDataT = CisaData>
95 void SetCisaData(CisaDataT&& value) {
96 m_cisaDataHasBeenSet = true;
97 m_cisaData = std::forward<CisaDataT>(value);
98 }
99 template <typename CisaDataT = CisaData>
100 Vulnerability& WithCisaData(CisaDataT&& value) {
101 SetCisaData(std::forward<CisaDataT>(value));
102 return *this;
103 }
105
107
112 inline VulnerabilitySource GetSource() const { return m_source; }
113 inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; }
114 inline void SetSource(VulnerabilitySource value) {
115 m_sourceHasBeenSet = true;
116 m_source = value;
117 }
119 SetSource(value);
120 return *this;
121 }
123
125
128 inline const Aws::String& GetDescription() const { return m_description; }
129 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
130 template <typename DescriptionT = Aws::String>
131 void SetDescription(DescriptionT&& value) {
132 m_descriptionHasBeenSet = true;
133 m_description = std::forward<DescriptionT>(value);
134 }
135 template <typename DescriptionT = Aws::String>
136 Vulnerability& WithDescription(DescriptionT&& value) {
137 SetDescription(std::forward<DescriptionT>(value));
138 return *this;
139 }
141
143
147 inline const AtigData& GetAtigData() const { return m_atigData; }
148 inline bool AtigDataHasBeenSet() const { return m_atigDataHasBeenSet; }
149 template <typename AtigDataT = AtigData>
150 void SetAtigData(AtigDataT&& value) {
151 m_atigDataHasBeenSet = true;
152 m_atigData = std::forward<AtigDataT>(value);
153 }
154 template <typename AtigDataT = AtigData>
155 Vulnerability& WithAtigData(AtigDataT&& value) {
156 SetAtigData(std::forward<AtigDataT>(value));
157 return *this;
158 }
160
162
165 inline const Aws::String& GetVendorSeverity() const { return m_vendorSeverity; }
166 inline bool VendorSeverityHasBeenSet() const { return m_vendorSeverityHasBeenSet; }
167 template <typename VendorSeverityT = Aws::String>
168 void SetVendorSeverity(VendorSeverityT&& value) {
169 m_vendorSeverityHasBeenSet = true;
170 m_vendorSeverity = std::forward<VendorSeverityT>(value);
171 }
172 template <typename VendorSeverityT = Aws::String>
173 Vulnerability& WithVendorSeverity(VendorSeverityT&& value) {
174 SetVendorSeverity(std::forward<VendorSeverityT>(value));
175 return *this;
176 }
178
180
184 inline const Cvss4& GetCvss4() const { return m_cvss4; }
185 inline bool Cvss4HasBeenSet() const { return m_cvss4HasBeenSet; }
186 template <typename Cvss4T = Cvss4>
187 void SetCvss4(Cvss4T&& value) {
188 m_cvss4HasBeenSet = true;
189 m_cvss4 = std::forward<Cvss4T>(value);
190 }
191 template <typename Cvss4T = Cvss4>
192 Vulnerability& WithCvss4(Cvss4T&& value) {
193 SetCvss4(std::forward<Cvss4T>(value));
194 return *this;
195 }
197
199
203 inline const Cvss3& GetCvss3() const { return m_cvss3; }
204 inline bool Cvss3HasBeenSet() const { return m_cvss3HasBeenSet; }
205 template <typename Cvss3T = Cvss3>
206 void SetCvss3(Cvss3T&& value) {
207 m_cvss3HasBeenSet = true;
208 m_cvss3 = std::forward<Cvss3T>(value);
209 }
210 template <typename Cvss3T = Cvss3>
211 Vulnerability& WithCvss3(Cvss3T&& value) {
212 SetCvss3(std::forward<Cvss3T>(value));
213 return *this;
214 }
216
218
221 inline const Aws::Vector<Aws::String>& GetRelatedVulnerabilities() const { return m_relatedVulnerabilities; }
222 inline bool RelatedVulnerabilitiesHasBeenSet() const { return m_relatedVulnerabilitiesHasBeenSet; }
223 template <typename RelatedVulnerabilitiesT = Aws::Vector<Aws::String>>
224 void SetRelatedVulnerabilities(RelatedVulnerabilitiesT&& value) {
225 m_relatedVulnerabilitiesHasBeenSet = true;
226 m_relatedVulnerabilities = std::forward<RelatedVulnerabilitiesT>(value);
227 }
228 template <typename RelatedVulnerabilitiesT = Aws::Vector<Aws::String>>
229 Vulnerability& WithRelatedVulnerabilities(RelatedVulnerabilitiesT&& value) {
230 SetRelatedVulnerabilities(std::forward<RelatedVulnerabilitiesT>(value));
231 return *this;
232 }
233 template <typename RelatedVulnerabilitiesT = Aws::String>
234 Vulnerability& AddRelatedVulnerabilities(RelatedVulnerabilitiesT&& value) {
235 m_relatedVulnerabilitiesHasBeenSet = true;
236 m_relatedVulnerabilities.emplace_back(std::forward<RelatedVulnerabilitiesT>(value));
237 return *this;
238 }
240
242
246 inline const Cvss2& GetCvss2() const { return m_cvss2; }
247 inline bool Cvss2HasBeenSet() const { return m_cvss2HasBeenSet; }
248 template <typename Cvss2T = Cvss2>
249 void SetCvss2(Cvss2T&& value) {
250 m_cvss2HasBeenSet = true;
251 m_cvss2 = std::forward<Cvss2T>(value);
252 }
253 template <typename Cvss2T = Cvss2>
254 Vulnerability& WithCvss2(Cvss2T&& value) {
255 SetCvss2(std::forward<Cvss2T>(value));
256 return *this;
257 }
259
261
264 inline const Aws::Utils::DateTime& GetVendorCreatedAt() const { return m_vendorCreatedAt; }
265 inline bool VendorCreatedAtHasBeenSet() const { return m_vendorCreatedAtHasBeenSet; }
266 template <typename VendorCreatedAtT = Aws::Utils::DateTime>
267 void SetVendorCreatedAt(VendorCreatedAtT&& value) {
268 m_vendorCreatedAtHasBeenSet = true;
269 m_vendorCreatedAt = std::forward<VendorCreatedAtT>(value);
270 }
271 template <typename VendorCreatedAtT = Aws::Utils::DateTime>
272 Vulnerability& WithVendorCreatedAt(VendorCreatedAtT&& value) {
273 SetVendorCreatedAt(std::forward<VendorCreatedAtT>(value));
274 return *this;
275 }
277
279
282 inline const Aws::Utils::DateTime& GetVendorUpdatedAt() const { return m_vendorUpdatedAt; }
283 inline bool VendorUpdatedAtHasBeenSet() const { return m_vendorUpdatedAtHasBeenSet; }
284 template <typename VendorUpdatedAtT = Aws::Utils::DateTime>
285 void SetVendorUpdatedAt(VendorUpdatedAtT&& value) {
286 m_vendorUpdatedAtHasBeenSet = true;
287 m_vendorUpdatedAt = std::forward<VendorUpdatedAtT>(value);
288 }
289 template <typename VendorUpdatedAtT = Aws::Utils::DateTime>
290 Vulnerability& WithVendorUpdatedAt(VendorUpdatedAtT&& value) {
291 SetVendorUpdatedAt(std::forward<VendorUpdatedAtT>(value));
292 return *this;
293 }
295
297
300 inline const Aws::String& GetSourceUrl() const { return m_sourceUrl; }
301 inline bool SourceUrlHasBeenSet() const { return m_sourceUrlHasBeenSet; }
302 template <typename SourceUrlT = Aws::String>
303 void SetSourceUrl(SourceUrlT&& value) {
304 m_sourceUrlHasBeenSet = true;
305 m_sourceUrl = std::forward<SourceUrlT>(value);
306 }
307 template <typename SourceUrlT = Aws::String>
308 Vulnerability& WithSourceUrl(SourceUrlT&& value) {
309 SetSourceUrl(std::forward<SourceUrlT>(value));
310 return *this;
311 }
313
315
318 inline const Aws::Vector<Aws::String>& GetReferenceUrls() const { return m_referenceUrls; }
319 inline bool ReferenceUrlsHasBeenSet() const { return m_referenceUrlsHasBeenSet; }
320 template <typename ReferenceUrlsT = Aws::Vector<Aws::String>>
321 void SetReferenceUrls(ReferenceUrlsT&& value) {
322 m_referenceUrlsHasBeenSet = true;
323 m_referenceUrls = std::forward<ReferenceUrlsT>(value);
324 }
325 template <typename ReferenceUrlsT = Aws::Vector<Aws::String>>
326 Vulnerability& WithReferenceUrls(ReferenceUrlsT&& value) {
327 SetReferenceUrls(std::forward<ReferenceUrlsT>(value));
328 return *this;
329 }
330 template <typename ReferenceUrlsT = Aws::String>
331 Vulnerability& AddReferenceUrls(ReferenceUrlsT&& value) {
332 m_referenceUrlsHasBeenSet = true;
333 m_referenceUrls.emplace_back(std::forward<ReferenceUrlsT>(value));
334 return *this;
335 }
337
339
342 inline const ExploitObserved& GetExploitObserved() const { return m_exploitObserved; }
343 inline bool ExploitObservedHasBeenSet() const { return m_exploitObservedHasBeenSet; }
344 template <typename ExploitObservedT = ExploitObserved>
345 void SetExploitObserved(ExploitObservedT&& value) {
346 m_exploitObservedHasBeenSet = true;
347 m_exploitObserved = std::forward<ExploitObservedT>(value);
348 }
349 template <typename ExploitObservedT = ExploitObserved>
350 Vulnerability& WithExploitObserved(ExploitObservedT&& value) {
351 SetExploitObserved(std::forward<ExploitObservedT>(value));
352 return *this;
353 }
355
357
360 inline const Aws::Vector<Aws::String>& GetDetectionPlatforms() const { return m_detectionPlatforms; }
361 inline bool DetectionPlatformsHasBeenSet() const { return m_detectionPlatformsHasBeenSet; }
362 template <typename DetectionPlatformsT = Aws::Vector<Aws::String>>
363 void SetDetectionPlatforms(DetectionPlatformsT&& value) {
364 m_detectionPlatformsHasBeenSet = true;
365 m_detectionPlatforms = std::forward<DetectionPlatformsT>(value);
366 }
367 template <typename DetectionPlatformsT = Aws::Vector<Aws::String>>
368 Vulnerability& WithDetectionPlatforms(DetectionPlatformsT&& value) {
369 SetDetectionPlatforms(std::forward<DetectionPlatformsT>(value));
370 return *this;
371 }
372 template <typename DetectionPlatformsT = Aws::String>
373 Vulnerability& AddDetectionPlatforms(DetectionPlatformsT&& value) {
374 m_detectionPlatformsHasBeenSet = true;
375 m_detectionPlatforms.emplace_back(std::forward<DetectionPlatformsT>(value));
376 return *this;
377 }
379
381
385 inline const Epss& GetEpss() const { return m_epss; }
386 inline bool EpssHasBeenSet() const { return m_epssHasBeenSet; }
387 template <typename EpssT = Epss>
388 void SetEpss(EpssT&& value) {
389 m_epssHasBeenSet = true;
390 m_epss = std::forward<EpssT>(value);
391 }
392 template <typename EpssT = Epss>
393 Vulnerability& WithEpss(EpssT&& value) {
394 SetEpss(std::forward<EpssT>(value));
395 return *this;
396 }
398 private:
399 Aws::String m_id;
400
402
403 CisaData m_cisaData;
404
406
407 Aws::String m_description;
408
409 AtigData m_atigData;
410
411 Aws::String m_vendorSeverity;
412
413 Cvss4 m_cvss4;
414
415 Cvss3 m_cvss3;
416
417 Aws::Vector<Aws::String> m_relatedVulnerabilities;
418
419 Cvss2 m_cvss2;
420
421 Aws::Utils::DateTime m_vendorCreatedAt{};
422
423 Aws::Utils::DateTime m_vendorUpdatedAt{};
424
425 Aws::String m_sourceUrl;
426
427 Aws::Vector<Aws::String> m_referenceUrls;
428
429 ExploitObserved m_exploitObserved;
430
431 Aws::Vector<Aws::String> m_detectionPlatforms;
432
433 Epss m_epss;
434 bool m_idHasBeenSet = false;
435 bool m_cwesHasBeenSet = false;
436 bool m_cisaDataHasBeenSet = false;
437 bool m_sourceHasBeenSet = false;
438 bool m_descriptionHasBeenSet = false;
439 bool m_atigDataHasBeenSet = false;
440 bool m_vendorSeverityHasBeenSet = false;
441 bool m_cvss4HasBeenSet = false;
442 bool m_cvss3HasBeenSet = false;
443 bool m_relatedVulnerabilitiesHasBeenSet = false;
444 bool m_cvss2HasBeenSet = false;
445 bool m_vendorCreatedAtHasBeenSet = false;
446 bool m_vendorUpdatedAtHasBeenSet = false;
447 bool m_sourceUrlHasBeenSet = false;
448 bool m_referenceUrlsHasBeenSet = false;
449 bool m_exploitObservedHasBeenSet = false;
450 bool m_detectionPlatformsHasBeenSet = false;
451 bool m_epssHasBeenSet = false;
452};
453
454} // namespace Model
455} // namespace Inspector2
456} // namespace Aws
Vulnerability & WithEpss(EpssT &&value)
void SetExploitObserved(ExploitObservedT &&value)
Vulnerability & WithDescription(DescriptionT &&value)
const Aws::Vector< Aws::String > & GetCwes() const
void SetSource(VulnerabilitySource value)
Vulnerability & WithVendorSeverity(VendorSeverityT &&value)
AWS_INSPECTOR2_API Vulnerability & operator=(Aws::Utils::Json::JsonView jsonValue)
const AtigData & GetAtigData() const
Vulnerability & WithCvss3(Cvss3T &&value)
void SetVendorUpdatedAt(VendorUpdatedAtT &&value)
Vulnerability & WithReferenceUrls(ReferenceUrlsT &&value)
Vulnerability & AddRelatedVulnerabilities(RelatedVulnerabilitiesT &&value)
Vulnerability & AddReferenceUrls(ReferenceUrlsT &&value)
AWS_INSPECTOR2_API Aws::Utils::Json::JsonValue Jsonize() const
Vulnerability & WithCvss4(Cvss4T &&value)
Vulnerability & AddDetectionPlatforms(DetectionPlatformsT &&value)
Vulnerability & WithCvss2(Cvss2T &&value)
void SetVendorSeverity(VendorSeverityT &&value)
void SetSourceUrl(SourceUrlT &&value)
Vulnerability & WithVendorUpdatedAt(VendorUpdatedAtT &&value)
Vulnerability & WithId(IdT &&value)
void SetVendorCreatedAt(VendorCreatedAtT &&value)
AWS_INSPECTOR2_API Vulnerability(Aws::Utils::Json::JsonView jsonValue)
const Aws::Utils::DateTime & GetVendorUpdatedAt() const
void SetAtigData(AtigDataT &&value)
const Aws::String & GetId() const
Vulnerability & AddCwes(CwesT &&value)
Vulnerability & WithSourceUrl(SourceUrlT &&value)
const Aws::String & GetVendorSeverity() const
Vulnerability & WithVendorCreatedAt(VendorCreatedAtT &&value)
Vulnerability & WithDetectionPlatforms(DetectionPlatformsT &&value)
void SetRelatedVulnerabilities(RelatedVulnerabilitiesT &&value)
const Aws::Vector< Aws::String > & GetDetectionPlatforms() const
const Aws::Vector< Aws::String > & GetReferenceUrls() const
const Aws::String & GetSourceUrl() const
Vulnerability & WithCwes(CwesT &&value)
void SetReferenceUrls(ReferenceUrlsT &&value)
Vulnerability & WithExploitObserved(ExploitObservedT &&value)
const Aws::String & GetDescription() const
const ExploitObserved & GetExploitObserved() const
void SetDescription(DescriptionT &&value)
Vulnerability & WithAtigData(AtigDataT &&value)
void SetCisaData(CisaDataT &&value)
VulnerabilitySource GetSource() const
Vulnerability & WithRelatedVulnerabilities(RelatedVulnerabilitiesT &&value)
AWS_INSPECTOR2_API Vulnerability()=default
Vulnerability & WithSource(VulnerabilitySource value)
const CisaData & GetCisaData() const
void SetDetectionPlatforms(DetectionPlatformsT &&value)
const Aws::Vector< Aws::String > & GetRelatedVulnerabilities() const
Vulnerability & WithCisaData(CisaDataT &&value)
const Aws::Utils::DateTime & GetVendorCreatedAt() 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