NAME

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

DESCRIPTION

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

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

SYNOPSIS

my $iot = Paws->service('IoT');
my $CreateJobTemplateResponse = $iot->CreateJobTemplate(
  Description   => 'MyJobDescription',
  JobTemplateId => 'MyJobTemplateId',
  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
  Document                   => 'MyJobDocument',          # OPTIONAL
  DocumentSource             => 'MyJobDocumentSource',    # OPTIONAL
  JobArn                     => 'MyJobArn',               # 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
  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
  TimeoutConfig => {
    InProgressTimeoutInMinutes => 1,    # OPTIONAL
  },    # OPTIONAL
);

# Results:
my $JobTemplateArn = $CreateJobTemplateResponse->JobTemplateArn;
my $JobTemplateId  = $CreateJobTemplateResponse->JobTemplateId;

# Returns a L<Paws::IoT::CreateJobTemplateResponse> 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/CreateJobTemplate

ATTRIBUTES

AbortConfig => Paws::IoT::AbortConfig

REQUIRED Description => Str

A description of the job document.

Document => Str

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

DocumentSource => Str

An S3 link to the job document to use in the template. 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.

JobArn => Str

The ARN of the job to use as the basis for the job template.

JobExecutionsRolloutConfig => Paws::IoT::JobExecutionsRolloutConfig

REQUIRED JobTemplateId => Str

A unique identifier for the job template. We recommend using a UUID. Alpha-numeric characters, "-", and "_" are valid for use here.

PresignedUrlConfig => Paws::IoT::PresignedUrlConfig

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

Metadata that can be used to manage the job template.

TimeoutConfig => Paws::IoT::TimeoutConfig

SEE ALSO

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