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


4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 4075

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.



4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 4075

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.



4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 4075

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.



4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 4075

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.



4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 4075

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)


4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 4075

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:



4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 4075

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)


4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 4075

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


4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 4075

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)


4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 4075

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:



4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 4075

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)


4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 4075

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


4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 4075

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