The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

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

DESCRIPTION

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

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

SYNOPSIS

    my $robomaker = Paws->service('Robomaker');
    my $StartSimulationJobBatchResponse = $robomaker->StartSimulationJobBatch(
      CreateSimulationJobRequests => [
        {
          MaxJobDurationInSeconds => 1,
          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

            },
            ...
          ],    # min: 1, max: 5; OPTIONAL
          FailureBehavior => 'Fail',         # values: Fail, Continue; OPTIONAL
          IamRole         => 'MyIamRole',    # min: 1, max: 255; 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,
            },
            ...
          ],    # min: 1, max: 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
            },
            ...
          ],    # min: 1, max: 1; OPTIONAL
          Tags => {
            'MyTagKey' => 'MyTagValue', # key: min: 1, max: 128, value: max: 256
          },    # max: 50; OPTIONAL
          UseDefaultApplications => 1,
          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
        },
        ...
      ],
      BatchPolicy => {
        MaxConcurrency   => 1,    # OPTIONAL
        TimeoutInSeconds => 1,    # OPTIONAL
      },    # OPTIONAL
      ClientRequestToken => 'MyClientRequestToken',    # OPTIONAL
      Tags               => {
        'MyTagKey' => 'MyTagValue',    # key: min: 1, max: 128, value: max: 256
      },    # OPTIONAL
    );

    # Results:
    my $Arn         = $StartSimulationJobBatchResponse->Arn;
    my $BatchPolicy = $StartSimulationJobBatchResponse->BatchPolicy;
    my $ClientRequestToken =
      $StartSimulationJobBatchResponse->ClientRequestToken;
    my $CreatedAt       = $StartSimulationJobBatchResponse->CreatedAt;
    my $CreatedRequests = $StartSimulationJobBatchResponse->CreatedRequests;
    my $FailedRequests  = $StartSimulationJobBatchResponse->FailedRequests;
    my $FailureCode     = $StartSimulationJobBatchResponse->FailureCode;
    my $FailureReason   = $StartSimulationJobBatchResponse->FailureReason;
    my $PendingRequests = $StartSimulationJobBatchResponse->PendingRequests;
    my $Status          = $StartSimulationJobBatchResponse->Status;
    my $Tags            = $StartSimulationJobBatchResponse->Tags;

    # Returns a L<Paws::Robomaker::StartSimulationJobBatchResponse> 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/StartSimulationJobBatch

ATTRIBUTES

BatchPolicy => Paws::Robomaker::BatchPolicy

The batch policy.

ClientRequestToken => Str

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

REQUIRED CreateSimulationJobRequests => ArrayRef[Paws::Robomaker::SimulationJobRequest]

A list of simulation job requests to create in the batch.

Tags => Paws::Robomaker::TagMap

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

SEE ALSO

This class forms part of Paws, documenting arguments for method StartSimulationJobBatch 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