AWS SDK for C++

AWS SDK for C++ Version 1.11.632

Loading...
Searching...
No Matches
Vulnerability.h
1
6#pragma once
7#include <aws/inspector2/Inspector2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/inspector2/model/CisaData.h>
11#include <aws/inspector2/model/VulnerabilitySource.h>
12#include <aws/inspector2/model/AtigData.h>
13#include <aws/inspector2/model/Cvss4.h>
14#include <aws/inspector2/model/Cvss3.h>
15#include <aws/inspector2/model/Cvss2.h>
16#include <aws/core/utils/DateTime.h>
17#include <aws/inspector2/model/ExploitObserved.h>
18#include <aws/inspector2/model/Epss.h>
19#include <utility>
20
21namespace Aws
22{
23namespace Utils
24{
25namespace Json
26{
27 class JsonValue;
28 class JsonView;
29} // namespace Json
30} // namespace Utils
31namespace Inspector2
32{
33namespace Model
34{
35
43 {
44 public:
45 AWS_INSPECTOR2_API Vulnerability() = default;
46 AWS_INSPECTOR2_API Vulnerability(Aws::Utils::Json::JsonView jsonValue);
47 AWS_INSPECTOR2_API Vulnerability& operator=(Aws::Utils::Json::JsonView jsonValue);
48 AWS_INSPECTOR2_API Aws::Utils::Json::JsonValue Jsonize() const;
49
50
52
55 inline const Aws::String& GetId() const { return m_id; }
56 inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
57 template<typename IdT = Aws::String>
58 void SetId(IdT&& value) { m_idHasBeenSet = true; m_id = std::forward<IdT>(value); }
59 template<typename IdT = Aws::String>
60 Vulnerability& WithId(IdT&& value) { SetId(std::forward<IdT>(value)); return *this;}
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) { m_cwesHasBeenSet = true; m_cwes = std::forward<CwesT>(value); }
71 template<typename CwesT = Aws::Vector<Aws::String>>
72 Vulnerability& WithCwes(CwesT&& value) { SetCwes(std::forward<CwesT>(value)); return *this;}
73 template<typename CwesT = Aws::String>
74 Vulnerability& AddCwes(CwesT&& value) { m_cwesHasBeenSet = true; m_cwes.emplace_back(std::forward<CwesT>(value)); return *this; }
76
78
82 inline const CisaData& GetCisaData() const { return m_cisaData; }
83 inline bool CisaDataHasBeenSet() const { return m_cisaDataHasBeenSet; }
84 template<typename CisaDataT = CisaData>
85 void SetCisaData(CisaDataT&& value) { m_cisaDataHasBeenSet = true; m_cisaData = std::forward<CisaDataT>(value); }
86 template<typename CisaDataT = CisaData>
87 Vulnerability& WithCisaData(CisaDataT&& value) { SetCisaData(std::forward<CisaDataT>(value)); return *this;}
89
91
96 inline VulnerabilitySource GetSource() const { return m_source; }
97 inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; }
98 inline void SetSource(VulnerabilitySource value) { m_sourceHasBeenSet = true; m_source = value; }
99 inline Vulnerability& WithSource(VulnerabilitySource value) { SetSource(value); return *this;}
101
103
106 inline const Aws::String& GetDescription() const { return m_description; }
107 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
108 template<typename DescriptionT = Aws::String>
109 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
110 template<typename DescriptionT = Aws::String>
111 Vulnerability& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
113
115
119 inline const AtigData& GetAtigData() const { return m_atigData; }
120 inline bool AtigDataHasBeenSet() const { return m_atigDataHasBeenSet; }
121 template<typename AtigDataT = AtigData>
122 void SetAtigData(AtigDataT&& value) { m_atigDataHasBeenSet = true; m_atigData = std::forward<AtigDataT>(value); }
123 template<typename AtigDataT = AtigData>
124 Vulnerability& WithAtigData(AtigDataT&& value) { SetAtigData(std::forward<AtigDataT>(value)); return *this;}
126
128
131 inline const Aws::String& GetVendorSeverity() const { return m_vendorSeverity; }
132 inline bool VendorSeverityHasBeenSet() const { return m_vendorSeverityHasBeenSet; }
133 template<typename VendorSeverityT = Aws::String>
134 void SetVendorSeverity(VendorSeverityT&& value) { m_vendorSeverityHasBeenSet = true; m_vendorSeverity = std::forward<VendorSeverityT>(value); }
135 template<typename VendorSeverityT = Aws::String>
136 Vulnerability& WithVendorSeverity(VendorSeverityT&& value) { SetVendorSeverity(std::forward<VendorSeverityT>(value)); return *this;}
138
140
144 inline const Cvss4& GetCvss4() const { return m_cvss4; }
145 inline bool Cvss4HasBeenSet() const { return m_cvss4HasBeenSet; }
146 template<typename Cvss4T = Cvss4>
147 void SetCvss4(Cvss4T&& value) { m_cvss4HasBeenSet = true; m_cvss4 = std::forward<Cvss4T>(value); }
148 template<typename Cvss4T = Cvss4>
149 Vulnerability& WithCvss4(Cvss4T&& value) { SetCvss4(std::forward<Cvss4T>(value)); return *this;}
151
153
157 inline const Cvss3& GetCvss3() const { return m_cvss3; }
158 inline bool Cvss3HasBeenSet() const { return m_cvss3HasBeenSet; }
159 template<typename Cvss3T = Cvss3>
160 void SetCvss3(Cvss3T&& value) { m_cvss3HasBeenSet = true; m_cvss3 = std::forward<Cvss3T>(value); }
161 template<typename Cvss3T = Cvss3>
162 Vulnerability& WithCvss3(Cvss3T&& value) { SetCvss3(std::forward<Cvss3T>(value)); return *this;}
164
166
169 inline const Aws::Vector<Aws::String>& GetRelatedVulnerabilities() const { return m_relatedVulnerabilities; }
170 inline bool RelatedVulnerabilitiesHasBeenSet() const { return m_relatedVulnerabilitiesHasBeenSet; }
171 template<typename RelatedVulnerabilitiesT = Aws::Vector<Aws::String>>
172 void SetRelatedVulnerabilities(RelatedVulnerabilitiesT&& value) { m_relatedVulnerabilitiesHasBeenSet = true; m_relatedVulnerabilities = std::forward<RelatedVulnerabilitiesT>(value); }
173 template<typename RelatedVulnerabilitiesT = Aws::Vector<Aws::String>>
174 Vulnerability& WithRelatedVulnerabilities(RelatedVulnerabilitiesT&& value) { SetRelatedVulnerabilities(std::forward<RelatedVulnerabilitiesT>(value)); return *this;}
175 template<typename RelatedVulnerabilitiesT = Aws::String>
176 Vulnerability& AddRelatedVulnerabilities(RelatedVulnerabilitiesT&& value) { m_relatedVulnerabilitiesHasBeenSet = true; m_relatedVulnerabilities.emplace_back(std::forward<RelatedVulnerabilitiesT>(value)); return *this; }
178
180
184 inline const Cvss2& GetCvss2() const { return m_cvss2; }
185 inline bool Cvss2HasBeenSet() const { return m_cvss2HasBeenSet; }
186 template<typename Cvss2T = Cvss2>
187 void SetCvss2(Cvss2T&& value) { m_cvss2HasBeenSet = true; m_cvss2 = std::forward<Cvss2T>(value); }
188 template<typename Cvss2T = Cvss2>
189 Vulnerability& WithCvss2(Cvss2T&& value) { SetCvss2(std::forward<Cvss2T>(value)); return *this;}
191
193
196 inline const Aws::Utils::DateTime& GetVendorCreatedAt() const { return m_vendorCreatedAt; }
197 inline bool VendorCreatedAtHasBeenSet() const { return m_vendorCreatedAtHasBeenSet; }
198 template<typename VendorCreatedAtT = Aws::Utils::DateTime>
199 void SetVendorCreatedAt(VendorCreatedAtT&& value) { m_vendorCreatedAtHasBeenSet = true; m_vendorCreatedAt = std::forward<VendorCreatedAtT>(value); }
200 template<typename VendorCreatedAtT = Aws::Utils::DateTime>
201 Vulnerability& WithVendorCreatedAt(VendorCreatedAtT&& value) { SetVendorCreatedAt(std::forward<VendorCreatedAtT>(value)); return *this;}
203
205
208 inline const Aws::Utils::DateTime& GetVendorUpdatedAt() const { return m_vendorUpdatedAt; }
209 inline bool VendorUpdatedAtHasBeenSet() const { return m_vendorUpdatedAtHasBeenSet; }
210 template<typename VendorUpdatedAtT = Aws::Utils::DateTime>
211 void SetVendorUpdatedAt(VendorUpdatedAtT&& value) { m_vendorUpdatedAtHasBeenSet = true; m_vendorUpdatedAt = std::forward<VendorUpdatedAtT>(value); }
212 template<typename VendorUpdatedAtT = Aws::Utils::DateTime>
213 Vulnerability& WithVendorUpdatedAt(VendorUpdatedAtT&& value) { SetVendorUpdatedAt(std::forward<VendorUpdatedAtT>(value)); return *this;}
215
217
220 inline const Aws::String& GetSourceUrl() const { return m_sourceUrl; }
221 inline bool SourceUrlHasBeenSet() const { return m_sourceUrlHasBeenSet; }
222 template<typename SourceUrlT = Aws::String>
223 void SetSourceUrl(SourceUrlT&& value) { m_sourceUrlHasBeenSet = true; m_sourceUrl = std::forward<SourceUrlT>(value); }
224 template<typename SourceUrlT = Aws::String>
225 Vulnerability& WithSourceUrl(SourceUrlT&& value) { SetSourceUrl(std::forward<SourceUrlT>(value)); return *this;}
227
229
232 inline const Aws::Vector<Aws::String>& GetReferenceUrls() const { return m_referenceUrls; }
233 inline bool ReferenceUrlsHasBeenSet() const { return m_referenceUrlsHasBeenSet; }
234 template<typename ReferenceUrlsT = Aws::Vector<Aws::String>>
235 void SetReferenceUrls(ReferenceUrlsT&& value) { m_referenceUrlsHasBeenSet = true; m_referenceUrls = std::forward<ReferenceUrlsT>(value); }
236 template<typename ReferenceUrlsT = Aws::Vector<Aws::String>>
237 Vulnerability& WithReferenceUrls(ReferenceUrlsT&& value) { SetReferenceUrls(std::forward<ReferenceUrlsT>(value)); return *this;}
238 template<typename ReferenceUrlsT = Aws::String>
239 Vulnerability& AddReferenceUrls(ReferenceUrlsT&& value) { m_referenceUrlsHasBeenSet = true; m_referenceUrls.emplace_back(std::forward<ReferenceUrlsT>(value)); return *this; }
241
243
246 inline const ExploitObserved& GetExploitObserved() const { return m_exploitObserved; }
247 inline bool ExploitObservedHasBeenSet() const { return m_exploitObservedHasBeenSet; }
248 template<typename ExploitObservedT = ExploitObserved>
249 void SetExploitObserved(ExploitObservedT&& value) { m_exploitObservedHasBeenSet = true; m_exploitObserved = std::forward<ExploitObservedT>(value); }
250 template<typename ExploitObservedT = ExploitObserved>
251 Vulnerability& WithExploitObserved(ExploitObservedT&& value) { SetExploitObserved(std::forward<ExploitObservedT>(value)); return *this;}
253
255
258 inline const Aws::Vector<Aws::String>& GetDetectionPlatforms() const { return m_detectionPlatforms; }
259 inline bool DetectionPlatformsHasBeenSet() const { return m_detectionPlatformsHasBeenSet; }
260 template<typename DetectionPlatformsT = Aws::Vector<Aws::String>>
261 void SetDetectionPlatforms(DetectionPlatformsT&& value) { m_detectionPlatformsHasBeenSet = true; m_detectionPlatforms = std::forward<DetectionPlatformsT>(value); }
262 template<typename DetectionPlatformsT = Aws::Vector<Aws::String>>
263 Vulnerability& WithDetectionPlatforms(DetectionPlatformsT&& value) { SetDetectionPlatforms(std::forward<DetectionPlatformsT>(value)); return *this;}
264 template<typename DetectionPlatformsT = Aws::String>
265 Vulnerability& AddDetectionPlatforms(DetectionPlatformsT&& value) { m_detectionPlatformsHasBeenSet = true; m_detectionPlatforms.emplace_back(std::forward<DetectionPlatformsT>(value)); return *this; }
267
269
273 inline const Epss& GetEpss() const { return m_epss; }
274 inline bool EpssHasBeenSet() const { return m_epssHasBeenSet; }
275 template<typename EpssT = Epss>
276 void SetEpss(EpssT&& value) { m_epssHasBeenSet = true; m_epss = std::forward<EpssT>(value); }
277 template<typename EpssT = Epss>
278 Vulnerability& WithEpss(EpssT&& value) { SetEpss(std::forward<EpssT>(value)); return *this;}
280 private:
281
282 Aws::String m_id;
283 bool m_idHasBeenSet = false;
284
286 bool m_cwesHasBeenSet = false;
287
288 CisaData m_cisaData;
289 bool m_cisaDataHasBeenSet = false;
290
292 bool m_sourceHasBeenSet = false;
293
294 Aws::String m_description;
295 bool m_descriptionHasBeenSet = false;
296
297 AtigData m_atigData;
298 bool m_atigDataHasBeenSet = false;
299
300 Aws::String m_vendorSeverity;
301 bool m_vendorSeverityHasBeenSet = false;
302
303 Cvss4 m_cvss4;
304 bool m_cvss4HasBeenSet = false;
305
306 Cvss3 m_cvss3;
307 bool m_cvss3HasBeenSet = false;
308
309 Aws::Vector<Aws::String> m_relatedVulnerabilities;
310 bool m_relatedVulnerabilitiesHasBeenSet = false;
311
312 Cvss2 m_cvss2;
313 bool m_cvss2HasBeenSet = false;
314
315 Aws::Utils::DateTime m_vendorCreatedAt{};
316 bool m_vendorCreatedAtHasBeenSet = false;
317
318 Aws::Utils::DateTime m_vendorUpdatedAt{};
319 bool m_vendorUpdatedAtHasBeenSet = false;
320
321 Aws::String m_sourceUrl;
322 bool m_sourceUrlHasBeenSet = false;
323
324 Aws::Vector<Aws::String> m_referenceUrls;
325 bool m_referenceUrlsHasBeenSet = false;
326
327 ExploitObserved m_exploitObserved;
328 bool m_exploitObservedHasBeenSet = false;
329
330 Aws::Vector<Aws::String> m_detectionPlatforms;
331 bool m_detectionPlatformsHasBeenSet = false;
332
333 Epss m_epss;
334 bool m_epssHasBeenSet = false;
335 };
336
337} // namespace Model
338} // namespace Inspector2
339} // 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