The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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
      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
          },
          ApplicationVersion => 'MyVersion',    # min: 1, max: 255; OPTIONAL
        },
        ...
      ],                                        # 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
          },
          ApplicationVersion => 'MyVersion',    # min: 1, max: 255; 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 $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.

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