AWS RoboMaker

2019/09/09 - AWS RoboMaker - 3 updated api methods

Changes  Support for Connectivity to Simulation. When you need to interact with the applications in your simulation job, you can connect to your robot application or simulation application with port forwarding. When you configure port forwarding, traffic will be forwarded from the simulation job port to the application port. Port forwarding makes it easy to connect with tools such as ROS Bridge and other tools. This can be useful when you want to debug or run custom tools to interact with your applications.

BatchDescribeSimulationJob (updated) Link ¶
Changes (response)
{'jobs': {'networkInterface': {'networkInterfaceId': 'string',
                               'privateIpAddress': 'string',
                               'publicIpAddress': 'string'},
          'robotApplications': {'launchConfig': {'portForwardingConfig': {'portMappings': [{'applicationPort': 'integer',
                                                                                            'enableOnPublicIp': 'boolean',
                                                                                            'jobPort': 'integer'}]}}},
          'simulationApplications': {'launchConfig': {'portForwardingConfig': {'portMappings': [{'applicationPort': 'integer',
                                                                                                 'enableOnPublicIp': 'boolean',
                                                                                                 'jobPort': 'integer'}]}}}}}

Describes one or more simulation jobs.

See also: AWS API Documentation

Request Syntax

client.batch_describe_simulation_job(
    jobs=[
        'string',
    ]
)
type jobs

list

param jobs

[REQUIRED]

A list of Amazon Resource Names (ARNs) of simulation jobs to describe.

  • (string) --

rtype

dict

returns

Response Syntax

{
    'jobs': [
        {
            'arn': 'string',
            'name': 'string',
            'status': 'Pending'|'Preparing'|'Running'|'Restarting'|'Completed'|'Failed'|'RunningFailed'|'Terminating'|'Terminated'|'Canceled',
            'lastStartedAt': datetime(2015, 1, 1),
            'lastUpdatedAt': datetime(2015, 1, 1),
            'failureBehavior': 'Fail'|'Continue',
            'failureCode': 'InternalServiceError'|'RobotApplicationCrash'|'SimulationApplicationCrash'|'BadPermissionsRobotApplication'|'BadPermissionsSimulationApplication'|'BadPermissionsS3Object'|'BadPermissionsS3Output'|'BadPermissionsCloudwatchLogs'|'SubnetIpLimitExceeded'|'ENILimitExceeded'|'BadPermissionsUserCredentials'|'InvalidBundleRobotApplication'|'InvalidBundleSimulationApplication'|'InvalidS3Resource'|'MismatchedEtag'|'RobotApplicationVersionMismatchedEtag'|'SimulationApplicationVersionMismatchedEtag'|'ResourceNotFound'|'InvalidInput'|'WrongRegionS3Bucket'|'WrongRegionS3Output'|'WrongRegionRobotApplication'|'WrongRegionSimulationApplication',
            'failureReason': 'string',
            'clientRequestToken': 'string',
            'outputLocation': {
                's3Bucket': 'string',
                's3Prefix': 'string'
            },
            'loggingConfig': {
                'recordAllRosTopics': True|False
            },
            'maxJobDurationInSeconds': 123,
            'simulationTimeMillis': 123,
            'iamRole': 'string',
            'robotApplications': [
                {
                    'application': 'string',
                    'applicationVersion': 'string',
                    'launchConfig': {
                        'packageName': 'string',
                        'launchFile': 'string',
                        'environmentVariables': {
                            'string': 'string'
                        },
                        'portForwardingConfig': {
                            'portMappings': [
                                {
                                    'jobPort': 123,
                                    'applicationPort': 123,
                                    'enableOnPublicIp': True|False
                                },
                            ]
                        }
                    }
                },
            ],
            'simulationApplications': [
                {
                    'application': 'string',
                    'applicationVersion': 'string',
                    'launchConfig': {
                        'packageName': 'string',
                        'launchFile': 'string',
                        'environmentVariables': {
                            'string': 'string'
                        },
                        'portForwardingConfig': {
                            'portMappings': [
                                {
                                    'jobPort': 123,
                                    'applicationPort': 123,
                                    'enableOnPublicIp': True|False
                                },
                            ]
                        }
                    }
                },
            ],
            'dataSources': [
                {
                    'name': 'string',
                    's3Bucket': 'string',
                    's3Keys': [
                        {
                            's3Key': 'string',
                            'etag': 'string'
                        },
                    ]
                },
            ],
            'tags': {
                'string': 'string'
            },
            'vpcConfig': {
                'subnets': [
                    'string',
                ],
                'securityGroups': [
                    'string',
                ],
                'vpcId': 'string',
                'assignPublicIp': True|False
            },
            'networkInterface': {
                'networkInterfaceId': 'string',
                'privateIpAddress': 'string',
                'publicIpAddress': 'string'
            }
        },
    ],
    'unprocessedJobs': [
        'string',
    ]
}

Response Structure

  • (dict) --

    • jobs (list) --

      A list of simulation jobs.

      • (dict) --

        Information about a simulation job.

        • arn (string) --

          The Amazon Resource Name (ARN) of the simulation job.

        • name (string) --

          The name of the simulation job.

        • status (string) --

          Status of the simulation job.

        • lastStartedAt (datetime) --

          The time, in milliseconds since the epoch, when the simulation job was last started.

        • lastUpdatedAt (datetime) --

          The time, in milliseconds since the epoch, when the simulation job was last updated.

        • failureBehavior (string) --

          The failure behavior the simulation job.

          Continue

          Restart the simulation job in the same host instance.

          Fail

          Stop the simulation job and terminate the instance.

        • failureCode (string) --

          The failure code of the simulation job if it failed.

        • failureReason (string) --

          The reason why the simulation job failed.

        • clientRequestToken (string) --

          A unique identifier for this SimulationJob request.

        • outputLocation (dict) --

          Location for output files generated by the simulation job.

          • s3Bucket (string) --

            The S3 bucket for output.

          • s3Prefix (string) --

            The S3 folder in the s3Bucket where output files will be placed.

        • loggingConfig (dict) --

          The logging configuration.

          • recordAllRosTopics (boolean) --

            A boolean indicating whether to record all ROS topics.

        • maxJobDurationInSeconds (integer) --

          The maximum simulation job duration in seconds. The value must be 8 days (691,200 seconds) or less.

        • simulationTimeMillis (integer) --

          The simulation job execution duration in milliseconds.

        • iamRole (string) --

          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.

        • robotApplications (list) --

          A list of robot applications.

          • (dict) --

            Application configuration information for a robot.

            • application (string) --

              The application information for the robot application.

            • applicationVersion (string) --

              The version of the robot application.

            • launchConfig (dict) --

              The launch configuration for the robot application.

              • packageName (string) --

                The package name.

              • launchFile (string) --

                The launch file name.

              • environmentVariables (dict) --

                The environment variables for the application launch.

                • (string) --

                  • (string) --

              • portForwardingConfig (dict) --

                The port forwarding configuration.

                • portMappings (list) --

                  The port mappings for the configuration.

                  • (dict) --

                    An object representing a port mapping.

                    • jobPort (integer) --

                      The port number on the simulation job instance to use as a remote connection point.

                    • applicationPort (integer) --

                      The port number on the application.

                    • enableOnPublicIp (boolean) --

                      A Boolean indicating whether to enable this port mapping on public IP.

        • simulationApplications (list) --

          A list of simulation applications.

          • (dict) --

            Information about a simulation application configuration.

            • application (string) --

              The application information for the simulation application.

            • applicationVersion (string) --

              The version of the simulation application.

            • launchConfig (dict) --

              The launch configuration for the simulation application.

              • packageName (string) --

                The package name.

              • launchFile (string) --

                The launch file name.

              • environmentVariables (dict) --

                The environment variables for the application launch.

                • (string) --

                  • (string) --

              • portForwardingConfig (dict) --

                The port forwarding configuration.

                • portMappings (list) --

                  The port mappings for the configuration.

                  • (dict) --

                    An object representing a port mapping.

                    • jobPort (integer) --

                      The port number on the simulation job instance to use as a remote connection point.

                    • applicationPort (integer) --

                      The port number on the application.

                    • enableOnPublicIp (boolean) --

                      A Boolean indicating whether to enable this port mapping on public IP.

        • dataSources (list) --

          The data sources for the simulation job.

          • (dict) --

            Information about a data source.

            • name (string) --

              The name of the data source.

            • s3Bucket (string) --

              The S3 bucket where the data files are located.

            • s3Keys (list) --

              The list of S3 keys identifying the data source files.

              • (dict) --

                Information about S3 keys.

                • s3Key (string) --

                  The S3 key.

                • etag (string) --

                  The etag for the object.

        • tags (dict) --

          A map that contains tag keys and tag values that are attached to the simulation job.

          • (string) --

            • (string) --

        • vpcConfig (dict) --

          VPC configuration information.

          • subnets (list) --

            A list of subnet IDs associated with the simulation job.

            • (string) --

          • securityGroups (list) --

            A list of security group IDs associated with the simulation job.

            • (string) --

          • vpcId (string) --

            The VPC ID associated with your simulation job.

          • assignPublicIp (boolean) --

            A boolean indicating if a public IP was assigned.

        • networkInterface (dict) --

          • networkInterfaceId (string) --

            The ID of the network interface.

          • privateIpAddress (string) --

            The IPv4 address of the network interface within the subnet.

          • publicIpAddress (string) --

            The IPv4 public address of the network interface.

    • unprocessedJobs (list) --

      A list of unprocessed simulation job Amazon Resource Names (ARNs).

      • (string) --

CreateSimulationJob (updated) Link ¶
Changes (both)
{'robotApplications': {'launchConfig': {'portForwardingConfig': {'portMappings': [{'applicationPort': 'integer',
                                                                                   'enableOnPublicIp': 'boolean',
                                                                                   'jobPort': 'integer'}]}}},
 'simulationApplications': {'launchConfig': {'portForwardingConfig': {'portMappings': [{'applicationPort': 'integer',
                                                                                        'enableOnPublicIp': 'boolean',
                                                                                        'jobPort': 'integer'}]}}}}

Creates a simulation job.

Note

After 90 days, simulation jobs expire and will be deleted. They will no longer be accessible.

See also: AWS API Documentation

Request Syntax

client.create_simulation_job(
    clientRequestToken='string',
    outputLocation={
        's3Bucket': 'string',
        's3Prefix': 'string'
    },
    loggingConfig={
        'recordAllRosTopics': True|False
    },
    maxJobDurationInSeconds=123,
    iamRole='string',
    failureBehavior='Fail'|'Continue',
    robotApplications=[
        {
            'application': 'string',
            'applicationVersion': 'string',
            'launchConfig': {
                'packageName': 'string',
                'launchFile': 'string',
                'environmentVariables': {
                    'string': 'string'
                },
                'portForwardingConfig': {
                    'portMappings': [
                        {
                            'jobPort': 123,
                            'applicationPort': 123,
                            'enableOnPublicIp': True|False
                        },
                    ]
                }
            }
        },
    ],
    simulationApplications=[
        {
            'application': 'string',
            'applicationVersion': 'string',
            'launchConfig': {
                'packageName': 'string',
                'launchFile': 'string',
                'environmentVariables': {
                    'string': 'string'
                },
                'portForwardingConfig': {
                    'portMappings': [
                        {
                            'jobPort': 123,
                            'applicationPort': 123,
                            'enableOnPublicIp': True|False
                        },
                    ]
                }
            }
        },
    ],
    dataSources=[
        {
            'name': 'string',
            's3Bucket': 'string',
            's3Keys': [
                'string',
            ]
        },
    ],
    tags={
        'string': 'string'
    },
    vpcConfig={
        'subnets': [
            'string',
        ],
        'securityGroups': [
            'string',
        ],
        'assignPublicIp': True|False
    }
)
type clientRequestToken

string

param clientRequestToken

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

This field is autopopulated if not provided.

type outputLocation

dict

param outputLocation

Location for output files generated by the simulation job.

  • s3Bucket (string) --

    The S3 bucket for output.

  • s3Prefix (string) --

    The S3 folder in the s3Bucket where output files will be placed.

type loggingConfig

dict

param loggingConfig

The logging configuration.

  • recordAllRosTopics (boolean) -- [REQUIRED]

    A boolean indicating whether to record all ROS topics.

type maxJobDurationInSeconds

integer

param maxJobDurationInSeconds

[REQUIRED]

The maximum simulation job duration in seconds (up to 14 days or 1,209,600 seconds. When maxJobDurationInSeconds is reached, the simulation job will status will transition to Completed .

type iamRole

string

param iamRole

[REQUIRED]

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.

type failureBehavior

string

param failureBehavior

The failure behavior the simulation job.

Continue

Restart the simulation job in the same host instance.

Fail

Stop the simulation job and terminate the instance.

type robotApplications

list

param robotApplications

The robot application to use in the simulation job.

  • (dict) --

    Application configuration information for a robot.

    • application (string) -- [REQUIRED]

      The application information for the robot application.

    • applicationVersion (string) --

      The version of the robot application.

    • launchConfig (dict) -- [REQUIRED]

      The launch configuration for the robot application.

      • packageName (string) -- [REQUIRED]

        The package name.

      • launchFile (string) -- [REQUIRED]

        The launch file name.

      • environmentVariables (dict) --

        The environment variables for the application launch.

        • (string) --

          • (string) --

      • portForwardingConfig (dict) --

        The port forwarding configuration.

        • portMappings (list) --

          The port mappings for the configuration.

          • (dict) --

            An object representing a port mapping.

            • jobPort (integer) -- [REQUIRED]

              The port number on the simulation job instance to use as a remote connection point.

            • applicationPort (integer) -- [REQUIRED]

              The port number on the application.

            • enableOnPublicIp (boolean) --

              A Boolean indicating whether to enable this port mapping on public IP.

type simulationApplications

list

param simulationApplications

The simulation application to use in the simulation job.

  • (dict) --

    Information about a simulation application configuration.

    • application (string) -- [REQUIRED]

      The application information for the simulation application.

    • applicationVersion (string) --

      The version of the simulation application.

    • launchConfig (dict) -- [REQUIRED]

      The launch configuration for the simulation application.

      • packageName (string) -- [REQUIRED]

        The package name.

      • launchFile (string) -- [REQUIRED]

        The launch file name.

      • environmentVariables (dict) --

        The environment variables for the application launch.

        • (string) --

          • (string) --

      • portForwardingConfig (dict) --

        The port forwarding configuration.

        • portMappings (list) --

          The port mappings for the configuration.

          • (dict) --

            An object representing a port mapping.

            • jobPort (integer) -- [REQUIRED]

              The port number on the simulation job instance to use as a remote connection point.

            • applicationPort (integer) -- [REQUIRED]

              The port number on the application.

            • enableOnPublicIp (boolean) --

              A Boolean indicating whether to enable this port mapping on public IP.

type dataSources

list

param dataSources

The data sources for the simulation job.

Note

There is a limit of 100 files and a combined size of 25GB for all DataSourceConfig objects.

  • (dict) --

    Information about a data source.

    • name (string) -- [REQUIRED]

      The name of the data source.

    • s3Bucket (string) -- [REQUIRED]

      The S3 bucket where the data files are located.

    • s3Keys (list) -- [REQUIRED]

      The list of S3 keys identifying the data source files.

      • (string) --

type tags

dict

param tags

A map that contains tag keys and tag values that are attached to the simulation job.

  • (string) --

    • (string) --

type vpcConfig

dict

param vpcConfig

If your simulation job accesses resources in a VPC, you provide this parameter identifying the list of security group IDs and subnet IDs. These must belong to the same VPC. You must provide at least one security group and one subnet ID.

  • subnets (list) -- [REQUIRED]

    A list of one or more subnet IDs in your VPC.

    • (string) --

  • securityGroups (list) --

    A list of one or more security groups IDs in your VPC.

    • (string) --

  • assignPublicIp (boolean) --

    A boolean indicating whether to assign a public IP address.

rtype

dict

returns

Response Syntax

{
    'arn': 'string',
    'status': 'Pending'|'Preparing'|'Running'|'Restarting'|'Completed'|'Failed'|'RunningFailed'|'Terminating'|'Terminated'|'Canceled',
    'lastStartedAt': datetime(2015, 1, 1),
    'lastUpdatedAt': datetime(2015, 1, 1),
    'failureBehavior': 'Fail'|'Continue',
    'failureCode': 'InternalServiceError'|'RobotApplicationCrash'|'SimulationApplicationCrash'|'BadPermissionsRobotApplication'|'BadPermissionsSimulationApplication'|'BadPermissionsS3Object'|'BadPermissionsS3Output'|'BadPermissionsCloudwatchLogs'|'SubnetIpLimitExceeded'|'ENILimitExceeded'|'BadPermissionsUserCredentials'|'InvalidBundleRobotApplication'|'InvalidBundleSimulationApplication'|'InvalidS3Resource'|'MismatchedEtag'|'RobotApplicationVersionMismatchedEtag'|'SimulationApplicationVersionMismatchedEtag'|'ResourceNotFound'|'InvalidInput'|'WrongRegionS3Bucket'|'WrongRegionS3Output'|'WrongRegionRobotApplication'|'WrongRegionSimulationApplication',
    'clientRequestToken': 'string',
    'outputLocation': {
        's3Bucket': 'string',
        's3Prefix': 'string'
    },
    'loggingConfig': {
        'recordAllRosTopics': True|False
    },
    'maxJobDurationInSeconds': 123,
    'simulationTimeMillis': 123,
    'iamRole': 'string',
    'robotApplications': [
        {
            'application': 'string',
            'applicationVersion': 'string',
            'launchConfig': {
                'packageName': 'string',
                'launchFile': 'string',
                'environmentVariables': {
                    'string': 'string'
                },
                'portForwardingConfig': {
                    'portMappings': [
                        {
                            'jobPort': 123,
                            'applicationPort': 123,
                            'enableOnPublicIp': True|False
                        },
                    ]
                }
            }
        },
    ],
    'simulationApplications': [
        {
            'application': 'string',
            'applicationVersion': 'string',
            'launchConfig': {
                'packageName': 'string',
                'launchFile': 'string',
                'environmentVariables': {
                    'string': 'string'
                },
                'portForwardingConfig': {
                    'portMappings': [
                        {
                            'jobPort': 123,
                            'applicationPort': 123,
                            'enableOnPublicIp': True|False
                        },
                    ]
                }
            }
        },
    ],
    'dataSources': [
        {
            'name': 'string',
            's3Bucket': 'string',
            's3Keys': [
                {
                    's3Key': 'string',
                    'etag': 'string'
                },
            ]
        },
    ],
    'tags': {
        'string': 'string'
    },
    'vpcConfig': {
        'subnets': [
            'string',
        ],
        'securityGroups': [
            'string',
        ],
        'vpcId': 'string',
        'assignPublicIp': True|False
    }
}

Response Structure

  • (dict) --

    • arn (string) --

      The Amazon Resource Name (ARN) of the simulation job.

    • status (string) --

      The status of the simulation job.

    • lastStartedAt (datetime) --

      The time, in milliseconds since the epoch, when the simulation job was last started.

    • lastUpdatedAt (datetime) --

      The time, in milliseconds since the epoch, when the simulation job was last updated.

    • failureBehavior (string) --

      the failure behavior for the simulation job.

    • failureCode (string) --

      The failure code of the simulation job if it failed:

      InternalServiceError

      Internal service error.

      RobotApplicationCrash

      Robot application exited abnormally.

      SimulationApplicationCrash

      Simulation application exited abnormally.

      BadPermissionsRobotApplication

      Robot application bundle could not be downloaded.

      BadPermissionsSimulationApplication

      Simulation application bundle could not be downloaded.

      BadPermissionsS3Output

      Unable to publish outputs to customer-provided S3 bucket.

      BadPermissionsCloudwatchLogs

      Unable to publish logs to customer-provided CloudWatch Logs resource.

      SubnetIpLimitExceeded

      Subnet IP limit exceeded.

      ENILimitExceeded

      ENI limit exceeded.

      BadPermissionsUserCredentials

      Unable to use the Role provided.

      InvalidBundleRobotApplication

      Robot bundle cannot be extracted (invalid format, bundling error, or other issue).

      InvalidBundleSimulationApplication

      Simulation bundle cannot be extracted (invalid format, bundling error, or other issue).

      RobotApplicationVersionMismatchedEtag

      Etag for RobotApplication does not match value during version creation.

      SimulationApplicationVersionMismatchedEtag

      Etag for SimulationApplication does not match value during version creation.

    • clientRequestToken (string) --

      Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    • outputLocation (dict) --

      Simulation job output files location.

      • s3Bucket (string) --

        The S3 bucket for output.

      • s3Prefix (string) --

        The S3 folder in the s3Bucket where output files will be placed.

    • loggingConfig (dict) --

      The logging configuration.

      • recordAllRosTopics (boolean) --

        A boolean indicating whether to record all ROS topics.

    • maxJobDurationInSeconds (integer) --

      The maximum simulation job duration in seconds.

    • simulationTimeMillis (integer) --

      The simulation job execution duration in milliseconds.

    • iamRole (string) --

      The IAM role that allows the simulation job to call the AWS APIs that are specified in its associated policies on your behalf.

    • robotApplications (list) --

      The robot application used by the simulation job.

      • (dict) --

        Application configuration information for a robot.

        • application (string) --

          The application information for the robot application.

        • applicationVersion (string) --

          The version of the robot application.

        • launchConfig (dict) --

          The launch configuration for the robot application.

          • packageName (string) --

            The package name.

          • launchFile (string) --

            The launch file name.

          • environmentVariables (dict) --

            The environment variables for the application launch.

            • (string) --

              • (string) --

          • portForwardingConfig (dict) --

            The port forwarding configuration.

            • portMappings (list) --

              The port mappings for the configuration.

              • (dict) --

                An object representing a port mapping.

                • jobPort (integer) --

                  The port number on the simulation job instance to use as a remote connection point.

                • applicationPort (integer) --

                  The port number on the application.

                • enableOnPublicIp (boolean) --

                  A Boolean indicating whether to enable this port mapping on public IP.

    • simulationApplications (list) --

      The simulation application used by the simulation job.

      • (dict) --

        Information about a simulation application configuration.

        • application (string) --

          The application information for the simulation application.

        • applicationVersion (string) --

          The version of the simulation application.

        • launchConfig (dict) --

          The launch configuration for the simulation application.

          • packageName (string) --

            The package name.

          • launchFile (string) --

            The launch file name.

          • environmentVariables (dict) --

            The environment variables for the application launch.

            • (string) --

              • (string) --

          • portForwardingConfig (dict) --

            The port forwarding configuration.

            • portMappings (list) --

              The port mappings for the configuration.

              • (dict) --

                An object representing a port mapping.

                • jobPort (integer) --

                  The port number on the simulation job instance to use as a remote connection point.

                • applicationPort (integer) --

                  The port number on the application.

                • enableOnPublicIp (boolean) --

                  A Boolean indicating whether to enable this port mapping on public IP.

    • dataSources (list) --

      The data sources for the simulation job.

      • (dict) --

        Information about a data source.

        • name (string) --

          The name of the data source.

        • s3Bucket (string) --

          The S3 bucket where the data files are located.

        • s3Keys (list) --

          The list of S3 keys identifying the data source files.

          • (dict) --

            Information about S3 keys.

            • s3Key (string) --

              The S3 key.

            • etag (string) --

              The etag for the object.

    • tags (dict) --

      The list of all tags added to the simulation job.

      • (string) --

        • (string) --

    • vpcConfig (dict) --

      Information about the vpc configuration.

      • subnets (list) --

        A list of subnet IDs associated with the simulation job.

        • (string) --

      • securityGroups (list) --

        A list of security group IDs associated with the simulation job.

        • (string) --

      • vpcId (string) --

        The VPC ID associated with your simulation job.

      • assignPublicIp (boolean) --

        A boolean indicating if a public IP was assigned.

DescribeSimulationJob (updated) Link ¶
Changes (response)
{'networkInterface': {'networkInterfaceId': 'string',
                      'privateIpAddress': 'string',
                      'publicIpAddress': 'string'},
 'robotApplications': {'launchConfig': {'portForwardingConfig': {'portMappings': [{'applicationPort': 'integer',
                                                                                   'enableOnPublicIp': 'boolean',
                                                                                   'jobPort': 'integer'}]}}},
 'simulationApplications': {'launchConfig': {'portForwardingConfig': {'portMappings': [{'applicationPort': 'integer',
                                                                                        'enableOnPublicIp': 'boolean',
                                                                                        'jobPort': 'integer'}]}}}}

Describes a simulation job.

See also: AWS API Documentation

Request Syntax

client.describe_simulation_job(
    job='string'
)
type job

string

param job

[REQUIRED]

The Amazon Resource Name (ARN) of the simulation job to be described.

rtype

dict

returns

Response Syntax

{
    'arn': 'string',
    'name': 'string',
    'status': 'Pending'|'Preparing'|'Running'|'Restarting'|'Completed'|'Failed'|'RunningFailed'|'Terminating'|'Terminated'|'Canceled',
    'lastStartedAt': datetime(2015, 1, 1),
    'lastUpdatedAt': datetime(2015, 1, 1),
    'failureBehavior': 'Fail'|'Continue',
    'failureCode': 'InternalServiceError'|'RobotApplicationCrash'|'SimulationApplicationCrash'|'BadPermissionsRobotApplication'|'BadPermissionsSimulationApplication'|'BadPermissionsS3Object'|'BadPermissionsS3Output'|'BadPermissionsCloudwatchLogs'|'SubnetIpLimitExceeded'|'ENILimitExceeded'|'BadPermissionsUserCredentials'|'InvalidBundleRobotApplication'|'InvalidBundleSimulationApplication'|'InvalidS3Resource'|'MismatchedEtag'|'RobotApplicationVersionMismatchedEtag'|'SimulationApplicationVersionMismatchedEtag'|'ResourceNotFound'|'InvalidInput'|'WrongRegionS3Bucket'|'WrongRegionS3Output'|'WrongRegionRobotApplication'|'WrongRegionSimulationApplication',
    'failureReason': 'string',
    'clientRequestToken': 'string',
    'outputLocation': {
        's3Bucket': 'string',
        's3Prefix': 'string'
    },
    'loggingConfig': {
        'recordAllRosTopics': True|False
    },
    'maxJobDurationInSeconds': 123,
    'simulationTimeMillis': 123,
    'iamRole': 'string',
    'robotApplications': [
        {
            'application': 'string',
            'applicationVersion': 'string',
            'launchConfig': {
                'packageName': 'string',
                'launchFile': 'string',
                'environmentVariables': {
                    'string': 'string'
                },
                'portForwardingConfig': {
                    'portMappings': [
                        {
                            'jobPort': 123,
                            'applicationPort': 123,
                            'enableOnPublicIp': True|False
                        },
                    ]
                }
            }
        },
    ],
    'simulationApplications': [
        {
            'application': 'string',
            'applicationVersion': 'string',
            'launchConfig': {
                'packageName': 'string',
                'launchFile': 'string',
                'environmentVariables': {
                    'string': 'string'
                },
                'portForwardingConfig': {
                    'portMappings': [
                        {
                            'jobPort': 123,
                            'applicationPort': 123,
                            'enableOnPublicIp': True|False
                        },
                    ]
                }
            }
        },
    ],
    'dataSources': [
        {
            'name': 'string',
            's3Bucket': 'string',
            's3Keys': [
                {
                    's3Key': 'string',
                    'etag': 'string'
                },
            ]
        },
    ],
    'tags': {
        'string': 'string'
    },
    'vpcConfig': {
        'subnets': [
            'string',
        ],
        'securityGroups': [
            'string',
        ],
        'vpcId': 'string',
        'assignPublicIp': True|False
    },
    'networkInterface': {
        'networkInterfaceId': 'string',
        'privateIpAddress': 'string',
        'publicIpAddress': 'string'
    }
}

Response Structure

  • (dict) --

    • arn (string) --

      The Amazon Resource Name (ARN) of the simulation job.

    • name (string) --

      The name of the simulation job.

    • status (string) --

      The status of the simulation job.

    • lastStartedAt (datetime) --

      The time, in milliseconds since the epoch, when the simulation job was last started.

    • lastUpdatedAt (datetime) --

      The time, in milliseconds since the epoch, when the simulation job was last updated.

    • failureBehavior (string) --

      The failure behavior for the simulation job.

    • failureCode (string) --

      The failure code of the simulation job if it failed:

      InternalServiceError

      Internal service error.

      RobotApplicationCrash

      Robot application exited abnormally.

      SimulationApplicationCrash

      Simulation application exited abnormally.

      BadPermissionsRobotApplication

      Robot application bundle could not be downloaded.

      BadPermissionsSimulationApplication

      Simulation application bundle could not be downloaded.

      BadPermissionsS3Output

      Unable to publish outputs to customer-provided S3 bucket.

      BadPermissionsCloudwatchLogs

      Unable to publish logs to customer-provided CloudWatch Logs resource.

      SubnetIpLimitExceeded

      Subnet IP limit exceeded.

      ENILimitExceeded

      ENI limit exceeded.

      BadPermissionsUserCredentials

      Unable to use the Role provided.

      InvalidBundleRobotApplication

      Robot bundle cannot be extracted (invalid format, bundling error, or other issue).

      InvalidBundleSimulationApplication

      Simulation bundle cannot be extracted (invalid format, bundling error, or other issue).

      RobotApplicationVersionMismatchedEtag

      Etag for RobotApplication does not match value during version creation.

      SimulationApplicationVersionMismatchedEtag

      Etag for SimulationApplication does not match value during version creation.

    • failureReason (string) --

      Details about why the simulation job failed. For more information about troubleshooting, see Troubleshooting.

    • clientRequestToken (string) --

      Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    • outputLocation (dict) --

      Location for output files generated by the simulation job.

      • s3Bucket (string) --

        The S3 bucket for output.

      • s3Prefix (string) --

        The S3 folder in the s3Bucket where output files will be placed.

    • loggingConfig (dict) --

      The logging configuration.

      • recordAllRosTopics (boolean) --

        A boolean indicating whether to record all ROS topics.

    • maxJobDurationInSeconds (integer) --

      The maximum job duration in seconds. The value must be 8 days (691,200 seconds) or less.

    • simulationTimeMillis (integer) --

      The simulation job execution duration in milliseconds.

    • iamRole (string) --

      The IAM role that allows the simulation instance to call the AWS APIs that are specified in its associated policies on your behalf.

    • robotApplications (list) --

      A list of robot applications.

      • (dict) --

        Application configuration information for a robot.

        • application (string) --

          The application information for the robot application.

        • applicationVersion (string) --

          The version of the robot application.

        • launchConfig (dict) --

          The launch configuration for the robot application.

          • packageName (string) --

            The package name.

          • launchFile (string) --

            The launch file name.

          • environmentVariables (dict) --

            The environment variables for the application launch.

            • (string) --

              • (string) --

          • portForwardingConfig (dict) --

            The port forwarding configuration.

            • portMappings (list) --

              The port mappings for the configuration.

              • (dict) --

                An object representing a port mapping.

                • jobPort (integer) --

                  The port number on the simulation job instance to use as a remote connection point.

                • applicationPort (integer) --

                  The port number on the application.

                • enableOnPublicIp (boolean) --

                  A Boolean indicating whether to enable this port mapping on public IP.

    • simulationApplications (list) --

      A list of simulation applications.

      • (dict) --

        Information about a simulation application configuration.

        • application (string) --

          The application information for the simulation application.

        • applicationVersion (string) --

          The version of the simulation application.

        • launchConfig (dict) --

          The launch configuration for the simulation application.

          • packageName (string) --

            The package name.

          • launchFile (string) --

            The launch file name.

          • environmentVariables (dict) --

            The environment variables for the application launch.

            • (string) --

              • (string) --

          • portForwardingConfig (dict) --

            The port forwarding configuration.

            • portMappings (list) --

              The port mappings for the configuration.

              • (dict) --

                An object representing a port mapping.

                • jobPort (integer) --

                  The port number on the simulation job instance to use as a remote connection point.

                • applicationPort (integer) --

                  The port number on the application.

                • enableOnPublicIp (boolean) --

                  A Boolean indicating whether to enable this port mapping on public IP.

    • dataSources (list) --

      The data sources for the simulation job.

      • (dict) --

        Information about a data source.

        • name (string) --

          The name of the data source.

        • s3Bucket (string) --

          The S3 bucket where the data files are located.

        • s3Keys (list) --

          The list of S3 keys identifying the data source files.

          • (dict) --

            Information about S3 keys.

            • s3Key (string) --

              The S3 key.

            • etag (string) --

              The etag for the object.

    • tags (dict) --

      The list of all tags added to the specified simulation job.

      • (string) --

        • (string) --

    • vpcConfig (dict) --

      The VPC configuration.

      • subnets (list) --

        A list of subnet IDs associated with the simulation job.

        • (string) --

      • securityGroups (list) --

        A list of security group IDs associated with the simulation job.

        • (string) --

      • vpcId (string) --

        The VPC ID associated with your simulation job.

      • assignPublicIp (boolean) --

        A boolean indicating if a public IP was assigned.

    • networkInterface (dict) --

      The network interface information for the simulation job.

      • networkInterfaceId (string) --

        The ID of the network interface.

      • privateIpAddress (string) --

        The IPv4 address of the network interface within the subnet.

      • publicIpAddress (string) --

        The IPv4 public address of the network interface.