You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.

Class: Aws::IoT::Types::CreateOTAUpdateRequest

Inherits:
Struct
  • Object
show all
Defined in:
(unknown)

Overview

Note:

When passing CreateOTAUpdateRequest as input to an Aws::Client method, you can use a vanilla Hash:

{
  ota_update_id: "OTAUpdateId", # required
  description: "OTAUpdateDescription",
  targets: ["Target"], # required
  protocols: ["MQTT"], # accepts MQTT, HTTP
  target_selection: "CONTINUOUS", # accepts CONTINUOUS, SNAPSHOT
  aws_job_executions_rollout_config: {
    maximum_per_minute: 1,
    exponential_rate: {
      base_rate_per_minute: 1, # required
      increment_factor: 1.0, # required
      rate_increase_criteria: { # required
        number_of_notified_things: 1,
        number_of_succeeded_things: 1,
      },
    },
  },
  aws_job_presigned_url_config: {
    expires_in_sec: 1,
  },
  aws_job_abort_config: {
    abort_criteria_list: [ # required
      {
        failure_type: "FAILED", # required, accepts FAILED, REJECTED, TIMED_OUT, ALL
        action: "CANCEL", # required, accepts CANCEL
        threshold_percentage: 1.0, # required
        min_number_of_executed_things: 1, # required
      },
    ],
  },
  aws_job_timeout_config: {
    in_progress_timeout_in_minutes: 1,
  },
  files: [ # required
    {
      file_name: "FileName",
      file_version: "OTAUpdateFileVersion",
      file_location: {
        stream: {
          stream_id: "StreamId",
          file_id: 1,
        },
        s3_location: {
          bucket: "S3Bucket",
          key: "S3Key",
          version: "S3Version",
        },
      },
      code_signing: {
        aws_signer_job_id: "SigningJobId",
        start_signing_job_parameter: {
          signing_profile_parameter: {
            certificate_arn: "CertificateArn",
            platform: "Platform",
            certificate_path_on_device: "CertificatePathOnDevice",
          },
          signing_profile_name: "SigningProfileName",
          destination: {
            s3_destination: {
              bucket: "S3Bucket",
              prefix: "Prefix",
            },
          },
        },
        custom_code_signing: {
          signature: {
            inline_document: "data",
          },
          certificate_chain: {
            certificate_name: "CertificateName",
            inline_document: "InlineDocument",
          },
          hash_algorithm: "HashAlgorithm",
          signature_algorithm: "SignatureAlgorithm",
        },
      },
      attributes: {
        "AttributeKey" => "Value",
      },
    },
  ],
  role_arn: "RoleArn", # required
  additional_parameters: {
    "AttributeKey" => "Value",
  },
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue",
    },
  ],
}

Instance Attribute Summary collapse

Instance Attribute Details

#additional_parametersHash<String,String>

A list of additional OTA update parameters which are name-value pairs.

Returns:

  • (Hash<String,String>)

    A list of additional OTA update parameters which are name-value pairs.

#aws_job_abort_configTypes::AwsJobAbortConfig

The criteria that determine when and how a job abort takes place.

Returns:

#aws_job_executions_rollout_configTypes::AwsJobExecutionsRolloutConfig

Configuration for the rollout of OTA updates.

Returns:

#aws_job_presigned_url_configTypes::AwsJobPresignedUrlConfig

Configuration information for pre-signed URLs.

Returns:

#aws_job_timeout_configTypes::AwsJobTimeoutConfig

Specifies the amount of time each device has to finish its execution of the job. A 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 timer expires, it will be automatically set to TIMED_OUT.

Returns:

#descriptionString

The description of the OTA update.

Returns:

  • (String)

    The description of the OTA update.

#filesArray<Types::OTAUpdateFile>

The files to be streamed by the OTA update.

Returns:

#ota_update_idString

The ID of the OTA update to be created.

Returns:

  • (String)

    The ID of the OTA update to be created.

#protocolsArray<String>

The protocol used to transfer the OTA update image. Valid values are [HTTP], [MQTT], [HTTP, MQTT]. When both HTTP and MQTT are specified, the target device can choose the protocol.

Returns:

  • (Array<String>)

    The protocol used to transfer the OTA update image.

#role_arnString

The IAM role that grants AWS IoT access to the Amazon S3, AWS IoT jobs and AWS Code Signing resources to create an OTA update job.

Returns:

  • (String)

    The IAM role that grants AWS IoT access to the Amazon S3, AWS IoT jobs and AWS Code Signing resources to create an OTA update job.

#tagsArray<Types::Tag>

Metadata which can be used to manage updates.

Returns:

  • (Array<Types::Tag>)

    Metadata which can be used to manage updates.

#target_selectionString

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

Possible values:

  • CONTINUOUS
  • SNAPSHOT

Returns:

  • (String)

    Specifies whether the update will continue to run (CONTINUOUS), or will be complete after all the things specified as targets have completed the update (SNAPSHOT).

#targetsArray<String>

The devices targeted to receive OTA updates.

Returns:

  • (Array<String>)

    The devices targeted to receive OTA updates.