AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
Vulnerability.h
1
6#pragma once
7#include <aws/securityhub/SecurityHub_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/securityhub/model/VulnerabilityVendor.h>
11#include <aws/securityhub/model/VulnerabilityFixAvailable.h>
12#include <aws/securityhub/model/VulnerabilityExploitAvailable.h>
13#include <aws/securityhub/model/SoftwarePackage.h>
14#include <aws/securityhub/model/Cvss.h>
15#include <aws/securityhub/model/VulnerabilityCodeVulnerabilities.h>
16#include <utility>
17
18namespace Aws
19{
20namespace Utils
21{
22namespace Json
23{
24 class JsonValue;
25 class JsonView;
26} // namespace Json
27} // namespace Utils
28namespace SecurityHub
29{
30namespace Model
31{
32
39 {
40 public:
41 AWS_SECURITYHUB_API Vulnerability() = default;
42 AWS_SECURITYHUB_API Vulnerability(Aws::Utils::Json::JsonView jsonValue);
43 AWS_SECURITYHUB_API Vulnerability& operator=(Aws::Utils::Json::JsonView jsonValue);
44 AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const;
45
46
48
51 inline const Aws::String& GetId() const { return m_id; }
52 inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
53 template<typename IdT = Aws::String>
54 void SetId(IdT&& value) { m_idHasBeenSet = true; m_id = std::forward<IdT>(value); }
55 template<typename IdT = Aws::String>
56 Vulnerability& WithId(IdT&& value) { SetId(std::forward<IdT>(value)); return *this;}
58
60
63 inline const Aws::Vector<SoftwarePackage>& GetVulnerablePackages() const { return m_vulnerablePackages; }
64 inline bool VulnerablePackagesHasBeenSet() const { return m_vulnerablePackagesHasBeenSet; }
65 template<typename VulnerablePackagesT = Aws::Vector<SoftwarePackage>>
66 void SetVulnerablePackages(VulnerablePackagesT&& value) { m_vulnerablePackagesHasBeenSet = true; m_vulnerablePackages = std::forward<VulnerablePackagesT>(value); }
67 template<typename VulnerablePackagesT = Aws::Vector<SoftwarePackage>>
68 Vulnerability& WithVulnerablePackages(VulnerablePackagesT&& value) { SetVulnerablePackages(std::forward<VulnerablePackagesT>(value)); return *this;}
69 template<typename VulnerablePackagesT = SoftwarePackage>
70 Vulnerability& AddVulnerablePackages(VulnerablePackagesT&& value) { m_vulnerablePackagesHasBeenSet = true; m_vulnerablePackages.emplace_back(std::forward<VulnerablePackagesT>(value)); return *this; }
72
74
77 inline const Aws::Vector<Cvss>& GetCvss() const { return m_cvss; }
78 inline bool CvssHasBeenSet() const { return m_cvssHasBeenSet; }
79 template<typename CvssT = Aws::Vector<Cvss>>
80 void SetCvss(CvssT&& value) { m_cvssHasBeenSet = true; m_cvss = std::forward<CvssT>(value); }
81 template<typename CvssT = Aws::Vector<Cvss>>
82 Vulnerability& WithCvss(CvssT&& value) { SetCvss(std::forward<CvssT>(value)); return *this;}
83 template<typename CvssT = Cvss>
84 Vulnerability& AddCvss(CvssT&& value) { m_cvssHasBeenSet = true; m_cvss.emplace_back(std::forward<CvssT>(value)); return *this; }
86
88
91 inline const Aws::Vector<Aws::String>& GetRelatedVulnerabilities() const { return m_relatedVulnerabilities; }
92 inline bool RelatedVulnerabilitiesHasBeenSet() const { return m_relatedVulnerabilitiesHasBeenSet; }
93 template<typename RelatedVulnerabilitiesT = Aws::Vector<Aws::String>>
94 void SetRelatedVulnerabilities(RelatedVulnerabilitiesT&& value) { m_relatedVulnerabilitiesHasBeenSet = true; m_relatedVulnerabilities = std::forward<RelatedVulnerabilitiesT>(value); }
95 template<typename RelatedVulnerabilitiesT = Aws::Vector<Aws::String>>
96 Vulnerability& WithRelatedVulnerabilities(RelatedVulnerabilitiesT&& value) { SetRelatedVulnerabilities(std::forward<RelatedVulnerabilitiesT>(value)); return *this;}
97 template<typename RelatedVulnerabilitiesT = Aws::String>
98 Vulnerability& AddRelatedVulnerabilities(RelatedVulnerabilitiesT&& value) { m_relatedVulnerabilitiesHasBeenSet = true; m_relatedVulnerabilities.emplace_back(std::forward<RelatedVulnerabilitiesT>(value)); return *this; }
100
102
105 inline const VulnerabilityVendor& GetVendor() const { return m_vendor; }
106 inline bool VendorHasBeenSet() const { return m_vendorHasBeenSet; }
107 template<typename VendorT = VulnerabilityVendor>
108 void SetVendor(VendorT&& value) { m_vendorHasBeenSet = true; m_vendor = std::forward<VendorT>(value); }
109 template<typename VendorT = VulnerabilityVendor>
110 Vulnerability& WithVendor(VendorT&& value) { SetVendor(std::forward<VendorT>(value)); return *this;}
112
114
118 inline const Aws::Vector<Aws::String>& GetReferenceUrls() const { return m_referenceUrls; }
119 inline bool ReferenceUrlsHasBeenSet() const { return m_referenceUrlsHasBeenSet; }
120 template<typename ReferenceUrlsT = Aws::Vector<Aws::String>>
121 void SetReferenceUrls(ReferenceUrlsT&& value) { m_referenceUrlsHasBeenSet = true; m_referenceUrls = std::forward<ReferenceUrlsT>(value); }
122 template<typename ReferenceUrlsT = Aws::Vector<Aws::String>>
123 Vulnerability& WithReferenceUrls(ReferenceUrlsT&& value) { SetReferenceUrls(std::forward<ReferenceUrlsT>(value)); return *this;}
124 template<typename ReferenceUrlsT = Aws::String>
125 Vulnerability& AddReferenceUrls(ReferenceUrlsT&& value) { m_referenceUrlsHasBeenSet = true; m_referenceUrls.emplace_back(std::forward<ReferenceUrlsT>(value)); return *this; }
127
129
141 inline VulnerabilityFixAvailable GetFixAvailable() const { return m_fixAvailable; }
142 inline bool FixAvailableHasBeenSet() const { return m_fixAvailableHasBeenSet; }
143 inline void SetFixAvailable(VulnerabilityFixAvailable value) { m_fixAvailableHasBeenSet = true; m_fixAvailable = value; }
146
148
151 inline double GetEpssScore() const { return m_epssScore; }
152 inline bool EpssScoreHasBeenSet() const { return m_epssScoreHasBeenSet; }
153 inline void SetEpssScore(double value) { m_epssScoreHasBeenSet = true; m_epssScore = value; }
154 inline Vulnerability& WithEpssScore(double value) { SetEpssScore(value); return *this;}
156
158
161 inline VulnerabilityExploitAvailable GetExploitAvailable() const { return m_exploitAvailable; }
162 inline bool ExploitAvailableHasBeenSet() const { return m_exploitAvailableHasBeenSet; }
163 inline void SetExploitAvailable(VulnerabilityExploitAvailable value) { m_exploitAvailableHasBeenSet = true; m_exploitAvailable = value; }
166
168
172 inline const Aws::String& GetLastKnownExploitAt() const { return m_lastKnownExploitAt; }
173 inline bool LastKnownExploitAtHasBeenSet() const { return m_lastKnownExploitAtHasBeenSet; }
174 template<typename LastKnownExploitAtT = Aws::String>
175 void SetLastKnownExploitAt(LastKnownExploitAtT&& value) { m_lastKnownExploitAtHasBeenSet = true; m_lastKnownExploitAt = std::forward<LastKnownExploitAtT>(value); }
176 template<typename LastKnownExploitAtT = Aws::String>
177 Vulnerability& WithLastKnownExploitAt(LastKnownExploitAtT&& value) { SetLastKnownExploitAt(std::forward<LastKnownExploitAtT>(value)); return *this;}
179
181
185 inline const Aws::Vector<VulnerabilityCodeVulnerabilities>& GetCodeVulnerabilities() const { return m_codeVulnerabilities; }
186 inline bool CodeVulnerabilitiesHasBeenSet() const { return m_codeVulnerabilitiesHasBeenSet; }
187 template<typename CodeVulnerabilitiesT = Aws::Vector<VulnerabilityCodeVulnerabilities>>
188 void SetCodeVulnerabilities(CodeVulnerabilitiesT&& value) { m_codeVulnerabilitiesHasBeenSet = true; m_codeVulnerabilities = std::forward<CodeVulnerabilitiesT>(value); }
189 template<typename CodeVulnerabilitiesT = Aws::Vector<VulnerabilityCodeVulnerabilities>>
190 Vulnerability& WithCodeVulnerabilities(CodeVulnerabilitiesT&& value) { SetCodeVulnerabilities(std::forward<CodeVulnerabilitiesT>(value)); return *this;}
191 template<typename CodeVulnerabilitiesT = VulnerabilityCodeVulnerabilities>
192 Vulnerability& AddCodeVulnerabilities(CodeVulnerabilitiesT&& value) { m_codeVulnerabilitiesHasBeenSet = true; m_codeVulnerabilities.emplace_back(std::forward<CodeVulnerabilitiesT>(value)); return *this; }
194 private:
195
196 Aws::String m_id;
197 bool m_idHasBeenSet = false;
198
199 Aws::Vector<SoftwarePackage> m_vulnerablePackages;
200 bool m_vulnerablePackagesHasBeenSet = false;
201
202 Aws::Vector<Cvss> m_cvss;
203 bool m_cvssHasBeenSet = false;
204
205 Aws::Vector<Aws::String> m_relatedVulnerabilities;
206 bool m_relatedVulnerabilitiesHasBeenSet = false;
207
208 VulnerabilityVendor m_vendor;
209 bool m_vendorHasBeenSet = false;
210
211 Aws::Vector<Aws::String> m_referenceUrls;
212 bool m_referenceUrlsHasBeenSet = false;
213
215 bool m_fixAvailableHasBeenSet = false;
216
217 double m_epssScore{0.0};
218 bool m_epssScoreHasBeenSet = false;
219
221 bool m_exploitAvailableHasBeenSet = false;
222
223 Aws::String m_lastKnownExploitAt;
224 bool m_lastKnownExploitAtHasBeenSet = false;
225
227 bool m_codeVulnerabilitiesHasBeenSet = false;
228 };
229
230} // namespace Model
231} // namespace SecurityHub
232} // namespace Aws
Vulnerability & AddCodeVulnerabilities(CodeVulnerabilitiesT &&value)
AWS_SECURITYHUB_API Vulnerability(Aws::Utils::Json::JsonView jsonValue)
Vulnerability & WithId(IdT &&value)
Vulnerability & WithFixAvailable(VulnerabilityFixAvailable value)
void SetReferenceUrls(ReferenceUrlsT &&value)
Vulnerability & WithLastKnownExploitAt(LastKnownExploitAtT &&value)
void SetRelatedVulnerabilities(RelatedVulnerabilitiesT &&value)
const Aws::String & GetLastKnownExploitAt() const
Vulnerability & AddRelatedVulnerabilities(RelatedVulnerabilitiesT &&value)
Vulnerability & AddReferenceUrls(ReferenceUrlsT &&value)
const Aws::Vector< Aws::String > & GetReferenceUrls() const
const Aws::Vector< VulnerabilityCodeVulnerabilities > & GetCodeVulnerabilities() const
Vulnerability & WithCvss(CvssT &&value)
void SetLastKnownExploitAt(LastKnownExploitAtT &&value)
VulnerabilityFixAvailable GetFixAvailable() const
VulnerabilityExploitAvailable GetExploitAvailable() const
const Aws::String & GetId() const
Vulnerability & WithEpssScore(double value)
void SetCodeVulnerabilities(CodeVulnerabilitiesT &&value)
Vulnerability & WithVendor(VendorT &&value)
Vulnerability & WithVulnerablePackages(VulnerablePackagesT &&value)
Vulnerability & WithExploitAvailable(VulnerabilityExploitAvailable value)
Vulnerability & AddVulnerablePackages(VulnerablePackagesT &&value)
AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_SECURITYHUB_API Vulnerability & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetFixAvailable(VulnerabilityFixAvailable value)
void SetExploitAvailable(VulnerabilityExploitAvailable value)
Vulnerability & AddCvss(CvssT &&value)
Vulnerability & WithReferenceUrls(ReferenceUrlsT &&value)
const Aws::Vector< SoftwarePackage > & GetVulnerablePackages() const
const Aws::Vector< Cvss > & GetCvss() const
void SetVulnerablePackages(VulnerablePackagesT &&value)
Vulnerability & WithRelatedVulnerabilities(RelatedVulnerabilitiesT &&value)
Vulnerability & WithCodeVulnerabilities(CodeVulnerabilitiesT &&value)
AWS_SECURITYHUB_API Vulnerability()=default
const VulnerabilityVendor & GetVendor() const
const Aws::Vector< Aws::String > & GetRelatedVulnerabilities() 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