/*
* 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 comprehend-2017-11-27.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.Comprehend.Model
{
///
/// Container for the parameters to the CreateFlywheel operation.
/// A flywheel is an Amazon Web Services resource that orchestrates the ongoing training
/// of a model for custom classification or custom entity recognition. You can create
/// a flywheel to start with an existing trained model, or Comprehend can create and train
/// a new model.
///
///
///
/// When you create the flywheel, Comprehend creates a data lake in your account. The
/// data lake holds the training data and test data for all versions of the model.
///
///
///
/// To use a flywheel with an existing trained model, you specify the active model version.
/// Comprehend copies the model's training data and test data into the flywheel's data
/// lake.
///
///
///
/// To use the flywheel with a new model, you need to provide a dataset for training data
/// (and optional test data) when you create the flywheel.
///
///
///
/// For more information about flywheels, see
/// Flywheel overview in the Amazon Comprehend Developer Guide.
///
///
public partial class CreateFlywheelRequest : AmazonComprehendRequest
{
private string _activeModelArn;
private string _clientRequestToken;
private string _dataAccessRoleArn;
private string _dataLakeS3Uri;
private DataSecurityConfig _dataSecurityConfig;
private string _flywheelName;
private ModelType _modelType;
private List _tags = new List();
private TaskConfig _taskConfig;
///
/// Gets and sets the property ActiveModelArn.
///
/// To associate an existing model with the flywheel, specify the Amazon Resource Number
/// (ARN) of the model version.
///
///
[AWSProperty(Max=256)]
public string ActiveModelArn
{
get { return this._activeModelArn; }
set { this._activeModelArn = value; }
}
// Check to see if ActiveModelArn property is set
internal bool IsSetActiveModelArn()
{
return this._activeModelArn != null;
}
///
/// Gets and sets the property ClientRequestToken.
///
/// A unique identifier for the request. If you don't set the client request token, Amazon
/// Comprehend generates one.
///
///
[AWSProperty(Min=1, Max=64)]
public string ClientRequestToken
{
get { return this._clientRequestToken; }
set { this._clientRequestToken = value; }
}
// Check to see if ClientRequestToken property is set
internal bool IsSetClientRequestToken()
{
return this._clientRequestToken != null;
}
///
/// Gets and sets the property DataAccessRoleArn.
///
/// The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend the permissions
/// required to access the flywheel data in the data lake.
///
///
[AWSProperty(Required=true, Min=20, Max=2048)]
public string DataAccessRoleArn
{
get { return this._dataAccessRoleArn; }
set { this._dataAccessRoleArn = value; }
}
// Check to see if DataAccessRoleArn property is set
internal bool IsSetDataAccessRoleArn()
{
return this._dataAccessRoleArn != null;
}
///
/// Gets and sets the property DataLakeS3Uri.
///
/// Enter the S3 location for the data lake. You can specify a new S3 bucket or a new
/// folder of an existing S3 bucket. The flywheel creates the data lake at this location.
///
///
[AWSProperty(Required=true, Max=512)]
public string DataLakeS3Uri
{
get { return this._dataLakeS3Uri; }
set { this._dataLakeS3Uri = value; }
}
// Check to see if DataLakeS3Uri property is set
internal bool IsSetDataLakeS3Uri()
{
return this._dataLakeS3Uri != null;
}
///
/// Gets and sets the property DataSecurityConfig.
///
/// Data security configurations.
///
///
public DataSecurityConfig DataSecurityConfig
{
get { return this._dataSecurityConfig; }
set { this._dataSecurityConfig = value; }
}
// Check to see if DataSecurityConfig property is set
internal bool IsSetDataSecurityConfig()
{
return this._dataSecurityConfig != null;
}
///
/// Gets and sets the property FlywheelName.
///
/// Name for the flywheel.
///
///
[AWSProperty(Required=true, Max=63)]
public string FlywheelName
{
get { return this._flywheelName; }
set { this._flywheelName = value; }
}
// Check to see if FlywheelName property is set
internal bool IsSetFlywheelName()
{
return this._flywheelName != null;
}
///
/// Gets and sets the property ModelType.
///
/// The model type.
///
///
public ModelType ModelType
{
get { return this._modelType; }
set { this._modelType = value; }
}
// Check to see if ModelType property is set
internal bool IsSetModelType()
{
return this._modelType != null;
}
///
/// Gets and sets the property Tags.
///
/// The tags to associate with this flywheel.
///
///
public List 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 TaskConfig.
///
/// Configuration about the custom classifier associated with the flywheel.
///
///
public TaskConfig TaskConfig
{
get { return this._taskConfig; }
set { this._taskConfig = value; }
}
// Check to see if TaskConfig property is set
internal bool IsSetTaskConfig()
{
return this._taskConfig != null;
}
}
}