/*
* 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 CreateProcessingJob operation.
/// Creates a processing job.
///
public partial class CreateProcessingJobRequest : AmazonSageMakerRequest
{
private AppSpecification _appSpecification;
private Dictionary _environment = new Dictionary();
private ExperimentConfig _experimentConfig;
private NetworkConfig _networkConfig;
private List _processingInputs = new List();
private string _processingJobName;
private ProcessingOutputConfig _processingOutputConfig;
private ProcessingResources _processingResources;
private string _roleArn;
private ProcessingStoppingCondition _stoppingCondition;
private List _tags = new List();
///
/// Gets and sets the property AppSpecification.
///
/// Configures the processing job to run a specified Docker container image.
///
///
[AWSProperty(Required=true)]
public AppSpecification AppSpecification
{
get { return this._appSpecification; }
set { this._appSpecification = value; }
}
// Check to see if AppSpecification property is set
internal bool IsSetAppSpecification()
{
return this._appSpecification != null;
}
///
/// Gets and sets the property Environment.
///
/// The environment variables to set in the Docker container. Up to 100 key and values
/// entries in the map are supported.
///
///
[AWSProperty(Max=100)]
public Dictionary Environment
{
get { return this._environment; }
set { this._environment = value; }
}
// Check to see if Environment property is set
internal bool IsSetEnvironment()
{
return this._environment != null && this._environment.Count > 0;
}
///
/// Gets and sets the property ExperimentConfig.
///
public ExperimentConfig ExperimentConfig
{
get { return this._experimentConfig; }
set { this._experimentConfig = value; }
}
// Check to see if ExperimentConfig property is set
internal bool IsSetExperimentConfig()
{
return this._experimentConfig != null;
}
///
/// Gets and sets the property NetworkConfig.
///
/// Networking options for a processing job, such as whether to allow inbound and outbound
/// network calls to and from processing containers, and the VPC subnets and security
/// groups to use for VPC-enabled processing jobs.
///
///
public NetworkConfig NetworkConfig
{
get { return this._networkConfig; }
set { this._networkConfig = value; }
}
// Check to see if NetworkConfig property is set
internal bool IsSetNetworkConfig()
{
return this._networkConfig != null;
}
///
/// Gets and sets the property ProcessingInputs.
///
/// An array of inputs configuring the data to download into the processing container.
///
///
[AWSProperty(Min=0, Max=10)]
public List ProcessingInputs
{
get { return this._processingInputs; }
set { this._processingInputs = value; }
}
// Check to see if ProcessingInputs property is set
internal bool IsSetProcessingInputs()
{
return this._processingInputs != null && this._processingInputs.Count > 0;
}
///
/// Gets and sets the property ProcessingJobName.
///
/// The name of the processing job. The name must be unique within an Amazon Web Services
/// Region in the Amazon Web Services account.
///
///
[AWSProperty(Required=true, Min=1, Max=63)]
public string ProcessingJobName
{
get { return this._processingJobName; }
set { this._processingJobName = value; }
}
// Check to see if ProcessingJobName property is set
internal bool IsSetProcessingJobName()
{
return this._processingJobName != null;
}
///
/// Gets and sets the property ProcessingOutputConfig.
///
/// Output configuration for the processing job.
///
///
public ProcessingOutputConfig ProcessingOutputConfig
{
get { return this._processingOutputConfig; }
set { this._processingOutputConfig = value; }
}
// Check to see if ProcessingOutputConfig property is set
internal bool IsSetProcessingOutputConfig()
{
return this._processingOutputConfig != null;
}
///
/// Gets and sets the property ProcessingResources.
///
/// Identifies the resources, ML compute instances, and ML storage volumes to deploy for
/// a processing job. In distributed training, you specify more than one instance.
///
///
[AWSProperty(Required=true)]
public ProcessingResources ProcessingResources
{
get { return this._processingResources; }
set { this._processingResources = value; }
}
// Check to see if ProcessingResources property is set
internal bool IsSetProcessingResources()
{
return this._processingResources != null;
}
///
/// Gets and sets the property RoleArn.
///
/// The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to
/// perform tasks on your behalf.
///
///
[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.
///
/// The time limit for how long the processing job is allowed to run.
///
///
public ProcessingStoppingCondition 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.
///
/// (Optional) An array of key-value pairs. For more information, see Using
/// Cost Allocation Tags in the Amazon Web Services Billing and Cost Management
/// User Guide.
///
///
[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;
}
}
}