aws-sdk-iot 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -832,6 +832,110 @@ module Aws::IoT
832
832
  include Aws::Structure
833
833
  end
834
834
 
835
+ # Describes the method to use when code signing a file.
836
+ #
837
+ # @note When making an API call, you may pass CodeSigning
838
+ # data as a hash:
839
+ #
840
+ # {
841
+ # aws_signer_job_id: "SigningJobId",
842
+ # custom_code_signing: {
843
+ # signature: {
844
+ # stream: {
845
+ # stream_id: "StreamId",
846
+ # file_id: 1,
847
+ # },
848
+ # inline_document: "data",
849
+ # },
850
+ # certificate_chain: {
851
+ # stream: {
852
+ # stream_id: "StreamId",
853
+ # file_id: 1,
854
+ # },
855
+ # certificate_name: "CertificateName",
856
+ # inline_document: "InlineDocument",
857
+ # },
858
+ # hash_algorithm: "HashAlgorithm",
859
+ # signature_algorithm: "SignatureAlgorithm",
860
+ # },
861
+ # }
862
+ #
863
+ # @!attribute [rw] aws_signer_job_id
864
+ # The ID of the AWSSignerJob which was created to sign the file.
865
+ # @return [String]
866
+ #
867
+ # @!attribute [rw] custom_code_signing
868
+ # A custom method for code signing a file.
869
+ # @return [Types::CustomCodeSigning]
870
+ #
871
+ class CodeSigning < Struct.new(
872
+ :aws_signer_job_id,
873
+ :custom_code_signing)
874
+ include Aws::Structure
875
+ end
876
+
877
+ # Describes the certificate chain being used when code signing a file.
878
+ #
879
+ # @note When making an API call, you may pass CodeSigningCertificateChain
880
+ # data as a hash:
881
+ #
882
+ # {
883
+ # stream: {
884
+ # stream_id: "StreamId",
885
+ # file_id: 1,
886
+ # },
887
+ # certificate_name: "CertificateName",
888
+ # inline_document: "InlineDocument",
889
+ # }
890
+ #
891
+ # @!attribute [rw] stream
892
+ # A stream of the certificate chain files.
893
+ # @return [Types::Stream]
894
+ #
895
+ # @!attribute [rw] certificate_name
896
+ # The name of the certificate.
897
+ # @return [String]
898
+ #
899
+ # @!attribute [rw] inline_document
900
+ # A base64 encoded binary representation of the code signing
901
+ # certificate chain.
902
+ # @return [String]
903
+ #
904
+ class CodeSigningCertificateChain < Struct.new(
905
+ :stream,
906
+ :certificate_name,
907
+ :inline_document)
908
+ include Aws::Structure
909
+ end
910
+
911
+ # Describes the signature for a file.
912
+ #
913
+ # @note When making an API call, you may pass CodeSigningSignature
914
+ # data as a hash:
915
+ #
916
+ # {
917
+ # stream: {
918
+ # stream_id: "StreamId",
919
+ # file_id: 1,
920
+ # },
921
+ # inline_document: "data",
922
+ # }
923
+ #
924
+ # @!attribute [rw] stream
925
+ # A stream of the code signing signature.
926
+ # @return [Types::Stream]
927
+ #
928
+ # @!attribute [rw] inline_document
929
+ # A base64 encoded binary representation of the code signing
930
+ # signature.
931
+ # @return [String]
932
+ #
933
+ class CodeSigningSignature < Struct.new(
934
+ :stream,
935
+ :inline_document)
936
+ include Aws::Structure
937
+ end
938
+
835
939
  # Configuration.
836
940
  #
837
941
  # @note When making an API call, you may pass Configuration
@@ -1097,6 +1201,130 @@ module Aws::IoT
1097
1201
  include Aws::Structure
1098
1202
  end
1099
1203
 
1204
+ # @note When making an API call, you may pass CreateOTAUpdateRequest
1205
+ # data as a hash:
1206
+ #
1207
+ # {
1208
+ # ota_update_id: "OTAUpdateId", # required
1209
+ # description: "OTAUpdateDescription",
1210
+ # targets: ["Target"], # required
1211
+ # target_selection: "CONTINUOUS", # accepts CONTINUOUS, SNAPSHOT
1212
+ # files: [ # required
1213
+ # {
1214
+ # file_name: "FileName",
1215
+ # file_version: "OTAUpdateFileVersion",
1216
+ # file_source: {
1217
+ # stream_id: "StreamId",
1218
+ # file_id: 1,
1219
+ # },
1220
+ # code_signing: {
1221
+ # aws_signer_job_id: "SigningJobId",
1222
+ # custom_code_signing: {
1223
+ # signature: {
1224
+ # stream: {
1225
+ # stream_id: "StreamId",
1226
+ # file_id: 1,
1227
+ # },
1228
+ # inline_document: "data",
1229
+ # },
1230
+ # certificate_chain: {
1231
+ # stream: {
1232
+ # stream_id: "StreamId",
1233
+ # file_id: 1,
1234
+ # },
1235
+ # certificate_name: "CertificateName",
1236
+ # inline_document: "InlineDocument",
1237
+ # },
1238
+ # hash_algorithm: "HashAlgorithm",
1239
+ # signature_algorithm: "SignatureAlgorithm",
1240
+ # },
1241
+ # },
1242
+ # attributes: {
1243
+ # "Key" => "Value",
1244
+ # },
1245
+ # },
1246
+ # ],
1247
+ # role_arn: "RoleArn", # required
1248
+ # additional_parameters: {
1249
+ # "Key" => "Value",
1250
+ # },
1251
+ # }
1252
+ #
1253
+ # @!attribute [rw] ota_update_id
1254
+ # The ID of the OTA update to be created.
1255
+ # @return [String]
1256
+ #
1257
+ # @!attribute [rw] description
1258
+ # The description of the OTA update.
1259
+ # @return [String]
1260
+ #
1261
+ # @!attribute [rw] targets
1262
+ # The targeted devices to receive OTA updates.
1263
+ # @return [Array<String>]
1264
+ #
1265
+ # @!attribute [rw] target_selection
1266
+ # Specifies whether the update will continue to run (CONTINUOUS), or
1267
+ # will be complete after all the things specified as targets have
1268
+ # completed the update (SNAPSHOT). If continuous, the update may also
1269
+ # be run on a thing when a change is detected in a target. For
1270
+ # example, an update will run on a thing when the thing is added to a
1271
+ # target group, even after the update was completed by all things
1272
+ # originally in the group. Valid values: CONTINUOUS \| SNAPSHOT.
1273
+ # @return [String]
1274
+ #
1275
+ # @!attribute [rw] files
1276
+ # The files to be streamed by the OTA update.
1277
+ # @return [Array<Types::OTAUpdateFile>]
1278
+ #
1279
+ # @!attribute [rw] role_arn
1280
+ # The IAM role that allows access to the AWS IoT Jobs service.
1281
+ # @return [String]
1282
+ #
1283
+ # @!attribute [rw] additional_parameters
1284
+ # A list of additional OTA update parameters which are name-value
1285
+ # pairs.
1286
+ # @return [Hash<String,String>]
1287
+ #
1288
+ class CreateOTAUpdateRequest < Struct.new(
1289
+ :ota_update_id,
1290
+ :description,
1291
+ :targets,
1292
+ :target_selection,
1293
+ :files,
1294
+ :role_arn,
1295
+ :additional_parameters)
1296
+ include Aws::Structure
1297
+ end
1298
+
1299
+ # @!attribute [rw] ota_update_id
1300
+ # The OTA update ID.
1301
+ # @return [String]
1302
+ #
1303
+ # @!attribute [rw] aws_iot_job_id
1304
+ # The AWS IoT job ID associated with the OTA update.
1305
+ # @return [String]
1306
+ #
1307
+ # @!attribute [rw] ota_update_arn
1308
+ # The OTA update ARN.
1309
+ # @return [String]
1310
+ #
1311
+ # @!attribute [rw] aws_iot_job_arn
1312
+ # The AWS IoT job ARN associated with the OTA update.
1313
+ # @return [String]
1314
+ #
1315
+ # @!attribute [rw] ota_update_status
1316
+ # The OTA update status.
1317
+ # @return [String]
1318
+ #
1319
+ class CreateOTAUpdateResponse < Struct.new(
1320
+ :ota_update_id,
1321
+ :aws_iot_job_id,
1322
+ :ota_update_arn,
1323
+ :aws_iot_job_arn,
1324
+ :ota_update_status)
1325
+ include Aws::Structure
1326
+ end
1327
+
1100
1328
  # The input for the CreatePolicy operation.
1101
1329
  #
1102
1330
  # @note When making an API call, you may pass CreatePolicyRequest
@@ -1252,6 +1480,74 @@ module Aws::IoT
1252
1480
  include Aws::Structure
1253
1481
  end
1254
1482
 
1483
+ # @note When making an API call, you may pass CreateStreamRequest
1484
+ # data as a hash:
1485
+ #
1486
+ # {
1487
+ # stream_id: "StreamId", # required
1488
+ # description: "StreamDescription",
1489
+ # files: [ # required
1490
+ # {
1491
+ # file_id: 1,
1492
+ # s3_location: {
1493
+ # bucket: "S3Bucket", # required
1494
+ # key: "S3Key", # required
1495
+ # version: "S3Version",
1496
+ # },
1497
+ # },
1498
+ # ],
1499
+ # role_arn: "RoleArn", # required
1500
+ # }
1501
+ #
1502
+ # @!attribute [rw] stream_id
1503
+ # The stream ID.
1504
+ # @return [String]
1505
+ #
1506
+ # @!attribute [rw] description
1507
+ # A description of the stream.
1508
+ # @return [String]
1509
+ #
1510
+ # @!attribute [rw] files
1511
+ # The files to stream.
1512
+ # @return [Array<Types::StreamFile>]
1513
+ #
1514
+ # @!attribute [rw] role_arn
1515
+ # An IAM role that allows the IoT service principal assumes to access
1516
+ # your S3 files.
1517
+ # @return [String]
1518
+ #
1519
+ class CreateStreamRequest < Struct.new(
1520
+ :stream_id,
1521
+ :description,
1522
+ :files,
1523
+ :role_arn)
1524
+ include Aws::Structure
1525
+ end
1526
+
1527
+ # @!attribute [rw] stream_id
1528
+ # The stream ID.
1529
+ # @return [String]
1530
+ #
1531
+ # @!attribute [rw] stream_arn
1532
+ # The stream ARN.
1533
+ # @return [String]
1534
+ #
1535
+ # @!attribute [rw] description
1536
+ # A description of the stream.
1537
+ # @return [String]
1538
+ #
1539
+ # @!attribute [rw] stream_version
1540
+ # The version of the stream.
1541
+ # @return [Integer]
1542
+ #
1543
+ class CreateStreamResponse < Struct.new(
1544
+ :stream_id,
1545
+ :stream_arn,
1546
+ :description,
1547
+ :stream_version)
1548
+ include Aws::Structure
1549
+ end
1550
+
1255
1551
  # @note When making an API call, you may pass CreateThingGroupRequest
1256
1552
  # data as a hash:
1257
1553
  #
@@ -1603,6 +1899,55 @@ module Aws::IoT
1603
1899
  include Aws::Structure
1604
1900
  end
1605
1901
 
1902
+ # Describes a custom method used to code sign a file.
1903
+ #
1904
+ # @note When making an API call, you may pass CustomCodeSigning
1905
+ # data as a hash:
1906
+ #
1907
+ # {
1908
+ # signature: {
1909
+ # stream: {
1910
+ # stream_id: "StreamId",
1911
+ # file_id: 1,
1912
+ # },
1913
+ # inline_document: "data",
1914
+ # },
1915
+ # certificate_chain: {
1916
+ # stream: {
1917
+ # stream_id: "StreamId",
1918
+ # file_id: 1,
1919
+ # },
1920
+ # certificate_name: "CertificateName",
1921
+ # inline_document: "InlineDocument",
1922
+ # },
1923
+ # hash_algorithm: "HashAlgorithm",
1924
+ # signature_algorithm: "SignatureAlgorithm",
1925
+ # }
1926
+ #
1927
+ # @!attribute [rw] signature
1928
+ # The signature for the file.
1929
+ # @return [Types::CodeSigningSignature]
1930
+ #
1931
+ # @!attribute [rw] certificate_chain
1932
+ # The certificate chain.
1933
+ # @return [Types::CodeSigningCertificateChain]
1934
+ #
1935
+ # @!attribute [rw] hash_algorithm
1936
+ # The hash algorithm used to code sign the file.
1937
+ # @return [String]
1938
+ #
1939
+ # @!attribute [rw] signature_algorithm
1940
+ # The signature algorithm used to code sign the file.
1941
+ # @return [String]
1942
+ #
1943
+ class CustomCodeSigning < Struct.new(
1944
+ :signature,
1945
+ :certificate_chain,
1946
+ :hash_algorithm,
1947
+ :signature_algorithm)
1948
+ include Aws::Structure
1949
+ end
1950
+
1606
1951
  # @note When making an API call, you may pass DeleteAuthorizerRequest
1607
1952
  # data as a hash:
1608
1953
  #
@@ -1667,6 +2012,24 @@ module Aws::IoT
1667
2012
  include Aws::Structure
1668
2013
  end
1669
2014
 
2015
+ # @note When making an API call, you may pass DeleteOTAUpdateRequest
2016
+ # data as a hash:
2017
+ #
2018
+ # {
2019
+ # ota_update_id: "OTAUpdateId", # required
2020
+ # }
2021
+ #
2022
+ # @!attribute [rw] ota_update_id
2023
+ # The OTA update ID to delete.
2024
+ # @return [String]
2025
+ #
2026
+ class DeleteOTAUpdateRequest < Struct.new(
2027
+ :ota_update_id)
2028
+ include Aws::Structure
2029
+ end
2030
+
2031
+ class DeleteOTAUpdateResponse < Aws::EmptyStructure; end
2032
+
1670
2033
  # The input for the DeletePolicy operation.
1671
2034
  #
1672
2035
  # @note When making an API call, you may pass DeletePolicyRequest
@@ -1737,6 +2100,24 @@ module Aws::IoT
1737
2100
 
1738
2101
  class DeleteRoleAliasResponse < Aws::EmptyStructure; end
1739
2102
 
2103
+ # @note When making an API call, you may pass DeleteStreamRequest
2104
+ # data as a hash:
2105
+ #
2106
+ # {
2107
+ # stream_id: "StreamId", # required
2108
+ # }
2109
+ #
2110
+ # @!attribute [rw] stream_id
2111
+ # The stream ID.
2112
+ # @return [String]
2113
+ #
2114
+ class DeleteStreamRequest < Struct.new(
2115
+ :stream_id)
2116
+ include Aws::Structure
2117
+ end
2118
+
2119
+ class DeleteStreamResponse < Aws::EmptyStructure; end
2120
+
1740
2121
  # @note When making an API call, you may pass DeleteThingGroupRequest
1741
2122
  # data as a hash:
1742
2123
  #
@@ -2191,6 +2572,31 @@ module Aws::IoT
2191
2572
  include Aws::Structure
2192
2573
  end
2193
2574
 
2575
+ # @note When making an API call, you may pass DescribeStreamRequest
2576
+ # data as a hash:
2577
+ #
2578
+ # {
2579
+ # stream_id: "StreamId", # required
2580
+ # }
2581
+ #
2582
+ # @!attribute [rw] stream_id
2583
+ # The stream ID.
2584
+ # @return [String]
2585
+ #
2586
+ class DescribeStreamRequest < Struct.new(
2587
+ :stream_id)
2588
+ include Aws::Structure
2589
+ end
2590
+
2591
+ # @!attribute [rw] stream_info
2592
+ # Information about the stream.
2593
+ # @return [Types::StreamInfo]
2594
+ #
2595
+ class DescribeStreamResponse < Struct.new(
2596
+ :stream_info)
2597
+ include Aws::Structure
2598
+ end
2599
+
2194
2600
  # @note When making an API call, you may pass DescribeThingGroupRequest
2195
2601
  # data as a hash:
2196
2602
  #
@@ -2748,6 +3154,22 @@ module Aws::IoT
2748
3154
  include Aws::Structure
2749
3155
  end
2750
3156
 
3157
+ # Error information.
3158
+ #
3159
+ # @!attribute [rw] code
3160
+ # The error code.
3161
+ # @return [String]
3162
+ #
3163
+ # @!attribute [rw] message
3164
+ # The error message.
3165
+ # @return [String]
3166
+ #
3167
+ class ErrorInfo < Struct.new(
3168
+ :code,
3169
+ :message)
3170
+ include Aws::Structure
3171
+ end
3172
+
2751
3173
  # Information that explicitly denies authorization.
2752
3174
  #
2753
3175
  # @!attribute [rw] policies
@@ -2890,6 +3312,31 @@ module Aws::IoT
2890
3312
  include Aws::Structure
2891
3313
  end
2892
3314
 
3315
+ # @note When making an API call, you may pass GetOTAUpdateRequest
3316
+ # data as a hash:
3317
+ #
3318
+ # {
3319
+ # ota_update_id: "OTAUpdateId", # required
3320
+ # }
3321
+ #
3322
+ # @!attribute [rw] ota_update_id
3323
+ # The OTA update ID.
3324
+ # @return [String]
3325
+ #
3326
+ class GetOTAUpdateRequest < Struct.new(
3327
+ :ota_update_id)
3328
+ include Aws::Structure
3329
+ end
3330
+
3331
+ # @!attribute [rw] ota_update_info
3332
+ # The OTA update info.
3333
+ # @return [Types::OTAUpdateInfo]
3334
+ #
3335
+ class GetOTAUpdateResponse < Struct.new(
3336
+ :ota_update_info)
3337
+ include Aws::Structure
3338
+ end
3339
+
2893
3340
  # The input for the GetPolicy operation.
2894
3341
  #
2895
3342
  # @note When making an API call, you may pass GetPolicyRequest
@@ -3953,6 +4400,48 @@ module Aws::IoT
3953
4400
  include Aws::Structure
3954
4401
  end
3955
4402
 
4403
+ # @note When making an API call, you may pass ListOTAUpdatesRequest
4404
+ # data as a hash:
4405
+ #
4406
+ # {
4407
+ # max_results: 1,
4408
+ # next_token: "NextToken",
4409
+ # ota_update_status: "CREATE_PENDING", # accepts CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_COMPLETE, CREATE_FAILED
4410
+ # }
4411
+ #
4412
+ # @!attribute [rw] max_results
4413
+ # The maximum number of results to return at one time.
4414
+ # @return [Integer]
4415
+ #
4416
+ # @!attribute [rw] next_token
4417
+ # A token used to retreive the next set of results.
4418
+ # @return [String]
4419
+ #
4420
+ # @!attribute [rw] ota_update_status
4421
+ # The OTA update job status.
4422
+ # @return [String]
4423
+ #
4424
+ class ListOTAUpdatesRequest < Struct.new(
4425
+ :max_results,
4426
+ :next_token,
4427
+ :ota_update_status)
4428
+ include Aws::Structure
4429
+ end
4430
+
4431
+ # @!attribute [rw] ota_updates
4432
+ # A list of OTA update jobs.
4433
+ # @return [Array<Types::OTAUpdateSummary>]
4434
+ #
4435
+ # @!attribute [rw] next_token
4436
+ # A token to use to get the next set of results.
4437
+ # @return [String]
4438
+ #
4439
+ class ListOTAUpdatesResponse < Struct.new(
4440
+ :ota_updates,
4441
+ :next_token)
4442
+ include Aws::Structure
4443
+ end
4444
+
3956
4445
  # The input to the ListOutgoingCertificates operation.
3957
4446
  #
3958
4447
  # @note When making an API call, you may pass ListOutgoingCertificatesRequest
@@ -4275,6 +4764,48 @@ module Aws::IoT
4275
4764
  include Aws::Structure
4276
4765
  end
4277
4766
 
4767
+ # @note When making an API call, you may pass ListStreamsRequest
4768
+ # data as a hash:
4769
+ #
4770
+ # {
4771
+ # max_results: 1,
4772
+ # next_token: "NextToken",
4773
+ # ascending_order: false,
4774
+ # }
4775
+ #
4776
+ # @!attribute [rw] max_results
4777
+ # The maximum number of results to return at a time.
4778
+ # @return [Integer]
4779
+ #
4780
+ # @!attribute [rw] next_token
4781
+ # A token used to get the next set of results.
4782
+ # @return [String]
4783
+ #
4784
+ # @!attribute [rw] ascending_order
4785
+ # Set to true to return the list of streams in ascending order.
4786
+ # @return [Boolean]
4787
+ #
4788
+ class ListStreamsRequest < Struct.new(
4789
+ :max_results,
4790
+ :next_token,
4791
+ :ascending_order)
4792
+ include Aws::Structure
4793
+ end
4794
+
4795
+ # @!attribute [rw] streams
4796
+ # A list of streams.
4797
+ # @return [Array<Types::StreamSummary>]
4798
+ #
4799
+ # @!attribute [rw] next_token
4800
+ # A token used to get the next set of results.
4801
+ # @return [String]
4802
+ #
4803
+ class ListStreamsResponse < Struct.new(
4804
+ :streams,
4805
+ :next_token)
4806
+ include Aws::Structure
4807
+ end
4808
+
4278
4809
  # @note When making an API call, you may pass ListTargetsForPolicyRequest
4279
4810
  # data as a hash:
4280
4811
  #
@@ -4865,6 +5396,172 @@ module Aws::IoT
4865
5396
  include Aws::Structure
4866
5397
  end
4867
5398
 
5399
+ # Describes a file to be associated with an OTA update.
5400
+ #
5401
+ # @note When making an API call, you may pass OTAUpdateFile
5402
+ # data as a hash:
5403
+ #
5404
+ # {
5405
+ # file_name: "FileName",
5406
+ # file_version: "OTAUpdateFileVersion",
5407
+ # file_source: {
5408
+ # stream_id: "StreamId",
5409
+ # file_id: 1,
5410
+ # },
5411
+ # code_signing: {
5412
+ # aws_signer_job_id: "SigningJobId",
5413
+ # custom_code_signing: {
5414
+ # signature: {
5415
+ # stream: {
5416
+ # stream_id: "StreamId",
5417
+ # file_id: 1,
5418
+ # },
5419
+ # inline_document: "data",
5420
+ # },
5421
+ # certificate_chain: {
5422
+ # stream: {
5423
+ # stream_id: "StreamId",
5424
+ # file_id: 1,
5425
+ # },
5426
+ # certificate_name: "CertificateName",
5427
+ # inline_document: "InlineDocument",
5428
+ # },
5429
+ # hash_algorithm: "HashAlgorithm",
5430
+ # signature_algorithm: "SignatureAlgorithm",
5431
+ # },
5432
+ # },
5433
+ # attributes: {
5434
+ # "Key" => "Value",
5435
+ # },
5436
+ # }
5437
+ #
5438
+ # @!attribute [rw] file_name
5439
+ # The name of the file.
5440
+ # @return [String]
5441
+ #
5442
+ # @!attribute [rw] file_version
5443
+ # The file version.
5444
+ # @return [String]
5445
+ #
5446
+ # @!attribute [rw] file_source
5447
+ # The source of the file.
5448
+ # @return [Types::Stream]
5449
+ #
5450
+ # @!attribute [rw] code_signing
5451
+ # The code signing method of the file.
5452
+ # @return [Types::CodeSigning]
5453
+ #
5454
+ # @!attribute [rw] attributes
5455
+ # A list of name/attribute pairs.
5456
+ # @return [Hash<String,String>]
5457
+ #
5458
+ class OTAUpdateFile < Struct.new(
5459
+ :file_name,
5460
+ :file_version,
5461
+ :file_source,
5462
+ :code_signing,
5463
+ :attributes)
5464
+ include Aws::Structure
5465
+ end
5466
+
5467
+ # Information about an OTA update.
5468
+ #
5469
+ # @!attribute [rw] ota_update_id
5470
+ # The OTA update ID.
5471
+ # @return [String]
5472
+ #
5473
+ # @!attribute [rw] ota_update_arn
5474
+ # The OTA update ARN.
5475
+ # @return [String]
5476
+ #
5477
+ # @!attribute [rw] creation_date
5478
+ # The date when the OTA update was created.
5479
+ # @return [Time]
5480
+ #
5481
+ # @!attribute [rw] last_modified_date
5482
+ # The date when the OTA update was last updated.
5483
+ # @return [Time]
5484
+ #
5485
+ # @!attribute [rw] description
5486
+ # A description of the OTA update.
5487
+ # @return [String]
5488
+ #
5489
+ # @!attribute [rw] targets
5490
+ # The targets of the OTA update.
5491
+ # @return [Array<String>]
5492
+ #
5493
+ # @!attribute [rw] target_selection
5494
+ # Specifies whether the OTA update will continue to run (CONTINUOUS),
5495
+ # or will be complete after all those things specified as targets have
5496
+ # completed the OTA update (SNAPSHOT). If continuous, the OTA update
5497
+ # may also be run on a thing when a change is detected in a target.
5498
+ # For example, an OTA update will run on a thing when the thing is
5499
+ # added to a target group, even after the OTA update was completed by
5500
+ # all things originally in the group.
5501
+ # @return [String]
5502
+ #
5503
+ # @!attribute [rw] ota_update_files
5504
+ # A list of files associated with the OTA update.
5505
+ # @return [Array<Types::OTAUpdateFile>]
5506
+ #
5507
+ # @!attribute [rw] ota_update_status
5508
+ # The status of the OTA update.
5509
+ # @return [String]
5510
+ #
5511
+ # @!attribute [rw] aws_iot_job_id
5512
+ # The AWS IoT job ID associated with the OTA update.
5513
+ # @return [String]
5514
+ #
5515
+ # @!attribute [rw] aws_iot_job_arn
5516
+ # The AWS IoT job ARN associated with the OTA update.
5517
+ # @return [String]
5518
+ #
5519
+ # @!attribute [rw] error_info
5520
+ # Error information associated with the OTA update.
5521
+ # @return [Types::ErrorInfo]
5522
+ #
5523
+ # @!attribute [rw] additional_parameters
5524
+ # A collection of name/value pairs
5525
+ # @return [Hash<String,String>]
5526
+ #
5527
+ class OTAUpdateInfo < Struct.new(
5528
+ :ota_update_id,
5529
+ :ota_update_arn,
5530
+ :creation_date,
5531
+ :last_modified_date,
5532
+ :description,
5533
+ :targets,
5534
+ :target_selection,
5535
+ :ota_update_files,
5536
+ :ota_update_status,
5537
+ :aws_iot_job_id,
5538
+ :aws_iot_job_arn,
5539
+ :error_info,
5540
+ :additional_parameters)
5541
+ include Aws::Structure
5542
+ end
5543
+
5544
+ # An OTA update summary.
5545
+ #
5546
+ # @!attribute [rw] ota_update_id
5547
+ # The OTA update ID.
5548
+ # @return [String]
5549
+ #
5550
+ # @!attribute [rw] ota_update_arn
5551
+ # The OTA update ARN.
5552
+ # @return [String]
5553
+ #
5554
+ # @!attribute [rw] creation_date
5555
+ # The date when the OTA update was created.
5556
+ # @return [Time]
5557
+ #
5558
+ class OTAUpdateSummary < Struct.new(
5559
+ :ota_update_id,
5560
+ :ota_update_arn,
5561
+ :creation_date)
5562
+ include Aws::Structure
5563
+ end
5564
+
4868
5565
  # A certificate that has been transferred but not yet accepted.
4869
5566
  #
4870
5567
  # @!attribute [rw] certificate_arn
@@ -5513,6 +6210,36 @@ module Aws::IoT
5513
6210
  include Aws::Structure
5514
6211
  end
5515
6212
 
6213
+ # The location in S3 the contains the files to stream.
6214
+ #
6215
+ # @note When making an API call, you may pass S3Location
6216
+ # data as a hash:
6217
+ #
6218
+ # {
6219
+ # bucket: "S3Bucket", # required
6220
+ # key: "S3Key", # required
6221
+ # version: "S3Version",
6222
+ # }
6223
+ #
6224
+ # @!attribute [rw] bucket
6225
+ # The S3 bucket that contains the file to stream.
6226
+ # @return [String]
6227
+ #
6228
+ # @!attribute [rw] key
6229
+ # The name of the file within the S3 bucket to stream.
6230
+ # @return [String]
6231
+ #
6232
+ # @!attribute [rw] version
6233
+ # The file version.
6234
+ # @return [String]
6235
+ #
6236
+ class S3Location < Struct.new(
6237
+ :bucket,
6238
+ :key,
6239
+ :version)
6240
+ include Aws::Structure
6241
+ end
6242
+
5516
6243
  # Describes an action to write a message to a Salesforce IoT Cloud Input
5517
6244
  # Stream.
5518
6245
  #
@@ -5859,6 +6586,130 @@ module Aws::IoT
5859
6586
 
5860
6587
  class StopThingRegistrationTaskResponse < Aws::EmptyStructure; end
5861
6588
 
6589
+ # Describes a group of files that can be streamed.
6590
+ #
6591
+ # @note When making an API call, you may pass Stream
6592
+ # data as a hash:
6593
+ #
6594
+ # {
6595
+ # stream_id: "StreamId",
6596
+ # file_id: 1,
6597
+ # }
6598
+ #
6599
+ # @!attribute [rw] stream_id
6600
+ # The stream ID.
6601
+ # @return [String]
6602
+ #
6603
+ # @!attribute [rw] file_id
6604
+ # The ID of a file associated with a stream.
6605
+ # @return [Integer]
6606
+ #
6607
+ class Stream < Struct.new(
6608
+ :stream_id,
6609
+ :file_id)
6610
+ include Aws::Structure
6611
+ end
6612
+
6613
+ # Represents a file to stream.
6614
+ #
6615
+ # @note When making an API call, you may pass StreamFile
6616
+ # data as a hash:
6617
+ #
6618
+ # {
6619
+ # file_id: 1,
6620
+ # s3_location: {
6621
+ # bucket: "S3Bucket", # required
6622
+ # key: "S3Key", # required
6623
+ # version: "S3Version",
6624
+ # },
6625
+ # }
6626
+ #
6627
+ # @!attribute [rw] file_id
6628
+ # The file ID.
6629
+ # @return [Integer]
6630
+ #
6631
+ # @!attribute [rw] s3_location
6632
+ # The location of the file in S3.
6633
+ # @return [Types::S3Location]
6634
+ #
6635
+ class StreamFile < Struct.new(
6636
+ :file_id,
6637
+ :s3_location)
6638
+ include Aws::Structure
6639
+ end
6640
+
6641
+ # Information about a stream.
6642
+ #
6643
+ # @!attribute [rw] stream_id
6644
+ # The stream ID.
6645
+ # @return [String]
6646
+ #
6647
+ # @!attribute [rw] stream_arn
6648
+ # The stream ARN.
6649
+ # @return [String]
6650
+ #
6651
+ # @!attribute [rw] stream_version
6652
+ # The stream version.
6653
+ # @return [Integer]
6654
+ #
6655
+ # @!attribute [rw] description
6656
+ # The description of the stream.
6657
+ # @return [String]
6658
+ #
6659
+ # @!attribute [rw] files
6660
+ # The files to stream.
6661
+ # @return [Array<Types::StreamFile>]
6662
+ #
6663
+ # @!attribute [rw] created_at
6664
+ # The date when the stream was created.
6665
+ # @return [Time]
6666
+ #
6667
+ # @!attribute [rw] last_updated_at
6668
+ # The date when the stream was last updated.
6669
+ # @return [Time]
6670
+ #
6671
+ # @!attribute [rw] role_arn
6672
+ # An IAM role AWS IoT assumes to access your S3 files.
6673
+ # @return [String]
6674
+ #
6675
+ class StreamInfo < Struct.new(
6676
+ :stream_id,
6677
+ :stream_arn,
6678
+ :stream_version,
6679
+ :description,
6680
+ :files,
6681
+ :created_at,
6682
+ :last_updated_at,
6683
+ :role_arn)
6684
+ include Aws::Structure
6685
+ end
6686
+
6687
+ # A summary of a stream.
6688
+ #
6689
+ # @!attribute [rw] stream_id
6690
+ # The stream ID.
6691
+ # @return [String]
6692
+ #
6693
+ # @!attribute [rw] stream_arn
6694
+ # The stream ARN.
6695
+ # @return [String]
6696
+ #
6697
+ # @!attribute [rw] stream_version
6698
+ # The stream version.
6699
+ # @return [Integer]
6700
+ #
6701
+ # @!attribute [rw] description
6702
+ # A description of the stream.
6703
+ # @return [String]
6704
+ #
6705
+ class StreamSummary < Struct.new(
6706
+ :stream_id,
6707
+ :stream_arn,
6708
+ :stream_version,
6709
+ :description)
6710
+ include Aws::Structure
6711
+ end
6712
+
5862
6713
  # @note When making an API call, you may pass TestAuthorizationRequest
5863
6714
  # data as a hash:
5864
6715
  #
@@ -6786,6 +7637,74 @@ module Aws::IoT
6786
7637
  include Aws::Structure
6787
7638
  end
6788
7639
 
7640
+ # @note When making an API call, you may pass UpdateStreamRequest
7641
+ # data as a hash:
7642
+ #
7643
+ # {
7644
+ # stream_id: "StreamId", # required
7645
+ # description: "StreamDescription",
7646
+ # files: [
7647
+ # {
7648
+ # file_id: 1,
7649
+ # s3_location: {
7650
+ # bucket: "S3Bucket", # required
7651
+ # key: "S3Key", # required
7652
+ # version: "S3Version",
7653
+ # },
7654
+ # },
7655
+ # ],
7656
+ # role_arn: "RoleArn",
7657
+ # }
7658
+ #
7659
+ # @!attribute [rw] stream_id
7660
+ # The stream ID.
7661
+ # @return [String]
7662
+ #
7663
+ # @!attribute [rw] description
7664
+ # The description of the stream.
7665
+ # @return [String]
7666
+ #
7667
+ # @!attribute [rw] files
7668
+ # The files associated with the stream.
7669
+ # @return [Array<Types::StreamFile>]
7670
+ #
7671
+ # @!attribute [rw] role_arn
7672
+ # An IAM role that allows the IoT service principal assumes to access
7673
+ # your S3 files.
7674
+ # @return [String]
7675
+ #
7676
+ class UpdateStreamRequest < Struct.new(
7677
+ :stream_id,
7678
+ :description,
7679
+ :files,
7680
+ :role_arn)
7681
+ include Aws::Structure
7682
+ end
7683
+
7684
+ # @!attribute [rw] stream_id
7685
+ # The stream ID.
7686
+ # @return [String]
7687
+ #
7688
+ # @!attribute [rw] stream_arn
7689
+ # The stream ARN.
7690
+ # @return [String]
7691
+ #
7692
+ # @!attribute [rw] description
7693
+ # A description of the stream.
7694
+ # @return [String]
7695
+ #
7696
+ # @!attribute [rw] stream_version
7697
+ # The stream version.
7698
+ # @return [Integer]
7699
+ #
7700
+ class UpdateStreamResponse < Struct.new(
7701
+ :stream_id,
7702
+ :stream_arn,
7703
+ :description,
7704
+ :stream_version)
7705
+ include Aws::Structure
7706
+ end
7707
+
6789
7708
  # @note When making an API call, you may pass UpdateThingGroupRequest
6790
7709
  # data as a hash:
6791
7710
  #