/*
* 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 robomaker-2018-06-29.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.RoboMaker.Model
{
///
/// Information about a simulation job request.
///
public partial class SimulationJobRequest
{
private Compute _compute;
private List _dataSources = new List();
private FailureBehavior _failureBehavior;
private string _iamRole;
private LoggingConfig _loggingConfig;
private long? _maxJobDurationInSeconds;
private OutputLocation _outputLocation;
private List _robotApplications = new List();
private List _simulationApplications = new List();
private Dictionary _tags = new Dictionary();
private bool? _useDefaultApplications;
private VPCConfig _vpcConfig;
///
/// Gets and sets the property Compute.
///
/// Compute information for the simulation job
///
///
public Compute Compute
{
get { return this._compute; }
set { this._compute = value; }
}
// Check to see if Compute property is set
internal bool IsSetCompute()
{
return this._compute != null;
}
///
/// Gets and sets the property DataSources.
///
/// Specify data sources to mount read-only files from S3 into your simulation. These
/// files are available under /opt/robomaker/datasources/data_source_name
.
///
///
///
///
/// There is a limit of 100 files and a combined size of 25GB for all DataSourceConfig
/// objects.
///
///
///
[AWSProperty(Min=1, Max=6)]
public List DataSources
{
get { return this._dataSources; }
set { this._dataSources = value; }
}
// Check to see if DataSources property is set
internal bool IsSetDataSources()
{
return this._dataSources != null && this._dataSources.Count > 0;
}
///
/// Gets and sets the property FailureBehavior.
///
/// The failure behavior the simulation job.
///
/// - Continue
-
///
/// Leaves the host running for its maximum timeout duration after a
4XX
/// error code.
///
/// - Fail
-
///
/// Stop the simulation job and terminate the instance.
///
///
///
public FailureBehavior FailureBehavior
{
get { return this._failureBehavior; }
set { this._failureBehavior = value; }
}
// Check to see if FailureBehavior property is set
internal bool IsSetFailureBehavior()
{
return this._failureBehavior != null;
}
///
/// Gets and sets the property IamRole.
///
/// The IAM role name that allows the simulation instance to call the AWS APIs that are
/// specified in its associated policies on your behalf. This is how credentials are passed
/// in to your simulation job.
///
///
[AWSProperty(Min=1, Max=255)]
public string IamRole
{
get { return this._iamRole; }
set { this._iamRole = value; }
}
// Check to see if IamRole property is set
internal bool IsSetIamRole()
{
return this._iamRole != null;
}
///
/// Gets and sets the property LoggingConfig.
///
public LoggingConfig LoggingConfig
{
get { return this._loggingConfig; }
set { this._loggingConfig = value; }
}
// Check to see if LoggingConfig property is set
internal bool IsSetLoggingConfig()
{
return this._loggingConfig != null;
}
///
/// Gets and sets the property MaxJobDurationInSeconds.
///
/// The maximum simulation job duration in seconds. The value must be 8 days (691,200
/// seconds) or less.
///
///
[AWSProperty(Required=true)]
public long MaxJobDurationInSeconds
{
get { return this._maxJobDurationInSeconds.GetValueOrDefault(); }
set { this._maxJobDurationInSeconds = value; }
}
// Check to see if MaxJobDurationInSeconds property is set
internal bool IsSetMaxJobDurationInSeconds()
{
return this._maxJobDurationInSeconds.HasValue;
}
///
/// Gets and sets the property OutputLocation.
///
public OutputLocation OutputLocation
{
get { return this._outputLocation; }
set { this._outputLocation = value; }
}
// Check to see if OutputLocation property is set
internal bool IsSetOutputLocation()
{
return this._outputLocation != null;
}
///
/// Gets and sets the property RobotApplications.
///
/// The robot applications to use in the simulation job.
///
///
[AWSProperty(Min=1, Max=1)]
public List RobotApplications
{
get { return this._robotApplications; }
set { this._robotApplications = value; }
}
// Check to see if RobotApplications property is set
internal bool IsSetRobotApplications()
{
return this._robotApplications != null && this._robotApplications.Count > 0;
}
///
/// Gets and sets the property SimulationApplications.
///
/// The simulation applications to use in the simulation job.
///
///
[AWSProperty(Min=1, Max=1)]
public List SimulationApplications
{
get { return this._simulationApplications; }
set { this._simulationApplications = value; }
}
// Check to see if SimulationApplications property is set
internal bool IsSetSimulationApplications()
{
return this._simulationApplications != null && this._simulationApplications.Count > 0;
}
///
/// Gets and sets the property Tags.
///
/// A map that contains tag keys and tag values that are attached to the simulation job
/// request.
///
///
[AWSProperty(Min=0, Max=50)]
public Dictionary 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 UseDefaultApplications.
///
/// A Boolean indicating whether to use default applications in the simulation job. Default
/// applications include Gazebo, rqt, rviz and terminal access.
///
///
public bool UseDefaultApplications
{
get { return this._useDefaultApplications.GetValueOrDefault(); }
set { this._useDefaultApplications = value; }
}
// Check to see if UseDefaultApplications property is set
internal bool IsSetUseDefaultApplications()
{
return this._useDefaultApplications.HasValue;
}
///
/// Gets and sets the property VpcConfig.
///
public VPCConfig VpcConfig
{
get { return this._vpcConfig; }
set { this._vpcConfig = value; }
}
// Check to see if VpcConfig property is set
internal bool IsSetVpcConfig()
{
return this._vpcConfig != null;
}
}
}