/*
* 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 glue-2017-03-31.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.Glue.Model
{
///
/// A structure for a machine learning transform.
///
public partial class MLTransform
{
private DateTime? _createdOn;
private string _description;
private EvaluationMetrics _evaluationMetrics;
private string _glueVersion;
private List _inputRecordTables = new List();
private int? _labelCount;
private DateTime? _lastModifiedOn;
private double? _maxCapacity;
private int? _maxRetries;
private string _name;
private int? _numberOfWorkers;
private TransformParameters _parameters;
private string _role;
private List _schema = new List();
private TransformStatusType _status;
private int? _timeout;
private TransformEncryption _transformEncryption;
private string _transformId;
private WorkerType _workerType;
///
/// Gets and sets the property CreatedOn.
///
/// A timestamp. The time and date that this machine learning transform was created.
///
///
public DateTime CreatedOn
{
get { return this._createdOn.GetValueOrDefault(); }
set { this._createdOn = value; }
}
// Check to see if CreatedOn property is set
internal bool IsSetCreatedOn()
{
return this._createdOn.HasValue;
}
///
/// Gets and sets the property Description.
///
/// A user-defined, long-form description text for the machine learning transform. Descriptions
/// are not guaranteed to be unique and can be changed at any time.
///
///
[AWSProperty(Min=0, Max=2048)]
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 EvaluationMetrics.
///
/// An EvaluationMetrics
object. Evaluation metrics provide an estimate of
/// the quality of your machine learning transform.
///
///
public EvaluationMetrics EvaluationMetrics
{
get { return this._evaluationMetrics; }
set { this._evaluationMetrics = value; }
}
// Check to see if EvaluationMetrics property is set
internal bool IsSetEvaluationMetrics()
{
return this._evaluationMetrics != null;
}
///
/// Gets and sets the property GlueVersion.
///
/// This value determines which version of Glue this machine learning transform is compatible
/// with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue
/// compatibility defaults to Glue 0.9. For more information, see Glue
/// Versions in the developer guide.
///
///
[AWSProperty(Min=1, Max=255)]
public string GlueVersion
{
get { return this._glueVersion; }
set { this._glueVersion = value; }
}
// Check to see if GlueVersion property is set
internal bool IsSetGlueVersion()
{
return this._glueVersion != null;
}
///
/// Gets and sets the property InputRecordTables.
///
/// A list of Glue table definitions used by the transform.
///
///
[AWSProperty(Min=0, Max=10)]
public List InputRecordTables
{
get { return this._inputRecordTables; }
set { this._inputRecordTables = value; }
}
// Check to see if InputRecordTables property is set
internal bool IsSetInputRecordTables()
{
return this._inputRecordTables != null && this._inputRecordTables.Count > 0;
}
///
/// Gets and sets the property LabelCount.
///
/// A count identifier for the labeling files generated by Glue for this transform. As
/// you create a better transform, you can iteratively download, label, and upload the
/// labeling file.
///
///
public int LabelCount
{
get { return this._labelCount.GetValueOrDefault(); }
set { this._labelCount = value; }
}
// Check to see if LabelCount property is set
internal bool IsSetLabelCount()
{
return this._labelCount.HasValue;
}
///
/// Gets and sets the property LastModifiedOn.
///
/// A timestamp. The last point in time when this machine learning transform was modified.
///
///
public DateTime LastModifiedOn
{
get { return this._lastModifiedOn.GetValueOrDefault(); }
set { this._lastModifiedOn = value; }
}
// Check to see if LastModifiedOn property is set
internal bool IsSetLastModifiedOn()
{
return this._lastModifiedOn.HasValue;
}
///
/// Gets and sets the property MaxCapacity.
///
/// The number of Glue data processing units (DPUs) that are allocated to task runs for
/// this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a
/// relative measure of processing power that consists of 4 vCPUs of compute capacity
/// and 16 GB of memory. For more information, see the Glue
/// pricing page.
///
///
///
/// MaxCapacity
is a mutually exclusive option with NumberOfWorkers
/// and WorkerType
.
///
/// -
///
/// If either
NumberOfWorkers
or WorkerType
is set, then MaxCapacity
/// cannot be set.
///
/// -
///
/// If
MaxCapacity
is set then neither NumberOfWorkers
or WorkerType
/// can be set.
///
/// -
///
/// If
WorkerType
is set, then NumberOfWorkers
is required (and
/// vice versa).
///
/// -
///
///
MaxCapacity
and NumberOfWorkers
must both be at least 1.
///
///
///
/// When the WorkerType
field is set to a value other than Standard
,
/// the MaxCapacity
field is set automatically and becomes read-only.
///
///
public double MaxCapacity
{
get { return this._maxCapacity.GetValueOrDefault(); }
set { this._maxCapacity = value; }
}
// Check to see if MaxCapacity property is set
internal bool IsSetMaxCapacity()
{
return this._maxCapacity.HasValue;
}
///
/// Gets and sets the property MaxRetries.
///
/// The maximum number of times to retry after an MLTaskRun
of the machine
/// learning transform fails.
///
///
public int MaxRetries
{
get { return this._maxRetries.GetValueOrDefault(); }
set { this._maxRetries = value; }
}
// Check to see if MaxRetries property is set
internal bool IsSetMaxRetries()
{
return this._maxRetries.HasValue;
}
///
/// Gets and sets the property Name.
///
/// A user-defined name for the machine learning transform. Names are not guaranteed unique
/// and can be changed at any time.
///
///
[AWSProperty(Min=1, Max=255)]
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 NumberOfWorkers.
///
/// The number of workers of a defined workerType
that are allocated when
/// a task of the transform runs.
///
///
///
/// If WorkerType
is set, then NumberOfWorkers
is required (and
/// vice versa).
///
///
public int NumberOfWorkers
{
get { return this._numberOfWorkers.GetValueOrDefault(); }
set { this._numberOfWorkers = value; }
}
// Check to see if NumberOfWorkers property is set
internal bool IsSetNumberOfWorkers()
{
return this._numberOfWorkers.HasValue;
}
///
/// Gets and sets the property Parameters.
///
/// A TransformParameters
object. You can use parameters to tune (customize)
/// the behavior of the machine learning transform by specifying what data it learns from
/// and your preference on various tradeoffs (such as precious vs. recall, or accuracy
/// vs. cost).
///
///
public TransformParameters Parameters
{
get { return this._parameters; }
set { this._parameters = value; }
}
// Check to see if Parameters property is set
internal bool IsSetParameters()
{
return this._parameters != null;
}
///
/// Gets and sets the property Role.
///
/// The name or Amazon Resource Name (ARN) of the IAM role with the required permissions.
/// The required permissions include both Glue service role permissions to Glue resources,
/// and Amazon S3 permissions required by the transform.
///
/// -
///
/// This role needs Glue service role permissions to allow access to resources in Glue.
/// See Attach
/// a Policy to IAM Users That Access Glue.
///
///
-
///
/// This role needs permission to your Amazon Simple Storage Service (Amazon S3) sources,
/// targets, temporary directory, scripts, and any libraries used by the task run for
/// this transform.
///
///
///
public string Role
{
get { return this._role; }
set { this._role = value; }
}
// Check to see if Role property is set
internal bool IsSetRole()
{
return this._role != null;
}
///
/// Gets and sets the property Schema.
///
/// A map of key-value pairs representing the columns and data types that this transform
/// can run against. Has an upper bound of 100 columns.
///
///
[AWSProperty(Max=100)]
public List Schema
{
get { return this._schema; }
set { this._schema = value; }
}
// Check to see if Schema property is set
internal bool IsSetSchema()
{
return this._schema != null && this._schema.Count > 0;
}
///
/// Gets and sets the property Status.
///
/// The current status of the machine learning transform.
///
///
public TransformStatusType 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 Timeout.
///
/// The timeout in minutes of the machine learning transform.
///
///
[AWSProperty(Min=1)]
public int Timeout
{
get { return this._timeout.GetValueOrDefault(); }
set { this._timeout = value; }
}
// Check to see if Timeout property is set
internal bool IsSetTimeout()
{
return this._timeout.HasValue;
}
///
/// Gets and sets the property TransformEncryption.
///
/// The encryption-at-rest settings of the transform that apply to accessing user data.
/// Machine learning transforms can access user data encrypted in Amazon S3 using KMS.
///
///
public TransformEncryption TransformEncryption
{
get { return this._transformEncryption; }
set { this._transformEncryption = value; }
}
// Check to see if TransformEncryption property is set
internal bool IsSetTransformEncryption()
{
return this._transformEncryption != null;
}
///
/// Gets and sets the property TransformId.
///
/// The unique transform ID that is generated for the machine learning transform. The
/// ID is guaranteed to be unique and does not change.
///
///
[AWSProperty(Min=1, Max=255)]
public string TransformId
{
get { return this._transformId; }
set { this._transformId = value; }
}
// Check to see if TransformId property is set
internal bool IsSetTransformId()
{
return this._transformId != null;
}
///
/// Gets and sets the property WorkerType.
///
/// The type of predefined worker that is allocated when a task of this transform runs.
/// Accepts a value of Standard, G.1X, or G.2X.
///
/// -
///
/// For the
Standard
worker type, each worker provides 4 vCPU, 16 GB of memory
/// and a 50GB disk, and 2 executors per worker.
///
/// -
///
/// For the
G.1X
worker type, each worker provides 4 vCPU, 16 GB of memory
/// and a 64GB disk, and 1 executor per worker.
///
/// -
///
/// For the
G.2X
worker type, each worker provides 8 vCPU, 32 GB of memory
/// and a 128GB disk, and 1 executor per worker.
///
///
///
/// MaxCapacity
is a mutually exclusive option with NumberOfWorkers
/// and WorkerType
.
///
/// -
///
/// If either
NumberOfWorkers
or WorkerType
is set, then MaxCapacity
/// cannot be set.
///
/// -
///
/// If
MaxCapacity
is set then neither NumberOfWorkers
or WorkerType
/// can be set.
///
/// -
///
/// If
WorkerType
is set, then NumberOfWorkers
is required (and
/// vice versa).
///
/// -
///
///
MaxCapacity
and NumberOfWorkers
must both be at least 1.
///
///
///
public WorkerType WorkerType
{
get { return this._workerType; }
set { this._workerType = value; }
}
// Check to see if WorkerType property is set
internal bool IsSetWorkerType()
{
return this._workerType != null;
}
}
}