AWS RoboMaker is no longer available to new customers. Existing customers of
AWS RoboMaker can continue to use the service as normal.
AWS Batch is now the preferred service to run containerized simulations.
Learn more.
StartSimulationJobBatch
Starts a new simulation job batch. The batch is defined using one or more
SimulationJobRequest
objects.
Request Syntax
POST /startSimulationJobBatch HTTP/1.1
Content-type: application/json
{
"batchPolicy": {
"maxConcurrency": number
,
"timeoutInSeconds": number
},
"clientRequestToken": "string
",
"createSimulationJobRequests": [
{
"compute": {
"computeType": "string
",
"gpuUnitLimit": number
,
"simulationUnitLimit": number
},
"dataSources": [
{
"destination": "string
",
"name": "string
",
"s3Bucket": "string
",
"s3Keys": [ "string
" ],
"type": "string
"
}
],
"failureBehavior": "string
",
"iamRole": "string
",
"loggingConfig": {
"recordAllRosTopics": boolean
},
"maxJobDurationInSeconds": number
,
"outputLocation": {
"s3Bucket": "string
",
"s3Prefix": "string
"
},
"robotApplications": [
{
"application": "string
",
"applicationVersion": "string
",
"launchConfig": {
"command": [ "string
" ],
"environmentVariables": {
"string
" : "string
"
},
"launchFile": "string
",
"packageName": "string
",
"portForwardingConfig": {
"portMappings": [
{
"applicationPort": number
,
"enableOnPublicIp": boolean
,
"jobPort": number
}
]
},
"streamUI": boolean
},
"tools": [
{
"command": "string
",
"exitBehavior": "string
",
"name": "string
",
"streamOutputToCloudWatch": boolean
,
"streamUI": boolean
}
],
"uploadConfigurations": [
{
"name": "string
",
"path": "string
",
"uploadBehavior": "string
"
}
],
"useDefaultTools": boolean
,
"useDefaultUploadConfigurations": boolean
}
],
"simulationApplications": [
{
"application": "string
",
"applicationVersion": "string
",
"launchConfig": {
"command": [ "string
" ],
"environmentVariables": {
"string
" : "string
"
},
"launchFile": "string
",
"packageName": "string
",
"portForwardingConfig": {
"portMappings": [
{
"applicationPort": number
,
"enableOnPublicIp": boolean
,
"jobPort": number
}
]
},
"streamUI": boolean
},
"tools": [
{
"command": "string
",
"exitBehavior": "string
",
"name": "string
",
"streamOutputToCloudWatch": boolean
,
"streamUI": boolean
}
],
"uploadConfigurations": [
{
"name": "string
",
"path": "string
",
"uploadBehavior": "string
"
}
],
"useDefaultTools": boolean
,
"useDefaultUploadConfigurations": boolean
,
"worldConfigs": [
{
"world": "string
"
}
]
}
],
"tags": {
"string
" : "string
"
},
"useDefaultApplications": boolean
,
"vpcConfig": {
"assignPublicIp": boolean
,
"securityGroups": [ "string
" ],
"subnets": [ "string
" ]
}
}
],
"tags": {
"string
" : "string
"
}
}
URI Request Parameters
The request does not use any URI parameters.
Request Body
The request accepts the following data in JSON format.
- batchPolicy
-
The batch policy.
Type: BatchPolicy object
Required: No
- clientRequestToken
-
Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern:
[a-zA-Z0-9_\-=]*
Required: No
- createSimulationJobRequests
-
A list of simulation job requests to create in the batch.
Type: Array of SimulationJobRequest objects
Array Members: Minimum number of 1 item. Maximum number of 1000 items.
Required: Yes
-
A map that contains tag keys and tag values that are attached to the deployment job batch.
Type: String to string map
Map Entries: Minimum number of 0 items. Maximum number of 50 items.
Key Length Constraints: Minimum length of 1. Maximum length of 128.
Key Pattern:
[a-zA-Z0-9 _.\-\/+=:]*
Value Length Constraints: Minimum length of 0. Maximum length of 256.
Value Pattern:
[a-zA-Z0-9 _.\-\/+=:]*
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"arn": "string",
"batchPolicy": {
"maxConcurrency": number,
"timeoutInSeconds": number
},
"clientRequestToken": "string",
"createdAt": number,
"createdRequests": [
{
"arn": "string",
"computeType": "string",
"dataSourceNames": [ "string" ],
"lastUpdatedAt": number,
"name": "string",
"robotApplicationNames": [ "string" ],
"simulationApplicationNames": [ "string" ],
"status": "string"
}
],
"failedRequests": [
{
"failedAt": number,
"failureCode": "string",
"failureReason": "string",
"request": {
"compute": {
"computeType": "string",
"gpuUnitLimit": number,
"simulationUnitLimit": number
},
"dataSources": [
{
"destination": "string",
"name": "string",
"s3Bucket": "string",
"s3Keys": [ "string" ],
"type": "string"
}
],
"failureBehavior": "string",
"iamRole": "string",
"loggingConfig": {
"recordAllRosTopics": boolean
},
"maxJobDurationInSeconds": number,
"outputLocation": {
"s3Bucket": "string",
"s3Prefix": "string"
},
"robotApplications": [
{
"application": "string",
"applicationVersion": "string",
"launchConfig": {
"command": [ "string" ],
"environmentVariables": {
"string" : "string"
},
"launchFile": "string",
"packageName": "string",
"portForwardingConfig": {
"portMappings": [
{
"applicationPort": number,
"enableOnPublicIp": boolean,
"jobPort": number
}
]
},
"streamUI": boolean
},
"tools": [
{
"command": "string",
"exitBehavior": "string",
"name": "string",
"streamOutputToCloudWatch": boolean,
"streamUI": boolean
}
],
"uploadConfigurations": [
{
"name": "string",
"path": "string",
"uploadBehavior": "string"
}
],
"useDefaultTools": boolean,
"useDefaultUploadConfigurations": boolean
}
],
"simulationApplications": [
{
"application": "string",
"applicationVersion": "string",
"launchConfig": {
"command": [ "string" ],
"environmentVariables": {
"string" : "string"
},
"launchFile": "string",
"packageName": "string",
"portForwardingConfig": {
"portMappings": [
{
"applicationPort": number,
"enableOnPublicIp": boolean,
"jobPort": number
}
]
},
"streamUI": boolean
},
"tools": [
{
"command": "string",
"exitBehavior": "string",
"name": "string",
"streamOutputToCloudWatch": boolean,
"streamUI": boolean
}
],
"uploadConfigurations": [
{
"name": "string",
"path": "string",
"uploadBehavior": "string"
}
],
"useDefaultTools": boolean,
"useDefaultUploadConfigurations": boolean,
"worldConfigs": [
{
"world": "string"
}
]
}
],
"tags": {
"string" : "string"
},
"useDefaultApplications": boolean,
"vpcConfig": {
"assignPublicIp": boolean,
"securityGroups": [ "string" ],
"subnets": [ "string" ]
}
}
}
],
"failureCode": "string",
"failureReason": "string",
"pendingRequests": [
{
"compute": {
"computeType": "string",
"gpuUnitLimit": number,
"simulationUnitLimit": number
},
"dataSources": [
{
"destination": "string",
"name": "string",
"s3Bucket": "string",
"s3Keys": [ "string" ],
"type": "string"
}
],
"failureBehavior": "string",
"iamRole": "string",
"loggingConfig": {
"recordAllRosTopics": boolean
},
"maxJobDurationInSeconds": number,
"outputLocation": {
"s3Bucket": "string",
"s3Prefix": "string"
},
"robotApplications": [
{
"application": "string",
"applicationVersion": "string",
"launchConfig": {
"command": [ "string" ],
"environmentVariables": {
"string" : "string"
},
"launchFile": "string",
"packageName": "string",
"portForwardingConfig": {
"portMappings": [
{
"applicationPort": number,
"enableOnPublicIp": boolean,
"jobPort": number
}
]
},
"streamUI": boolean
},
"tools": [
{
"command": "string",
"exitBehavior": "string",
"name": "string",
"streamOutputToCloudWatch": boolean,
"streamUI": boolean
}
],
"uploadConfigurations": [
{
"name": "string",
"path": "string",
"uploadBehavior": "string"
}
],
"useDefaultTools": boolean,
"useDefaultUploadConfigurations": boolean
}
],
"simulationApplications": [
{
"application": "string",
"applicationVersion": "string",
"launchConfig": {
"command": [ "string" ],
"environmentVariables": {
"string" : "string"
},
"launchFile": "string",
"packageName": "string",
"portForwardingConfig": {
"portMappings": [
{
"applicationPort": number,
"enableOnPublicIp": boolean,
"jobPort": number
}
]
},
"streamUI": boolean
},
"tools": [
{
"command": "string",
"exitBehavior": "string",
"name": "string",
"streamOutputToCloudWatch": boolean,
"streamUI": boolean
}
],
"uploadConfigurations": [
{
"name": "string",
"path": "string",
"uploadBehavior": "string"
}
],
"useDefaultTools": boolean,
"useDefaultUploadConfigurations": boolean,
"worldConfigs": [
{
"world": "string"
}
]
}
],
"tags": {
"string" : "string"
},
"useDefaultApplications": boolean,
"vpcConfig": {
"assignPublicIp": boolean,
"securityGroups": [ "string" ],
"subnets": [ "string" ]
}
}
],
"status": "string",
"tags": {
"string" : "string"
}
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- arn
-
The Amazon Resource Name (arn) of the batch.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1224.
Pattern:
arn:.*
- batchPolicy
-
The batch policy.
Type: BatchPolicy object
- clientRequestToken
-
Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern:
[a-zA-Z0-9_\-=]*
- createdAt
-
The time, in milliseconds since the epoch, when the simulation job batch was created.
Type: Timestamp
- createdRequests
-
A list of created simulation job request summaries.
Type: Array of SimulationJobSummary objects
Array Members: Minimum number of 0 items. Maximum number of 100 items.
- failedRequests
-
A list of failed simulation job requests. The request failed to be created into a simulation job. Failed requests do not have a simulation job ID.
Type: Array of FailedCreateSimulationJobRequest objects
- failureCode
-
The failure code if the simulation job batch failed.
Type: String
Valid Values:
InternalServiceError
- failureReason
-
The reason the simulation job batch failed.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 1024.
Pattern:
.*
- pendingRequests
-
A list of pending simulation job requests. These requests have not yet been created into simulation jobs.
Type: Array of SimulationJobRequest objects
Array Members: Minimum number of 1 item. Maximum number of 1000 items.
- status
-
The status of the simulation job batch.
- Pending
-
The simulation job batch request is pending.
- InProgress
-
The simulation job batch is in progress.
- Failed
-
The simulation job batch failed. One or more simulation job requests could not be completed due to an internal failure (like
InternalServiceError
). SeefailureCode
andfailureReason
for more information. - Completed
-
The simulation batch job completed. A batch is complete when (1) there are no pending simulation job requests in the batch and none of the failed simulation job requests are due to
InternalServiceError
and (2) when all created simulation jobs have reached a terminal state (for example,Completed
orFailed
). - Canceled
-
The simulation batch job was cancelled.
- Canceling
-
The simulation batch job is being cancelled.
- Completing
-
The simulation batch job is completing.
- TimingOut
-
The simulation job batch is timing out.
If a batch timing out, and there are pending requests that were failing due to an internal failure (like
InternalServiceError
), the batch status will beFailed
. If there are no such failing request, the batch status will beTimedOut
. - TimedOut
-
The simulation batch job timed out.
Type: String
Valid Values:
Pending | InProgress | Failed | Completed | Canceled | Canceling | Completing | TimingOut | TimedOut
-
A map that contains tag keys and tag values that are attached to the deployment job batch.
Type: String to string map
Map Entries: Minimum number of 0 items. Maximum number of 50 items.
Key Length Constraints: Minimum length of 1. Maximum length of 128.
Key Pattern:
[a-zA-Z0-9 _.\-\/+=:]*
Value Length Constraints: Minimum length of 0. Maximum length of 256.
Value Pattern:
[a-zA-Z0-9 _.\-\/+=:]*
Errors
For information about the errors that are common to all actions, see Common Errors.
- IdempotentParameterMismatchException
-
The request uses the same client token as a previous, but non-identical request. Do not reuse a client token with different requests, unless the requests are identical.
HTTP Status Code: 400
- InternalServerException
-
AWS RoboMaker experienced a service issue. Try your call again.
HTTP Status Code: 500
- InvalidParameterException
-
A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value.
HTTP Status Code: 400
- LimitExceededException
-
The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed.
HTTP Status Code: 400
- ThrottlingException
-
AWS RoboMaker is temporarily unable to process the request. Try your call again.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: