class Aws::RoboMaker::Types::CreateSimulationJobRequest

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

data as a hash:

    {
      client_request_token: "ClientRequestToken",
      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", # required
      failure_behavior: "Fail", # accepts Fail, Continue
      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
        },
      ],
      tags: {
        "TagKey" => "TagValue",
      },
      vpc_config: {
        subnets: ["NonEmptyString"], # required
        security_groups: ["NonEmptyString"],
        assign_public_ip: false,
      },
      compute: {
        simulation_unit_limit: 1,
      },
    }

@!attribute [rw] client_request_token

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

**A suitable default value is auto-generated.** You should normally
not need to pass this option.
@return [String]

@!attribute [rw] output_location

Location for output files generated by the simulation job.
@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 (up to 14 days or
1,209,600 seconds. When `maxJobDurationInSeconds` is reached, the
simulation job will status will transition to `Completed`.
@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 instance running for its maximum timeout duration after
  a `4XX` error code.

Fail

: Stop the simulation job and terminate the instance.
@return [String]

@!attribute [rw] robot_applications

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

@!attribute [rw] simulation_applications

The simulation application 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] tags

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

@!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 one subnet ID.
@return [Types::VPCConfig]

@!attribute [rw] compute

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

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

Constants

SENSITIVE