/*
* 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 macie2-2020-01-01.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.Macie2.Model
{
///
/// This is the response object from the DescribeClassificationJob operation.
///
public partial class DescribeClassificationJobResponse : AmazonWebServiceResponse
{
private List _allowListIds = new List();
private string _clientToken;
private DateTime? _createdAt;
private List _customDataIdentifierIds = new List();
private string _description;
private bool? _initialRun;
private string _jobArn;
private string _jobId;
private JobStatus _jobStatus;
private JobType _jobType;
private LastRunErrorStatus _lastRunErrorStatus;
private DateTime? _lastRunTime;
private List _managedDataIdentifierIds = new List();
private ManagedDataIdentifierSelector _managedDataIdentifierSelector;
private string _name;
private S3JobDefinition _s3JobDefinition;
private int? _samplingPercentage;
private JobScheduleFrequency _scheduleFrequency;
private Statistics _statistics;
private Dictionary _tags = new Dictionary();
private UserPausedDetails _userPausedDetails;
///
/// Gets and sets the property AllowListIds.
///
/// An array of unique identifiers, one for each allow list that the job uses when it
/// analyzes data.
///
///
public List AllowListIds
{
get { return this._allowListIds; }
set { this._allowListIds = value; }
}
// Check to see if AllowListIds property is set
internal bool IsSetAllowListIds()
{
return this._allowListIds != null && this._allowListIds.Count > 0;
}
///
/// Gets and sets the property ClientToken.
///
/// The token that was provided to ensure the idempotency of the request to create the
/// job.
///
///
public string ClientToken
{
get { return this._clientToken; }
set { this._clientToken = value; }
}
// Check to see if ClientToken property is set
internal bool IsSetClientToken()
{
return this._clientToken != null;
}
///
/// Gets and sets the property CreatedAt.
///
/// The date and time, in UTC and extended ISO 8601 format, when the job was created.
///
///
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 CustomDataIdentifierIds.
///
/// An array of unique identifiers, one for each custom data identifier that the job uses
/// when it analyzes data. This value is null if the job uses only managed data identifiers
/// to analyze data.
///
///
public List CustomDataIdentifierIds
{
get { return this._customDataIdentifierIds; }
set { this._customDataIdentifierIds = value; }
}
// Check to see if CustomDataIdentifierIds property is set
internal bool IsSetCustomDataIdentifierIds()
{
return this._customDataIdentifierIds != null && this._customDataIdentifierIds.Count > 0;
}
///
/// Gets and sets the property Description.
///
/// The custom description of the job.
///
///
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 InitialRun.
///
/// For a recurring job, specifies whether you configured the job to analyze all existing,
/// eligible objects immediately after the job was created (true). If you configured the
/// job to analyze only those objects that were created or changed after the job was created
/// and before the job's first scheduled run, this value is false. This value is also
/// false for a one-time job.
///
///
public bool InitialRun
{
get { return this._initialRun.GetValueOrDefault(); }
set { this._initialRun = value; }
}
// Check to see if InitialRun property is set
internal bool IsSetInitialRun()
{
return this._initialRun.HasValue;
}
///
/// Gets and sets the property JobArn.
///
/// The Amazon Resource Name (ARN) of the job.
///
///
public string JobArn
{
get { return this._jobArn; }
set { this._jobArn = value; }
}
// Check to see if JobArn property is set
internal bool IsSetJobArn()
{
return this._jobArn != null;
}
///
/// Gets and sets the property JobId.
///
/// The unique identifier for the job.
///
///
public string JobId
{
get { return this._jobId; }
set { this._jobId = value; }
}
// Check to see if JobId property is set
internal bool IsSetJobId()
{
return this._jobId != null;
}
///
/// Gets and sets the property JobStatus.
///
/// The current status of the job. Possible values are:
///
/// -
///
/// CANCELLED - You cancelled the job or, if it's a one-time job, you paused the job and
/// didn't resume it within 30 days.
///
///
-
///
/// COMPLETE - For a one-time job, Amazon Macie finished processing the data specified
/// for the job. This value doesn't apply to recurring jobs.
///
///
-
///
/// IDLE - For a recurring job, the previous scheduled run is complete and the next scheduled
/// run is pending. This value doesn't apply to one-time jobs.
///
///
-
///
/// PAUSED - Macie started running the job but additional processing would exceed the
/// monthly sensitive data discovery quota for your account or one or more member accounts
/// that the job analyzes data for.
///
///
-
///
/// RUNNING - For a one-time job, the job is in progress. For a recurring job, a scheduled
/// run is in progress.
///
///
-
///
/// USER_PAUSED - You paused the job. If you paused the job while it had a status of RUNNING
/// and you don't resume it within 30 days of pausing it, the job or job run will expire
/// and be cancelled, depending on the job's type. To check the expiration date, refer
/// to the UserPausedDetails.jobExpiresAt property.
///
///
///
public JobStatus JobStatus
{
get { return this._jobStatus; }
set { this._jobStatus = value; }
}
// Check to see if JobStatus property is set
internal bool IsSetJobStatus()
{
return this._jobStatus != null;
}
///
/// Gets and sets the property JobType.
///
/// The schedule for running the job. Possible values are:
///
/// -
///
/// ONE_TIME - The job runs only once.
///
///
-
///
/// SCHEDULED - The job runs on a daily, weekly, or monthly basis. The scheduleFrequency
/// property indicates the recurrence pattern for the job.
///
///
///
public JobType JobType
{
get { return this._jobType; }
set { this._jobType = value; }
}
// Check to see if JobType property is set
internal bool IsSetJobType()
{
return this._jobType != null;
}
///
/// Gets and sets the property LastRunErrorStatus.
///
/// Specifies whether any account- or bucket-level access errors occurred when the job
/// ran. For a recurring job, this value indicates the error status of the job's most
/// recent run.
///
///
public LastRunErrorStatus LastRunErrorStatus
{
get { return this._lastRunErrorStatus; }
set { this._lastRunErrorStatus = value; }
}
// Check to see if LastRunErrorStatus property is set
internal bool IsSetLastRunErrorStatus()
{
return this._lastRunErrorStatus != null;
}
///
/// Gets and sets the property LastRunTime.
///
/// The date and time, in UTC and extended ISO 8601 format, when the job started. If the
/// job is a recurring job, this value indicates when the most recent run started or,
/// if the job hasn't run yet, when the job was created.
///
///
public DateTime LastRunTime
{
get { return this._lastRunTime.GetValueOrDefault(); }
set { this._lastRunTime = value; }
}
// Check to see if LastRunTime property is set
internal bool IsSetLastRunTime()
{
return this._lastRunTime.HasValue;
}
///
/// Gets and sets the property ManagedDataIdentifierIds.
///
/// An array of unique identifiers, one for each managed data identifier that the job
/// is explicitly configured to include (use) or exclude (not use) when it analyzes data.
/// Inclusion or exclusion depends on the managed data identifier selection type specified
/// for the job (managedDataIdentifierSelector).
///
///
///
/// This value is null if the job's managed data identifier selection type is ALL, NONE,
/// or RECOMMENDED.
///
///
public List ManagedDataIdentifierIds
{
get { return this._managedDataIdentifierIds; }
set { this._managedDataIdentifierIds = value; }
}
// Check to see if ManagedDataIdentifierIds property is set
internal bool IsSetManagedDataIdentifierIds()
{
return this._managedDataIdentifierIds != null && this._managedDataIdentifierIds.Count > 0;
}
///
/// Gets and sets the property ManagedDataIdentifierSelector.
///
/// The selection type that determines which managed data identifiers the job uses when
/// it analyzes data. Possible values are:
///
/// -
///
/// ALL (default) - Use all managed data identifiers.
///
///
-
///
/// EXCLUDE - Use all managed data identifiers except the ones specified by the managedDataIdentifierIds
/// property.
///
///
-
///
/// INCLUDE - Use only the managed data identifiers specified by the managedDataIdentifierIds
/// property.
///
///
-
///
/// NONE - Don't use any managed data identifiers. Use only custom data identifiers (customDataIdentifierIds).
///
///
-
///
/// RECOMMENDED - Use only the set of managed data identifiers that Amazon Web Services
/// recommends for jobs.
///
///
///
/// If this value is null, the job uses all managed data identifiers.
///
///
///
/// If the job is a recurring job and this value is null, ALL, or EXCLUDE, each job run
/// automatically uses new managed data identifiers that are released after the job was
/// created or the preceding run ended. If this value is RECOMMENDED for a recurring job,
/// each job run uses all the managed data identifiers that are in the recommended set
/// when the run starts.
///
///
///
/// For information about individual managed data identifiers or to determine which ones
/// are in the recommended set, see Using
/// managed data identifiers and Recommended
/// managed data identifiers in the Amazon Macie User Guide.
///
///
public ManagedDataIdentifierSelector ManagedDataIdentifierSelector
{
get { return this._managedDataIdentifierSelector; }
set { this._managedDataIdentifierSelector = value; }
}
// Check to see if ManagedDataIdentifierSelector property is set
internal bool IsSetManagedDataIdentifierSelector()
{
return this._managedDataIdentifierSelector != null;
}
///
/// Gets and sets the property Name.
///
/// The custom name of the job.
///
///
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 S3JobDefinition.
///
/// The S3 buckets that contain the objects to analyze, and the scope of that analysis.
///
///
public S3JobDefinition S3JobDefinition
{
get { return this._s3JobDefinition; }
set { this._s3JobDefinition = value; }
}
// Check to see if S3JobDefinition property is set
internal bool IsSetS3JobDefinition()
{
return this._s3JobDefinition != null;
}
///
/// Gets and sets the property SamplingPercentage.
///
/// The sampling depth, as a percentage, that determines the percentage of eligible objects
/// that the job analyzes.
///
///
public int SamplingPercentage
{
get { return this._samplingPercentage.GetValueOrDefault(); }
set { this._samplingPercentage = value; }
}
// Check to see if SamplingPercentage property is set
internal bool IsSetSamplingPercentage()
{
return this._samplingPercentage.HasValue;
}
///
/// Gets and sets the property ScheduleFrequency.
///
/// The recurrence pattern for running the job. This value is null if the job is configured
/// to run only once.
///
///
public JobScheduleFrequency ScheduleFrequency
{
get { return this._scheduleFrequency; }
set { this._scheduleFrequency = value; }
}
// Check to see if ScheduleFrequency property is set
internal bool IsSetScheduleFrequency()
{
return this._scheduleFrequency != null;
}
///
/// Gets and sets the property Statistics.
///
/// The number of times that the job has run and processing statistics for the job's current
/// run.
///
///
public Statistics Statistics
{
get { return this._statistics; }
set { this._statistics = value; }
}
// Check to see if Statistics property is set
internal bool IsSetStatistics()
{
return this._statistics != null;
}
///
/// Gets and sets the property Tags.
///
/// A map of key-value pairs that specifies which tags (keys and values) are associated
/// with the classification job.
///
///
public Dictionary Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
///
/// Gets and sets the property UserPausedDetails.
///
/// If the current status of the job is USER_PAUSED, specifies when the job was paused
/// and when the job or job run will expire and be cancelled if it isn't resumed. This
/// value is present only if the value for jobStatus is USER_PAUSED.
///
///
public UserPausedDetails UserPausedDetails
{
get { return this._userPausedDetails; }
set { this._userPausedDetails = value; }
}
// Check to see if UserPausedDetails property is set
internal bool IsSetUserPausedDetails()
{
return this._userPausedDetails != null;
}
}
}