aws-sdk-iot 1.0.0 → 1.1.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.
@@ -187,6 +187,123 @@ module Aws::IoT
187
187
  include Aws::Structure
188
188
  end
189
189
 
190
+ # @note When making an API call, you may pass AddThingToThingGroupRequest
191
+ # data as a hash:
192
+ #
193
+ # {
194
+ # thing_group_name: "ThingGroupName",
195
+ # thing_group_arn: "ThingGroupArn",
196
+ # thing_name: "ThingName",
197
+ # thing_arn: "ThingArn",
198
+ # }
199
+ #
200
+ # @!attribute [rw] thing_group_name
201
+ # The name of the group to which you are adding a thing.
202
+ # @return [String]
203
+ #
204
+ # @!attribute [rw] thing_group_arn
205
+ # The ARN of the group to which you are adding a thing.
206
+ # @return [String]
207
+ #
208
+ # @!attribute [rw] thing_name
209
+ # The name of the thing to add to a group.
210
+ # @return [String]
211
+ #
212
+ # @!attribute [rw] thing_arn
213
+ # The ARN of the thing to add to a group.
214
+ # @return [String]
215
+ #
216
+ class AddThingToThingGroupRequest < Struct.new(
217
+ :thing_group_name,
218
+ :thing_group_arn,
219
+ :thing_name,
220
+ :thing_arn)
221
+ include Aws::Structure
222
+ end
223
+
224
+ class AddThingToThingGroupResponse < Aws::EmptyStructure; end
225
+
226
+ # Contains information that allowed the authorization.
227
+ #
228
+ # @!attribute [rw] policies
229
+ # A list of policies that allowed the authentication.
230
+ # @return [Array<Types::Policy>]
231
+ #
232
+ class Allowed < Struct.new(
233
+ :policies)
234
+ include Aws::Structure
235
+ end
236
+
237
+ # @note When making an API call, you may pass AssociateTargetsWithJobRequest
238
+ # data as a hash:
239
+ #
240
+ # {
241
+ # targets: ["TargetArn"], # required
242
+ # job_id: "JobId", # required
243
+ # comment: "Comment",
244
+ # }
245
+ #
246
+ # @!attribute [rw] targets
247
+ # A list of thing group ARNs that define the targets of the job.
248
+ # @return [Array<String>]
249
+ #
250
+ # @!attribute [rw] job_id
251
+ # The unique identifier you assigned to this job when it was created.
252
+ # @return [String]
253
+ #
254
+ # @!attribute [rw] comment
255
+ # An optional comment string describing why the job was associated
256
+ # with the targets.
257
+ # @return [String]
258
+ #
259
+ class AssociateTargetsWithJobRequest < Struct.new(
260
+ :targets,
261
+ :job_id,
262
+ :comment)
263
+ include Aws::Structure
264
+ end
265
+
266
+ # @!attribute [rw] job_arn
267
+ # An ARN identifying the job.
268
+ # @return [String]
269
+ #
270
+ # @!attribute [rw] job_id
271
+ # The unique identifier you assigned to this job when it was created.
272
+ # @return [String]
273
+ #
274
+ # @!attribute [rw] description
275
+ # A short text description of the job.
276
+ # @return [String]
277
+ #
278
+ class AssociateTargetsWithJobResponse < Struct.new(
279
+ :job_arn,
280
+ :job_id,
281
+ :description)
282
+ include Aws::Structure
283
+ end
284
+
285
+ # @note When making an API call, you may pass AttachPolicyRequest
286
+ # data as a hash:
287
+ #
288
+ # {
289
+ # policy_name: "PolicyName", # required
290
+ # target: "PolicyTarget", # required
291
+ # }
292
+ #
293
+ # @!attribute [rw] policy_name
294
+ # The name of the policy to attach.
295
+ # @return [String]
296
+ #
297
+ # @!attribute [rw] target
298
+ # The identity to which the policy is attached.
299
+ # @return [String]
300
+ #
301
+ class AttachPolicyRequest < Struct.new(
302
+ :policy_name,
303
+ :target)
304
+ include Aws::Structure
305
+ end
306
+
190
307
  # The input for the AttachPrincipalPolicy operation.
191
308
  #
192
309
  # @note When making an API call, you may pass AttachPrincipalPolicyRequest
@@ -278,6 +395,128 @@ module Aws::IoT
278
395
  include Aws::Structure
279
396
  end
280
397
 
398
+ # A collection of authorization information.
399
+ #
400
+ # @note When making an API call, you may pass AuthInfo
401
+ # data as a hash:
402
+ #
403
+ # {
404
+ # action_type: "PUBLISH", # accepts PUBLISH, SUBSCRIBE, RECEIVE, CONNECT
405
+ # resources: ["Resource"],
406
+ # }
407
+ #
408
+ # @!attribute [rw] action_type
409
+ # The type of action for which the principal is being authorized.
410
+ # @return [String]
411
+ #
412
+ # @!attribute [rw] resources
413
+ # The resources for which the principal is being authorized to perform
414
+ # the specified action.
415
+ # @return [Array<String>]
416
+ #
417
+ class AuthInfo < Struct.new(
418
+ :action_type,
419
+ :resources)
420
+ include Aws::Structure
421
+ end
422
+
423
+ # The authorizer result.
424
+ #
425
+ # @!attribute [rw] auth_info
426
+ # Authorization information.
427
+ # @return [Types::AuthInfo]
428
+ #
429
+ # @!attribute [rw] allowed
430
+ # The policies and statements that allowed the specified action.
431
+ # @return [Types::Allowed]
432
+ #
433
+ # @!attribute [rw] denied
434
+ # The policies and statements that denied the specified action.
435
+ # @return [Types::Denied]
436
+ #
437
+ # @!attribute [rw] auth_decision
438
+ # The final authorization decision of this scenario. Multiple
439
+ # statements are taken into account when determining the authorization
440
+ # decision. An explicit deny statement can override multiple allow
441
+ # statements.
442
+ # @return [String]
443
+ #
444
+ # @!attribute [rw] missing_context_values
445
+ # Contains any missing context values found while evaluating policy.
446
+ # @return [Array<String>]
447
+ #
448
+ class AuthResult < Struct.new(
449
+ :auth_info,
450
+ :allowed,
451
+ :denied,
452
+ :auth_decision,
453
+ :missing_context_values)
454
+ include Aws::Structure
455
+ end
456
+
457
+ # The authorizer description.
458
+ #
459
+ # @!attribute [rw] authorizer_name
460
+ # The authorizer name.
461
+ # @return [String]
462
+ #
463
+ # @!attribute [rw] authorizer_arn
464
+ # The authorizer ARN.
465
+ # @return [String]
466
+ #
467
+ # @!attribute [rw] authorizer_function_arn
468
+ # The authorizer's Lambda function ARN.
469
+ # @return [String]
470
+ #
471
+ # @!attribute [rw] token_key_name
472
+ # The key used to extract the token from the HTTP headers.
473
+ # @return [String]
474
+ #
475
+ # @!attribute [rw] token_signing_public_keys
476
+ # The public keys used to validate the token signature returned by
477
+ # your custom authentication service.
478
+ # @return [Hash<String,String>]
479
+ #
480
+ # @!attribute [rw] status
481
+ # The status of the authorizer.
482
+ # @return [String]
483
+ #
484
+ # @!attribute [rw] creation_date
485
+ # The UNIX timestamp of when the authorizer was created.
486
+ # @return [Time]
487
+ #
488
+ # @!attribute [rw] last_modified_date
489
+ # The UNIX timestamp of when the authorizer was last updated.
490
+ # @return [Time]
491
+ #
492
+ class AuthorizerDescription < Struct.new(
493
+ :authorizer_name,
494
+ :authorizer_arn,
495
+ :authorizer_function_arn,
496
+ :token_key_name,
497
+ :token_signing_public_keys,
498
+ :status,
499
+ :creation_date,
500
+ :last_modified_date)
501
+ include Aws::Structure
502
+ end
503
+
504
+ # The authorizer summary.
505
+ #
506
+ # @!attribute [rw] authorizer_name
507
+ # The authorizer name.
508
+ # @return [String]
509
+ #
510
+ # @!attribute [rw] authorizer_arn
511
+ # The authorizer ARN.
512
+ # @return [String]
513
+ #
514
+ class AuthorizerSummary < Struct.new(
515
+ :authorizer_name,
516
+ :authorizer_arn)
517
+ include Aws::Structure
518
+ end
519
+
281
520
  # A CA certificate.
282
521
  #
283
522
  # @!attribute [rw] certificate_arn
@@ -367,6 +606,47 @@ module Aws::IoT
367
606
  include Aws::Structure
368
607
  end
369
608
 
609
+ # @note When making an API call, you may pass CancelJobRequest
610
+ # data as a hash:
611
+ #
612
+ # {
613
+ # job_id: "JobId", # required
614
+ # comment: "Comment",
615
+ # }
616
+ #
617
+ # @!attribute [rw] job_id
618
+ # The unique identifier you assigned to this job when it was created.
619
+ # @return [String]
620
+ #
621
+ # @!attribute [rw] comment
622
+ # An optional comment string describing why the job was canceled.
623
+ # @return [String]
624
+ #
625
+ class CancelJobRequest < Struct.new(
626
+ :job_id,
627
+ :comment)
628
+ include Aws::Structure
629
+ end
630
+
631
+ # @!attribute [rw] job_arn
632
+ # The job ARN.
633
+ # @return [String]
634
+ #
635
+ # @!attribute [rw] job_id
636
+ # The unique identifier you assigned to this job when it was created.
637
+ # @return [String]
638
+ #
639
+ # @!attribute [rw] description
640
+ # A short text description of the job.
641
+ # @return [String]
642
+ #
643
+ class CancelJobResponse < Struct.new(
644
+ :job_arn,
645
+ :job_id,
646
+ :description)
647
+ include Aws::Structure
648
+ end
649
+
370
650
  # Information about a certificate.
371
651
  #
372
652
  # @!attribute [rw] certificate_arn
@@ -453,6 +733,12 @@ module Aws::IoT
453
733
  include Aws::Structure
454
734
  end
455
735
 
736
+ # @api private
737
+ #
738
+ class ClearDefaultAuthorizerRequest < Aws::EmptyStructure; end
739
+
740
+ class ClearDefaultAuthorizerResponse < Aws::EmptyStructure; end
741
+
456
742
  # Describes an action that updates a CloudWatch alarm.
457
743
  #
458
744
  # @note When making an API call, you may pass CloudwatchAlarmAction
@@ -546,6 +832,82 @@ module Aws::IoT
546
832
  include Aws::Structure
547
833
  end
548
834
 
835
+ # Configuration.
836
+ #
837
+ # @note When making an API call, you may pass Configuration
838
+ # data as a hash:
839
+ #
840
+ # {
841
+ # enabled: false,
842
+ # }
843
+ #
844
+ # @!attribute [rw] enabled
845
+ # True to enable the configuration.
846
+ # @return [Boolean]
847
+ #
848
+ class Configuration < Struct.new(
849
+ :enabled)
850
+ include Aws::Structure
851
+ end
852
+
853
+ # @note When making an API call, you may pass CreateAuthorizerRequest
854
+ # data as a hash:
855
+ #
856
+ # {
857
+ # authorizer_name: "AuthorizerName", # required
858
+ # authorizer_function_arn: "AuthorizerFunctionArn", # required
859
+ # token_key_name: "TokenKeyName", # required
860
+ # token_signing_public_keys: { # required
861
+ # "KeyName" => "KeyValue",
862
+ # },
863
+ # status: "ACTIVE", # accepts ACTIVE, INACTIVE
864
+ # }
865
+ #
866
+ # @!attribute [rw] authorizer_name
867
+ # The authorizer name.
868
+ # @return [String]
869
+ #
870
+ # @!attribute [rw] authorizer_function_arn
871
+ # The ARN of the authorizer's Lambda function.
872
+ # @return [String]
873
+ #
874
+ # @!attribute [rw] token_key_name
875
+ # The name of the token key used to extract the token from the HTTP
876
+ # headers.
877
+ # @return [String]
878
+ #
879
+ # @!attribute [rw] token_signing_public_keys
880
+ # The public keys used to verify the digital signature returned by
881
+ # your custom authentication service.
882
+ # @return [Hash<String,String>]
883
+ #
884
+ # @!attribute [rw] status
885
+ # The status of the create authorizer request.
886
+ # @return [String]
887
+ #
888
+ class CreateAuthorizerRequest < Struct.new(
889
+ :authorizer_name,
890
+ :authorizer_function_arn,
891
+ :token_key_name,
892
+ :token_signing_public_keys,
893
+ :status)
894
+ include Aws::Structure
895
+ end
896
+
897
+ # @!attribute [rw] authorizer_name
898
+ # The authorizer's name.
899
+ # @return [String]
900
+ #
901
+ # @!attribute [rw] authorizer_arn
902
+ # The authorizer ARN.
903
+ # @return [String]
904
+ #
905
+ class CreateAuthorizerResponse < Struct.new(
906
+ :authorizer_name,
907
+ :authorizer_arn)
908
+ include Aws::Structure
909
+ end
910
+
549
911
  # The input for the CreateCertificateFromCsr operation.
550
912
  #
551
913
  # @note When making an API call, you may pass CreateCertificateFromCsrRequest
@@ -593,6 +955,103 @@ module Aws::IoT
593
955
  include Aws::Structure
594
956
  end
595
957
 
958
+ # @note When making an API call, you may pass CreateJobRequest
959
+ # data as a hash:
960
+ #
961
+ # {
962
+ # job_id: "JobId", # required
963
+ # targets: ["TargetArn"], # required
964
+ # document_source: "JobDocumentSource",
965
+ # document: "JobDocument",
966
+ # description: "JobDescription",
967
+ # presigned_url_config: {
968
+ # role_arn: "RoleArn",
969
+ # expires_in_sec: 1,
970
+ # },
971
+ # target_selection: "CONTINUOUS", # accepts CONTINUOUS, SNAPSHOT
972
+ # job_executions_rollout_config: {
973
+ # maximum_per_minute: 1,
974
+ # },
975
+ # document_parameters: {
976
+ # "ParameterKey" => "ParameterValue",
977
+ # },
978
+ # }
979
+ #
980
+ # @!attribute [rw] job_id
981
+ # A job identifier which must be unique for your AWS account. We
982
+ # recommend using a UUID. Alpha-numeric characters, "-" and "\_"
983
+ # are valid for use here.
984
+ # @return [String]
985
+ #
986
+ # @!attribute [rw] targets
987
+ # A list of things and thing groups to which the job should be sent.
988
+ # @return [Array<String>]
989
+ #
990
+ # @!attribute [rw] document_source
991
+ # An S3 link to the job document.
992
+ # @return [String]
993
+ #
994
+ # @!attribute [rw] document
995
+ # The job document.
996
+ # @return [String]
997
+ #
998
+ # @!attribute [rw] description
999
+ # A short text description of the job.
1000
+ # @return [String]
1001
+ #
1002
+ # @!attribute [rw] presigned_url_config
1003
+ # Configuration information for pre-signed S3 URLs.
1004
+ # @return [Types::PresignedUrlConfig]
1005
+ #
1006
+ # @!attribute [rw] target_selection
1007
+ # Specifies whether the job will continue to run (CONTINUOUS), or will
1008
+ # be complete after all those things specified as targets have
1009
+ # completed the job (SNAPSHOT). If continuous, the job may also be run
1010
+ # on a thing when a change is detected in a target. For example, a job
1011
+ # will run on a thing when the thing is added to a target group, even
1012
+ # after the job was completed by all things originally in the group.
1013
+ # @return [String]
1014
+ #
1015
+ # @!attribute [rw] job_executions_rollout_config
1016
+ # Allows you to create a staged rollout of the job.
1017
+ # @return [Types::JobExecutionsRolloutConfig]
1018
+ #
1019
+ # @!attribute [rw] document_parameters
1020
+ # Parameters for the job document.
1021
+ # @return [Hash<String,String>]
1022
+ #
1023
+ class CreateJobRequest < Struct.new(
1024
+ :job_id,
1025
+ :targets,
1026
+ :document_source,
1027
+ :document,
1028
+ :description,
1029
+ :presigned_url_config,
1030
+ :target_selection,
1031
+ :job_executions_rollout_config,
1032
+ :document_parameters)
1033
+ include Aws::Structure
1034
+ end
1035
+
1036
+ # @!attribute [rw] job_arn
1037
+ # The job ARN.
1038
+ # @return [String]
1039
+ #
1040
+ # @!attribute [rw] job_id
1041
+ # The unique identifier you assigned to this job.
1042
+ # @return [String]
1043
+ #
1044
+ # @!attribute [rw] description
1045
+ # The job description.
1046
+ # @return [String]
1047
+ #
1048
+ class CreateJobResponse < Struct.new(
1049
+ :job_arn,
1050
+ :job_id,
1051
+ :description)
1052
+ include Aws::Structure
1053
+ end
1054
+
596
1055
  # The input for the CreateKeysAndCertificate operation.
597
1056
  #
598
1057
  # @note When making an API call, you may pass CreateKeysAndCertificateRequest
@@ -707,7 +1166,7 @@ module Aws::IoT
707
1166
  #
708
1167
  # @!attribute [rw] policy_document
709
1168
  # The JSON document that describes the policy. Minimum length of 1.
710
- # Maximum length of 2048, excluding whitespaces
1169
+ # Maximum length of 2048, excluding whitespace.
711
1170
  # @return [String]
712
1171
  #
713
1172
  # @!attribute [rw] set_as_default
@@ -750,41 +1209,139 @@ module Aws::IoT
750
1209
  include Aws::Structure
751
1210
  end
752
1211
 
753
- # The input for the CreateThing operation.
754
- #
755
- # @note When making an API call, you may pass CreateThingRequest
1212
+ # @note When making an API call, you may pass CreateRoleAliasRequest
756
1213
  # data as a hash:
757
1214
  #
758
1215
  # {
759
- # thing_name: "ThingName", # required
760
- # thing_type_name: "ThingTypeName",
761
- # attribute_payload: {
762
- # attributes: {
763
- # "AttributeName" => "AttributeValue",
764
- # },
765
- # merge: false,
766
- # },
1216
+ # role_alias: "RoleAlias", # required
1217
+ # role_arn: "RoleArn", # required
1218
+ # credential_duration_seconds: 1,
767
1219
  # }
768
1220
  #
769
- # @!attribute [rw] thing_name
770
- # The name of the thing to create.
1221
+ # @!attribute [rw] role_alias
1222
+ # The role alias that points to a role ARN. This allows you to change
1223
+ # the role without having to update the device.
771
1224
  # @return [String]
772
1225
  #
773
- # @!attribute [rw] thing_type_name
774
- # The name of the thing type associated with the new thing.
1226
+ # @!attribute [rw] role_arn
1227
+ # The role ARN.
775
1228
  # @return [String]
776
1229
  #
777
- # @!attribute [rw] attribute_payload
778
- # The attribute payload, which consists of up to three name/value
779
- # pairs in a JSON document. For example:
780
- #
781
- # `\{"attributes":\{"string1":"string2"\}\}`
782
- # @return [Types::AttributePayload]
1230
+ # @!attribute [rw] credential_duration_seconds
1231
+ # How long (in seconds) the credentials will be valid.
1232
+ # @return [Integer]
783
1233
  #
784
- class CreateThingRequest < Struct.new(
785
- :thing_name,
786
- :thing_type_name,
787
- :attribute_payload)
1234
+ class CreateRoleAliasRequest < Struct.new(
1235
+ :role_alias,
1236
+ :role_arn,
1237
+ :credential_duration_seconds)
1238
+ include Aws::Structure
1239
+ end
1240
+
1241
+ # @!attribute [rw] role_alias
1242
+ # The role alias.
1243
+ # @return [String]
1244
+ #
1245
+ # @!attribute [rw] role_alias_arn
1246
+ # The role alias ARN.
1247
+ # @return [String]
1248
+ #
1249
+ class CreateRoleAliasResponse < Struct.new(
1250
+ :role_alias,
1251
+ :role_alias_arn)
1252
+ include Aws::Structure
1253
+ end
1254
+
1255
+ # @note When making an API call, you may pass CreateThingGroupRequest
1256
+ # data as a hash:
1257
+ #
1258
+ # {
1259
+ # thing_group_name: "ThingGroupName", # required
1260
+ # parent_group_name: "ThingGroupName",
1261
+ # thing_group_properties: {
1262
+ # thing_group_description: "ThingGroupDescription",
1263
+ # attribute_payload: {
1264
+ # attributes: {
1265
+ # "AttributeName" => "AttributeValue",
1266
+ # },
1267
+ # merge: false,
1268
+ # },
1269
+ # },
1270
+ # }
1271
+ #
1272
+ # @!attribute [rw] thing_group_name
1273
+ # The thing group name to create.
1274
+ # @return [String]
1275
+ #
1276
+ # @!attribute [rw] parent_group_name
1277
+ # The name of the parent thing group.
1278
+ # @return [String]
1279
+ #
1280
+ # @!attribute [rw] thing_group_properties
1281
+ # The thing group properties.
1282
+ # @return [Types::ThingGroupProperties]
1283
+ #
1284
+ class CreateThingGroupRequest < Struct.new(
1285
+ :thing_group_name,
1286
+ :parent_group_name,
1287
+ :thing_group_properties)
1288
+ include Aws::Structure
1289
+ end
1290
+
1291
+ # @!attribute [rw] thing_group_name
1292
+ # The thing group name.
1293
+ # @return [String]
1294
+ #
1295
+ # @!attribute [rw] thing_group_arn
1296
+ # The thing group ARN.
1297
+ # @return [String]
1298
+ #
1299
+ # @!attribute [rw] thing_group_id
1300
+ # The thing group ID.
1301
+ # @return [String]
1302
+ #
1303
+ class CreateThingGroupResponse < Struct.new(
1304
+ :thing_group_name,
1305
+ :thing_group_arn,
1306
+ :thing_group_id)
1307
+ include Aws::Structure
1308
+ end
1309
+
1310
+ # The input for the CreateThing operation.
1311
+ #
1312
+ # @note When making an API call, you may pass CreateThingRequest
1313
+ # data as a hash:
1314
+ #
1315
+ # {
1316
+ # thing_name: "ThingName", # required
1317
+ # thing_type_name: "ThingTypeName",
1318
+ # attribute_payload: {
1319
+ # attributes: {
1320
+ # "AttributeName" => "AttributeValue",
1321
+ # },
1322
+ # merge: false,
1323
+ # },
1324
+ # }
1325
+ #
1326
+ # @!attribute [rw] thing_name
1327
+ # The name of the thing to create.
1328
+ # @return [String]
1329
+ #
1330
+ # @!attribute [rw] thing_type_name
1331
+ # The name of the thing type associated with the new thing.
1332
+ # @return [String]
1333
+ #
1334
+ # @!attribute [rw] attribute_payload
1335
+ # The attribute payload, which consists of up to three name/value
1336
+ # pairs in a JSON document. For example:
1337
+ #
1338
+ # `\{"attributes":\{"string1":"string2"\}\}`
1339
+ # @return [Types::AttributePayload]
1340
+ #
1341
+ class CreateThingRequest < Struct.new(
1342
+ :thing_name,
1343
+ :thing_type_name,
1344
+ :attribute_payload)
788
1345
  include Aws::Structure
789
1346
  end
790
1347
 
@@ -798,9 +1355,14 @@ module Aws::IoT
798
1355
  # The ARN of the new thing.
799
1356
  # @return [String]
800
1357
  #
1358
+ # @!attribute [rw] thing_id
1359
+ # The thing ID.
1360
+ # @return [String]
1361
+ #
801
1362
  class CreateThingResponse < Struct.new(
802
1363
  :thing_name,
803
- :thing_arn)
1364
+ :thing_arn,
1365
+ :thing_id)
804
1366
  include Aws::Structure
805
1367
  end
806
1368
 
@@ -843,9 +1405,14 @@ module Aws::IoT
843
1405
  # The Amazon Resource Name (ARN) of the thing type.
844
1406
  # @return [String]
845
1407
  #
1408
+ # @!attribute [rw] thing_type_id
1409
+ # The thing type ID.
1410
+ # @return [String]
1411
+ #
846
1412
  class CreateThingTypeResponse < Struct.new(
847
1413
  :thing_type_name,
848
- :thing_type_arn)
1414
+ :thing_type_arn,
1415
+ :thing_type_id)
849
1416
  include Aws::Structure
850
1417
  end
851
1418
 
@@ -958,6 +1525,24 @@ module Aws::IoT
958
1525
  include Aws::Structure
959
1526
  end
960
1527
 
1528
+ # @note When making an API call, you may pass DeleteAuthorizerRequest
1529
+ # data as a hash:
1530
+ #
1531
+ # {
1532
+ # authorizer_name: "AuthorizerName", # required
1533
+ # }
1534
+ #
1535
+ # @!attribute [rw] authorizer_name
1536
+ # The name of the authorizer to delete.
1537
+ # @return [String]
1538
+ #
1539
+ class DeleteAuthorizerRequest < Struct.new(
1540
+ :authorizer_name)
1541
+ include Aws::Structure
1542
+ end
1543
+
1544
+ class DeleteAuthorizerResponse < Aws::EmptyStructure; end
1545
+
961
1546
  # Input for the DeleteCACertificate operation.
962
1547
  #
963
1548
  # @note When making an API call, you may pass DeleteCACertificateRequest
@@ -987,14 +1572,20 @@ module Aws::IoT
987
1572
  #
988
1573
  # {
989
1574
  # certificate_id: "CertificateId", # required
1575
+ # force_delete: false,
990
1576
  # }
991
1577
  #
992
1578
  # @!attribute [rw] certificate_id
993
1579
  # The ID of the certificate.
994
1580
  # @return [String]
995
1581
  #
1582
+ # @!attribute [rw] force_delete
1583
+ # Forces a certificate request to be deleted.
1584
+ # @return [Boolean]
1585
+ #
996
1586
  class DeleteCertificateRequest < Struct.new(
997
- :certificate_id)
1587
+ :certificate_id,
1588
+ :force_delete)
998
1589
  include Aws::Structure
999
1590
  end
1000
1591
 
@@ -1050,6 +1641,48 @@ module Aws::IoT
1050
1641
  #
1051
1642
  class DeleteRegistrationCodeResponse < Aws::EmptyStructure; end
1052
1643
 
1644
+ # @note When making an API call, you may pass DeleteRoleAliasRequest
1645
+ # data as a hash:
1646
+ #
1647
+ # {
1648
+ # role_alias: "RoleAlias", # required
1649
+ # }
1650
+ #
1651
+ # @!attribute [rw] role_alias
1652
+ # The role alias to delete.
1653
+ # @return [String]
1654
+ #
1655
+ class DeleteRoleAliasRequest < Struct.new(
1656
+ :role_alias)
1657
+ include Aws::Structure
1658
+ end
1659
+
1660
+ class DeleteRoleAliasResponse < Aws::EmptyStructure; end
1661
+
1662
+ # @note When making an API call, you may pass DeleteThingGroupRequest
1663
+ # data as a hash:
1664
+ #
1665
+ # {
1666
+ # thing_group_name: "ThingGroupName", # required
1667
+ # expected_version: 1,
1668
+ # }
1669
+ #
1670
+ # @!attribute [rw] thing_group_name
1671
+ # The name of the thing group to delete.
1672
+ # @return [String]
1673
+ #
1674
+ # @!attribute [rw] expected_version
1675
+ # The expected version of the thing group to delete.
1676
+ # @return [Integer]
1677
+ #
1678
+ class DeleteThingGroupRequest < Struct.new(
1679
+ :thing_group_name,
1680
+ :expected_version)
1681
+ include Aws::Structure
1682
+ end
1683
+
1684
+ class DeleteThingGroupResponse < Aws::EmptyStructure; end
1685
+
1053
1686
  # The input for the DeleteThing operation.
1054
1687
  #
1055
1688
  # @note When making an API call, you may pass DeleteThingRequest
@@ -1121,6 +1754,47 @@ module Aws::IoT
1121
1754
  include Aws::Structure
1122
1755
  end
1123
1756
 
1757
+ # @note When making an API call, you may pass DeleteV2LoggingLevelRequest
1758
+ # data as a hash:
1759
+ #
1760
+ # {
1761
+ # target_type: "DEFAULT", # required, accepts DEFAULT, THING_GROUP
1762
+ # target_name: "LogTargetName", # required
1763
+ # }
1764
+ #
1765
+ # @!attribute [rw] target_type
1766
+ # The type of resource for which you are configuring logging. Must be
1767
+ # `THING_Group`.
1768
+ # @return [String]
1769
+ #
1770
+ # @!attribute [rw] target_name
1771
+ # The name of the resource for which you are configuring logging.
1772
+ # @return [String]
1773
+ #
1774
+ class DeleteV2LoggingLevelRequest < Struct.new(
1775
+ :target_type,
1776
+ :target_name)
1777
+ include Aws::Structure
1778
+ end
1779
+
1780
+ # Contains information that denied the authorization.
1781
+ #
1782
+ # @!attribute [rw] implicit_deny
1783
+ # Information that implicitly denies the authorization. When a policy
1784
+ # doesn't explicitly deny or allow an action on a resource it is
1785
+ # considered an implicit deny.
1786
+ # @return [Types::ImplicitDeny]
1787
+ #
1788
+ # @!attribute [rw] explicit_deny
1789
+ # Information that explicitly denies the authorization.
1790
+ # @return [Types::ExplicitDeny]
1791
+ #
1792
+ class Denied < Struct.new(
1793
+ :implicit_deny,
1794
+ :explicit_deny)
1795
+ include Aws::Structure
1796
+ end
1797
+
1124
1798
  # The input for the DeprecateThingType operation.
1125
1799
  #
1126
1800
  # @note When making an API call, you may pass DeprecateThingTypeRequest
@@ -1151,6 +1825,31 @@ module Aws::IoT
1151
1825
  #
1152
1826
  class DeprecateThingTypeResponse < Aws::EmptyStructure; end
1153
1827
 
1828
+ # @note When making an API call, you may pass DescribeAuthorizerRequest
1829
+ # data as a hash:
1830
+ #
1831
+ # {
1832
+ # authorizer_name: "AuthorizerName", # required
1833
+ # }
1834
+ #
1835
+ # @!attribute [rw] authorizer_name
1836
+ # The name of the authorizer to describe.
1837
+ # @return [String]
1838
+ #
1839
+ class DescribeAuthorizerRequest < Struct.new(
1840
+ :authorizer_name)
1841
+ include Aws::Structure
1842
+ end
1843
+
1844
+ # @!attribute [rw] authorizer_description
1845
+ # The authorizer description.
1846
+ # @return [Types::AuthorizerDescription]
1847
+ #
1848
+ class DescribeAuthorizerResponse < Struct.new(
1849
+ :authorizer_description)
1850
+ include Aws::Structure
1851
+ end
1852
+
1154
1853
  # The input for the DescribeCACertificate operation.
1155
1854
  #
1156
1855
  # @note When making an API call, you may pass DescribeCACertificateRequest
@@ -1175,8 +1874,13 @@ module Aws::IoT
1175
1874
  # The CA certificate description.
1176
1875
  # @return [Types::CACertificateDescription]
1177
1876
  #
1877
+ # @!attribute [rw] registration_config
1878
+ # Information about the registration configuration.
1879
+ # @return [Types::RegistrationConfig]
1880
+ #
1178
1881
  class DescribeCACertificateResponse < Struct.new(
1179
- :certificate_description)
1882
+ :certificate_description,
1883
+ :registration_config)
1180
1884
  include Aws::Structure
1181
1885
  end
1182
1886
 
@@ -1209,11 +1913,36 @@ module Aws::IoT
1209
1913
  include Aws::Structure
1210
1914
  end
1211
1915
 
1916
+ # @api private
1917
+ #
1918
+ class DescribeDefaultAuthorizerRequest < Aws::EmptyStructure; end
1919
+
1920
+ # @!attribute [rw] authorizer_description
1921
+ # The default authorizer's description.
1922
+ # @return [Types::AuthorizerDescription]
1923
+ #
1924
+ class DescribeDefaultAuthorizerResponse < Struct.new(
1925
+ :authorizer_description)
1926
+ include Aws::Structure
1927
+ end
1928
+
1212
1929
  # The input for the DescribeEndpoint operation.
1213
1930
  #
1214
- # @api private
1931
+ # @note When making an API call, you may pass DescribeEndpointRequest
1932
+ # data as a hash:
1215
1933
  #
1216
- class DescribeEndpointRequest < Aws::EmptyStructure; end
1934
+ # {
1935
+ # endpoint_type: "EndpointType",
1936
+ # }
1937
+ #
1938
+ # @!attribute [rw] endpoint_type
1939
+ # The endpoint type.
1940
+ # @return [String]
1941
+ #
1942
+ class DescribeEndpointRequest < Struct.new(
1943
+ :endpoint_type)
1944
+ include Aws::Structure
1945
+ end
1217
1946
 
1218
1947
  # The output from the DescribeEndpoint operation.
1219
1948
  #
@@ -1227,112 +1956,442 @@ module Aws::IoT
1227
1956
  include Aws::Structure
1228
1957
  end
1229
1958
 
1230
- # The input for the DescribeThing operation.
1959
+ # @api private
1231
1960
  #
1232
- # @note When making an API call, you may pass DescribeThingRequest
1961
+ class DescribeEventConfigurationsRequest < Aws::EmptyStructure; end
1962
+
1963
+ # @!attribute [rw] event_configurations
1964
+ # The event configurations.
1965
+ # @return [Hash<String,Types::Configuration>]
1966
+ #
1967
+ # @!attribute [rw] creation_date
1968
+ # The creation date of the event configuration.
1969
+ # @return [Time]
1970
+ #
1971
+ # @!attribute [rw] last_modified_date
1972
+ # The date the event configurations were last modified.
1973
+ # @return [Time]
1974
+ #
1975
+ class DescribeEventConfigurationsResponse < Struct.new(
1976
+ :event_configurations,
1977
+ :creation_date,
1978
+ :last_modified_date)
1979
+ include Aws::Structure
1980
+ end
1981
+
1982
+ # @note When making an API call, you may pass DescribeIndexRequest
1233
1983
  # data as a hash:
1234
1984
  #
1235
1985
  # {
1236
- # thing_name: "ThingName", # required
1986
+ # index_name: "IndexName", # required
1237
1987
  # }
1238
1988
  #
1239
- # @!attribute [rw] thing_name
1240
- # The name of the thing.
1989
+ # @!attribute [rw] index_name
1990
+ # The index name.
1241
1991
  # @return [String]
1242
1992
  #
1243
- class DescribeThingRequest < Struct.new(
1244
- :thing_name)
1993
+ class DescribeIndexRequest < Struct.new(
1994
+ :index_name)
1245
1995
  include Aws::Structure
1246
1996
  end
1247
1997
 
1248
- # The output from the DescribeThing operation.
1249
- #
1250
- # @!attribute [rw] default_client_id
1251
- # The default client ID.
1998
+ # @!attribute [rw] index_name
1999
+ # The index name.
1252
2000
  # @return [String]
1253
2001
  #
1254
- # @!attribute [rw] thing_name
1255
- # The name of the thing.
2002
+ # @!attribute [rw] index_status
2003
+ # The index status.
1256
2004
  # @return [String]
1257
2005
  #
1258
- # @!attribute [rw] thing_type_name
1259
- # The thing type name.
2006
+ # @!attribute [rw] schema
2007
+ # Contains a value that specifies the type of indexing performed.
2008
+ # Valid values are:
2009
+ #
2010
+ # 1. REGISTRY – Your thing index will contain only registry data.
2011
+ #
2012
+ # 2. REGISTRY\_AND\_SHADOW - Your thing index will contain registry
2013
+ # and shadow data.
1260
2014
  # @return [String]
1261
2015
  #
1262
- # @!attribute [rw] attributes
1263
- # The thing attributes.
1264
- # @return [Hash<String,String>]
2016
+ class DescribeIndexResponse < Struct.new(
2017
+ :index_name,
2018
+ :index_status,
2019
+ :schema)
2020
+ include Aws::Structure
2021
+ end
2022
+
2023
+ # @note When making an API call, you may pass DescribeJobExecutionRequest
2024
+ # data as a hash:
1265
2025
  #
1266
- # @!attribute [rw] version
1267
- # The current version of the thing record in the registry.
2026
+ # {
2027
+ # job_id: "JobId", # required
2028
+ # thing_name: "ThingName", # required
2029
+ # execution_number: 1,
2030
+ # }
1268
2031
  #
1269
- # <note markdown="1"> To avoid unintentional changes to the information in the registry,
1270
- # you can pass the version information in the `expectedVersion`
1271
- # parameter of the `UpdateThing` and `DeleteThing` calls.
2032
+ # @!attribute [rw] job_id
2033
+ # The unique identifier you assigned to this job when it was created.
2034
+ # @return [String]
1272
2035
  #
1273
- # </note>
2036
+ # @!attribute [rw] thing_name
2037
+ # The name of the thing on which the job execution is running.
2038
+ # @return [String]
2039
+ #
2040
+ # @!attribute [rw] execution_number
2041
+ # A string (consisting of the digits "0" through "9" which is used
2042
+ # to specify a particular job execution on a particular device.
1274
2043
  # @return [Integer]
1275
2044
  #
1276
- class DescribeThingResponse < Struct.new(
1277
- :default_client_id,
2045
+ class DescribeJobExecutionRequest < Struct.new(
2046
+ :job_id,
1278
2047
  :thing_name,
1279
- :thing_type_name,
1280
- :attributes,
1281
- :version)
2048
+ :execution_number)
1282
2049
  include Aws::Structure
1283
2050
  end
1284
2051
 
1285
- # The input for the DescribeThingType operation.
2052
+ # @!attribute [rw] execution
2053
+ # Information about the job execution.
2054
+ # @return [Types::JobExecution]
1286
2055
  #
1287
- # @note When making an API call, you may pass DescribeThingTypeRequest
2056
+ class DescribeJobExecutionResponse < Struct.new(
2057
+ :execution)
2058
+ include Aws::Structure
2059
+ end
2060
+
2061
+ # @note When making an API call, you may pass DescribeJobRequest
1288
2062
  # data as a hash:
1289
2063
  #
1290
2064
  # {
1291
- # thing_type_name: "ThingTypeName", # required
2065
+ # job_id: "JobId", # required
1292
2066
  # }
1293
2067
  #
1294
- # @!attribute [rw] thing_type_name
1295
- # The name of the thing type.
2068
+ # @!attribute [rw] job_id
2069
+ # The unique identifier you assigned to this job when it was created.
1296
2070
  # @return [String]
1297
2071
  #
1298
- class DescribeThingTypeRequest < Struct.new(
1299
- :thing_type_name)
2072
+ class DescribeJobRequest < Struct.new(
2073
+ :job_id)
1300
2074
  include Aws::Structure
1301
2075
  end
1302
2076
 
1303
- # The output for the DescribeThingType operation.
1304
- #
1305
- # @!attribute [rw] thing_type_name
1306
- # The name of the thing type.
2077
+ # @!attribute [rw] document_source
2078
+ # An S3 link to the job document.
1307
2079
  # @return [String]
1308
2080
  #
1309
- # @!attribute [rw] thing_type_properties
1310
- # The ThingTypeProperties contains information about the thing type
1311
- # including description, and a list of searchable thing attribute
1312
- # names.
1313
- # @return [Types::ThingTypeProperties]
1314
- #
1315
- # @!attribute [rw] thing_type_metadata
1316
- # The ThingTypeMetadata contains additional information about the
1317
- # thing type including: creation date and time, a value indicating
1318
- # whether the thing type is deprecated, and a date and time when it
1319
- # was deprecated.
1320
- # @return [Types::ThingTypeMetadata]
2081
+ # @!attribute [rw] job
2082
+ # Information about the job.
2083
+ # @return [Types::Job]
1321
2084
  #
1322
- class DescribeThingTypeResponse < Struct.new(
1323
- :thing_type_name,
1324
- :thing_type_properties,
1325
- :thing_type_metadata)
2085
+ class DescribeJobResponse < Struct.new(
2086
+ :document_source,
2087
+ :job)
1326
2088
  include Aws::Structure
1327
2089
  end
1328
2090
 
1329
- # The input for the DetachPrincipalPolicy operation.
1330
- #
1331
- # @note When making an API call, you may pass DetachPrincipalPolicyRequest
2091
+ # @note When making an API call, you may pass DescribeRoleAliasRequest
1332
2092
  # data as a hash:
1333
2093
  #
1334
2094
  # {
1335
- # policy_name: "PolicyName", # required
2095
+ # role_alias: "RoleAlias", # required
2096
+ # }
2097
+ #
2098
+ # @!attribute [rw] role_alias
2099
+ # The role alias to describe.
2100
+ # @return [String]
2101
+ #
2102
+ class DescribeRoleAliasRequest < Struct.new(
2103
+ :role_alias)
2104
+ include Aws::Structure
2105
+ end
2106
+
2107
+ # @!attribute [rw] role_alias_description
2108
+ # The role alias description.
2109
+ # @return [Types::RoleAliasDescription]
2110
+ #
2111
+ class DescribeRoleAliasResponse < Struct.new(
2112
+ :role_alias_description)
2113
+ include Aws::Structure
2114
+ end
2115
+
2116
+ # @note When making an API call, you may pass DescribeThingGroupRequest
2117
+ # data as a hash:
2118
+ #
2119
+ # {
2120
+ # thing_group_name: "ThingGroupName", # required
2121
+ # }
2122
+ #
2123
+ # @!attribute [rw] thing_group_name
2124
+ # The name of the thing group.
2125
+ # @return [String]
2126
+ #
2127
+ class DescribeThingGroupRequest < Struct.new(
2128
+ :thing_group_name)
2129
+ include Aws::Structure
2130
+ end
2131
+
2132
+ # @!attribute [rw] thing_group_name
2133
+ # The name of the thing group.
2134
+ # @return [String]
2135
+ #
2136
+ # @!attribute [rw] thing_group_id
2137
+ # The thing group ID.
2138
+ # @return [String]
2139
+ #
2140
+ # @!attribute [rw] thing_group_arn
2141
+ # The thing group ARN.
2142
+ # @return [String]
2143
+ #
2144
+ # @!attribute [rw] version
2145
+ # The version of the thing group.
2146
+ # @return [Integer]
2147
+ #
2148
+ # @!attribute [rw] thing_group_properties
2149
+ # The thing group properties.
2150
+ # @return [Types::ThingGroupProperties]
2151
+ #
2152
+ # @!attribute [rw] thing_group_metadata
2153
+ # Thing group metadata.
2154
+ # @return [Types::ThingGroupMetadata]
2155
+ #
2156
+ class DescribeThingGroupResponse < Struct.new(
2157
+ :thing_group_name,
2158
+ :thing_group_id,
2159
+ :thing_group_arn,
2160
+ :version,
2161
+ :thing_group_properties,
2162
+ :thing_group_metadata)
2163
+ include Aws::Structure
2164
+ end
2165
+
2166
+ # @note When making an API call, you may pass DescribeThingRegistrationTaskRequest
2167
+ # data as a hash:
2168
+ #
2169
+ # {
2170
+ # task_id: "TaskId", # required
2171
+ # }
2172
+ #
2173
+ # @!attribute [rw] task_id
2174
+ # The task ID.
2175
+ # @return [String]
2176
+ #
2177
+ class DescribeThingRegistrationTaskRequest < Struct.new(
2178
+ :task_id)
2179
+ include Aws::Structure
2180
+ end
2181
+
2182
+ # @!attribute [rw] task_id
2183
+ # The task ID.
2184
+ # @return [String]
2185
+ #
2186
+ # @!attribute [rw] creation_date
2187
+ # The task creation date.
2188
+ # @return [Time]
2189
+ #
2190
+ # @!attribute [rw] last_modified_date
2191
+ # The date when the task was last modified.
2192
+ # @return [Time]
2193
+ #
2194
+ # @!attribute [rw] template_body
2195
+ # The task's template.
2196
+ # @return [String]
2197
+ #
2198
+ # @!attribute [rw] input_file_bucket
2199
+ # The S3 bucket that contains the input file.
2200
+ # @return [String]
2201
+ #
2202
+ # @!attribute [rw] input_file_key
2203
+ # The input file key.
2204
+ # @return [String]
2205
+ #
2206
+ # @!attribute [rw] role_arn
2207
+ # The role ARN that grants access to the input file bucket.
2208
+ # @return [String]
2209
+ #
2210
+ # @!attribute [rw] status
2211
+ # The status of the bulk thing provisioning task.
2212
+ # @return [String]
2213
+ #
2214
+ # @!attribute [rw] message
2215
+ # The message.
2216
+ # @return [String]
2217
+ #
2218
+ # @!attribute [rw] success_count
2219
+ # The number of things successfully provisioned.
2220
+ # @return [Integer]
2221
+ #
2222
+ # @!attribute [rw] failure_count
2223
+ # The number of things that failed to be provisioned.
2224
+ # @return [Integer]
2225
+ #
2226
+ # @!attribute [rw] percentage_progress
2227
+ # The progress of the bulk provisioning task expressed as a
2228
+ # percentage.
2229
+ # @return [Integer]
2230
+ #
2231
+ class DescribeThingRegistrationTaskResponse < Struct.new(
2232
+ :task_id,
2233
+ :creation_date,
2234
+ :last_modified_date,
2235
+ :template_body,
2236
+ :input_file_bucket,
2237
+ :input_file_key,
2238
+ :role_arn,
2239
+ :status,
2240
+ :message,
2241
+ :success_count,
2242
+ :failure_count,
2243
+ :percentage_progress)
2244
+ include Aws::Structure
2245
+ end
2246
+
2247
+ # The input for the DescribeThing operation.
2248
+ #
2249
+ # @note When making an API call, you may pass DescribeThingRequest
2250
+ # data as a hash:
2251
+ #
2252
+ # {
2253
+ # thing_name: "ThingName", # required
2254
+ # }
2255
+ #
2256
+ # @!attribute [rw] thing_name
2257
+ # The name of the thing.
2258
+ # @return [String]
2259
+ #
2260
+ class DescribeThingRequest < Struct.new(
2261
+ :thing_name)
2262
+ include Aws::Structure
2263
+ end
2264
+
2265
+ # The output from the DescribeThing operation.
2266
+ #
2267
+ # @!attribute [rw] default_client_id
2268
+ # The default client ID.
2269
+ # @return [String]
2270
+ #
2271
+ # @!attribute [rw] thing_name
2272
+ # The name of the thing.
2273
+ # @return [String]
2274
+ #
2275
+ # @!attribute [rw] thing_id
2276
+ # The ID of the thing to describe.
2277
+ # @return [String]
2278
+ #
2279
+ # @!attribute [rw] thing_arn
2280
+ # The ARN of the thing to describe.
2281
+ # @return [String]
2282
+ #
2283
+ # @!attribute [rw] thing_type_name
2284
+ # The thing type name.
2285
+ # @return [String]
2286
+ #
2287
+ # @!attribute [rw] attributes
2288
+ # The thing attributes.
2289
+ # @return [Hash<String,String>]
2290
+ #
2291
+ # @!attribute [rw] version
2292
+ # The current version of the thing record in the registry.
2293
+ #
2294
+ # <note markdown="1"> To avoid unintentional changes to the information in the registry,
2295
+ # you can pass the version information in the `expectedVersion`
2296
+ # parameter of the `UpdateThing` and `DeleteThing` calls.
2297
+ #
2298
+ # </note>
2299
+ # @return [Integer]
2300
+ #
2301
+ class DescribeThingResponse < Struct.new(
2302
+ :default_client_id,
2303
+ :thing_name,
2304
+ :thing_id,
2305
+ :thing_arn,
2306
+ :thing_type_name,
2307
+ :attributes,
2308
+ :version)
2309
+ include Aws::Structure
2310
+ end
2311
+
2312
+ # The input for the DescribeThingType operation.
2313
+ #
2314
+ # @note When making an API call, you may pass DescribeThingTypeRequest
2315
+ # data as a hash:
2316
+ #
2317
+ # {
2318
+ # thing_type_name: "ThingTypeName", # required
2319
+ # }
2320
+ #
2321
+ # @!attribute [rw] thing_type_name
2322
+ # The name of the thing type.
2323
+ # @return [String]
2324
+ #
2325
+ class DescribeThingTypeRequest < Struct.new(
2326
+ :thing_type_name)
2327
+ include Aws::Structure
2328
+ end
2329
+
2330
+ # The output for the DescribeThingType operation.
2331
+ #
2332
+ # @!attribute [rw] thing_type_name
2333
+ # The name of the thing type.
2334
+ # @return [String]
2335
+ #
2336
+ # @!attribute [rw] thing_type_id
2337
+ # The thing type ID.
2338
+ # @return [String]
2339
+ #
2340
+ # @!attribute [rw] thing_type_arn
2341
+ # The thing type ARN.
2342
+ # @return [String]
2343
+ #
2344
+ # @!attribute [rw] thing_type_properties
2345
+ # The ThingTypeProperties contains information about the thing type
2346
+ # including description, and a list of searchable thing attribute
2347
+ # names.
2348
+ # @return [Types::ThingTypeProperties]
2349
+ #
2350
+ # @!attribute [rw] thing_type_metadata
2351
+ # The ThingTypeMetadata contains additional information about the
2352
+ # thing type including: creation date and time, a value indicating
2353
+ # whether the thing type is deprecated, and a date and time when it
2354
+ # was deprecated.
2355
+ # @return [Types::ThingTypeMetadata]
2356
+ #
2357
+ class DescribeThingTypeResponse < Struct.new(
2358
+ :thing_type_name,
2359
+ :thing_type_id,
2360
+ :thing_type_arn,
2361
+ :thing_type_properties,
2362
+ :thing_type_metadata)
2363
+ include Aws::Structure
2364
+ end
2365
+
2366
+ # @note When making an API call, you may pass DetachPolicyRequest
2367
+ # data as a hash:
2368
+ #
2369
+ # {
2370
+ # policy_name: "PolicyName", # required
2371
+ # target: "PolicyTarget", # required
2372
+ # }
2373
+ #
2374
+ # @!attribute [rw] policy_name
2375
+ # The policy to detach.
2376
+ # @return [String]
2377
+ #
2378
+ # @!attribute [rw] target
2379
+ # The target from which the policy will be detached.
2380
+ # @return [String]
2381
+ #
2382
+ class DetachPolicyRequest < Struct.new(
2383
+ :policy_name,
2384
+ :target)
2385
+ include Aws::Structure
2386
+ end
2387
+
2388
+ # The input for the DetachPrincipalPolicy operation.
2389
+ #
2390
+ # @note When making an API call, you may pass DetachPrincipalPolicyRequest
2391
+ # data as a hash:
2392
+ #
2393
+ # {
2394
+ # policy_name: "PolicyName", # required
1336
2395
  # principal: "Principal", # required
1337
2396
  # }
1338
2397
  #
@@ -1529,6 +2588,27 @@ module Aws::IoT
1529
2588
  include Aws::Structure
1530
2589
  end
1531
2590
 
2591
+ # The policy that has the effect on the authorization results.
2592
+ #
2593
+ # @!attribute [rw] policy_name
2594
+ # The policy name.
2595
+ # @return [String]
2596
+ #
2597
+ # @!attribute [rw] policy_arn
2598
+ # The policy ARN.
2599
+ # @return [String]
2600
+ #
2601
+ # @!attribute [rw] policy_document
2602
+ # The IAM policy document.
2603
+ # @return [String]
2604
+ #
2605
+ class EffectivePolicy < Struct.new(
2606
+ :policy_name,
2607
+ :policy_arn,
2608
+ :policy_document)
2609
+ include Aws::Structure
2610
+ end
2611
+
1532
2612
  # Describes an action that writes data to an Amazon Elasticsearch
1533
2613
  # Service domain.
1534
2614
  #
@@ -1590,6 +2670,17 @@ module Aws::IoT
1590
2670
  include Aws::Structure
1591
2671
  end
1592
2672
 
2673
+ # Information that explicitly denies authorization.
2674
+ #
2675
+ # @!attribute [rw] policies
2676
+ # The policies that denied the authorization.
2677
+ # @return [Array<Types::Policy>]
2678
+ #
2679
+ class ExplicitDeny < Struct.new(
2680
+ :policies)
2681
+ include Aws::Structure
2682
+ end
2683
+
1593
2684
  # Describes an action that writes data to an Amazon Kinesis Firehose
1594
2685
  # stream.
1595
2686
  #
@@ -1603,7 +2694,7 @@ module Aws::IoT
1603
2694
  # }
1604
2695
  #
1605
2696
  # @!attribute [rw] role_arn
1606
- # The IAM role that grants access to the Amazon Kinesis Firehost
2697
+ # The IAM role that grants access to the Amazon Kinesis Firehose
1607
2698
  # stream.
1608
2699
  # @return [String]
1609
2700
  #
@@ -1624,29 +2715,104 @@ module Aws::IoT
1624
2715
  include Aws::Structure
1625
2716
  end
1626
2717
 
1627
- # The input for the GetLoggingOptions operation.
2718
+ # @note When making an API call, you may pass GetEffectivePoliciesRequest
2719
+ # data as a hash:
1628
2720
  #
1629
- # @api private
2721
+ # {
2722
+ # principal: "Principal",
2723
+ # cognito_identity_pool_id: "CognitoIdentityPoolId",
2724
+ # thing_name: "ThingName",
2725
+ # }
1630
2726
  #
1631
- class GetLoggingOptionsRequest < Aws::EmptyStructure; end
1632
-
1633
- # The output from the GetLoggingOptions operation.
2727
+ # @!attribute [rw] principal
2728
+ # The principal.
2729
+ # @return [String]
1634
2730
  #
1635
- # @!attribute [rw] role_arn
1636
- # The ARN of the IAM role that grants access.
2731
+ # @!attribute [rw] cognito_identity_pool_id
2732
+ # The Cognito identity pool ID.
1637
2733
  # @return [String]
1638
2734
  #
1639
- # @!attribute [rw] log_level
1640
- # The logging level.
2735
+ # @!attribute [rw] thing_name
2736
+ # The thing name.
1641
2737
  # @return [String]
1642
2738
  #
1643
- class GetLoggingOptionsResponse < Struct.new(
1644
- :role_arn,
1645
- :log_level)
2739
+ class GetEffectivePoliciesRequest < Struct.new(
2740
+ :principal,
2741
+ :cognito_identity_pool_id,
2742
+ :thing_name)
1646
2743
  include Aws::Structure
1647
2744
  end
1648
2745
 
1649
- # The input for the GetPolicy operation.
2746
+ # @!attribute [rw] effective_policies
2747
+ # The effective policies.
2748
+ # @return [Array<Types::EffectivePolicy>]
2749
+ #
2750
+ class GetEffectivePoliciesResponse < Struct.new(
2751
+ :effective_policies)
2752
+ include Aws::Structure
2753
+ end
2754
+
2755
+ # @api private
2756
+ #
2757
+ class GetIndexingConfigurationRequest < Aws::EmptyStructure; end
2758
+
2759
+ # @!attribute [rw] thing_indexing_configuration
2760
+ # Thing indexing configuration.
2761
+ # @return [Types::ThingIndexingConfiguration]
2762
+ #
2763
+ class GetIndexingConfigurationResponse < Struct.new(
2764
+ :thing_indexing_configuration)
2765
+ include Aws::Structure
2766
+ end
2767
+
2768
+ # @note When making an API call, you may pass GetJobDocumentRequest
2769
+ # data as a hash:
2770
+ #
2771
+ # {
2772
+ # job_id: "JobId", # required
2773
+ # }
2774
+ #
2775
+ # @!attribute [rw] job_id
2776
+ # The unique identifier you assigned to this job when it was created.
2777
+ # @return [String]
2778
+ #
2779
+ class GetJobDocumentRequest < Struct.new(
2780
+ :job_id)
2781
+ include Aws::Structure
2782
+ end
2783
+
2784
+ # @!attribute [rw] document
2785
+ # The job document content.
2786
+ # @return [String]
2787
+ #
2788
+ class GetJobDocumentResponse < Struct.new(
2789
+ :document)
2790
+ include Aws::Structure
2791
+ end
2792
+
2793
+ # The input for the GetLoggingOptions operation.
2794
+ #
2795
+ # @api private
2796
+ #
2797
+ class GetLoggingOptionsRequest < Aws::EmptyStructure; end
2798
+
2799
+ # The output from the GetLoggingOptions operation.
2800
+ #
2801
+ # @!attribute [rw] role_arn
2802
+ # The ARN of the IAM role that grants access.
2803
+ # @return [String]
2804
+ #
2805
+ # @!attribute [rw] log_level
2806
+ # The logging level.
2807
+ # @return [String]
2808
+ #
2809
+ class GetLoggingOptionsResponse < Struct.new(
2810
+ :role_arn,
2811
+ :log_level)
2812
+ include Aws::Structure
2813
+ end
2814
+
2815
+ # The input for the GetPolicy operation.
1650
2816
  #
1651
2817
  # @note When making an API call, you may pass GetPolicyRequest
1652
2818
  # data as a hash:
@@ -1796,6 +2962,401 @@ module Aws::IoT
1796
2962
  include Aws::Structure
1797
2963
  end
1798
2964
 
2965
+ # @api private
2966
+ #
2967
+ class GetV2LoggingOptionsRequest < Aws::EmptyStructure; end
2968
+
2969
+ # @!attribute [rw] role_arn
2970
+ # The IAM role ARN AWS IoT uses to write to your CloudWatch logs.
2971
+ # @return [String]
2972
+ #
2973
+ # @!attribute [rw] default_log_level
2974
+ # The default log level.
2975
+ # @return [String]
2976
+ #
2977
+ # @!attribute [rw] disable_all_logs
2978
+ # Disables all logs.
2979
+ # @return [Boolean]
2980
+ #
2981
+ class GetV2LoggingOptionsResponse < Struct.new(
2982
+ :role_arn,
2983
+ :default_log_level,
2984
+ :disable_all_logs)
2985
+ include Aws::Structure
2986
+ end
2987
+
2988
+ # The name and ARN of a group.
2989
+ #
2990
+ # @!attribute [rw] group_name
2991
+ # The group name.
2992
+ # @return [String]
2993
+ #
2994
+ # @!attribute [rw] group_arn
2995
+ # The group ARN.
2996
+ # @return [String]
2997
+ #
2998
+ class GroupNameAndArn < Struct.new(
2999
+ :group_name,
3000
+ :group_arn)
3001
+ include Aws::Structure
3002
+ end
3003
+
3004
+ # Information that implicitly denies authorization. When policy doesn't
3005
+ # explicitly deny or allow an action on a resource it is considered an
3006
+ # implicit deny.
3007
+ #
3008
+ # @!attribute [rw] policies
3009
+ # Policies that don't contain a matching allow or deny statement for
3010
+ # the specified action on the specified resource.
3011
+ # @return [Array<Types::Policy>]
3012
+ #
3013
+ class ImplicitDeny < Struct.new(
3014
+ :policies)
3015
+ include Aws::Structure
3016
+ end
3017
+
3018
+ # The `Job` object contains details about a job.
3019
+ #
3020
+ # @!attribute [rw] job_arn
3021
+ # An ARN identifying the job with format
3022
+ # "arn:aws:iot:region:account:job/jobId".
3023
+ # @return [String]
3024
+ #
3025
+ # @!attribute [rw] job_id
3026
+ # The unique identifier you assigned to this job when it was created.
3027
+ # @return [String]
3028
+ #
3029
+ # @!attribute [rw] target_selection
3030
+ # Specifies whether the job will continue to run (CONTINUOUS), or will
3031
+ # be complete after all those things specified as targets have
3032
+ # completed the job (SNAPSHOT). If continuous, the job may also be run
3033
+ # on a thing when a change is detected in a target. For example, a job
3034
+ # will run on a device when the thing representing the device is added
3035
+ # to a target group, even after the job was completed by all things
3036
+ # originally in the group.
3037
+ # @return [String]
3038
+ #
3039
+ # @!attribute [rw] status
3040
+ # The status of the job, one of `IN_PROGRESS`, `CANCELED`, or
3041
+ # `COMPLETED`.
3042
+ # @return [String]
3043
+ #
3044
+ # @!attribute [rw] comment
3045
+ # If the job was updated, describes the reason for the update.
3046
+ # @return [String]
3047
+ #
3048
+ # @!attribute [rw] targets
3049
+ # A list of IoT things and thing groups to which the job should be
3050
+ # sent.
3051
+ # @return [Array<String>]
3052
+ #
3053
+ # @!attribute [rw] description
3054
+ # A short text description of the job.
3055
+ # @return [String]
3056
+ #
3057
+ # @!attribute [rw] presigned_url_config
3058
+ # Configuration for pre-signed S3 URLs.
3059
+ # @return [Types::PresignedUrlConfig]
3060
+ #
3061
+ # @!attribute [rw] job_executions_rollout_config
3062
+ # Allows you to create a staged rollout of a job.
3063
+ # @return [Types::JobExecutionsRolloutConfig]
3064
+ #
3065
+ # @!attribute [rw] created_at
3066
+ # The time, in milliseconds since the epoch, when the job was created.
3067
+ # @return [Time]
3068
+ #
3069
+ # @!attribute [rw] last_updated_at
3070
+ # The time, in milliseconds since the epoch, when the job was last
3071
+ # updated.
3072
+ # @return [Time]
3073
+ #
3074
+ # @!attribute [rw] completed_at
3075
+ # The time, in milliseconds since the epoch, when the job was
3076
+ # completed.
3077
+ # @return [Time]
3078
+ #
3079
+ # @!attribute [rw] job_process_details
3080
+ # Details about the job process.
3081
+ # @return [Types::JobProcessDetails]
3082
+ #
3083
+ # @!attribute [rw] document_parameters
3084
+ # The parameters specified for the job document.
3085
+ # @return [Hash<String,String>]
3086
+ #
3087
+ class Job < Struct.new(
3088
+ :job_arn,
3089
+ :job_id,
3090
+ :target_selection,
3091
+ :status,
3092
+ :comment,
3093
+ :targets,
3094
+ :description,
3095
+ :presigned_url_config,
3096
+ :job_executions_rollout_config,
3097
+ :created_at,
3098
+ :last_updated_at,
3099
+ :completed_at,
3100
+ :job_process_details,
3101
+ :document_parameters)
3102
+ include Aws::Structure
3103
+ end
3104
+
3105
+ # The job execution object represents the execution of a job on a
3106
+ # particular device.
3107
+ #
3108
+ # @!attribute [rw] job_id
3109
+ # The unique identifier you assigned to the job when it was created.
3110
+ # @return [String]
3111
+ #
3112
+ # @!attribute [rw] status
3113
+ # The status of the job execution (IN\_PROGRESS, QUEUED, FAILED,
3114
+ # SUCCESS, CANCELED, or REJECTED).
3115
+ # @return [String]
3116
+ #
3117
+ # @!attribute [rw] status_details
3118
+ # A collection of name/value pairs that describe the status of the job
3119
+ # execution.
3120
+ # @return [Types::JobExecutionStatusDetails]
3121
+ #
3122
+ # @!attribute [rw] thing_arn
3123
+ # The ARN of the thing on which the job execution is running.
3124
+ # @return [String]
3125
+ #
3126
+ # @!attribute [rw] queued_at
3127
+ # The time, in milliseconds since the epoch, when the job execution
3128
+ # was queued.
3129
+ # @return [Time]
3130
+ #
3131
+ # @!attribute [rw] started_at
3132
+ # The time, in milliseconds since the epoch, when the job execution
3133
+ # started.
3134
+ # @return [Time]
3135
+ #
3136
+ # @!attribute [rw] last_updated_at
3137
+ # The time, in milliseconds since the epoch, when the job execution
3138
+ # was last updated.
3139
+ # @return [Time]
3140
+ #
3141
+ # @!attribute [rw] execution_number
3142
+ # A string (consisting of the digits "0" through "9") which
3143
+ # identifies this particular job execution on this particular device.
3144
+ # It can be used in commands which return or update job execution
3145
+ # information.
3146
+ # @return [Integer]
3147
+ #
3148
+ class JobExecution < Struct.new(
3149
+ :job_id,
3150
+ :status,
3151
+ :status_details,
3152
+ :thing_arn,
3153
+ :queued_at,
3154
+ :started_at,
3155
+ :last_updated_at,
3156
+ :execution_number)
3157
+ include Aws::Structure
3158
+ end
3159
+
3160
+ # Details of the job execution status.
3161
+ #
3162
+ # @!attribute [rw] details_map
3163
+ # The job execution status.
3164
+ # @return [Hash<String,String>]
3165
+ #
3166
+ class JobExecutionStatusDetails < Struct.new(
3167
+ :details_map)
3168
+ include Aws::Structure
3169
+ end
3170
+
3171
+ # The job execution summary.
3172
+ #
3173
+ # @!attribute [rw] status
3174
+ # The status of the job execution.
3175
+ # @return [String]
3176
+ #
3177
+ # @!attribute [rw] queued_at
3178
+ # The time, in milliseconds since the epoch, when the job execution
3179
+ # was queued.
3180
+ # @return [Time]
3181
+ #
3182
+ # @!attribute [rw] started_at
3183
+ # The time, in milliseconds since the epoch, when the job execution
3184
+ # started.
3185
+ # @return [Time]
3186
+ #
3187
+ # @!attribute [rw] last_updated_at
3188
+ # The time, in milliseconds since the epoch, when the job execution
3189
+ # was last updated.
3190
+ # @return [Time]
3191
+ #
3192
+ # @!attribute [rw] execution_number
3193
+ # A string (consisting of the digits "0" through "9") which
3194
+ # identifies this particular job execution on this particular device.
3195
+ # It can be used later in commands which return or update job
3196
+ # execution information.
3197
+ # @return [Integer]
3198
+ #
3199
+ class JobExecutionSummary < Struct.new(
3200
+ :status,
3201
+ :queued_at,
3202
+ :started_at,
3203
+ :last_updated_at,
3204
+ :execution_number)
3205
+ include Aws::Structure
3206
+ end
3207
+
3208
+ # Contains a summary of information about job executions for a specific
3209
+ # job.
3210
+ #
3211
+ # @!attribute [rw] thing_arn
3212
+ # The ARN of the thing on which the job execution is running.
3213
+ # @return [String]
3214
+ #
3215
+ # @!attribute [rw] job_execution_summary
3216
+ # Contains a subset of information about a job execution.
3217
+ # @return [Types::JobExecutionSummary]
3218
+ #
3219
+ class JobExecutionSummaryForJob < Struct.new(
3220
+ :thing_arn,
3221
+ :job_execution_summary)
3222
+ include Aws::Structure
3223
+ end
3224
+
3225
+ # The job execution summary for a thing.
3226
+ #
3227
+ # @!attribute [rw] job_id
3228
+ # The unique identifier you assigned to this job when it was created.
3229
+ # @return [String]
3230
+ #
3231
+ # @!attribute [rw] job_execution_summary
3232
+ # Contains a subset of information about a job execution.
3233
+ # @return [Types::JobExecutionSummary]
3234
+ #
3235
+ class JobExecutionSummaryForThing < Struct.new(
3236
+ :job_id,
3237
+ :job_execution_summary)
3238
+ include Aws::Structure
3239
+ end
3240
+
3241
+ # Allows you to create a staged rollout of a job.
3242
+ #
3243
+ # @note When making an API call, you may pass JobExecutionsRolloutConfig
3244
+ # data as a hash:
3245
+ #
3246
+ # {
3247
+ # maximum_per_minute: 1,
3248
+ # }
3249
+ #
3250
+ # @!attribute [rw] maximum_per_minute
3251
+ # The maximum number of things that will be notified of a pending job,
3252
+ # per minute. This parameter allows you to create a staged rollout.
3253
+ # @return [Integer]
3254
+ #
3255
+ class JobExecutionsRolloutConfig < Struct.new(
3256
+ :maximum_per_minute)
3257
+ include Aws::Structure
3258
+ end
3259
+
3260
+ # The job process details.
3261
+ #
3262
+ # @!attribute [rw] processing_targets
3263
+ # The devices on which the job is executing.
3264
+ # @return [Array<String>]
3265
+ #
3266
+ # @!attribute [rw] number_of_canceled_things
3267
+ # The number of things that cancelled the job.
3268
+ # @return [Integer]
3269
+ #
3270
+ # @!attribute [rw] number_of_succeeded_things
3271
+ # The number of things which successfully completed the job.
3272
+ # @return [Integer]
3273
+ #
3274
+ # @!attribute [rw] number_of_failed_things
3275
+ # The number of things that failed executing the job.
3276
+ # @return [Integer]
3277
+ #
3278
+ # @!attribute [rw] number_of_rejected_things
3279
+ # The number of things that rejected the job.
3280
+ # @return [Integer]
3281
+ #
3282
+ # @!attribute [rw] number_of_queued_things
3283
+ # The number of things that are awaiting execution of the job.
3284
+ # @return [Integer]
3285
+ #
3286
+ # @!attribute [rw] number_of_in_progress_things
3287
+ # The number of things currently executing the job.
3288
+ # @return [Integer]
3289
+ #
3290
+ # @!attribute [rw] number_of_removed_things
3291
+ # The number of things that are no longer scheduled to execute the job
3292
+ # because they have been deleted or have been removed from the group
3293
+ # that was a target of the job.
3294
+ # @return [Integer]
3295
+ #
3296
+ class JobProcessDetails < Struct.new(
3297
+ :processing_targets,
3298
+ :number_of_canceled_things,
3299
+ :number_of_succeeded_things,
3300
+ :number_of_failed_things,
3301
+ :number_of_rejected_things,
3302
+ :number_of_queued_things,
3303
+ :number_of_in_progress_things,
3304
+ :number_of_removed_things)
3305
+ include Aws::Structure
3306
+ end
3307
+
3308
+ # The job summary.
3309
+ #
3310
+ # @!attribute [rw] job_arn
3311
+ # The job ARN.
3312
+ # @return [String]
3313
+ #
3314
+ # @!attribute [rw] job_id
3315
+ # The unique identifier you assigned to this job when it was created.
3316
+ # @return [String]
3317
+ #
3318
+ # @!attribute [rw] thing_group_id
3319
+ # The ID of the thing group.
3320
+ # @return [String]
3321
+ #
3322
+ # @!attribute [rw] target_selection
3323
+ # Specifies whether the job will continue to run (CONTINUOUS), or will
3324
+ # be complete after all those things specified as targets have
3325
+ # completed the job (SNAPSHOT). If continuous, the job may also be run
3326
+ # on a thing when a change is detected in a target. For example, a job
3327
+ # will run on a thing when the thing is added to a target group, even
3328
+ # after the job was completed by all things originally in the group.
3329
+ # @return [String]
3330
+ #
3331
+ # @!attribute [rw] status
3332
+ # The job summary status.
3333
+ # @return [String]
3334
+ #
3335
+ # @!attribute [rw] created_at
3336
+ # The time, in milliseconds since the epoch, when the job was created.
3337
+ # @return [Time]
3338
+ #
3339
+ # @!attribute [rw] last_updated_at
3340
+ # The time, in milliseconds since the epoch, when the job was last
3341
+ # updated.
3342
+ # @return [Time]
3343
+ #
3344
+ # @!attribute [rw] completed_at
3345
+ # The time, in milliseconds since the epoch, when the job completed.
3346
+ # @return [Time]
3347
+ #
3348
+ class JobSummary < Struct.new(
3349
+ :job_arn,
3350
+ :job_id,
3351
+ :thing_group_id,
3352
+ :target_selection,
3353
+ :status,
3354
+ :created_at,
3355
+ :last_updated_at,
3356
+ :completed_at)
3357
+ include Aws::Structure
3358
+ end
3359
+
1799
3360
  # Describes a key pair.
1800
3361
  #
1801
3362
  # @!attribute [rw] public_key
@@ -1861,41 +3422,138 @@ module Aws::IoT
1861
3422
  include Aws::Structure
1862
3423
  end
1863
3424
 
1864
- # Input for the ListCACertificates operation.
1865
- #
1866
- # @note When making an API call, you may pass ListCACertificatesRequest
3425
+ # @note When making an API call, you may pass ListAttachedPoliciesRequest
1867
3426
  # data as a hash:
1868
3427
  #
1869
3428
  # {
1870
- # page_size: 1,
3429
+ # target: "PolicyTarget", # required
3430
+ # recursive: false,
1871
3431
  # marker: "Marker",
1872
- # ascending_order: false,
3432
+ # page_size: 1,
1873
3433
  # }
1874
3434
  #
1875
- # @!attribute [rw] page_size
1876
- # The result page size.
1877
- # @return [Integer]
3435
+ # @!attribute [rw] target
3436
+ # The group for which the policies will be listed.
3437
+ # @return [String]
3438
+ #
3439
+ # @!attribute [rw] recursive
3440
+ # When true, recursively list attached policies.
3441
+ # @return [Boolean]
1878
3442
  #
1879
3443
  # @!attribute [rw] marker
1880
- # The marker for the next set of results.
3444
+ # The token to retrieve the next set of results.
1881
3445
  # @return [String]
1882
3446
  #
1883
- # @!attribute [rw] ascending_order
1884
- # Determines the order of the results.
1885
- # @return [Boolean]
3447
+ # @!attribute [rw] page_size
3448
+ # The maximum number of results to be returned per request.
3449
+ # @return [Integer]
1886
3450
  #
1887
- class ListCACertificatesRequest < Struct.new(
1888
- :page_size,
3451
+ class ListAttachedPoliciesRequest < Struct.new(
3452
+ :target,
3453
+ :recursive,
1889
3454
  :marker,
1890
- :ascending_order)
3455
+ :page_size)
1891
3456
  include Aws::Structure
1892
3457
  end
1893
3458
 
1894
- # The output from the ListCACertificates operation.
1895
- #
1896
- # @!attribute [rw] certificates
1897
- # The CA certificates registered in your AWS account.
1898
- # @return [Array<Types::CACertificate>]
3459
+ # @!attribute [rw] policies
3460
+ # The policies.
3461
+ # @return [Array<Types::Policy>]
3462
+ #
3463
+ # @!attribute [rw] next_marker
3464
+ # The token to retrieve the next set of results, or ``null`` if
3465
+ # there are no more results.
3466
+ # @return [String]
3467
+ #
3468
+ class ListAttachedPoliciesResponse < Struct.new(
3469
+ :policies,
3470
+ :next_marker)
3471
+ include Aws::Structure
3472
+ end
3473
+
3474
+ # @note When making an API call, you may pass ListAuthorizersRequest
3475
+ # data as a hash:
3476
+ #
3477
+ # {
3478
+ # page_size: 1,
3479
+ # marker: "Marker",
3480
+ # ascending_order: false,
3481
+ # status: "ACTIVE", # accepts ACTIVE, INACTIVE
3482
+ # }
3483
+ #
3484
+ # @!attribute [rw] page_size
3485
+ # The maximum number of results to return at one time.
3486
+ # @return [Integer]
3487
+ #
3488
+ # @!attribute [rw] marker
3489
+ # A marker used to get the next set of results.
3490
+ # @return [String]
3491
+ #
3492
+ # @!attribute [rw] ascending_order
3493
+ # Return the list of authorizers in ascending alphabetical order.
3494
+ # @return [Boolean]
3495
+ #
3496
+ # @!attribute [rw] status
3497
+ # The status of the list authorizers request.
3498
+ # @return [String]
3499
+ #
3500
+ class ListAuthorizersRequest < Struct.new(
3501
+ :page_size,
3502
+ :marker,
3503
+ :ascending_order,
3504
+ :status)
3505
+ include Aws::Structure
3506
+ end
3507
+
3508
+ # @!attribute [rw] authorizers
3509
+ # The authorizers.
3510
+ # @return [Array<Types::AuthorizerSummary>]
3511
+ #
3512
+ # @!attribute [rw] next_marker
3513
+ # A marker used to get the next set of results.
3514
+ # @return [String]
3515
+ #
3516
+ class ListAuthorizersResponse < Struct.new(
3517
+ :authorizers,
3518
+ :next_marker)
3519
+ include Aws::Structure
3520
+ end
3521
+
3522
+ # Input for the ListCACertificates operation.
3523
+ #
3524
+ # @note When making an API call, you may pass ListCACertificatesRequest
3525
+ # data as a hash:
3526
+ #
3527
+ # {
3528
+ # page_size: 1,
3529
+ # marker: "Marker",
3530
+ # ascending_order: false,
3531
+ # }
3532
+ #
3533
+ # @!attribute [rw] page_size
3534
+ # The result page size.
3535
+ # @return [Integer]
3536
+ #
3537
+ # @!attribute [rw] marker
3538
+ # The marker for the next set of results.
3539
+ # @return [String]
3540
+ #
3541
+ # @!attribute [rw] ascending_order
3542
+ # Determines the order of the results.
3543
+ # @return [Boolean]
3544
+ #
3545
+ class ListCACertificatesRequest < Struct.new(
3546
+ :page_size,
3547
+ :marker,
3548
+ :ascending_order)
3549
+ include Aws::Structure
3550
+ end
3551
+
3552
+ # The output from the ListCACertificates operation.
3553
+ #
3554
+ # @!attribute [rw] certificates
3555
+ # The CA certificates registered in your AWS account.
3556
+ # @return [Array<Types::CACertificate>]
1899
3557
  #
1900
3558
  # @!attribute [rw] next_marker
1901
3559
  # The current position within the list of CA certificates.
@@ -2011,6 +3669,212 @@ module Aws::IoT
2011
3669
  include Aws::Structure
2012
3670
  end
2013
3671
 
3672
+ # @note When making an API call, you may pass ListIndicesRequest
3673
+ # data as a hash:
3674
+ #
3675
+ # {
3676
+ # next_token: "NextToken",
3677
+ # max_results: 1,
3678
+ # }
3679
+ #
3680
+ # @!attribute [rw] next_token
3681
+ # The token used to get the next set of results, or **null** if there
3682
+ # are no additional results.
3683
+ # @return [String]
3684
+ #
3685
+ # @!attribute [rw] max_results
3686
+ # The maximum number of results to return at one time.
3687
+ # @return [Integer]
3688
+ #
3689
+ class ListIndicesRequest < Struct.new(
3690
+ :next_token,
3691
+ :max_results)
3692
+ include Aws::Structure
3693
+ end
3694
+
3695
+ # @!attribute [rw] index_names
3696
+ # The index names.
3697
+ # @return [Array<String>]
3698
+ #
3699
+ # @!attribute [rw] next_token
3700
+ # The token used to get the next set of results, or **null** if there
3701
+ # are no additional results.
3702
+ # @return [String]
3703
+ #
3704
+ class ListIndicesResponse < Struct.new(
3705
+ :index_names,
3706
+ :next_token)
3707
+ include Aws::Structure
3708
+ end
3709
+
3710
+ # @note When making an API call, you may pass ListJobExecutionsForJobRequest
3711
+ # data as a hash:
3712
+ #
3713
+ # {
3714
+ # job_id: "JobId", # required
3715
+ # status: "QUEUED", # accepts QUEUED, IN_PROGRESS, SUCCEEDED, FAILED, REJECTED, REMOVED, CANCELED
3716
+ # max_results: 1,
3717
+ # next_token: "NextToken",
3718
+ # }
3719
+ #
3720
+ # @!attribute [rw] job_id
3721
+ # The unique identifier you assigned to this job when it was created.
3722
+ # @return [String]
3723
+ #
3724
+ # @!attribute [rw] status
3725
+ # The status of the job.
3726
+ # @return [String]
3727
+ #
3728
+ # @!attribute [rw] max_results
3729
+ # The maximum number of results to be returned per request.
3730
+ # @return [Integer]
3731
+ #
3732
+ # @!attribute [rw] next_token
3733
+ # The token to retrieve the next set of results.
3734
+ # @return [String]
3735
+ #
3736
+ class ListJobExecutionsForJobRequest < Struct.new(
3737
+ :job_id,
3738
+ :status,
3739
+ :max_results,
3740
+ :next_token)
3741
+ include Aws::Structure
3742
+ end
3743
+
3744
+ # @!attribute [rw] execution_summaries
3745
+ # A list of job execution summaries.
3746
+ # @return [Array<Types::JobExecutionSummaryForJob>]
3747
+ #
3748
+ # @!attribute [rw] next_token
3749
+ # The token for the next set of results, or **null** if there are no
3750
+ # additional results.
3751
+ # @return [String]
3752
+ #
3753
+ class ListJobExecutionsForJobResponse < Struct.new(
3754
+ :execution_summaries,
3755
+ :next_token)
3756
+ include Aws::Structure
3757
+ end
3758
+
3759
+ # @note When making an API call, you may pass ListJobExecutionsForThingRequest
3760
+ # data as a hash:
3761
+ #
3762
+ # {
3763
+ # thing_name: "ThingName", # required
3764
+ # status: "QUEUED", # accepts QUEUED, IN_PROGRESS, SUCCEEDED, FAILED, REJECTED, REMOVED, CANCELED
3765
+ # max_results: 1,
3766
+ # next_token: "NextToken",
3767
+ # }
3768
+ #
3769
+ # @!attribute [rw] thing_name
3770
+ # The thing name.
3771
+ # @return [String]
3772
+ #
3773
+ # @!attribute [rw] status
3774
+ # An optional filter that lets you search for jobs that have the
3775
+ # specified status.
3776
+ # @return [String]
3777
+ #
3778
+ # @!attribute [rw] max_results
3779
+ # The maximum number of results to be returned per request.
3780
+ # @return [Integer]
3781
+ #
3782
+ # @!attribute [rw] next_token
3783
+ # The token to retrieve the next set of results.
3784
+ # @return [String]
3785
+ #
3786
+ class ListJobExecutionsForThingRequest < Struct.new(
3787
+ :thing_name,
3788
+ :status,
3789
+ :max_results,
3790
+ :next_token)
3791
+ include Aws::Structure
3792
+ end
3793
+
3794
+ # @!attribute [rw] execution_summaries
3795
+ # A list of job execution summaries.
3796
+ # @return [Array<Types::JobExecutionSummaryForThing>]
3797
+ #
3798
+ # @!attribute [rw] next_token
3799
+ # The token for the next set of results, or **null** if there are no
3800
+ # additional results.
3801
+ # @return [String]
3802
+ #
3803
+ class ListJobExecutionsForThingResponse < Struct.new(
3804
+ :execution_summaries,
3805
+ :next_token)
3806
+ include Aws::Structure
3807
+ end
3808
+
3809
+ # @note When making an API call, you may pass ListJobsRequest
3810
+ # data as a hash:
3811
+ #
3812
+ # {
3813
+ # status: "IN_PROGRESS", # accepts IN_PROGRESS, CANCELED, COMPLETED
3814
+ # target_selection: "CONTINUOUS", # accepts CONTINUOUS, SNAPSHOT
3815
+ # max_results: 1,
3816
+ # next_token: "NextToken",
3817
+ # thing_group_name: "ThingGroupName",
3818
+ # thing_group_id: "ThingGroupId",
3819
+ # }
3820
+ #
3821
+ # @!attribute [rw] status
3822
+ # An optional filter that lets you search for jobs that have the
3823
+ # specified status.
3824
+ # @return [String]
3825
+ #
3826
+ # @!attribute [rw] target_selection
3827
+ # Specifies whether the job will continue to run (CONTINUOUS), or will
3828
+ # be complete after all those things specified as targets have
3829
+ # completed the job (SNAPSHOT). If continuous, the job may also be run
3830
+ # on a thing when a change is detected in a target. For example, a job
3831
+ # will run on a thing when the thing is added to a target group, even
3832
+ # after the job was completed by all things originally in the group.
3833
+ # @return [String]
3834
+ #
3835
+ # @!attribute [rw] max_results
3836
+ # The maximum number of results to return per request.
3837
+ # @return [Integer]
3838
+ #
3839
+ # @!attribute [rw] next_token
3840
+ # The token to retrieve the next set of results.
3841
+ # @return [String]
3842
+ #
3843
+ # @!attribute [rw] thing_group_name
3844
+ # A filter that limits the returned jobs to those for the specified
3845
+ # group.
3846
+ # @return [String]
3847
+ #
3848
+ # @!attribute [rw] thing_group_id
3849
+ # A filter that limits the returned jobs to those for the specified
3850
+ # group.
3851
+ # @return [String]
3852
+ #
3853
+ class ListJobsRequest < Struct.new(
3854
+ :status,
3855
+ :target_selection,
3856
+ :max_results,
3857
+ :next_token,
3858
+ :thing_group_name,
3859
+ :thing_group_id)
3860
+ include Aws::Structure
3861
+ end
3862
+
3863
+ # @!attribute [rw] jobs
3864
+ # A list of jobs.
3865
+ # @return [Array<Types::JobSummary>]
3866
+ #
3867
+ # @!attribute [rw] next_token
3868
+ # The token for the next set of results, or **null** if there are no
3869
+ # additional results.
3870
+ # @return [String]
3871
+ #
3872
+ class ListJobsResponse < Struct.new(
3873
+ :jobs,
3874
+ :next_token)
3875
+ include Aws::Structure
3876
+ end
3877
+
2014
3878
  # The input to the ListOutgoingCertificates operation.
2015
3879
  #
2016
3880
  # @note When making an API call, you may pass ListOutgoingCertificatesRequest
@@ -2045,7 +3909,7 @@ module Aws::IoT
2045
3909
  # The output from the ListOutgoingCertificates operation.
2046
3910
  #
2047
3911
  # @!attribute [rw] outgoing_certificates
2048
- # The certificates that are being transfered but not yet accepted.
3912
+ # The certificates that are being transferred but not yet accepted.
2049
3913
  # @return [Array<Types::OutgoingCertificate>]
2050
3914
  #
2051
3915
  # @!attribute [rw] next_marker
@@ -2173,120 +4037,306 @@ module Aws::IoT
2173
4037
  # The policy name.
2174
4038
  # @return [String]
2175
4039
  #
2176
- class ListPolicyVersionsRequest < Struct.new(
2177
- :policy_name)
4040
+ class ListPolicyVersionsRequest < Struct.new(
4041
+ :policy_name)
4042
+ include Aws::Structure
4043
+ end
4044
+
4045
+ # The output from the ListPolicyVersions operation.
4046
+ #
4047
+ # @!attribute [rw] policy_versions
4048
+ # The policy versions.
4049
+ # @return [Array<Types::PolicyVersion>]
4050
+ #
4051
+ class ListPolicyVersionsResponse < Struct.new(
4052
+ :policy_versions)
4053
+ include Aws::Structure
4054
+ end
4055
+
4056
+ # The input for the ListPrincipalPolicies operation.
4057
+ #
4058
+ # @note When making an API call, you may pass ListPrincipalPoliciesRequest
4059
+ # data as a hash:
4060
+ #
4061
+ # {
4062
+ # principal: "Principal", # required
4063
+ # marker: "Marker",
4064
+ # page_size: 1,
4065
+ # ascending_order: false,
4066
+ # }
4067
+ #
4068
+ # @!attribute [rw] principal
4069
+ # The principal.
4070
+ # @return [String]
4071
+ #
4072
+ # @!attribute [rw] marker
4073
+ # The marker for the next set of results.
4074
+ # @return [String]
4075
+ #
4076
+ # @!attribute [rw] page_size
4077
+ # The result page size.
4078
+ # @return [Integer]
4079
+ #
4080
+ # @!attribute [rw] ascending_order
4081
+ # Specifies the order for results. If true, results are returned in
4082
+ # ascending creation order.
4083
+ # @return [Boolean]
4084
+ #
4085
+ class ListPrincipalPoliciesRequest < Struct.new(
4086
+ :principal,
4087
+ :marker,
4088
+ :page_size,
4089
+ :ascending_order)
4090
+ include Aws::Structure
4091
+ end
4092
+
4093
+ # The output from the ListPrincipalPolicies operation.
4094
+ #
4095
+ # @!attribute [rw] policies
4096
+ # The policies.
4097
+ # @return [Array<Types::Policy>]
4098
+ #
4099
+ # @!attribute [rw] next_marker
4100
+ # The marker for the next set of results, or null if there are no
4101
+ # additional results.
4102
+ # @return [String]
4103
+ #
4104
+ class ListPrincipalPoliciesResponse < Struct.new(
4105
+ :policies,
4106
+ :next_marker)
4107
+ include Aws::Structure
4108
+ end
4109
+
4110
+ # The input for the ListPrincipalThings operation.
4111
+ #
4112
+ # @note When making an API call, you may pass ListPrincipalThingsRequest
4113
+ # data as a hash:
4114
+ #
4115
+ # {
4116
+ # next_token: "NextToken",
4117
+ # max_results: 1,
4118
+ # principal: "Principal", # required
4119
+ # }
4120
+ #
4121
+ # @!attribute [rw] next_token
4122
+ # The token used to get the next set of results, or **null** if there
4123
+ # are no additional results.
4124
+ # @return [String]
4125
+ #
4126
+ # @!attribute [rw] max_results
4127
+ # The maximum number of results to return in this operation.
4128
+ # @return [Integer]
4129
+ #
4130
+ # @!attribute [rw] principal
4131
+ # The principal.
4132
+ # @return [String]
4133
+ #
4134
+ class ListPrincipalThingsRequest < Struct.new(
4135
+ :next_token,
4136
+ :max_results,
4137
+ :principal)
4138
+ include Aws::Structure
4139
+ end
4140
+
4141
+ # The output from the ListPrincipalThings operation.
4142
+ #
4143
+ # @!attribute [rw] things
4144
+ # The things.
4145
+ # @return [Array<String>]
4146
+ #
4147
+ # @!attribute [rw] next_token
4148
+ # The token used to get the next set of results, or **null** if there
4149
+ # are no additional results.
4150
+ # @return [String]
4151
+ #
4152
+ class ListPrincipalThingsResponse < Struct.new(
4153
+ :things,
4154
+ :next_token)
4155
+ include Aws::Structure
4156
+ end
4157
+
4158
+ # @note When making an API call, you may pass ListRoleAliasesRequest
4159
+ # data as a hash:
4160
+ #
4161
+ # {
4162
+ # page_size: 1,
4163
+ # marker: "Marker",
4164
+ # ascending_order: false,
4165
+ # }
4166
+ #
4167
+ # @!attribute [rw] page_size
4168
+ # The maximum number of results to return at one time.
4169
+ # @return [Integer]
4170
+ #
4171
+ # @!attribute [rw] marker
4172
+ # A marker used to get the next set of results.
4173
+ # @return [String]
4174
+ #
4175
+ # @!attribute [rw] ascending_order
4176
+ # Return the list of role aliases in ascending alphabetical order.
4177
+ # @return [Boolean]
4178
+ #
4179
+ class ListRoleAliasesRequest < Struct.new(
4180
+ :page_size,
4181
+ :marker,
4182
+ :ascending_order)
4183
+ include Aws::Structure
4184
+ end
4185
+
4186
+ # @!attribute [rw] role_aliases
4187
+ # The role aliases.
4188
+ # @return [Array<String>]
4189
+ #
4190
+ # @!attribute [rw] next_marker
4191
+ # A marker used to get the next set of results.
4192
+ # @return [String]
4193
+ #
4194
+ class ListRoleAliasesResponse < Struct.new(
4195
+ :role_aliases,
4196
+ :next_marker)
4197
+ include Aws::Structure
4198
+ end
4199
+
4200
+ # @note When making an API call, you may pass ListTargetsForPolicyRequest
4201
+ # data as a hash:
4202
+ #
4203
+ # {
4204
+ # policy_name: "PolicyName", # required
4205
+ # marker: "Marker",
4206
+ # page_size: 1,
4207
+ # }
4208
+ #
4209
+ # @!attribute [rw] policy_name
4210
+ # The policy name.
4211
+ # @return [String]
4212
+ #
4213
+ # @!attribute [rw] marker
4214
+ # A marker used to get the next set of results.
4215
+ # @return [String]
4216
+ #
4217
+ # @!attribute [rw] page_size
4218
+ # The maximum number of results to return at one time.
4219
+ # @return [Integer]
4220
+ #
4221
+ class ListTargetsForPolicyRequest < Struct.new(
4222
+ :policy_name,
4223
+ :marker,
4224
+ :page_size)
2178
4225
  include Aws::Structure
2179
4226
  end
2180
4227
 
2181
- # The output from the ListPolicyVersions operation.
4228
+ # @!attribute [rw] targets
4229
+ # The policy targets.
4230
+ # @return [Array<String>]
2182
4231
  #
2183
- # @!attribute [rw] policy_versions
2184
- # The policy versions.
2185
- # @return [Array<Types::PolicyVersion>]
4232
+ # @!attribute [rw] next_marker
4233
+ # A marker used to get the next set of results.
4234
+ # @return [String]
2186
4235
  #
2187
- class ListPolicyVersionsResponse < Struct.new(
2188
- :policy_versions)
4236
+ class ListTargetsForPolicyResponse < Struct.new(
4237
+ :targets,
4238
+ :next_marker)
2189
4239
  include Aws::Structure
2190
4240
  end
2191
4241
 
2192
- # The input for the ListPrincipalPolicies operation.
2193
- #
2194
- # @note When making an API call, you may pass ListPrincipalPoliciesRequest
4242
+ # @note When making an API call, you may pass ListThingGroupsForThingRequest
2195
4243
  # data as a hash:
2196
4244
  #
2197
4245
  # {
2198
- # principal: "Principal", # required
2199
- # marker: "Marker",
2200
- # page_size: 1,
2201
- # ascending_order: false,
4246
+ # thing_name: "ThingName", # required
4247
+ # next_token: "NextToken",
4248
+ # max_results: 1,
2202
4249
  # }
2203
4250
  #
2204
- # @!attribute [rw] principal
2205
- # The principal.
4251
+ # @!attribute [rw] thing_name
4252
+ # The thing name.
2206
4253
  # @return [String]
2207
4254
  #
2208
- # @!attribute [rw] marker
2209
- # The marker for the next set of results.
4255
+ # @!attribute [rw] next_token
4256
+ # The token used to get the next set of results, or **null** if there
4257
+ # are no additional results.
2210
4258
  # @return [String]
2211
4259
  #
2212
- # @!attribute [rw] page_size
2213
- # The result page size.
4260
+ # @!attribute [rw] max_results
4261
+ # The maximum number of results to return at one time.
2214
4262
  # @return [Integer]
2215
4263
  #
2216
- # @!attribute [rw] ascending_order
2217
- # Specifies the order for results. If true, results are returned in
2218
- # ascending creation order.
2219
- # @return [Boolean]
2220
- #
2221
- class ListPrincipalPoliciesRequest < Struct.new(
2222
- :principal,
2223
- :marker,
2224
- :page_size,
2225
- :ascending_order)
4264
+ class ListThingGroupsForThingRequest < Struct.new(
4265
+ :thing_name,
4266
+ :next_token,
4267
+ :max_results)
2226
4268
  include Aws::Structure
2227
4269
  end
2228
4270
 
2229
- # The output from the ListPrincipalPolicies operation.
2230
- #
2231
- # @!attribute [rw] policies
2232
- # The policies.
2233
- # @return [Array<Types::Policy>]
4271
+ # @!attribute [rw] thing_groups
4272
+ # The thing groups.
4273
+ # @return [Array<Types::GroupNameAndArn>]
2234
4274
  #
2235
- # @!attribute [rw] next_marker
2236
- # The marker for the next set of results, or null if there are no
2237
- # additional results.
4275
+ # @!attribute [rw] next_token
4276
+ # The token used to get the next set of results, or **null** if there
4277
+ # are no additional results.
2238
4278
  # @return [String]
2239
4279
  #
2240
- class ListPrincipalPoliciesResponse < Struct.new(
2241
- :policies,
2242
- :next_marker)
4280
+ class ListThingGroupsForThingResponse < Struct.new(
4281
+ :thing_groups,
4282
+ :next_token)
2243
4283
  include Aws::Structure
2244
4284
  end
2245
4285
 
2246
- # The input for the ListPrincipalThings operation.
2247
- #
2248
- # @note When making an API call, you may pass ListPrincipalThingsRequest
4286
+ # @note When making an API call, you may pass ListThingGroupsRequest
2249
4287
  # data as a hash:
2250
4288
  #
2251
4289
  # {
2252
4290
  # next_token: "NextToken",
2253
4291
  # max_results: 1,
2254
- # principal: "Principal", # required
4292
+ # parent_group: "ThingGroupName",
4293
+ # name_prefix_filter: "ThingGroupName",
4294
+ # recursive: false,
2255
4295
  # }
2256
4296
  #
2257
4297
  # @!attribute [rw] next_token
2258
- # The token for the next set of results, or **null** if there are no
2259
- # additional results.
4298
+ # The token used to get the next set of results, or **null** if there
4299
+ # are no additional results.
2260
4300
  # @return [String]
2261
4301
  #
2262
4302
  # @!attribute [rw] max_results
2263
- # The maximum number of results to return in this operation.
4303
+ # The maximum number of results to return at one time.
2264
4304
  # @return [Integer]
2265
4305
  #
2266
- # @!attribute [rw] principal
2267
- # The principal.
4306
+ # @!attribute [rw] parent_group
4307
+ # A filter that limits the results to those with the specified parent
4308
+ # group.
2268
4309
  # @return [String]
2269
4310
  #
2270
- class ListPrincipalThingsRequest < Struct.new(
4311
+ # @!attribute [rw] name_prefix_filter
4312
+ # A filter that limits the results to those with the specified name
4313
+ # prefix.
4314
+ # @return [String]
4315
+ #
4316
+ # @!attribute [rw] recursive
4317
+ # If true, return child groups as well.
4318
+ # @return [Boolean]
4319
+ #
4320
+ class ListThingGroupsRequest < Struct.new(
2271
4321
  :next_token,
2272
4322
  :max_results,
2273
- :principal)
4323
+ :parent_group,
4324
+ :name_prefix_filter,
4325
+ :recursive)
2274
4326
  include Aws::Structure
2275
4327
  end
2276
4328
 
2277
- # The output from the ListPrincipalThings operation.
2278
- #
2279
- # @!attribute [rw] things
2280
- # The things.
2281
- # @return [Array<String>]
4329
+ # @!attribute [rw] thing_groups
4330
+ # The thing groups.
4331
+ # @return [Array<Types::GroupNameAndArn>]
2282
4332
  #
2283
4333
  # @!attribute [rw] next_token
2284
- # The token for the next set of results, or **null** if there are no
2285
- # additional results.
4334
+ # The token used to get the next set of results, or **null** if there
4335
+ # are no additional results.
2286
4336
  # @return [String]
2287
4337
  #
2288
- class ListPrincipalThingsResponse < Struct.new(
2289
- :things,
4338
+ class ListThingGroupsResponse < Struct.new(
4339
+ :thing_groups,
2290
4340
  :next_token)
2291
4341
  include Aws::Structure
2292
4342
  end
@@ -2320,6 +4370,103 @@ module Aws::IoT
2320
4370
  include Aws::Structure
2321
4371
  end
2322
4372
 
4373
+ # @note When making an API call, you may pass ListThingRegistrationTaskReportsRequest
4374
+ # data as a hash:
4375
+ #
4376
+ # {
4377
+ # task_id: "TaskId", # required
4378
+ # report_type: "ERRORS", # required, accepts ERRORS, RESULTS
4379
+ # next_token: "NextToken",
4380
+ # max_results: 1,
4381
+ # }
4382
+ #
4383
+ # @!attribute [rw] task_id
4384
+ # The id of the task.
4385
+ # @return [String]
4386
+ #
4387
+ # @!attribute [rw] report_type
4388
+ # The type of task report.
4389
+ # @return [String]
4390
+ #
4391
+ # @!attribute [rw] next_token
4392
+ # The token to retrieve the next set of results.
4393
+ # @return [String]
4394
+ #
4395
+ # @!attribute [rw] max_results
4396
+ # The maximum number of results to return per request.
4397
+ # @return [Integer]
4398
+ #
4399
+ class ListThingRegistrationTaskReportsRequest < Struct.new(
4400
+ :task_id,
4401
+ :report_type,
4402
+ :next_token,
4403
+ :max_results)
4404
+ include Aws::Structure
4405
+ end
4406
+
4407
+ # @!attribute [rw] resource_links
4408
+ # Links to the task resources.
4409
+ # @return [Array<String>]
4410
+ #
4411
+ # @!attribute [rw] report_type
4412
+ # The type of task report.
4413
+ # @return [String]
4414
+ #
4415
+ # @!attribute [rw] next_token
4416
+ # The token to retrieve the next set of results.
4417
+ # @return [String]
4418
+ #
4419
+ class ListThingRegistrationTaskReportsResponse < Struct.new(
4420
+ :resource_links,
4421
+ :report_type,
4422
+ :next_token)
4423
+ include Aws::Structure
4424
+ end
4425
+
4426
+ # @note When making an API call, you may pass ListThingRegistrationTasksRequest
4427
+ # data as a hash:
4428
+ #
4429
+ # {
4430
+ # next_token: "NextToken",
4431
+ # max_results: 1,
4432
+ # status: "InProgress", # accepts InProgress, Completed, Failed, Cancelled, Cancelling
4433
+ # }
4434
+ #
4435
+ # @!attribute [rw] next_token
4436
+ # The token used to get the next set of results, or **null** if there
4437
+ # are no additional results.
4438
+ # @return [String]
4439
+ #
4440
+ # @!attribute [rw] max_results
4441
+ # The maximum number of results to return at one time.
4442
+ # @return [Integer]
4443
+ #
4444
+ # @!attribute [rw] status
4445
+ # The status of the bulk thing provisioning task.
4446
+ # @return [String]
4447
+ #
4448
+ class ListThingRegistrationTasksRequest < Struct.new(
4449
+ :next_token,
4450
+ :max_results,
4451
+ :status)
4452
+ include Aws::Structure
4453
+ end
4454
+
4455
+ # @!attribute [rw] task_ids
4456
+ # A list of bulk thing provisioning task IDs.
4457
+ # @return [Array<String>]
4458
+ #
4459
+ # @!attribute [rw] next_token
4460
+ # The token used to get the next set of results, or **null** if there
4461
+ # are no additional results.
4462
+ # @return [String]
4463
+ #
4464
+ class ListThingRegistrationTasksResponse < Struct.new(
4465
+ :task_ids,
4466
+ :next_token)
4467
+ include Aws::Structure
4468
+ end
4469
+
2323
4470
  # The input for the ListThingTypes operation.
2324
4471
  #
2325
4472
  # @note When making an API call, you may pass ListThingTypesRequest
@@ -2368,6 +4515,57 @@ module Aws::IoT
2368
4515
  include Aws::Structure
2369
4516
  end
2370
4517
 
4518
+ # @note When making an API call, you may pass ListThingsInThingGroupRequest
4519
+ # data as a hash:
4520
+ #
4521
+ # {
4522
+ # thing_group_name: "ThingGroupName", # required
4523
+ # recursive: false,
4524
+ # next_token: "NextToken",
4525
+ # max_results: 1,
4526
+ # }
4527
+ #
4528
+ # @!attribute [rw] thing_group_name
4529
+ # The thing group name.
4530
+ # @return [String]
4531
+ #
4532
+ # @!attribute [rw] recursive
4533
+ # When true, list things in this thing group and in all child groups
4534
+ # as well.
4535
+ # @return [Boolean]
4536
+ #
4537
+ # @!attribute [rw] next_token
4538
+ # The token used to get the next set of results, or **null** if there
4539
+ # are no additional results.
4540
+ # @return [String]
4541
+ #
4542
+ # @!attribute [rw] max_results
4543
+ # The maximum number of results to return at one time.
4544
+ # @return [Integer]
4545
+ #
4546
+ class ListThingsInThingGroupRequest < Struct.new(
4547
+ :thing_group_name,
4548
+ :recursive,
4549
+ :next_token,
4550
+ :max_results)
4551
+ include Aws::Structure
4552
+ end
4553
+
4554
+ # @!attribute [rw] things
4555
+ # The things in the specified thing group.
4556
+ # @return [Array<String>]
4557
+ #
4558
+ # @!attribute [rw] next_token
4559
+ # The token used to get the next set of results, or **null** if there
4560
+ # are no additional results.
4561
+ # @return [String]
4562
+ #
4563
+ class ListThingsInThingGroupResponse < Struct.new(
4564
+ :things,
4565
+ :next_token)
4566
+ include Aws::Structure
4567
+ end
4568
+
2371
4569
  # The input for the ListThings operation.
2372
4570
  #
2373
4571
  # @note When making an API call, you may pass ListThingsRequest
@@ -2382,8 +4580,8 @@ module Aws::IoT
2382
4580
  # }
2383
4581
  #
2384
4582
  # @!attribute [rw] next_token
2385
- # The token for the next set of results, or **null** if there are no
2386
- # additional results.
4583
+ # The token used to get the next set of results, or **null** if there
4584
+ # are no additional results.
2387
4585
  # @return [String]
2388
4586
  #
2389
4587
  # @!attribute [rw] max_results
@@ -2418,8 +4616,8 @@ module Aws::IoT
2418
4616
  # @return [Array<Types::ThingAttribute>]
2419
4617
  #
2420
4618
  # @!attribute [rw] next_token
2421
- # The token for the next set of results, or **null** if there are no
2422
- # additional results.
4619
+ # The token used to get the next set of results, or **null** if there
4620
+ # are no additional results.
2423
4621
  # @return [String]
2424
4622
  #
2425
4623
  class ListThingsResponse < Struct.new(
@@ -2480,6 +4678,91 @@ module Aws::IoT
2480
4678
  include Aws::Structure
2481
4679
  end
2482
4680
 
4681
+ # @note When making an API call, you may pass ListV2LoggingLevelsRequest
4682
+ # data as a hash:
4683
+ #
4684
+ # {
4685
+ # target_type: "DEFAULT", # accepts DEFAULT, THING_GROUP
4686
+ # next_token: "NextToken",
4687
+ # max_results: 1,
4688
+ # }
4689
+ #
4690
+ # @!attribute [rw] target_type
4691
+ # The type of resource for which you are configuring logging. Must be
4692
+ # `THING_Group`.
4693
+ # @return [String]
4694
+ #
4695
+ # @!attribute [rw] next_token
4696
+ # The token used to get the next set of results, or **null** if there
4697
+ # are no additional results.
4698
+ # @return [String]
4699
+ #
4700
+ # @!attribute [rw] max_results
4701
+ # The maximum number of results to return at one time.
4702
+ # @return [Integer]
4703
+ #
4704
+ class ListV2LoggingLevelsRequest < Struct.new(
4705
+ :target_type,
4706
+ :next_token,
4707
+ :max_results)
4708
+ include Aws::Structure
4709
+ end
4710
+
4711
+ # @!attribute [rw] log_target_configurations
4712
+ # The logging configuration for a target.
4713
+ # @return [Array<Types::LogTargetConfiguration>]
4714
+ #
4715
+ # @!attribute [rw] next_token
4716
+ # The token used to get the next set of results, or **null** if there
4717
+ # are no additional results.
4718
+ # @return [String]
4719
+ #
4720
+ class ListV2LoggingLevelsResponse < Struct.new(
4721
+ :log_target_configurations,
4722
+ :next_token)
4723
+ include Aws::Structure
4724
+ end
4725
+
4726
+ # A log target.
4727
+ #
4728
+ # @note When making an API call, you may pass LogTarget
4729
+ # data as a hash:
4730
+ #
4731
+ # {
4732
+ # target_type: "DEFAULT", # required, accepts DEFAULT, THING_GROUP
4733
+ # target_name: "LogTargetName",
4734
+ # }
4735
+ #
4736
+ # @!attribute [rw] target_type
4737
+ # The target type.
4738
+ # @return [String]
4739
+ #
4740
+ # @!attribute [rw] target_name
4741
+ # The target name.
4742
+ # @return [String]
4743
+ #
4744
+ class LogTarget < Struct.new(
4745
+ :target_type,
4746
+ :target_name)
4747
+ include Aws::Structure
4748
+ end
4749
+
4750
+ # The target configuration.
4751
+ #
4752
+ # @!attribute [rw] log_target
4753
+ # A log target
4754
+ # @return [Types::LogTarget]
4755
+ #
4756
+ # @!attribute [rw] log_level
4757
+ # The logging level.
4758
+ # @return [String]
4759
+ #
4760
+ class LogTargetConfiguration < Struct.new(
4761
+ :log_target,
4762
+ :log_level)
4763
+ include Aws::Structure
4764
+ end
4765
+
2483
4766
  # Describes the logging options payload.
2484
4767
  #
2485
4768
  # @note When making an API call, you may pass LoggingOptionsPayload
@@ -2495,7 +4778,7 @@ module Aws::IoT
2495
4778
  # @return [String]
2496
4779
  #
2497
4780
  # @!attribute [rw] log_level
2498
- # The logging level.
4781
+ # The log level.
2499
4782
  # @return [String]
2500
4783
  #
2501
4784
  class LoggingOptionsPayload < Struct.new(
@@ -2504,7 +4787,7 @@ module Aws::IoT
2504
4787
  include Aws::Structure
2505
4788
  end
2506
4789
 
2507
- # A certificate that has been transfered but not yet accepted.
4790
+ # A certificate that has been transferred but not yet accepted.
2508
4791
  #
2509
4792
  # @!attribute [rw] certificate_arn
2510
4793
  # The certificate ARN.
@@ -2577,6 +4860,34 @@ module Aws::IoT
2577
4860
  include Aws::Structure
2578
4861
  end
2579
4862
 
4863
+ # Configuration for pre-signed S3 URLs.
4864
+ #
4865
+ # @note When making an API call, you may pass PresignedUrlConfig
4866
+ # data as a hash:
4867
+ #
4868
+ # {
4869
+ # role_arn: "RoleArn",
4870
+ # expires_in_sec: 1,
4871
+ # }
4872
+ #
4873
+ # @!attribute [rw] role_arn
4874
+ # The ARN of an IAM role that grants grants permission to download
4875
+ # files from the S3 bucket where the job data/updates are stored. The
4876
+ # role must also grant permission for IoT to download the files.
4877
+ # @return [String]
4878
+ #
4879
+ # @!attribute [rw] expires_in_sec
4880
+ # How long (in seconds) pre-signed URLs are valid. Valid values are 60
4881
+ # - 3600, the default value is 3600 seconds. Pre-signed URLs are
4882
+ # generated when Jobs receives an MQTT request for the job document.
4883
+ # @return [Integer]
4884
+ #
4885
+ class PresignedUrlConfig < Struct.new(
4886
+ :role_arn,
4887
+ :expires_in_sec)
4888
+ include Aws::Structure
4889
+ end
4890
+
2580
4891
  # The input for the DynamoActionVS action that specifies the DynamoDB
2581
4892
  # table to which the message data will be written.
2582
4893
  #
@@ -2606,6 +4917,10 @@ module Aws::IoT
2606
4917
  # verification_certificate: "CertificatePem", # required
2607
4918
  # set_as_active: false,
2608
4919
  # allow_auto_registration: false,
4920
+ # registration_config: {
4921
+ # template_body: "TemplateBody",
4922
+ # role_arn: "RoleArn",
4923
+ # },
2609
4924
  # }
2610
4925
  #
2611
4926
  # @!attribute [rw] ca_certificate
@@ -2626,11 +4941,16 @@ module Aws::IoT
2626
4941
  # device certificates.
2627
4942
  # @return [Boolean]
2628
4943
  #
4944
+ # @!attribute [rw] registration_config
4945
+ # Information about the registration configuration.
4946
+ # @return [Types::RegistrationConfig]
4947
+ #
2629
4948
  class RegisterCACertificateRequest < Struct.new(
2630
4949
  :ca_certificate,
2631
4950
  :verification_certificate,
2632
4951
  :set_as_active,
2633
- :allow_auto_registration)
4952
+ :allow_auto_registration,
4953
+ :registration_config)
2634
4954
  include Aws::Structure
2635
4955
  end
2636
4956
 
@@ -2704,6 +5024,68 @@ module Aws::IoT
2704
5024
  include Aws::Structure
2705
5025
  end
2706
5026
 
5027
+ # @note When making an API call, you may pass RegisterThingRequest
5028
+ # data as a hash:
5029
+ #
5030
+ # {
5031
+ # template_body: "TemplateBody", # required
5032
+ # parameters: {
5033
+ # "Parameter" => "Value",
5034
+ # },
5035
+ # }
5036
+ #
5037
+ # @!attribute [rw] template_body
5038
+ # The provisioning template.
5039
+ # @return [String]
5040
+ #
5041
+ # @!attribute [rw] parameters
5042
+ # The parameters for provisioning a thing.
5043
+ # @return [Hash<String,String>]
5044
+ #
5045
+ class RegisterThingRequest < Struct.new(
5046
+ :template_body,
5047
+ :parameters)
5048
+ include Aws::Structure
5049
+ end
5050
+
5051
+ # @!attribute [rw] certificate_pem
5052
+ # The PEM of a certificate.
5053
+ # @return [String]
5054
+ #
5055
+ # @!attribute [rw] resource_arns
5056
+ # ARNs for the generated resources.
5057
+ # @return [Hash<String,String>]
5058
+ #
5059
+ class RegisterThingResponse < Struct.new(
5060
+ :certificate_pem,
5061
+ :resource_arns)
5062
+ include Aws::Structure
5063
+ end
5064
+
5065
+ # The registration configuration.
5066
+ #
5067
+ # @note When making an API call, you may pass RegistrationConfig
5068
+ # data as a hash:
5069
+ #
5070
+ # {
5071
+ # template_body: "TemplateBody",
5072
+ # role_arn: "RoleArn",
5073
+ # }
5074
+ #
5075
+ # @!attribute [rw] template_body
5076
+ # The template body.
5077
+ # @return [String]
5078
+ #
5079
+ # @!attribute [rw] role_arn
5080
+ # The ARN of the role.
5081
+ # @return [String]
5082
+ #
5083
+ class RegistrationConfig < Struct.new(
5084
+ :template_body,
5085
+ :role_arn)
5086
+ include Aws::Structure
5087
+ end
5088
+
2707
5089
  # The input for the RejectCertificateTransfer operation.
2708
5090
  #
2709
5091
  # @note When making an API call, you may pass RejectCertificateTransferRequest
@@ -2728,6 +5110,42 @@ module Aws::IoT
2728
5110
  include Aws::Structure
2729
5111
  end
2730
5112
 
5113
+ # @note When making an API call, you may pass RemoveThingFromThingGroupRequest
5114
+ # data as a hash:
5115
+ #
5116
+ # {
5117
+ # thing_group_name: "ThingGroupName",
5118
+ # thing_group_arn: "ThingGroupArn",
5119
+ # thing_name: "ThingName",
5120
+ # thing_arn: "ThingArn",
5121
+ # }
5122
+ #
5123
+ # @!attribute [rw] thing_group_name
5124
+ # The group name.
5125
+ # @return [String]
5126
+ #
5127
+ # @!attribute [rw] thing_group_arn
5128
+ # The group ARN.
5129
+ # @return [String]
5130
+ #
5131
+ # @!attribute [rw] thing_name
5132
+ # The name of the thing to remove from the group.
5133
+ # @return [String]
5134
+ #
5135
+ # @!attribute [rw] thing_arn
5136
+ # The ARN of the thing to remove from the group.
5137
+ # @return [String]
5138
+ #
5139
+ class RemoveThingFromThingGroupRequest < Struct.new(
5140
+ :thing_group_name,
5141
+ :thing_group_arn,
5142
+ :thing_name,
5143
+ :thing_arn)
5144
+ include Aws::Structure
5145
+ end
5146
+
5147
+ class RemoveThingFromThingGroupResponse < Aws::EmptyStructure; end
5148
+
2731
5149
  # The input for the ReplaceTopicRule operation.
2732
5150
  #
2733
5151
  # @note When making an API call, you may pass ReplaceTopicRuleRequest
@@ -2861,6 +5279,42 @@ module Aws::IoT
2861
5279
  include Aws::Structure
2862
5280
  end
2863
5281
 
5282
+ # Role alias description.
5283
+ #
5284
+ # @!attribute [rw] role_alias
5285
+ # The role alias.
5286
+ # @return [String]
5287
+ #
5288
+ # @!attribute [rw] role_arn
5289
+ # The role ARN.
5290
+ # @return [String]
5291
+ #
5292
+ # @!attribute [rw] owner
5293
+ # The role alias owner.
5294
+ # @return [String]
5295
+ #
5296
+ # @!attribute [rw] credential_duration_seconds
5297
+ # The number of seconds for which the credential is valid.
5298
+ # @return [Integer]
5299
+ #
5300
+ # @!attribute [rw] creation_date
5301
+ # The UNIX timestamp of when the role alias was created.
5302
+ # @return [Time]
5303
+ #
5304
+ # @!attribute [rw] last_modified_date
5305
+ # The UNIX timestamp of when the role alias was last modified.
5306
+ # @return [Time]
5307
+ #
5308
+ class RoleAliasDescription < Struct.new(
5309
+ :role_alias,
5310
+ :role_arn,
5311
+ :owner,
5312
+ :credential_duration_seconds,
5313
+ :creation_date,
5314
+ :last_modified_date)
5315
+ include Aws::Structure
5316
+ end
5317
+
2864
5318
  # Describes an action to write data to an Amazon S3 bucket.
2865
5319
  #
2866
5320
  # @note When making an API call, you may pass S3Action
@@ -2932,6 +5386,92 @@ module Aws::IoT
2932
5386
  include Aws::Structure
2933
5387
  end
2934
5388
 
5389
+ # @note When making an API call, you may pass SearchIndexRequest
5390
+ # data as a hash:
5391
+ #
5392
+ # {
5393
+ # index_name: "IndexName",
5394
+ # query_string: "QueryString", # required
5395
+ # next_token: "NextToken",
5396
+ # max_results: 1,
5397
+ # query_version: "QueryVersion",
5398
+ # }
5399
+ #
5400
+ # @!attribute [rw] index_name
5401
+ # The search index name.
5402
+ # @return [String]
5403
+ #
5404
+ # @!attribute [rw] query_string
5405
+ # The search query string.
5406
+ # @return [String]
5407
+ #
5408
+ # @!attribute [rw] next_token
5409
+ # The token used to get the next set of results, or **null** if there
5410
+ # are no additional results.
5411
+ # @return [String]
5412
+ #
5413
+ # @!attribute [rw] max_results
5414
+ # The maximum number of results to return at one time.
5415
+ # @return [Integer]
5416
+ #
5417
+ # @!attribute [rw] query_version
5418
+ # The query version.
5419
+ # @return [String]
5420
+ #
5421
+ class SearchIndexRequest < Struct.new(
5422
+ :index_name,
5423
+ :query_string,
5424
+ :next_token,
5425
+ :max_results,
5426
+ :query_version)
5427
+ include Aws::Structure
5428
+ end
5429
+
5430
+ # @!attribute [rw] next_token
5431
+ # The token used to get the next set of results, or **null** if there
5432
+ # are no additional results.
5433
+ # @return [String]
5434
+ #
5435
+ # @!attribute [rw] things
5436
+ # The things that match the search query.
5437
+ # @return [Array<Types::ThingDocument>]
5438
+ #
5439
+ class SearchIndexResponse < Struct.new(
5440
+ :next_token,
5441
+ :things)
5442
+ include Aws::Structure
5443
+ end
5444
+
5445
+ # @note When making an API call, you may pass SetDefaultAuthorizerRequest
5446
+ # data as a hash:
5447
+ #
5448
+ # {
5449
+ # authorizer_name: "AuthorizerName", # required
5450
+ # }
5451
+ #
5452
+ # @!attribute [rw] authorizer_name
5453
+ # The authorizer name.
5454
+ # @return [String]
5455
+ #
5456
+ class SetDefaultAuthorizerRequest < Struct.new(
5457
+ :authorizer_name)
5458
+ include Aws::Structure
5459
+ end
5460
+
5461
+ # @!attribute [rw] authorizer_name
5462
+ # The authorizer name.
5463
+ # @return [String]
5464
+ #
5465
+ # @!attribute [rw] authorizer_arn
5466
+ # The authorizer ARN.
5467
+ # @return [String]
5468
+ #
5469
+ class SetDefaultAuthorizerResponse < Struct.new(
5470
+ :authorizer_name,
5471
+ :authorizer_arn)
5472
+ include Aws::Structure
5473
+ end
5474
+
2935
5475
  # The input for the SetDefaultPolicyVersion operation.
2936
5476
  #
2937
5477
  # @note When making an API call, you may pass SetDefaultPolicyVersionRequest
@@ -2977,6 +5517,59 @@ module Aws::IoT
2977
5517
  include Aws::Structure
2978
5518
  end
2979
5519
 
5520
+ # @note When making an API call, you may pass SetV2LoggingLevelRequest
5521
+ # data as a hash:
5522
+ #
5523
+ # {
5524
+ # log_target: { # required
5525
+ # target_type: "DEFAULT", # required, accepts DEFAULT, THING_GROUP
5526
+ # target_name: "LogTargetName",
5527
+ # },
5528
+ # log_level: "DEBUG", # required, accepts DEBUG, INFO, ERROR, WARN, DISABLED
5529
+ # }
5530
+ #
5531
+ # @!attribute [rw] log_target
5532
+ # The log target.
5533
+ # @return [Types::LogTarget]
5534
+ #
5535
+ # @!attribute [rw] log_level
5536
+ # The log level.
5537
+ # @return [String]
5538
+ #
5539
+ class SetV2LoggingLevelRequest < Struct.new(
5540
+ :log_target,
5541
+ :log_level)
5542
+ include Aws::Structure
5543
+ end
5544
+
5545
+ # @note When making an API call, you may pass SetV2LoggingOptionsRequest
5546
+ # data as a hash:
5547
+ #
5548
+ # {
5549
+ # role_arn: "AwsArn",
5550
+ # default_log_level: "DEBUG", # accepts DEBUG, INFO, ERROR, WARN, DISABLED
5551
+ # disable_all_logs: false,
5552
+ # }
5553
+ #
5554
+ # @!attribute [rw] role_arn
5555
+ # The role ARN that allows IoT to write to Cloudwatch logs.
5556
+ # @return [String]
5557
+ #
5558
+ # @!attribute [rw] default_log_level
5559
+ # The default logging level.
5560
+ # @return [String]
5561
+ #
5562
+ # @!attribute [rw] disable_all_logs
5563
+ # Set to true to disable all logs, otherwise set to false.
5564
+ # @return [Boolean]
5565
+ #
5566
+ class SetV2LoggingOptionsRequest < Struct.new(
5567
+ :role_arn,
5568
+ :default_log_level,
5569
+ :disable_all_logs)
5570
+ include Aws::Structure
5571
+ end
5572
+
2980
5573
  # Describes an action to publish to an Amazon SNS topic.
2981
5574
  #
2982
5575
  # @note When making an API call, you may pass SnsAction
@@ -2988,62 +5581,248 @@ module Aws::IoT
2988
5581
  # message_format: "RAW", # accepts RAW, JSON
2989
5582
  # }
2990
5583
  #
2991
- # @!attribute [rw] target_arn
2992
- # The ARN of the SNS topic.
5584
+ # @!attribute [rw] target_arn
5585
+ # The ARN of the SNS topic.
5586
+ # @return [String]
5587
+ #
5588
+ # @!attribute [rw] role_arn
5589
+ # The ARN of the IAM role that grants access.
5590
+ # @return [String]
5591
+ #
5592
+ # @!attribute [rw] message_format
5593
+ # The message format of the message to publish. Optional. Accepted
5594
+ # values are "JSON" and "RAW". The default value of the attribute
5595
+ # is "RAW". SNS uses this setting to determine if the payload should
5596
+ # be parsed and relevant platform-specific bits of the payload should
5597
+ # be extracted. To read more about SNS message formats, see
5598
+ # [http://docs.aws.amazon.com/sns/latest/dg/json-formats.html][1]
5599
+ # refer to their official documentation.
5600
+ #
5601
+ #
5602
+ #
5603
+ # [1]: http://docs.aws.amazon.com/sns/latest/dg/json-formats.html
5604
+ # @return [String]
5605
+ #
5606
+ class SnsAction < Struct.new(
5607
+ :target_arn,
5608
+ :role_arn,
5609
+ :message_format)
5610
+ include Aws::Structure
5611
+ end
5612
+
5613
+ # Describes an action to publish data to an Amazon SQS queue.
5614
+ #
5615
+ # @note When making an API call, you may pass SqsAction
5616
+ # data as a hash:
5617
+ #
5618
+ # {
5619
+ # role_arn: "AwsArn", # required
5620
+ # queue_url: "QueueUrl", # required
5621
+ # use_base_64: false,
5622
+ # }
5623
+ #
5624
+ # @!attribute [rw] role_arn
5625
+ # The ARN of the IAM role that grants access.
5626
+ # @return [String]
5627
+ #
5628
+ # @!attribute [rw] queue_url
5629
+ # The URL of the Amazon SQS queue.
5630
+ # @return [String]
5631
+ #
5632
+ # @!attribute [rw] use_base_64
5633
+ # Specifies whether to use Base64 encoding.
5634
+ # @return [Boolean]
5635
+ #
5636
+ class SqsAction < Struct.new(
5637
+ :role_arn,
5638
+ :queue_url,
5639
+ :use_base_64)
5640
+ include Aws::Structure
5641
+ end
5642
+
5643
+ # @note When making an API call, you may pass StartThingRegistrationTaskRequest
5644
+ # data as a hash:
5645
+ #
5646
+ # {
5647
+ # template_body: "TemplateBody", # required
5648
+ # input_file_bucket: "RegistryS3BucketName", # required
5649
+ # input_file_key: "RegistryS3KeyName", # required
5650
+ # role_arn: "RoleArn", # required
5651
+ # }
5652
+ #
5653
+ # @!attribute [rw] template_body
5654
+ # The provisioning template.
5655
+ # @return [String]
5656
+ #
5657
+ # @!attribute [rw] input_file_bucket
5658
+ # The S3 bucket that contains the input file.
5659
+ # @return [String]
5660
+ #
5661
+ # @!attribute [rw] input_file_key
5662
+ # The name of input file within the S3 bucket. This file contains a
5663
+ # newline delimited JSON file. Each line contains the parameter values
5664
+ # to provision one device (thing).
5665
+ # @return [String]
5666
+ #
5667
+ # @!attribute [rw] role_arn
5668
+ # The IAM role ARN that grants permission the input file.
5669
+ # @return [String]
5670
+ #
5671
+ class StartThingRegistrationTaskRequest < Struct.new(
5672
+ :template_body,
5673
+ :input_file_bucket,
5674
+ :input_file_key,
5675
+ :role_arn)
5676
+ include Aws::Structure
5677
+ end
5678
+
5679
+ # @!attribute [rw] task_id
5680
+ # The bulk thing provisioning task ID.
5681
+ # @return [String]
5682
+ #
5683
+ class StartThingRegistrationTaskResponse < Struct.new(
5684
+ :task_id)
5685
+ include Aws::Structure
5686
+ end
5687
+
5688
+ # @note When making an API call, you may pass StopThingRegistrationTaskRequest
5689
+ # data as a hash:
5690
+ #
5691
+ # {
5692
+ # task_id: "TaskId", # required
5693
+ # }
5694
+ #
5695
+ # @!attribute [rw] task_id
5696
+ # The bulk thing provisioning task ID.
5697
+ # @return [String]
5698
+ #
5699
+ class StopThingRegistrationTaskRequest < Struct.new(
5700
+ :task_id)
5701
+ include Aws::Structure
5702
+ end
5703
+
5704
+ class StopThingRegistrationTaskResponse < Aws::EmptyStructure; end
5705
+
5706
+ # @note When making an API call, you may pass TestAuthorizationRequest
5707
+ # data as a hash:
5708
+ #
5709
+ # {
5710
+ # principal: "Principal",
5711
+ # cognito_identity_pool_id: "CognitoIdentityPoolId",
5712
+ # auth_infos: [ # required
5713
+ # {
5714
+ # action_type: "PUBLISH", # accepts PUBLISH, SUBSCRIBE, RECEIVE, CONNECT
5715
+ # resources: ["Resource"],
5716
+ # },
5717
+ # ],
5718
+ # client_id: "ClientId",
5719
+ # policy_names_to_add: ["PolicyName"],
5720
+ # policy_names_to_skip: ["PolicyName"],
5721
+ # }
5722
+ #
5723
+ # @!attribute [rw] principal
5724
+ # The principal.
2993
5725
  # @return [String]
2994
5726
  #
2995
- # @!attribute [rw] role_arn
2996
- # The ARN of the IAM role that grants access.
5727
+ # @!attribute [rw] cognito_identity_pool_id
5728
+ # The Cognito identity pool ID.
2997
5729
  # @return [String]
2998
5730
  #
2999
- # @!attribute [rw] message_format
3000
- # The message format of the message to publish. Optional. Accepted
3001
- # values are "JSON" and "RAW". The default value of the attribute
3002
- # is "RAW". SNS uses this setting to determine if the payload should
3003
- # be parsed and relevant platform-specific bits of the payload should
3004
- # be extracted. To read more about SNS message formats, see
3005
- # [http://docs.aws.amazon.com/sns/latest/dg/json-formats.html][1]
3006
- # refer to their official documentation.
5731
+ # @!attribute [rw] auth_infos
5732
+ # A list of authorization info objects. Simulating authorization will
5733
+ # create a response for each `authInfo` object in the list.
5734
+ # @return [Array<Types::AuthInfo>]
3007
5735
  #
5736
+ # @!attribute [rw] client_id
5737
+ # The MQTT client ID.
5738
+ # @return [String]
3008
5739
  #
5740
+ # @!attribute [rw] policy_names_to_add
5741
+ # When testing custom authorization, the policies specified here are
5742
+ # treated as if they are attached to the principal being authorized.
5743
+ # @return [Array<String>]
3009
5744
  #
3010
- # [1]: http://docs.aws.amazon.com/sns/latest/dg/json-formats.html
3011
- # @return [String]
5745
+ # @!attribute [rw] policy_names_to_skip
5746
+ # When testing custom authorization, the policies specified here are
5747
+ # treated as if they are not attached to the principal being
5748
+ # authorized.
5749
+ # @return [Array<String>]
3012
5750
  #
3013
- class SnsAction < Struct.new(
3014
- :target_arn,
3015
- :role_arn,
3016
- :message_format)
5751
+ class TestAuthorizationRequest < Struct.new(
5752
+ :principal,
5753
+ :cognito_identity_pool_id,
5754
+ :auth_infos,
5755
+ :client_id,
5756
+ :policy_names_to_add,
5757
+ :policy_names_to_skip)
3017
5758
  include Aws::Structure
3018
5759
  end
3019
5760
 
3020
- # Describes an action to publish data to an Amazon SQS queue.
5761
+ # @!attribute [rw] auth_results
5762
+ # The authentication results.
5763
+ # @return [Array<Types::AuthResult>]
3021
5764
  #
3022
- # @note When making an API call, you may pass SqsAction
5765
+ class TestAuthorizationResponse < Struct.new(
5766
+ :auth_results)
5767
+ include Aws::Structure
5768
+ end
5769
+
5770
+ # @note When making an API call, you may pass TestInvokeAuthorizerRequest
3023
5771
  # data as a hash:
3024
5772
  #
3025
5773
  # {
3026
- # role_arn: "AwsArn", # required
3027
- # queue_url: "QueueUrl", # required
3028
- # use_base_64: false,
5774
+ # authorizer_name: "AuthorizerName", # required
5775
+ # token: "Token", # required
5776
+ # token_signature: "TokenSignature", # required
3029
5777
  # }
3030
5778
  #
3031
- # @!attribute [rw] role_arn
3032
- # The ARN of the IAM role that grants access.
5779
+ # @!attribute [rw] authorizer_name
5780
+ # The custom authorizer name.
3033
5781
  # @return [String]
3034
5782
  #
3035
- # @!attribute [rw] queue_url
3036
- # The URL of the Amazon SQS queue.
5783
+ # @!attribute [rw] token
5784
+ # The token returned by your custom authentication service.
3037
5785
  # @return [String]
3038
5786
  #
3039
- # @!attribute [rw] use_base_64
3040
- # Specifies whether to use Base64 encoding.
5787
+ # @!attribute [rw] token_signature
5788
+ # The signature made with the token and your custom authentication
5789
+ # service's private key.
5790
+ # @return [String]
5791
+ #
5792
+ class TestInvokeAuthorizerRequest < Struct.new(
5793
+ :authorizer_name,
5794
+ :token,
5795
+ :token_signature)
5796
+ include Aws::Structure
5797
+ end
5798
+
5799
+ # @!attribute [rw] is_authenticated
5800
+ # True if the token is authenticated, otherwise false.
3041
5801
  # @return [Boolean]
3042
5802
  #
3043
- class SqsAction < Struct.new(
3044
- :role_arn,
3045
- :queue_url,
3046
- :use_base_64)
5803
+ # @!attribute [rw] principal_id
5804
+ # The principal ID.
5805
+ # @return [String]
5806
+ #
5807
+ # @!attribute [rw] policy_documents
5808
+ # IAM policy documents.
5809
+ # @return [Array<String>]
5810
+ #
5811
+ # @!attribute [rw] refresh_after_in_seconds
5812
+ # The number of seconds after which the temporary credentials are
5813
+ # refreshed.
5814
+ # @return [Integer]
5815
+ #
5816
+ # @!attribute [rw] disconnect_after_in_seconds
5817
+ # The number of seconds after which the connection is terminated.
5818
+ # @return [Integer]
5819
+ #
5820
+ class TestInvokeAuthorizerResponse < Struct.new(
5821
+ :is_authenticated,
5822
+ :principal_id,
5823
+ :policy_documents,
5824
+ :refresh_after_in_seconds,
5825
+ :disconnect_after_in_seconds)
3047
5826
  include Aws::Structure
3048
5827
  end
3049
5828
 
@@ -3059,6 +5838,10 @@ module Aws::IoT
3059
5838
  # type.
3060
5839
  # @return [String]
3061
5840
  #
5841
+ # @!attribute [rw] thing_arn
5842
+ # The thing ARN.
5843
+ # @return [String]
5844
+ #
3062
5845
  # @!attribute [rw] attributes
3063
5846
  # A list of thing attributes which are name-value pairs.
3064
5847
  # @return [Hash<String,String>]
@@ -3070,11 +5853,123 @@ module Aws::IoT
3070
5853
  class ThingAttribute < Struct.new(
3071
5854
  :thing_name,
3072
5855
  :thing_type_name,
5856
+ :thing_arn,
3073
5857
  :attributes,
3074
5858
  :version)
3075
5859
  include Aws::Structure
3076
5860
  end
3077
5861
 
5862
+ # The thing search index document.
5863
+ #
5864
+ # @!attribute [rw] thing_name
5865
+ # The thing name.
5866
+ # @return [String]
5867
+ #
5868
+ # @!attribute [rw] thing_id
5869
+ # The thing ID.
5870
+ # @return [String]
5871
+ #
5872
+ # @!attribute [rw] thing_type_name
5873
+ # The thing type name.
5874
+ # @return [String]
5875
+ #
5876
+ # @!attribute [rw] thing_group_names
5877
+ # Thing group names.
5878
+ # @return [Array<String>]
5879
+ #
5880
+ # @!attribute [rw] attributes
5881
+ # The attributes.
5882
+ # @return [Hash<String,String>]
5883
+ #
5884
+ # @!attribute [rw] shadow
5885
+ # The thing shadow.
5886
+ # @return [String]
5887
+ #
5888
+ class ThingDocument < Struct.new(
5889
+ :thing_name,
5890
+ :thing_id,
5891
+ :thing_type_name,
5892
+ :thing_group_names,
5893
+ :attributes,
5894
+ :shadow)
5895
+ include Aws::Structure
5896
+ end
5897
+
5898
+ # Thing group metadata.
5899
+ #
5900
+ # @!attribute [rw] parent_group_name
5901
+ # The parent thing group name.
5902
+ # @return [String]
5903
+ #
5904
+ # @!attribute [rw] root_to_parent_thing_groups
5905
+ # The root parent thing group.
5906
+ # @return [Array<Types::GroupNameAndArn>]
5907
+ #
5908
+ # @!attribute [rw] creation_date
5909
+ # The UNIX timestamp of when the thing group was created.
5910
+ # @return [Time]
5911
+ #
5912
+ class ThingGroupMetadata < Struct.new(
5913
+ :parent_group_name,
5914
+ :root_to_parent_thing_groups,
5915
+ :creation_date)
5916
+ include Aws::Structure
5917
+ end
5918
+
5919
+ # Thing group properties.
5920
+ #
5921
+ # @note When making an API call, you may pass ThingGroupProperties
5922
+ # data as a hash:
5923
+ #
5924
+ # {
5925
+ # thing_group_description: "ThingGroupDescription",
5926
+ # attribute_payload: {
5927
+ # attributes: {
5928
+ # "AttributeName" => "AttributeValue",
5929
+ # },
5930
+ # merge: false,
5931
+ # },
5932
+ # }
5933
+ #
5934
+ # @!attribute [rw] thing_group_description
5935
+ # The thing group description.
5936
+ # @return [String]
5937
+ #
5938
+ # @!attribute [rw] attribute_payload
5939
+ # The thing group attributes in JSON format.
5940
+ # @return [Types::AttributePayload]
5941
+ #
5942
+ class ThingGroupProperties < Struct.new(
5943
+ :thing_group_description,
5944
+ :attribute_payload)
5945
+ include Aws::Structure
5946
+ end
5947
+
5948
+ # Thing indexing configuration.
5949
+ #
5950
+ # @note When making an API call, you may pass ThingIndexingConfiguration
5951
+ # data as a hash:
5952
+ #
5953
+ # {
5954
+ # thing_indexing_mode: "OFF", # accepts OFF, REGISTRY, REGISTRY_AND_SHADOW
5955
+ # }
5956
+ #
5957
+ # @!attribute [rw] thing_indexing_mode
5958
+ # Thing indexing mode. Valid values are:
5959
+ #
5960
+ # * REGISTRY – Your thing index will contain only registry data.
5961
+ #
5962
+ # * REGISTRY\_AND\_SHADOW - Your thing index will contain registry and
5963
+ # shadow data.
5964
+ #
5965
+ # * OFF - Thing indexing is disabled.
5966
+ # @return [String]
5967
+ #
5968
+ class ThingIndexingConfiguration < Struct.new(
5969
+ :thing_indexing_mode)
5970
+ include Aws::Structure
5971
+ end
5972
+
3078
5973
  # The definition of the thing type, including thing type name and
3079
5974
  # description.
3080
5975
  #
@@ -3082,6 +5977,10 @@ module Aws::IoT
3082
5977
  # The name of the thing type.
3083
5978
  # @return [String]
3084
5979
  #
5980
+ # @!attribute [rw] thing_type_arn
5981
+ # The thing type ARN.
5982
+ # @return [String]
5983
+ #
3085
5984
  # @!attribute [rw] thing_type_properties
3086
5985
  # The ThingTypeProperties for the thing type.
3087
5986
  # @return [Types::ThingTypeProperties]
@@ -3095,6 +5994,7 @@ module Aws::IoT
3095
5994
  #
3096
5995
  class ThingTypeDefinition < Struct.new(
3097
5996
  :thing_type_name,
5997
+ :thing_type_arn,
3098
5998
  :thing_type_properties,
3099
5999
  :thing_type_metadata)
3100
6000
  include Aws::Structure
@@ -3422,6 +6322,62 @@ module Aws::IoT
3422
6322
  include Aws::Structure
3423
6323
  end
3424
6324
 
6325
+ # @note When making an API call, you may pass UpdateAuthorizerRequest
6326
+ # data as a hash:
6327
+ #
6328
+ # {
6329
+ # authorizer_name: "AuthorizerName", # required
6330
+ # authorizer_function_arn: "AuthorizerFunctionArn",
6331
+ # token_key_name: "TokenKeyName",
6332
+ # token_signing_public_keys: {
6333
+ # "KeyName" => "KeyValue",
6334
+ # },
6335
+ # status: "ACTIVE", # accepts ACTIVE, INACTIVE
6336
+ # }
6337
+ #
6338
+ # @!attribute [rw] authorizer_name
6339
+ # The authorizer name.
6340
+ # @return [String]
6341
+ #
6342
+ # @!attribute [rw] authorizer_function_arn
6343
+ # The ARN of the authorizer's Lambda function.
6344
+ # @return [String]
6345
+ #
6346
+ # @!attribute [rw] token_key_name
6347
+ # The key used to extract the token from the HTTP headers.
6348
+ # @return [String]
6349
+ #
6350
+ # @!attribute [rw] token_signing_public_keys
6351
+ # The public keys used to verify the token signature.
6352
+ # @return [Hash<String,String>]
6353
+ #
6354
+ # @!attribute [rw] status
6355
+ # The status of the update authorizer request.
6356
+ # @return [String]
6357
+ #
6358
+ class UpdateAuthorizerRequest < Struct.new(
6359
+ :authorizer_name,
6360
+ :authorizer_function_arn,
6361
+ :token_key_name,
6362
+ :token_signing_public_keys,
6363
+ :status)
6364
+ include Aws::Structure
6365
+ end
6366
+
6367
+ # @!attribute [rw] authorizer_name
6368
+ # The authorizer name.
6369
+ # @return [String]
6370
+ #
6371
+ # @!attribute [rw] authorizer_arn
6372
+ # The authorizer ARN.
6373
+ # @return [String]
6374
+ #
6375
+ class UpdateAuthorizerResponse < Struct.new(
6376
+ :authorizer_name,
6377
+ :authorizer_arn)
6378
+ include Aws::Structure
6379
+ end
6380
+
3425
6381
  # The input to the UpdateCACertificate operation.
3426
6382
  #
3427
6383
  # @note When making an API call, you may pass UpdateCACertificateRequest
@@ -3431,6 +6387,11 @@ module Aws::IoT
3431
6387
  # certificate_id: "CertificateId", # required
3432
6388
  # new_status: "ACTIVE", # accepts ACTIVE, INACTIVE
3433
6389
  # new_auto_registration_status: "ENABLE", # accepts ENABLE, DISABLE
6390
+ # registration_config: {
6391
+ # template_body: "TemplateBody",
6392
+ # role_arn: "RoleArn",
6393
+ # },
6394
+ # remove_auto_registration: false,
3434
6395
  # }
3435
6396
  #
3436
6397
  # @!attribute [rw] certificate_id
@@ -3449,10 +6410,20 @@ module Aws::IoT
3449
6410
  # "ENABLE" or "DISABLE".
3450
6411
  # @return [String]
3451
6412
  #
6413
+ # @!attribute [rw] registration_config
6414
+ # Information about the registration configuration.
6415
+ # @return [Types::RegistrationConfig]
6416
+ #
6417
+ # @!attribute [rw] remove_auto_registration
6418
+ # If true, remove auto registration.
6419
+ # @return [Boolean]
6420
+ #
3452
6421
  class UpdateCACertificateRequest < Struct.new(
3453
6422
  :certificate_id,
3454
6423
  :new_status,
3455
- :new_auto_registration_status)
6424
+ :new_auto_registration_status,
6425
+ :registration_config,
6426
+ :remove_auto_registration)
3456
6427
  include Aws::Structure
3457
6428
  end
3458
6429
 
@@ -3487,6 +6458,166 @@ module Aws::IoT
3487
6458
  include Aws::Structure
3488
6459
  end
3489
6460
 
6461
+ # @note When making an API call, you may pass UpdateEventConfigurationsRequest
6462
+ # data as a hash:
6463
+ #
6464
+ # {
6465
+ # event_configurations: {
6466
+ # "THING" => {
6467
+ # enabled: false,
6468
+ # },
6469
+ # },
6470
+ # }
6471
+ #
6472
+ # @!attribute [rw] event_configurations
6473
+ # The new event configuration values.
6474
+ # @return [Hash<String,Types::Configuration>]
6475
+ #
6476
+ class UpdateEventConfigurationsRequest < Struct.new(
6477
+ :event_configurations)
6478
+ include Aws::Structure
6479
+ end
6480
+
6481
+ class UpdateEventConfigurationsResponse < Aws::EmptyStructure; end
6482
+
6483
+ # @note When making an API call, you may pass UpdateIndexingConfigurationRequest
6484
+ # data as a hash:
6485
+ #
6486
+ # {
6487
+ # thing_indexing_configuration: {
6488
+ # thing_indexing_mode: "OFF", # accepts OFF, REGISTRY, REGISTRY_AND_SHADOW
6489
+ # },
6490
+ # }
6491
+ #
6492
+ # @!attribute [rw] thing_indexing_configuration
6493
+ # Thing indexing configuration.
6494
+ # @return [Types::ThingIndexingConfiguration]
6495
+ #
6496
+ class UpdateIndexingConfigurationRequest < Struct.new(
6497
+ :thing_indexing_configuration)
6498
+ include Aws::Structure
6499
+ end
6500
+
6501
+ class UpdateIndexingConfigurationResponse < Aws::EmptyStructure; end
6502
+
6503
+ # @note When making an API call, you may pass UpdateRoleAliasRequest
6504
+ # data as a hash:
6505
+ #
6506
+ # {
6507
+ # role_alias: "RoleAlias", # required
6508
+ # role_arn: "RoleArn",
6509
+ # credential_duration_seconds: 1,
6510
+ # }
6511
+ #
6512
+ # @!attribute [rw] role_alias
6513
+ # The role alias to update.
6514
+ # @return [String]
6515
+ #
6516
+ # @!attribute [rw] role_arn
6517
+ # The role ARN.
6518
+ # @return [String]
6519
+ #
6520
+ # @!attribute [rw] credential_duration_seconds
6521
+ # The number of seconds the credential will be valid.
6522
+ # @return [Integer]
6523
+ #
6524
+ class UpdateRoleAliasRequest < Struct.new(
6525
+ :role_alias,
6526
+ :role_arn,
6527
+ :credential_duration_seconds)
6528
+ include Aws::Structure
6529
+ end
6530
+
6531
+ # @!attribute [rw] role_alias
6532
+ # The role alias.
6533
+ # @return [String]
6534
+ #
6535
+ # @!attribute [rw] role_alias_arn
6536
+ # The role alias ARN.
6537
+ # @return [String]
6538
+ #
6539
+ class UpdateRoleAliasResponse < Struct.new(
6540
+ :role_alias,
6541
+ :role_alias_arn)
6542
+ include Aws::Structure
6543
+ end
6544
+
6545
+ # @note When making an API call, you may pass UpdateThingGroupRequest
6546
+ # data as a hash:
6547
+ #
6548
+ # {
6549
+ # thing_group_name: "ThingGroupName", # required
6550
+ # thing_group_properties: { # required
6551
+ # thing_group_description: "ThingGroupDescription",
6552
+ # attribute_payload: {
6553
+ # attributes: {
6554
+ # "AttributeName" => "AttributeValue",
6555
+ # },
6556
+ # merge: false,
6557
+ # },
6558
+ # },
6559
+ # expected_version: 1,
6560
+ # }
6561
+ #
6562
+ # @!attribute [rw] thing_group_name
6563
+ # The thing group to update.
6564
+ # @return [String]
6565
+ #
6566
+ # @!attribute [rw] thing_group_properties
6567
+ # The thing group properties.
6568
+ # @return [Types::ThingGroupProperties]
6569
+ #
6570
+ # @!attribute [rw] expected_version
6571
+ # The expected version of the thing group. If this does not match the
6572
+ # version of the thing group being updated, the update will fail.
6573
+ # @return [Integer]
6574
+ #
6575
+ class UpdateThingGroupRequest < Struct.new(
6576
+ :thing_group_name,
6577
+ :thing_group_properties,
6578
+ :expected_version)
6579
+ include Aws::Structure
6580
+ end
6581
+
6582
+ # @!attribute [rw] version
6583
+ # The version of the updated thing group.
6584
+ # @return [Integer]
6585
+ #
6586
+ class UpdateThingGroupResponse < Struct.new(
6587
+ :version)
6588
+ include Aws::Structure
6589
+ end
6590
+
6591
+ # @note When making an API call, you may pass UpdateThingGroupsForThingRequest
6592
+ # data as a hash:
6593
+ #
6594
+ # {
6595
+ # thing_name: "ThingName",
6596
+ # thing_groups_to_add: ["ThingGroupName"],
6597
+ # thing_groups_to_remove: ["ThingGroupName"],
6598
+ # }
6599
+ #
6600
+ # @!attribute [rw] thing_name
6601
+ # The thing whose group memberships will be updated.
6602
+ # @return [String]
6603
+ #
6604
+ # @!attribute [rw] thing_groups_to_add
6605
+ # The groups to which the thing will be added.
6606
+ # @return [Array<String>]
6607
+ #
6608
+ # @!attribute [rw] thing_groups_to_remove
6609
+ # The groups from which the thing will be removed.
6610
+ # @return [Array<String>]
6611
+ #
6612
+ class UpdateThingGroupsForThingRequest < Struct.new(
6613
+ :thing_name,
6614
+ :thing_groups_to_add,
6615
+ :thing_groups_to_remove)
6616
+ include Aws::Structure
6617
+ end
6618
+
6619
+ class UpdateThingGroupsForThingResponse < Aws::EmptyStructure; end
6620
+
3490
6621
  # The input for the UpdateThing operation.
3491
6622
  #
3492
6623
  # @note When making an API call, you may pass UpdateThingRequest
@@ -3531,7 +6662,7 @@ module Aws::IoT
3531
6662
  # @return [Integer]
3532
6663
  #
3533
6664
  # @!attribute [rw] remove_thing_type
3534
- # Remove a thing type association. If **true**, the assocation is
6665
+ # Remove a thing type association. If **true**, the association is
3535
6666
  # removed.
3536
6667
  # @return [Boolean]
3537
6668
  #