aws-sdk-iot 1.63.0 → 1.68.0

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