Class: Aws::RoboMaker::Types::CreateSimulationJobRequest

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-robomaker/lib/aws-sdk-robomaker/types.rb

Overview

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,
  },
  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",
        launch_file: "Command",
        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,
        command: ["NonEmptyString"],
      },
      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",
        launch_file: "Command",
        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,
        command: ["NonEmptyString"],
      },
      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: ["S3KeyOrPrefix"], # required
      type: "Prefix", # accepts Prefix, Archive, File
      destination: "Path",
    },
  ],
  tags: {
    "TagKey" => "TagValue",
  },
  vpc_config: {
    subnets: ["NonEmptyString"], # required
    security_groups: ["NonEmptyString"],
    assign_public_ip: false,
  },
  compute: {
    simulation_unit_limit: 1,
    compute_type: "CPU", # accepts CPU, GPU_AND_CPU
    gpu_unit_limit: 1,
  },
}

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#client_request_tokenString

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.

Returns:

  • (String)


1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
# File 'gems/aws-sdk-robomaker/lib/aws-sdk-robomaker/types.rb', line 1293

class CreateSimulationJobRequest < Struct.new(
  :client_request_token,
  :output_location,
  :logging_config,
  :max_job_duration_in_seconds,
  :iam_role,
  :failure_behavior,
  :robot_applications,
  :simulation_applications,
  :data_sources,
  :tags,
  :vpc_config,
  :compute)
  SENSITIVE = []
  include Aws::Structure
end

#computeTypes::Compute

Compute information for the simulation job.

Returns:



1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
# File 'gems/aws-sdk-robomaker/lib/aws-sdk-robomaker/types.rb', line 1293

class CreateSimulationJobRequest < Struct.new(
  :client_request_token,
  :output_location,
  :logging_config,
  :max_job_duration_in_seconds,
  :iam_role,
  :failure_behavior,
  :robot_applications,
  :simulation_applications,
  :data_sources,
  :tags,
  :vpc_config,
  :compute)
  SENSITIVE = []
  include Aws::Structure
end

#data_sourcesArray<Types::DataSourceConfig>

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

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

Returns:



1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
# File 'gems/aws-sdk-robomaker/lib/aws-sdk-robomaker/types.rb', line 1293

class CreateSimulationJobRequest < Struct.new(
  :client_request_token,
  :output_location,
  :logging_config,
  :max_job_duration_in_seconds,
  :iam_role,
  :failure_behavior,
  :robot_applications,
  :simulation_applications,
  :data_sources,
  :tags,
  :vpc_config,
  :compute)
  SENSITIVE = []
  include Aws::Structure
end

#failure_behaviorString

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.

Returns:

  • (String)


1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
# File 'gems/aws-sdk-robomaker/lib/aws-sdk-robomaker/types.rb', line 1293

class CreateSimulationJobRequest < Struct.new(
  :client_request_token,
  :output_location,
  :logging_config,
  :max_job_duration_in_seconds,
  :iam_role,
  :failure_behavior,
  :robot_applications,
  :simulation_applications,
  :data_sources,
  :tags,
  :vpc_config,
  :compute)
  SENSITIVE = []
  include Aws::Structure
end

#iam_roleString

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.

Returns:

  • (String)


1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
# File 'gems/aws-sdk-robomaker/lib/aws-sdk-robomaker/types.rb', line 1293

class CreateSimulationJobRequest < Struct.new(
  :client_request_token,
  :output_location,
  :logging_config,
  :max_job_duration_in_seconds,
  :iam_role,
  :failure_behavior,
  :robot_applications,
  :simulation_applications,
  :data_sources,
  :tags,
  :vpc_config,
  :compute)
  SENSITIVE = []
  include Aws::Structure
end

#logging_configTypes::LoggingConfig

The logging configuration.



1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
# File 'gems/aws-sdk-robomaker/lib/aws-sdk-robomaker/types.rb', line 1293

class CreateSimulationJobRequest < Struct.new(
  :client_request_token,
  :output_location,
  :logging_config,
  :max_job_duration_in_seconds,
  :iam_role,
  :failure_behavior,
  :robot_applications,
  :simulation_applications,
  :data_sources,
  :tags,
  :vpc_config,
  :compute)
  SENSITIVE = []
  include Aws::Structure
end

#max_job_duration_in_secondsInteger

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.

Returns:

  • (Integer)


1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
# File 'gems/aws-sdk-robomaker/lib/aws-sdk-robomaker/types.rb', line 1293

class CreateSimulationJobRequest < Struct.new(
  :client_request_token,
  :output_location,
  :logging_config,
  :max_job_duration_in_seconds,
  :iam_role,
  :failure_behavior,
  :robot_applications,
  :simulation_applications,
  :data_sources,
  :tags,
  :vpc_config,
  :compute)
  SENSITIVE = []
  include Aws::Structure
end

#output_locationTypes::OutputLocation

Location for output files generated by the simulation job.



1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
# File 'gems/aws-sdk-robomaker/lib/aws-sdk-robomaker/types.rb', line 1293

class CreateSimulationJobRequest < Struct.new(
  :client_request_token,
  :output_location,
  :logging_config,
  :max_job_duration_in_seconds,
  :iam_role,
  :failure_behavior,
  :robot_applications,
  :simulation_applications,
  :data_sources,
  :tags,
  :vpc_config,
  :compute)
  SENSITIVE = []
  include Aws::Structure
end

#robot_applicationsArray<Types::RobotApplicationConfig>

The robot application to use in the simulation job.

Returns:



1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
# File 'gems/aws-sdk-robomaker/lib/aws-sdk-robomaker/types.rb', line 1293

class CreateSimulationJobRequest < Struct.new(
  :client_request_token,
  :output_location,
  :logging_config,
  :max_job_duration_in_seconds,
  :iam_role,
  :failure_behavior,
  :robot_applications,
  :simulation_applications,
  :data_sources,
  :tags,
  :vpc_config,
  :compute)
  SENSITIVE = []
  include Aws::Structure
end

#simulation_applicationsArray<Types::SimulationApplicationConfig>

The simulation application to use in the simulation job.



1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
# File 'gems/aws-sdk-robomaker/lib/aws-sdk-robomaker/types.rb', line 1293

class CreateSimulationJobRequest < Struct.new(
  :client_request_token,
  :output_location,
  :logging_config,
  :max_job_duration_in_seconds,
  :iam_role,
  :failure_behavior,
  :robot_applications,
  :simulation_applications,
  :data_sources,
  :tags,
  :vpc_config,
  :compute)
  SENSITIVE = []
  include Aws::Structure
end

#tagsHash<String,String>

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

Returns:

  • (Hash<String,String>)


1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
# File 'gems/aws-sdk-robomaker/lib/aws-sdk-robomaker/types.rb', line 1293

class CreateSimulationJobRequest < Struct.new(
  :client_request_token,
  :output_location,
  :logging_config,
  :max_job_duration_in_seconds,
  :iam_role,
  :failure_behavior,
  :robot_applications,
  :simulation_applications,
  :data_sources,
  :tags,
  :vpc_config,
  :compute)
  SENSITIVE = []
  include Aws::Structure
end

#vpc_configTypes::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.

Returns:



1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
# File 'gems/aws-sdk-robomaker/lib/aws-sdk-robomaker/types.rb', line 1293

class CreateSimulationJobRequest < Struct.new(
  :client_request_token,
  :output_location,
  :logging_config,
  :max_job_duration_in_seconds,
  :iam_role,
  :failure_behavior,
  :robot_applications,
  :simulation_applications,
  :data_sources,
  :tags,
  :vpc_config,
  :compute)
  SENSITIVE = []
  include Aws::Structure
end