@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api AWS RoboMaker
@version 2018-06-29
@auth AWS SigV4
@endpoints 57
@hint download_for_search
@toc batchDeleteWorlds(1), batchDescribeSimulationJob(1), cancelDeploymentJob(1), cancelSimulationJob(1), cancelSimulationJobBatch(1), cancelWorldExportJob(1), cancelWorldGenerationJob(1), createDeploymentJob(1), createFleet(1), createRobot(1), createRobotApplication(1), createRobotApplicationVersion(1), createSimulationApplication(1), createSimulationApplicationVersion(1), createSimulationJob(1), createWorldExportJob(1), createWorldGenerationJob(1), createWorldTemplate(1), deleteFleet(1), deleteRobot(1), deleteRobotApplication(1), deleteSimulationApplication(1), deleteWorldTemplate(1), deregisterRobot(1), describeDeploymentJob(1), describeFleet(1), describeRobot(1), describeRobotApplication(1), describeSimulationApplication(1), describeSimulationJob(1), describeSimulationJobBatch(1), describeWorld(1), describeWorldExportJob(1), describeWorldGenerationJob(1), describeWorldTemplate(1), getWorldTemplateBody(1), listDeploymentJobs(1), listFleets(1), listRobotApplications(1), listRobots(1), listSimulationApplications(1), listSimulationJobBatches(1), listSimulationJobs(1), tags(3), listWorldExportJobs(1), listWorldGenerationJobs(1), listWorldTemplates(1), listWorlds(1), registerRobot(1), restartSimulationJob(1), startSimulationJobBatch(1), syncDeploymentJob(1), updateRobotApplication(1), updateSimulationApplication(1), updateWorldTemplate(1)

@group batchDeleteWorlds
@endpoint POST /batchDeleteWorlds
@desc Deletes one or more worlds in a batch operation.
@required {worlds: [str]}
@returns(200) {unprocessedWorlds: [str]?}

@endgroup

@group batchDescribeSimulationJob
@endpoint POST /batchDescribeSimulationJob
@desc Describes one or more simulation jobs.
@required {jobs: [str]}
@returns(200) {jobs: [SimulationJob]?, unprocessedJobs: [str]?}

@endgroup

@group cancelDeploymentJob
@endpoint POST /cancelDeploymentJob
@desc Cancels the specified deployment job.  This API will no longer be supported as of May 2, 2022. Use it to remove resources that were created for Deployment Service.
@required {job: str}

@endgroup

@group cancelSimulationJob
@endpoint POST /cancelSimulationJob
@desc Cancels the specified simulation job.
@required {job: str}

@endgroup

@group cancelSimulationJobBatch
@endpoint POST /cancelSimulationJobBatch
@desc Cancels a simulation job batch. When you cancel a simulation job batch, you are also cancelling all of the active simulation jobs created as part of the batch.
@required {batch: str}

@endgroup

@group cancelWorldExportJob
@endpoint POST /cancelWorldExportJob
@desc Cancels the specified export job.
@required {job: str}

@endgroup

@group cancelWorldGenerationJob
@endpoint POST /cancelWorldGenerationJob
@desc Cancels the specified world generator job.
@required {job: str}

@endgroup

@group createDeploymentJob
@endpoint POST /createDeploymentJob
@desc Deploys a specific version of a robot application to robots in a fleet.  This API is no longer supported and will throw an error if used.  The robot application must have a numbered applicationVersion for consistency reasons. To create a new version, use CreateRobotApplicationVersion or see Creating a Robot Application Version.   After 90 days, deployment jobs expire and will be deleted. They will no longer be accessible.
@required {clientRequestToken: str, fleet: str, deploymentApplicationConfigs: [DeploymentApplicationConfig]}
@optional {deploymentConfig: DeploymentConfig, tags: map<str,str>}
@returns(200) {arn: str?, fleet: str?, status: str?, deploymentApplicationConfigs: [DeploymentApplicationConfig]?, failureReason: str?, failureCode: str?, createdAt: str(timestamp)?, deploymentConfig: DeploymentConfig?{concurrentDeploymentPercentage: int?, failureThresholdPercentage: int?, robotDeploymentTimeoutInSeconds: int(i64)?, downloadConditionFile: S3Object?{bucket: str, key: str, etag: str?}}, tags: map<str,str>?}

@endgroup

@group createFleet
@endpoint POST /createFleet
@desc Creates a fleet, a logical group of robots running the same robot application.  This API is no longer supported and will throw an error if used.
@required {name: str}
@optional {tags: map<str,str>}
@returns(200) {arn: str?, name: str?, createdAt: str(timestamp)?, tags: map<str,str>?}

@endgroup

@group createRobot
@endpoint POST /createRobot
@desc Creates a robot.  This API is no longer supported and will throw an error if used.
@required {name: str, architecture: str, greengrassGroupId: str}
@optional {tags: map<str,str>}
@returns(200) {arn: str?, name: str?, createdAt: str(timestamp)?, greengrassGroupId: str?, architecture: str?, tags: map<str,str>?}

@endgroup

@group createRobotApplication
@endpoint POST /createRobotApplication
@desc Creates a robot application.
@required {name: str, robotSoftwareSuite: RobotSoftwareSuite}
@optional {sources: [SourceConfig], tags: map<str,str>, environment: Environment}
@returns(200) {arn: str?, name: str?, version: str?, sources: [Source]?, robotSoftwareSuite: RobotSoftwareSuite?{name: str?, version: str?}, lastUpdatedAt: str(timestamp)?, revisionId: str?, tags: map<str,str>?, environment: Environment?{uri: str?}}

@endgroup

@group createRobotApplicationVersion
@endpoint POST /createRobotApplicationVersion
@desc Creates a version of a robot application.
@required {application: str}
@optional {currentRevisionId: str, s3Etags: [str], imageDigest: str}
@returns(200) {arn: str?, name: str?, version: str?, sources: [Source]?, robotSoftwareSuite: RobotSoftwareSuite?{name: str?, version: str?}, lastUpdatedAt: str(timestamp)?, revisionId: str?, environment: Environment?{uri: str?}}

@endgroup

@group createSimulationApplication
@endpoint POST /createSimulationApplication
@desc Creates a simulation application.
@required {name: str, simulationSoftwareSuite: SimulationSoftwareSuite, robotSoftwareSuite: RobotSoftwareSuite}
@optional {sources: [SourceConfig], renderingEngine: RenderingEngine, tags: map<str,str>, environment: Environment}
@returns(200) {arn: str?, name: str?, version: str?, sources: [Source]?, simulationSoftwareSuite: SimulationSoftwareSuite?{name: str?, version: str?}, robotSoftwareSuite: RobotSoftwareSuite?{name: str?, version: str?}, renderingEngine: RenderingEngine?{name: str?, version: str?}, lastUpdatedAt: str(timestamp)?, revisionId: str?, tags: map<str,str>?, environment: Environment?{uri: str?}}

@endgroup

@group createSimulationApplicationVersion
@endpoint POST /createSimulationApplicationVersion
@desc Creates a simulation application with a specific revision id.
@required {application: str}
@optional {currentRevisionId: str, s3Etags: [str], imageDigest: str}
@returns(200) {arn: str?, name: str?, version: str?, sources: [Source]?, simulationSoftwareSuite: SimulationSoftwareSuite?{name: str?, version: str?}, robotSoftwareSuite: RobotSoftwareSuite?{name: str?, version: str?}, renderingEngine: RenderingEngine?{name: str?, version: str?}, lastUpdatedAt: str(timestamp)?, revisionId: str?, environment: Environment?{uri: str?}}

@endgroup

@group createSimulationJob
@endpoint POST /createSimulationJob
@desc Creates a simulation job.  After 90 days, simulation jobs expire and will be deleted. They will no longer be accessible.
@required {maxJobDurationInSeconds: int(i64), iamRole: str}
@optional {clientRequestToken: str, outputLocation: OutputLocation, loggingConfig: LoggingConfig, failureBehavior: str, robotApplications: [RobotApplicationConfig], simulationApplications: [SimulationApplicationConfig], dataSources: [DataSourceConfig], tags: map<str,str>, vpcConfig: VPCConfig, compute: Compute}
@returns(200) {arn: str?, status: str?, lastStartedAt: str(timestamp)?, lastUpdatedAt: str(timestamp)?, failureBehavior: str?, failureCode: str?, clientRequestToken: str?, outputLocation: OutputLocation?{s3Bucket: str?, s3Prefix: str?}, loggingConfig: LoggingConfig?{recordAllRosTopics: bool?}, maxJobDurationInSeconds: int(i64)?, simulationTimeMillis: int(i64)?, iamRole: str?, robotApplications: [RobotApplicationConfig]?, simulationApplications: [SimulationApplicationConfig]?, dataSources: [DataSource]?, tags: map<str,str>?, vpcConfig: VPCConfigResponse?{subnets: [str]?, securityGroups: [str]?, vpcId: str?, assignPublicIp: bool?}, compute: ComputeResponse?{simulationUnitLimit: int?, computeType: str?, gpuUnitLimit: int?}}

@endgroup

@group createWorldExportJob
@endpoint POST /createWorldExportJob
@desc Creates a world export job.
@required {worlds: [str], outputLocation: OutputLocation, iamRole: str}
@optional {clientRequestToken: str, tags: map<str,str>}
@returns(200) {arn: str?, status: str?, createdAt: str(timestamp)?, failureCode: str?, clientRequestToken: str?, outputLocation: OutputLocation?{s3Bucket: str?, s3Prefix: str?}, iamRole: str?, tags: map<str,str>?}

@endgroup

@group createWorldGenerationJob
@endpoint POST /createWorldGenerationJob
@desc Creates worlds using the specified template.
@required {template: str, worldCount: WorldCount}
@optional {clientRequestToken: str, tags: map<str,str>, worldTags: map<str,str>}
@returns(200) {arn: str?, status: str?, createdAt: str(timestamp)?, failureCode: str?, clientRequestToken: str?, template: str?, worldCount: WorldCount?{floorplanCount: int?, interiorCountPerFloorplan: int?}, tags: map<str,str>?, worldTags: map<str,str>?}

@endgroup

@group createWorldTemplate
@endpoint POST /createWorldTemplate
@desc Creates a world template.
@optional {clientRequestToken: str, name: str, templateBody: str, templateLocation: TemplateLocation, tags: map<str,str>}
@returns(200) {arn: str?, clientRequestToken: str?, createdAt: str(timestamp)?, name: str?, tags: map<str,str>?}

@endgroup

@group deleteFleet
@endpoint POST /deleteFleet
@desc Deletes a fleet.  This API will no longer be supported as of May 2, 2022. Use it to remove resources that were created for Deployment Service.
@required {fleet: str}

@endgroup

@group deleteRobot
@endpoint POST /deleteRobot
@desc Deletes a robot.  This API will no longer be supported as of May 2, 2022. Use it to remove resources that were created for Deployment Service.
@required {robot: str}

@endgroup

@group deleteRobotApplication
@endpoint POST /deleteRobotApplication
@desc Deletes a robot application.
@required {application: str}
@optional {applicationVersion: str}

@endgroup

@group deleteSimulationApplication
@endpoint POST /deleteSimulationApplication
@desc Deletes a simulation application.
@required {application: str}
@optional {applicationVersion: str}

@endgroup

@group deleteWorldTemplate
@endpoint POST /deleteWorldTemplate
@desc Deletes a world template.
@required {template: str}

@endgroup

@group deregisterRobot
@endpoint POST /deregisterRobot
@desc Deregisters a robot.  This API will no longer be supported as of May 2, 2022. Use it to remove resources that were created for Deployment Service.
@required {fleet: str, robot: str}
@returns(200) {fleet: str?, robot: str?}

@endgroup

@group describeDeploymentJob
@endpoint POST /describeDeploymentJob
@desc Describes a deployment job.  This API will no longer be supported as of May 2, 2022. Use it to remove resources that were created for Deployment Service.
@required {job: str}
@returns(200) {arn: str?, fleet: str?, status: str?, deploymentConfig: DeploymentConfig?{concurrentDeploymentPercentage: int?, failureThresholdPercentage: int?, robotDeploymentTimeoutInSeconds: int(i64)?, downloadConditionFile: S3Object?{bucket: str, key: str, etag: str?}}, deploymentApplicationConfigs: [DeploymentApplicationConfig]?, failureReason: str?, failureCode: str?, createdAt: str(timestamp)?, robotDeploymentSummary: [RobotDeployment]?, tags: map<str,str>?}

@endgroup

@group describeFleet
@endpoint POST /describeFleet
@desc Describes a fleet.  This API will no longer be supported as of May 2, 2022. Use it to remove resources that were created for Deployment Service.
@required {fleet: str}
@returns(200) {name: str?, arn: str?, robots: [Robot]?, createdAt: str(timestamp)?, lastDeploymentStatus: str?, lastDeploymentJob: str?, lastDeploymentTime: str(timestamp)?, tags: map<str,str>?}

@endgroup

@group describeRobot
@endpoint POST /describeRobot
@desc Describes a robot.  This API will no longer be supported as of May 2, 2022. Use it to remove resources that were created for Deployment Service.
@required {robot: str}
@returns(200) {arn: str?, name: str?, fleetArn: str?, status: str?, greengrassGroupId: str?, createdAt: str(timestamp)?, architecture: str?, lastDeploymentJob: str?, lastDeploymentTime: str(timestamp)?, tags: map<str,str>?}

@endgroup

@group describeRobotApplication
@endpoint POST /describeRobotApplication
@desc Describes a robot application.
@required {application: str}
@optional {applicationVersion: str}
@returns(200) {arn: str?, name: str?, version: str?, sources: [Source]?, robotSoftwareSuite: RobotSoftwareSuite?{name: str?, version: str?}, revisionId: str?, lastUpdatedAt: str(timestamp)?, tags: map<str,str>?, environment: Environment?{uri: str?}, imageDigest: str?}

@endgroup

@group describeSimulationApplication
@endpoint POST /describeSimulationApplication
@desc Describes a simulation application.
@required {application: str}
@optional {applicationVersion: str}
@returns(200) {arn: str?, name: str?, version: str?, sources: [Source]?, simulationSoftwareSuite: SimulationSoftwareSuite?{name: str?, version: str?}, robotSoftwareSuite: RobotSoftwareSuite?{name: str?, version: str?}, renderingEngine: RenderingEngine?{name: str?, version: str?}, revisionId: str?, lastUpdatedAt: str(timestamp)?, tags: map<str,str>?, environment: Environment?{uri: str?}, imageDigest: str?}

@endgroup

@group describeSimulationJob
@endpoint POST /describeSimulationJob
@desc Describes a simulation job.
@required {job: str}
@returns(200) {arn: str?, name: str?, status: str?, lastStartedAt: str(timestamp)?, lastUpdatedAt: str(timestamp)?, failureBehavior: str?, failureCode: str?, failureReason: str?, clientRequestToken: str?, outputLocation: OutputLocation?{s3Bucket: str?, s3Prefix: str?}, loggingConfig: LoggingConfig?{recordAllRosTopics: bool?}, maxJobDurationInSeconds: int(i64)?, simulationTimeMillis: int(i64)?, iamRole: str?, robotApplications: [RobotApplicationConfig]?, simulationApplications: [SimulationApplicationConfig]?, dataSources: [DataSource]?, tags: map<str,str>?, vpcConfig: VPCConfigResponse?{subnets: [str]?, securityGroups: [str]?, vpcId: str?, assignPublicIp: bool?}, networkInterface: NetworkInterface?{networkInterfaceId: str?, privateIpAddress: str?, publicIpAddress: str?}, compute: ComputeResponse?{simulationUnitLimit: int?, computeType: str?, gpuUnitLimit: int?}}

@endgroup

@group describeSimulationJobBatch
@endpoint POST /describeSimulationJobBatch
@desc Describes a simulation job batch.
@required {batch: str}
@returns(200) {arn: str?, status: str?, lastUpdatedAt: str(timestamp)?, createdAt: str(timestamp)?, clientRequestToken: str?, batchPolicy: BatchPolicy?{timeoutInSeconds: int(i64)?, maxConcurrency: int?}, failureCode: str?, failureReason: str?, failedRequests: [FailedCreateSimulationJobRequest]?, pendingRequests: [SimulationJobRequest]?, createdRequests: [SimulationJobSummary]?, tags: map<str,str>?}

@endgroup

@group describeWorld
@endpoint POST /describeWorld
@desc Describes a world.
@required {world: str}
@returns(200) {arn: str?, generationJob: str?, template: str?, createdAt: str(timestamp)?, tags: map<str,str>?, worldDescriptionBody: str?}

@endgroup

@group describeWorldExportJob
@endpoint POST /describeWorldExportJob
@desc Describes a world export job.
@required {job: str}
@returns(200) {arn: str?, status: str?, createdAt: str(timestamp)?, failureCode: str?, failureReason: str?, clientRequestToken: str?, worlds: [str]?, outputLocation: OutputLocation?{s3Bucket: str?, s3Prefix: str?}, iamRole: str?, tags: map<str,str>?}

@endgroup

@group describeWorldGenerationJob
@endpoint POST /describeWorldGenerationJob
@desc Describes a world generation job.
@required {job: str}
@returns(200) {arn: str?, status: str?, createdAt: str(timestamp)?, failureCode: str?, failureReason: str?, clientRequestToken: str?, template: str?, worldCount: WorldCount?{floorplanCount: int?, interiorCountPerFloorplan: int?}, finishedWorldsSummary: FinishedWorldsSummary?{finishedCount: int?, succeededWorlds: [str]?, failureSummary: FailureSummary?{totalFailureCount: int?, failures: [WorldFailure]?}}, tags: map<str,str>?, worldTags: map<str,str>?}

@endgroup

@group describeWorldTemplate
@endpoint POST /describeWorldTemplate
@desc Describes a world template.
@required {template: str}
@returns(200) {arn: str?, clientRequestToken: str?, name: str?, createdAt: str(timestamp)?, lastUpdatedAt: str(timestamp)?, tags: map<str,str>?, version: str?}

@endgroup

@group getWorldTemplateBody
@endpoint POST /getWorldTemplateBody
@desc Gets the world template body.
@optional {template: str, generationJob: str}
@returns(200) {templateBody: str?}

@endgroup

@group listDeploymentJobs
@endpoint POST /listDeploymentJobs
@desc Returns a list of deployment jobs for a fleet. You can optionally provide filters to retrieve specific deployment jobs.  This API will no longer be supported as of May 2, 2022. Use it to remove resources that were created for Deployment Service.
@optional {filters: [Filter], nextToken: str, maxResults: int}
@returns(200) {deploymentJobs: [DeploymentJob]?, nextToken: str?}

@endgroup

@group listFleets
@endpoint POST /listFleets
@desc Returns a list of fleets. You can optionally provide filters to retrieve specific fleets.  This API will no longer be supported as of May 2, 2022. Use it to remove resources that were created for Deployment Service.
@optional {nextToken: str, maxResults: int, filters: [Filter]}
@returns(200) {fleetDetails: [Fleet]?, nextToken: str?}

@endgroup

@group listRobotApplications
@endpoint POST /listRobotApplications
@desc Returns a list of robot application. You can optionally provide filters to retrieve specific robot applications.
@optional {versionQualifier: str, nextToken: str, maxResults: int, filters: [Filter]}
@returns(200) {robotApplicationSummaries: [RobotApplicationSummary]?, nextToken: str?}

@endgroup

@group listRobots
@endpoint POST /listRobots
@desc Returns a list of robots. You can optionally provide filters to retrieve specific robots.  This API will no longer be supported as of May 2, 2022. Use it to remove resources that were created for Deployment Service.
@optional {nextToken: str, maxResults: int, filters: [Filter]}
@returns(200) {robots: [Robot]?, nextToken: str?}

@endgroup

@group listSimulationApplications
@endpoint POST /listSimulationApplications
@desc Returns a list of simulation applications. You can optionally provide filters to retrieve specific simulation applications.
@optional {versionQualifier: str, nextToken: str, maxResults: int, filters: [Filter]}
@returns(200) {simulationApplicationSummaries: [SimulationApplicationSummary]?, nextToken: str?}

@endgroup

@group listSimulationJobBatches
@endpoint POST /listSimulationJobBatches
@desc Returns a list simulation job batches. You can optionally provide filters to retrieve specific simulation batch jobs.
@optional {nextToken: str, maxResults: int, filters: [Filter]}
@returns(200) {simulationJobBatchSummaries: [SimulationJobBatchSummary]?, nextToken: str?}

@endgroup

@group listSimulationJobs
@endpoint POST /listSimulationJobs
@desc Returns a list of simulation jobs. You can optionally provide filters to retrieve specific simulation jobs.
@optional {nextToken: str, maxResults: int, filters: [Filter]}
@returns(200) {simulationJobSummaries: [SimulationJobSummary], nextToken: str?}

@endgroup

@group tags
@endpoint GET /tags/{resourceArn}
@desc Lists all tags on a AWS RoboMaker resource.
@required {resourceArn: str}
@returns(200) {tags: map<str,str>?}

@endgroup

@group listWorldExportJobs
@endpoint POST /listWorldExportJobs
@desc Lists world export jobs.
@optional {nextToken: str, maxResults: int, filters: [Filter]}
@returns(200) {worldExportJobSummaries: [WorldExportJobSummary], nextToken: str?}

@endgroup

@group listWorldGenerationJobs
@endpoint POST /listWorldGenerationJobs
@desc Lists world generator jobs.
@optional {nextToken: str, maxResults: int, filters: [Filter]}
@returns(200) {worldGenerationJobSummaries: [WorldGenerationJobSummary], nextToken: str?}

@endgroup

@group listWorldTemplates
@endpoint POST /listWorldTemplates
@desc Lists world templates.
@optional {nextToken: str, maxResults: int}
@returns(200) {templateSummaries: [TemplateSummary]?, nextToken: str?}

@endgroup

@group listWorlds
@endpoint POST /listWorlds
@desc Lists worlds.
@optional {nextToken: str, maxResults: int, filters: [Filter]}
@returns(200) {worldSummaries: [WorldSummary]?, nextToken: str?}

@endgroup

@group registerRobot
@endpoint POST /registerRobot
@desc Registers a robot with a fleet.  This API is no longer supported and will throw an error if used.
@required {fleet: str, robot: str}
@returns(200) {fleet: str?, robot: str?}

@endgroup

@group restartSimulationJob
@endpoint POST /restartSimulationJob
@desc Restarts a running simulation job.
@required {job: str}

@endgroup

@group startSimulationJobBatch
@endpoint POST /startSimulationJobBatch
@desc Starts a new simulation job batch. The batch is defined using one or more SimulationJobRequest objects.
@required {createSimulationJobRequests: [SimulationJobRequest]}
@optional {clientRequestToken: str, batchPolicy: BatchPolicy, tags: map<str,str>}
@returns(200) {arn: str?, status: str?, createdAt: str(timestamp)?, clientRequestToken: str?, batchPolicy: BatchPolicy?{timeoutInSeconds: int(i64)?, maxConcurrency: int?}, failureCode: str?, failureReason: str?, failedRequests: [FailedCreateSimulationJobRequest]?, pendingRequests: [SimulationJobRequest]?, createdRequests: [SimulationJobSummary]?, tags: map<str,str>?}

@endgroup

@group syncDeploymentJob
@endpoint POST /syncDeploymentJob
@desc Syncrhonizes robots in a fleet to the latest deployment. This is helpful if robots were added after a deployment.  This API will no longer be supported as of May 2, 2022. Use it to remove resources that were created for Deployment Service.
@required {clientRequestToken: str, fleet: str}
@returns(200) {arn: str?, fleet: str?, status: str?, deploymentConfig: DeploymentConfig?{concurrentDeploymentPercentage: int?, failureThresholdPercentage: int?, robotDeploymentTimeoutInSeconds: int(i64)?, downloadConditionFile: S3Object?{bucket: str, key: str, etag: str?}}, deploymentApplicationConfigs: [DeploymentApplicationConfig]?, failureReason: str?, failureCode: str?, createdAt: str(timestamp)?}

@endgroup

@group tags
@endpoint POST /tags/{resourceArn}
@desc Adds or edits tags for a AWS RoboMaker resource. Each tag consists of a tag key and a tag value. Tag keys and tag values are both required, but tag values can be empty strings.  For information about the rules that apply to tag keys and tag values, see User-Defined Tag Restrictions in the AWS Billing and Cost Management User Guide.
@required {resourceArn: str, tags: map<str,str>}

@endpoint DELETE /tags/{resourceArn}
@desc Removes the specified tags from the specified AWS RoboMaker resource. To remove a tag, specify the tag key. To change the tag value of an existing tag key, use  TagResource .
@required {resourceArn: str, tagKeys: [str]}

@endgroup

@group updateRobotApplication
@endpoint POST /updateRobotApplication
@desc Updates a robot application.
@required {application: str, robotSoftwareSuite: RobotSoftwareSuite}
@optional {sources: [SourceConfig], currentRevisionId: str, environment: Environment}
@returns(200) {arn: str?, name: str?, version: str?, sources: [Source]?, robotSoftwareSuite: RobotSoftwareSuite?{name: str?, version: str?}, lastUpdatedAt: str(timestamp)?, revisionId: str?, environment: Environment?{uri: str?}}

@endgroup

@group updateSimulationApplication
@endpoint POST /updateSimulationApplication
@desc Updates a simulation application.
@required {application: str, simulationSoftwareSuite: SimulationSoftwareSuite, robotSoftwareSuite: RobotSoftwareSuite}
@optional {sources: [SourceConfig], renderingEngine: RenderingEngine, currentRevisionId: str, environment: Environment}
@returns(200) {arn: str?, name: str?, version: str?, sources: [Source]?, simulationSoftwareSuite: SimulationSoftwareSuite?{name: str?, version: str?}, robotSoftwareSuite: RobotSoftwareSuite?{name: str?, version: str?}, renderingEngine: RenderingEngine?{name: str?, version: str?}, lastUpdatedAt: str(timestamp)?, revisionId: str?, environment: Environment?{uri: str?}}

@endgroup

@group updateWorldTemplate
@endpoint POST /updateWorldTemplate
@desc Updates a world template.
@required {template: str}
@optional {name: str, templateBody: str, templateLocation: TemplateLocation}
@returns(200) {arn: str?, name: str?, createdAt: str(timestamp)?, lastUpdatedAt: str(timestamp)?}

@endgroup

@end
