The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

NAME

Paws::Robomaker::CreateSimulationJob - Arguments for method CreateSimulationJob on Paws::Robomaker

DESCRIPTION

This class represents the parameters used for calling the method CreateSimulationJob on the AWS RoboMaker service. Use the attributes of this class as arguments to method CreateSimulationJob.

You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to CreateSimulationJob.

SYNOPSIS

my $robomaker = Paws->service('Robomaker');
my $CreateSimulationJobResponse = $robomaker->CreateSimulationJob(
IamRole => 'MyIamRole',
MaxJobDurationInSeconds => 1,
ClientRequestToken => 'MyClientRequestToken', # OPTIONAL
Compute => {
SimulationUnitLimit => 1, # min: 1, max: 15; OPTIONAL
}, # OPTIONAL
DataSources => [
{
Name => 'MyName', # min: 1, max: 255
S3Bucket => 'MyS3Bucket', # min: 3, max: 63
S3Keys => [
'MyS3Key', ... # min: 1, max: 1024
], # min: 1, max: 100
},
...
], # OPTIONAL
FailureBehavior => 'Fail', # OPTIONAL
LoggingConfig => {
RecordAllRosTopics => 1,
}, # OPTIONAL
OutputLocation => {
S3Bucket => 'MyS3Bucket', # min: 3, max: 63
S3Prefix => 'MyS3Key', # min: 1, max: 1024
}, # OPTIONAL
RobotApplications => [
{
Application => 'MyArn', # min: 1, max: 1224
LaunchConfig => {
LaunchFile => 'MyCommand', # min: 1, max: 1024
PackageName => 'MyCommand', # min: 1, max: 1024
EnvironmentVariables => {
'MyEnvironmentVariableKey' => 'MyEnvironmentVariableValue'
, # key: min: 1, max: 1024, value: min: 1, max: 1024
}, # max: 16; OPTIONAL
PortForwardingConfig => {
PortMappings => [
{
ApplicationPort => 1, # min: 1024, max: 65535
JobPort => 1, # min: 1, max: 65535
EnableOnPublicIp => 1, # OPTIONAL
},
...
], # max: 10; OPTIONAL
}, # OPTIONAL
StreamUI => 1, # OPTIONAL
},
ApplicationVersion => 'MyVersion', # min: 1, max: 255; OPTIONAL
Tools => [
{
Command => 'MyUnrestrictedCommand', # min: 1, max: 1024
Name => 'MyName', # min: 1, max: 255
ExitBehavior => 'FAIL', # values: FAIL, RESTART; OPTIONAL
StreamOutputToCloudWatch => 1,
StreamUI => 1,
},
...
], # max: 10; OPTIONAL
UploadConfigurations => [
{
Name => 'MyName', # min: 1, max: 255
Path => 'MyPath', # min: 1, max: 1024
UploadBehavior => 'UPLOAD_ON_TERMINATE'
, # values: UPLOAD_ON_TERMINATE, UPLOAD_ROLLING_AUTO_REMOVE
},
...
], # max: 10; OPTIONAL
UseDefaultTools => 1,
UseDefaultUploadConfigurations => 1,
},
...
], # OPTIONAL
SimulationApplications => [
{
Application => 'MyArn', # min: 1, max: 1224
LaunchConfig => {
LaunchFile => 'MyCommand', # min: 1, max: 1024
PackageName => 'MyCommand', # min: 1, max: 1024
EnvironmentVariables => {
'MyEnvironmentVariableKey' => 'MyEnvironmentVariableValue'
, # key: min: 1, max: 1024, value: min: 1, max: 1024
}, # max: 16; OPTIONAL
PortForwardingConfig => {
PortMappings => [
{
ApplicationPort => 1, # min: 1024, max: 65535
JobPort => 1, # min: 1, max: 65535
EnableOnPublicIp => 1, # OPTIONAL
},
...
], # max: 10; OPTIONAL
}, # OPTIONAL
StreamUI => 1, # OPTIONAL
},
ApplicationVersion => 'MyVersion', # min: 1, max: 255; OPTIONAL
Tools => [
{
Command => 'MyUnrestrictedCommand', # min: 1, max: 1024
Name => 'MyName', # min: 1, max: 255
ExitBehavior => 'FAIL', # values: FAIL, RESTART; OPTIONAL
StreamOutputToCloudWatch => 1,
StreamUI => 1,
},
...
], # max: 10; OPTIONAL
UploadConfigurations => [
{
Name => 'MyName', # min: 1, max: 255
Path => 'MyPath', # min: 1, max: 1024
UploadBehavior => 'UPLOAD_ON_TERMINATE'
, # values: UPLOAD_ON_TERMINATE, UPLOAD_ROLLING_AUTO_REMOVE
},
...
], # max: 10; OPTIONAL
UseDefaultTools => 1,
UseDefaultUploadConfigurations => 1,
WorldConfigs => [
{
World => 'MyArn', # min: 1, max: 1224
},
...
], # max: 1; OPTIONAL
},
...
], # OPTIONAL
Tags => {
'MyTagKey' => 'MyTagValue', # key: min: 1, max: 128, value: max: 256
}, # OPTIONAL
VpcConfig => {
Subnets => [
'MyNonEmptyString', ... # min: 1, max: 255
], # min: 1, max: 16
AssignPublicIp => 1, # OPTIONAL
SecurityGroups => [
'MyNonEmptyString', ... # min: 1, max: 255
], # min: 1, max: 5; OPTIONAL
}, # OPTIONAL
);
# Results:
my $Arn = $CreateSimulationJobResponse->Arn;
my $ClientRequestToken = $CreateSimulationJobResponse->ClientRequestToken;
my $Compute = $CreateSimulationJobResponse->Compute;
my $DataSources = $CreateSimulationJobResponse->DataSources;
my $FailureBehavior = $CreateSimulationJobResponse->FailureBehavior;
my $FailureCode = $CreateSimulationJobResponse->FailureCode;
my $IamRole = $CreateSimulationJobResponse->IamRole;
my $LastStartedAt = $CreateSimulationJobResponse->LastStartedAt;
my $LastUpdatedAt = $CreateSimulationJobResponse->LastUpdatedAt;
my $LoggingConfig = $CreateSimulationJobResponse->LoggingConfig;
my $MaxJobDurationInSeconds =
$CreateSimulationJobResponse->MaxJobDurationInSeconds;
my $OutputLocation = $CreateSimulationJobResponse->OutputLocation;
my $RobotApplications = $CreateSimulationJobResponse->RobotApplications;
my $SimulationApplications =
$CreateSimulationJobResponse->SimulationApplications;
my $SimulationTimeMillis =
$CreateSimulationJobResponse->SimulationTimeMillis;
my $Status = $CreateSimulationJobResponse->Status;
my $Tags = $CreateSimulationJobResponse->Tags;
my $VpcConfig = $CreateSimulationJobResponse->VpcConfig;
# Returns a L<Paws::Robomaker::CreateSimulationJobResponse> object.

Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object. For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/robomaker/CreateSimulationJob

ATTRIBUTES

ClientRequestToken => Str

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

Compute => Paws::Robomaker::Compute

Compute information for the simulation job.

DataSources => ArrayRef[Paws::Robomaker::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.

FailureBehavior => Str

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.

Valid values are: "Fail", "Continue"

REQUIRED IamRole => Str

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.

LoggingConfig => Paws::Robomaker::LoggingConfig

The logging configuration.

REQUIRED MaxJobDurationInSeconds => Int

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.

OutputLocation => Paws::Robomaker::OutputLocation

Location for output files generated by the simulation job.

RobotApplications => ArrayRef[Paws::Robomaker::RobotApplicationConfig]

The robot application to use in the simulation job.

SimulationApplications => ArrayRef[Paws::Robomaker::SimulationApplicationConfig]

The simulation application to use in the simulation job.

Tags => Paws::Robomaker::TagMap

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

VpcConfig => Paws::Robomaker::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.

SEE ALSO

This class forms part of Paws, documenting arguments for method CreateSimulationJob in Paws::Robomaker

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues