7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/securityhub/SecurityHub_EXPORTS.h>
10#include <aws/securityhub/model/Cvss.h>
11#include <aws/securityhub/model/SoftwarePackage.h>
12#include <aws/securityhub/model/VulnerabilityCodeVulnerabilities.h>
13#include <aws/securityhub/model/VulnerabilityExploitAvailable.h>
14#include <aws/securityhub/model/VulnerabilityFixAvailable.h>
15#include <aws/securityhub/model/VulnerabilityVendor.h>
47 template <
typename IdT = Aws::String>
49 m_idHasBeenSet =
true;
50 m_id = std::forward<IdT>(value);
52 template <
typename IdT = Aws::String>
54 SetId(std::forward<IdT>(value));
65 template <
typename VulnerablePackagesT = Aws::Vector<SoftwarePackage>>
67 m_vulnerablePackagesHasBeenSet =
true;
68 m_vulnerablePackages = std::forward<VulnerablePackagesT>(value);
70 template <
typename VulnerablePackagesT = Aws::Vector<SoftwarePackage>>
75 template <
typename VulnerablePackagesT = SoftwarePackage>
77 m_vulnerablePackagesHasBeenSet =
true;
78 m_vulnerablePackages.emplace_back(std::forward<VulnerablePackagesT>(value));
89 template <
typename CvssT = Aws::Vector<Cvss>>
91 m_cvssHasBeenSet =
true;
92 m_cvss = std::forward<CvssT>(value);
94 template <
typename CvssT = Aws::Vector<Cvss>>
96 SetCvss(std::forward<CvssT>(value));
99 template <
typename CvssT = Cvss>
101 m_cvssHasBeenSet =
true;
102 m_cvss.emplace_back(std::forward<CvssT>(value));
113 template <
typename RelatedVulnerabilitiesT = Aws::Vector<Aws::String>>
115 m_relatedVulnerabilitiesHasBeenSet =
true;
116 m_relatedVulnerabilities = std::forward<RelatedVulnerabilitiesT>(value);
118 template <
typename RelatedVulnerabilitiesT = Aws::Vector<Aws::String>>
123 template <
typename RelatedVulnerabilitiesT = Aws::String>
125 m_relatedVulnerabilitiesHasBeenSet =
true;
126 m_relatedVulnerabilities.emplace_back(std::forward<RelatedVulnerabilitiesT>(value));
137 template <
typename VendorT = VulnerabilityVendor>
139 m_vendorHasBeenSet =
true;
140 m_vendor = std::forward<VendorT>(value);
142 template <
typename VendorT = VulnerabilityVendor>
156 template <
typename ReferenceUrlsT = Aws::Vector<Aws::String>>
158 m_referenceUrlsHasBeenSet =
true;
159 m_referenceUrls = std::forward<ReferenceUrlsT>(value);
161 template <
typename ReferenceUrlsT = Aws::Vector<Aws::String>>
166 template <
typename ReferenceUrlsT = Aws::String>
168 m_referenceUrlsHasBeenSet =
true;
169 m_referenceUrls.emplace_back(std::forward<ReferenceUrlsT>(value));
190 m_fixAvailableHasBeenSet =
true;
191 m_fixAvailable = value;
206 m_epssScoreHasBeenSet =
true;
222 m_exploitAvailableHasBeenSet =
true;
223 m_exploitAvailable = value;
238 template <
typename LastKnownExploitAtT = Aws::String>
240 m_lastKnownExploitAtHasBeenSet =
true;
241 m_lastKnownExploitAt = std::forward<LastKnownExploitAtT>(value);
243 template <
typename LastKnownExploitAtT = Aws::String>
257 template <
typename CodeVulnerabilitiesT = Aws::Vector<VulnerabilityCodeVulnerabilities>>
259 m_codeVulnerabilitiesHasBeenSet =
true;
260 m_codeVulnerabilities = std::forward<CodeVulnerabilitiesT>(value);
262 template <
typename CodeVulnerabilitiesT = Aws::Vector<VulnerabilityCodeVulnerabilities>>
267 template <
typename CodeVulnerabilitiesT = VulnerabilityCodeVulnerabilities>
269 m_codeVulnerabilitiesHasBeenSet =
true;
270 m_codeVulnerabilities.emplace_back(std::forward<CodeVulnerabilitiesT>(value));
289 double m_epssScore{0.0};
296 bool m_idHasBeenSet =
false;
297 bool m_vulnerablePackagesHasBeenSet =
false;
298 bool m_cvssHasBeenSet =
false;
299 bool m_relatedVulnerabilitiesHasBeenSet =
false;
300 bool m_vendorHasBeenSet =
false;
301 bool m_referenceUrlsHasBeenSet =
false;
302 bool m_fixAvailableHasBeenSet =
false;
303 bool m_epssScoreHasBeenSet =
false;
304 bool m_exploitAvailableHasBeenSet =
false;
305 bool m_lastKnownExploitAtHasBeenSet =
false;
306 bool m_codeVulnerabilitiesHasBeenSet =
false;
Vulnerability & AddCodeVulnerabilities(CodeVulnerabilitiesT &&value)
AWS_SECURITYHUB_API Vulnerability(Aws::Utils::Json::JsonView jsonValue)
bool VulnerablePackagesHasBeenSet() const
Vulnerability & WithId(IdT &&value)
void SetCvss(CvssT &&value)
Vulnerability & WithFixAvailable(VulnerabilityFixAvailable value)
void SetReferenceUrls(ReferenceUrlsT &&value)
bool FixAvailableHasBeenSet() const
Vulnerability & WithLastKnownExploitAt(LastKnownExploitAtT &&value)
void SetRelatedVulnerabilities(RelatedVulnerabilitiesT &&value)
const Aws::String & GetLastKnownExploitAt() const
Vulnerability & AddRelatedVulnerabilities(RelatedVulnerabilitiesT &&value)
bool LastKnownExploitAtHasBeenSet() const
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
bool IdHasBeenSet() 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)
double GetEpssScore() const
bool CvssHasBeenSet() const
void SetFixAvailable(VulnerabilityFixAvailable value)
void SetExploitAvailable(VulnerabilityExploitAvailable value)
Vulnerability & AddCvss(CvssT &&value)
bool VendorHasBeenSet() const
Vulnerability & WithReferenceUrls(ReferenceUrlsT &&value)
const Aws::Vector< SoftwarePackage > & GetVulnerablePackages() const
const Aws::Vector< Cvss > & GetCvss() const
void SetVulnerablePackages(VulnerablePackagesT &&value)
void SetVendor(VendorT &&value)
Vulnerability & WithRelatedVulnerabilities(RelatedVulnerabilitiesT &&value)
Vulnerability & WithCodeVulnerabilities(CodeVulnerabilitiesT &&value)
AWS_SECURITYHUB_API Vulnerability()=default
bool ReferenceUrlsHasBeenSet() const
bool ExploitAvailableHasBeenSet() const
bool EpssScoreHasBeenSet() const
void SetEpssScore(double value)
bool RelatedVulnerabilitiesHasBeenSet() const
const VulnerabilityVendor & GetVendor() const
bool CodeVulnerabilitiesHasBeenSet() const
const Aws::Vector< Aws::String > & GetRelatedVulnerabilities() const
VulnerabilityFixAvailable
VulnerabilityExploitAvailable
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue