/*
* 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
{
///
/// Details about an Amazon Inspector finding.
///
public partial class Finding
{
private string _awsAccountId;
private CodeVulnerabilityDetails _codeVulnerabilityDetails;
private string _description;
private EpssDetails _epss;
private ExploitabilityDetails _exploitabilityDetails;
private ExploitAvailable _exploitAvailable;
private string _findingArn;
private DateTime? _firstObservedAt;
private FixAvailable _fixAvailable;
private double? _inspectorScore;
private InspectorScoreDetails _inspectorScoreDetails;
private DateTime? _lastObservedAt;
private NetworkReachabilityDetails _networkReachabilityDetails;
private PackageVulnerabilityDetails _packageVulnerabilityDetails;
private Remediation _remediation;
private List _resources = new List();
private Severity _severity;
private FindingStatus _status;
private string _title;
private FindingType _type;
private DateTime? _updatedAt;
///
/// Gets and sets the property AwsAccountId.
///
/// The Amazon Web Services account ID associated with the finding.
///
///
[AWSProperty(Required=true, Min=12, Max=12)]
public string AwsAccountId
{
get { return this._awsAccountId; }
set { this._awsAccountId = value; }
}
// Check to see if AwsAccountId property is set
internal bool IsSetAwsAccountId()
{
return this._awsAccountId != null;
}
///
/// Gets and sets the property CodeVulnerabilityDetails.
///
/// Details about the code vulnerability identified in a Lambda function used to filter
/// findings.
///
///
public CodeVulnerabilityDetails CodeVulnerabilityDetails
{
get { return this._codeVulnerabilityDetails; }
set { this._codeVulnerabilityDetails = value; }
}
// Check to see if CodeVulnerabilityDetails property is set
internal bool IsSetCodeVulnerabilityDetails()
{
return this._codeVulnerabilityDetails != null;
}
///
/// Gets and sets the property Description.
///
/// The description of the finding.
///
///
[AWSProperty(Required=true, Min=1, Max=1024)]
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 Epss.
///
/// The finding's EPSS score.
///
///
public EpssDetails 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 ExploitabilityDetails.
///
/// The details of an exploit available for a finding discovered in your environment.
///
///
public ExploitabilityDetails ExploitabilityDetails
{
get { return this._exploitabilityDetails; }
set { this._exploitabilityDetails = value; }
}
// Check to see if ExploitabilityDetails property is set
internal bool IsSetExploitabilityDetails()
{
return this._exploitabilityDetails != null;
}
///
/// Gets and sets the property ExploitAvailable.
///
/// If a finding discovered in your environment has an exploit available.
///
///
public ExploitAvailable ExploitAvailable
{
get { return this._exploitAvailable; }
set { this._exploitAvailable = value; }
}
// Check to see if ExploitAvailable property is set
internal bool IsSetExploitAvailable()
{
return this._exploitAvailable != null;
}
///
/// Gets and sets the property FindingArn.
///
/// The Amazon Resource Number (ARN) of the finding.
///
///
[AWSProperty(Required=true, Min=1, Max=100)]
public string FindingArn
{
get { return this._findingArn; }
set { this._findingArn = value; }
}
// Check to see if FindingArn property is set
internal bool IsSetFindingArn()
{
return this._findingArn != null;
}
///
/// Gets and sets the property FirstObservedAt.
///
/// The date and time that the finding was first observed.
///
///
[AWSProperty(Required=true)]
public DateTime FirstObservedAt
{
get { return this._firstObservedAt.GetValueOrDefault(); }
set { this._firstObservedAt = value; }
}
// Check to see if FirstObservedAt property is set
internal bool IsSetFirstObservedAt()
{
return this._firstObservedAt.HasValue;
}
///
/// Gets and sets the property FixAvailable.
///
/// Details on whether a fix is available through a version update. This value can be
/// YES
, NO
, or PARTIAL
. A PARTIAL
/// fix means that some, but not all, of the packages identified in the finding have fixes
/// available through updated versions.
///
///
public FixAvailable 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 InspectorScore.
///
/// The Amazon Inspector score given to the finding.
///
///
public double InspectorScore
{
get { return this._inspectorScore.GetValueOrDefault(); }
set { this._inspectorScore = value; }
}
// Check to see if InspectorScore property is set
internal bool IsSetInspectorScore()
{
return this._inspectorScore.HasValue;
}
///
/// Gets and sets the property InspectorScoreDetails.
///
/// An object that contains details of the Amazon Inspector score.
///
///
public InspectorScoreDetails InspectorScoreDetails
{
get { return this._inspectorScoreDetails; }
set { this._inspectorScoreDetails = value; }
}
// Check to see if InspectorScoreDetails property is set
internal bool IsSetInspectorScoreDetails()
{
return this._inspectorScoreDetails != null;
}
///
/// Gets and sets the property LastObservedAt.
///
/// The date and time that the finding was last observed.
///
///
[AWSProperty(Required=true)]
public DateTime LastObservedAt
{
get { return this._lastObservedAt.GetValueOrDefault(); }
set { this._lastObservedAt = value; }
}
// Check to see if LastObservedAt property is set
internal bool IsSetLastObservedAt()
{
return this._lastObservedAt.HasValue;
}
///
/// Gets and sets the property NetworkReachabilityDetails.
///
/// An object that contains the details of a network reachability finding.
///
///
public NetworkReachabilityDetails NetworkReachabilityDetails
{
get { return this._networkReachabilityDetails; }
set { this._networkReachabilityDetails = value; }
}
// Check to see if NetworkReachabilityDetails property is set
internal bool IsSetNetworkReachabilityDetails()
{
return this._networkReachabilityDetails != null;
}
///
/// Gets and sets the property PackageVulnerabilityDetails.
///
/// An object that contains the details of a package vulnerability finding.
///
///
public PackageVulnerabilityDetails PackageVulnerabilityDetails
{
get { return this._packageVulnerabilityDetails; }
set { this._packageVulnerabilityDetails = value; }
}
// Check to see if PackageVulnerabilityDetails property is set
internal bool IsSetPackageVulnerabilityDetails()
{
return this._packageVulnerabilityDetails != null;
}
///
/// Gets and sets the property Remediation.
///
/// An object that contains the details about how to remediate a finding.
///
///
[AWSProperty(Required=true)]
public Remediation Remediation
{
get { return this._remediation; }
set { this._remediation = value; }
}
// Check to see if Remediation property is set
internal bool IsSetRemediation()
{
return this._remediation != null;
}
///
/// Gets and sets the property Resources.
///
/// Contains information on the resources involved in a finding.
///
///
[AWSProperty(Required=true, Min=1, Max=10)]
public List Resources
{
get { return this._resources; }
set { this._resources = value; }
}
// Check to see if Resources property is set
internal bool IsSetResources()
{
return this._resources != null && this._resources.Count > 0;
}
///
/// Gets and sets the property Severity.
///
/// The severity of the finding.
///
///
[AWSProperty(Required=true)]
public Severity Severity
{
get { return this._severity; }
set { this._severity = value; }
}
// Check to see if Severity property is set
internal bool IsSetSeverity()
{
return this._severity != null;
}
///
/// Gets and sets the property Status.
///
/// The status of the finding.
///
///
[AWSProperty(Required=true)]
public FindingStatus Status
{
get { return this._status; }
set { this._status = value; }
}
// Check to see if Status property is set
internal bool IsSetStatus()
{
return this._status != null;
}
///
/// Gets and sets the property Title.
///
/// The title of the finding.
///
///
[AWSProperty(Min=1, Max=1024)]
public string Title
{
get { return this._title; }
set { this._title = value; }
}
// Check to see if Title property is set
internal bool IsSetTitle()
{
return this._title != null;
}
///
/// Gets and sets the property Type.
///
/// The type of the finding.
///
///
[AWSProperty(Required=true)]
public FindingType Type
{
get { return this._type; }
set { this._type = value; }
}
// Check to see if Type property is set
internal bool IsSetType()
{
return this._type != null;
}
///
/// Gets and sets the property UpdatedAt.
///
/// The date and time the finding was last updated at.
///
///
public DateTime UpdatedAt
{
get { return this._updatedAt.GetValueOrDefault(); }
set { this._updatedAt = value; }
}
// Check to see if UpdatedAt property is set
internal bool IsSetUpdatedAt()
{
return this._updatedAt.HasValue;
}
}
}