/*
* 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 auditmanager-2017-07-25.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.AuditManager.Model
{
///
/// A record that contains the information needed to demonstrate compliance with the
/// requirements specified by a control. Examples of evidence include change activity
/// invoked by a user, or a system configuration snapshot.
///
public partial class Evidence
{
private string _assessmentReportSelection;
private Dictionary _attributes = new Dictionary();
private string _awsAccountId;
private string _awsOrganization;
private string _complianceCheck;
private string _dataSource;
private string _eventName;
private string _eventSource;
private string _evidenceAwsAccountId;
private string _evidenceByType;
private string _evidenceFolderId;
private string _iamId;
private string _id;
private List _resourcesIncluded = new List();
private DateTime? _time;
///
/// Gets and sets the property AssessmentReportSelection.
///
/// Specifies whether the evidence is included in the assessment report.
///
///
[AWSProperty(Min=0, Max=2048)]
public string AssessmentReportSelection
{
get { return this._assessmentReportSelection; }
set { this._assessmentReportSelection = value; }
}
// Check to see if AssessmentReportSelection property is set
internal bool IsSetAssessmentReportSelection()
{
return this._assessmentReportSelection != null;
}
///
/// Gets and sets the property Attributes.
///
/// The names and values that are used by the evidence event. This includes an attribute
/// name (such as allowUsersToChangePassword
) and value (such as true
/// or false
).
///
///
public Dictionary Attributes
{
get { return this._attributes; }
set { this._attributes = value; }
}
// Check to see if Attributes property is set
internal bool IsSetAttributes()
{
return this._attributes != null && this._attributes.Count > 0;
}
///
/// Gets and sets the property AwsAccountId.
///
/// The identifier for the Amazon Web Services account.
///
///
[AWSProperty(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 AwsOrganization.
///
/// The Amazon Web Services account that the evidence is collected from, and its organization
/// path.
///
///
[AWSProperty(Min=0, Max=2048)]
public string AwsOrganization
{
get { return this._awsOrganization; }
set { this._awsOrganization = value; }
}
// Check to see if AwsOrganization property is set
internal bool IsSetAwsOrganization()
{
return this._awsOrganization != null;
}
///
/// Gets and sets the property ComplianceCheck.
///
/// The evaluation status for automated evidence that falls under the compliance check
/// category.
///
/// -
///
/// Audit Manager classes evidence as non-compliant if Security Hub reports a Fail
/// result, or if Config reports a Non-compliant result.
///
///
-
///
/// Audit Manager classes evidence as compliant if Security Hub reports a Pass
/// result, or if Config reports a Compliant result.
///
///
-
///
/// If a compliance check isn't available or applicable, then no compliance evaluation
/// can be made for that evidence. This is the case if the evidence uses Config or Security
/// Hub as the underlying data source type, but those services aren't enabled. This is
/// also the case if the evidence uses an underlying data source type that doesn't support
/// compliance checks (such as manual evidence, Amazon Web Services API calls, or CloudTrail).
///
///
///
///
[AWSProperty(Min=0, Max=2048)]
public string ComplianceCheck
{
get { return this._complianceCheck; }
set { this._complianceCheck = value; }
}
// Check to see if ComplianceCheck property is set
internal bool IsSetComplianceCheck()
{
return this._complianceCheck != null;
}
///
/// Gets and sets the property DataSource.
///
/// The data source where the evidence was collected from.
///
///
[AWSProperty(Min=0, Max=2048)]
public string DataSource
{
get { return this._dataSource; }
set { this._dataSource = value; }
}
// Check to see if DataSource property is set
internal bool IsSetDataSource()
{
return this._dataSource != null;
}
///
/// Gets and sets the property EventName.
///
/// The name of the evidence event.
///
///
[AWSProperty(Max=100)]
public string EventName
{
get { return this._eventName; }
set { this._eventName = value; }
}
// Check to see if EventName property is set
internal bool IsSetEventName()
{
return this._eventName != null;
}
///
/// Gets and sets the property EventSource.
///
/// The Amazon Web Service that the evidence is collected from.
///
///
[AWSProperty(Min=1, Max=40)]
public string EventSource
{
get { return this._eventSource; }
set { this._eventSource = value; }
}
// Check to see if EventSource property is set
internal bool IsSetEventSource()
{
return this._eventSource != null;
}
///
/// Gets and sets the property EvidenceAwsAccountId.
///
/// The identifier for the Amazon Web Services account.
///
///
[AWSProperty(Min=12, Max=12)]
public string EvidenceAwsAccountId
{
get { return this._evidenceAwsAccountId; }
set { this._evidenceAwsAccountId = value; }
}
// Check to see if EvidenceAwsAccountId property is set
internal bool IsSetEvidenceAwsAccountId()
{
return this._evidenceAwsAccountId != null;
}
///
/// Gets and sets the property EvidenceByType.
///
/// The type of automated evidence.
///
///
[AWSProperty(Min=0, Max=2048)]
public string EvidenceByType
{
get { return this._evidenceByType; }
set { this._evidenceByType = value; }
}
// Check to see if EvidenceByType property is set
internal bool IsSetEvidenceByType()
{
return this._evidenceByType != null;
}
///
/// Gets and sets the property EvidenceFolderId.
///
/// The identifier for the folder that the evidence is stored in.
///
///
[AWSProperty(Min=36, Max=36)]
public string EvidenceFolderId
{
get { return this._evidenceFolderId; }
set { this._evidenceFolderId = value; }
}
// Check to see if EvidenceFolderId property is set
internal bool IsSetEvidenceFolderId()
{
return this._evidenceFolderId != null;
}
///
/// Gets and sets the property IamId.
///
/// The unique identifier for the user or role that's associated with the evidence.
///
///
[AWSProperty(Min=20, Max=2048)]
public string IamId
{
get { return this._iamId; }
set { this._iamId = value; }
}
// Check to see if IamId property is set
internal bool IsSetIamId()
{
return this._iamId != null;
}
///
/// Gets and sets the property Id.
///
/// The identifier for the evidence.
///
///
[AWSProperty(Min=36, Max=36)]
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 ResourcesIncluded.
///
/// The list of resources that are assessed to generate the evidence.
///
///
public List ResourcesIncluded
{
get { return this._resourcesIncluded; }
set { this._resourcesIncluded = value; }
}
// Check to see if ResourcesIncluded property is set
internal bool IsSetResourcesIncluded()
{
return this._resourcesIncluded != null && this._resourcesIncluded.Count > 0;
}
///
/// Gets and sets the property Time.
///
/// The timestamp that represents when the evidence was collected.
///
///
public DateTime Time
{
get { return this._time.GetValueOrDefault(); }
set { this._time = value; }
}
// Check to see if Time property is set
internal bool IsSetTime()
{
return this._time.HasValue;
}
}
}