/*
* 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 sagemaker-2017-07-24.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.SageMaker.Model
{
///
/// Container for the parameters to the CreateAutoMLJobV2 operation.
/// Creates an Autopilot job also referred to as Autopilot experiment or AutoML job V2.
///
///
///
/// CreateAutoMLJobV2
/// and DescribeAutoMLJobV2
/// are new versions of CreateAutoMLJob
/// and DescribeAutoMLJob
/// which offer backward compatibility.
///
///
///
/// CreateAutoMLJobV2
can manage tabular problem types identical to those
/// of its previous version CreateAutoMLJob
, as well as non-tabular problem
/// types such as image or text classification.
///
///
///
/// Find guidelines about how to migrate a CreateAutoMLJob
to CreateAutoMLJobV2
/// in Migrate
/// a CreateAutoMLJob to CreateAutoMLJobV2.
///
///
///
/// For the list of available problem types supported by CreateAutoMLJobV2
,
/// see AutoMLProblemTypeConfig.
///
///
///
/// You can find the best-performing model after you run an AutoML job V2 by calling DescribeAutoMLJobV2.
///
///
public partial class CreateAutoMLJobV2Request : AmazonSageMakerRequest
{
private List _autoMLJobInputDataConfig = new List();
private string _autoMLJobName;
private AutoMLJobObjective _autoMLJobObjective;
private AutoMLProblemTypeConfig _autoMLProblemTypeConfig;
private AutoMLDataSplitConfig _dataSplitConfig;
private ModelDeployConfig _modelDeployConfig;
private AutoMLOutputDataConfig _outputDataConfig;
private string _roleArn;
private AutoMLSecurityConfig _securityConfig;
private List _tags = new List();
///
/// Gets and sets the property AutoMLJobInputDataConfig.
///
/// An array of channel objects describing the input data and their location. Each channel
/// is a named input source. Similar to the InputDataConfig
/// attribute in the CreateAutoMLJob
input parameters. The supported formats
/// depend on the problem type:
///
/// -
///
/// For tabular problem types:
S3Prefix
, ManifestFile
.
///
/// -
///
/// For image classification:
S3Prefix
, ManifestFile
, AugmentedManifestFile
.
///
/// -
///
/// For text classification:
S3Prefix
.
///
/// -
///
/// For time-series forecasting:
S3Prefix
.
///
///
///
[AWSProperty(Required=true, Min=1, Max=2)]
public List AutoMLJobInputDataConfig
{
get { return this._autoMLJobInputDataConfig; }
set { this._autoMLJobInputDataConfig = value; }
}
// Check to see if AutoMLJobInputDataConfig property is set
internal bool IsSetAutoMLJobInputDataConfig()
{
return this._autoMLJobInputDataConfig != null && this._autoMLJobInputDataConfig.Count > 0;
}
///
/// Gets and sets the property AutoMLJobName.
///
/// Identifies an Autopilot job. The name must be unique to your account and is case insensitive.
///
///
[AWSProperty(Required=true, Min=1, Max=32)]
public string AutoMLJobName
{
get { return this._autoMLJobName; }
set { this._autoMLJobName = value; }
}
// Check to see if AutoMLJobName property is set
internal bool IsSetAutoMLJobName()
{
return this._autoMLJobName != null;
}
///
/// Gets and sets the property AutoMLJobObjective.
///
/// Specifies a metric to minimize or maximize as the objective of a job. If not specified,
/// the default objective metric depends on the problem type. For the list of default
/// values per problem type, see AutoMLJobObjective.
///
///
///
/// For tabular problem types, you must either provide both the AutoMLJobObjective
/// and indicate the type of supervised learning problem in AutoMLProblemTypeConfig
/// (TabularJobConfig.ProblemType
), or none at all.
///
///
///
public AutoMLJobObjective AutoMLJobObjective
{
get { return this._autoMLJobObjective; }
set { this._autoMLJobObjective = value; }
}
// Check to see if AutoMLJobObjective property is set
internal bool IsSetAutoMLJobObjective()
{
return this._autoMLJobObjective != null;
}
///
/// Gets and sets the property AutoMLProblemTypeConfig.
///
/// Defines the configuration settings of one of the supported problem types.
///
///
[AWSProperty(Required=true)]
public AutoMLProblemTypeConfig AutoMLProblemTypeConfig
{
get { return this._autoMLProblemTypeConfig; }
set { this._autoMLProblemTypeConfig = value; }
}
// Check to see if AutoMLProblemTypeConfig property is set
internal bool IsSetAutoMLProblemTypeConfig()
{
return this._autoMLProblemTypeConfig != null;
}
///
/// Gets and sets the property DataSplitConfig.
///
/// This structure specifies how to split the data into train and validation datasets.
///
///
///
/// The validation and training datasets must contain the same headers. For jobs created
/// by calling CreateAutoMLJob
, the validation dataset must be less than
/// 2 GB in size.
///
///
///
/// This attribute must not be set for the time-series forecasting problem type, as Autopilot
/// automatically splits the input dataset into training and validation sets.
///
///
///
public AutoMLDataSplitConfig DataSplitConfig
{
get { return this._dataSplitConfig; }
set { this._dataSplitConfig = value; }
}
// Check to see if DataSplitConfig property is set
internal bool IsSetDataSplitConfig()
{
return this._dataSplitConfig != null;
}
///
/// Gets and sets the property ModelDeployConfig.
///
/// Specifies how to generate the endpoint name for an automatic one-click Autopilot model
/// deployment.
///
///
public ModelDeployConfig ModelDeployConfig
{
get { return this._modelDeployConfig; }
set { this._modelDeployConfig = value; }
}
// Check to see if ModelDeployConfig property is set
internal bool IsSetModelDeployConfig()
{
return this._modelDeployConfig != null;
}
///
/// Gets and sets the property OutputDataConfig.
///
/// Provides information about encryption and the Amazon S3 output path needed to store
/// artifacts from an AutoML job.
///
///
[AWSProperty(Required=true)]
public AutoMLOutputDataConfig OutputDataConfig
{
get { return this._outputDataConfig; }
set { this._outputDataConfig = value; }
}
// Check to see if OutputDataConfig property is set
internal bool IsSetOutputDataConfig()
{
return this._outputDataConfig != null;
}
///
/// Gets and sets the property RoleArn.
///
/// The ARN of the role that is used to access the data.
///
///
[AWSProperty(Required=true, Min=20, Max=2048)]
public string RoleArn
{
get { return this._roleArn; }
set { this._roleArn = value; }
}
// Check to see if RoleArn property is set
internal bool IsSetRoleArn()
{
return this._roleArn != null;
}
///
/// Gets and sets the property SecurityConfig.
///
/// The security configuration for traffic encryption or Amazon VPC settings.
///
///
public AutoMLSecurityConfig SecurityConfig
{
get { return this._securityConfig; }
set { this._securityConfig = value; }
}
// Check to see if SecurityConfig property is set
internal bool IsSetSecurityConfig()
{
return this._securityConfig != null;
}
///
/// Gets and sets the property Tags.
///
/// An array of key-value pairs. You can use tags to categorize your Amazon Web Services
/// resources in different ways, such as by purpose, owner, or environment. For more information,
/// see Tagging
/// Amazon Web ServicesResources. Tag keys must be unique per resource.
///
///
[AWSProperty(Min=0, Max=50)]
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;
}
}
}