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

Inherits:
Struct
  • Object
show all
Includes:
Structure
Defined in:
lib/aws-sdk-iot/types.rb

Overview

Note:

When making an API call, you may pass CreateOTAUpdateRequest data as a 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_type: 1,
      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",
    },
  ],
}

Constant Summary collapse

SENSITIVE =
[]

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>)


4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
# File 'lib/aws-sdk-iot/types.rb', line 4199

class CreateOTAUpdateRequest < Struct.new(
  :ota_update_id,
  :description,
  :targets,
  :protocols,
  :target_selection,
  :aws_job_executions_rollout_config,
  :aws_job_presigned_url_config,
  :aws_job_abort_config,
  :aws_job_timeout_config,
  :files,
  :role_arn,
  :additional_parameters,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#aws_job_abort_configTypes::AwsJobAbortConfig

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



4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
# File 'lib/aws-sdk-iot/types.rb', line 4199

class CreateOTAUpdateRequest < Struct.new(
  :ota_update_id,
  :description,
  :targets,
  :protocols,
  :target_selection,
  :aws_job_executions_rollout_config,
  :aws_job_presigned_url_config,
  :aws_job_abort_config,
  :aws_job_timeout_config,
  :files,
  :role_arn,
  :additional_parameters,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#aws_job_executions_rollout_configTypes::AwsJobExecutionsRolloutConfig

Configuration for the rollout of OTA updates.



4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
# File 'lib/aws-sdk-iot/types.rb', line 4199

class CreateOTAUpdateRequest < Struct.new(
  :ota_update_id,
  :description,
  :targets,
  :protocols,
  :target_selection,
  :aws_job_executions_rollout_config,
  :aws_job_presigned_url_config,
  :aws_job_abort_config,
  :aws_job_timeout_config,
  :files,
  :role_arn,
  :additional_parameters,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#aws_job_presigned_url_configTypes::AwsJobPresignedUrlConfig

Configuration information for pre-signed URLs.



4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
# File 'lib/aws-sdk-iot/types.rb', line 4199

class CreateOTAUpdateRequest < Struct.new(
  :ota_update_id,
  :description,
  :targets,
  :protocols,
  :target_selection,
  :aws_job_executions_rollout_config,
  :aws_job_presigned_url_config,
  :aws_job_abort_config,
  :aws_job_timeout_config,
  :files,
  :role_arn,
  :additional_parameters,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#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`.



4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
# File 'lib/aws-sdk-iot/types.rb', line 4199

class CreateOTAUpdateRequest < Struct.new(
  :ota_update_id,
  :description,
  :targets,
  :protocols,
  :target_selection,
  :aws_job_executions_rollout_config,
  :aws_job_presigned_url_config,
  :aws_job_abort_config,
  :aws_job_timeout_config,
  :files,
  :role_arn,
  :additional_parameters,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#descriptionString

The description of the OTA update.

Returns:

  • (String)


4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
# File 'lib/aws-sdk-iot/types.rb', line 4199

class CreateOTAUpdateRequest < Struct.new(
  :ota_update_id,
  :description,
  :targets,
  :protocols,
  :target_selection,
  :aws_job_executions_rollout_config,
  :aws_job_presigned_url_config,
  :aws_job_abort_config,
  :aws_job_timeout_config,
  :files,
  :role_arn,
  :additional_parameters,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#filesArray<Types::OTAUpdateFile>

The files to be streamed by the OTA update.

Returns:



4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
# File 'lib/aws-sdk-iot/types.rb', line 4199

class CreateOTAUpdateRequest < Struct.new(
  :ota_update_id,
  :description,
  :targets,
  :protocols,
  :target_selection,
  :aws_job_executions_rollout_config,
  :aws_job_presigned_url_config,
  :aws_job_abort_config,
  :aws_job_timeout_config,
  :files,
  :role_arn,
  :additional_parameters,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#ota_update_idString

The ID of the OTA update to be created.

Returns:

  • (String)


4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
# File 'lib/aws-sdk-iot/types.rb', line 4199

class CreateOTAUpdateRequest < Struct.new(
  :ota_update_id,
  :description,
  :targets,
  :protocols,
  :target_selection,
  :aws_job_executions_rollout_config,
  :aws_job_presigned_url_config,
  :aws_job_abort_config,
  :aws_job_timeout_config,
  :files,
  :role_arn,
  :additional_parameters,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#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>)


4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
# File 'lib/aws-sdk-iot/types.rb', line 4199

class CreateOTAUpdateRequest < Struct.new(
  :ota_update_id,
  :description,
  :targets,
  :protocols,
  :target_selection,
  :aws_job_executions_rollout_config,
  :aws_job_presigned_url_config,
  :aws_job_abort_config,
  :aws_job_timeout_config,
  :files,
  :role_arn,
  :additional_parameters,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#role_arnString

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

Returns:

  • (String)


4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
# File 'lib/aws-sdk-iot/types.rb', line 4199

class CreateOTAUpdateRequest < Struct.new(
  :ota_update_id,
  :description,
  :targets,
  :protocols,
  :target_selection,
  :aws_job_executions_rollout_config,
  :aws_job_presigned_url_config,
  :aws_job_abort_config,
  :aws_job_timeout_config,
  :files,
  :role_arn,
  :additional_parameters,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#tagsArray<Types::Tag>

Metadata which can be used to manage updates.

Returns:



4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
# File 'lib/aws-sdk-iot/types.rb', line 4199

class CreateOTAUpdateRequest < Struct.new(
  :ota_update_id,
  :description,
  :targets,
  :protocols,
  :target_selection,
  :aws_job_executions_rollout_config,
  :aws_job_presigned_url_config,
  :aws_job_abort_config,
  :aws_job_timeout_config,
  :files,
  :role_arn,
  :additional_parameters,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#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.

Returns:

  • (String)


4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
# File 'lib/aws-sdk-iot/types.rb', line 4199

class CreateOTAUpdateRequest < Struct.new(
  :ota_update_id,
  :description,
  :targets,
  :protocols,
  :target_selection,
  :aws_job_executions_rollout_config,
  :aws_job_presigned_url_config,
  :aws_job_abort_config,
  :aws_job_timeout_config,
  :files,
  :role_arn,
  :additional_parameters,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#targetsArray<String>

The devices targeted to receive OTA updates.

Returns:

  • (Array<String>)


4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
# File 'lib/aws-sdk-iot/types.rb', line 4199

class CreateOTAUpdateRequest < Struct.new(
  :ota_update_id,
  :description,
  :targets,
  :protocols,
  :target_selection,
  :aws_job_executions_rollout_config,
  :aws_job_presigned_url_config,
  :aws_job_abort_config,
  :aws_job_timeout_config,
  :files,
  :role_arn,
  :additional_parameters,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end