aws-sdk-iot 1.0.0 → 1.1.0

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