/*
* 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 inspector-2016-02-16.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.Inspector.Model
{
///
/// A snapshot of an Amazon Inspector assessment run that contains the findings of the
/// assessment run .
///
///
///
/// Used as the response element in the DescribeAssessmentRuns action.
///
///
public partial class AssessmentRun
{
private string _arn;
private string _assessmentTemplateArn;
private DateTime? _completedAt;
private DateTime? _createdAt;
private bool? _dataCollected;
private int? _durationInSeconds;
private Dictionary _findingCounts = new Dictionary();
private string _name;
private List _notifications = new List();
private List _rulesPackageArns = new List();
private DateTime? _startedAt;
private AssessmentRunState _state;
private DateTime? _stateChangedAt;
private List _stateChanges = new List();
private List _userAttributesForFindings = new List();
///
/// Gets and sets the property Arn.
///
/// The ARN of the assessment run.
///
///
[AWSProperty(Required=true, Min=1, Max=300)]
public string Arn
{
get { return this._arn; }
set { this._arn = value; }
}
// Check to see if Arn property is set
internal bool IsSetArn()
{
return this._arn != null;
}
///
/// Gets and sets the property AssessmentTemplateArn.
///
/// The ARN of the assessment template that is associated with the assessment run.
///
///
[AWSProperty(Required=true, Min=1, Max=300)]
public string AssessmentTemplateArn
{
get { return this._assessmentTemplateArn; }
set { this._assessmentTemplateArn = value; }
}
// Check to see if AssessmentTemplateArn property is set
internal bool IsSetAssessmentTemplateArn()
{
return this._assessmentTemplateArn != null;
}
///
/// Gets and sets the property CompletedAt.
///
/// The assessment run completion time that corresponds to the rules packages evaluation
/// completion time or failure.
///
///
public DateTime CompletedAt
{
get { return this._completedAt.GetValueOrDefault(); }
set { this._completedAt = value; }
}
// Check to see if CompletedAt property is set
internal bool IsSetCompletedAt()
{
return this._completedAt.HasValue;
}
///
/// Gets and sets the property CreatedAt.
///
/// The time when StartAssessmentRun was called.
///
///
[AWSProperty(Required=true)]
public DateTime CreatedAt
{
get { return this._createdAt.GetValueOrDefault(); }
set { this._createdAt = value; }
}
// Check to see if CreatedAt property is set
internal bool IsSetCreatedAt()
{
return this._createdAt.HasValue;
}
///
/// Gets and sets the property DataCollected.
///
/// A Boolean value (true or false) that specifies whether the process of collecting data
/// from the agents is completed.
///
///
[AWSProperty(Required=true)]
public bool DataCollected
{
get { return this._dataCollected.GetValueOrDefault(); }
set { this._dataCollected = value; }
}
// Check to see if DataCollected property is set
internal bool IsSetDataCollected()
{
return this._dataCollected.HasValue;
}
///
/// Gets and sets the property DurationInSeconds.
///
/// The duration of the assessment run.
///
///
[AWSProperty(Required=true, Min=180, Max=86400)]
public int DurationInSeconds
{
get { return this._durationInSeconds.GetValueOrDefault(); }
set { this._durationInSeconds = value; }
}
// Check to see if DurationInSeconds property is set
internal bool IsSetDurationInSeconds()
{
return this._durationInSeconds.HasValue;
}
///
/// Gets and sets the property FindingCounts.
///
/// Provides a total count of generated findings per severity.
///
///
[AWSProperty(Required=true)]
public Dictionary FindingCounts
{
get { return this._findingCounts; }
set { this._findingCounts = value; }
}
// Check to see if FindingCounts property is set
internal bool IsSetFindingCounts()
{
return this._findingCounts != null && this._findingCounts.Count > 0;
}
///
/// Gets and sets the property Name.
///
/// The auto-generated name for the assessment run.
///
///
[AWSProperty(Required=true, Min=1, Max=140)]
public string Name
{
get { return this._name; }
set { this._name = value; }
}
// Check to see if Name property is set
internal bool IsSetName()
{
return this._name != null;
}
///
/// Gets and sets the property Notifications.
///
/// A list of notifications for the event subscriptions. A notification about a particular
/// generated finding is added to this list only once.
///
///
[AWSProperty(Required=true, Min=0, Max=50)]
public List Notifications
{
get { return this._notifications; }
set { this._notifications = value; }
}
// Check to see if Notifications property is set
internal bool IsSetNotifications()
{
return this._notifications != null && this._notifications.Count > 0;
}
///
/// Gets and sets the property RulesPackageArns.
///
/// The rules packages selected for the assessment run.
///
///
[AWSProperty(Required=true, Min=1, Max=50)]
public List RulesPackageArns
{
get { return this._rulesPackageArns; }
set { this._rulesPackageArns = value; }
}
// Check to see if RulesPackageArns property is set
internal bool IsSetRulesPackageArns()
{
return this._rulesPackageArns != null && this._rulesPackageArns.Count > 0;
}
///
/// Gets and sets the property StartedAt.
///
/// The time when StartAssessmentRun was called.
///
///
public DateTime StartedAt
{
get { return this._startedAt.GetValueOrDefault(); }
set { this._startedAt = value; }
}
// Check to see if StartedAt property is set
internal bool IsSetStartedAt()
{
return this._startedAt.HasValue;
}
///
/// Gets and sets the property State.
///
/// The state of the assessment run.
///
///
[AWSProperty(Required=true)]
public AssessmentRunState State
{
get { return this._state; }
set { this._state = value; }
}
// Check to see if State property is set
internal bool IsSetState()
{
return this._state != null;
}
///
/// Gets and sets the property StateChangedAt.
///
/// The last time when the assessment run's state changed.
///
///
[AWSProperty(Required=true)]
public DateTime StateChangedAt
{
get { return this._stateChangedAt.GetValueOrDefault(); }
set { this._stateChangedAt = value; }
}
// Check to see if StateChangedAt property is set
internal bool IsSetStateChangedAt()
{
return this._stateChangedAt.HasValue;
}
///
/// Gets and sets the property StateChanges.
///
/// A list of the assessment run state changes.
///
///
[AWSProperty(Required=true, Min=0, Max=50)]
public List StateChanges
{
get { return this._stateChanges; }
set { this._stateChanges = value; }
}
// Check to see if StateChanges property is set
internal bool IsSetStateChanges()
{
return this._stateChanges != null && this._stateChanges.Count > 0;
}
///
/// Gets and sets the property UserAttributesForFindings.
///
/// The user-defined attributes that are assigned to every generated finding.
///
///
[AWSProperty(Required=true, Min=0, Max=10)]
public List UserAttributesForFindings
{
get { return this._userAttributesForFindings; }
set { this._userAttributesForFindings = value; }
}
// Check to see if UserAttributesForFindings property is set
internal bool IsSetUserAttributesForFindings()
{
return this._userAttributesForFindings != null && this._userAttributesForFindings.Count > 0;
}
}
}