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>
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>
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>>
69 template<
typename VulnerablePackagesT = SoftwarePackage>
70 Vulnerability&
AddVulnerablePackages(VulnerablePackagesT&& value) { m_vulnerablePackagesHasBeenSet =
true; m_vulnerablePackages.emplace_back(std::forward<VulnerablePackagesT>(value));
return *
this; }
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>>
83 template<
typename CvssT = Cvss>
84 Vulnerability&
AddCvss(CvssT&& value) { m_cvssHasBeenSet =
true; m_cvss.emplace_back(std::forward<CvssT>(value));
return *
this; }
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>>
97 template<
typename RelatedVulnerabilitiesT = Aws::String>
98 Vulnerability&
AddRelatedVulnerabilities(RelatedVulnerabilitiesT&& value) { m_relatedVulnerabilitiesHasBeenSet =
true; m_relatedVulnerabilities.emplace_back(std::forward<RelatedVulnerabilitiesT>(value));
return *
this; }
107 template<
typename VendorT = VulnerabilityVendor>
108 void SetVendor(VendorT&& value) { m_vendorHasBeenSet =
true; m_vendor = std::forward<VendorT>(value); }
109 template<
typename VendorT = VulnerabilityVendor>
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>>
124 template<
typename ReferenceUrlsT = Aws::String>
125 Vulnerability&
AddReferenceUrls(ReferenceUrlsT&& value) { m_referenceUrlsHasBeenSet =
true; m_referenceUrls.emplace_back(std::forward<ReferenceUrlsT>(value));
return *
this; }
153 inline void SetEpssScore(
double value) { m_epssScoreHasBeenSet =
true; m_epssScore = value; }
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>
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>>
191 template<
typename CodeVulnerabilitiesT = VulnerabilityCodeVulnerabilities>
192 Vulnerability&
AddCodeVulnerabilities(CodeVulnerabilitiesT&& value) { m_codeVulnerabilitiesHasBeenSet =
true; m_codeVulnerabilities.emplace_back(std::forward<CodeVulnerabilitiesT>(value));
return *
this; }
197 bool m_idHasBeenSet =
false;
200 bool m_vulnerablePackagesHasBeenSet =
false;
203 bool m_cvssHasBeenSet =
false;
206 bool m_relatedVulnerabilitiesHasBeenSet =
false;
209 bool m_vendorHasBeenSet =
false;
212 bool m_referenceUrlsHasBeenSet =
false;
215 bool m_fixAvailableHasBeenSet =
false;
217 double m_epssScore{0.0};
218 bool m_epssScoreHasBeenSet =
false;
221 bool m_exploitAvailableHasBeenSet =
false;
224 bool m_lastKnownExploitAtHasBeenSet =
false;
227 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