NAME

Paws::IoT::CreateJob - Arguments for method CreateJob on Paws::IoT

DESCRIPTION

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

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

SYNOPSIS

my $iot = Paws->service('IoT');
my $CreateJobResponse = $iot->CreateJob(
  JobId   => 'MyJobId',
  Targets => [
    'MyTargetArn', ...    # max: 2048
  ],
  AbortConfig => {
    CriteriaList => [
      {
        Action      => 'CANCEL',  # values: CANCEL
        FailureType => 'FAILED',  # values: FAILED, REJECTED, TIMED_OUT, ALL
        MinNumberOfExecutedThings => 1,    # min: 1
        ThresholdPercentage       => 1,    # max: 100

      },
      ...
    ],    # min: 1

  },    # OPTIONAL
  Description                => 'MyJobDescription',       # OPTIONAL
  Document                   => 'MyJobDocument',          # OPTIONAL
  DocumentSource             => 'MyJobDocumentSource',    # OPTIONAL
  JobExecutionsRolloutConfig => {
    ExponentialRate => {
      BaseRatePerMinute    => 1,    # min: 1, max: 1000
      IncrementFactor      => 1,    # min: 1, max: 5
      RateIncreaseCriteria => {
        NumberOfNotifiedThings  => 1,    # min: 1; OPTIONAL
        NumberOfSucceededThings => 1,    # min: 1; OPTIONAL
      },

    },    # OPTIONAL
    MaximumPerMinute => 1,    # min: 1; OPTIONAL
  },    # OPTIONAL
  JobTemplateArn     => 'MyJobTemplateArn',    # OPTIONAL
  NamespaceId        => 'MyNamespaceId',       # OPTIONAL
  PresignedUrlConfig => {
    ExpiresInSec => 1,              # min: 60, max: 3600; OPTIONAL
    RoleArn      => 'MyRoleArn',    # min: 20, max: 2048; OPTIONAL
  },    # OPTIONAL
  Tags => [
    {
      Key   => 'MyTagKey',      # min: 1, max: 128
      Value => 'MyTagValue',    # min: 1, max: 256; OPTIONAL
    },
    ...
  ],    # OPTIONAL
  TargetSelection => 'CONTINUOUS',    # OPTIONAL
  TimeoutConfig   => {
    InProgressTimeoutInMinutes => 1,    # OPTIONAL
  },    # OPTIONAL
);

# Results:
my $Description = $CreateJobResponse->Description;
my $JobArn      = $CreateJobResponse->JobArn;
my $JobId       = $CreateJobResponse->JobId;

# Returns a L<Paws::IoT::CreateJobResponse> 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/iot/CreateJob

ATTRIBUTES

AbortConfig => Paws::IoT::AbortConfig

Allows you to create criteria to abort a job.

Description => Str

A short text description of the job.

Document => Str

The job document. Required if you don't specify a value for documentSource.

DocumentSource => Str

An S3 link to the job document. Required if you don't specify a value for document.

If the job document resides in an S3 bucket, you must use a placeholder link when specifying the document.

The placeholder link is of the following form:

${aws:iot:s3-presigned-url:https://s3.amazonaws.com/bucket/key}

where bucket is your bucket name and key is the object in the bucket to which you are linking.

JobExecutionsRolloutConfig => Paws::IoT::JobExecutionsRolloutConfig

Allows you to create a staged rollout of the job.

REQUIRED JobId => Str

A job identifier which must be unique for your AWS account. We recommend using a UUID. Alpha-numeric characters, "-" and "_" are valid for use here.

JobTemplateArn => Str

The ARN of the job template used to create the job.

NamespaceId => Str

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, AWS IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is in public preview.

PresignedUrlConfig => Paws::IoT::PresignedUrlConfig

Configuration information for pre-signed S3 URLs.

Tags => ArrayRef[Paws::IoT::Tag]

Metadata which can be used to manage the job.

REQUIRED Targets => ArrayRef[Str|Undef]

A list of things and thing groups to which the job should be sent.

TargetSelection => Str

Specifies whether the job will continue to run (CONTINUOUS), or will be complete after all those things specified as targets have completed the job (SNAPSHOT). If continuous, the job may also be run on a thing when a change is detected in a target. For example, a job will run on a thing when the thing is added to a target group, even after the job was completed by all things originally in the group.

Valid values are: "CONTINUOUS", "SNAPSHOT"

TimeoutConfig => Paws::IoT::TimeoutConfig

Specifies the amount of time each device has to finish its execution of the job. The timer is started when the job execution status is set to IN_PROGRESS. If the job execution status is not set to another terminal state before the time expires, it will be automatically set to TIMED_OUT.

SEE ALSO

This class forms part of Paws, documenting arguments for method CreateJob in Paws::IoT

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