/* * 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 { /// /// Container for the parameters to the CreateClassificationJob operation. /// Creates and defines the settings for a classification job. /// public partial class CreateClassificationJobRequest : AmazonMacie2Request { private List _allowListIds = new List(); private string _clientToken; private List _customDataIdentifierIds = new List(); private string _description; private bool? _initialRun; private JobType _jobType; private List _managedDataIdentifierIds = new List(); private ManagedDataIdentifierSelector _managedDataIdentifierSelector; private string _name; private S3JobDefinition _s3JobDefinition; private int? _samplingPercentage; private JobScheduleFrequency _scheduleFrequency; private Dictionary _tags = new Dictionary(); /// /// Gets and sets the property AllowListIds. /// /// An array of unique identifiers, one for each allow list for the job to use 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. /// /// A unique, case-sensitive token that you provide to ensure the idempotency of the request. /// /// 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 CustomDataIdentifierIds. /// /// An array of unique identifiers, one for each custom data identifier for the job to /// use when it analyzes data. To use only managed data identifiers, don't specify a value /// for this property and specify a value other than NONE for the managedDataIdentifierSelector /// property. /// /// 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. /// /// A custom description of the job. The description can contain as many as 200 characters. /// /// 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 to analyze all existing, eligible objects immediately /// after the job is created (true). To analyze only those objects that are created or /// changed after you create the job and before the job's first scheduled run, set this /// value to false. /// /// /// /// If you configure the job to run only once, don't specify a value for this property. /// /// 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 JobType. /// /// The schedule for running the job. Valid values are: /// ///
  • /// /// ONE_TIME - Run the job only once. If you specify this value, don't specify a value /// for the scheduleFrequency property. /// ///
  • /// /// SCHEDULED - Run the job on a daily, weekly, or monthly basis. If you specify this /// value, use the scheduleFrequency property to define the recurrence pattern for the /// job. /// ///
///
[AWSProperty(Required=true)] 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 ManagedDataIdentifierIds. /// /// An array of unique identifiers, one for each managed data identifier for the job to /// include (use) or exclude (not use) when it analyzes data. Inclusion or exclusion depends /// on the managed data identifier selection type that you specify for the job (managedDataIdentifierSelector). /// /// /// /// To retrieve a list of valid values for this property, use the ListManagedDataIdentifiers /// operation. /// /// 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 to apply when determining which managed data identifiers the job /// uses to analyze data. Valid values are: /// ///
  • /// /// ALL (default) - Use all managed data identifiers. If you specify this value, don't /// specify any values for the managedDataIdentifierIds property. /// ///
  • /// /// 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. If you specify this value, specify /// at least one custom data identifier for the job (customDataIdentifierIds) and don't /// specify any values for the managedDataIdentifierIds property. /// ///
  • /// /// RECOMMENDED - Use only the set of managed data identifiers that Amazon Web Services /// recommends for jobs. If you specify this value, don't specify any values for the managedDataIdentifierIds /// property. /// ///
/// /// If you don't specify a value for this property, the job uses all managed data identifiers. /// /// /// /// If the job is a recurring job and you don't specify a value for this property or you /// specify ALL or EXCLUDE, each job run automatically uses new managed data identifiers /// that are released. If you specify RECOMMENDED for a recurring job, each job run automatically /// uses all the managed data identifiers that are in the recommended set when the job /// starts to run. /// /// /// /// 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. /// /// A custom name for the job. The name can contain as many as 500 characters. /// /// [AWSProperty(Required=true)] 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. /// /// [AWSProperty(Required=true)] 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, for the job to apply when processing objects. /// This value determines the percentage of eligible objects that the job analyzes. If /// this value is less than 100, Amazon Macie selects the objects to analyze at random, /// up to the specified percentage, and analyzes all the data in those objects. /// /// 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. To run the job only once, don't specify /// a value for this property and set the value for the jobType property to ONE_TIME. /// /// 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 Tags. /// /// A map of key-value pairs that specifies the tags to associate with the job. /// /// /// /// A job can have a maximum of 50 tags. Each tag consists of a tag key and an associated /// tag value. The maximum length of a tag key is 128 characters. The maximum length of /// a tag value is 256 characters. /// /// 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; } } }