/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the securityhub-2018-10-26.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.SecurityHub.Model
{
///
/// A vulnerability associated with a finding.
///
public partial class Vulnerability
{
private List _cvss = new List();
private VulnerabilityFixAvailable _fixAvailable;
private string _id;
private List _referenceUrls = new List();
private List _relatedVulnerabilities = new List();
private VulnerabilityVendor _vendor;
private List _vulnerablePackages = new List();
///
/// Gets and sets the property Cvss.
///
/// CVSS scores from the advisory related to the vulnerability.
///
///
public List Cvss
{
get { return this._cvss; }
set { this._cvss = value; }
}
// Check to see if Cvss property is set
internal bool IsSetCvss()
{
return this._cvss != null && this._cvss.Count > 0;
}
///
/// Gets and sets the property FixAvailable.
///
/// Specifies if all vulnerable packages in a finding have a value for FixedInVersion
/// and Remediation
. This field is evaluated for each vulnerability Id
/// based on the number of vulnerable packages that have a value for both FixedInVersion
/// and Remediation
. Valid values are as follows:
///
/// -
///
///
YES
if all vulnerable packages have a value for both FixedInVersion
/// and Remediation
///
/// -
///
///
NO
if no vulnerable packages have a value for FixedInVersion
/// and Remediation
///
/// -
///
///
PARTIAL
otherwise
///
///
///
public VulnerabilityFixAvailable FixAvailable
{
get { return this._fixAvailable; }
set { this._fixAvailable = value; }
}
// Check to see if FixAvailable property is set
internal bool IsSetFixAvailable()
{
return this._fixAvailable != null;
}
///
/// Gets and sets the property Id.
///
/// The identifier of the vulnerability.
///
///
[AWSProperty(Required=true)]
public string Id
{
get { return this._id; }
set { this._id = value; }
}
// Check to see if Id property is set
internal bool IsSetId()
{
return this._id != null;
}
///
/// Gets and sets the property ReferenceUrls.
///
/// A list of URLs that provide additional information about the vulnerability.
///
///
public List ReferenceUrls
{
get { return this._referenceUrls; }
set { this._referenceUrls = value; }
}
// Check to see if ReferenceUrls property is set
internal bool IsSetReferenceUrls()
{
return this._referenceUrls != null && this._referenceUrls.Count > 0;
}
///
/// Gets and sets the property RelatedVulnerabilities.
///
/// List of vulnerabilities that are related to this vulnerability.
///
///
public List RelatedVulnerabilities
{
get { return this._relatedVulnerabilities; }
set { this._relatedVulnerabilities = value; }
}
// Check to see if RelatedVulnerabilities property is set
internal bool IsSetRelatedVulnerabilities()
{
return this._relatedVulnerabilities != null && this._relatedVulnerabilities.Count > 0;
}
///
/// Gets and sets the property Vendor.
///
/// Information about the vendor that generates the vulnerability report.
///
///
public VulnerabilityVendor Vendor
{
get { return this._vendor; }
set { this._vendor = value; }
}
// Check to see if Vendor property is set
internal bool IsSetVendor()
{
return this._vendor != null;
}
///
/// Gets and sets the property VulnerablePackages.
///
/// List of software packages that have the vulnerability.
///
///
public List VulnerablePackages
{
get { return this._vulnerablePackages; }
set { this._vulnerablePackages = value; }
}
// Check to see if VulnerablePackages property is set
internal bool IsSetVulnerablePackages()
{
return this._vulnerablePackages != null && this._vulnerablePackages.Count > 0;
}
}
}