/*
* 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.
///
public partial class SimulationJob
{
private string _arn;
private string _clientRequestToken;
private ComputeResponse _compute;
private List _dataSources = new List();
private FailureBehavior _failureBehavior;
private SimulationJobErrorCode _failureCode;
private string _failureReason;
private string _iamRole;
private DateTime? _lastStartedAt;
private DateTime? _lastUpdatedAt;
private LoggingConfig _loggingConfig;
private long? _maxJobDurationInSeconds;
private string _name;
private NetworkInterface _networkInterface;
private OutputLocation _outputLocation;
private List _robotApplications = new List();
private List _simulationApplications = new List();
private long? _simulationTimeMillis;
private SimulationJobStatus _status;
private Dictionary _tags = new Dictionary();
private VPCConfigResponse _vpcConfig;
///
/// Gets and sets the property Arn.
///
/// The Amazon Resource Name (ARN) of the simulation job.
///
///
[AWSProperty(Min=1, Max=1224)]
public string Arn
{
get { return this._arn; }
set { this._arn = value; }
}
// Check to see if Arn property is set
internal bool IsSetArn()
{
return this._arn != null;
}
///
/// Gets and sets the property ClientRequestToken.
///
/// A unique identifier for this SimulationJob
request.
///
///
[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 Compute.
///
/// Compute information for the simulation job
///
///
public ComputeResponse 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.
///
/// The data sources for the simulation job.
///
///
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 FailureCode.
///
/// The failure code of the simulation job if it failed.
///
///
public SimulationJobErrorCode FailureCode
{
get { return this._failureCode; }
set { this._failureCode = value; }
}
// Check to see if FailureCode property is set
internal bool IsSetFailureCode()
{
return this._failureCode != null;
}
///
/// Gets and sets the property FailureReason.
///
/// The reason why the simulation job failed.
///
///
[AWSProperty(Min=0, Max=1024)]
public string FailureReason
{
get { return this._failureReason; }
set { this._failureReason = value; }
}
// Check to see if FailureReason property is set
internal bool IsSetFailureReason()
{
return this._failureReason != null;
}
///
/// Gets and sets the property IamRole.
///
/// The IAM role 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 LastStartedAt.
///
/// The time, in milliseconds since the epoch, when the simulation job was last started.
///
///
public DateTime LastStartedAt
{
get { return this._lastStartedAt.GetValueOrDefault(); }
set { this._lastStartedAt = value; }
}
// Check to see if LastStartedAt property is set
internal bool IsSetLastStartedAt()
{
return this._lastStartedAt.HasValue;
}
///
/// Gets and sets the property LastUpdatedAt.
///
/// The time, in milliseconds since the epoch, when the simulation job was last updated.
///
///
public DateTime LastUpdatedAt
{
get { return this._lastUpdatedAt.GetValueOrDefault(); }
set { this._lastUpdatedAt = value; }
}
// Check to see if LastUpdatedAt property is set
internal bool IsSetLastUpdatedAt()
{
return this._lastUpdatedAt.HasValue;
}
///
/// Gets and sets the property LoggingConfig.
///
/// The logging configuration.
///
///
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.
///
///
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 Name.
///
/// The name of the simulation job.
///
///
[AWSProperty(Min=1, Max=255)]
public string Name
{
get { return this._name; }
set { this._name = value; }
}
// Check to see if Name property is set
internal bool IsSetName()
{
return this._name != null;
}
///
/// Gets and sets the property NetworkInterface.
///
/// Information about a network interface.
///
///
public NetworkInterface NetworkInterface
{
get { return this._networkInterface; }
set { this._networkInterface = value; }
}
// Check to see if NetworkInterface property is set
internal bool IsSetNetworkInterface()
{
return this._networkInterface != null;
}
///
/// Gets and sets the property OutputLocation.
///
/// Location for output files generated by the simulation job.
///
///
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.
///
/// A list of robot applications.
///
///
[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.
///
/// A list of simulation applications.
///
///
[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 SimulationTimeMillis.
///
/// The simulation job execution duration in milliseconds.
///
///
public long SimulationTimeMillis
{
get { return this._simulationTimeMillis.GetValueOrDefault(); }
set { this._simulationTimeMillis = value; }
}
// Check to see if SimulationTimeMillis property is set
internal bool IsSetSimulationTimeMillis()
{
return this._simulationTimeMillis.HasValue;
}
///
/// Gets and sets the property Status.
///
/// Status of the simulation job.
///
///
public SimulationJobStatus Status
{
get { return this._status; }
set { this._status = value; }
}
// Check to see if Status property is set
internal bool IsSetStatus()
{
return this._status != null;
}
///
/// Gets and sets the property Tags.
///
/// A map that contains tag keys and tag values that are attached to the simulation job.
///
///
[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 VpcConfig.
///
/// VPC configuration information.
///
///
public VPCConfigResponse VpcConfig
{
get { return this._vpcConfig; }
set { this._vpcConfig = value; }
}
// Check to see if VpcConfig property is set
internal bool IsSetVpcConfig()
{
return this._vpcConfig != null;
}
}
}