/*
* 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 CreateCompilationJob operation.
/// Starts a model compilation job. After the model has been compiled, Amazon SageMaker
/// saves the resulting model artifacts to an Amazon Simple Storage Service (Amazon S3)
/// bucket that you specify.
///
///
///
/// If you choose to host your model using Amazon SageMaker hosting services, you can
/// use the resulting model artifacts as part of the model. You can also use the artifacts
/// with Amazon Web Services IoT Greengrass. In that case, deploy them as an ML resource.
///
///
///
/// In the request body, you provide the following:
///
/// -
///
/// A name for the compilation job
///
///
-
///
/// Information about the input model artifacts
///
///
-
///
/// The output location for the compiled model and the device (target) that the model
/// runs on
///
///
-
///
/// The Amazon Resource Name (ARN) of the IAM role that Amazon SageMaker assumes to perform
/// the model compilation job.
///
///
///
/// You can also provide a Tag
to track the model compilation job's resource
/// use and costs. The response body contains the CompilationJobArn
for the
/// compiled job.
///
///
///
/// To stop a model compilation job, use StopCompilationJob.
/// To get information about a particular model compilation job, use DescribeCompilationJob.
/// To get information about multiple model compilation jobs, use ListCompilationJobs.
///
///
public partial class CreateCompilationJobRequest : AmazonSageMakerRequest
{
private string _compilationJobName;
private InputConfig _inputConfig;
private string _modelPackageVersionArn;
private OutputConfig _outputConfig;
private string _roleArn;
private StoppingCondition _stoppingCondition;
private List _tags = new List();
private NeoVpcConfig _vpcConfig;
///
/// Gets and sets the property CompilationJobName.
///
/// A name for the model compilation job. The name must be unique within the Amazon Web
/// Services Region and within your Amazon Web Services account.
///
///
[AWSProperty(Required=true, Min=1, Max=63)]
public string CompilationJobName
{
get { return this._compilationJobName; }
set { this._compilationJobName = value; }
}
// Check to see if CompilationJobName property is set
internal bool IsSetCompilationJobName()
{
return this._compilationJobName != null;
}
///
/// Gets and sets the property InputConfig.
///
/// Provides information about the location of input model artifacts, the name and shape
/// of the expected data inputs, and the framework in which the model was trained.
///
///
public InputConfig InputConfig
{
get { return this._inputConfig; }
set { this._inputConfig = value; }
}
// Check to see if InputConfig property is set
internal bool IsSetInputConfig()
{
return this._inputConfig != null;
}
///
/// Gets and sets the property ModelPackageVersionArn.
///
/// The Amazon Resource Name (ARN) of a versioned model package. Provide either a ModelPackageVersionArn
/// or an InputConfig
object in the request syntax. The presence of both
/// objects in the CreateCompilationJob
request will return an exception.
///
///
[AWSProperty(Min=1, Max=2048)]
public string ModelPackageVersionArn
{
get { return this._modelPackageVersionArn; }
set { this._modelPackageVersionArn = value; }
}
// Check to see if ModelPackageVersionArn property is set
internal bool IsSetModelPackageVersionArn()
{
return this._modelPackageVersionArn != null;
}
///
/// Gets and sets the property OutputConfig.
///
/// Provides information about the output location for the compiled model and the target
/// device the model runs on.
///
///
[AWSProperty(Required=true)]
public OutputConfig OutputConfig
{
get { return this._outputConfig; }
set { this._outputConfig = value; }
}
// Check to see if OutputConfig property is set
internal bool IsSetOutputConfig()
{
return this._outputConfig != null;
}
///
/// Gets and sets the property RoleArn.
///
/// The Amazon Resource Name (ARN) of an IAM role that enables Amazon SageMaker to perform
/// tasks on your behalf.
///
///
///
/// During model compilation, Amazon SageMaker needs your permission to:
///
/// -
///
/// Read input data from an S3 bucket
///
///
-
///
/// Write model artifacts to an S3 bucket
///
///
-
///
/// Write logs to Amazon CloudWatch Logs
///
///
-
///
/// Publish metrics to Amazon CloudWatch
///
///
///
/// You grant permissions for all of these tasks to an IAM role. To pass this role to
/// Amazon SageMaker, the caller of this API must have the iam:PassRole
permission.
/// For more information, see Amazon
/// SageMaker Roles.
///
///
[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 StoppingCondition.
///
/// Specifies a limit to how long a model compilation job can run. When the job reaches
/// the time limit, Amazon SageMaker ends the compilation job. Use this API to cap model
/// training costs.
///
///
[AWSProperty(Required=true)]
public StoppingCondition StoppingCondition
{
get { return this._stoppingCondition; }
set { this._stoppingCondition = value; }
}
// Check to see if StoppingCondition property is set
internal bool IsSetStoppingCondition()
{
return this._stoppingCondition != 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, for example, by purpose, owner, or environment. For more
/// information, see Tagging
/// Amazon Web Services Resources.
///
///
[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;
}
///
/// Gets and sets the property VpcConfig.
///
/// A VpcConfig
/// object that specifies the VPC that you want your compilation job to connect to. Control
/// access to your models by configuring the VPC. For more information, see Protect
/// Compilation Jobs by Using an Amazon Virtual Private Cloud.
///
///
public NeoVpcConfig VpcConfig
{
get { return this._vpcConfig; }
set { this._vpcConfig = value; }
}
// Check to see if VpcConfig property is set
internal bool IsSetVpcConfig()
{
return this._vpcConfig != null;
}
}
}