aws-sdk-iot 1.63.0 → 1.68.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.
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -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')
@@ -144,7 +143,10 @@ module Aws::IoT
144
143
  BatchMode = Shapes::BooleanShape.new(name: 'BatchMode')
145
144
  Behavior = Shapes::StructureShape.new(name: 'Behavior')
146
145
  BehaviorCriteria = Shapes::StructureShape.new(name: 'BehaviorCriteria')
146
+ BehaviorCriteriaType = Shapes::StringShape.new(name: 'BehaviorCriteriaType')
147
147
  BehaviorMetric = Shapes::StringShape.new(name: 'BehaviorMetric')
148
+ BehaviorModelTrainingSummaries = Shapes::ListShape.new(name: 'BehaviorModelTrainingSummaries')
149
+ BehaviorModelTrainingSummary = Shapes::StructureShape.new(name: 'BehaviorModelTrainingSummary')
148
150
  BehaviorName = Shapes::StringShape.new(name: 'BehaviorName')
149
151
  Behaviors = Shapes::ListShape.new(name: 'Behaviors')
150
152
  BillingGroupArn = Shapes::StringShape.new(name: 'BillingGroupArn')
@@ -167,6 +169,8 @@ module Aws::IoT
167
169
  CancelAuditTaskRequest = Shapes::StructureShape.new(name: 'CancelAuditTaskRequest')
168
170
  CancelAuditTaskResponse = Shapes::StructureShape.new(name: 'CancelAuditTaskResponse')
169
171
  CancelCertificateTransferRequest = Shapes::StructureShape.new(name: 'CancelCertificateTransferRequest')
172
+ CancelDetectMitigationActionsTaskRequest = Shapes::StructureShape.new(name: 'CancelDetectMitigationActionsTaskRequest')
173
+ CancelDetectMitigationActionsTaskResponse = Shapes::StructureShape.new(name: 'CancelDetectMitigationActionsTaskResponse')
170
174
  CancelJobExecutionRequest = Shapes::StructureShape.new(name: 'CancelJobExecutionRequest')
171
175
  CancelJobRequest = Shapes::StructureShape.new(name: 'CancelJobRequest')
172
176
  CancelJobResponse = Shapes::StructureShape.new(name: 'CancelJobResponse')
@@ -196,6 +200,7 @@ module Aws::IoT
196
200
  ClearDefaultAuthorizerRequest = Shapes::StructureShape.new(name: 'ClearDefaultAuthorizerRequest')
197
201
  ClearDefaultAuthorizerResponse = Shapes::StructureShape.new(name: 'ClearDefaultAuthorizerResponse')
198
202
  ClientId = Shapes::StringShape.new(name: 'ClientId')
203
+ ClientProperties = Shapes::MapShape.new(name: 'ClientProperties')
199
204
  ClientRequestToken = Shapes::StringShape.new(name: 'ClientRequestToken')
200
205
  CloudwatchAlarmAction = Shapes::StructureShape.new(name: 'CloudwatchAlarmAction')
201
206
  CloudwatchLogsAction = Shapes::StructureShape.new(name: 'CloudwatchLogsAction')
@@ -208,6 +213,7 @@ module Aws::IoT
208
213
  Comment = Shapes::StringShape.new(name: 'Comment')
209
214
  ComparisonOperator = Shapes::StringShape.new(name: 'ComparisonOperator')
210
215
  CompliantChecksCount = Shapes::IntegerShape.new(name: 'CompliantChecksCount')
216
+ ConfidenceLevel = Shapes::StringShape.new(name: 'ConfidenceLevel')
211
217
  Configuration = Shapes::StructureShape.new(name: 'Configuration')
212
218
  ConfirmTopicRuleDestinationRequest = Shapes::StructureShape.new(name: 'ConfirmTopicRuleDestinationRequest')
213
219
  ConfirmTopicRuleDestinationResponse = Shapes::StructureShape.new(name: 'ConfirmTopicRuleDestinationResponse')
@@ -225,6 +231,8 @@ module Aws::IoT
225
231
  CreateBillingGroupResponse = Shapes::StructureShape.new(name: 'CreateBillingGroupResponse')
226
232
  CreateCertificateFromCsrRequest = Shapes::StructureShape.new(name: 'CreateCertificateFromCsrRequest')
227
233
  CreateCertificateFromCsrResponse = Shapes::StructureShape.new(name: 'CreateCertificateFromCsrResponse')
234
+ CreateCustomMetricRequest = Shapes::StructureShape.new(name: 'CreateCustomMetricRequest')
235
+ CreateCustomMetricResponse = Shapes::StructureShape.new(name: 'CreateCustomMetricResponse')
228
236
  CreateDimensionRequest = Shapes::StructureShape.new(name: 'CreateDimensionRequest')
229
237
  CreateDimensionResponse = Shapes::StructureShape.new(name: 'CreateDimensionResponse')
230
238
  CreateDomainConfigurationRequest = Shapes::StructureShape.new(name: 'CreateDomainConfigurationRequest')
@@ -270,7 +278,11 @@ module Aws::IoT
270
278
  CreationDate = Shapes::TimestampShape.new(name: 'CreationDate')
271
279
  CredentialDurationSeconds = Shapes::IntegerShape.new(name: 'CredentialDurationSeconds')
272
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')
273
284
  CustomerVersion = Shapes::IntegerShape.new(name: 'CustomerVersion')
285
+ DataCollectionPercentage = Shapes::FloatShape.new(name: 'DataCollectionPercentage')
274
286
  DateType = Shapes::TimestampShape.new(name: 'DateType')
275
287
  DayOfMonth = Shapes::StringShape.new(name: 'DayOfMonth')
276
288
  DayOfWeek = Shapes::StringShape.new(name: 'DayOfWeek')
@@ -289,6 +301,8 @@ module Aws::IoT
289
301
  DeleteCACertificateResponse = Shapes::StructureShape.new(name: 'DeleteCACertificateResponse')
290
302
  DeleteCertificateRequest = Shapes::StructureShape.new(name: 'DeleteCertificateRequest')
291
303
  DeleteConflictException = Shapes::StructureShape.new(name: 'DeleteConflictException')
304
+ DeleteCustomMetricRequest = Shapes::StructureShape.new(name: 'DeleteCustomMetricRequest')
305
+ DeleteCustomMetricResponse = Shapes::StructureShape.new(name: 'DeleteCustomMetricResponse')
292
306
  DeleteDimensionRequest = Shapes::StructureShape.new(name: 'DeleteDimensionRequest')
293
307
  DeleteDimensionResponse = Shapes::StructureShape.new(name: 'DeleteDimensionResponse')
294
308
  DeleteDomainConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteDomainConfigurationRequest')
@@ -352,8 +366,12 @@ module Aws::IoT
352
366
  DescribeCACertificateResponse = Shapes::StructureShape.new(name: 'DescribeCACertificateResponse')
353
367
  DescribeCertificateRequest = Shapes::StructureShape.new(name: 'DescribeCertificateRequest')
354
368
  DescribeCertificateResponse = Shapes::StructureShape.new(name: 'DescribeCertificateResponse')
369
+ DescribeCustomMetricRequest = Shapes::StructureShape.new(name: 'DescribeCustomMetricRequest')
370
+ DescribeCustomMetricResponse = Shapes::StructureShape.new(name: 'DescribeCustomMetricResponse')
355
371
  DescribeDefaultAuthorizerRequest = Shapes::StructureShape.new(name: 'DescribeDefaultAuthorizerRequest')
356
372
  DescribeDefaultAuthorizerResponse = Shapes::StructureShape.new(name: 'DescribeDefaultAuthorizerResponse')
373
+ DescribeDetectMitigationActionsTaskRequest = Shapes::StructureShape.new(name: 'DescribeDetectMitigationActionsTaskRequest')
374
+ DescribeDetectMitigationActionsTaskResponse = Shapes::StructureShape.new(name: 'DescribeDetectMitigationActionsTaskResponse')
357
375
  DescribeDimensionRequest = Shapes::StructureShape.new(name: 'DescribeDimensionRequest')
358
376
  DescribeDimensionResponse = Shapes::StructureShape.new(name: 'DescribeDimensionResponse')
359
377
  DescribeDomainConfigurationRequest = Shapes::StructureShape.new(name: 'DescribeDomainConfigurationRequest')
@@ -401,6 +419,16 @@ module Aws::IoT
401
419
  DetailsKey = Shapes::StringShape.new(name: 'DetailsKey')
402
420
  DetailsMap = Shapes::MapShape.new(name: 'DetailsMap')
403
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')
404
432
  DeviceCertificateUpdateAction = Shapes::StringShape.new(name: 'DeviceCertificateUpdateAction')
405
433
  DeviceDefenderThingName = Shapes::StringShape.new(name: 'DeviceDefenderThingName')
406
434
  DimensionArn = Shapes::StringShape.new(name: 'DimensionArn')
@@ -472,6 +500,9 @@ module Aws::IoT
472
500
  Forced = Shapes::BooleanShape.new(name: 'Forced')
473
501
  FunctionArn = Shapes::StringShape.new(name: 'FunctionArn')
474
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')
475
506
  GetCardinalityRequest = Shapes::StructureShape.new(name: 'GetCardinalityRequest')
476
507
  GetCardinalityResponse = Shapes::StructureShape.new(name: 'GetCardinalityResponse')
477
508
  GetEffectivePoliciesRequest = Shapes::StructureShape.new(name: 'GetEffectivePoliciesRequest')
@@ -566,6 +597,7 @@ module Aws::IoT
566
597
  JobSummaryList = Shapes::ListShape.new(name: 'JobSummaryList')
567
598
  JobTargets = Shapes::ListShape.new(name: 'JobTargets')
568
599
  JsonDocument = Shapes::StringShape.new(name: 'JsonDocument')
600
+ KafkaAction = Shapes::StructureShape.new(name: 'KafkaAction')
569
601
  Key = Shapes::StringShape.new(name: 'Key')
570
602
  KeyName = Shapes::StringShape.new(name: 'KeyName')
571
603
  KeyPair = Shapes::StructureShape.new(name: 'KeyPair')
@@ -574,6 +606,7 @@ module Aws::IoT
574
606
  LambdaAction = Shapes::StructureShape.new(name: 'LambdaAction')
575
607
  LaserMaxResults = Shapes::IntegerShape.new(name: 'LaserMaxResults')
576
608
  LastModifiedDate = Shapes::TimestampShape.new(name: 'LastModifiedDate')
609
+ LastUpdatedAtDate = Shapes::TimestampShape.new(name: 'LastUpdatedAtDate')
577
610
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
578
611
  ListActiveViolationsRequest = Shapes::StructureShape.new(name: 'ListActiveViolationsRequest')
579
612
  ListActiveViolationsResponse = Shapes::StructureShape.new(name: 'ListActiveViolationsResponse')
@@ -599,6 +632,12 @@ module Aws::IoT
599
632
  ListCertificatesByCAResponse = Shapes::StructureShape.new(name: 'ListCertificatesByCAResponse')
600
633
  ListCertificatesRequest = Shapes::StructureShape.new(name: 'ListCertificatesRequest')
601
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')
602
641
  ListDimensionsRequest = Shapes::StructureShape.new(name: 'ListDimensionsRequest')
603
642
  ListDimensionsResponse = Shapes::StructureShape.new(name: 'ListDimensionsResponse')
604
643
  ListDomainConfigurationsRequest = Shapes::StructureShape.new(name: 'ListDomainConfigurationsRequest')
@@ -641,6 +680,7 @@ module Aws::IoT
641
680
  ListSecurityProfilesResponse = Shapes::StructureShape.new(name: 'ListSecurityProfilesResponse')
642
681
  ListStreamsRequest = Shapes::StructureShape.new(name: 'ListStreamsRequest')
643
682
  ListStreamsResponse = Shapes::StructureShape.new(name: 'ListStreamsResponse')
683
+ ListSuppressedAlerts = Shapes::BooleanShape.new(name: 'ListSuppressedAlerts')
644
684
  ListSuppressedFindings = Shapes::BooleanShape.new(name: 'ListSuppressedFindings')
645
685
  ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
646
686
  ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
@@ -682,6 +722,7 @@ module Aws::IoT
682
722
  LogTargetName = Shapes::StringShape.new(name: 'LogTargetName')
683
723
  LogTargetType = Shapes::StringShape.new(name: 'LogTargetType')
684
724
  LoggingOptionsPayload = Shapes::StructureShape.new(name: 'LoggingOptionsPayload')
725
+ MachineLearningDetectionConfig = Shapes::StructureShape.new(name: 'MachineLearningDetectionConfig')
685
726
  MalformedPolicyException = Shapes::StructureShape.new(name: 'MalformedPolicyException')
686
727
  Marker = Shapes::StringShape.new(name: 'Marker')
687
728
  MaxJobExecutionsPerMin = Shapes::IntegerShape.new(name: 'MaxJobExecutionsPerMin')
@@ -692,6 +733,8 @@ module Aws::IoT
692
733
  MessageFormat = Shapes::StringShape.new(name: 'MessageFormat')
693
734
  MessageId = Shapes::StringShape.new(name: 'MessageId')
694
735
  MetricDimension = Shapes::StructureShape.new(name: 'MetricDimension')
736
+ MetricName = Shapes::StringShape.new(name: 'MetricName')
737
+ MetricNames = Shapes::ListShape.new(name: 'MetricNames')
695
738
  MetricToRetain = Shapes::StructureShape.new(name: 'MetricToRetain')
696
739
  MetricValue = Shapes::StructureShape.new(name: 'MetricValue')
697
740
  Minimum = Shapes::FloatShape.new(name: 'Minimum')
@@ -708,6 +751,8 @@ module Aws::IoT
708
751
  MitigationActionNameList = Shapes::ListShape.new(name: 'MitigationActionNameList')
709
752
  MitigationActionParams = Shapes::StructureShape.new(name: 'MitigationActionParams')
710
753
  MitigationActionType = Shapes::StringShape.new(name: 'MitigationActionType')
754
+ MitigationActionsTaskId = Shapes::StringShape.new(name: 'MitigationActionsTaskId')
755
+ ModelStatus = Shapes::StringShape.new(name: 'ModelStatus')
711
756
  MqttClientId = Shapes::StringShape.new(name: 'MqttClientId')
712
757
  MqttContext = Shapes::StructureShape.new(name: 'MqttContext')
713
758
  MqttPassword = Shapes::BlobShape.new(name: 'MqttPassword')
@@ -718,6 +763,9 @@ module Aws::IoT
718
763
  NonCompliantResource = Shapes::StructureShape.new(name: 'NonCompliantResource')
719
764
  NonCompliantResourcesCount = Shapes::IntegerShape.new(name: 'NonCompliantResourcesCount')
720
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')
721
769
  NumberOfThings = Shapes::IntegerShape.new(name: 'NumberOfThings')
722
770
  OTAUpdateArn = Shapes::StringShape.new(name: 'OTAUpdateArn')
723
771
  OTAUpdateDescription = Shapes::StringShape.new(name: 'OTAUpdateDescription')
@@ -765,6 +813,7 @@ module Aws::IoT
765
813
  Ports = Shapes::ListShape.new(name: 'Ports')
766
814
  Prefix = Shapes::StringShape.new(name: 'Prefix')
767
815
  PresignedUrlConfig = Shapes::StructureShape.new(name: 'PresignedUrlConfig')
816
+ PrimitiveBoolean = Shapes::BooleanShape.new(name: 'PrimitiveBoolean')
768
817
  Principal = Shapes::StringShape.new(name: 'Principal')
769
818
  PrincipalArn = Shapes::StringShape.new(name: 'PrincipalArn')
770
819
  PrincipalId = Shapes::StringShape.new(name: 'PrincipalId')
@@ -870,6 +919,8 @@ module Aws::IoT
870
919
  SearchIndexResponse = Shapes::StructureShape.new(name: 'SearchIndexResponse')
871
920
  SearchableAttributes = Shapes::ListShape.new(name: 'SearchableAttributes')
872
921
  Seconds = Shapes::IntegerShape.new(name: 'Seconds')
922
+ SecurityGroupId = Shapes::StringShape.new(name: 'SecurityGroupId')
923
+ SecurityGroupList = Shapes::ListShape.new(name: 'SecurityGroupList')
873
924
  SecurityProfileArn = Shapes::StringShape.new(name: 'SecurityProfileArn')
874
925
  SecurityProfileDescription = Shapes::StringShape.new(name: 'SecurityProfileDescription')
875
926
  SecurityProfileIdentifier = Shapes::StructureShape.new(name: 'SecurityProfileIdentifier')
@@ -913,6 +964,8 @@ module Aws::IoT
913
964
  SqsAction = Shapes::StructureShape.new(name: 'SqsAction')
914
965
  StartAuditMitigationActionsTaskRequest = Shapes::StructureShape.new(name: 'StartAuditMitigationActionsTaskRequest')
915
966
  StartAuditMitigationActionsTaskResponse = Shapes::StructureShape.new(name: 'StartAuditMitigationActionsTaskResponse')
967
+ StartDetectMitigationActionsTaskRequest = Shapes::StructureShape.new(name: 'StartDetectMitigationActionsTaskRequest')
968
+ StartDetectMitigationActionsTaskResponse = Shapes::StructureShape.new(name: 'StartDetectMitigationActionsTaskResponse')
916
969
  StartOnDemandAuditTaskRequest = Shapes::StructureShape.new(name: 'StartOnDemandAuditTaskRequest')
917
970
  StartOnDemandAuditTaskResponse = Shapes::StructureShape.new(name: 'StartOnDemandAuditTaskResponse')
918
971
  StartSigningJobParameter = Shapes::StructureShape.new(name: 'StartSigningJobParameter')
@@ -940,11 +993,15 @@ module Aws::IoT
940
993
  StreamVersion = Shapes::IntegerShape.new(name: 'StreamVersion')
941
994
  StreamsSummary = Shapes::ListShape.new(name: 'StreamsSummary')
942
995
  String = Shapes::StringShape.new(name: 'String')
996
+ StringList = Shapes::ListShape.new(name: 'StringList')
943
997
  StringMap = Shapes::MapShape.new(name: 'StringMap')
998
+ SubnetId = Shapes::StringShape.new(name: 'SubnetId')
999
+ SubnetIdList = Shapes::ListShape.new(name: 'SubnetIdList')
944
1000
  SucceededFindingsCount = Shapes::IntegerShape.new(name: 'SucceededFindingsCount')
945
1001
  SucceededThings = Shapes::IntegerShape.new(name: 'SucceededThings')
946
1002
  Sum = Shapes::FloatShape.new(name: 'Sum')
947
1003
  SumOfSquares = Shapes::FloatShape.new(name: 'SumOfSquares')
1004
+ SuppressAlerts = Shapes::BooleanShape.new(name: 'SuppressAlerts')
948
1005
  SuppressIndefinitely = Shapes::BooleanShape.new(name: 'SuppressIndefinitely')
949
1006
  SuppressedNonCompliantResourcesCount = Shapes::IntegerShape.new(name: 'SuppressedNonCompliantResourcesCount')
950
1007
  TableName = Shapes::StringShape.new(name: 'TableName')
@@ -959,6 +1016,7 @@ module Aws::IoT
959
1016
  TargetArn = Shapes::StringShape.new(name: 'TargetArn')
960
1017
  TargetAuditCheckNames = Shapes::ListShape.new(name: 'TargetAuditCheckNames')
961
1018
  TargetSelection = Shapes::StringShape.new(name: 'TargetSelection')
1019
+ TargetViolationIdsForDetectMitigationActions = Shapes::ListShape.new(name: 'TargetViolationIdsForDetectMitigationActions')
962
1020
  Targets = Shapes::ListShape.new(name: 'Targets')
963
1021
  TaskAlreadyExistsException = Shapes::StructureShape.new(name: 'TaskAlreadyExistsException')
964
1022
  TaskId = Shapes::StringShape.new(name: 'TaskId')
@@ -1022,6 +1080,7 @@ module Aws::IoT
1022
1080
  TimestreamTimestamp = Shapes::StructureShape.new(name: 'TimestreamTimestamp')
1023
1081
  TimestreamTimestampUnit = Shapes::StringShape.new(name: 'TimestreamTimestampUnit')
1024
1082
  TimestreamTimestampValue = Shapes::StringShape.new(name: 'TimestreamTimestampValue')
1083
+ TinyMaxResults = Shapes::IntegerShape.new(name: 'TinyMaxResults')
1025
1084
  TlsContext = Shapes::StructureShape.new(name: 'TlsContext')
1026
1085
  Token = Shapes::StringShape.new(name: 'Token')
1027
1086
  TokenKeyName = Shapes::StringShape.new(name: 'TokenKeyName')
@@ -1063,6 +1122,8 @@ module Aws::IoT
1063
1122
  UpdateCACertificateParams = Shapes::StructureShape.new(name: 'UpdateCACertificateParams')
1064
1123
  UpdateCACertificateRequest = Shapes::StructureShape.new(name: 'UpdateCACertificateRequest')
1065
1124
  UpdateCertificateRequest = Shapes::StructureShape.new(name: 'UpdateCertificateRequest')
1125
+ UpdateCustomMetricRequest = Shapes::StructureShape.new(name: 'UpdateCustomMetricRequest')
1126
+ UpdateCustomMetricResponse = Shapes::StructureShape.new(name: 'UpdateCustomMetricResponse')
1066
1127
  UpdateDeviceCertificateParams = Shapes::StructureShape.new(name: 'UpdateDeviceCertificateParams')
1067
1128
  UpdateDimensionRequest = Shapes::StructureShape.new(name: 'UpdateDimensionRequest')
1068
1129
  UpdateDimensionResponse = Shapes::StructureShape.new(name: 'UpdateDimensionResponse')
@@ -1109,13 +1170,21 @@ module Aws::IoT
1109
1170
  VersionNumber = Shapes::IntegerShape.new(name: 'VersionNumber')
1110
1171
  VersionsLimitExceededException = Shapes::StructureShape.new(name: 'VersionsLimitExceededException')
1111
1172
  ViolationEvent = Shapes::StructureShape.new(name: 'ViolationEvent')
1173
+ ViolationEventAdditionalInfo = Shapes::StructureShape.new(name: 'ViolationEventAdditionalInfo')
1174
+ ViolationEventOccurrenceRange = Shapes::StructureShape.new(name: 'ViolationEventOccurrenceRange')
1112
1175
  ViolationEventType = Shapes::StringShape.new(name: 'ViolationEventType')
1113
1176
  ViolationEvents = Shapes::ListShape.new(name: 'ViolationEvents')
1114
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')
1115
1182
  WaitingForDataCollectionChecksCount = Shapes::IntegerShape.new(name: 'WaitingForDataCollectionChecksCount')
1116
1183
  errorMessage = Shapes::StringShape.new(name: 'errorMessage')
1117
1184
  resourceArn = Shapes::StringShape.new(name: 'resourceArn')
1118
1185
  resourceId = Shapes::StringShape.new(name: 'resourceId')
1186
+ stringValue = Shapes::StringShape.new(name: 'stringValue')
1187
+ usePrefixAttributeValue = Shapes::BooleanShape.new(name: 'usePrefixAttributeValue')
1119
1188
 
1120
1189
  AbortConfig.add_member(:criteria_list, Shapes::ShapeRef.new(shape: AbortCriteriaList, required: true, location_name: "criteriaList"))
1121
1190
  AbortConfig.struct_class = Types::AbortConfig
@@ -1152,6 +1221,7 @@ module Aws::IoT
1152
1221
  Action.add_member(:step_functions, Shapes::ShapeRef.new(shape: StepFunctionsAction, location_name: "stepFunctions"))
1153
1222
  Action.add_member(:timestream, Shapes::ShapeRef.new(shape: TimestreamAction, location_name: "timestream"))
1154
1223
  Action.add_member(:http, Shapes::ShapeRef.new(shape: HttpAction, location_name: "http"))
1224
+ Action.add_member(:kafka, Shapes::ShapeRef.new(shape: KafkaAction, location_name: "kafka"))
1155
1225
  Action.struct_class = Types::Action
1156
1226
 
1157
1227
  ActionList.member = Shapes::ShapeRef.new(shape: Action)
@@ -1161,6 +1231,7 @@ module Aws::IoT
1161
1231
  ActiveViolation.add_member(:security_profile_name, Shapes::ShapeRef.new(shape: SecurityProfileName, location_name: "securityProfileName"))
1162
1232
  ActiveViolation.add_member(:behavior, Shapes::ShapeRef.new(shape: Behavior, location_name: "behavior"))
1163
1233
  ActiveViolation.add_member(:last_violation_value, Shapes::ShapeRef.new(shape: MetricValue, location_name: "lastViolationValue"))
1234
+ ActiveViolation.add_member(:violation_event_additional_info, Shapes::ShapeRef.new(shape: ViolationEventAdditionalInfo, location_name: "violationEventAdditionalInfo"))
1164
1235
  ActiveViolation.add_member(:last_violation_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastViolationTime"))
1165
1236
  ActiveViolation.add_member(:violation_start_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "violationStartTime"))
1166
1237
  ActiveViolation.struct_class = Types::ActiveViolation
@@ -1302,7 +1373,7 @@ module Aws::IoT
1302
1373
 
1303
1374
  AuditFindings.member = Shapes::ShapeRef.new(shape: AuditFinding)
1304
1375
 
1305
- AuditMitigationActionExecutionMetadata.add_member(:task_id, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskId, location_name: "taskId"))
1376
+ AuditMitigationActionExecutionMetadata.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, location_name: "taskId"))
1306
1377
  AuditMitigationActionExecutionMetadata.add_member(:finding_id, Shapes::ShapeRef.new(shape: FindingId, location_name: "findingId"))
1307
1378
  AuditMitigationActionExecutionMetadata.add_member(:action_name, Shapes::ShapeRef.new(shape: MitigationActionName, location_name: "actionName"))
1308
1379
  AuditMitigationActionExecutionMetadata.add_member(:action_id, Shapes::ShapeRef.new(shape: MitigationActionId, location_name: "actionId"))
@@ -1315,7 +1386,7 @@ module Aws::IoT
1315
1386
 
1316
1387
  AuditMitigationActionExecutionMetadataList.member = Shapes::ShapeRef.new(shape: AuditMitigationActionExecutionMetadata)
1317
1388
 
1318
- AuditMitigationActionsTaskMetadata.add_member(:task_id, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskId, location_name: "taskId"))
1389
+ AuditMitigationActionsTaskMetadata.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, location_name: "taskId"))
1319
1390
  AuditMitigationActionsTaskMetadata.add_member(:start_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "startTime"))
1320
1391
  AuditMitigationActionsTaskMetadata.add_member(:task_status, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskStatus, location_name: "taskStatus"))
1321
1392
  AuditMitigationActionsTaskMetadata.struct_class = Types::AuditMitigationActionsTaskMetadata
@@ -1424,6 +1495,7 @@ module Aws::IoT
1424
1495
  Behavior.add_member(:metric, Shapes::ShapeRef.new(shape: BehaviorMetric, location_name: "metric"))
1425
1496
  Behavior.add_member(:metric_dimension, Shapes::ShapeRef.new(shape: MetricDimension, location_name: "metricDimension"))
1426
1497
  Behavior.add_member(:criteria, Shapes::ShapeRef.new(shape: BehaviorCriteria, location_name: "criteria"))
1498
+ Behavior.add_member(:suppress_alerts, Shapes::ShapeRef.new(shape: SuppressAlerts, location_name: "suppressAlerts"))
1427
1499
  Behavior.struct_class = Types::Behavior
1428
1500
 
1429
1501
  BehaviorCriteria.add_member(:comparison_operator, Shapes::ShapeRef.new(shape: ComparisonOperator, location_name: "comparisonOperator"))
@@ -1432,8 +1504,19 @@ module Aws::IoT
1432
1504
  BehaviorCriteria.add_member(:consecutive_datapoints_to_alarm, Shapes::ShapeRef.new(shape: ConsecutiveDatapointsToAlarm, location_name: "consecutiveDatapointsToAlarm"))
1433
1505
  BehaviorCriteria.add_member(:consecutive_datapoints_to_clear, Shapes::ShapeRef.new(shape: ConsecutiveDatapointsToClear, location_name: "consecutiveDatapointsToClear"))
1434
1506
  BehaviorCriteria.add_member(:statistical_threshold, Shapes::ShapeRef.new(shape: StatisticalThreshold, location_name: "statisticalThreshold"))
1507
+ BehaviorCriteria.add_member(:ml_detection_config, Shapes::ShapeRef.new(shape: MachineLearningDetectionConfig, location_name: "mlDetectionConfig"))
1435
1508
  BehaviorCriteria.struct_class = Types::BehaviorCriteria
1436
1509
 
1510
+ BehaviorModelTrainingSummaries.member = Shapes::ShapeRef.new(shape: BehaviorModelTrainingSummary)
1511
+
1512
+ BehaviorModelTrainingSummary.add_member(:security_profile_name, Shapes::ShapeRef.new(shape: SecurityProfileName, location_name: "securityProfileName"))
1513
+ BehaviorModelTrainingSummary.add_member(:behavior_name, Shapes::ShapeRef.new(shape: BehaviorName, location_name: "behaviorName"))
1514
+ BehaviorModelTrainingSummary.add_member(:training_data_collection_start_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "trainingDataCollectionStartDate"))
1515
+ BehaviorModelTrainingSummary.add_member(:model_status, Shapes::ShapeRef.new(shape: ModelStatus, location_name: "modelStatus"))
1516
+ BehaviorModelTrainingSummary.add_member(:datapoints_collection_percentage, Shapes::ShapeRef.new(shape: DataCollectionPercentage, location_name: "datapointsCollectionPercentage"))
1517
+ BehaviorModelTrainingSummary.add_member(:last_model_refresh_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastModelRefreshDate"))
1518
+ BehaviorModelTrainingSummary.struct_class = Types::BehaviorModelTrainingSummary
1519
+
1437
1520
  Behaviors.member = Shapes::ShapeRef.new(shape: Behavior)
1438
1521
 
1439
1522
  BillingGroupMetadata.add_member(:creation_date, Shapes::ShapeRef.new(shape: CreationDate, location_name: "creationDate"))
@@ -1465,7 +1548,7 @@ module Aws::IoT
1465
1548
 
1466
1549
  CACertificates.member = Shapes::ShapeRef.new(shape: CACertificate)
1467
1550
 
1468
- CancelAuditMitigationActionsTaskRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskId, required: true, location: "uri", location_name: "taskId"))
1551
+ CancelAuditMitigationActionsTaskRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, required: true, location: "uri", location_name: "taskId"))
1469
1552
  CancelAuditMitigationActionsTaskRequest.struct_class = Types::CancelAuditMitigationActionsTaskRequest
1470
1553
 
1471
1554
  CancelAuditMitigationActionsTaskResponse.struct_class = Types::CancelAuditMitigationActionsTaskResponse
@@ -1478,6 +1561,11 @@ module Aws::IoT
1478
1561
  CancelCertificateTransferRequest.add_member(:certificate_id, Shapes::ShapeRef.new(shape: CertificateId, required: true, location: "uri", location_name: "certificateId"))
1479
1562
  CancelCertificateTransferRequest.struct_class = Types::CancelCertificateTransferRequest
1480
1563
 
1564
+ CancelDetectMitigationActionsTaskRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, required: true, location: "uri", location_name: "taskId"))
1565
+ CancelDetectMitigationActionsTaskRequest.struct_class = Types::CancelDetectMitigationActionsTaskRequest
1566
+
1567
+ CancelDetectMitigationActionsTaskResponse.struct_class = Types::CancelDetectMitigationActionsTaskResponse
1568
+
1481
1569
  CancelJobExecutionRequest.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, required: true, location: "uri", location_name: "jobId"))
1482
1570
  CancelJobExecutionRequest.add_member(:thing_name, Shapes::ShapeRef.new(shape: ThingName, required: true, location: "uri", location_name: "thingName"))
1483
1571
  CancelJobExecutionRequest.add_member(:force, Shapes::ShapeRef.new(shape: ForceFlag, location: "querystring", location_name: "force"))
@@ -1540,6 +1628,9 @@ module Aws::IoT
1540
1628
 
1541
1629
  ClearDefaultAuthorizerResponse.struct_class = Types::ClearDefaultAuthorizerResponse
1542
1630
 
1631
+ ClientProperties.key = Shapes::ShapeRef.new(shape: String)
1632
+ ClientProperties.value = Shapes::ShapeRef.new(shape: String)
1633
+
1543
1634
  CloudwatchAlarmAction.add_member(:role_arn, Shapes::ShapeRef.new(shape: AwsArn, required: true, location_name: "roleArn"))
1544
1635
  CloudwatchAlarmAction.add_member(:alarm_name, Shapes::ShapeRef.new(shape: AlarmName, required: true, location_name: "alarmName"))
1545
1636
  CloudwatchAlarmAction.add_member(:state_reason, Shapes::ShapeRef.new(shape: StateReason, required: true, location_name: "stateReason"))
@@ -1623,6 +1714,17 @@ module Aws::IoT
1623
1714
  CreateCertificateFromCsrResponse.add_member(:certificate_pem, Shapes::ShapeRef.new(shape: CertificatePem, location_name: "certificatePem"))
1624
1715
  CreateCertificateFromCsrResponse.struct_class = Types::CreateCertificateFromCsrResponse
1625
1716
 
1717
+ CreateCustomMetricRequest.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, required: true, location: "uri", location_name: "metricName"))
1718
+ CreateCustomMetricRequest.add_member(:display_name, Shapes::ShapeRef.new(shape: CustomMetricDisplayName, location_name: "displayName"))
1719
+ CreateCustomMetricRequest.add_member(:metric_type, Shapes::ShapeRef.new(shape: CustomMetricType, required: true, location_name: "metricType"))
1720
+ CreateCustomMetricRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
1721
+ CreateCustomMetricRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: ClientRequestToken, required: true, location_name: "clientRequestToken", metadata: {"idempotencyToken"=>true}))
1722
+ CreateCustomMetricRequest.struct_class = Types::CreateCustomMetricRequest
1723
+
1724
+ CreateCustomMetricResponse.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, location_name: "metricName"))
1725
+ CreateCustomMetricResponse.add_member(:metric_arn, Shapes::ShapeRef.new(shape: CustomMetricArn, location_name: "metricArn"))
1726
+ CreateCustomMetricResponse.struct_class = Types::CreateCustomMetricResponse
1727
+
1626
1728
  CreateDimensionRequest.add_member(:name, Shapes::ShapeRef.new(shape: DimensionName, required: true, location: "uri", location_name: "name"))
1627
1729
  CreateDimensionRequest.add_member(:type, Shapes::ShapeRef.new(shape: DimensionType, required: true, location_name: "type"))
1628
1730
  CreateDimensionRequest.add_member(:string_values, Shapes::ShapeRef.new(shape: DimensionStringValues, required: true, location_name: "stringValues"))
@@ -1911,6 +2013,11 @@ module Aws::IoT
1911
2013
  DeleteConflictException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
1912
2014
  DeleteConflictException.struct_class = Types::DeleteConflictException
1913
2015
 
2016
+ DeleteCustomMetricRequest.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, required: true, location: "uri", location_name: "metricName"))
2017
+ DeleteCustomMetricRequest.struct_class = Types::DeleteCustomMetricRequest
2018
+
2019
+ DeleteCustomMetricResponse.struct_class = Types::DeleteCustomMetricResponse
2020
+
1914
2021
  DeleteDimensionRequest.add_member(:name, Shapes::ShapeRef.new(shape: DimensionName, required: true, location: "uri", location_name: "name"))
1915
2022
  DeleteDimensionRequest.struct_class = Types::DeleteDimensionRequest
1916
2023
 
@@ -2046,7 +2153,7 @@ module Aws::IoT
2046
2153
  DescribeAuditFindingResponse.add_member(:finding, Shapes::ShapeRef.new(shape: AuditFinding, location_name: "finding"))
2047
2154
  DescribeAuditFindingResponse.struct_class = Types::DescribeAuditFindingResponse
2048
2155
 
2049
- DescribeAuditMitigationActionsTaskRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskId, required: true, location: "uri", location_name: "taskId"))
2156
+ DescribeAuditMitigationActionsTaskRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, required: true, location: "uri", location_name: "taskId"))
2050
2157
  DescribeAuditMitigationActionsTaskRequest.struct_class = Types::DescribeAuditMitigationActionsTaskRequest
2051
2158
 
2052
2159
  DescribeAuditMitigationActionsTaskResponse.add_member(:task_status, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskStatus, location_name: "taskStatus"))
@@ -2110,11 +2217,28 @@ module Aws::IoT
2110
2217
  DescribeCertificateResponse.add_member(:certificate_description, Shapes::ShapeRef.new(shape: CertificateDescription, location_name: "certificateDescription"))
2111
2218
  DescribeCertificateResponse.struct_class = Types::DescribeCertificateResponse
2112
2219
 
2220
+ DescribeCustomMetricRequest.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, required: true, location: "uri", location_name: "metricName"))
2221
+ DescribeCustomMetricRequest.struct_class = Types::DescribeCustomMetricRequest
2222
+
2223
+ DescribeCustomMetricResponse.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, location_name: "metricName"))
2224
+ DescribeCustomMetricResponse.add_member(:metric_arn, Shapes::ShapeRef.new(shape: CustomMetricArn, location_name: "metricArn"))
2225
+ DescribeCustomMetricResponse.add_member(:metric_type, Shapes::ShapeRef.new(shape: CustomMetricType, location_name: "metricType"))
2226
+ DescribeCustomMetricResponse.add_member(:display_name, Shapes::ShapeRef.new(shape: CustomMetricDisplayName, location_name: "displayName"))
2227
+ DescribeCustomMetricResponse.add_member(:creation_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "creationDate"))
2228
+ DescribeCustomMetricResponse.add_member(:last_modified_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastModifiedDate"))
2229
+ DescribeCustomMetricResponse.struct_class = Types::DescribeCustomMetricResponse
2230
+
2113
2231
  DescribeDefaultAuthorizerRequest.struct_class = Types::DescribeDefaultAuthorizerRequest
2114
2232
 
2115
2233
  DescribeDefaultAuthorizerResponse.add_member(:authorizer_description, Shapes::ShapeRef.new(shape: AuthorizerDescription, location_name: "authorizerDescription"))
2116
2234
  DescribeDefaultAuthorizerResponse.struct_class = Types::DescribeDefaultAuthorizerResponse
2117
2235
 
2236
+ DescribeDetectMitigationActionsTaskRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, required: true, location: "uri", location_name: "taskId"))
2237
+ DescribeDetectMitigationActionsTaskRequest.struct_class = Types::DescribeDetectMitigationActionsTaskRequest
2238
+
2239
+ DescribeDetectMitigationActionsTaskResponse.add_member(:task_summary, Shapes::ShapeRef.new(shape: DetectMitigationActionsTaskSummary, location_name: "taskSummary"))
2240
+ DescribeDetectMitigationActionsTaskResponse.struct_class = Types::DescribeDetectMitigationActionsTaskResponse
2241
+
2118
2242
  DescribeDimensionRequest.add_member(:name, Shapes::ShapeRef.new(shape: DimensionName, required: true, location: "uri", location_name: "name"))
2119
2243
  DescribeDimensionRequest.struct_class = Types::DescribeDimensionRequest
2120
2244
 
@@ -2333,6 +2457,45 @@ module Aws::IoT
2333
2457
  DetailsMap.key = Shapes::ShapeRef.new(shape: DetailsKey)
2334
2458
  DetailsMap.value = Shapes::ShapeRef.new(shape: DetailsValue)
2335
2459
 
2460
+ DetectMitigationActionExecution.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, location_name: "taskId"))
2461
+ DetectMitigationActionExecution.add_member(:violation_id, Shapes::ShapeRef.new(shape: ViolationId, location_name: "violationId"))
2462
+ DetectMitigationActionExecution.add_member(:action_name, Shapes::ShapeRef.new(shape: MitigationActionName, location_name: "actionName"))
2463
+ DetectMitigationActionExecution.add_member(:thing_name, Shapes::ShapeRef.new(shape: DeviceDefenderThingName, location_name: "thingName"))
2464
+ DetectMitigationActionExecution.add_member(:execution_start_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "executionStartDate"))
2465
+ DetectMitigationActionExecution.add_member(:execution_end_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "executionEndDate"))
2466
+ DetectMitigationActionExecution.add_member(:status, Shapes::ShapeRef.new(shape: DetectMitigationActionExecutionStatus, location_name: "status"))
2467
+ DetectMitigationActionExecution.add_member(:error_code, Shapes::ShapeRef.new(shape: DetectMitigationActionExecutionErrorCode, location_name: "errorCode"))
2468
+ DetectMitigationActionExecution.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
2469
+ DetectMitigationActionExecution.struct_class = Types::DetectMitigationActionExecution
2470
+
2471
+ DetectMitigationActionExecutionList.member = Shapes::ShapeRef.new(shape: DetectMitigationActionExecution)
2472
+
2473
+ DetectMitigationActionsTaskStatistics.add_member(:actions_executed, Shapes::ShapeRef.new(shape: GenericLongValue, location_name: "actionsExecuted"))
2474
+ DetectMitigationActionsTaskStatistics.add_member(:actions_skipped, Shapes::ShapeRef.new(shape: GenericLongValue, location_name: "actionsSkipped"))
2475
+ DetectMitigationActionsTaskStatistics.add_member(:actions_failed, Shapes::ShapeRef.new(shape: GenericLongValue, location_name: "actionsFailed"))
2476
+ DetectMitigationActionsTaskStatistics.struct_class = Types::DetectMitigationActionsTaskStatistics
2477
+
2478
+ DetectMitigationActionsTaskSummary.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, location_name: "taskId"))
2479
+ DetectMitigationActionsTaskSummary.add_member(:task_status, Shapes::ShapeRef.new(shape: DetectMitigationActionsTaskStatus, location_name: "taskStatus"))
2480
+ DetectMitigationActionsTaskSummary.add_member(:task_start_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "taskStartTime"))
2481
+ DetectMitigationActionsTaskSummary.add_member(:task_end_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "taskEndTime"))
2482
+ DetectMitigationActionsTaskSummary.add_member(:target, Shapes::ShapeRef.new(shape: DetectMitigationActionsTaskTarget, location_name: "target"))
2483
+ DetectMitigationActionsTaskSummary.add_member(:violation_event_occurrence_range, Shapes::ShapeRef.new(shape: ViolationEventOccurrenceRange, location_name: "violationEventOccurrenceRange"))
2484
+ DetectMitigationActionsTaskSummary.add_member(:only_active_violations_included, Shapes::ShapeRef.new(shape: PrimitiveBoolean, location_name: "onlyActiveViolationsIncluded"))
2485
+ DetectMitigationActionsTaskSummary.add_member(:suppressed_alerts_included, Shapes::ShapeRef.new(shape: PrimitiveBoolean, location_name: "suppressedAlertsIncluded"))
2486
+ DetectMitigationActionsTaskSummary.add_member(:actions_definition, Shapes::ShapeRef.new(shape: MitigationActionList, location_name: "actionsDefinition"))
2487
+ DetectMitigationActionsTaskSummary.add_member(:task_statistics, Shapes::ShapeRef.new(shape: DetectMitigationActionsTaskStatistics, location_name: "taskStatistics"))
2488
+ DetectMitigationActionsTaskSummary.struct_class = Types::DetectMitigationActionsTaskSummary
2489
+
2490
+ DetectMitigationActionsTaskSummaryList.member = Shapes::ShapeRef.new(shape: DetectMitigationActionsTaskSummary)
2491
+
2492
+ DetectMitigationActionsTaskTarget.add_member(:violation_ids, Shapes::ShapeRef.new(shape: TargetViolationIdsForDetectMitigationActions, location_name: "violationIds"))
2493
+ DetectMitigationActionsTaskTarget.add_member(:security_profile_name, Shapes::ShapeRef.new(shape: SecurityProfileName, location_name: "securityProfileName"))
2494
+ DetectMitigationActionsTaskTarget.add_member(:behavior_name, Shapes::ShapeRef.new(shape: BehaviorName, location_name: "behaviorName"))
2495
+ DetectMitigationActionsTaskTarget.struct_class = Types::DetectMitigationActionsTaskTarget
2496
+
2497
+ DetectMitigationActionsToExecuteList.member = Shapes::ShapeRef.new(shape: MitigationActionName)
2498
+
2336
2499
  DimensionNames.member = Shapes::ShapeRef.new(shape: DimensionName)
2337
2500
 
2338
2501
  DimensionStringValues.member = Shapes::ShapeRef.new(shape: DimensionStringValue)
@@ -2417,6 +2580,15 @@ module Aws::IoT
2417
2580
  FirehoseAction.add_member(:batch_mode, Shapes::ShapeRef.new(shape: BatchMode, location_name: "batchMode"))
2418
2581
  FirehoseAction.struct_class = Types::FirehoseAction
2419
2582
 
2583
+ GetBehaviorModelTrainingSummariesRequest.add_member(:security_profile_name, Shapes::ShapeRef.new(shape: SecurityProfileName, location: "querystring", location_name: "securityProfileName"))
2584
+ GetBehaviorModelTrainingSummariesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: TinyMaxResults, location: "querystring", location_name: "maxResults"))
2585
+ GetBehaviorModelTrainingSummariesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
2586
+ GetBehaviorModelTrainingSummariesRequest.struct_class = Types::GetBehaviorModelTrainingSummariesRequest
2587
+
2588
+ GetBehaviorModelTrainingSummariesResponse.add_member(:summaries, Shapes::ShapeRef.new(shape: BehaviorModelTrainingSummaries, location_name: "summaries"))
2589
+ GetBehaviorModelTrainingSummariesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
2590
+ GetBehaviorModelTrainingSummariesResponse.struct_class = Types::GetBehaviorModelTrainingSummariesResponse
2591
+
2420
2592
  GetCardinalityRequest.add_member(:index_name, Shapes::ShapeRef.new(shape: IndexName, location_name: "indexName"))
2421
2593
  GetCardinalityRequest.add_member(:query_string, Shapes::ShapeRef.new(shape: QueryString, required: true, location_name: "queryString"))
2422
2594
  GetCardinalityRequest.add_member(:aggregation_field, Shapes::ShapeRef.new(shape: AggregationField, location_name: "aggregationField"))
@@ -2692,6 +2864,13 @@ module Aws::IoT
2692
2864
 
2693
2865
  JobTargets.member = Shapes::ShapeRef.new(shape: TargetArn)
2694
2866
 
2867
+ KafkaAction.add_member(:destination_arn, Shapes::ShapeRef.new(shape: AwsArn, required: true, location_name: "destinationArn"))
2868
+ KafkaAction.add_member(:topic, Shapes::ShapeRef.new(shape: String, required: true, location_name: "topic"))
2869
+ KafkaAction.add_member(:key, Shapes::ShapeRef.new(shape: String, location_name: "key"))
2870
+ KafkaAction.add_member(:partition, Shapes::ShapeRef.new(shape: String, location_name: "partition"))
2871
+ KafkaAction.add_member(:client_properties, Shapes::ShapeRef.new(shape: ClientProperties, required: true, location_name: "clientProperties"))
2872
+ KafkaAction.struct_class = Types::KafkaAction
2873
+
2695
2874
  KeyPair.add_member(:public_key, Shapes::ShapeRef.new(shape: PublicKey, location_name: "PublicKey"))
2696
2875
  KeyPair.add_member(:private_key, Shapes::ShapeRef.new(shape: PrivateKey, location_name: "PrivateKey"))
2697
2876
  KeyPair.struct_class = Types::KeyPair
@@ -2709,6 +2888,8 @@ module Aws::IoT
2709
2888
 
2710
2889
  ListActiveViolationsRequest.add_member(:thing_name, Shapes::ShapeRef.new(shape: DeviceDefenderThingName, location: "querystring", location_name: "thingName"))
2711
2890
  ListActiveViolationsRequest.add_member(:security_profile_name, Shapes::ShapeRef.new(shape: SecurityProfileName, location: "querystring", location_name: "securityProfileName"))
2891
+ ListActiveViolationsRequest.add_member(:behavior_criteria_type, Shapes::ShapeRef.new(shape: BehaviorCriteriaType, location: "querystring", location_name: "behaviorCriteriaType"))
2892
+ ListActiveViolationsRequest.add_member(:list_suppressed_alerts, Shapes::ShapeRef.new(shape: ListSuppressedAlerts, location: "querystring", location_name: "listSuppressedAlerts"))
2712
2893
  ListActiveViolationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
2713
2894
  ListActiveViolationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
2714
2895
  ListActiveViolationsRequest.struct_class = Types::ListActiveViolationsRequest
@@ -2741,7 +2922,7 @@ module Aws::IoT
2741
2922
  ListAuditFindingsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
2742
2923
  ListAuditFindingsResponse.struct_class = Types::ListAuditFindingsResponse
2743
2924
 
2744
- ListAuditMitigationActionsExecutionsRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskId, required: true, location: "querystring", location_name: "taskId"))
2925
+ ListAuditMitigationActionsExecutionsRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, required: true, location: "querystring", location_name: "taskId"))
2745
2926
  ListAuditMitigationActionsExecutionsRequest.add_member(:action_status, Shapes::ShapeRef.new(shape: AuditMitigationActionsExecutionStatus, location: "querystring", location_name: "actionStatus"))
2746
2927
  ListAuditMitigationActionsExecutionsRequest.add_member(:finding_id, Shapes::ShapeRef.new(shape: FindingId, required: true, location: "querystring", location_name: "findingId"))
2747
2928
  ListAuditMitigationActionsExecutionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
@@ -2835,6 +3016,37 @@ module Aws::IoT
2835
3016
  ListCertificatesResponse.add_member(:next_marker, Shapes::ShapeRef.new(shape: Marker, location_name: "nextMarker"))
2836
3017
  ListCertificatesResponse.struct_class = Types::ListCertificatesResponse
2837
3018
 
3019
+ ListCustomMetricsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
3020
+ ListCustomMetricsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
3021
+ ListCustomMetricsRequest.struct_class = Types::ListCustomMetricsRequest
3022
+
3023
+ ListCustomMetricsResponse.add_member(:metric_names, Shapes::ShapeRef.new(shape: MetricNames, location_name: "metricNames"))
3024
+ ListCustomMetricsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
3025
+ ListCustomMetricsResponse.struct_class = Types::ListCustomMetricsResponse
3026
+
3027
+ ListDetectMitigationActionsExecutionsRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, location: "querystring", location_name: "taskId"))
3028
+ ListDetectMitigationActionsExecutionsRequest.add_member(:violation_id, Shapes::ShapeRef.new(shape: ViolationId, location: "querystring", location_name: "violationId"))
3029
+ ListDetectMitigationActionsExecutionsRequest.add_member(:thing_name, Shapes::ShapeRef.new(shape: DeviceDefenderThingName, location: "querystring", location_name: "thingName"))
3030
+ ListDetectMitigationActionsExecutionsRequest.add_member(:start_time, Shapes::ShapeRef.new(shape: Timestamp, location: "querystring", location_name: "startTime"))
3031
+ ListDetectMitigationActionsExecutionsRequest.add_member(:end_time, Shapes::ShapeRef.new(shape: Timestamp, location: "querystring", location_name: "endTime"))
3032
+ ListDetectMitigationActionsExecutionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
3033
+ ListDetectMitigationActionsExecutionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
3034
+ ListDetectMitigationActionsExecutionsRequest.struct_class = Types::ListDetectMitigationActionsExecutionsRequest
3035
+
3036
+ ListDetectMitigationActionsExecutionsResponse.add_member(:actions_executions, Shapes::ShapeRef.new(shape: DetectMitigationActionExecutionList, location_name: "actionsExecutions"))
3037
+ ListDetectMitigationActionsExecutionsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
3038
+ ListDetectMitigationActionsExecutionsResponse.struct_class = Types::ListDetectMitigationActionsExecutionsResponse
3039
+
3040
+ ListDetectMitigationActionsTasksRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
3041
+ ListDetectMitigationActionsTasksRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
3042
+ ListDetectMitigationActionsTasksRequest.add_member(:start_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location: "querystring", location_name: "startTime"))
3043
+ ListDetectMitigationActionsTasksRequest.add_member(:end_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location: "querystring", location_name: "endTime"))
3044
+ ListDetectMitigationActionsTasksRequest.struct_class = Types::ListDetectMitigationActionsTasksRequest
3045
+
3046
+ ListDetectMitigationActionsTasksResponse.add_member(:tasks, Shapes::ShapeRef.new(shape: DetectMitigationActionsTaskSummaryList, location_name: "tasks"))
3047
+ ListDetectMitigationActionsTasksResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
3048
+ ListDetectMitigationActionsTasksResponse.struct_class = Types::ListDetectMitigationActionsTasksResponse
3049
+
2838
3050
  ListDimensionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
2839
3051
  ListDimensionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
2840
3052
  ListDimensionsRequest.struct_class = Types::ListDimensionsRequest
@@ -3012,6 +3224,7 @@ module Aws::IoT
3012
3224
  ListSecurityProfilesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
3013
3225
  ListSecurityProfilesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
3014
3226
  ListSecurityProfilesRequest.add_member(:dimension_name, Shapes::ShapeRef.new(shape: DimensionName, location: "querystring", location_name: "dimensionName"))
3227
+ ListSecurityProfilesRequest.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, location: "querystring", location_name: "metricName"))
3015
3228
  ListSecurityProfilesRequest.struct_class = Types::ListSecurityProfilesRequest
3016
3229
 
3017
3230
  ListSecurityProfilesResponse.add_member(:security_profile_identifiers, Shapes::ShapeRef.new(shape: SecurityProfileIdentifiers, location_name: "securityProfileIdentifiers"))
@@ -3135,6 +3348,7 @@ module Aws::IoT
3135
3348
  ListThingsRequest.add_member(:attribute_name, Shapes::ShapeRef.new(shape: AttributeName, location: "querystring", location_name: "attributeName"))
3136
3349
  ListThingsRequest.add_member(:attribute_value, Shapes::ShapeRef.new(shape: AttributeValue, location: "querystring", location_name: "attributeValue"))
3137
3350
  ListThingsRequest.add_member(:thing_type_name, Shapes::ShapeRef.new(shape: ThingTypeName, location: "querystring", location_name: "thingTypeName"))
3351
+ ListThingsRequest.add_member(:use_prefix_attribute_value, Shapes::ShapeRef.new(shape: usePrefixAttributeValue, location: "querystring", location_name: "usePrefixAttributeValue"))
3138
3352
  ListThingsRequest.struct_class = Types::ListThingsRequest
3139
3353
 
3140
3354
  ListThingsResponse.add_member(:things, Shapes::ShapeRef.new(shape: ThingAttributeList, location_name: "things"))
@@ -3172,6 +3386,8 @@ module Aws::IoT
3172
3386
  ListViolationEventsRequest.add_member(:end_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location: "querystring", location_name: "endTime"))
3173
3387
  ListViolationEventsRequest.add_member(:thing_name, Shapes::ShapeRef.new(shape: DeviceDefenderThingName, location: "querystring", location_name: "thingName"))
3174
3388
  ListViolationEventsRequest.add_member(:security_profile_name, Shapes::ShapeRef.new(shape: SecurityProfileName, location: "querystring", location_name: "securityProfileName"))
3389
+ ListViolationEventsRequest.add_member(:behavior_criteria_type, Shapes::ShapeRef.new(shape: BehaviorCriteriaType, location: "querystring", location_name: "behaviorCriteriaType"))
3390
+ ListViolationEventsRequest.add_member(:list_suppressed_alerts, Shapes::ShapeRef.new(shape: ListSuppressedAlerts, location: "querystring", location_name: "listSuppressedAlerts"))
3175
3391
  ListViolationEventsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
3176
3392
  ListViolationEventsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
3177
3393
  ListViolationEventsRequest.struct_class = Types::ListViolationEventsRequest
@@ -3194,6 +3410,9 @@ module Aws::IoT
3194
3410
  LoggingOptionsPayload.add_member(:log_level, Shapes::ShapeRef.new(shape: LogLevel, location_name: "logLevel"))
3195
3411
  LoggingOptionsPayload.struct_class = Types::LoggingOptionsPayload
3196
3412
 
3413
+ MachineLearningDetectionConfig.add_member(:confidence_level, Shapes::ShapeRef.new(shape: ConfidenceLevel, required: true, location_name: "confidenceLevel"))
3414
+ MachineLearningDetectionConfig.struct_class = Types::MachineLearningDetectionConfig
3415
+
3197
3416
  MalformedPolicyException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
3198
3417
  MalformedPolicyException.struct_class = Types::MalformedPolicyException
3199
3418
 
@@ -3201,6 +3420,8 @@ module Aws::IoT
3201
3420
  MetricDimension.add_member(:operator, Shapes::ShapeRef.new(shape: DimensionValueOperator, location_name: "operator"))
3202
3421
  MetricDimension.struct_class = Types::MetricDimension
3203
3422
 
3423
+ MetricNames.member = Shapes::ShapeRef.new(shape: MetricName)
3424
+
3204
3425
  MetricToRetain.add_member(:metric, Shapes::ShapeRef.new(shape: BehaviorMetric, required: true, location_name: "metric"))
3205
3426
  MetricToRetain.add_member(:metric_dimension, Shapes::ShapeRef.new(shape: MetricDimension, location_name: "metricDimension"))
3206
3427
  MetricToRetain.struct_class = Types::MetricToRetain
@@ -3208,6 +3429,9 @@ module Aws::IoT
3208
3429
  MetricValue.add_member(:count, Shapes::ShapeRef.new(shape: UnsignedLong, location_name: "count"))
3209
3430
  MetricValue.add_member(:cidrs, Shapes::ShapeRef.new(shape: Cidrs, location_name: "cidrs"))
3210
3431
  MetricValue.add_member(:ports, Shapes::ShapeRef.new(shape: Ports, location_name: "ports"))
3432
+ MetricValue.add_member(:number, Shapes::ShapeRef.new(shape: Number, location_name: "number"))
3433
+ MetricValue.add_member(:numbers, Shapes::ShapeRef.new(shape: NumberList, location_name: "numbers"))
3434
+ MetricValue.add_member(:strings, Shapes::ShapeRef.new(shape: StringList, location_name: "strings"))
3211
3435
  MetricValue.struct_class = Types::MetricValue
3212
3436
 
3213
3437
  MissingContextValues.member = Shapes::ShapeRef.new(shape: MissingContextValue)
@@ -3250,6 +3474,8 @@ module Aws::IoT
3250
3474
  NotConfiguredException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
3251
3475
  NotConfiguredException.struct_class = Types::NotConfiguredException
3252
3476
 
3477
+ NumberList.member = Shapes::ShapeRef.new(shape: Number)
3478
+
3253
3479
  OTAUpdateFile.add_member(:file_name, Shapes::ShapeRef.new(shape: FileName, location_name: "fileName"))
3254
3480
  OTAUpdateFile.add_member(:file_type, Shapes::ShapeRef.new(shape: FileType, location_name: "fileType"))
3255
3481
  OTAUpdateFile.add_member(:file_version, Shapes::ShapeRef.new(shape: OTAUpdateFileVersion, location_name: "fileVersion"))
@@ -3553,6 +3779,8 @@ module Aws::IoT
3553
3779
 
3554
3780
  SearchableAttributes.member = Shapes::ShapeRef.new(shape: AttributeName)
3555
3781
 
3782
+ SecurityGroupList.member = Shapes::ShapeRef.new(shape: SecurityGroupId)
3783
+
3556
3784
  SecurityProfileIdentifier.add_member(:name, Shapes::ShapeRef.new(shape: SecurityProfileName, required: true, location_name: "name"))
3557
3785
  SecurityProfileIdentifier.add_member(:arn, Shapes::ShapeRef.new(shape: SecurityProfileArn, required: true, location_name: "arn"))
3558
3786
  SecurityProfileIdentifier.struct_class = Types::SecurityProfileIdentifier
@@ -3630,15 +3858,27 @@ module Aws::IoT
3630
3858
  SqsAction.add_member(:use_base_64, Shapes::ShapeRef.new(shape: UseBase64, location_name: "useBase64"))
3631
3859
  SqsAction.struct_class = Types::SqsAction
3632
3860
 
3633
- StartAuditMitigationActionsTaskRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskId, required: true, location: "uri", location_name: "taskId"))
3861
+ StartAuditMitigationActionsTaskRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, required: true, location: "uri", location_name: "taskId"))
3634
3862
  StartAuditMitigationActionsTaskRequest.add_member(:target, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskTarget, required: true, location_name: "target"))
3635
3863
  StartAuditMitigationActionsTaskRequest.add_member(:audit_check_to_actions_mapping, Shapes::ShapeRef.new(shape: AuditCheckToActionsMapping, required: true, location_name: "auditCheckToActionsMapping"))
3636
3864
  StartAuditMitigationActionsTaskRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: ClientRequestToken, required: true, location_name: "clientRequestToken", metadata: {"idempotencyToken"=>true}))
3637
3865
  StartAuditMitigationActionsTaskRequest.struct_class = Types::StartAuditMitigationActionsTaskRequest
3638
3866
 
3639
- StartAuditMitigationActionsTaskResponse.add_member(:task_id, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskId, location_name: "taskId"))
3867
+ StartAuditMitigationActionsTaskResponse.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, location_name: "taskId"))
3640
3868
  StartAuditMitigationActionsTaskResponse.struct_class = Types::StartAuditMitigationActionsTaskResponse
3641
3869
 
3870
+ StartDetectMitigationActionsTaskRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, required: true, location: "uri", location_name: "taskId"))
3871
+ StartDetectMitigationActionsTaskRequest.add_member(:target, Shapes::ShapeRef.new(shape: DetectMitigationActionsTaskTarget, required: true, location_name: "target"))
3872
+ StartDetectMitigationActionsTaskRequest.add_member(:actions, Shapes::ShapeRef.new(shape: DetectMitigationActionsToExecuteList, required: true, location_name: "actions"))
3873
+ StartDetectMitigationActionsTaskRequest.add_member(:violation_event_occurrence_range, Shapes::ShapeRef.new(shape: ViolationEventOccurrenceRange, location_name: "violationEventOccurrenceRange"))
3874
+ StartDetectMitigationActionsTaskRequest.add_member(:include_only_active_violations, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "includeOnlyActiveViolations"))
3875
+ StartDetectMitigationActionsTaskRequest.add_member(:include_suppressed_alerts, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "includeSuppressedAlerts"))
3876
+ StartDetectMitigationActionsTaskRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: ClientRequestToken, required: true, location_name: "clientRequestToken", metadata: {"idempotencyToken"=>true}))
3877
+ StartDetectMitigationActionsTaskRequest.struct_class = Types::StartDetectMitigationActionsTaskRequest
3878
+
3879
+ StartDetectMitigationActionsTaskResponse.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, location_name: "taskId"))
3880
+ StartDetectMitigationActionsTaskResponse.struct_class = Types::StartDetectMitigationActionsTaskResponse
3881
+
3642
3882
  StartOnDemandAuditTaskRequest.add_member(:target_check_names, Shapes::ShapeRef.new(shape: TargetAuditCheckNames, required: true, location_name: "targetCheckNames"))
3643
3883
  StartOnDemandAuditTaskRequest.struct_class = Types::StartOnDemandAuditTaskRequest
3644
3884
 
@@ -3710,9 +3950,13 @@ module Aws::IoT
3710
3950
 
3711
3951
  StreamsSummary.member = Shapes::ShapeRef.new(shape: StreamSummary)
3712
3952
 
3953
+ StringList.member = Shapes::ShapeRef.new(shape: stringValue)
3954
+
3713
3955
  StringMap.key = Shapes::ShapeRef.new(shape: String)
3714
3956
  StringMap.value = Shapes::ShapeRef.new(shape: String)
3715
3957
 
3958
+ SubnetIdList.member = Shapes::ShapeRef.new(shape: SubnetId)
3959
+
3716
3960
  Tag.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, required: true, location_name: "Key"))
3717
3961
  Tag.add_member(:value, Shapes::ShapeRef.new(shape: TagValue, location_name: "Value"))
3718
3962
  Tag.struct_class = Types::Tag
@@ -3729,6 +3973,8 @@ module Aws::IoT
3729
3973
 
3730
3974
  TargetAuditCheckNames.member = Shapes::ShapeRef.new(shape: AuditCheckName)
3731
3975
 
3976
+ TargetViolationIdsForDetectMitigationActions.member = Shapes::ShapeRef.new(shape: ViolationId)
3977
+
3732
3978
  Targets.member = Shapes::ShapeRef.new(shape: Target)
3733
3979
 
3734
3980
  TaskAlreadyExistsException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
@@ -3896,19 +4142,26 @@ module Aws::IoT
3896
4142
 
3897
4143
  TopicRuleDestination.add_member(:arn, Shapes::ShapeRef.new(shape: AwsArn, location_name: "arn"))
3898
4144
  TopicRuleDestination.add_member(:status, Shapes::ShapeRef.new(shape: TopicRuleDestinationStatus, location_name: "status"))
4145
+ TopicRuleDestination.add_member(:created_at, Shapes::ShapeRef.new(shape: CreatedAtDate, location_name: "createdAt"))
4146
+ TopicRuleDestination.add_member(:last_updated_at, Shapes::ShapeRef.new(shape: LastUpdatedAtDate, location_name: "lastUpdatedAt"))
3899
4147
  TopicRuleDestination.add_member(:status_reason, Shapes::ShapeRef.new(shape: String, location_name: "statusReason"))
3900
4148
  TopicRuleDestination.add_member(:http_url_properties, Shapes::ShapeRef.new(shape: HttpUrlDestinationProperties, location_name: "httpUrlProperties"))
4149
+ TopicRuleDestination.add_member(:vpc_properties, Shapes::ShapeRef.new(shape: VpcDestinationProperties, location_name: "vpcProperties"))
3901
4150
  TopicRuleDestination.struct_class = Types::TopicRuleDestination
3902
4151
 
3903
4152
  TopicRuleDestinationConfiguration.add_member(:http_url_configuration, Shapes::ShapeRef.new(shape: HttpUrlDestinationConfiguration, location_name: "httpUrlConfiguration"))
4153
+ TopicRuleDestinationConfiguration.add_member(:vpc_configuration, Shapes::ShapeRef.new(shape: VpcDestinationConfiguration, location_name: "vpcConfiguration"))
3904
4154
  TopicRuleDestinationConfiguration.struct_class = Types::TopicRuleDestinationConfiguration
3905
4155
 
3906
4156
  TopicRuleDestinationSummaries.member = Shapes::ShapeRef.new(shape: TopicRuleDestinationSummary)
3907
4157
 
3908
4158
  TopicRuleDestinationSummary.add_member(:arn, Shapes::ShapeRef.new(shape: AwsArn, location_name: "arn"))
3909
4159
  TopicRuleDestinationSummary.add_member(:status, Shapes::ShapeRef.new(shape: TopicRuleDestinationStatus, location_name: "status"))
4160
+ TopicRuleDestinationSummary.add_member(:created_at, Shapes::ShapeRef.new(shape: CreatedAtDate, location_name: "createdAt"))
4161
+ TopicRuleDestinationSummary.add_member(:last_updated_at, Shapes::ShapeRef.new(shape: LastUpdatedAtDate, location_name: "lastUpdatedAt"))
3910
4162
  TopicRuleDestinationSummary.add_member(:status_reason, Shapes::ShapeRef.new(shape: String, location_name: "statusReason"))
3911
4163
  TopicRuleDestinationSummary.add_member(:http_url_summary, Shapes::ShapeRef.new(shape: HttpUrlDestinationSummary, location_name: "httpUrlSummary"))
4164
+ TopicRuleDestinationSummary.add_member(:vpc_destination_summary, Shapes::ShapeRef.new(shape: VpcDestinationSummary, location_name: "vpcDestinationSummary"))
3912
4165
  TopicRuleDestinationSummary.struct_class = Types::TopicRuleDestinationSummary
3913
4166
 
3914
4167
  TopicRuleList.member = Shapes::ShapeRef.new(shape: TopicRuleListItem)
@@ -4007,6 +4260,18 @@ module Aws::IoT
4007
4260
  UpdateCertificateRequest.add_member(:new_status, Shapes::ShapeRef.new(shape: CertificateStatus, required: true, location: "querystring", location_name: "newStatus"))
4008
4261
  UpdateCertificateRequest.struct_class = Types::UpdateCertificateRequest
4009
4262
 
4263
+ UpdateCustomMetricRequest.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, required: true, location: "uri", location_name: "metricName"))
4264
+ UpdateCustomMetricRequest.add_member(:display_name, Shapes::ShapeRef.new(shape: CustomMetricDisplayName, required: true, location_name: "displayName"))
4265
+ UpdateCustomMetricRequest.struct_class = Types::UpdateCustomMetricRequest
4266
+
4267
+ UpdateCustomMetricResponse.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, location_name: "metricName"))
4268
+ UpdateCustomMetricResponse.add_member(:metric_arn, Shapes::ShapeRef.new(shape: CustomMetricArn, location_name: "metricArn"))
4269
+ UpdateCustomMetricResponse.add_member(:metric_type, Shapes::ShapeRef.new(shape: CustomMetricType, location_name: "metricType"))
4270
+ UpdateCustomMetricResponse.add_member(:display_name, Shapes::ShapeRef.new(shape: CustomMetricDisplayName, location_name: "displayName"))
4271
+ UpdateCustomMetricResponse.add_member(:creation_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "creationDate"))
4272
+ UpdateCustomMetricResponse.add_member(:last_modified_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastModifiedDate"))
4273
+ UpdateCustomMetricResponse.struct_class = Types::UpdateCustomMetricResponse
4274
+
4010
4275
  UpdateDeviceCertificateParams.add_member(:action, Shapes::ShapeRef.new(shape: DeviceCertificateUpdateAction, required: true, location_name: "action"))
4011
4276
  UpdateDeviceCertificateParams.struct_class = Types::UpdateDeviceCertificateParams
4012
4277
 
@@ -4192,12 +4457,38 @@ module Aws::IoT
4192
4457
  ViolationEvent.add_member(:security_profile_name, Shapes::ShapeRef.new(shape: SecurityProfileName, location_name: "securityProfileName"))
4193
4458
  ViolationEvent.add_member(:behavior, Shapes::ShapeRef.new(shape: Behavior, location_name: "behavior"))
4194
4459
  ViolationEvent.add_member(:metric_value, Shapes::ShapeRef.new(shape: MetricValue, location_name: "metricValue"))
4460
+ ViolationEvent.add_member(:violation_event_additional_info, Shapes::ShapeRef.new(shape: ViolationEventAdditionalInfo, location_name: "violationEventAdditionalInfo"))
4195
4461
  ViolationEvent.add_member(:violation_event_type, Shapes::ShapeRef.new(shape: ViolationEventType, location_name: "violationEventType"))
4196
4462
  ViolationEvent.add_member(:violation_event_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "violationEventTime"))
4197
4463
  ViolationEvent.struct_class = Types::ViolationEvent
4198
4464
 
4465
+ ViolationEventAdditionalInfo.add_member(:confidence_level, Shapes::ShapeRef.new(shape: ConfidenceLevel, location_name: "confidenceLevel"))
4466
+ ViolationEventAdditionalInfo.struct_class = Types::ViolationEventAdditionalInfo
4467
+
4468
+ ViolationEventOccurrenceRange.add_member(:start_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "startTime"))
4469
+ ViolationEventOccurrenceRange.add_member(:end_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "endTime"))
4470
+ ViolationEventOccurrenceRange.struct_class = Types::ViolationEventOccurrenceRange
4471
+
4199
4472
  ViolationEvents.member = Shapes::ShapeRef.new(shape: ViolationEvent)
4200
4473
 
4474
+ VpcDestinationConfiguration.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: SubnetIdList, required: true, location_name: "subnetIds"))
4475
+ VpcDestinationConfiguration.add_member(:security_groups, Shapes::ShapeRef.new(shape: SecurityGroupList, location_name: "securityGroups"))
4476
+ VpcDestinationConfiguration.add_member(:vpc_id, Shapes::ShapeRef.new(shape: VpcId, required: true, location_name: "vpcId"))
4477
+ VpcDestinationConfiguration.add_member(:role_arn, Shapes::ShapeRef.new(shape: AwsArn, required: true, location_name: "roleArn"))
4478
+ VpcDestinationConfiguration.struct_class = Types::VpcDestinationConfiguration
4479
+
4480
+ VpcDestinationProperties.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: SubnetIdList, location_name: "subnetIds"))
4481
+ VpcDestinationProperties.add_member(:security_groups, Shapes::ShapeRef.new(shape: SecurityGroupList, location_name: "securityGroups"))
4482
+ VpcDestinationProperties.add_member(:vpc_id, Shapes::ShapeRef.new(shape: VpcId, location_name: "vpcId"))
4483
+ VpcDestinationProperties.add_member(:role_arn, Shapes::ShapeRef.new(shape: AwsArn, location_name: "roleArn"))
4484
+ VpcDestinationProperties.struct_class = Types::VpcDestinationProperties
4485
+
4486
+ VpcDestinationSummary.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: SubnetIdList, location_name: "subnetIds"))
4487
+ VpcDestinationSummary.add_member(:security_groups, Shapes::ShapeRef.new(shape: SecurityGroupList, location_name: "securityGroups"))
4488
+ VpcDestinationSummary.add_member(:vpc_id, Shapes::ShapeRef.new(shape: VpcId, location_name: "vpcId"))
4489
+ VpcDestinationSummary.add_member(:role_arn, Shapes::ShapeRef.new(shape: AwsArn, location_name: "roleArn"))
4490
+ VpcDestinationSummary.struct_class = Types::VpcDestinationSummary
4491
+
4201
4492
 
4202
4493
  # @api private
4203
4494
  API = Seahorse::Model::Api.new.tap do |api|
@@ -4365,6 +4656,18 @@ module Aws::IoT
4365
4656
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
4366
4657
  end)
4367
4658
 
4659
+ api.add_operation(:cancel_detect_mitigation_actions_task, Seahorse::Model::Operation.new.tap do |o|
4660
+ o.name = "CancelDetectMitigationActionsTask"
4661
+ o.http_method = "PUT"
4662
+ o.http_request_uri = "/detect/mitigationactions/tasks/{taskId}/cancel"
4663
+ o.input = Shapes::ShapeRef.new(shape: CancelDetectMitigationActionsTaskRequest)
4664
+ o.output = Shapes::ShapeRef.new(shape: CancelDetectMitigationActionsTaskResponse)
4665
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
4666
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
4667
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
4668
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
4669
+ end)
4670
+
4368
4671
  api.add_operation(:cancel_job, Seahorse::Model::Operation.new.tap do |o|
4369
4672
  o.name = "CancelJob"
4370
4673
  o.http_method = "PUT"
@@ -4471,6 +4774,19 @@ module Aws::IoT
4471
4774
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
4472
4775
  end)
4473
4776
 
4777
+ api.add_operation(:create_custom_metric, Seahorse::Model::Operation.new.tap do |o|
4778
+ o.name = "CreateCustomMetric"
4779
+ o.http_method = "POST"
4780
+ o.http_request_uri = "/custom-metric/{metricName}"
4781
+ o.input = Shapes::ShapeRef.new(shape: CreateCustomMetricRequest)
4782
+ o.output = Shapes::ShapeRef.new(shape: CreateCustomMetricResponse)
4783
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
4784
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
4785
+ o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
4786
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
4787
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
4788
+ end)
4789
+
4474
4790
  api.add_operation(:create_dimension, Seahorse::Model::Operation.new.tap do |o|
4475
4791
  o.name = "CreateDimension"
4476
4792
  o.http_method = "POST"
@@ -4850,6 +5166,17 @@ module Aws::IoT
4850
5166
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
4851
5167
  end)
4852
5168
 
5169
+ api.add_operation(:delete_custom_metric, Seahorse::Model::Operation.new.tap do |o|
5170
+ o.name = "DeleteCustomMetric"
5171
+ o.http_method = "DELETE"
5172
+ o.http_request_uri = "/custom-metric/{metricName}"
5173
+ o.input = Shapes::ShapeRef.new(shape: DeleteCustomMetricRequest)
5174
+ o.output = Shapes::ShapeRef.new(shape: DeleteCustomMetricResponse)
5175
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
5176
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
5177
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
5178
+ end)
5179
+
4853
5180
  api.add_operation(:delete_dimension, Seahorse::Model::Operation.new.tap do |o|
4854
5181
  o.name = "DeleteDimension"
4855
5182
  o.http_method = "DELETE"
@@ -5271,6 +5598,18 @@ module Aws::IoT
5271
5598
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
5272
5599
  end)
5273
5600
 
5601
+ api.add_operation(:describe_custom_metric, Seahorse::Model::Operation.new.tap do |o|
5602
+ o.name = "DescribeCustomMetric"
5603
+ o.http_method = "GET"
5604
+ o.http_request_uri = "/custom-metric/{metricName}"
5605
+ o.input = Shapes::ShapeRef.new(shape: DescribeCustomMetricRequest)
5606
+ o.output = Shapes::ShapeRef.new(shape: DescribeCustomMetricResponse)
5607
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
5608
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
5609
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
5610
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
5611
+ end)
5612
+
5274
5613
  api.add_operation(:describe_default_authorizer, Seahorse::Model::Operation.new.tap do |o|
5275
5614
  o.name = "DescribeDefaultAuthorizer"
5276
5615
  o.http_method = "GET"
@@ -5285,6 +5624,18 @@ module Aws::IoT
5285
5624
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
5286
5625
  end)
5287
5626
 
5627
+ api.add_operation(:describe_detect_mitigation_actions_task, Seahorse::Model::Operation.new.tap do |o|
5628
+ o.name = "DescribeDetectMitigationActionsTask"
5629
+ o.http_method = "GET"
5630
+ o.http_request_uri = "/detect/mitigationactions/tasks/{taskId}"
5631
+ o.input = Shapes::ShapeRef.new(shape: DescribeDetectMitigationActionsTaskRequest)
5632
+ o.output = Shapes::ShapeRef.new(shape: DescribeDetectMitigationActionsTaskResponse)
5633
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
5634
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
5635
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
5636
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
5637
+ end)
5638
+
5288
5639
  api.add_operation(:describe_dimension, Seahorse::Model::Operation.new.tap do |o|
5289
5640
  o.name = "DescribeDimension"
5290
5641
  o.http_method = "GET"
@@ -5595,6 +5946,24 @@ module Aws::IoT
5595
5946
  o.errors << Shapes::ShapeRef.new(shape: ConflictingResourceUpdateException)
5596
5947
  end)
5597
5948
 
5949
+ api.add_operation(:get_behavior_model_training_summaries, Seahorse::Model::Operation.new.tap do |o|
5950
+ o.name = "GetBehaviorModelTrainingSummaries"
5951
+ o.http_method = "GET"
5952
+ o.http_request_uri = "/behavior-model-training/summaries"
5953
+ o.input = Shapes::ShapeRef.new(shape: GetBehaviorModelTrainingSummariesRequest)
5954
+ o.output = Shapes::ShapeRef.new(shape: GetBehaviorModelTrainingSummariesResponse)
5955
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
5956
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
5957
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
5958
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
5959
+ o[:pager] = Aws::Pager.new(
5960
+ limit_key: "max_results",
5961
+ tokens: {
5962
+ "next_token" => "next_token"
5963
+ }
5964
+ )
5965
+ end)
5966
+
5598
5967
  api.add_operation(:get_cardinality, Seahorse::Model::Operation.new.tap do |o|
5599
5968
  o.name = "GetCardinality"
5600
5969
  o.http_method = "POST"
@@ -6005,6 +6374,57 @@ module Aws::IoT
6005
6374
  )
6006
6375
  end)
6007
6376
 
6377
+ api.add_operation(:list_custom_metrics, Seahorse::Model::Operation.new.tap do |o|
6378
+ o.name = "ListCustomMetrics"
6379
+ o.http_method = "GET"
6380
+ o.http_request_uri = "/custom-metrics"
6381
+ o.input = Shapes::ShapeRef.new(shape: ListCustomMetricsRequest)
6382
+ o.output = Shapes::ShapeRef.new(shape: ListCustomMetricsResponse)
6383
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
6384
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
6385
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
6386
+ o[:pager] = Aws::Pager.new(
6387
+ limit_key: "max_results",
6388
+ tokens: {
6389
+ "next_token" => "next_token"
6390
+ }
6391
+ )
6392
+ end)
6393
+
6394
+ api.add_operation(:list_detect_mitigation_actions_executions, Seahorse::Model::Operation.new.tap do |o|
6395
+ o.name = "ListDetectMitigationActionsExecutions"
6396
+ o.http_method = "GET"
6397
+ o.http_request_uri = "/detect/mitigationactions/executions"
6398
+ o.input = Shapes::ShapeRef.new(shape: ListDetectMitigationActionsExecutionsRequest)
6399
+ o.output = Shapes::ShapeRef.new(shape: ListDetectMitigationActionsExecutionsResponse)
6400
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
6401
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
6402
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
6403
+ o[:pager] = Aws::Pager.new(
6404
+ limit_key: "max_results",
6405
+ tokens: {
6406
+ "next_token" => "next_token"
6407
+ }
6408
+ )
6409
+ end)
6410
+
6411
+ api.add_operation(:list_detect_mitigation_actions_tasks, Seahorse::Model::Operation.new.tap do |o|
6412
+ o.name = "ListDetectMitigationActionsTasks"
6413
+ o.http_method = "GET"
6414
+ o.http_request_uri = "/detect/mitigationactions/tasks"
6415
+ o.input = Shapes::ShapeRef.new(shape: ListDetectMitigationActionsTasksRequest)
6416
+ o.output = Shapes::ShapeRef.new(shape: ListDetectMitigationActionsTasksResponse)
6417
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
6418
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
6419
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
6420
+ o[:pager] = Aws::Pager.new(
6421
+ limit_key: "max_results",
6422
+ tokens: {
6423
+ "next_token" => "next_token"
6424
+ }
6425
+ )
6426
+ end)
6427
+
6008
6428
  api.add_operation(:list_dimensions, Seahorse::Model::Operation.new.tap do |o|
6009
6429
  o.name = "ListDimensions"
6010
6430
  o.http_method = "GET"
@@ -6895,6 +7315,19 @@ module Aws::IoT
6895
7315
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
6896
7316
  end)
6897
7317
 
7318
+ api.add_operation(:start_detect_mitigation_actions_task, Seahorse::Model::Operation.new.tap do |o|
7319
+ o.name = "StartDetectMitigationActionsTask"
7320
+ o.http_method = "PUT"
7321
+ o.http_request_uri = "/detect/mitigationactions/tasks/{taskId}"
7322
+ o.input = Shapes::ShapeRef.new(shape: StartDetectMitigationActionsTaskRequest)
7323
+ o.output = Shapes::ShapeRef.new(shape: StartDetectMitigationActionsTaskResponse)
7324
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
7325
+ o.errors << Shapes::ShapeRef.new(shape: TaskAlreadyExistsException)
7326
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
7327
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
7328
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
7329
+ end)
7330
+
6898
7331
  api.add_operation(:start_on_demand_audit_task, Seahorse::Model::Operation.new.tap do |o|
6899
7332
  o.name = "StartOnDemandAuditTask"
6900
7333
  o.http_method = "POST"
@@ -7083,6 +7516,18 @@ module Aws::IoT
7083
7516
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
7084
7517
  end)
7085
7518
 
7519
+ api.add_operation(:update_custom_metric, Seahorse::Model::Operation.new.tap do |o|
7520
+ o.name = "UpdateCustomMetric"
7521
+ o.http_method = "PATCH"
7522
+ o.http_request_uri = "/custom-metric/{metricName}"
7523
+ o.input = Shapes::ShapeRef.new(shape: UpdateCustomMetricRequest)
7524
+ o.output = Shapes::ShapeRef.new(shape: UpdateCustomMetricResponse)
7525
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
7526
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
7527
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
7528
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
7529
+ end)
7530
+
7086
7531
  api.add_operation(:update_dimension, Seahorse::Model::Operation.new.tap do |o|
7087
7532
  o.name = "UpdateDimension"
7088
7533
  o.http_method = "PATCH"