AWS SDK for C++

AWS SDK for C++ Version 1.11.440

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();
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 inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
54 inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); }
55 inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
56 inline Vulnerability& WithId(const Aws::String& value) { SetId(value); return *this;}
57 inline Vulnerability& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
58 inline Vulnerability& WithId(const char* value) { SetId(value); return *this;}
60
62
65 inline const Aws::Vector<SoftwarePackage>& GetVulnerablePackages() const{ return m_vulnerablePackages; }
66 inline bool VulnerablePackagesHasBeenSet() const { return m_vulnerablePackagesHasBeenSet; }
67 inline void SetVulnerablePackages(const Aws::Vector<SoftwarePackage>& value) { m_vulnerablePackagesHasBeenSet = true; m_vulnerablePackages = value; }
68 inline void SetVulnerablePackages(Aws::Vector<SoftwarePackage>&& value) { m_vulnerablePackagesHasBeenSet = true; m_vulnerablePackages = std::move(value); }
71 inline Vulnerability& AddVulnerablePackages(const SoftwarePackage& value) { m_vulnerablePackagesHasBeenSet = true; m_vulnerablePackages.push_back(value); return *this; }
72 inline Vulnerability& AddVulnerablePackages(SoftwarePackage&& value) { m_vulnerablePackagesHasBeenSet = true; m_vulnerablePackages.push_back(std::move(value)); return *this; }
74
76
79 inline const Aws::Vector<Cvss>& GetCvss() const{ return m_cvss; }
80 inline bool CvssHasBeenSet() const { return m_cvssHasBeenSet; }
81 inline void SetCvss(const Aws::Vector<Cvss>& value) { m_cvssHasBeenSet = true; m_cvss = value; }
82 inline void SetCvss(Aws::Vector<Cvss>&& value) { m_cvssHasBeenSet = true; m_cvss = std::move(value); }
83 inline Vulnerability& WithCvss(const Aws::Vector<Cvss>& value) { SetCvss(value); return *this;}
84 inline Vulnerability& WithCvss(Aws::Vector<Cvss>&& value) { SetCvss(std::move(value)); return *this;}
85 inline Vulnerability& AddCvss(const Cvss& value) { m_cvssHasBeenSet = true; m_cvss.push_back(value); return *this; }
86 inline Vulnerability& AddCvss(Cvss&& value) { m_cvssHasBeenSet = true; m_cvss.push_back(std::move(value)); return *this; }
88
90
93 inline const Aws::Vector<Aws::String>& GetRelatedVulnerabilities() const{ return m_relatedVulnerabilities; }
94 inline bool RelatedVulnerabilitiesHasBeenSet() const { return m_relatedVulnerabilitiesHasBeenSet; }
95 inline void SetRelatedVulnerabilities(const Aws::Vector<Aws::String>& value) { m_relatedVulnerabilitiesHasBeenSet = true; m_relatedVulnerabilities = value; }
96 inline void SetRelatedVulnerabilities(Aws::Vector<Aws::String>&& value) { m_relatedVulnerabilitiesHasBeenSet = true; m_relatedVulnerabilities = std::move(value); }
99 inline Vulnerability& AddRelatedVulnerabilities(const Aws::String& value) { m_relatedVulnerabilitiesHasBeenSet = true; m_relatedVulnerabilities.push_back(value); return *this; }
100 inline Vulnerability& AddRelatedVulnerabilities(Aws::String&& value) { m_relatedVulnerabilitiesHasBeenSet = true; m_relatedVulnerabilities.push_back(std::move(value)); return *this; }
101 inline Vulnerability& AddRelatedVulnerabilities(const char* value) { m_relatedVulnerabilitiesHasBeenSet = true; m_relatedVulnerabilities.push_back(value); return *this; }
103
105
108 inline const VulnerabilityVendor& GetVendor() const{ return m_vendor; }
109 inline bool VendorHasBeenSet() const { return m_vendorHasBeenSet; }
110 inline void SetVendor(const VulnerabilityVendor& value) { m_vendorHasBeenSet = true; m_vendor = value; }
111 inline void SetVendor(VulnerabilityVendor&& value) { m_vendorHasBeenSet = true; m_vendor = std::move(value); }
112 inline Vulnerability& WithVendor(const VulnerabilityVendor& value) { SetVendor(value); return *this;}
113 inline Vulnerability& WithVendor(VulnerabilityVendor&& value) { SetVendor(std::move(value)); return *this;}
115
117
121 inline const Aws::Vector<Aws::String>& GetReferenceUrls() const{ return m_referenceUrls; }
122 inline bool ReferenceUrlsHasBeenSet() const { return m_referenceUrlsHasBeenSet; }
123 inline void SetReferenceUrls(const Aws::Vector<Aws::String>& value) { m_referenceUrlsHasBeenSet = true; m_referenceUrls = value; }
124 inline void SetReferenceUrls(Aws::Vector<Aws::String>&& value) { m_referenceUrlsHasBeenSet = true; m_referenceUrls = std::move(value); }
125 inline Vulnerability& WithReferenceUrls(const Aws::Vector<Aws::String>& value) { SetReferenceUrls(value); return *this;}
126 inline Vulnerability& WithReferenceUrls(Aws::Vector<Aws::String>&& value) { SetReferenceUrls(std::move(value)); return *this;}
127 inline Vulnerability& AddReferenceUrls(const Aws::String& value) { m_referenceUrlsHasBeenSet = true; m_referenceUrls.push_back(value); return *this; }
128 inline Vulnerability& AddReferenceUrls(Aws::String&& value) { m_referenceUrlsHasBeenSet = true; m_referenceUrls.push_back(std::move(value)); return *this; }
129 inline Vulnerability& AddReferenceUrls(const char* value) { m_referenceUrlsHasBeenSet = true; m_referenceUrls.push_back(value); return *this; }
131
133
145 inline const VulnerabilityFixAvailable& GetFixAvailable() const{ return m_fixAvailable; }
146 inline bool FixAvailableHasBeenSet() const { return m_fixAvailableHasBeenSet; }
147 inline void SetFixAvailable(const VulnerabilityFixAvailable& value) { m_fixAvailableHasBeenSet = true; m_fixAvailable = value; }
148 inline void SetFixAvailable(VulnerabilityFixAvailable&& value) { m_fixAvailableHasBeenSet = true; m_fixAvailable = std::move(value); }
149 inline Vulnerability& WithFixAvailable(const VulnerabilityFixAvailable& value) { SetFixAvailable(value); return *this;}
150 inline Vulnerability& WithFixAvailable(VulnerabilityFixAvailable&& value) { SetFixAvailable(std::move(value)); return *this;}
152
154
157 inline double GetEpssScore() const{ return m_epssScore; }
158 inline bool EpssScoreHasBeenSet() const { return m_epssScoreHasBeenSet; }
159 inline void SetEpssScore(double value) { m_epssScoreHasBeenSet = true; m_epssScore = value; }
160 inline Vulnerability& WithEpssScore(double value) { SetEpssScore(value); return *this;}
162
164
167 inline const VulnerabilityExploitAvailable& GetExploitAvailable() const{ return m_exploitAvailable; }
168 inline bool ExploitAvailableHasBeenSet() const { return m_exploitAvailableHasBeenSet; }
169 inline void SetExploitAvailable(const VulnerabilityExploitAvailable& value) { m_exploitAvailableHasBeenSet = true; m_exploitAvailable = value; }
170 inline void SetExploitAvailable(VulnerabilityExploitAvailable&& value) { m_exploitAvailableHasBeenSet = true; m_exploitAvailable = std::move(value); }
172 inline Vulnerability& WithExploitAvailable(VulnerabilityExploitAvailable&& value) { SetExploitAvailable(std::move(value)); return *this;}
174
176
180 inline const Aws::String& GetLastKnownExploitAt() const{ return m_lastKnownExploitAt; }
181 inline bool LastKnownExploitAtHasBeenSet() const { return m_lastKnownExploitAtHasBeenSet; }
182 inline void SetLastKnownExploitAt(const Aws::String& value) { m_lastKnownExploitAtHasBeenSet = true; m_lastKnownExploitAt = value; }
183 inline void SetLastKnownExploitAt(Aws::String&& value) { m_lastKnownExploitAtHasBeenSet = true; m_lastKnownExploitAt = std::move(value); }
184 inline void SetLastKnownExploitAt(const char* value) { m_lastKnownExploitAtHasBeenSet = true; m_lastKnownExploitAt.assign(value); }
185 inline Vulnerability& WithLastKnownExploitAt(const Aws::String& value) { SetLastKnownExploitAt(value); return *this;}
186 inline Vulnerability& WithLastKnownExploitAt(Aws::String&& value) { SetLastKnownExploitAt(std::move(value)); return *this;}
187 inline Vulnerability& WithLastKnownExploitAt(const char* value) { SetLastKnownExploitAt(value); return *this;}
189
191
195 inline const Aws::Vector<VulnerabilityCodeVulnerabilities>& GetCodeVulnerabilities() const{ return m_codeVulnerabilities; }
196 inline bool CodeVulnerabilitiesHasBeenSet() const { return m_codeVulnerabilitiesHasBeenSet; }
197 inline void SetCodeVulnerabilities(const Aws::Vector<VulnerabilityCodeVulnerabilities>& value) { m_codeVulnerabilitiesHasBeenSet = true; m_codeVulnerabilities = value; }
198 inline void SetCodeVulnerabilities(Aws::Vector<VulnerabilityCodeVulnerabilities>&& value) { m_codeVulnerabilitiesHasBeenSet = true; m_codeVulnerabilities = std::move(value); }
201 inline Vulnerability& AddCodeVulnerabilities(const VulnerabilityCodeVulnerabilities& value) { m_codeVulnerabilitiesHasBeenSet = true; m_codeVulnerabilities.push_back(value); return *this; }
202 inline Vulnerability& AddCodeVulnerabilities(VulnerabilityCodeVulnerabilities&& value) { m_codeVulnerabilitiesHasBeenSet = true; m_codeVulnerabilities.push_back(std::move(value)); return *this; }
204 private:
205
206 Aws::String m_id;
207 bool m_idHasBeenSet = false;
208
209 Aws::Vector<SoftwarePackage> m_vulnerablePackages;
210 bool m_vulnerablePackagesHasBeenSet = false;
211
212 Aws::Vector<Cvss> m_cvss;
213 bool m_cvssHasBeenSet = false;
214
215 Aws::Vector<Aws::String> m_relatedVulnerabilities;
216 bool m_relatedVulnerabilitiesHasBeenSet = false;
217
218 VulnerabilityVendor m_vendor;
219 bool m_vendorHasBeenSet = false;
220
221 Aws::Vector<Aws::String> m_referenceUrls;
222 bool m_referenceUrlsHasBeenSet = false;
223
224 VulnerabilityFixAvailable m_fixAvailable;
225 bool m_fixAvailableHasBeenSet = false;
226
227 double m_epssScore;
228 bool m_epssScoreHasBeenSet = false;
229
230 VulnerabilityExploitAvailable m_exploitAvailable;
231 bool m_exploitAvailableHasBeenSet = false;
232
233 Aws::String m_lastKnownExploitAt;
234 bool m_lastKnownExploitAtHasBeenSet = false;
235
237 bool m_codeVulnerabilitiesHasBeenSet = false;
238 };
239
240} // namespace Model
241} // namespace SecurityHub
242} // namespace Aws
AWS_SECURITYHUB_API Vulnerability(Aws::Utils::Json::JsonView jsonValue)
Vulnerability & WithId(const char *value)
Vulnerability & WithCodeVulnerabilities(const Aws::Vector< VulnerabilityCodeVulnerabilities > &value)
void SetFixAvailable(const VulnerabilityFixAvailable &value)
Vulnerability & AddRelatedVulnerabilities(const char *value)
Vulnerability & AddRelatedVulnerabilities(const Aws::String &value)
Vulnerability & AddCvss(const Cvss &value)
Vulnerability & WithVulnerablePackages(const Aws::Vector< SoftwarePackage > &value)
Vulnerability & WithId(Aws::String &&value)
void SetLastKnownExploitAt(const Aws::String &value)
Vulnerability & AddCodeVulnerabilities(VulnerabilityCodeVulnerabilities &&value)
Vulnerability & WithCvss(const Aws::Vector< Cvss > &value)
Vulnerability & WithLastKnownExploitAt(const char *value)
void SetVulnerablePackages(Aws::Vector< SoftwarePackage > &&value)
Vulnerability & AddReferenceUrls(Aws::String &&value)
const Aws::String & GetLastKnownExploitAt() const
Vulnerability & WithLastKnownExploitAt(Aws::String &&value)
const Aws::Vector< Aws::String > & GetReferenceUrls() const
const Aws::Vector< VulnerabilityCodeVulnerabilities > & GetCodeVulnerabilities() const
void SetReferenceUrls(Aws::Vector< Aws::String > &&value)
Vulnerability & WithId(const Aws::String &value)
Vulnerability & AddReferenceUrls(const Aws::String &value)
const Aws::String & GetId() const
void SetCvss(Aws::Vector< Cvss > &&value)
Vulnerability & WithEpssScore(double value)
Vulnerability & WithFixAvailable(VulnerabilityFixAvailable &&value)
void SetFixAvailable(VulnerabilityFixAvailable &&value)
void SetLastKnownExploitAt(const char *value)
Vulnerability & WithRelatedVulnerabilities(Aws::Vector< Aws::String > &&value)
Vulnerability & WithVulnerablePackages(Aws::Vector< SoftwarePackage > &&value)
Vulnerability & AddVulnerablePackages(SoftwarePackage &&value)
AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_SECURITYHUB_API Vulnerability & operator=(Aws::Utils::Json::JsonView jsonValue)
const VulnerabilityFixAvailable & GetFixAvailable() const
void SetVendor(const VulnerabilityVendor &value)
void SetLastKnownExploitAt(Aws::String &&value)
void SetRelatedVulnerabilities(const Aws::Vector< Aws::String > &value)
void SetExploitAvailable(const VulnerabilityExploitAvailable &value)
Vulnerability & WithFixAvailable(const VulnerabilityFixAvailable &value)
const VulnerabilityExploitAvailable & GetExploitAvailable() const
Vulnerability & AddRelatedVulnerabilities(Aws::String &&value)
void SetVendor(VulnerabilityVendor &&value)
Vulnerability & AddVulnerablePackages(const SoftwarePackage &value)
void SetCodeVulnerabilities(Aws::Vector< VulnerabilityCodeVulnerabilities > &&value)
void SetReferenceUrls(const Aws::Vector< Aws::String > &value)
Vulnerability & WithLastKnownExploitAt(const Aws::String &value)
void SetVulnerablePackages(const Aws::Vector< SoftwarePackage > &value)
const Aws::Vector< SoftwarePackage > & GetVulnerablePackages() const
void SetCvss(const Aws::Vector< Cvss > &value)
Vulnerability & WithCodeVulnerabilities(Aws::Vector< VulnerabilityCodeVulnerabilities > &&value)
const Aws::Vector< Cvss > & GetCvss() const
void SetId(const Aws::String &value)
Vulnerability & WithExploitAvailable(VulnerabilityExploitAvailable &&value)
void SetId(Aws::String &&value)
Vulnerability & AddCodeVulnerabilities(const VulnerabilityCodeVulnerabilities &value)
Vulnerability & WithReferenceUrls(const Aws::Vector< Aws::String > &value)
Vulnerability & WithReferenceUrls(Aws::Vector< Aws::String > &&value)
Vulnerability & WithCvss(Aws::Vector< Cvss > &&value)
Vulnerability & WithExploitAvailable(const VulnerabilityExploitAvailable &value)
Vulnerability & WithVendor(const VulnerabilityVendor &value)
void SetCodeVulnerabilities(const Aws::Vector< VulnerabilityCodeVulnerabilities > &value)
Vulnerability & AddCvss(Cvss &&value)
void SetExploitAvailable(VulnerabilityExploitAvailable &&value)
const VulnerabilityVendor & GetVendor() const
Vulnerability & WithRelatedVulnerabilities(const Aws::Vector< Aws::String > &value)
void SetRelatedVulnerabilities(Aws::Vector< Aws::String > &&value)
Vulnerability & AddReferenceUrls(const char *value)
const Aws::Vector< Aws::String > & GetRelatedVulnerabilities() const
Vulnerability & WithVendor(VulnerabilityVendor &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue