/*
* 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 inspector2-2020-06-08.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.Inspector2.Model
{
///
/// Contains details about a specific vulnerability Amazon Inspector can detect.
///
public partial class Vulnerability
{
private AtigData _atigData;
private CisaData _cisaData;
private Cvss2 _cvss2;
private Cvss3 _cvss3;
private List _cwes = new List();
private string _description;
private List _detectionPlatforms = new List();
private Epss _epss;
private ExploitObserved _exploitObserved;
private string _id;
private List _referenceUrls = new List();
private List _relatedVulnerabilities = new List();
private VulnerabilitySource _source;
private string _sourceUrl;
private DateTime? _vendorCreatedAt;
private string _vendorSeverity;
private DateTime? _vendorUpdatedAt;
///
/// Gets and sets the property AtigData.
///
/// An object that contains information about the Amazon Web Services Threat Intel Group
/// (ATIG) details for the vulnerability.
///
///
public AtigData AtigData
{
get { return this._atigData; }
set { this._atigData = value; }
}
// Check to see if AtigData property is set
internal bool IsSetAtigData()
{
return this._atigData != null;
}
///
/// Gets and sets the property CisaData.
///
/// An object that contains the Cybersecurity and Infrastructure Security Agency (CISA)
/// details for the vulnerability.
///
///
public CisaData CisaData
{
get { return this._cisaData; }
set { this._cisaData = value; }
}
// Check to see if CisaData property is set
internal bool IsSetCisaData()
{
return this._cisaData != null;
}
///
/// Gets and sets the property Cvss2.
///
/// An object that contains the Common Vulnerability Scoring System (CVSS) Version 2 details
/// for the vulnerability.
///
///
public Cvss2 Cvss2
{
get { return this._cvss2; }
set { this._cvss2 = value; }
}
// Check to see if Cvss2 property is set
internal bool IsSetCvss2()
{
return this._cvss2 != null;
}
///
/// Gets and sets the property Cvss3.
///
/// An object that contains the Common Vulnerability Scoring System (CVSS) Version 3 details
/// for the vulnerability.
///
///
public Cvss3 Cvss3
{
get { return this._cvss3; }
set { this._cvss3 = value; }
}
// Check to see if Cvss3 property is set
internal bool IsSetCvss3()
{
return this._cvss3 != null;
}
///
/// Gets and sets the property Cwes.
///
/// The Common Weakness Enumeration (CWE) associated with the vulnerability.
///
///
[AWSProperty(Min=0)]
public List Cwes
{
get { return this._cwes; }
set { this._cwes = value; }
}
// Check to see if Cwes property is set
internal bool IsSetCwes()
{
return this._cwes != null && this._cwes.Count > 0;
}
///
/// Gets and sets the property Description.
///
/// A description of the vulnerability.
///
///
public string Description
{
get { return this._description; }
set { this._description = value; }
}
// Check to see if Description property is set
internal bool IsSetDescription()
{
return this._description != null;
}
///
/// Gets and sets the property DetectionPlatforms.
///
/// Platforms that the vulnerability can be detected on.
///
///
[AWSProperty(Min=0, Max=100)]
public List DetectionPlatforms
{
get { return this._detectionPlatforms; }
set { this._detectionPlatforms = value; }
}
// Check to see if DetectionPlatforms property is set
internal bool IsSetDetectionPlatforms()
{
return this._detectionPlatforms != null && this._detectionPlatforms.Count > 0;
}
///
/// Gets and sets the property Epss.
///
/// An object that contains the Exploit Prediction Scoring System (EPSS) score for a vulnerability.
///
///
public Epss Epss
{
get { return this._epss; }
set { this._epss = value; }
}
// Check to see if Epss property is set
internal bool IsSetEpss()
{
return this._epss != null;
}
///
/// Gets and sets the property ExploitObserved.
///
/// An object that contains details on when the exploit was observed.
///
///
public ExploitObserved ExploitObserved
{
get { return this._exploitObserved; }
set { this._exploitObserved = value; }
}
// Check to see if ExploitObserved property is set
internal bool IsSetExploitObserved()
{
return this._exploitObserved != null;
}
///
/// Gets and sets the property Id.
///
/// The ID for the specific vulnerability.
///
///
[AWSProperty(Required=true, Min=1)]
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.
///
/// Links to various resources with more information on this vulnerability.
///
///
[AWSProperty(Min=0, Max=100)]
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.
///
/// A list of related vulnerabilities.
///
///
[AWSProperty(Min=0, Max=100)]
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 Source.
///
/// The source of the vulnerability information.
///
///
public VulnerabilitySource Source
{
get { return this._source; }
set { this._source = value; }
}
// Check to see if Source property is set
internal bool IsSetSource()
{
return this._source != null;
}
///
/// Gets and sets the property SourceUrl.
///
/// A link to the official source material for this vulnerability.
///
///
[AWSProperty(Min=0)]
public string SourceUrl
{
get { return this._sourceUrl; }
set { this._sourceUrl = value; }
}
// Check to see if SourceUrl property is set
internal bool IsSetSourceUrl()
{
return this._sourceUrl != null;
}
///
/// Gets and sets the property VendorCreatedAt.
///
/// The date and time when the vendor created this vulnerability.
///
///
public DateTime VendorCreatedAt
{
get { return this._vendorCreatedAt.GetValueOrDefault(); }
set { this._vendorCreatedAt = value; }
}
// Check to see if VendorCreatedAt property is set
internal bool IsSetVendorCreatedAt()
{
return this._vendorCreatedAt.HasValue;
}
///
/// Gets and sets the property VendorSeverity.
///
/// The severity assigned by the vendor.
///
///
[AWSProperty(Min=1, Max=64)]
public string VendorSeverity
{
get { return this._vendorSeverity; }
set { this._vendorSeverity = value; }
}
// Check to see if VendorSeverity property is set
internal bool IsSetVendorSeverity()
{
return this._vendorSeverity != null;
}
///
/// Gets and sets the property VendorUpdatedAt.
///
/// The date and time when the vendor last updated this vulnerability.
///
///
public DateTime VendorUpdatedAt
{
get { return this._vendorUpdatedAt.GetValueOrDefault(); }
set { this._vendorUpdatedAt = value; }
}
// Check to see if VendorUpdatedAt property is set
internal bool IsSetVendorUpdatedAt()
{
return this._vendorUpdatedAt.HasValue;
}
}
}