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

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-iot/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>)


4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 4120

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.



4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 4120

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.



4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 4120

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.



4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 4120

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.



4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 4120

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)


4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 4120

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:



4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 4120

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)


4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 4120

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


4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 4120

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)


4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 4120

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:



4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 4120

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)


4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 4120

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


4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 4120

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