aws-sdk-iot 1.12.0 → 1.13.0

Sign up to get free protection for your applications and to get access to all the features.
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