aws-sdk-iot 1.12.0 → 1.13.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6eddea6d1676a67b6e99db6998022e78472aeec5
4
- data.tar.gz: 7f5c4a2982f348f84bf7d000b2aa4a428f8d8e02
3
+ metadata.gz: 18f32396116d5339f66501614261de6377f1445c
4
+ data.tar.gz: 81cf4b96757f7ab36158148bc0d06e76e6c2315f
5
5
  SHA512:
6
- metadata.gz: 53c75de2598d731f1ffe764018199627916a54a93ecaf005a97e6b1b34f6f3ecca013305990dd854ecf5bb0a211925ae3b37093345a2aefe6d9b7a4dd695349e
7
- data.tar.gz: 78fae9e84a051edbbc857e80c7e7f27c57828949d11403fa24d66fd68e77f4dea0cc92ed84f7a723f636ae4874a044b5b7f2dfe0e4fa3003c4a8e13aa0baba02
6
+ metadata.gz: 903e41f5d094c29a8daec78f89af09b25063f7596deb606680aaf9c02733b3ec79b0d940b1875577482c657c2d075ca1f031328a405b9f75cb70f272b6d2fe78
7
+ data.tar.gz: 0f6ddeb37d858fafd5810bdc4cc2a1aeb891f2509ba819d8e081c1b890f8f8ab150b7f17776f7ed66990dd09e4103083aaffc13183e6fb72a4cf79cae1425b98
data/lib/aws-sdk-iot.rb CHANGED
@@ -42,6 +42,6 @@ require_relative 'aws-sdk-iot/customizations'
42
42
  # @service
43
43
  module Aws::IoT
44
44
 
45
- GEM_VERSION = '1.12.0'
45
+ GEM_VERSION = '1.13.0'
46
46
 
47
47
  end
@@ -789,6 +789,9 @@ module Aws::IoT
789
789
  # even after the update was completed by all things originally in the
790
790
  # group. Valid values: CONTINUOUS \| SNAPSHOT.
791
791
  #
792
+ # @option params [Types::AwsJobExecutionsRolloutConfig] :aws_job_executions_rollout_config
793
+ # Configuration for the rollout of OTA updates.
794
+ #
792
795
  # @option params [required, Array<Types::OTAUpdateFile>] :files
793
796
  # The files to be streamed by the OTA update.
794
797
  #
@@ -813,29 +816,45 @@ module Aws::IoT
813
816
  # description: "OTAUpdateDescription",
814
817
  # targets: ["Target"], # required
815
818
  # target_selection: "CONTINUOUS", # accepts CONTINUOUS, SNAPSHOT
819
+ # aws_job_executions_rollout_config: {
820
+ # maximum_per_minute: 1,
821
+ # },
816
822
  # files: [ # required
817
823
  # {
818
824
  # file_name: "FileName",
819
825
  # file_version: "OTAUpdateFileVersion",
820
- # file_source: {
821
- # stream_id: "StreamId",
822
- # file_id: 1,
826
+ # file_location: {
827
+ # stream: {
828
+ # stream_id: "StreamId",
829
+ # file_id: 1,
830
+ # },
831
+ # s3_location: {
832
+ # bucket: "S3Bucket",
833
+ # key: "S3Key",
834
+ # version: "S3Version",
835
+ # },
823
836
  # },
824
837
  # code_signing: {
825
838
  # aws_signer_job_id: "SigningJobId",
839
+ # start_signing_job_parameter: {
840
+ # signing_profile_parameter: {
841
+ # certificate_arn: "CertificateArn",
842
+ # platform: "Platform",
843
+ # certificate_path_on_device: "CertificatePathOnDevice",
844
+ # },
845
+ # signing_profile_name: "SigningProfileName",
846
+ # destination: {
847
+ # s3_destination: {
848
+ # bucket: "S3Bucket",
849
+ # prefix: "Prefix",
850
+ # },
851
+ # },
852
+ # },
826
853
  # custom_code_signing: {
827
854
  # signature: {
828
- # stream: {
829
- # stream_id: "StreamId",
830
- # file_id: 1,
831
- # },
832
855
  # inline_document: "data",
833
856
  # },
834
857
  # certificate_chain: {
835
- # stream: {
836
- # stream_id: "StreamId",
837
- # file_id: 1,
838
- # },
839
858
  # certificate_name: "CertificateName",
840
859
  # inline_document: "InlineDocument",
841
860
  # },
@@ -844,13 +863,13 @@ module Aws::IoT
844
863
  # },
845
864
  # },
846
865
  # attributes: {
847
- # "Key" => "Value",
866
+ # "AttributeKey" => "Value",
848
867
  # },
849
868
  # },
850
869
  # ],
851
870
  # role_arn: "RoleArn", # required
852
871
  # additional_parameters: {
853
- # "Key" => "Value",
872
+ # "AttributeKey" => "Value",
854
873
  # },
855
874
  # })
856
875
  #
@@ -1155,8 +1174,8 @@ module Aws::IoT
1155
1174
  # {
1156
1175
  # file_id: 1,
1157
1176
  # s3_location: {
1158
- # bucket: "S3Bucket", # required
1159
- # key: "S3Key", # required
1177
+ # bucket: "S3Bucket",
1178
+ # key: "S3Key",
1160
1179
  # version: "S3Version",
1161
1180
  # },
1162
1181
  # },
@@ -1730,12 +1749,22 @@ module Aws::IoT
1730
1749
  # @option params [required, String] :ota_update_id
1731
1750
  # The OTA update ID to delete.
1732
1751
  #
1752
+ # @option params [Boolean] :delete_stream
1753
+ # Specifies if the stream associated with an OTA update should be
1754
+ # deleted when the OTA update is deleted.
1755
+ #
1756
+ # @option params [Boolean] :force_delete_aws_job
1757
+ # Specifies if the AWS Job associated with the OTA update should be
1758
+ # deleted with the OTA update is deleted.
1759
+ #
1733
1760
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1734
1761
  #
1735
1762
  # @example Request syntax with placeholder values
1736
1763
  #
1737
1764
  # resp = client.delete_ota_update({
1738
1765
  # ota_update_id: "OTAUpdateId", # required
1766
+ # delete_stream: false,
1767
+ # force_delete_aws_job: false,
1739
1768
  # })
1740
1769
  #
1741
1770
  # @overload delete_ota_update(params = {})
@@ -3043,31 +3072,37 @@ module Aws::IoT
3043
3072
  # resp.ota_update_info.description #=> String
3044
3073
  # resp.ota_update_info.targets #=> Array
3045
3074
  # resp.ota_update_info.targets[0] #=> String
3075
+ # resp.ota_update_info.aws_job_executions_rollout_config.maximum_per_minute #=> Integer
3046
3076
  # resp.ota_update_info.target_selection #=> String, one of "CONTINUOUS", "SNAPSHOT"
3047
3077
  # resp.ota_update_info.ota_update_files #=> Array
3048
3078
  # resp.ota_update_info.ota_update_files[0].file_name #=> String
3049
3079
  # resp.ota_update_info.ota_update_files[0].file_version #=> String
3050
- # resp.ota_update_info.ota_update_files[0].file_source.stream_id #=> String
3051
- # resp.ota_update_info.ota_update_files[0].file_source.file_id #=> Integer
3080
+ # resp.ota_update_info.ota_update_files[0].file_location.stream.stream_id #=> String
3081
+ # resp.ota_update_info.ota_update_files[0].file_location.stream.file_id #=> Integer
3082
+ # resp.ota_update_info.ota_update_files[0].file_location.s3_location.bucket #=> String
3083
+ # resp.ota_update_info.ota_update_files[0].file_location.s3_location.key #=> String
3084
+ # resp.ota_update_info.ota_update_files[0].file_location.s3_location.version #=> String
3052
3085
  # resp.ota_update_info.ota_update_files[0].code_signing.aws_signer_job_id #=> String
3053
- # resp.ota_update_info.ota_update_files[0].code_signing.custom_code_signing.signature.stream.stream_id #=> String
3054
- # resp.ota_update_info.ota_update_files[0].code_signing.custom_code_signing.signature.stream.file_id #=> Integer
3086
+ # resp.ota_update_info.ota_update_files[0].code_signing.start_signing_job_parameter.signing_profile_parameter.certificate_arn #=> String
3087
+ # resp.ota_update_info.ota_update_files[0].code_signing.start_signing_job_parameter.signing_profile_parameter.platform #=> String
3088
+ # resp.ota_update_info.ota_update_files[0].code_signing.start_signing_job_parameter.signing_profile_parameter.certificate_path_on_device #=> String
3089
+ # resp.ota_update_info.ota_update_files[0].code_signing.start_signing_job_parameter.signing_profile_name #=> String
3090
+ # resp.ota_update_info.ota_update_files[0].code_signing.start_signing_job_parameter.destination.s3_destination.bucket #=> String
3091
+ # resp.ota_update_info.ota_update_files[0].code_signing.start_signing_job_parameter.destination.s3_destination.prefix #=> String
3055
3092
  # resp.ota_update_info.ota_update_files[0].code_signing.custom_code_signing.signature.inline_document #=> String
3056
- # resp.ota_update_info.ota_update_files[0].code_signing.custom_code_signing.certificate_chain.stream.stream_id #=> String
3057
- # resp.ota_update_info.ota_update_files[0].code_signing.custom_code_signing.certificate_chain.stream.file_id #=> Integer
3058
3093
  # resp.ota_update_info.ota_update_files[0].code_signing.custom_code_signing.certificate_chain.certificate_name #=> String
3059
3094
  # resp.ota_update_info.ota_update_files[0].code_signing.custom_code_signing.certificate_chain.inline_document #=> String
3060
3095
  # resp.ota_update_info.ota_update_files[0].code_signing.custom_code_signing.hash_algorithm #=> String
3061
3096
  # resp.ota_update_info.ota_update_files[0].code_signing.custom_code_signing.signature_algorithm #=> String
3062
3097
  # resp.ota_update_info.ota_update_files[0].attributes #=> Hash
3063
- # resp.ota_update_info.ota_update_files[0].attributes["Key"] #=> String
3098
+ # resp.ota_update_info.ota_update_files[0].attributes["AttributeKey"] #=> String
3064
3099
  # resp.ota_update_info.ota_update_status #=> String, one of "CREATE_PENDING", "CREATE_IN_PROGRESS", "CREATE_COMPLETE", "CREATE_FAILED"
3065
3100
  # resp.ota_update_info.aws_iot_job_id #=> String
3066
3101
  # resp.ota_update_info.aws_iot_job_arn #=> String
3067
3102
  # resp.ota_update_info.error_info.code #=> String
3068
3103
  # resp.ota_update_info.error_info.message #=> String
3069
3104
  # resp.ota_update_info.additional_parameters #=> Hash
3070
- # resp.ota_update_info.additional_parameters["Key"] #=> String
3105
+ # resp.ota_update_info.additional_parameters["AttributeKey"] #=> String
3071
3106
  #
3072
3107
  # @overload get_ota_update(params = {})
3073
3108
  # @param [Hash] params ({})
@@ -6335,8 +6370,8 @@ module Aws::IoT
6335
6370
  # {
6336
6371
  # file_id: 1,
6337
6372
  # s3_location: {
6338
- # bucket: "S3Bucket", # required
6339
- # key: "S3Key", # required
6373
+ # bucket: "S3Bucket",
6374
+ # key: "S3Key",
6340
6375
  # version: "S3Version",
6341
6376
  # },
6342
6377
  # },
@@ -6536,7 +6571,7 @@ module Aws::IoT
6536
6571
  params: params,
6537
6572
  config: config)
6538
6573
  context[:gem_name] = 'aws-sdk-iot'
6539
- context[:gem_version] = '1.12.0'
6574
+ context[:gem_version] = '1.13.0'
6540
6575
  Seahorse::Client::Request.new(handlers, context)
6541
6576
  end
6542
6577
 
@@ -36,6 +36,7 @@ module Aws::IoT
36
36
  AttachSecurityProfileResponse = Shapes::StructureShape.new(name: 'AttachSecurityProfileResponse')
37
37
  AttachThingPrincipalRequest = Shapes::StructureShape.new(name: 'AttachThingPrincipalRequest')
38
38
  AttachThingPrincipalResponse = Shapes::StructureShape.new(name: 'AttachThingPrincipalResponse')
39
+ AttributeKey = Shapes::StringShape.new(name: 'AttributeKey')
39
40
  AttributeName = Shapes::StringShape.new(name: 'AttributeName')
40
41
  AttributePayload = Shapes::StructureShape.new(name: 'AttributePayload')
41
42
  AttributeValue = Shapes::StringShape.new(name: 'AttributeValue')
@@ -77,6 +78,7 @@ module Aws::IoT
77
78
  AwsIotJobArn = Shapes::StringShape.new(name: 'AwsIotJobArn')
78
79
  AwsIotJobId = Shapes::StringShape.new(name: 'AwsIotJobId')
79
80
  AwsIotSqlVersion = Shapes::StringShape.new(name: 'AwsIotSqlVersion')
81
+ AwsJobExecutionsRolloutConfig = Shapes::StructureShape.new(name: 'AwsJobExecutionsRolloutConfig')
80
82
  Behavior = Shapes::StructureShape.new(name: 'Behavior')
81
83
  BehaviorCriteria = Shapes::StructureShape.new(name: 'BehaviorCriteria')
82
84
  BehaviorMetric = Shapes::StringShape.new(name: 'BehaviorMetric')
@@ -103,6 +105,7 @@ module Aws::IoT
103
105
  CertificateDescription = Shapes::StructureShape.new(name: 'CertificateDescription')
104
106
  CertificateId = Shapes::StringShape.new(name: 'CertificateId')
105
107
  CertificateName = Shapes::StringShape.new(name: 'CertificateName')
108
+ CertificatePathOnDevice = Shapes::StringShape.new(name: 'CertificatePathOnDevice')
106
109
  CertificatePem = Shapes::StringShape.new(name: 'CertificatePem')
107
110
  CertificateSigningRequest = Shapes::StringShape.new(name: 'CertificateSigningRequest')
108
111
  CertificateStateException = Shapes::StructureShape.new(name: 'CertificateStateException')
@@ -190,6 +193,7 @@ module Aws::IoT
190
193
  DeleteScheduledAudits = Shapes::BooleanShape.new(name: 'DeleteScheduledAudits')
191
194
  DeleteSecurityProfileRequest = Shapes::StructureShape.new(name: 'DeleteSecurityProfileRequest')
192
195
  DeleteSecurityProfileResponse = Shapes::StructureShape.new(name: 'DeleteSecurityProfileResponse')
196
+ DeleteStream = Shapes::BooleanShape.new(name: 'DeleteStream')
193
197
  DeleteStreamRequest = Shapes::StructureShape.new(name: 'DeleteStreamRequest')
194
198
  DeleteStreamResponse = Shapes::StructureShape.new(name: 'DeleteStreamResponse')
195
199
  DeleteThingGroupRequest = Shapes::StructureShape.new(name: 'DeleteThingGroupRequest')
@@ -244,6 +248,7 @@ module Aws::IoT
244
248
  DescribeThingTypeRequest = Shapes::StructureShape.new(name: 'DescribeThingTypeRequest')
245
249
  DescribeThingTypeResponse = Shapes::StructureShape.new(name: 'DescribeThingTypeResponse')
246
250
  Description = Shapes::StringShape.new(name: 'Description')
251
+ Destination = Shapes::StructureShape.new(name: 'Destination')
247
252
  DetachPolicyRequest = Shapes::StructureShape.new(name: 'DetachPolicyRequest')
248
253
  DetachPrincipalPolicyRequest = Shapes::StructureShape.new(name: 'DetachPrincipalPolicyRequest')
249
254
  DetachSecurityProfileRequest = Shapes::StructureShape.new(name: 'DetachSecurityProfileRequest')
@@ -284,11 +289,13 @@ module Aws::IoT
284
289
  FailedChecksCount = Shapes::IntegerShape.new(name: 'FailedChecksCount')
285
290
  FailedThings = Shapes::IntegerShape.new(name: 'FailedThings')
286
291
  FileId = Shapes::IntegerShape.new(name: 'FileId')
292
+ FileLocation = Shapes::StructureShape.new(name: 'FileLocation')
287
293
  FileName = Shapes::StringShape.new(name: 'FileName')
288
294
  FirehoseAction = Shapes::StructureShape.new(name: 'FirehoseAction')
289
295
  FirehoseSeparator = Shapes::StringShape.new(name: 'FirehoseSeparator')
290
296
  Flag = Shapes::BooleanShape.new(name: 'Flag')
291
297
  ForceDelete = Shapes::BooleanShape.new(name: 'ForceDelete')
298
+ ForceDeleteAWSJob = Shapes::BooleanShape.new(name: 'ForceDeleteAWSJob')
292
299
  ForceFlag = Shapes::BooleanShape.new(name: 'ForceFlag')
293
300
  Forced = Shapes::BooleanShape.new(name: 'Forced')
294
301
  FunctionArn = Shapes::StringShape.new(name: 'FunctionArn')
@@ -452,6 +459,7 @@ module Aws::IoT
452
459
  Marker = Shapes::StringShape.new(name: 'Marker')
453
460
  MaxJobExecutionsPerMin = Shapes::IntegerShape.new(name: 'MaxJobExecutionsPerMin')
454
461
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
462
+ MaximumPerMinute = Shapes::IntegerShape.new(name: 'MaximumPerMinute')
455
463
  Message = Shapes::StringShape.new(name: 'Message')
456
464
  MessageFormat = Shapes::StringShape.new(name: 'MessageFormat')
457
465
  MetricValue = Shapes::StructureShape.new(name: 'MetricValue')
@@ -482,6 +490,7 @@ module Aws::IoT
482
490
  PartitionKey = Shapes::StringShape.new(name: 'PartitionKey')
483
491
  PayloadField = Shapes::StringShape.new(name: 'PayloadField')
484
492
  Percentage = Shapes::IntegerShape.new(name: 'Percentage')
493
+ Platform = Shapes::StringShape.new(name: 'Platform')
485
494
  Policies = Shapes::ListShape.new(name: 'Policies')
486
495
  Policy = Shapes::StructureShape.new(name: 'Policy')
487
496
  PolicyArn = Shapes::StringShape.new(name: 'PolicyArn')
@@ -497,6 +506,7 @@ module Aws::IoT
497
506
  PolicyVersions = Shapes::ListShape.new(name: 'PolicyVersions')
498
507
  Port = Shapes::IntegerShape.new(name: 'Port')
499
508
  Ports = Shapes::ListShape.new(name: 'Ports')
509
+ Prefix = Shapes::StringShape.new(name: 'Prefix')
500
510
  PresignedUrlConfig = Shapes::StructureShape.new(name: 'PresignedUrlConfig')
501
511
  Principal = Shapes::StringShape.new(name: 'Principal')
502
512
  PrincipalArn = Shapes::StringShape.new(name: 'PrincipalArn')
@@ -562,6 +572,7 @@ module Aws::IoT
562
572
  RuleName = Shapes::StringShape.new(name: 'RuleName')
563
573
  S3Action = Shapes::StructureShape.new(name: 'S3Action')
564
574
  S3Bucket = Shapes::StringShape.new(name: 'S3Bucket')
575
+ S3Destination = Shapes::StructureShape.new(name: 'S3Destination')
565
576
  S3FileUrl = Shapes::StringShape.new(name: 'S3FileUrl')
566
577
  S3FileUrlList = Shapes::ListShape.new(name: 'S3FileUrlList')
567
578
  S3Key = Shapes::StringShape.new(name: 'S3Key')
@@ -602,12 +613,15 @@ module Aws::IoT
602
613
  Signature = Shapes::BlobShape.new(name: 'Signature')
603
614
  SignatureAlgorithm = Shapes::StringShape.new(name: 'SignatureAlgorithm')
604
615
  SigningJobId = Shapes::StringShape.new(name: 'SigningJobId')
616
+ SigningProfileName = Shapes::StringShape.new(name: 'SigningProfileName')
617
+ SigningProfileParameter = Shapes::StructureShape.new(name: 'SigningProfileParameter')
605
618
  SkyfallMaxResults = Shapes::IntegerShape.new(name: 'SkyfallMaxResults')
606
619
  SnsAction = Shapes::StructureShape.new(name: 'SnsAction')
607
620
  SqlParseException = Shapes::StructureShape.new(name: 'SqlParseException')
608
621
  SqsAction = Shapes::StructureShape.new(name: 'SqsAction')
609
622
  StartOnDemandAuditTaskRequest = Shapes::StructureShape.new(name: 'StartOnDemandAuditTaskRequest')
610
623
  StartOnDemandAuditTaskResponse = Shapes::StructureShape.new(name: 'StartOnDemandAuditTaskResponse')
624
+ StartSigningJobParameter = Shapes::StructureShape.new(name: 'StartSigningJobParameter')
611
625
  StartThingRegistrationTaskRequest = Shapes::StructureShape.new(name: 'StartThingRegistrationTaskRequest')
612
626
  StartThingRegistrationTaskResponse = Shapes::StructureShape.new(name: 'StartThingRegistrationTaskResponse')
613
627
  StateMachineName = Shapes::StringShape.new(name: 'StateMachineName')
@@ -783,7 +797,7 @@ module Aws::IoT
783
797
 
784
798
  AddThingToThingGroupResponse.struct_class = Types::AddThingToThingGroupResponse
785
799
 
786
- AdditionalParameterMap.key = Shapes::ShapeRef.new(shape: Key)
800
+ AdditionalParameterMap.key = Shapes::ShapeRef.new(shape: AttributeKey)
787
801
  AdditionalParameterMap.value = Shapes::ShapeRef.new(shape: Value)
788
802
 
789
803
  AlertTarget.add_member(:alert_target_arn, Shapes::ShapeRef.new(shape: AlertTargetArn, required: true, location_name: "alertTargetArn"))
@@ -833,7 +847,7 @@ module Aws::IoT
833
847
  Attributes.key = Shapes::ShapeRef.new(shape: AttributeName)
834
848
  Attributes.value = Shapes::ShapeRef.new(shape: AttributeValue)
835
849
 
836
- AttributesMap.key = Shapes::ShapeRef.new(shape: Key)
850
+ AttributesMap.key = Shapes::ShapeRef.new(shape: AttributeKey)
837
851
  AttributesMap.value = Shapes::ShapeRef.new(shape: Value)
838
852
 
839
853
  AuditCheckConfiguration.add_member(:enabled, Shapes::ShapeRef.new(shape: Enabled, location_name: "enabled"))
@@ -912,6 +926,9 @@ module Aws::IoT
912
926
 
913
927
  Authorizers.member = Shapes::ShapeRef.new(shape: AuthorizerSummary)
914
928
 
929
+ AwsJobExecutionsRolloutConfig.add_member(:maximum_per_minute, Shapes::ShapeRef.new(shape: MaximumPerMinute, location_name: "maximumPerMinute"))
930
+ AwsJobExecutionsRolloutConfig.struct_class = Types::AwsJobExecutionsRolloutConfig
931
+
915
932
  Behavior.add_member(:name, Shapes::ShapeRef.new(shape: BehaviorName, required: true, location_name: "name"))
916
933
  Behavior.add_member(:metric, Shapes::ShapeRef.new(shape: BehaviorMetric, location_name: "metric"))
917
934
  Behavior.add_member(:criteria, Shapes::ShapeRef.new(shape: BehaviorCriteria, location_name: "criteria"))
@@ -1018,15 +1035,14 @@ module Aws::IoT
1018
1035
  CloudwatchMetricAction.struct_class = Types::CloudwatchMetricAction
1019
1036
 
1020
1037
  CodeSigning.add_member(:aws_signer_job_id, Shapes::ShapeRef.new(shape: SigningJobId, location_name: "awsSignerJobId"))
1038
+ CodeSigning.add_member(:start_signing_job_parameter, Shapes::ShapeRef.new(shape: StartSigningJobParameter, location_name: "startSigningJobParameter"))
1021
1039
  CodeSigning.add_member(:custom_code_signing, Shapes::ShapeRef.new(shape: CustomCodeSigning, location_name: "customCodeSigning"))
1022
1040
  CodeSigning.struct_class = Types::CodeSigning
1023
1041
 
1024
- CodeSigningCertificateChain.add_member(:stream, Shapes::ShapeRef.new(shape: Stream, location_name: "stream"))
1025
1042
  CodeSigningCertificateChain.add_member(:certificate_name, Shapes::ShapeRef.new(shape: CertificateName, location_name: "certificateName"))
1026
1043
  CodeSigningCertificateChain.add_member(:inline_document, Shapes::ShapeRef.new(shape: InlineDocument, location_name: "inlineDocument"))
1027
1044
  CodeSigningCertificateChain.struct_class = Types::CodeSigningCertificateChain
1028
1045
 
1029
- CodeSigningSignature.add_member(:stream, Shapes::ShapeRef.new(shape: Stream, location_name: "stream"))
1030
1046
  CodeSigningSignature.add_member(:inline_document, Shapes::ShapeRef.new(shape: Signature, location_name: "inlineDocument"))
1031
1047
  CodeSigningSignature.struct_class = Types::CodeSigningSignature
1032
1048
 
@@ -1081,6 +1097,7 @@ module Aws::IoT
1081
1097
  CreateOTAUpdateRequest.add_member(:description, Shapes::ShapeRef.new(shape: OTAUpdateDescription, location_name: "description"))
1082
1098
  CreateOTAUpdateRequest.add_member(:targets, Shapes::ShapeRef.new(shape: Targets, required: true, location_name: "targets"))
1083
1099
  CreateOTAUpdateRequest.add_member(:target_selection, Shapes::ShapeRef.new(shape: TargetSelection, location_name: "targetSelection"))
1100
+ CreateOTAUpdateRequest.add_member(:aws_job_executions_rollout_config, Shapes::ShapeRef.new(shape: AwsJobExecutionsRolloutConfig, location_name: "awsJobExecutionsRolloutConfig"))
1084
1101
  CreateOTAUpdateRequest.add_member(:files, Shapes::ShapeRef.new(shape: OTAUpdateFiles, required: true, location_name: "files"))
1085
1102
  CreateOTAUpdateRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleArn, required: true, location_name: "roleArn"))
1086
1103
  CreateOTAUpdateRequest.add_member(:additional_parameters, Shapes::ShapeRef.new(shape: AdditionalParameterMap, location_name: "additionalParameters"))
@@ -1226,6 +1243,8 @@ module Aws::IoT
1226
1243
  DeleteJobRequest.struct_class = Types::DeleteJobRequest
1227
1244
 
1228
1245
  DeleteOTAUpdateRequest.add_member(:ota_update_id, Shapes::ShapeRef.new(shape: OTAUpdateId, required: true, location: "uri", location_name: "otaUpdateId"))
1246
+ DeleteOTAUpdateRequest.add_member(:delete_stream, Shapes::ShapeRef.new(shape: DeleteStream, location: "querystring", location_name: "deleteStream"))
1247
+ DeleteOTAUpdateRequest.add_member(:force_delete_aws_job, Shapes::ShapeRef.new(shape: ForceDeleteAWSJob, location: "querystring", location_name: "forceDeleteAWSJob"))
1229
1248
  DeleteOTAUpdateRequest.struct_class = Types::DeleteOTAUpdateRequest
1230
1249
 
1231
1250
  DeleteOTAUpdateResponse.struct_class = Types::DeleteOTAUpdateResponse
@@ -1460,6 +1479,9 @@ module Aws::IoT
1460
1479
  DescribeThingTypeResponse.add_member(:thing_type_metadata, Shapes::ShapeRef.new(shape: ThingTypeMetadata, location_name: "thingTypeMetadata"))
1461
1480
  DescribeThingTypeResponse.struct_class = Types::DescribeThingTypeResponse
1462
1481
 
1482
+ Destination.add_member(:s3_destination, Shapes::ShapeRef.new(shape: S3Destination, location_name: "s3Destination"))
1483
+ Destination.struct_class = Types::Destination
1484
+
1463
1485
  DetachPolicyRequest.add_member(:policy_name, Shapes::ShapeRef.new(shape: PolicyName, required: true, location: "uri", location_name: "policyName"))
1464
1486
  DetachPolicyRequest.add_member(:target, Shapes::ShapeRef.new(shape: PolicyTarget, required: true, location_name: "target"))
1465
1487
  DetachPolicyRequest.struct_class = Types::DetachPolicyRequest
@@ -1529,6 +1551,10 @@ module Aws::IoT
1529
1551
  ExplicitDeny.add_member(:policies, Shapes::ShapeRef.new(shape: Policies, location_name: "policies"))
1530
1552
  ExplicitDeny.struct_class = Types::ExplicitDeny
1531
1553
 
1554
+ FileLocation.add_member(:stream, Shapes::ShapeRef.new(shape: Stream, location_name: "stream"))
1555
+ FileLocation.add_member(:s3_location, Shapes::ShapeRef.new(shape: S3Location, location_name: "s3Location"))
1556
+ FileLocation.struct_class = Types::FileLocation
1557
+
1532
1558
  FirehoseAction.add_member(:role_arn, Shapes::ShapeRef.new(shape: AwsArn, required: true, location_name: "roleArn"))
1533
1559
  FirehoseAction.add_member(:delivery_stream_name, Shapes::ShapeRef.new(shape: DeliveryStreamName, required: true, location_name: "deliveryStreamName"))
1534
1560
  FirehoseAction.add_member(:separator, Shapes::ShapeRef.new(shape: FirehoseSeparator, location_name: "separator"))
@@ -2096,7 +2122,7 @@ module Aws::IoT
2096
2122
 
2097
2123
  OTAUpdateFile.add_member(:file_name, Shapes::ShapeRef.new(shape: FileName, location_name: "fileName"))
2098
2124
  OTAUpdateFile.add_member(:file_version, Shapes::ShapeRef.new(shape: OTAUpdateFileVersion, location_name: "fileVersion"))
2099
- OTAUpdateFile.add_member(:file_source, Shapes::ShapeRef.new(shape: Stream, location_name: "fileSource"))
2125
+ OTAUpdateFile.add_member(:file_location, Shapes::ShapeRef.new(shape: FileLocation, location_name: "fileLocation"))
2100
2126
  OTAUpdateFile.add_member(:code_signing, Shapes::ShapeRef.new(shape: CodeSigning, location_name: "codeSigning"))
2101
2127
  OTAUpdateFile.add_member(:attributes, Shapes::ShapeRef.new(shape: AttributesMap, location_name: "attributes"))
2102
2128
  OTAUpdateFile.struct_class = Types::OTAUpdateFile
@@ -2109,6 +2135,7 @@ module Aws::IoT
2109
2135
  OTAUpdateInfo.add_member(:last_modified_date, Shapes::ShapeRef.new(shape: DateType, location_name: "lastModifiedDate"))
2110
2136
  OTAUpdateInfo.add_member(:description, Shapes::ShapeRef.new(shape: OTAUpdateDescription, location_name: "description"))
2111
2137
  OTAUpdateInfo.add_member(:targets, Shapes::ShapeRef.new(shape: Targets, location_name: "targets"))
2138
+ OTAUpdateInfo.add_member(:aws_job_executions_rollout_config, Shapes::ShapeRef.new(shape: AwsJobExecutionsRolloutConfig, location_name: "awsJobExecutionsRolloutConfig"))
2112
2139
  OTAUpdateInfo.add_member(:target_selection, Shapes::ShapeRef.new(shape: TargetSelection, location_name: "targetSelection"))
2113
2140
  OTAUpdateInfo.add_member(:ota_update_files, Shapes::ShapeRef.new(shape: OTAUpdateFiles, location_name: "otaUpdateFiles"))
2114
2141
  OTAUpdateInfo.add_member(:ota_update_status, Shapes::ShapeRef.new(shape: OTAUpdateStatus, location_name: "otaUpdateStatus"))
@@ -2269,10 +2296,14 @@ module Aws::IoT
2269
2296
  S3Action.add_member(:canned_acl, Shapes::ShapeRef.new(shape: CannedAccessControlList, location_name: "cannedAcl"))
2270
2297
  S3Action.struct_class = Types::S3Action
2271
2298
 
2299
+ S3Destination.add_member(:bucket, Shapes::ShapeRef.new(shape: S3Bucket, location_name: "bucket"))
2300
+ S3Destination.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "prefix"))
2301
+ S3Destination.struct_class = Types::S3Destination
2302
+
2272
2303
  S3FileUrlList.member = Shapes::ShapeRef.new(shape: S3FileUrl)
2273
2304
 
2274
- S3Location.add_member(:bucket, Shapes::ShapeRef.new(shape: S3Bucket, required: true, location_name: "bucket"))
2275
- S3Location.add_member(:key, Shapes::ShapeRef.new(shape: S3Key, required: true, location_name: "key"))
2305
+ S3Location.add_member(:bucket, Shapes::ShapeRef.new(shape: S3Bucket, location_name: "bucket"))
2306
+ S3Location.add_member(:key, Shapes::ShapeRef.new(shape: S3Key, location_name: "key"))
2276
2307
  S3Location.add_member(:version, Shapes::ShapeRef.new(shape: S3Version, location_name: "version"))
2277
2308
  S3Location.struct_class = Types::S3Location
2278
2309
 
@@ -2345,6 +2376,11 @@ module Aws::IoT
2345
2376
  SetV2LoggingOptionsRequest.add_member(:disable_all_logs, Shapes::ShapeRef.new(shape: DisableAllLogs, location_name: "disableAllLogs"))
2346
2377
  SetV2LoggingOptionsRequest.struct_class = Types::SetV2LoggingOptionsRequest
2347
2378
 
2379
+ SigningProfileParameter.add_member(:certificate_arn, Shapes::ShapeRef.new(shape: CertificateArn, location_name: "certificateArn"))
2380
+ SigningProfileParameter.add_member(:platform, Shapes::ShapeRef.new(shape: Platform, location_name: "platform"))
2381
+ SigningProfileParameter.add_member(:certificate_path_on_device, Shapes::ShapeRef.new(shape: CertificatePathOnDevice, location_name: "certificatePathOnDevice"))
2382
+ SigningProfileParameter.struct_class = Types::SigningProfileParameter
2383
+
2348
2384
  SnsAction.add_member(:target_arn, Shapes::ShapeRef.new(shape: AwsArn, required: true, location_name: "targetArn"))
2349
2385
  SnsAction.add_member(:role_arn, Shapes::ShapeRef.new(shape: AwsArn, required: true, location_name: "roleArn"))
2350
2386
  SnsAction.add_member(:message_format, Shapes::ShapeRef.new(shape: MessageFormat, location_name: "messageFormat"))
@@ -2361,6 +2397,11 @@ module Aws::IoT
2361
2397
  StartOnDemandAuditTaskResponse.add_member(:task_id, Shapes::ShapeRef.new(shape: AuditTaskId, location_name: "taskId"))
2362
2398
  StartOnDemandAuditTaskResponse.struct_class = Types::StartOnDemandAuditTaskResponse
2363
2399
 
2400
+ StartSigningJobParameter.add_member(:signing_profile_parameter, Shapes::ShapeRef.new(shape: SigningProfileParameter, location_name: "signingProfileParameter"))
2401
+ StartSigningJobParameter.add_member(:signing_profile_name, Shapes::ShapeRef.new(shape: SigningProfileName, location_name: "signingProfileName"))
2402
+ StartSigningJobParameter.add_member(:destination, Shapes::ShapeRef.new(shape: Destination, location_name: "destination"))
2403
+ StartSigningJobParameter.struct_class = Types::StartSigningJobParameter
2404
+
2364
2405
  StartThingRegistrationTaskRequest.add_member(:template_body, Shapes::ShapeRef.new(shape: TemplateBody, required: true, location_name: "templateBody"))
2365
2406
  StartThingRegistrationTaskRequest.add_member(:input_file_bucket, Shapes::ShapeRef.new(shape: RegistryS3BucketName, required: true, location_name: "inputFileBucket"))
2366
2407
  StartThingRegistrationTaskRequest.add_member(:input_file_key, Shapes::ShapeRef.new(shape: RegistryS3KeyName, required: true, location_name: "inputFileKey"))
@@ -2936,6 +2977,7 @@ module Aws::IoT
2936
2977
  o.input = Shapes::ShapeRef.new(shape: CreateOTAUpdateRequest)
2937
2978
  o.output = Shapes::ShapeRef.new(shape: CreateOTAUpdateResponse)
2938
2979
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
2980
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
2939
2981
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
2940
2982
  o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
2941
2983
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
@@ -3021,6 +3063,7 @@ module Aws::IoT
3021
3063
  o.input = Shapes::ShapeRef.new(shape: CreateStreamRequest)
3022
3064
  o.output = Shapes::ShapeRef.new(shape: CreateStreamResponse)
3023
3065
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
3066
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
3024
3067
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
3025
3068
  o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
3026
3069
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
@@ -3180,6 +3223,7 @@ module Aws::IoT
3180
3223
  o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
3181
3224
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
3182
3225
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
3226
+ o.errors << Shapes::ShapeRef.new(shape: VersionConflictException)
3183
3227
  end)
3184
3228
 
3185
3229
  api.add_operation(:delete_policy, Seahorse::Model::Operation.new.tap do |o|
@@ -799,6 +799,24 @@ module Aws::IoT
799
799
  include Aws::Structure
800
800
  end
801
801
 
802
+ # Configuration for the rollout of OTA updates.
803
+ #
804
+ # @note When making an API call, you may pass AwsJobExecutionsRolloutConfig
805
+ # data as a hash:
806
+ #
807
+ # {
808
+ # maximum_per_minute: 1,
809
+ # }
810
+ #
811
+ # @!attribute [rw] maximum_per_minute
812
+ # The maximum number of OTA update job executions started per minute.
813
+ # @return [Integer]
814
+ #
815
+ class AwsJobExecutionsRolloutConfig < Struct.new(
816
+ :maximum_per_minute)
817
+ include Aws::Structure
818
+ end
819
+
802
820
  # A Device Defender security profile behavior.
803
821
  #
804
822
  # @note When making an API call, you may pass Behavior
@@ -1342,19 +1360,25 @@ module Aws::IoT
1342
1360
  #
1343
1361
  # {
1344
1362
  # aws_signer_job_id: "SigningJobId",
1363
+ # start_signing_job_parameter: {
1364
+ # signing_profile_parameter: {
1365
+ # certificate_arn: "CertificateArn",
1366
+ # platform: "Platform",
1367
+ # certificate_path_on_device: "CertificatePathOnDevice",
1368
+ # },
1369
+ # signing_profile_name: "SigningProfileName",
1370
+ # destination: {
1371
+ # s3_destination: {
1372
+ # bucket: "S3Bucket",
1373
+ # prefix: "Prefix",
1374
+ # },
1375
+ # },
1376
+ # },
1345
1377
  # custom_code_signing: {
1346
1378
  # signature: {
1347
- # stream: {
1348
- # stream_id: "StreamId",
1349
- # file_id: 1,
1350
- # },
1351
1379
  # inline_document: "data",
1352
1380
  # },
1353
1381
  # certificate_chain: {
1354
- # stream: {
1355
- # stream_id: "StreamId",
1356
- # file_id: 1,
1357
- # },
1358
1382
  # certificate_name: "CertificateName",
1359
1383
  # inline_document: "InlineDocument",
1360
1384
  # },
@@ -1367,12 +1391,17 @@ module Aws::IoT
1367
1391
  # The ID of the AWSSignerJob which was created to sign the file.
1368
1392
  # @return [String]
1369
1393
  #
1394
+ # @!attribute [rw] start_signing_job_parameter
1395
+ # Describes the code-signing job.
1396
+ # @return [Types::StartSigningJobParameter]
1397
+ #
1370
1398
  # @!attribute [rw] custom_code_signing
1371
1399
  # A custom method for code signing a file.
1372
1400
  # @return [Types::CustomCodeSigning]
1373
1401
  #
1374
1402
  class CodeSigning < Struct.new(
1375
1403
  :aws_signer_job_id,
1404
+ :start_signing_job_parameter,
1376
1405
  :custom_code_signing)
1377
1406
  include Aws::Structure
1378
1407
  end
@@ -1383,18 +1412,10 @@ module Aws::IoT
1383
1412
  # data as a hash:
1384
1413
  #
1385
1414
  # {
1386
- # stream: {
1387
- # stream_id: "StreamId",
1388
- # file_id: 1,
1389
- # },
1390
1415
  # certificate_name: "CertificateName",
1391
1416
  # inline_document: "InlineDocument",
1392
1417
  # }
1393
1418
  #
1394
- # @!attribute [rw] stream
1395
- # A stream of the certificate chain files.
1396
- # @return [Types::Stream]
1397
- #
1398
1419
  # @!attribute [rw] certificate_name
1399
1420
  # The name of the certificate.
1400
1421
  # @return [String]
@@ -1405,7 +1426,6 @@ module Aws::IoT
1405
1426
  # @return [String]
1406
1427
  #
1407
1428
  class CodeSigningCertificateChain < Struct.new(
1408
- :stream,
1409
1429
  :certificate_name,
1410
1430
  :inline_document)
1411
1431
  include Aws::Structure
@@ -1417,24 +1437,15 @@ module Aws::IoT
1417
1437
  # data as a hash:
1418
1438
  #
1419
1439
  # {
1420
- # stream: {
1421
- # stream_id: "StreamId",
1422
- # file_id: 1,
1423
- # },
1424
1440
  # inline_document: "data",
1425
1441
  # }
1426
1442
  #
1427
- # @!attribute [rw] stream
1428
- # A stream of the code signing signature.
1429
- # @return [Types::Stream]
1430
- #
1431
1443
  # @!attribute [rw] inline_document
1432
1444
  # A base64 encoded binary representation of the code signing
1433
1445
  # signature.
1434
1446
  # @return [String]
1435
1447
  #
1436
1448
  class CodeSigningSignature < Struct.new(
1437
- :stream,
1438
1449
  :inline_document)
1439
1450
  include Aws::Structure
1440
1451
  end
@@ -1704,29 +1715,45 @@ module Aws::IoT
1704
1715
  # description: "OTAUpdateDescription",
1705
1716
  # targets: ["Target"], # required
1706
1717
  # target_selection: "CONTINUOUS", # accepts CONTINUOUS, SNAPSHOT
1718
+ # aws_job_executions_rollout_config: {
1719
+ # maximum_per_minute: 1,
1720
+ # },
1707
1721
  # files: [ # required
1708
1722
  # {
1709
1723
  # file_name: "FileName",
1710
1724
  # file_version: "OTAUpdateFileVersion",
1711
- # file_source: {
1712
- # stream_id: "StreamId",
1713
- # file_id: 1,
1725
+ # file_location: {
1726
+ # stream: {
1727
+ # stream_id: "StreamId",
1728
+ # file_id: 1,
1729
+ # },
1730
+ # s3_location: {
1731
+ # bucket: "S3Bucket",
1732
+ # key: "S3Key",
1733
+ # version: "S3Version",
1734
+ # },
1714
1735
  # },
1715
1736
  # code_signing: {
1716
1737
  # aws_signer_job_id: "SigningJobId",
1738
+ # start_signing_job_parameter: {
1739
+ # signing_profile_parameter: {
1740
+ # certificate_arn: "CertificateArn",
1741
+ # platform: "Platform",
1742
+ # certificate_path_on_device: "CertificatePathOnDevice",
1743
+ # },
1744
+ # signing_profile_name: "SigningProfileName",
1745
+ # destination: {
1746
+ # s3_destination: {
1747
+ # bucket: "S3Bucket",
1748
+ # prefix: "Prefix",
1749
+ # },
1750
+ # },
1751
+ # },
1717
1752
  # custom_code_signing: {
1718
1753
  # signature: {
1719
- # stream: {
1720
- # stream_id: "StreamId",
1721
- # file_id: 1,
1722
- # },
1723
1754
  # inline_document: "data",
1724
1755
  # },
1725
1756
  # certificate_chain: {
1726
- # stream: {
1727
- # stream_id: "StreamId",
1728
- # file_id: 1,
1729
- # },
1730
1757
  # certificate_name: "CertificateName",
1731
1758
  # inline_document: "InlineDocument",
1732
1759
  # },
@@ -1735,13 +1762,13 @@ module Aws::IoT
1735
1762
  # },
1736
1763
  # },
1737
1764
  # attributes: {
1738
- # "Key" => "Value",
1765
+ # "AttributeKey" => "Value",
1739
1766
  # },
1740
1767
  # },
1741
1768
  # ],
1742
1769
  # role_arn: "RoleArn", # required
1743
1770
  # additional_parameters: {
1744
- # "Key" => "Value",
1771
+ # "AttributeKey" => "Value",
1745
1772
  # },
1746
1773
  # }
1747
1774
  #
@@ -1767,6 +1794,10 @@ module Aws::IoT
1767
1794
  # originally in the group. Valid values: CONTINUOUS \| SNAPSHOT.
1768
1795
  # @return [String]
1769
1796
  #
1797
+ # @!attribute [rw] aws_job_executions_rollout_config
1798
+ # Configuration for the rollout of OTA updates.
1799
+ # @return [Types::AwsJobExecutionsRolloutConfig]
1800
+ #
1770
1801
  # @!attribute [rw] files
1771
1802
  # The files to be streamed by the OTA update.
1772
1803
  # @return [Array<Types::OTAUpdateFile>]
@@ -1785,6 +1816,7 @@ module Aws::IoT
1785
1816
  :description,
1786
1817
  :targets,
1787
1818
  :target_selection,
1819
+ :aws_job_executions_rollout_config,
1788
1820
  :files,
1789
1821
  :role_arn,
1790
1822
  :additional_parameters)
@@ -2118,8 +2150,8 @@ module Aws::IoT
2118
2150
  # {
2119
2151
  # file_id: 1,
2120
2152
  # s3_location: {
2121
- # bucket: "S3Bucket", # required
2122
- # key: "S3Key", # required
2153
+ # bucket: "S3Bucket",
2154
+ # key: "S3Key",
2123
2155
  # version: "S3Version",
2124
2156
  # },
2125
2157
  # },
@@ -2554,17 +2586,9 @@ module Aws::IoT
2554
2586
  #
2555
2587
  # {
2556
2588
  # signature: {
2557
- # stream: {
2558
- # stream_id: "StreamId",
2559
- # file_id: 1,
2560
- # },
2561
2589
  # inline_document: "data",
2562
2590
  # },
2563
2591
  # certificate_chain: {
2564
- # stream: {
2565
- # stream_id: "StreamId",
2566
- # file_id: 1,
2567
- # },
2568
2592
  # certificate_name: "CertificateName",
2569
2593
  # inline_document: "InlineDocument",
2570
2594
  # },
@@ -2773,14 +2797,28 @@ module Aws::IoT
2773
2797
  #
2774
2798
  # {
2775
2799
  # ota_update_id: "OTAUpdateId", # required
2800
+ # delete_stream: false,
2801
+ # force_delete_aws_job: false,
2776
2802
  # }
2777
2803
  #
2778
2804
  # @!attribute [rw] ota_update_id
2779
2805
  # The OTA update ID to delete.
2780
2806
  # @return [String]
2781
2807
  #
2808
+ # @!attribute [rw] delete_stream
2809
+ # Specifies if the stream associated with an OTA update should be
2810
+ # deleted when the OTA update is deleted.
2811
+ # @return [Boolean]
2812
+ #
2813
+ # @!attribute [rw] force_delete_aws_job
2814
+ # Specifies if the AWS Job associated with the OTA update should be
2815
+ # deleted with the OTA update is deleted.
2816
+ # @return [Boolean]
2817
+ #
2782
2818
  class DeleteOTAUpdateRequest < Struct.new(
2783
- :ota_update_id)
2819
+ :ota_update_id,
2820
+ :delete_stream,
2821
+ :force_delete_aws_job)
2784
2822
  include Aws::Structure
2785
2823
  end
2786
2824
 
@@ -3856,6 +3894,27 @@ module Aws::IoT
3856
3894
  include Aws::Structure
3857
3895
  end
3858
3896
 
3897
+ # Describes the location of the updated firmware.
3898
+ #
3899
+ # @note When making an API call, you may pass Destination
3900
+ # data as a hash:
3901
+ #
3902
+ # {
3903
+ # s3_destination: {
3904
+ # bucket: "S3Bucket",
3905
+ # prefix: "Prefix",
3906
+ # },
3907
+ # }
3908
+ #
3909
+ # @!attribute [rw] s3_destination
3910
+ # Describes the location in S3 of the updated firmware.
3911
+ # @return [Types::S3Destination]
3912
+ #
3913
+ class Destination < Struct.new(
3914
+ :s3_destination)
3915
+ include Aws::Structure
3916
+ end
3917
+
3859
3918
  # @note When making an API call, you may pass DetachPolicyRequest
3860
3919
  # data as a hash:
3861
3920
  #
@@ -4215,6 +4274,37 @@ module Aws::IoT
4215
4274
  include Aws::Structure
4216
4275
  end
4217
4276
 
4277
+ # The location of the OTA update.
4278
+ #
4279
+ # @note When making an API call, you may pass FileLocation
4280
+ # data as a hash:
4281
+ #
4282
+ # {
4283
+ # stream: {
4284
+ # stream_id: "StreamId",
4285
+ # file_id: 1,
4286
+ # },
4287
+ # s3_location: {
4288
+ # bucket: "S3Bucket",
4289
+ # key: "S3Key",
4290
+ # version: "S3Version",
4291
+ # },
4292
+ # }
4293
+ #
4294
+ # @!attribute [rw] stream
4295
+ # The stream that contains the OTA update.
4296
+ # @return [Types::Stream]
4297
+ #
4298
+ # @!attribute [rw] s3_location
4299
+ # The location of the updated firmware in S3.
4300
+ # @return [Types::S3Location]
4301
+ #
4302
+ class FileLocation < Struct.new(
4303
+ :stream,
4304
+ :s3_location)
4305
+ include Aws::Structure
4306
+ end
4307
+
4218
4308
  # Describes an action that writes data to an Amazon Kinesis Firehose
4219
4309
  # stream.
4220
4310
  #
@@ -7006,25 +7096,38 @@ module Aws::IoT
7006
7096
  # {
7007
7097
  # file_name: "FileName",
7008
7098
  # file_version: "OTAUpdateFileVersion",
7009
- # file_source: {
7010
- # stream_id: "StreamId",
7011
- # file_id: 1,
7099
+ # file_location: {
7100
+ # stream: {
7101
+ # stream_id: "StreamId",
7102
+ # file_id: 1,
7103
+ # },
7104
+ # s3_location: {
7105
+ # bucket: "S3Bucket",
7106
+ # key: "S3Key",
7107
+ # version: "S3Version",
7108
+ # },
7012
7109
  # },
7013
7110
  # code_signing: {
7014
7111
  # aws_signer_job_id: "SigningJobId",
7112
+ # start_signing_job_parameter: {
7113
+ # signing_profile_parameter: {
7114
+ # certificate_arn: "CertificateArn",
7115
+ # platform: "Platform",
7116
+ # certificate_path_on_device: "CertificatePathOnDevice",
7117
+ # },
7118
+ # signing_profile_name: "SigningProfileName",
7119
+ # destination: {
7120
+ # s3_destination: {
7121
+ # bucket: "S3Bucket",
7122
+ # prefix: "Prefix",
7123
+ # },
7124
+ # },
7125
+ # },
7015
7126
  # custom_code_signing: {
7016
7127
  # signature: {
7017
- # stream: {
7018
- # stream_id: "StreamId",
7019
- # file_id: 1,
7020
- # },
7021
7128
  # inline_document: "data",
7022
7129
  # },
7023
7130
  # certificate_chain: {
7024
- # stream: {
7025
- # stream_id: "StreamId",
7026
- # file_id: 1,
7027
- # },
7028
7131
  # certificate_name: "CertificateName",
7029
7132
  # inline_document: "InlineDocument",
7030
7133
  # },
@@ -7033,7 +7136,7 @@ module Aws::IoT
7033
7136
  # },
7034
7137
  # },
7035
7138
  # attributes: {
7036
- # "Key" => "Value",
7139
+ # "AttributeKey" => "Value",
7037
7140
  # },
7038
7141
  # }
7039
7142
  #
@@ -7045,9 +7148,9 @@ module Aws::IoT
7045
7148
  # The file version.
7046
7149
  # @return [String]
7047
7150
  #
7048
- # @!attribute [rw] file_source
7049
- # The source of the file.
7050
- # @return [Types::Stream]
7151
+ # @!attribute [rw] file_location
7152
+ # The location of the updated firmware.
7153
+ # @return [Types::FileLocation]
7051
7154
  #
7052
7155
  # @!attribute [rw] code_signing
7053
7156
  # The code signing method of the file.
@@ -7060,7 +7163,7 @@ module Aws::IoT
7060
7163
  class OTAUpdateFile < Struct.new(
7061
7164
  :file_name,
7062
7165
  :file_version,
7063
- :file_source,
7166
+ :file_location,
7064
7167
  :code_signing,
7065
7168
  :attributes)
7066
7169
  include Aws::Structure
@@ -7092,6 +7195,10 @@ module Aws::IoT
7092
7195
  # The targets of the OTA update.
7093
7196
  # @return [Array<String>]
7094
7197
  #
7198
+ # @!attribute [rw] aws_job_executions_rollout_config
7199
+ # Configuration for the rollout of OTA updates.
7200
+ # @return [Types::AwsJobExecutionsRolloutConfig]
7201
+ #
7095
7202
  # @!attribute [rw] target_selection
7096
7203
  # Specifies whether the OTA update will continue to run (CONTINUOUS),
7097
7204
  # or will be complete after all those things specified as targets have
@@ -7133,6 +7240,7 @@ module Aws::IoT
7133
7240
  :last_modified_date,
7134
7241
  :description,
7135
7242
  :targets,
7243
+ :aws_job_executions_rollout_config,
7136
7244
  :target_selection,
7137
7245
  :ota_update_files,
7138
7246
  :ota_update_status,
@@ -7945,27 +8053,51 @@ module Aws::IoT
7945
8053
  include Aws::Structure
7946
8054
  end
7947
8055
 
7948
- # The location in S3 the contains the files to stream.
8056
+ # Describes the location of updated firmware in S3.
8057
+ #
8058
+ # @note When making an API call, you may pass S3Destination
8059
+ # data as a hash:
8060
+ #
8061
+ # {
8062
+ # bucket: "S3Bucket",
8063
+ # prefix: "Prefix",
8064
+ # }
8065
+ #
8066
+ # @!attribute [rw] bucket
8067
+ # The S3 bucket that contains the updated firmware.
8068
+ # @return [String]
8069
+ #
8070
+ # @!attribute [rw] prefix
8071
+ # The S3 prefix.
8072
+ # @return [String]
8073
+ #
8074
+ class S3Destination < Struct.new(
8075
+ :bucket,
8076
+ :prefix)
8077
+ include Aws::Structure
8078
+ end
8079
+
8080
+ # The S3 location.
7949
8081
  #
7950
8082
  # @note When making an API call, you may pass S3Location
7951
8083
  # data as a hash:
7952
8084
  #
7953
8085
  # {
7954
- # bucket: "S3Bucket", # required
7955
- # key: "S3Key", # required
8086
+ # bucket: "S3Bucket",
8087
+ # key: "S3Key",
7956
8088
  # version: "S3Version",
7957
8089
  # }
7958
8090
  #
7959
8091
  # @!attribute [rw] bucket
7960
- # The S3 bucket that contains the file to stream.
8092
+ # The S3 bucket.
7961
8093
  # @return [String]
7962
8094
  #
7963
8095
  # @!attribute [rw] key
7964
- # The name of the file within the S3 bucket to stream.
8096
+ # The S3 key.
7965
8097
  # @return [String]
7966
8098
  #
7967
8099
  # @!attribute [rw] version
7968
- # The file version.
8100
+ # The S3 bucket version.
7969
8101
  # @return [String]
7970
8102
  #
7971
8103
  class S3Location < Struct.new(
@@ -8274,6 +8406,36 @@ module Aws::IoT
8274
8406
  include Aws::Structure
8275
8407
  end
8276
8408
 
8409
+ # Describes the code-signing profile.
8410
+ #
8411
+ # @note When making an API call, you may pass SigningProfileParameter
8412
+ # data as a hash:
8413
+ #
8414
+ # {
8415
+ # certificate_arn: "CertificateArn",
8416
+ # platform: "Platform",
8417
+ # certificate_path_on_device: "CertificatePathOnDevice",
8418
+ # }
8419
+ #
8420
+ # @!attribute [rw] certificate_arn
8421
+ # Certificate ARN.
8422
+ # @return [String]
8423
+ #
8424
+ # @!attribute [rw] platform
8425
+ # The hardware platform of your device.
8426
+ # @return [String]
8427
+ #
8428
+ # @!attribute [rw] certificate_path_on_device
8429
+ # The location of the code-signing certificate on your device.
8430
+ # @return [String]
8431
+ #
8432
+ class SigningProfileParameter < Struct.new(
8433
+ :certificate_arn,
8434
+ :platform,
8435
+ :certificate_path_on_device)
8436
+ include Aws::Structure
8437
+ end
8438
+
8277
8439
  # Describes an action to publish to an Amazon SNS topic.
8278
8440
  #
8279
8441
  # @note When making an API call, you may pass SnsAction
@@ -8374,6 +8536,45 @@ module Aws::IoT
8374
8536
  include Aws::Structure
8375
8537
  end
8376
8538
 
8539
+ # Information required to start a signing job.
8540
+ #
8541
+ # @note When making an API call, you may pass StartSigningJobParameter
8542
+ # data as a hash:
8543
+ #
8544
+ # {
8545
+ # signing_profile_parameter: {
8546
+ # certificate_arn: "CertificateArn",
8547
+ # platform: "Platform",
8548
+ # certificate_path_on_device: "CertificatePathOnDevice",
8549
+ # },
8550
+ # signing_profile_name: "SigningProfileName",
8551
+ # destination: {
8552
+ # s3_destination: {
8553
+ # bucket: "S3Bucket",
8554
+ # prefix: "Prefix",
8555
+ # },
8556
+ # },
8557
+ # }
8558
+ #
8559
+ # @!attribute [rw] signing_profile_parameter
8560
+ # Describes the code-signing profile.
8561
+ # @return [Types::SigningProfileParameter]
8562
+ #
8563
+ # @!attribute [rw] signing_profile_name
8564
+ # The code-signing profile name.
8565
+ # @return [String]
8566
+ #
8567
+ # @!attribute [rw] destination
8568
+ # The location to write the code-signed file.
8569
+ # @return [Types::Destination]
8570
+ #
8571
+ class StartSigningJobParameter < Struct.new(
8572
+ :signing_profile_parameter,
8573
+ :signing_profile_name,
8574
+ :destination)
8575
+ include Aws::Structure
8576
+ end
8577
+
8377
8578
  # @note When making an API call, you may pass StartThingRegistrationTaskRequest
8378
8579
  # data as a hash:
8379
8580
  #
@@ -8504,8 +8705,8 @@ module Aws::IoT
8504
8705
  # {
8505
8706
  # file_id: 1,
8506
8707
  # s3_location: {
8507
- # bucket: "S3Bucket", # required
8508
- # key: "S3Key", # required
8708
+ # bucket: "S3Bucket",
8709
+ # key: "S3Key",
8509
8710
  # version: "S3Version",
8510
8711
  # },
8511
8712
  # }
@@ -9880,8 +10081,8 @@ module Aws::IoT
9880
10081
  # {
9881
10082
  # file_id: 1,
9882
10083
  # s3_location: {
9883
- # bucket: "S3Bucket", # required
9884
- # key: "S3Key", # required
10084
+ # bucket: "S3Bucket",
10085
+ # key: "S3Key",
9885
10086
  # version: "S3Version",
9886
10087
  # },
9887
10088
  # },
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-iot
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.12.0
4
+ version: 1.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-08-23 00:00:00.000000000 Z
11
+ date: 2018-08-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core