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