class Aws::RoboMaker::Types::SimulationJobRequest

Information about a simulation job request.

@note When making an API call, you may pass SimulationJobRequest

data as a hash:

    {
      output_location: {
        s3_bucket: "S3Bucket",
        s3_prefix: "S3Key",
      },
      logging_config: {
        record_all_ros_topics: false, # required
      },
      max_job_duration_in_seconds: 1, # required
      iam_role: "IamRole",
      failure_behavior: "Fail", # accepts Fail, Continue
      use_default_applications: false,
      robot_applications: [
        {
          application: "Arn", # required
          application_version: "Version",
          launch_config: { # required
            package_name: "Command", # required
            launch_file: "Command", # required
            environment_variables: {
              "EnvironmentVariableKey" => "EnvironmentVariableValue",
            },
            port_forwarding_config: {
              port_mappings: [
                {
                  job_port: 1, # required
                  application_port: 1, # required
                  enable_on_public_ip: false,
                },
              ],
            },
            stream_ui: false,
          },
          upload_configurations: [
            {
              name: "Name", # required
              path: "Path", # required
              upload_behavior: "UPLOAD_ON_TERMINATE", # required, accepts UPLOAD_ON_TERMINATE, UPLOAD_ROLLING_AUTO_REMOVE
            },
          ],
          use_default_upload_configurations: false,
          tools: [
            {
              stream_ui: false,
              name: "Name", # required
              command: "UnrestrictedCommand", # required
              stream_output_to_cloud_watch: false,
              exit_behavior: "FAIL", # accepts FAIL, RESTART
            },
          ],
          use_default_tools: false,
        },
      ],
      simulation_applications: [
        {
          application: "Arn", # required
          application_version: "Version",
          launch_config: { # required
            package_name: "Command", # required
            launch_file: "Command", # required
            environment_variables: {
              "EnvironmentVariableKey" => "EnvironmentVariableValue",
            },
            port_forwarding_config: {
              port_mappings: [
                {
                  job_port: 1, # required
                  application_port: 1, # required
                  enable_on_public_ip: false,
                },
              ],
            },
            stream_ui: false,
          },
          upload_configurations: [
            {
              name: "Name", # required
              path: "Path", # required
              upload_behavior: "UPLOAD_ON_TERMINATE", # required, accepts UPLOAD_ON_TERMINATE, UPLOAD_ROLLING_AUTO_REMOVE
            },
          ],
          world_configs: [
            {
              world: "Arn",
            },
          ],
          use_default_upload_configurations: false,
          tools: [
            {
              stream_ui: false,
              name: "Name", # required
              command: "UnrestrictedCommand", # required
              stream_output_to_cloud_watch: false,
              exit_behavior: "FAIL", # accepts FAIL, RESTART
            },
          ],
          use_default_tools: false,
        },
      ],
      data_sources: [
        {
          name: "Name", # required
          s3_bucket: "S3Bucket", # required
          s3_keys: ["S3Key"], # required
        },
      ],
      vpc_config: {
        subnets: ["NonEmptyString"], # required
        security_groups: ["NonEmptyString"],
        assign_public_ip: false,
      },
      compute: {
        simulation_unit_limit: 1,
      },
      tags: {
        "TagKey" => "TagValue",
      },
    }

@!attribute [rw] output_location

The output location.
@return [Types::OutputLocation]

@!attribute [rw] logging_config

The logging configuration.
@return [Types::LoggingConfig]

@!attribute [rw] max_job_duration_in_seconds

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

@!attribute [rw] iam_role

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.
@return [String]

@!attribute [rw] failure_behavior

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.
@return [String]

@!attribute [rw] use_default_applications

A Boolean indicating whether to use default applications in the
simulation job. Default applications include Gazebo, rqt, rviz and
terminal access.
@return [Boolean]

@!attribute [rw] robot_applications

The robot applications to use in the simulation job.
@return [Array<Types::RobotApplicationConfig>]

@!attribute [rw] simulation_applications

The simulation applications to use in the simulation job.
@return [Array<Types::SimulationApplicationConfig>]

@!attribute [rw] data_sources

Specify data sources to mount read-only files from S3 into your
simulation. These files are available under
`/opt/robomaker/datasources/data_source_name`.

<note markdown="1"> There is a limit of 100 files and a combined size of 25GB for all
`DataSourceConfig` objects.

 </note>
@return [Array<Types::DataSourceConfig>]

@!attribute [rw] vpc_config

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 two subnet IDs.
@return [Types::VPCConfig]

@!attribute [rw] compute

Compute information for the simulation job
@return [Types::Compute]

@!attribute [rw] tags

A map that contains tag keys and tag values that are attached to the
simulation job request.
@return [Hash<String,String>]

@see docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/SimulationJobRequest AWS API Documentation

Constants

SENSITIVE