aws-sdk-iot 1.61.0 → 1.66.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -89,7 +89,6 @@ module Aws::IoT
89
89
  AuditMitigationActionExecutionMetadata = Shapes::StructureShape.new(name: 'AuditMitigationActionExecutionMetadata')
90
90
  AuditMitigationActionExecutionMetadataList = Shapes::ListShape.new(name: 'AuditMitigationActionExecutionMetadataList')
91
91
  AuditMitigationActionsExecutionStatus = Shapes::StringShape.new(name: 'AuditMitigationActionsExecutionStatus')
92
- AuditMitigationActionsTaskId = Shapes::StringShape.new(name: 'AuditMitigationActionsTaskId')
93
92
  AuditMitigationActionsTaskMetadata = Shapes::StructureShape.new(name: 'AuditMitigationActionsTaskMetadata')
94
93
  AuditMitigationActionsTaskMetadataList = Shapes::ListShape.new(name: 'AuditMitigationActionsTaskMetadataList')
95
94
  AuditMitigationActionsTaskStatistics = Shapes::MapShape.new(name: 'AuditMitigationActionsTaskStatistics')
@@ -141,9 +140,13 @@ module Aws::IoT
141
140
  AwsJobRolloutRatePerMinute = Shapes::IntegerShape.new(name: 'AwsJobRolloutRatePerMinute')
142
141
  AwsJobTimeoutConfig = Shapes::StructureShape.new(name: 'AwsJobTimeoutConfig')
143
142
  AwsJobTimeoutInProgressTimeoutInMinutes = Shapes::IntegerShape.new(name: 'AwsJobTimeoutInProgressTimeoutInMinutes')
143
+ BatchMode = Shapes::BooleanShape.new(name: 'BatchMode')
144
144
  Behavior = Shapes::StructureShape.new(name: 'Behavior')
145
145
  BehaviorCriteria = Shapes::StructureShape.new(name: 'BehaviorCriteria')
146
+ BehaviorCriteriaType = Shapes::StringShape.new(name: 'BehaviorCriteriaType')
146
147
  BehaviorMetric = Shapes::StringShape.new(name: 'BehaviorMetric')
148
+ BehaviorModelTrainingSummaries = Shapes::ListShape.new(name: 'BehaviorModelTrainingSummaries')
149
+ BehaviorModelTrainingSummary = Shapes::StructureShape.new(name: 'BehaviorModelTrainingSummary')
147
150
  BehaviorName = Shapes::StringShape.new(name: 'BehaviorName')
148
151
  Behaviors = Shapes::ListShape.new(name: 'Behaviors')
149
152
  BillingGroupArn = Shapes::StringShape.new(name: 'BillingGroupArn')
@@ -166,6 +169,8 @@ module Aws::IoT
166
169
  CancelAuditTaskRequest = Shapes::StructureShape.new(name: 'CancelAuditTaskRequest')
167
170
  CancelAuditTaskResponse = Shapes::StructureShape.new(name: 'CancelAuditTaskResponse')
168
171
  CancelCertificateTransferRequest = Shapes::StructureShape.new(name: 'CancelCertificateTransferRequest')
172
+ CancelDetectMitigationActionsTaskRequest = Shapes::StructureShape.new(name: 'CancelDetectMitigationActionsTaskRequest')
173
+ CancelDetectMitigationActionsTaskResponse = Shapes::StructureShape.new(name: 'CancelDetectMitigationActionsTaskResponse')
169
174
  CancelJobExecutionRequest = Shapes::StructureShape.new(name: 'CancelJobExecutionRequest')
170
175
  CancelJobRequest = Shapes::StructureShape.new(name: 'CancelJobRequest')
171
176
  CancelJobResponse = Shapes::StructureShape.new(name: 'CancelJobResponse')
@@ -195,6 +200,7 @@ module Aws::IoT
195
200
  ClearDefaultAuthorizerRequest = Shapes::StructureShape.new(name: 'ClearDefaultAuthorizerRequest')
196
201
  ClearDefaultAuthorizerResponse = Shapes::StructureShape.new(name: 'ClearDefaultAuthorizerResponse')
197
202
  ClientId = Shapes::StringShape.new(name: 'ClientId')
203
+ ClientProperties = Shapes::MapShape.new(name: 'ClientProperties')
198
204
  ClientRequestToken = Shapes::StringShape.new(name: 'ClientRequestToken')
199
205
  CloudwatchAlarmAction = Shapes::StructureShape.new(name: 'CloudwatchAlarmAction')
200
206
  CloudwatchLogsAction = Shapes::StructureShape.new(name: 'CloudwatchLogsAction')
@@ -207,6 +213,7 @@ module Aws::IoT
207
213
  Comment = Shapes::StringShape.new(name: 'Comment')
208
214
  ComparisonOperator = Shapes::StringShape.new(name: 'ComparisonOperator')
209
215
  CompliantChecksCount = Shapes::IntegerShape.new(name: 'CompliantChecksCount')
216
+ ConfidenceLevel = Shapes::StringShape.new(name: 'ConfidenceLevel')
210
217
  Configuration = Shapes::StructureShape.new(name: 'Configuration')
211
218
  ConfirmTopicRuleDestinationRequest = Shapes::StructureShape.new(name: 'ConfirmTopicRuleDestinationRequest')
212
219
  ConfirmTopicRuleDestinationResponse = Shapes::StructureShape.new(name: 'ConfirmTopicRuleDestinationResponse')
@@ -224,6 +231,8 @@ module Aws::IoT
224
231
  CreateBillingGroupResponse = Shapes::StructureShape.new(name: 'CreateBillingGroupResponse')
225
232
  CreateCertificateFromCsrRequest = Shapes::StructureShape.new(name: 'CreateCertificateFromCsrRequest')
226
233
  CreateCertificateFromCsrResponse = Shapes::StructureShape.new(name: 'CreateCertificateFromCsrResponse')
234
+ CreateCustomMetricRequest = Shapes::StructureShape.new(name: 'CreateCustomMetricRequest')
235
+ CreateCustomMetricResponse = Shapes::StructureShape.new(name: 'CreateCustomMetricResponse')
227
236
  CreateDimensionRequest = Shapes::StructureShape.new(name: 'CreateDimensionRequest')
228
237
  CreateDimensionResponse = Shapes::StructureShape.new(name: 'CreateDimensionResponse')
229
238
  CreateDomainConfigurationRequest = Shapes::StructureShape.new(name: 'CreateDomainConfigurationRequest')
@@ -269,7 +278,11 @@ module Aws::IoT
269
278
  CreationDate = Shapes::TimestampShape.new(name: 'CreationDate')
270
279
  CredentialDurationSeconds = Shapes::IntegerShape.new(name: 'CredentialDurationSeconds')
271
280
  CustomCodeSigning = Shapes::StructureShape.new(name: 'CustomCodeSigning')
281
+ CustomMetricArn = Shapes::StringShape.new(name: 'CustomMetricArn')
282
+ CustomMetricDisplayName = Shapes::StringShape.new(name: 'CustomMetricDisplayName')
283
+ CustomMetricType = Shapes::StringShape.new(name: 'CustomMetricType')
272
284
  CustomerVersion = Shapes::IntegerShape.new(name: 'CustomerVersion')
285
+ DataCollectionPercentage = Shapes::FloatShape.new(name: 'DataCollectionPercentage')
273
286
  DateType = Shapes::TimestampShape.new(name: 'DateType')
274
287
  DayOfMonth = Shapes::StringShape.new(name: 'DayOfMonth')
275
288
  DayOfWeek = Shapes::StringShape.new(name: 'DayOfWeek')
@@ -288,6 +301,8 @@ module Aws::IoT
288
301
  DeleteCACertificateResponse = Shapes::StructureShape.new(name: 'DeleteCACertificateResponse')
289
302
  DeleteCertificateRequest = Shapes::StructureShape.new(name: 'DeleteCertificateRequest')
290
303
  DeleteConflictException = Shapes::StructureShape.new(name: 'DeleteConflictException')
304
+ DeleteCustomMetricRequest = Shapes::StructureShape.new(name: 'DeleteCustomMetricRequest')
305
+ DeleteCustomMetricResponse = Shapes::StructureShape.new(name: 'DeleteCustomMetricResponse')
291
306
  DeleteDimensionRequest = Shapes::StructureShape.new(name: 'DeleteDimensionRequest')
292
307
  DeleteDimensionResponse = Shapes::StructureShape.new(name: 'DeleteDimensionResponse')
293
308
  DeleteDomainConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteDomainConfigurationRequest')
@@ -351,8 +366,12 @@ module Aws::IoT
351
366
  DescribeCACertificateResponse = Shapes::StructureShape.new(name: 'DescribeCACertificateResponse')
352
367
  DescribeCertificateRequest = Shapes::StructureShape.new(name: 'DescribeCertificateRequest')
353
368
  DescribeCertificateResponse = Shapes::StructureShape.new(name: 'DescribeCertificateResponse')
369
+ DescribeCustomMetricRequest = Shapes::StructureShape.new(name: 'DescribeCustomMetricRequest')
370
+ DescribeCustomMetricResponse = Shapes::StructureShape.new(name: 'DescribeCustomMetricResponse')
354
371
  DescribeDefaultAuthorizerRequest = Shapes::StructureShape.new(name: 'DescribeDefaultAuthorizerRequest')
355
372
  DescribeDefaultAuthorizerResponse = Shapes::StructureShape.new(name: 'DescribeDefaultAuthorizerResponse')
373
+ DescribeDetectMitigationActionsTaskRequest = Shapes::StructureShape.new(name: 'DescribeDetectMitigationActionsTaskRequest')
374
+ DescribeDetectMitigationActionsTaskResponse = Shapes::StructureShape.new(name: 'DescribeDetectMitigationActionsTaskResponse')
356
375
  DescribeDimensionRequest = Shapes::StructureShape.new(name: 'DescribeDimensionRequest')
357
376
  DescribeDimensionResponse = Shapes::StructureShape.new(name: 'DescribeDimensionResponse')
358
377
  DescribeDomainConfigurationRequest = Shapes::StructureShape.new(name: 'DescribeDomainConfigurationRequest')
@@ -400,6 +419,16 @@ module Aws::IoT
400
419
  DetailsKey = Shapes::StringShape.new(name: 'DetailsKey')
401
420
  DetailsMap = Shapes::MapShape.new(name: 'DetailsMap')
402
421
  DetailsValue = Shapes::StringShape.new(name: 'DetailsValue')
422
+ DetectMitigationActionExecution = Shapes::StructureShape.new(name: 'DetectMitigationActionExecution')
423
+ DetectMitigationActionExecutionErrorCode = Shapes::StringShape.new(name: 'DetectMitigationActionExecutionErrorCode')
424
+ DetectMitigationActionExecutionList = Shapes::ListShape.new(name: 'DetectMitigationActionExecutionList')
425
+ DetectMitigationActionExecutionStatus = Shapes::StringShape.new(name: 'DetectMitigationActionExecutionStatus')
426
+ DetectMitigationActionsTaskStatistics = Shapes::StructureShape.new(name: 'DetectMitigationActionsTaskStatistics')
427
+ DetectMitigationActionsTaskStatus = Shapes::StringShape.new(name: 'DetectMitigationActionsTaskStatus')
428
+ DetectMitigationActionsTaskSummary = Shapes::StructureShape.new(name: 'DetectMitigationActionsTaskSummary')
429
+ DetectMitigationActionsTaskSummaryList = Shapes::ListShape.new(name: 'DetectMitigationActionsTaskSummaryList')
430
+ DetectMitigationActionsTaskTarget = Shapes::StructureShape.new(name: 'DetectMitigationActionsTaskTarget')
431
+ DetectMitigationActionsToExecuteList = Shapes::ListShape.new(name: 'DetectMitigationActionsToExecuteList')
403
432
  DeviceCertificateUpdateAction = Shapes::StringShape.new(name: 'DeviceCertificateUpdateAction')
404
433
  DeviceDefenderThingName = Shapes::StringShape.new(name: 'DeviceDefenderThingName')
405
434
  DimensionArn = Shapes::StringShape.new(name: 'DimensionArn')
@@ -459,6 +488,7 @@ module Aws::IoT
459
488
  FileId = Shapes::IntegerShape.new(name: 'FileId')
460
489
  FileLocation = Shapes::StructureShape.new(name: 'FileLocation')
461
490
  FileName = Shapes::StringShape.new(name: 'FileName')
491
+ FileType = Shapes::IntegerShape.new(name: 'FileType')
462
492
  FindingId = Shapes::StringShape.new(name: 'FindingId')
463
493
  FindingIds = Shapes::ListShape.new(name: 'FindingIds')
464
494
  FirehoseAction = Shapes::StructureShape.new(name: 'FirehoseAction')
@@ -470,6 +500,9 @@ module Aws::IoT
470
500
  Forced = Shapes::BooleanShape.new(name: 'Forced')
471
501
  FunctionArn = Shapes::StringShape.new(name: 'FunctionArn')
472
502
  GenerationId = Shapes::StringShape.new(name: 'GenerationId')
503
+ GenericLongValue = Shapes::IntegerShape.new(name: 'GenericLongValue')
504
+ GetBehaviorModelTrainingSummariesRequest = Shapes::StructureShape.new(name: 'GetBehaviorModelTrainingSummariesRequest')
505
+ GetBehaviorModelTrainingSummariesResponse = Shapes::StructureShape.new(name: 'GetBehaviorModelTrainingSummariesResponse')
473
506
  GetCardinalityRequest = Shapes::StructureShape.new(name: 'GetCardinalityRequest')
474
507
  GetCardinalityResponse = Shapes::StructureShape.new(name: 'GetCardinalityResponse')
475
508
  GetEffectivePoliciesRequest = Shapes::StructureShape.new(name: 'GetEffectivePoliciesRequest')
@@ -564,6 +597,7 @@ module Aws::IoT
564
597
  JobSummaryList = Shapes::ListShape.new(name: 'JobSummaryList')
565
598
  JobTargets = Shapes::ListShape.new(name: 'JobTargets')
566
599
  JsonDocument = Shapes::StringShape.new(name: 'JsonDocument')
600
+ KafkaAction = Shapes::StructureShape.new(name: 'KafkaAction')
567
601
  Key = Shapes::StringShape.new(name: 'Key')
568
602
  KeyName = Shapes::StringShape.new(name: 'KeyName')
569
603
  KeyPair = Shapes::StructureShape.new(name: 'KeyPair')
@@ -572,6 +606,7 @@ module Aws::IoT
572
606
  LambdaAction = Shapes::StructureShape.new(name: 'LambdaAction')
573
607
  LaserMaxResults = Shapes::IntegerShape.new(name: 'LaserMaxResults')
574
608
  LastModifiedDate = Shapes::TimestampShape.new(name: 'LastModifiedDate')
609
+ LastUpdatedAtDate = Shapes::TimestampShape.new(name: 'LastUpdatedAtDate')
575
610
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
576
611
  ListActiveViolationsRequest = Shapes::StructureShape.new(name: 'ListActiveViolationsRequest')
577
612
  ListActiveViolationsResponse = Shapes::StructureShape.new(name: 'ListActiveViolationsResponse')
@@ -597,6 +632,12 @@ module Aws::IoT
597
632
  ListCertificatesByCAResponse = Shapes::StructureShape.new(name: 'ListCertificatesByCAResponse')
598
633
  ListCertificatesRequest = Shapes::StructureShape.new(name: 'ListCertificatesRequest')
599
634
  ListCertificatesResponse = Shapes::StructureShape.new(name: 'ListCertificatesResponse')
635
+ ListCustomMetricsRequest = Shapes::StructureShape.new(name: 'ListCustomMetricsRequest')
636
+ ListCustomMetricsResponse = Shapes::StructureShape.new(name: 'ListCustomMetricsResponse')
637
+ ListDetectMitigationActionsExecutionsRequest = Shapes::StructureShape.new(name: 'ListDetectMitigationActionsExecutionsRequest')
638
+ ListDetectMitigationActionsExecutionsResponse = Shapes::StructureShape.new(name: 'ListDetectMitigationActionsExecutionsResponse')
639
+ ListDetectMitigationActionsTasksRequest = Shapes::StructureShape.new(name: 'ListDetectMitigationActionsTasksRequest')
640
+ ListDetectMitigationActionsTasksResponse = Shapes::StructureShape.new(name: 'ListDetectMitigationActionsTasksResponse')
600
641
  ListDimensionsRequest = Shapes::StructureShape.new(name: 'ListDimensionsRequest')
601
642
  ListDimensionsResponse = Shapes::StructureShape.new(name: 'ListDimensionsResponse')
602
643
  ListDomainConfigurationsRequest = Shapes::StructureShape.new(name: 'ListDomainConfigurationsRequest')
@@ -639,6 +680,7 @@ module Aws::IoT
639
680
  ListSecurityProfilesResponse = Shapes::StructureShape.new(name: 'ListSecurityProfilesResponse')
640
681
  ListStreamsRequest = Shapes::StructureShape.new(name: 'ListStreamsRequest')
641
682
  ListStreamsResponse = Shapes::StructureShape.new(name: 'ListStreamsResponse')
683
+ ListSuppressedAlerts = Shapes::BooleanShape.new(name: 'ListSuppressedAlerts')
642
684
  ListSuppressedFindings = Shapes::BooleanShape.new(name: 'ListSuppressedFindings')
643
685
  ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
644
686
  ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
@@ -680,6 +722,7 @@ module Aws::IoT
680
722
  LogTargetName = Shapes::StringShape.new(name: 'LogTargetName')
681
723
  LogTargetType = Shapes::StringShape.new(name: 'LogTargetType')
682
724
  LoggingOptionsPayload = Shapes::StructureShape.new(name: 'LoggingOptionsPayload')
725
+ MachineLearningDetectionConfig = Shapes::StructureShape.new(name: 'MachineLearningDetectionConfig')
683
726
  MalformedPolicyException = Shapes::StructureShape.new(name: 'MalformedPolicyException')
684
727
  Marker = Shapes::StringShape.new(name: 'Marker')
685
728
  MaxJobExecutionsPerMin = Shapes::IntegerShape.new(name: 'MaxJobExecutionsPerMin')
@@ -690,6 +733,8 @@ module Aws::IoT
690
733
  MessageFormat = Shapes::StringShape.new(name: 'MessageFormat')
691
734
  MessageId = Shapes::StringShape.new(name: 'MessageId')
692
735
  MetricDimension = Shapes::StructureShape.new(name: 'MetricDimension')
736
+ MetricName = Shapes::StringShape.new(name: 'MetricName')
737
+ MetricNames = Shapes::ListShape.new(name: 'MetricNames')
693
738
  MetricToRetain = Shapes::StructureShape.new(name: 'MetricToRetain')
694
739
  MetricValue = Shapes::StructureShape.new(name: 'MetricValue')
695
740
  Minimum = Shapes::FloatShape.new(name: 'Minimum')
@@ -706,6 +751,8 @@ module Aws::IoT
706
751
  MitigationActionNameList = Shapes::ListShape.new(name: 'MitigationActionNameList')
707
752
  MitigationActionParams = Shapes::StructureShape.new(name: 'MitigationActionParams')
708
753
  MitigationActionType = Shapes::StringShape.new(name: 'MitigationActionType')
754
+ MitigationActionsTaskId = Shapes::StringShape.new(name: 'MitigationActionsTaskId')
755
+ ModelStatus = Shapes::StringShape.new(name: 'ModelStatus')
709
756
  MqttClientId = Shapes::StringShape.new(name: 'MqttClientId')
710
757
  MqttContext = Shapes::StructureShape.new(name: 'MqttContext')
711
758
  MqttPassword = Shapes::BlobShape.new(name: 'MqttPassword')
@@ -716,6 +763,9 @@ module Aws::IoT
716
763
  NonCompliantResource = Shapes::StructureShape.new(name: 'NonCompliantResource')
717
764
  NonCompliantResourcesCount = Shapes::IntegerShape.new(name: 'NonCompliantResourcesCount')
718
765
  NotConfiguredException = Shapes::StructureShape.new(name: 'NotConfiguredException')
766
+ NullableBoolean = Shapes::BooleanShape.new(name: 'NullableBoolean')
767
+ Number = Shapes::FloatShape.new(name: 'Number')
768
+ NumberList = Shapes::ListShape.new(name: 'NumberList')
719
769
  NumberOfThings = Shapes::IntegerShape.new(name: 'NumberOfThings')
720
770
  OTAUpdateArn = Shapes::StringShape.new(name: 'OTAUpdateArn')
721
771
  OTAUpdateDescription = Shapes::StringShape.new(name: 'OTAUpdateDescription')
@@ -763,6 +813,7 @@ module Aws::IoT
763
813
  Ports = Shapes::ListShape.new(name: 'Ports')
764
814
  Prefix = Shapes::StringShape.new(name: 'Prefix')
765
815
  PresignedUrlConfig = Shapes::StructureShape.new(name: 'PresignedUrlConfig')
816
+ PrimitiveBoolean = Shapes::BooleanShape.new(name: 'PrimitiveBoolean')
766
817
  Principal = Shapes::StringShape.new(name: 'Principal')
767
818
  PrincipalArn = Shapes::StringShape.new(name: 'PrincipalArn')
768
819
  PrincipalId = Shapes::StringShape.new(name: 'PrincipalId')
@@ -868,6 +919,8 @@ module Aws::IoT
868
919
  SearchIndexResponse = Shapes::StructureShape.new(name: 'SearchIndexResponse')
869
920
  SearchableAttributes = Shapes::ListShape.new(name: 'SearchableAttributes')
870
921
  Seconds = Shapes::IntegerShape.new(name: 'Seconds')
922
+ SecurityGroupId = Shapes::StringShape.new(name: 'SecurityGroupId')
923
+ SecurityGroupList = Shapes::ListShape.new(name: 'SecurityGroupList')
871
924
  SecurityProfileArn = Shapes::StringShape.new(name: 'SecurityProfileArn')
872
925
  SecurityProfileDescription = Shapes::StringShape.new(name: 'SecurityProfileDescription')
873
926
  SecurityProfileIdentifier = Shapes::StructureShape.new(name: 'SecurityProfileIdentifier')
@@ -911,6 +964,8 @@ module Aws::IoT
911
964
  SqsAction = Shapes::StructureShape.new(name: 'SqsAction')
912
965
  StartAuditMitigationActionsTaskRequest = Shapes::StructureShape.new(name: 'StartAuditMitigationActionsTaskRequest')
913
966
  StartAuditMitigationActionsTaskResponse = Shapes::StructureShape.new(name: 'StartAuditMitigationActionsTaskResponse')
967
+ StartDetectMitigationActionsTaskRequest = Shapes::StructureShape.new(name: 'StartDetectMitigationActionsTaskRequest')
968
+ StartDetectMitigationActionsTaskResponse = Shapes::StructureShape.new(name: 'StartDetectMitigationActionsTaskResponse')
914
969
  StartOnDemandAuditTaskRequest = Shapes::StructureShape.new(name: 'StartOnDemandAuditTaskRequest')
915
970
  StartOnDemandAuditTaskResponse = Shapes::StructureShape.new(name: 'StartOnDemandAuditTaskResponse')
916
971
  StartSigningJobParameter = Shapes::StructureShape.new(name: 'StartSigningJobParameter')
@@ -938,11 +993,15 @@ module Aws::IoT
938
993
  StreamVersion = Shapes::IntegerShape.new(name: 'StreamVersion')
939
994
  StreamsSummary = Shapes::ListShape.new(name: 'StreamsSummary')
940
995
  String = Shapes::StringShape.new(name: 'String')
996
+ StringList = Shapes::ListShape.new(name: 'StringList')
941
997
  StringMap = Shapes::MapShape.new(name: 'StringMap')
998
+ SubnetId = Shapes::StringShape.new(name: 'SubnetId')
999
+ SubnetIdList = Shapes::ListShape.new(name: 'SubnetIdList')
942
1000
  SucceededFindingsCount = Shapes::IntegerShape.new(name: 'SucceededFindingsCount')
943
1001
  SucceededThings = Shapes::IntegerShape.new(name: 'SucceededThings')
944
1002
  Sum = Shapes::FloatShape.new(name: 'Sum')
945
1003
  SumOfSquares = Shapes::FloatShape.new(name: 'SumOfSquares')
1004
+ SuppressAlerts = Shapes::BooleanShape.new(name: 'SuppressAlerts')
946
1005
  SuppressIndefinitely = Shapes::BooleanShape.new(name: 'SuppressIndefinitely')
947
1006
  SuppressedNonCompliantResourcesCount = Shapes::IntegerShape.new(name: 'SuppressedNonCompliantResourcesCount')
948
1007
  TableName = Shapes::StringShape.new(name: 'TableName')
@@ -957,6 +1016,7 @@ module Aws::IoT
957
1016
  TargetArn = Shapes::StringShape.new(name: 'TargetArn')
958
1017
  TargetAuditCheckNames = Shapes::ListShape.new(name: 'TargetAuditCheckNames')
959
1018
  TargetSelection = Shapes::StringShape.new(name: 'TargetSelection')
1019
+ TargetViolationIdsForDetectMitigationActions = Shapes::ListShape.new(name: 'TargetViolationIdsForDetectMitigationActions')
960
1020
  Targets = Shapes::ListShape.new(name: 'Targets')
961
1021
  TaskAlreadyExistsException = Shapes::StructureShape.new(name: 'TaskAlreadyExistsException')
962
1022
  TaskId = Shapes::StringShape.new(name: 'TaskId')
@@ -1020,6 +1080,7 @@ module Aws::IoT
1020
1080
  TimestreamTimestamp = Shapes::StructureShape.new(name: 'TimestreamTimestamp')
1021
1081
  TimestreamTimestampUnit = Shapes::StringShape.new(name: 'TimestreamTimestampUnit')
1022
1082
  TimestreamTimestampValue = Shapes::StringShape.new(name: 'TimestreamTimestampValue')
1083
+ TinyMaxResults = Shapes::IntegerShape.new(name: 'TinyMaxResults')
1023
1084
  TlsContext = Shapes::StructureShape.new(name: 'TlsContext')
1024
1085
  Token = Shapes::StringShape.new(name: 'Token')
1025
1086
  TokenKeyName = Shapes::StringShape.new(name: 'TokenKeyName')
@@ -1061,6 +1122,8 @@ module Aws::IoT
1061
1122
  UpdateCACertificateParams = Shapes::StructureShape.new(name: 'UpdateCACertificateParams')
1062
1123
  UpdateCACertificateRequest = Shapes::StructureShape.new(name: 'UpdateCACertificateRequest')
1063
1124
  UpdateCertificateRequest = Shapes::StructureShape.new(name: 'UpdateCertificateRequest')
1125
+ UpdateCustomMetricRequest = Shapes::StructureShape.new(name: 'UpdateCustomMetricRequest')
1126
+ UpdateCustomMetricResponse = Shapes::StructureShape.new(name: 'UpdateCustomMetricResponse')
1064
1127
  UpdateDeviceCertificateParams = Shapes::StructureShape.new(name: 'UpdateDeviceCertificateParams')
1065
1128
  UpdateDimensionRequest = Shapes::StructureShape.new(name: 'UpdateDimensionRequest')
1066
1129
  UpdateDimensionResponse = Shapes::StructureShape.new(name: 'UpdateDimensionResponse')
@@ -1107,13 +1170,20 @@ module Aws::IoT
1107
1170
  VersionNumber = Shapes::IntegerShape.new(name: 'VersionNumber')
1108
1171
  VersionsLimitExceededException = Shapes::StructureShape.new(name: 'VersionsLimitExceededException')
1109
1172
  ViolationEvent = Shapes::StructureShape.new(name: 'ViolationEvent')
1173
+ ViolationEventAdditionalInfo = Shapes::StructureShape.new(name: 'ViolationEventAdditionalInfo')
1174
+ ViolationEventOccurrenceRange = Shapes::StructureShape.new(name: 'ViolationEventOccurrenceRange')
1110
1175
  ViolationEventType = Shapes::StringShape.new(name: 'ViolationEventType')
1111
1176
  ViolationEvents = Shapes::ListShape.new(name: 'ViolationEvents')
1112
1177
  ViolationId = Shapes::StringShape.new(name: 'ViolationId')
1178
+ VpcDestinationConfiguration = Shapes::StructureShape.new(name: 'VpcDestinationConfiguration')
1179
+ VpcDestinationProperties = Shapes::StructureShape.new(name: 'VpcDestinationProperties')
1180
+ VpcDestinationSummary = Shapes::StructureShape.new(name: 'VpcDestinationSummary')
1181
+ VpcId = Shapes::StringShape.new(name: 'VpcId')
1113
1182
  WaitingForDataCollectionChecksCount = Shapes::IntegerShape.new(name: 'WaitingForDataCollectionChecksCount')
1114
1183
  errorMessage = Shapes::StringShape.new(name: 'errorMessage')
1115
1184
  resourceArn = Shapes::StringShape.new(name: 'resourceArn')
1116
1185
  resourceId = Shapes::StringShape.new(name: 'resourceId')
1186
+ stringValue = Shapes::StringShape.new(name: 'stringValue')
1117
1187
 
1118
1188
  AbortConfig.add_member(:criteria_list, Shapes::ShapeRef.new(shape: AbortCriteriaList, required: true, location_name: "criteriaList"))
1119
1189
  AbortConfig.struct_class = Types::AbortConfig
@@ -1150,6 +1220,7 @@ module Aws::IoT
1150
1220
  Action.add_member(:step_functions, Shapes::ShapeRef.new(shape: StepFunctionsAction, location_name: "stepFunctions"))
1151
1221
  Action.add_member(:timestream, Shapes::ShapeRef.new(shape: TimestreamAction, location_name: "timestream"))
1152
1222
  Action.add_member(:http, Shapes::ShapeRef.new(shape: HttpAction, location_name: "http"))
1223
+ Action.add_member(:kafka, Shapes::ShapeRef.new(shape: KafkaAction, location_name: "kafka"))
1153
1224
  Action.struct_class = Types::Action
1154
1225
 
1155
1226
  ActionList.member = Shapes::ShapeRef.new(shape: Action)
@@ -1159,6 +1230,7 @@ module Aws::IoT
1159
1230
  ActiveViolation.add_member(:security_profile_name, Shapes::ShapeRef.new(shape: SecurityProfileName, location_name: "securityProfileName"))
1160
1231
  ActiveViolation.add_member(:behavior, Shapes::ShapeRef.new(shape: Behavior, location_name: "behavior"))
1161
1232
  ActiveViolation.add_member(:last_violation_value, Shapes::ShapeRef.new(shape: MetricValue, location_name: "lastViolationValue"))
1233
+ ActiveViolation.add_member(:violation_event_additional_info, Shapes::ShapeRef.new(shape: ViolationEventAdditionalInfo, location_name: "violationEventAdditionalInfo"))
1162
1234
  ActiveViolation.add_member(:last_violation_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastViolationTime"))
1163
1235
  ActiveViolation.add_member(:violation_start_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "violationStartTime"))
1164
1236
  ActiveViolation.struct_class = Types::ActiveViolation
@@ -1300,7 +1372,7 @@ module Aws::IoT
1300
1372
 
1301
1373
  AuditFindings.member = Shapes::ShapeRef.new(shape: AuditFinding)
1302
1374
 
1303
- AuditMitigationActionExecutionMetadata.add_member(:task_id, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskId, location_name: "taskId"))
1375
+ AuditMitigationActionExecutionMetadata.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, location_name: "taskId"))
1304
1376
  AuditMitigationActionExecutionMetadata.add_member(:finding_id, Shapes::ShapeRef.new(shape: FindingId, location_name: "findingId"))
1305
1377
  AuditMitigationActionExecutionMetadata.add_member(:action_name, Shapes::ShapeRef.new(shape: MitigationActionName, location_name: "actionName"))
1306
1378
  AuditMitigationActionExecutionMetadata.add_member(:action_id, Shapes::ShapeRef.new(shape: MitigationActionId, location_name: "actionId"))
@@ -1313,7 +1385,7 @@ module Aws::IoT
1313
1385
 
1314
1386
  AuditMitigationActionExecutionMetadataList.member = Shapes::ShapeRef.new(shape: AuditMitigationActionExecutionMetadata)
1315
1387
 
1316
- AuditMitigationActionsTaskMetadata.add_member(:task_id, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskId, location_name: "taskId"))
1388
+ AuditMitigationActionsTaskMetadata.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, location_name: "taskId"))
1317
1389
  AuditMitigationActionsTaskMetadata.add_member(:start_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "startTime"))
1318
1390
  AuditMitigationActionsTaskMetadata.add_member(:task_status, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskStatus, location_name: "taskStatus"))
1319
1391
  AuditMitigationActionsTaskMetadata.struct_class = Types::AuditMitigationActionsTaskMetadata
@@ -1422,6 +1494,7 @@ module Aws::IoT
1422
1494
  Behavior.add_member(:metric, Shapes::ShapeRef.new(shape: BehaviorMetric, location_name: "metric"))
1423
1495
  Behavior.add_member(:metric_dimension, Shapes::ShapeRef.new(shape: MetricDimension, location_name: "metricDimension"))
1424
1496
  Behavior.add_member(:criteria, Shapes::ShapeRef.new(shape: BehaviorCriteria, location_name: "criteria"))
1497
+ Behavior.add_member(:suppress_alerts, Shapes::ShapeRef.new(shape: SuppressAlerts, location_name: "suppressAlerts"))
1425
1498
  Behavior.struct_class = Types::Behavior
1426
1499
 
1427
1500
  BehaviorCriteria.add_member(:comparison_operator, Shapes::ShapeRef.new(shape: ComparisonOperator, location_name: "comparisonOperator"))
@@ -1430,8 +1503,19 @@ module Aws::IoT
1430
1503
  BehaviorCriteria.add_member(:consecutive_datapoints_to_alarm, Shapes::ShapeRef.new(shape: ConsecutiveDatapointsToAlarm, location_name: "consecutiveDatapointsToAlarm"))
1431
1504
  BehaviorCriteria.add_member(:consecutive_datapoints_to_clear, Shapes::ShapeRef.new(shape: ConsecutiveDatapointsToClear, location_name: "consecutiveDatapointsToClear"))
1432
1505
  BehaviorCriteria.add_member(:statistical_threshold, Shapes::ShapeRef.new(shape: StatisticalThreshold, location_name: "statisticalThreshold"))
1506
+ BehaviorCriteria.add_member(:ml_detection_config, Shapes::ShapeRef.new(shape: MachineLearningDetectionConfig, location_name: "mlDetectionConfig"))
1433
1507
  BehaviorCriteria.struct_class = Types::BehaviorCriteria
1434
1508
 
1509
+ BehaviorModelTrainingSummaries.member = Shapes::ShapeRef.new(shape: BehaviorModelTrainingSummary)
1510
+
1511
+ BehaviorModelTrainingSummary.add_member(:security_profile_name, Shapes::ShapeRef.new(shape: SecurityProfileName, location_name: "securityProfileName"))
1512
+ BehaviorModelTrainingSummary.add_member(:behavior_name, Shapes::ShapeRef.new(shape: BehaviorName, location_name: "behaviorName"))
1513
+ BehaviorModelTrainingSummary.add_member(:training_data_collection_start_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "trainingDataCollectionStartDate"))
1514
+ BehaviorModelTrainingSummary.add_member(:model_status, Shapes::ShapeRef.new(shape: ModelStatus, location_name: "modelStatus"))
1515
+ BehaviorModelTrainingSummary.add_member(:datapoints_collection_percentage, Shapes::ShapeRef.new(shape: DataCollectionPercentage, location_name: "datapointsCollectionPercentage"))
1516
+ BehaviorModelTrainingSummary.add_member(:last_model_refresh_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastModelRefreshDate"))
1517
+ BehaviorModelTrainingSummary.struct_class = Types::BehaviorModelTrainingSummary
1518
+
1435
1519
  Behaviors.member = Shapes::ShapeRef.new(shape: Behavior)
1436
1520
 
1437
1521
  BillingGroupMetadata.add_member(:creation_date, Shapes::ShapeRef.new(shape: CreationDate, location_name: "creationDate"))
@@ -1463,7 +1547,7 @@ module Aws::IoT
1463
1547
 
1464
1548
  CACertificates.member = Shapes::ShapeRef.new(shape: CACertificate)
1465
1549
 
1466
- CancelAuditMitigationActionsTaskRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskId, required: true, location: "uri", location_name: "taskId"))
1550
+ CancelAuditMitigationActionsTaskRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, required: true, location: "uri", location_name: "taskId"))
1467
1551
  CancelAuditMitigationActionsTaskRequest.struct_class = Types::CancelAuditMitigationActionsTaskRequest
1468
1552
 
1469
1553
  CancelAuditMitigationActionsTaskResponse.struct_class = Types::CancelAuditMitigationActionsTaskResponse
@@ -1476,6 +1560,11 @@ module Aws::IoT
1476
1560
  CancelCertificateTransferRequest.add_member(:certificate_id, Shapes::ShapeRef.new(shape: CertificateId, required: true, location: "uri", location_name: "certificateId"))
1477
1561
  CancelCertificateTransferRequest.struct_class = Types::CancelCertificateTransferRequest
1478
1562
 
1563
+ CancelDetectMitigationActionsTaskRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, required: true, location: "uri", location_name: "taskId"))
1564
+ CancelDetectMitigationActionsTaskRequest.struct_class = Types::CancelDetectMitigationActionsTaskRequest
1565
+
1566
+ CancelDetectMitigationActionsTaskResponse.struct_class = Types::CancelDetectMitigationActionsTaskResponse
1567
+
1479
1568
  CancelJobExecutionRequest.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, required: true, location: "uri", location_name: "jobId"))
1480
1569
  CancelJobExecutionRequest.add_member(:thing_name, Shapes::ShapeRef.new(shape: ThingName, required: true, location: "uri", location_name: "thingName"))
1481
1570
  CancelJobExecutionRequest.add_member(:force, Shapes::ShapeRef.new(shape: ForceFlag, location: "querystring", location_name: "force"))
@@ -1538,6 +1627,9 @@ module Aws::IoT
1538
1627
 
1539
1628
  ClearDefaultAuthorizerResponse.struct_class = Types::ClearDefaultAuthorizerResponse
1540
1629
 
1630
+ ClientProperties.key = Shapes::ShapeRef.new(shape: String)
1631
+ ClientProperties.value = Shapes::ShapeRef.new(shape: String)
1632
+
1541
1633
  CloudwatchAlarmAction.add_member(:role_arn, Shapes::ShapeRef.new(shape: AwsArn, required: true, location_name: "roleArn"))
1542
1634
  CloudwatchAlarmAction.add_member(:alarm_name, Shapes::ShapeRef.new(shape: AlarmName, required: true, location_name: "alarmName"))
1543
1635
  CloudwatchAlarmAction.add_member(:state_reason, Shapes::ShapeRef.new(shape: StateReason, required: true, location_name: "stateReason"))
@@ -1621,6 +1713,17 @@ module Aws::IoT
1621
1713
  CreateCertificateFromCsrResponse.add_member(:certificate_pem, Shapes::ShapeRef.new(shape: CertificatePem, location_name: "certificatePem"))
1622
1714
  CreateCertificateFromCsrResponse.struct_class = Types::CreateCertificateFromCsrResponse
1623
1715
 
1716
+ CreateCustomMetricRequest.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, required: true, location: "uri", location_name: "metricName"))
1717
+ CreateCustomMetricRequest.add_member(:display_name, Shapes::ShapeRef.new(shape: CustomMetricDisplayName, location_name: "displayName"))
1718
+ CreateCustomMetricRequest.add_member(:metric_type, Shapes::ShapeRef.new(shape: CustomMetricType, required: true, location_name: "metricType"))
1719
+ CreateCustomMetricRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
1720
+ CreateCustomMetricRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: ClientRequestToken, required: true, location_name: "clientRequestToken", metadata: {"idempotencyToken"=>true}))
1721
+ CreateCustomMetricRequest.struct_class = Types::CreateCustomMetricRequest
1722
+
1723
+ CreateCustomMetricResponse.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, location_name: "metricName"))
1724
+ CreateCustomMetricResponse.add_member(:metric_arn, Shapes::ShapeRef.new(shape: CustomMetricArn, location_name: "metricArn"))
1725
+ CreateCustomMetricResponse.struct_class = Types::CreateCustomMetricResponse
1726
+
1624
1727
  CreateDimensionRequest.add_member(:name, Shapes::ShapeRef.new(shape: DimensionName, required: true, location: "uri", location_name: "name"))
1625
1728
  CreateDimensionRequest.add_member(:type, Shapes::ShapeRef.new(shape: DimensionType, required: true, location_name: "type"))
1626
1729
  CreateDimensionRequest.add_member(:string_values, Shapes::ShapeRef.new(shape: DimensionStringValues, required: true, location_name: "stringValues"))
@@ -1909,6 +2012,11 @@ module Aws::IoT
1909
2012
  DeleteConflictException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
1910
2013
  DeleteConflictException.struct_class = Types::DeleteConflictException
1911
2014
 
2015
+ DeleteCustomMetricRequest.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, required: true, location: "uri", location_name: "metricName"))
2016
+ DeleteCustomMetricRequest.struct_class = Types::DeleteCustomMetricRequest
2017
+
2018
+ DeleteCustomMetricResponse.struct_class = Types::DeleteCustomMetricResponse
2019
+
1912
2020
  DeleteDimensionRequest.add_member(:name, Shapes::ShapeRef.new(shape: DimensionName, required: true, location: "uri", location_name: "name"))
1913
2021
  DeleteDimensionRequest.struct_class = Types::DeleteDimensionRequest
1914
2022
 
@@ -2044,7 +2152,7 @@ module Aws::IoT
2044
2152
  DescribeAuditFindingResponse.add_member(:finding, Shapes::ShapeRef.new(shape: AuditFinding, location_name: "finding"))
2045
2153
  DescribeAuditFindingResponse.struct_class = Types::DescribeAuditFindingResponse
2046
2154
 
2047
- DescribeAuditMitigationActionsTaskRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskId, required: true, location: "uri", location_name: "taskId"))
2155
+ DescribeAuditMitigationActionsTaskRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, required: true, location: "uri", location_name: "taskId"))
2048
2156
  DescribeAuditMitigationActionsTaskRequest.struct_class = Types::DescribeAuditMitigationActionsTaskRequest
2049
2157
 
2050
2158
  DescribeAuditMitigationActionsTaskResponse.add_member(:task_status, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskStatus, location_name: "taskStatus"))
@@ -2108,11 +2216,28 @@ module Aws::IoT
2108
2216
  DescribeCertificateResponse.add_member(:certificate_description, Shapes::ShapeRef.new(shape: CertificateDescription, location_name: "certificateDescription"))
2109
2217
  DescribeCertificateResponse.struct_class = Types::DescribeCertificateResponse
2110
2218
 
2219
+ DescribeCustomMetricRequest.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, required: true, location: "uri", location_name: "metricName"))
2220
+ DescribeCustomMetricRequest.struct_class = Types::DescribeCustomMetricRequest
2221
+
2222
+ DescribeCustomMetricResponse.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, location_name: "metricName"))
2223
+ DescribeCustomMetricResponse.add_member(:metric_arn, Shapes::ShapeRef.new(shape: CustomMetricArn, location_name: "metricArn"))
2224
+ DescribeCustomMetricResponse.add_member(:metric_type, Shapes::ShapeRef.new(shape: CustomMetricType, location_name: "metricType"))
2225
+ DescribeCustomMetricResponse.add_member(:display_name, Shapes::ShapeRef.new(shape: CustomMetricDisplayName, location_name: "displayName"))
2226
+ DescribeCustomMetricResponse.add_member(:creation_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "creationDate"))
2227
+ DescribeCustomMetricResponse.add_member(:last_modified_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastModifiedDate"))
2228
+ DescribeCustomMetricResponse.struct_class = Types::DescribeCustomMetricResponse
2229
+
2111
2230
  DescribeDefaultAuthorizerRequest.struct_class = Types::DescribeDefaultAuthorizerRequest
2112
2231
 
2113
2232
  DescribeDefaultAuthorizerResponse.add_member(:authorizer_description, Shapes::ShapeRef.new(shape: AuthorizerDescription, location_name: "authorizerDescription"))
2114
2233
  DescribeDefaultAuthorizerResponse.struct_class = Types::DescribeDefaultAuthorizerResponse
2115
2234
 
2235
+ DescribeDetectMitigationActionsTaskRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, required: true, location: "uri", location_name: "taskId"))
2236
+ DescribeDetectMitigationActionsTaskRequest.struct_class = Types::DescribeDetectMitigationActionsTaskRequest
2237
+
2238
+ DescribeDetectMitigationActionsTaskResponse.add_member(:task_summary, Shapes::ShapeRef.new(shape: DetectMitigationActionsTaskSummary, location_name: "taskSummary"))
2239
+ DescribeDetectMitigationActionsTaskResponse.struct_class = Types::DescribeDetectMitigationActionsTaskResponse
2240
+
2116
2241
  DescribeDimensionRequest.add_member(:name, Shapes::ShapeRef.new(shape: DimensionName, required: true, location: "uri", location_name: "name"))
2117
2242
  DescribeDimensionRequest.struct_class = Types::DescribeDimensionRequest
2118
2243
 
@@ -2331,6 +2456,45 @@ module Aws::IoT
2331
2456
  DetailsMap.key = Shapes::ShapeRef.new(shape: DetailsKey)
2332
2457
  DetailsMap.value = Shapes::ShapeRef.new(shape: DetailsValue)
2333
2458
 
2459
+ DetectMitigationActionExecution.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, location_name: "taskId"))
2460
+ DetectMitigationActionExecution.add_member(:violation_id, Shapes::ShapeRef.new(shape: ViolationId, location_name: "violationId"))
2461
+ DetectMitigationActionExecution.add_member(:action_name, Shapes::ShapeRef.new(shape: MitigationActionName, location_name: "actionName"))
2462
+ DetectMitigationActionExecution.add_member(:thing_name, Shapes::ShapeRef.new(shape: DeviceDefenderThingName, location_name: "thingName"))
2463
+ DetectMitigationActionExecution.add_member(:execution_start_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "executionStartDate"))
2464
+ DetectMitigationActionExecution.add_member(:execution_end_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "executionEndDate"))
2465
+ DetectMitigationActionExecution.add_member(:status, Shapes::ShapeRef.new(shape: DetectMitigationActionExecutionStatus, location_name: "status"))
2466
+ DetectMitigationActionExecution.add_member(:error_code, Shapes::ShapeRef.new(shape: DetectMitigationActionExecutionErrorCode, location_name: "errorCode"))
2467
+ DetectMitigationActionExecution.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
2468
+ DetectMitigationActionExecution.struct_class = Types::DetectMitigationActionExecution
2469
+
2470
+ DetectMitigationActionExecutionList.member = Shapes::ShapeRef.new(shape: DetectMitigationActionExecution)
2471
+
2472
+ DetectMitigationActionsTaskStatistics.add_member(:actions_executed, Shapes::ShapeRef.new(shape: GenericLongValue, location_name: "actionsExecuted"))
2473
+ DetectMitigationActionsTaskStatistics.add_member(:actions_skipped, Shapes::ShapeRef.new(shape: GenericLongValue, location_name: "actionsSkipped"))
2474
+ DetectMitigationActionsTaskStatistics.add_member(:actions_failed, Shapes::ShapeRef.new(shape: GenericLongValue, location_name: "actionsFailed"))
2475
+ DetectMitigationActionsTaskStatistics.struct_class = Types::DetectMitigationActionsTaskStatistics
2476
+
2477
+ DetectMitigationActionsTaskSummary.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, location_name: "taskId"))
2478
+ DetectMitigationActionsTaskSummary.add_member(:task_status, Shapes::ShapeRef.new(shape: DetectMitigationActionsTaskStatus, location_name: "taskStatus"))
2479
+ DetectMitigationActionsTaskSummary.add_member(:task_start_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "taskStartTime"))
2480
+ DetectMitigationActionsTaskSummary.add_member(:task_end_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "taskEndTime"))
2481
+ DetectMitigationActionsTaskSummary.add_member(:target, Shapes::ShapeRef.new(shape: DetectMitigationActionsTaskTarget, location_name: "target"))
2482
+ DetectMitigationActionsTaskSummary.add_member(:violation_event_occurrence_range, Shapes::ShapeRef.new(shape: ViolationEventOccurrenceRange, location_name: "violationEventOccurrenceRange"))
2483
+ DetectMitigationActionsTaskSummary.add_member(:only_active_violations_included, Shapes::ShapeRef.new(shape: PrimitiveBoolean, location_name: "onlyActiveViolationsIncluded"))
2484
+ DetectMitigationActionsTaskSummary.add_member(:suppressed_alerts_included, Shapes::ShapeRef.new(shape: PrimitiveBoolean, location_name: "suppressedAlertsIncluded"))
2485
+ DetectMitigationActionsTaskSummary.add_member(:actions_definition, Shapes::ShapeRef.new(shape: MitigationActionList, location_name: "actionsDefinition"))
2486
+ DetectMitigationActionsTaskSummary.add_member(:task_statistics, Shapes::ShapeRef.new(shape: DetectMitigationActionsTaskStatistics, location_name: "taskStatistics"))
2487
+ DetectMitigationActionsTaskSummary.struct_class = Types::DetectMitigationActionsTaskSummary
2488
+
2489
+ DetectMitigationActionsTaskSummaryList.member = Shapes::ShapeRef.new(shape: DetectMitigationActionsTaskSummary)
2490
+
2491
+ DetectMitigationActionsTaskTarget.add_member(:violation_ids, Shapes::ShapeRef.new(shape: TargetViolationIdsForDetectMitigationActions, location_name: "violationIds"))
2492
+ DetectMitigationActionsTaskTarget.add_member(:security_profile_name, Shapes::ShapeRef.new(shape: SecurityProfileName, location_name: "securityProfileName"))
2493
+ DetectMitigationActionsTaskTarget.add_member(:behavior_name, Shapes::ShapeRef.new(shape: BehaviorName, location_name: "behaviorName"))
2494
+ DetectMitigationActionsTaskTarget.struct_class = Types::DetectMitigationActionsTaskTarget
2495
+
2496
+ DetectMitigationActionsToExecuteList.member = Shapes::ShapeRef.new(shape: MitigationActionName)
2497
+
2334
2498
  DimensionNames.member = Shapes::ShapeRef.new(shape: DimensionName)
2335
2499
 
2336
2500
  DimensionStringValues.member = Shapes::ShapeRef.new(shape: DimensionStringValue)
@@ -2412,8 +2576,18 @@ module Aws::IoT
2412
2576
  FirehoseAction.add_member(:role_arn, Shapes::ShapeRef.new(shape: AwsArn, required: true, location_name: "roleArn"))
2413
2577
  FirehoseAction.add_member(:delivery_stream_name, Shapes::ShapeRef.new(shape: DeliveryStreamName, required: true, location_name: "deliveryStreamName"))
2414
2578
  FirehoseAction.add_member(:separator, Shapes::ShapeRef.new(shape: FirehoseSeparator, location_name: "separator"))
2579
+ FirehoseAction.add_member(:batch_mode, Shapes::ShapeRef.new(shape: BatchMode, location_name: "batchMode"))
2415
2580
  FirehoseAction.struct_class = Types::FirehoseAction
2416
2581
 
2582
+ GetBehaviorModelTrainingSummariesRequest.add_member(:security_profile_name, Shapes::ShapeRef.new(shape: SecurityProfileName, location: "querystring", location_name: "securityProfileName"))
2583
+ GetBehaviorModelTrainingSummariesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: TinyMaxResults, location: "querystring", location_name: "maxResults"))
2584
+ GetBehaviorModelTrainingSummariesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
2585
+ GetBehaviorModelTrainingSummariesRequest.struct_class = Types::GetBehaviorModelTrainingSummariesRequest
2586
+
2587
+ GetBehaviorModelTrainingSummariesResponse.add_member(:summaries, Shapes::ShapeRef.new(shape: BehaviorModelTrainingSummaries, location_name: "summaries"))
2588
+ GetBehaviorModelTrainingSummariesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
2589
+ GetBehaviorModelTrainingSummariesResponse.struct_class = Types::GetBehaviorModelTrainingSummariesResponse
2590
+
2417
2591
  GetCardinalityRequest.add_member(:index_name, Shapes::ShapeRef.new(shape: IndexName, location_name: "indexName"))
2418
2592
  GetCardinalityRequest.add_member(:query_string, Shapes::ShapeRef.new(shape: QueryString, required: true, location_name: "queryString"))
2419
2593
  GetCardinalityRequest.add_member(:aggregation_field, Shapes::ShapeRef.new(shape: AggregationField, location_name: "aggregationField"))
@@ -2591,11 +2765,13 @@ module Aws::IoT
2591
2765
 
2592
2766
  IotAnalyticsAction.add_member(:channel_arn, Shapes::ShapeRef.new(shape: AwsArn, location_name: "channelArn"))
2593
2767
  IotAnalyticsAction.add_member(:channel_name, Shapes::ShapeRef.new(shape: ChannelName, location_name: "channelName"))
2768
+ IotAnalyticsAction.add_member(:batch_mode, Shapes::ShapeRef.new(shape: BatchMode, location_name: "batchMode"))
2594
2769
  IotAnalyticsAction.add_member(:role_arn, Shapes::ShapeRef.new(shape: AwsArn, location_name: "roleArn"))
2595
2770
  IotAnalyticsAction.struct_class = Types::IotAnalyticsAction
2596
2771
 
2597
2772
  IotEventsAction.add_member(:input_name, Shapes::ShapeRef.new(shape: InputName, required: true, location_name: "inputName"))
2598
2773
  IotEventsAction.add_member(:message_id, Shapes::ShapeRef.new(shape: MessageId, location_name: "messageId"))
2774
+ IotEventsAction.add_member(:batch_mode, Shapes::ShapeRef.new(shape: BatchMode, location_name: "batchMode"))
2599
2775
  IotEventsAction.add_member(:role_arn, Shapes::ShapeRef.new(shape: AwsArn, required: true, location_name: "roleArn"))
2600
2776
  IotEventsAction.struct_class = Types::IotEventsAction
2601
2777
 
@@ -2687,6 +2863,13 @@ module Aws::IoT
2687
2863
 
2688
2864
  JobTargets.member = Shapes::ShapeRef.new(shape: TargetArn)
2689
2865
 
2866
+ KafkaAction.add_member(:destination_arn, Shapes::ShapeRef.new(shape: AwsArn, required: true, location_name: "destinationArn"))
2867
+ KafkaAction.add_member(:topic, Shapes::ShapeRef.new(shape: String, required: true, location_name: "topic"))
2868
+ KafkaAction.add_member(:key, Shapes::ShapeRef.new(shape: String, location_name: "key"))
2869
+ KafkaAction.add_member(:partition, Shapes::ShapeRef.new(shape: String, location_name: "partition"))
2870
+ KafkaAction.add_member(:client_properties, Shapes::ShapeRef.new(shape: ClientProperties, required: true, location_name: "clientProperties"))
2871
+ KafkaAction.struct_class = Types::KafkaAction
2872
+
2690
2873
  KeyPair.add_member(:public_key, Shapes::ShapeRef.new(shape: PublicKey, location_name: "PublicKey"))
2691
2874
  KeyPair.add_member(:private_key, Shapes::ShapeRef.new(shape: PrivateKey, location_name: "PrivateKey"))
2692
2875
  KeyPair.struct_class = Types::KeyPair
@@ -2704,6 +2887,8 @@ module Aws::IoT
2704
2887
 
2705
2888
  ListActiveViolationsRequest.add_member(:thing_name, Shapes::ShapeRef.new(shape: DeviceDefenderThingName, location: "querystring", location_name: "thingName"))
2706
2889
  ListActiveViolationsRequest.add_member(:security_profile_name, Shapes::ShapeRef.new(shape: SecurityProfileName, location: "querystring", location_name: "securityProfileName"))
2890
+ ListActiveViolationsRequest.add_member(:behavior_criteria_type, Shapes::ShapeRef.new(shape: BehaviorCriteriaType, location: "querystring", location_name: "behaviorCriteriaType"))
2891
+ ListActiveViolationsRequest.add_member(:list_suppressed_alerts, Shapes::ShapeRef.new(shape: ListSuppressedAlerts, location: "querystring", location_name: "listSuppressedAlerts"))
2707
2892
  ListActiveViolationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
2708
2893
  ListActiveViolationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
2709
2894
  ListActiveViolationsRequest.struct_class = Types::ListActiveViolationsRequest
@@ -2736,7 +2921,7 @@ module Aws::IoT
2736
2921
  ListAuditFindingsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
2737
2922
  ListAuditFindingsResponse.struct_class = Types::ListAuditFindingsResponse
2738
2923
 
2739
- ListAuditMitigationActionsExecutionsRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskId, required: true, location: "querystring", location_name: "taskId"))
2924
+ ListAuditMitigationActionsExecutionsRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, required: true, location: "querystring", location_name: "taskId"))
2740
2925
  ListAuditMitigationActionsExecutionsRequest.add_member(:action_status, Shapes::ShapeRef.new(shape: AuditMitigationActionsExecutionStatus, location: "querystring", location_name: "actionStatus"))
2741
2926
  ListAuditMitigationActionsExecutionsRequest.add_member(:finding_id, Shapes::ShapeRef.new(shape: FindingId, required: true, location: "querystring", location_name: "findingId"))
2742
2927
  ListAuditMitigationActionsExecutionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
@@ -2830,6 +3015,37 @@ module Aws::IoT
2830
3015
  ListCertificatesResponse.add_member(:next_marker, Shapes::ShapeRef.new(shape: Marker, location_name: "nextMarker"))
2831
3016
  ListCertificatesResponse.struct_class = Types::ListCertificatesResponse
2832
3017
 
3018
+ ListCustomMetricsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
3019
+ ListCustomMetricsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
3020
+ ListCustomMetricsRequest.struct_class = Types::ListCustomMetricsRequest
3021
+
3022
+ ListCustomMetricsResponse.add_member(:metric_names, Shapes::ShapeRef.new(shape: MetricNames, location_name: "metricNames"))
3023
+ ListCustomMetricsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
3024
+ ListCustomMetricsResponse.struct_class = Types::ListCustomMetricsResponse
3025
+
3026
+ ListDetectMitigationActionsExecutionsRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, location: "querystring", location_name: "taskId"))
3027
+ ListDetectMitigationActionsExecutionsRequest.add_member(:violation_id, Shapes::ShapeRef.new(shape: ViolationId, location: "querystring", location_name: "violationId"))
3028
+ ListDetectMitigationActionsExecutionsRequest.add_member(:thing_name, Shapes::ShapeRef.new(shape: DeviceDefenderThingName, location: "querystring", location_name: "thingName"))
3029
+ ListDetectMitigationActionsExecutionsRequest.add_member(:start_time, Shapes::ShapeRef.new(shape: Timestamp, location: "querystring", location_name: "startTime"))
3030
+ ListDetectMitigationActionsExecutionsRequest.add_member(:end_time, Shapes::ShapeRef.new(shape: Timestamp, location: "querystring", location_name: "endTime"))
3031
+ ListDetectMitigationActionsExecutionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
3032
+ ListDetectMitigationActionsExecutionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
3033
+ ListDetectMitigationActionsExecutionsRequest.struct_class = Types::ListDetectMitigationActionsExecutionsRequest
3034
+
3035
+ ListDetectMitigationActionsExecutionsResponse.add_member(:actions_executions, Shapes::ShapeRef.new(shape: DetectMitigationActionExecutionList, location_name: "actionsExecutions"))
3036
+ ListDetectMitigationActionsExecutionsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
3037
+ ListDetectMitigationActionsExecutionsResponse.struct_class = Types::ListDetectMitigationActionsExecutionsResponse
3038
+
3039
+ ListDetectMitigationActionsTasksRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
3040
+ ListDetectMitigationActionsTasksRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
3041
+ ListDetectMitigationActionsTasksRequest.add_member(:start_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location: "querystring", location_name: "startTime"))
3042
+ ListDetectMitigationActionsTasksRequest.add_member(:end_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location: "querystring", location_name: "endTime"))
3043
+ ListDetectMitigationActionsTasksRequest.struct_class = Types::ListDetectMitigationActionsTasksRequest
3044
+
3045
+ ListDetectMitigationActionsTasksResponse.add_member(:tasks, Shapes::ShapeRef.new(shape: DetectMitigationActionsTaskSummaryList, location_name: "tasks"))
3046
+ ListDetectMitigationActionsTasksResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
3047
+ ListDetectMitigationActionsTasksResponse.struct_class = Types::ListDetectMitigationActionsTasksResponse
3048
+
2833
3049
  ListDimensionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
2834
3050
  ListDimensionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
2835
3051
  ListDimensionsRequest.struct_class = Types::ListDimensionsRequest
@@ -3007,6 +3223,7 @@ module Aws::IoT
3007
3223
  ListSecurityProfilesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
3008
3224
  ListSecurityProfilesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
3009
3225
  ListSecurityProfilesRequest.add_member(:dimension_name, Shapes::ShapeRef.new(shape: DimensionName, location: "querystring", location_name: "dimensionName"))
3226
+ ListSecurityProfilesRequest.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, location: "querystring", location_name: "metricName"))
3010
3227
  ListSecurityProfilesRequest.struct_class = Types::ListSecurityProfilesRequest
3011
3228
 
3012
3229
  ListSecurityProfilesResponse.add_member(:security_profile_identifiers, Shapes::ShapeRef.new(shape: SecurityProfileIdentifiers, location_name: "securityProfileIdentifiers"))
@@ -3167,6 +3384,8 @@ module Aws::IoT
3167
3384
  ListViolationEventsRequest.add_member(:end_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location: "querystring", location_name: "endTime"))
3168
3385
  ListViolationEventsRequest.add_member(:thing_name, Shapes::ShapeRef.new(shape: DeviceDefenderThingName, location: "querystring", location_name: "thingName"))
3169
3386
  ListViolationEventsRequest.add_member(:security_profile_name, Shapes::ShapeRef.new(shape: SecurityProfileName, location: "querystring", location_name: "securityProfileName"))
3387
+ ListViolationEventsRequest.add_member(:behavior_criteria_type, Shapes::ShapeRef.new(shape: BehaviorCriteriaType, location: "querystring", location_name: "behaviorCriteriaType"))
3388
+ ListViolationEventsRequest.add_member(:list_suppressed_alerts, Shapes::ShapeRef.new(shape: ListSuppressedAlerts, location: "querystring", location_name: "listSuppressedAlerts"))
3170
3389
  ListViolationEventsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
3171
3390
  ListViolationEventsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
3172
3391
  ListViolationEventsRequest.struct_class = Types::ListViolationEventsRequest
@@ -3189,6 +3408,9 @@ module Aws::IoT
3189
3408
  LoggingOptionsPayload.add_member(:log_level, Shapes::ShapeRef.new(shape: LogLevel, location_name: "logLevel"))
3190
3409
  LoggingOptionsPayload.struct_class = Types::LoggingOptionsPayload
3191
3410
 
3411
+ MachineLearningDetectionConfig.add_member(:confidence_level, Shapes::ShapeRef.new(shape: ConfidenceLevel, required: true, location_name: "confidenceLevel"))
3412
+ MachineLearningDetectionConfig.struct_class = Types::MachineLearningDetectionConfig
3413
+
3192
3414
  MalformedPolicyException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
3193
3415
  MalformedPolicyException.struct_class = Types::MalformedPolicyException
3194
3416
 
@@ -3196,6 +3418,8 @@ module Aws::IoT
3196
3418
  MetricDimension.add_member(:operator, Shapes::ShapeRef.new(shape: DimensionValueOperator, location_name: "operator"))
3197
3419
  MetricDimension.struct_class = Types::MetricDimension
3198
3420
 
3421
+ MetricNames.member = Shapes::ShapeRef.new(shape: MetricName)
3422
+
3199
3423
  MetricToRetain.add_member(:metric, Shapes::ShapeRef.new(shape: BehaviorMetric, required: true, location_name: "metric"))
3200
3424
  MetricToRetain.add_member(:metric_dimension, Shapes::ShapeRef.new(shape: MetricDimension, location_name: "metricDimension"))
3201
3425
  MetricToRetain.struct_class = Types::MetricToRetain
@@ -3203,6 +3427,9 @@ module Aws::IoT
3203
3427
  MetricValue.add_member(:count, Shapes::ShapeRef.new(shape: UnsignedLong, location_name: "count"))
3204
3428
  MetricValue.add_member(:cidrs, Shapes::ShapeRef.new(shape: Cidrs, location_name: "cidrs"))
3205
3429
  MetricValue.add_member(:ports, Shapes::ShapeRef.new(shape: Ports, location_name: "ports"))
3430
+ MetricValue.add_member(:number, Shapes::ShapeRef.new(shape: Number, location_name: "number"))
3431
+ MetricValue.add_member(:numbers, Shapes::ShapeRef.new(shape: NumberList, location_name: "numbers"))
3432
+ MetricValue.add_member(:strings, Shapes::ShapeRef.new(shape: StringList, location_name: "strings"))
3206
3433
  MetricValue.struct_class = Types::MetricValue
3207
3434
 
3208
3435
  MissingContextValues.member = Shapes::ShapeRef.new(shape: MissingContextValue)
@@ -3245,7 +3472,10 @@ module Aws::IoT
3245
3472
  NotConfiguredException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
3246
3473
  NotConfiguredException.struct_class = Types::NotConfiguredException
3247
3474
 
3475
+ NumberList.member = Shapes::ShapeRef.new(shape: Number)
3476
+
3248
3477
  OTAUpdateFile.add_member(:file_name, Shapes::ShapeRef.new(shape: FileName, location_name: "fileName"))
3478
+ OTAUpdateFile.add_member(:file_type, Shapes::ShapeRef.new(shape: FileType, location_name: "fileType"))
3249
3479
  OTAUpdateFile.add_member(:file_version, Shapes::ShapeRef.new(shape: OTAUpdateFileVersion, location_name: "fileVersion"))
3250
3480
  OTAUpdateFile.add_member(:file_location, Shapes::ShapeRef.new(shape: FileLocation, location_name: "fileLocation"))
3251
3481
  OTAUpdateFile.add_member(:code_signing, Shapes::ShapeRef.new(shape: CodeSigning, location_name: "codeSigning"))
@@ -3547,6 +3777,8 @@ module Aws::IoT
3547
3777
 
3548
3778
  SearchableAttributes.member = Shapes::ShapeRef.new(shape: AttributeName)
3549
3779
 
3780
+ SecurityGroupList.member = Shapes::ShapeRef.new(shape: SecurityGroupId)
3781
+
3550
3782
  SecurityProfileIdentifier.add_member(:name, Shapes::ShapeRef.new(shape: SecurityProfileName, required: true, location_name: "name"))
3551
3783
  SecurityProfileIdentifier.add_member(:arn, Shapes::ShapeRef.new(shape: SecurityProfileArn, required: true, location_name: "arn"))
3552
3784
  SecurityProfileIdentifier.struct_class = Types::SecurityProfileIdentifier
@@ -3624,15 +3856,27 @@ module Aws::IoT
3624
3856
  SqsAction.add_member(:use_base_64, Shapes::ShapeRef.new(shape: UseBase64, location_name: "useBase64"))
3625
3857
  SqsAction.struct_class = Types::SqsAction
3626
3858
 
3627
- StartAuditMitigationActionsTaskRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskId, required: true, location: "uri", location_name: "taskId"))
3859
+ StartAuditMitigationActionsTaskRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, required: true, location: "uri", location_name: "taskId"))
3628
3860
  StartAuditMitigationActionsTaskRequest.add_member(:target, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskTarget, required: true, location_name: "target"))
3629
3861
  StartAuditMitigationActionsTaskRequest.add_member(:audit_check_to_actions_mapping, Shapes::ShapeRef.new(shape: AuditCheckToActionsMapping, required: true, location_name: "auditCheckToActionsMapping"))
3630
3862
  StartAuditMitigationActionsTaskRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: ClientRequestToken, required: true, location_name: "clientRequestToken", metadata: {"idempotencyToken"=>true}))
3631
3863
  StartAuditMitigationActionsTaskRequest.struct_class = Types::StartAuditMitigationActionsTaskRequest
3632
3864
 
3633
- StartAuditMitigationActionsTaskResponse.add_member(:task_id, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskId, location_name: "taskId"))
3865
+ StartAuditMitigationActionsTaskResponse.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, location_name: "taskId"))
3634
3866
  StartAuditMitigationActionsTaskResponse.struct_class = Types::StartAuditMitigationActionsTaskResponse
3635
3867
 
3868
+ StartDetectMitigationActionsTaskRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, required: true, location: "uri", location_name: "taskId"))
3869
+ StartDetectMitigationActionsTaskRequest.add_member(:target, Shapes::ShapeRef.new(shape: DetectMitigationActionsTaskTarget, required: true, location_name: "target"))
3870
+ StartDetectMitigationActionsTaskRequest.add_member(:actions, Shapes::ShapeRef.new(shape: DetectMitigationActionsToExecuteList, required: true, location_name: "actions"))
3871
+ StartDetectMitigationActionsTaskRequest.add_member(:violation_event_occurrence_range, Shapes::ShapeRef.new(shape: ViolationEventOccurrenceRange, location_name: "violationEventOccurrenceRange"))
3872
+ StartDetectMitigationActionsTaskRequest.add_member(:include_only_active_violations, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "includeOnlyActiveViolations"))
3873
+ StartDetectMitigationActionsTaskRequest.add_member(:include_suppressed_alerts, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "includeSuppressedAlerts"))
3874
+ StartDetectMitigationActionsTaskRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: ClientRequestToken, required: true, location_name: "clientRequestToken", metadata: {"idempotencyToken"=>true}))
3875
+ StartDetectMitigationActionsTaskRequest.struct_class = Types::StartDetectMitigationActionsTaskRequest
3876
+
3877
+ StartDetectMitigationActionsTaskResponse.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, location_name: "taskId"))
3878
+ StartDetectMitigationActionsTaskResponse.struct_class = Types::StartDetectMitigationActionsTaskResponse
3879
+
3636
3880
  StartOnDemandAuditTaskRequest.add_member(:target_check_names, Shapes::ShapeRef.new(shape: TargetAuditCheckNames, required: true, location_name: "targetCheckNames"))
3637
3881
  StartOnDemandAuditTaskRequest.struct_class = Types::StartOnDemandAuditTaskRequest
3638
3882
 
@@ -3704,9 +3948,13 @@ module Aws::IoT
3704
3948
 
3705
3949
  StreamsSummary.member = Shapes::ShapeRef.new(shape: StreamSummary)
3706
3950
 
3951
+ StringList.member = Shapes::ShapeRef.new(shape: stringValue)
3952
+
3707
3953
  StringMap.key = Shapes::ShapeRef.new(shape: String)
3708
3954
  StringMap.value = Shapes::ShapeRef.new(shape: String)
3709
3955
 
3956
+ SubnetIdList.member = Shapes::ShapeRef.new(shape: SubnetId)
3957
+
3710
3958
  Tag.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, required: true, location_name: "Key"))
3711
3959
  Tag.add_member(:value, Shapes::ShapeRef.new(shape: TagValue, location_name: "Value"))
3712
3960
  Tag.struct_class = Types::Tag
@@ -3723,6 +3971,8 @@ module Aws::IoT
3723
3971
 
3724
3972
  TargetAuditCheckNames.member = Shapes::ShapeRef.new(shape: AuditCheckName)
3725
3973
 
3974
+ TargetViolationIdsForDetectMitigationActions.member = Shapes::ShapeRef.new(shape: ViolationId)
3975
+
3726
3976
  Targets.member = Shapes::ShapeRef.new(shape: Target)
3727
3977
 
3728
3978
  TaskAlreadyExistsException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
@@ -3890,19 +4140,26 @@ module Aws::IoT
3890
4140
 
3891
4141
  TopicRuleDestination.add_member(:arn, Shapes::ShapeRef.new(shape: AwsArn, location_name: "arn"))
3892
4142
  TopicRuleDestination.add_member(:status, Shapes::ShapeRef.new(shape: TopicRuleDestinationStatus, location_name: "status"))
4143
+ TopicRuleDestination.add_member(:created_at, Shapes::ShapeRef.new(shape: CreatedAtDate, location_name: "createdAt"))
4144
+ TopicRuleDestination.add_member(:last_updated_at, Shapes::ShapeRef.new(shape: LastUpdatedAtDate, location_name: "lastUpdatedAt"))
3893
4145
  TopicRuleDestination.add_member(:status_reason, Shapes::ShapeRef.new(shape: String, location_name: "statusReason"))
3894
4146
  TopicRuleDestination.add_member(:http_url_properties, Shapes::ShapeRef.new(shape: HttpUrlDestinationProperties, location_name: "httpUrlProperties"))
4147
+ TopicRuleDestination.add_member(:vpc_properties, Shapes::ShapeRef.new(shape: VpcDestinationProperties, location_name: "vpcProperties"))
3895
4148
  TopicRuleDestination.struct_class = Types::TopicRuleDestination
3896
4149
 
3897
4150
  TopicRuleDestinationConfiguration.add_member(:http_url_configuration, Shapes::ShapeRef.new(shape: HttpUrlDestinationConfiguration, location_name: "httpUrlConfiguration"))
4151
+ TopicRuleDestinationConfiguration.add_member(:vpc_configuration, Shapes::ShapeRef.new(shape: VpcDestinationConfiguration, location_name: "vpcConfiguration"))
3898
4152
  TopicRuleDestinationConfiguration.struct_class = Types::TopicRuleDestinationConfiguration
3899
4153
 
3900
4154
  TopicRuleDestinationSummaries.member = Shapes::ShapeRef.new(shape: TopicRuleDestinationSummary)
3901
4155
 
3902
4156
  TopicRuleDestinationSummary.add_member(:arn, Shapes::ShapeRef.new(shape: AwsArn, location_name: "arn"))
3903
4157
  TopicRuleDestinationSummary.add_member(:status, Shapes::ShapeRef.new(shape: TopicRuleDestinationStatus, location_name: "status"))
4158
+ TopicRuleDestinationSummary.add_member(:created_at, Shapes::ShapeRef.new(shape: CreatedAtDate, location_name: "createdAt"))
4159
+ TopicRuleDestinationSummary.add_member(:last_updated_at, Shapes::ShapeRef.new(shape: LastUpdatedAtDate, location_name: "lastUpdatedAt"))
3904
4160
  TopicRuleDestinationSummary.add_member(:status_reason, Shapes::ShapeRef.new(shape: String, location_name: "statusReason"))
3905
4161
  TopicRuleDestinationSummary.add_member(:http_url_summary, Shapes::ShapeRef.new(shape: HttpUrlDestinationSummary, location_name: "httpUrlSummary"))
4162
+ TopicRuleDestinationSummary.add_member(:vpc_destination_summary, Shapes::ShapeRef.new(shape: VpcDestinationSummary, location_name: "vpcDestinationSummary"))
3906
4163
  TopicRuleDestinationSummary.struct_class = Types::TopicRuleDestinationSummary
3907
4164
 
3908
4165
  TopicRuleList.member = Shapes::ShapeRef.new(shape: TopicRuleListItem)
@@ -4001,6 +4258,18 @@ module Aws::IoT
4001
4258
  UpdateCertificateRequest.add_member(:new_status, Shapes::ShapeRef.new(shape: CertificateStatus, required: true, location: "querystring", location_name: "newStatus"))
4002
4259
  UpdateCertificateRequest.struct_class = Types::UpdateCertificateRequest
4003
4260
 
4261
+ UpdateCustomMetricRequest.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, required: true, location: "uri", location_name: "metricName"))
4262
+ UpdateCustomMetricRequest.add_member(:display_name, Shapes::ShapeRef.new(shape: CustomMetricDisplayName, required: true, location_name: "displayName"))
4263
+ UpdateCustomMetricRequest.struct_class = Types::UpdateCustomMetricRequest
4264
+
4265
+ UpdateCustomMetricResponse.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, location_name: "metricName"))
4266
+ UpdateCustomMetricResponse.add_member(:metric_arn, Shapes::ShapeRef.new(shape: CustomMetricArn, location_name: "metricArn"))
4267
+ UpdateCustomMetricResponse.add_member(:metric_type, Shapes::ShapeRef.new(shape: CustomMetricType, location_name: "metricType"))
4268
+ UpdateCustomMetricResponse.add_member(:display_name, Shapes::ShapeRef.new(shape: CustomMetricDisplayName, location_name: "displayName"))
4269
+ UpdateCustomMetricResponse.add_member(:creation_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "creationDate"))
4270
+ UpdateCustomMetricResponse.add_member(:last_modified_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastModifiedDate"))
4271
+ UpdateCustomMetricResponse.struct_class = Types::UpdateCustomMetricResponse
4272
+
4004
4273
  UpdateDeviceCertificateParams.add_member(:action, Shapes::ShapeRef.new(shape: DeviceCertificateUpdateAction, required: true, location_name: "action"))
4005
4274
  UpdateDeviceCertificateParams.struct_class = Types::UpdateDeviceCertificateParams
4006
4275
 
@@ -4186,12 +4455,38 @@ module Aws::IoT
4186
4455
  ViolationEvent.add_member(:security_profile_name, Shapes::ShapeRef.new(shape: SecurityProfileName, location_name: "securityProfileName"))
4187
4456
  ViolationEvent.add_member(:behavior, Shapes::ShapeRef.new(shape: Behavior, location_name: "behavior"))
4188
4457
  ViolationEvent.add_member(:metric_value, Shapes::ShapeRef.new(shape: MetricValue, location_name: "metricValue"))
4458
+ ViolationEvent.add_member(:violation_event_additional_info, Shapes::ShapeRef.new(shape: ViolationEventAdditionalInfo, location_name: "violationEventAdditionalInfo"))
4189
4459
  ViolationEvent.add_member(:violation_event_type, Shapes::ShapeRef.new(shape: ViolationEventType, location_name: "violationEventType"))
4190
4460
  ViolationEvent.add_member(:violation_event_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "violationEventTime"))
4191
4461
  ViolationEvent.struct_class = Types::ViolationEvent
4192
4462
 
4463
+ ViolationEventAdditionalInfo.add_member(:confidence_level, Shapes::ShapeRef.new(shape: ConfidenceLevel, location_name: "confidenceLevel"))
4464
+ ViolationEventAdditionalInfo.struct_class = Types::ViolationEventAdditionalInfo
4465
+
4466
+ ViolationEventOccurrenceRange.add_member(:start_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "startTime"))
4467
+ ViolationEventOccurrenceRange.add_member(:end_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "endTime"))
4468
+ ViolationEventOccurrenceRange.struct_class = Types::ViolationEventOccurrenceRange
4469
+
4193
4470
  ViolationEvents.member = Shapes::ShapeRef.new(shape: ViolationEvent)
4194
4471
 
4472
+ VpcDestinationConfiguration.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: SubnetIdList, required: true, location_name: "subnetIds"))
4473
+ VpcDestinationConfiguration.add_member(:security_groups, Shapes::ShapeRef.new(shape: SecurityGroupList, location_name: "securityGroups"))
4474
+ VpcDestinationConfiguration.add_member(:vpc_id, Shapes::ShapeRef.new(shape: VpcId, required: true, location_name: "vpcId"))
4475
+ VpcDestinationConfiguration.add_member(:role_arn, Shapes::ShapeRef.new(shape: AwsArn, required: true, location_name: "roleArn"))
4476
+ VpcDestinationConfiguration.struct_class = Types::VpcDestinationConfiguration
4477
+
4478
+ VpcDestinationProperties.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: SubnetIdList, location_name: "subnetIds"))
4479
+ VpcDestinationProperties.add_member(:security_groups, Shapes::ShapeRef.new(shape: SecurityGroupList, location_name: "securityGroups"))
4480
+ VpcDestinationProperties.add_member(:vpc_id, Shapes::ShapeRef.new(shape: VpcId, location_name: "vpcId"))
4481
+ VpcDestinationProperties.add_member(:role_arn, Shapes::ShapeRef.new(shape: AwsArn, location_name: "roleArn"))
4482
+ VpcDestinationProperties.struct_class = Types::VpcDestinationProperties
4483
+
4484
+ VpcDestinationSummary.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: SubnetIdList, location_name: "subnetIds"))
4485
+ VpcDestinationSummary.add_member(:security_groups, Shapes::ShapeRef.new(shape: SecurityGroupList, location_name: "securityGroups"))
4486
+ VpcDestinationSummary.add_member(:vpc_id, Shapes::ShapeRef.new(shape: VpcId, location_name: "vpcId"))
4487
+ VpcDestinationSummary.add_member(:role_arn, Shapes::ShapeRef.new(shape: AwsArn, location_name: "roleArn"))
4488
+ VpcDestinationSummary.struct_class = Types::VpcDestinationSummary
4489
+
4195
4490
 
4196
4491
  # @api private
4197
4492
  API = Seahorse::Model::Api.new.tap do |api|
@@ -4359,6 +4654,18 @@ module Aws::IoT
4359
4654
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
4360
4655
  end)
4361
4656
 
4657
+ api.add_operation(:cancel_detect_mitigation_actions_task, Seahorse::Model::Operation.new.tap do |o|
4658
+ o.name = "CancelDetectMitigationActionsTask"
4659
+ o.http_method = "PUT"
4660
+ o.http_request_uri = "/detect/mitigationactions/tasks/{taskId}/cancel"
4661
+ o.input = Shapes::ShapeRef.new(shape: CancelDetectMitigationActionsTaskRequest)
4662
+ o.output = Shapes::ShapeRef.new(shape: CancelDetectMitigationActionsTaskResponse)
4663
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
4664
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
4665
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
4666
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
4667
+ end)
4668
+
4362
4669
  api.add_operation(:cancel_job, Seahorse::Model::Operation.new.tap do |o|
4363
4670
  o.name = "CancelJob"
4364
4671
  o.http_method = "PUT"
@@ -4465,6 +4772,19 @@ module Aws::IoT
4465
4772
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
4466
4773
  end)
4467
4774
 
4775
+ api.add_operation(:create_custom_metric, Seahorse::Model::Operation.new.tap do |o|
4776
+ o.name = "CreateCustomMetric"
4777
+ o.http_method = "POST"
4778
+ o.http_request_uri = "/custom-metric/{metricName}"
4779
+ o.input = Shapes::ShapeRef.new(shape: CreateCustomMetricRequest)
4780
+ o.output = Shapes::ShapeRef.new(shape: CreateCustomMetricResponse)
4781
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
4782
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
4783
+ o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
4784
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
4785
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
4786
+ end)
4787
+
4468
4788
  api.add_operation(:create_dimension, Seahorse::Model::Operation.new.tap do |o|
4469
4789
  o.name = "CreateDimension"
4470
4790
  o.http_method = "POST"
@@ -4844,6 +5164,17 @@ module Aws::IoT
4844
5164
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
4845
5165
  end)
4846
5166
 
5167
+ api.add_operation(:delete_custom_metric, Seahorse::Model::Operation.new.tap do |o|
5168
+ o.name = "DeleteCustomMetric"
5169
+ o.http_method = "DELETE"
5170
+ o.http_request_uri = "/custom-metric/{metricName}"
5171
+ o.input = Shapes::ShapeRef.new(shape: DeleteCustomMetricRequest)
5172
+ o.output = Shapes::ShapeRef.new(shape: DeleteCustomMetricResponse)
5173
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
5174
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
5175
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
5176
+ end)
5177
+
4847
5178
  api.add_operation(:delete_dimension, Seahorse::Model::Operation.new.tap do |o|
4848
5179
  o.name = "DeleteDimension"
4849
5180
  o.http_method = "DELETE"
@@ -5265,6 +5596,18 @@ module Aws::IoT
5265
5596
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
5266
5597
  end)
5267
5598
 
5599
+ api.add_operation(:describe_custom_metric, Seahorse::Model::Operation.new.tap do |o|
5600
+ o.name = "DescribeCustomMetric"
5601
+ o.http_method = "GET"
5602
+ o.http_request_uri = "/custom-metric/{metricName}"
5603
+ o.input = Shapes::ShapeRef.new(shape: DescribeCustomMetricRequest)
5604
+ o.output = Shapes::ShapeRef.new(shape: DescribeCustomMetricResponse)
5605
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
5606
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
5607
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
5608
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
5609
+ end)
5610
+
5268
5611
  api.add_operation(:describe_default_authorizer, Seahorse::Model::Operation.new.tap do |o|
5269
5612
  o.name = "DescribeDefaultAuthorizer"
5270
5613
  o.http_method = "GET"
@@ -5279,6 +5622,18 @@ module Aws::IoT
5279
5622
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
5280
5623
  end)
5281
5624
 
5625
+ api.add_operation(:describe_detect_mitigation_actions_task, Seahorse::Model::Operation.new.tap do |o|
5626
+ o.name = "DescribeDetectMitigationActionsTask"
5627
+ o.http_method = "GET"
5628
+ o.http_request_uri = "/detect/mitigationactions/tasks/{taskId}"
5629
+ o.input = Shapes::ShapeRef.new(shape: DescribeDetectMitigationActionsTaskRequest)
5630
+ o.output = Shapes::ShapeRef.new(shape: DescribeDetectMitigationActionsTaskResponse)
5631
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
5632
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
5633
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
5634
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
5635
+ end)
5636
+
5282
5637
  api.add_operation(:describe_dimension, Seahorse::Model::Operation.new.tap do |o|
5283
5638
  o.name = "DescribeDimension"
5284
5639
  o.http_method = "GET"
@@ -5589,6 +5944,24 @@ module Aws::IoT
5589
5944
  o.errors << Shapes::ShapeRef.new(shape: ConflictingResourceUpdateException)
5590
5945
  end)
5591
5946
 
5947
+ api.add_operation(:get_behavior_model_training_summaries, Seahorse::Model::Operation.new.tap do |o|
5948
+ o.name = "GetBehaviorModelTrainingSummaries"
5949
+ o.http_method = "GET"
5950
+ o.http_request_uri = "/behavior-model-training/summaries"
5951
+ o.input = Shapes::ShapeRef.new(shape: GetBehaviorModelTrainingSummariesRequest)
5952
+ o.output = Shapes::ShapeRef.new(shape: GetBehaviorModelTrainingSummariesResponse)
5953
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
5954
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
5955
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
5956
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
5957
+ o[:pager] = Aws::Pager.new(
5958
+ limit_key: "max_results",
5959
+ tokens: {
5960
+ "next_token" => "next_token"
5961
+ }
5962
+ )
5963
+ end)
5964
+
5592
5965
  api.add_operation(:get_cardinality, Seahorse::Model::Operation.new.tap do |o|
5593
5966
  o.name = "GetCardinality"
5594
5967
  o.http_method = "POST"
@@ -5999,6 +6372,57 @@ module Aws::IoT
5999
6372
  )
6000
6373
  end)
6001
6374
 
6375
+ api.add_operation(:list_custom_metrics, Seahorse::Model::Operation.new.tap do |o|
6376
+ o.name = "ListCustomMetrics"
6377
+ o.http_method = "GET"
6378
+ o.http_request_uri = "/custom-metrics"
6379
+ o.input = Shapes::ShapeRef.new(shape: ListCustomMetricsRequest)
6380
+ o.output = Shapes::ShapeRef.new(shape: ListCustomMetricsResponse)
6381
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
6382
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
6383
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
6384
+ o[:pager] = Aws::Pager.new(
6385
+ limit_key: "max_results",
6386
+ tokens: {
6387
+ "next_token" => "next_token"
6388
+ }
6389
+ )
6390
+ end)
6391
+
6392
+ api.add_operation(:list_detect_mitigation_actions_executions, Seahorse::Model::Operation.new.tap do |o|
6393
+ o.name = "ListDetectMitigationActionsExecutions"
6394
+ o.http_method = "GET"
6395
+ o.http_request_uri = "/detect/mitigationactions/executions"
6396
+ o.input = Shapes::ShapeRef.new(shape: ListDetectMitigationActionsExecutionsRequest)
6397
+ o.output = Shapes::ShapeRef.new(shape: ListDetectMitigationActionsExecutionsResponse)
6398
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
6399
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
6400
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
6401
+ o[:pager] = Aws::Pager.new(
6402
+ limit_key: "max_results",
6403
+ tokens: {
6404
+ "next_token" => "next_token"
6405
+ }
6406
+ )
6407
+ end)
6408
+
6409
+ api.add_operation(:list_detect_mitigation_actions_tasks, Seahorse::Model::Operation.new.tap do |o|
6410
+ o.name = "ListDetectMitigationActionsTasks"
6411
+ o.http_method = "GET"
6412
+ o.http_request_uri = "/detect/mitigationactions/tasks"
6413
+ o.input = Shapes::ShapeRef.new(shape: ListDetectMitigationActionsTasksRequest)
6414
+ o.output = Shapes::ShapeRef.new(shape: ListDetectMitigationActionsTasksResponse)
6415
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
6416
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
6417
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
6418
+ o[:pager] = Aws::Pager.new(
6419
+ limit_key: "max_results",
6420
+ tokens: {
6421
+ "next_token" => "next_token"
6422
+ }
6423
+ )
6424
+ end)
6425
+
6002
6426
  api.add_operation(:list_dimensions, Seahorse::Model::Operation.new.tap do |o|
6003
6427
  o.name = "ListDimensions"
6004
6428
  o.http_method = "GET"
@@ -6889,6 +7313,19 @@ module Aws::IoT
6889
7313
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
6890
7314
  end)
6891
7315
 
7316
+ api.add_operation(:start_detect_mitigation_actions_task, Seahorse::Model::Operation.new.tap do |o|
7317
+ o.name = "StartDetectMitigationActionsTask"
7318
+ o.http_method = "PUT"
7319
+ o.http_request_uri = "/detect/mitigationactions/tasks/{taskId}"
7320
+ o.input = Shapes::ShapeRef.new(shape: StartDetectMitigationActionsTaskRequest)
7321
+ o.output = Shapes::ShapeRef.new(shape: StartDetectMitigationActionsTaskResponse)
7322
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
7323
+ o.errors << Shapes::ShapeRef.new(shape: TaskAlreadyExistsException)
7324
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
7325
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
7326
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
7327
+ end)
7328
+
6892
7329
  api.add_operation(:start_on_demand_audit_task, Seahorse::Model::Operation.new.tap do |o|
6893
7330
  o.name = "StartOnDemandAuditTask"
6894
7331
  o.http_method = "POST"
@@ -7077,6 +7514,18 @@ module Aws::IoT
7077
7514
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
7078
7515
  end)
7079
7516
 
7517
+ api.add_operation(:update_custom_metric, Seahorse::Model::Operation.new.tap do |o|
7518
+ o.name = "UpdateCustomMetric"
7519
+ o.http_method = "PATCH"
7520
+ o.http_request_uri = "/custom-metric/{metricName}"
7521
+ o.input = Shapes::ShapeRef.new(shape: UpdateCustomMetricRequest)
7522
+ o.output = Shapes::ShapeRef.new(shape: UpdateCustomMetricResponse)
7523
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
7524
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
7525
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
7526
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
7527
+ end)
7528
+
7080
7529
  api.add_operation(:update_dimension, Seahorse::Model::Operation.new.tap do |o|
7081
7530
  o.name = "UpdateDimension"
7082
7531
  o.http_method = "PATCH"