/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Information about a package vulnerability finding.See Also:
* AWS
* API Reference
An object that contains details about the CVSS score of a finding.
*/ inline const Aws::VectorAn object that contains details about the CVSS score of a finding.
*/ inline bool CvssHasBeenSet() const { return m_cvssHasBeenSet; } /** *An object that contains details about the CVSS score of a finding.
*/ inline void SetCvss(const Aws::VectorAn object that contains details about the CVSS score of a finding.
*/ inline void SetCvss(Aws::VectorAn object that contains details about the CVSS score of a finding.
*/ inline PackageVulnerabilityDetails& WithCvss(const Aws::VectorAn object that contains details about the CVSS score of a finding.
*/ inline PackageVulnerabilityDetails& WithCvss(Aws::VectorAn object that contains details about the CVSS score of a finding.
*/ inline PackageVulnerabilityDetails& AddCvss(const CvssScore& value) { m_cvssHasBeenSet = true; m_cvss.push_back(value); return *this; } /** *An object that contains details about the CVSS score of a finding.
*/ inline PackageVulnerabilityDetails& AddCvss(CvssScore&& value) { m_cvssHasBeenSet = true; m_cvss.push_back(std::move(value)); return *this; } /** *One or more URLs that contain details about this vulnerability type.
*/ inline const Aws::VectorOne or more URLs that contain details about this vulnerability type.
*/ inline bool ReferenceUrlsHasBeenSet() const { return m_referenceUrlsHasBeenSet; } /** *One or more URLs that contain details about this vulnerability type.
*/ inline void SetReferenceUrls(const Aws::VectorOne or more URLs that contain details about this vulnerability type.
*/ inline void SetReferenceUrls(Aws::VectorOne or more URLs that contain details about this vulnerability type.
*/ inline PackageVulnerabilityDetails& WithReferenceUrls(const Aws::VectorOne or more URLs that contain details about this vulnerability type.
*/ inline PackageVulnerabilityDetails& WithReferenceUrls(Aws::VectorOne or more URLs that contain details about this vulnerability type.
*/ inline PackageVulnerabilityDetails& AddReferenceUrls(const Aws::String& value) { m_referenceUrlsHasBeenSet = true; m_referenceUrls.push_back(value); return *this; } /** *One or more URLs that contain details about this vulnerability type.
*/ inline PackageVulnerabilityDetails& AddReferenceUrls(Aws::String&& value) { m_referenceUrlsHasBeenSet = true; m_referenceUrls.push_back(std::move(value)); return *this; } /** *One or more URLs that contain details about this vulnerability type.
*/ inline PackageVulnerabilityDetails& AddReferenceUrls(const char* value) { m_referenceUrlsHasBeenSet = true; m_referenceUrls.push_back(value); return *this; } /** *One or more vulnerabilities related to the one identified in this * finding.
*/ inline const Aws::VectorOne or more vulnerabilities related to the one identified in this * finding.
*/ inline bool RelatedVulnerabilitiesHasBeenSet() const { return m_relatedVulnerabilitiesHasBeenSet; } /** *One or more vulnerabilities related to the one identified in this * finding.
*/ inline void SetRelatedVulnerabilities(const Aws::VectorOne or more vulnerabilities related to the one identified in this * finding.
*/ inline void SetRelatedVulnerabilities(Aws::VectorOne or more vulnerabilities related to the one identified in this * finding.
*/ inline PackageVulnerabilityDetails& WithRelatedVulnerabilities(const Aws::VectorOne or more vulnerabilities related to the one identified in this * finding.
*/ inline PackageVulnerabilityDetails& WithRelatedVulnerabilities(Aws::VectorOne or more vulnerabilities related to the one identified in this * finding.
*/ inline PackageVulnerabilityDetails& AddRelatedVulnerabilities(const Aws::String& value) { m_relatedVulnerabilitiesHasBeenSet = true; m_relatedVulnerabilities.push_back(value); return *this; } /** *One or more vulnerabilities related to the one identified in this * finding.
*/ inline PackageVulnerabilityDetails& AddRelatedVulnerabilities(Aws::String&& value) { m_relatedVulnerabilitiesHasBeenSet = true; m_relatedVulnerabilities.push_back(std::move(value)); return *this; } /** *One or more vulnerabilities related to the one identified in this * finding.
*/ inline PackageVulnerabilityDetails& AddRelatedVulnerabilities(const char* value) { m_relatedVulnerabilitiesHasBeenSet = true; m_relatedVulnerabilities.push_back(value); return *this; } /** *The source of the vulnerability information.
*/ inline const Aws::String& GetSource() const{ return m_source; } /** *The source of the vulnerability information.
*/ inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; } /** *The source of the vulnerability information.
*/ inline void SetSource(const Aws::String& value) { m_sourceHasBeenSet = true; m_source = value; } /** *The source of the vulnerability information.
*/ inline void SetSource(Aws::String&& value) { m_sourceHasBeenSet = true; m_source = std::move(value); } /** *The source of the vulnerability information.
*/ inline void SetSource(const char* value) { m_sourceHasBeenSet = true; m_source.assign(value); } /** *The source of the vulnerability information.
*/ inline PackageVulnerabilityDetails& WithSource(const Aws::String& value) { SetSource(value); return *this;} /** *The source of the vulnerability information.
*/ inline PackageVulnerabilityDetails& WithSource(Aws::String&& value) { SetSource(std::move(value)); return *this;} /** *The source of the vulnerability information.
*/ inline PackageVulnerabilityDetails& WithSource(const char* value) { SetSource(value); return *this;} /** *A URL to the source of the vulnerability information.
*/ inline const Aws::String& GetSourceUrl() const{ return m_sourceUrl; } /** *A URL to the source of the vulnerability information.
*/ inline bool SourceUrlHasBeenSet() const { return m_sourceUrlHasBeenSet; } /** *A URL to the source of the vulnerability information.
*/ inline void SetSourceUrl(const Aws::String& value) { m_sourceUrlHasBeenSet = true; m_sourceUrl = value; } /** *A URL to the source of the vulnerability information.
*/ inline void SetSourceUrl(Aws::String&& value) { m_sourceUrlHasBeenSet = true; m_sourceUrl = std::move(value); } /** *A URL to the source of the vulnerability information.
*/ inline void SetSourceUrl(const char* value) { m_sourceUrlHasBeenSet = true; m_sourceUrl.assign(value); } /** *A URL to the source of the vulnerability information.
*/ inline PackageVulnerabilityDetails& WithSourceUrl(const Aws::String& value) { SetSourceUrl(value); return *this;} /** *A URL to the source of the vulnerability information.
*/ inline PackageVulnerabilityDetails& WithSourceUrl(Aws::String&& value) { SetSourceUrl(std::move(value)); return *this;} /** *A URL to the source of the vulnerability information.
*/ inline PackageVulnerabilityDetails& WithSourceUrl(const char* value) { SetSourceUrl(value); return *this;} /** *The date and time that this vulnerability was first added to the vendor's * database.
*/ inline const Aws::Utils::DateTime& GetVendorCreatedAt() const{ return m_vendorCreatedAt; } /** *The date and time that this vulnerability was first added to the vendor's * database.
*/ inline bool VendorCreatedAtHasBeenSet() const { return m_vendorCreatedAtHasBeenSet; } /** *The date and time that this vulnerability was first added to the vendor's * database.
*/ inline void SetVendorCreatedAt(const Aws::Utils::DateTime& value) { m_vendorCreatedAtHasBeenSet = true; m_vendorCreatedAt = value; } /** *The date and time that this vulnerability was first added to the vendor's * database.
*/ inline void SetVendorCreatedAt(Aws::Utils::DateTime&& value) { m_vendorCreatedAtHasBeenSet = true; m_vendorCreatedAt = std::move(value); } /** *The date and time that this vulnerability was first added to the vendor's * database.
*/ inline PackageVulnerabilityDetails& WithVendorCreatedAt(const Aws::Utils::DateTime& value) { SetVendorCreatedAt(value); return *this;} /** *The date and time that this vulnerability was first added to the vendor's * database.
*/ inline PackageVulnerabilityDetails& WithVendorCreatedAt(Aws::Utils::DateTime&& value) { SetVendorCreatedAt(std::move(value)); return *this;} /** *The severity the vendor has given to this vulnerability type.
*/ inline const Aws::String& GetVendorSeverity() const{ return m_vendorSeverity; } /** *The severity the vendor has given to this vulnerability type.
*/ inline bool VendorSeverityHasBeenSet() const { return m_vendorSeverityHasBeenSet; } /** *The severity the vendor has given to this vulnerability type.
*/ inline void SetVendorSeverity(const Aws::String& value) { m_vendorSeverityHasBeenSet = true; m_vendorSeverity = value; } /** *The severity the vendor has given to this vulnerability type.
*/ inline void SetVendorSeverity(Aws::String&& value) { m_vendorSeverityHasBeenSet = true; m_vendorSeverity = std::move(value); } /** *The severity the vendor has given to this vulnerability type.
*/ inline void SetVendorSeverity(const char* value) { m_vendorSeverityHasBeenSet = true; m_vendorSeverity.assign(value); } /** *The severity the vendor has given to this vulnerability type.
*/ inline PackageVulnerabilityDetails& WithVendorSeverity(const Aws::String& value) { SetVendorSeverity(value); return *this;} /** *The severity the vendor has given to this vulnerability type.
*/ inline PackageVulnerabilityDetails& WithVendorSeverity(Aws::String&& value) { SetVendorSeverity(std::move(value)); return *this;} /** *The severity the vendor has given to this vulnerability type.
*/ inline PackageVulnerabilityDetails& WithVendorSeverity(const char* value) { SetVendorSeverity(value); return *this;} /** *The date and time the vendor last updated this vulnerability in their * database.
*/ inline const Aws::Utils::DateTime& GetVendorUpdatedAt() const{ return m_vendorUpdatedAt; } /** *The date and time the vendor last updated this vulnerability in their * database.
*/ inline bool VendorUpdatedAtHasBeenSet() const { return m_vendorUpdatedAtHasBeenSet; } /** *The date and time the vendor last updated this vulnerability in their * database.
*/ inline void SetVendorUpdatedAt(const Aws::Utils::DateTime& value) { m_vendorUpdatedAtHasBeenSet = true; m_vendorUpdatedAt = value; } /** *The date and time the vendor last updated this vulnerability in their * database.
*/ inline void SetVendorUpdatedAt(Aws::Utils::DateTime&& value) { m_vendorUpdatedAtHasBeenSet = true; m_vendorUpdatedAt = std::move(value); } /** *The date and time the vendor last updated this vulnerability in their * database.
*/ inline PackageVulnerabilityDetails& WithVendorUpdatedAt(const Aws::Utils::DateTime& value) { SetVendorUpdatedAt(value); return *this;} /** *The date and time the vendor last updated this vulnerability in their * database.
*/ inline PackageVulnerabilityDetails& WithVendorUpdatedAt(Aws::Utils::DateTime&& value) { SetVendorUpdatedAt(std::move(value)); return *this;} /** *The ID given to this vulnerability.
*/ inline const Aws::String& GetVulnerabilityId() const{ return m_vulnerabilityId; } /** *The ID given to this vulnerability.
*/ inline bool VulnerabilityIdHasBeenSet() const { return m_vulnerabilityIdHasBeenSet; } /** *The ID given to this vulnerability.
*/ inline void SetVulnerabilityId(const Aws::String& value) { m_vulnerabilityIdHasBeenSet = true; m_vulnerabilityId = value; } /** *The ID given to this vulnerability.
*/ inline void SetVulnerabilityId(Aws::String&& value) { m_vulnerabilityIdHasBeenSet = true; m_vulnerabilityId = std::move(value); } /** *The ID given to this vulnerability.
*/ inline void SetVulnerabilityId(const char* value) { m_vulnerabilityIdHasBeenSet = true; m_vulnerabilityId.assign(value); } /** *The ID given to this vulnerability.
*/ inline PackageVulnerabilityDetails& WithVulnerabilityId(const Aws::String& value) { SetVulnerabilityId(value); return *this;} /** *The ID given to this vulnerability.
*/ inline PackageVulnerabilityDetails& WithVulnerabilityId(Aws::String&& value) { SetVulnerabilityId(std::move(value)); return *this;} /** *The ID given to this vulnerability.
*/ inline PackageVulnerabilityDetails& WithVulnerabilityId(const char* value) { SetVulnerabilityId(value); return *this;} /** *The packages impacted by this vulnerability.
*/ inline const Aws::VectorThe packages impacted by this vulnerability.
*/ inline bool VulnerablePackagesHasBeenSet() const { return m_vulnerablePackagesHasBeenSet; } /** *The packages impacted by this vulnerability.
*/ inline void SetVulnerablePackages(const Aws::VectorThe packages impacted by this vulnerability.
*/ inline void SetVulnerablePackages(Aws::VectorThe packages impacted by this vulnerability.
*/ inline PackageVulnerabilityDetails& WithVulnerablePackages(const Aws::VectorThe packages impacted by this vulnerability.
*/ inline PackageVulnerabilityDetails& WithVulnerablePackages(Aws::VectorThe packages impacted by this vulnerability.
*/ inline PackageVulnerabilityDetails& AddVulnerablePackages(const VulnerablePackage& value) { m_vulnerablePackagesHasBeenSet = true; m_vulnerablePackages.push_back(value); return *this; } /** *The packages impacted by this vulnerability.
*/ inline PackageVulnerabilityDetails& AddVulnerablePackages(VulnerablePackage&& value) { m_vulnerablePackagesHasBeenSet = true; m_vulnerablePackages.push_back(std::move(value)); return *this; } private: Aws::Vector