aws-sdk-iot 1.62.0 → 1.67.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')
@@ -460,6 +488,7 @@ module Aws::IoT
460
488
  FileId = Shapes::IntegerShape.new(name: 'FileId')
461
489
  FileLocation = Shapes::StructureShape.new(name: 'FileLocation')
462
490
  FileName = Shapes::StringShape.new(name: 'FileName')
491
+ FileType = Shapes::IntegerShape.new(name: 'FileType')
463
492
  FindingId = Shapes::StringShape.new(name: 'FindingId')
464
493
  FindingIds = Shapes::ListShape.new(name: 'FindingIds')
465
494
  FirehoseAction = Shapes::StructureShape.new(name: 'FirehoseAction')
@@ -471,6 +500,9 @@ module Aws::IoT
471
500
  Forced = Shapes::BooleanShape.new(name: 'Forced')
472
501
  FunctionArn = Shapes::StringShape.new(name: 'FunctionArn')
473
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')
474
506
  GetCardinalityRequest = Shapes::StructureShape.new(name: 'GetCardinalityRequest')
475
507
  GetCardinalityResponse = Shapes::StructureShape.new(name: 'GetCardinalityResponse')
476
508
  GetEffectivePoliciesRequest = Shapes::StructureShape.new(name: 'GetEffectivePoliciesRequest')
@@ -565,6 +597,7 @@ module Aws::IoT
565
597
  JobSummaryList = Shapes::ListShape.new(name: 'JobSummaryList')
566
598
  JobTargets = Shapes::ListShape.new(name: 'JobTargets')
567
599
  JsonDocument = Shapes::StringShape.new(name: 'JsonDocument')
600
+ KafkaAction = Shapes::StructureShape.new(name: 'KafkaAction')
568
601
  Key = Shapes::StringShape.new(name: 'Key')
569
602
  KeyName = Shapes::StringShape.new(name: 'KeyName')
570
603
  KeyPair = Shapes::StructureShape.new(name: 'KeyPair')
@@ -573,6 +606,7 @@ module Aws::IoT
573
606
  LambdaAction = Shapes::StructureShape.new(name: 'LambdaAction')
574
607
  LaserMaxResults = Shapes::IntegerShape.new(name: 'LaserMaxResults')
575
608
  LastModifiedDate = Shapes::TimestampShape.new(name: 'LastModifiedDate')
609
+ LastUpdatedAtDate = Shapes::TimestampShape.new(name: 'LastUpdatedAtDate')
576
610
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
577
611
  ListActiveViolationsRequest = Shapes::StructureShape.new(name: 'ListActiveViolationsRequest')
578
612
  ListActiveViolationsResponse = Shapes::StructureShape.new(name: 'ListActiveViolationsResponse')
@@ -598,6 +632,12 @@ module Aws::IoT
598
632
  ListCertificatesByCAResponse = Shapes::StructureShape.new(name: 'ListCertificatesByCAResponse')
599
633
  ListCertificatesRequest = Shapes::StructureShape.new(name: 'ListCertificatesRequest')
600
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')
601
641
  ListDimensionsRequest = Shapes::StructureShape.new(name: 'ListDimensionsRequest')
602
642
  ListDimensionsResponse = Shapes::StructureShape.new(name: 'ListDimensionsResponse')
603
643
  ListDomainConfigurationsRequest = Shapes::StructureShape.new(name: 'ListDomainConfigurationsRequest')
@@ -640,6 +680,7 @@ module Aws::IoT
640
680
  ListSecurityProfilesResponse = Shapes::StructureShape.new(name: 'ListSecurityProfilesResponse')
641
681
  ListStreamsRequest = Shapes::StructureShape.new(name: 'ListStreamsRequest')
642
682
  ListStreamsResponse = Shapes::StructureShape.new(name: 'ListStreamsResponse')
683
+ ListSuppressedAlerts = Shapes::BooleanShape.new(name: 'ListSuppressedAlerts')
643
684
  ListSuppressedFindings = Shapes::BooleanShape.new(name: 'ListSuppressedFindings')
644
685
  ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
645
686
  ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
@@ -681,6 +722,7 @@ module Aws::IoT
681
722
  LogTargetName = Shapes::StringShape.new(name: 'LogTargetName')
682
723
  LogTargetType = Shapes::StringShape.new(name: 'LogTargetType')
683
724
  LoggingOptionsPayload = Shapes::StructureShape.new(name: 'LoggingOptionsPayload')
725
+ MachineLearningDetectionConfig = Shapes::StructureShape.new(name: 'MachineLearningDetectionConfig')
684
726
  MalformedPolicyException = Shapes::StructureShape.new(name: 'MalformedPolicyException')
685
727
  Marker = Shapes::StringShape.new(name: 'Marker')
686
728
  MaxJobExecutionsPerMin = Shapes::IntegerShape.new(name: 'MaxJobExecutionsPerMin')
@@ -691,6 +733,8 @@ module Aws::IoT
691
733
  MessageFormat = Shapes::StringShape.new(name: 'MessageFormat')
692
734
  MessageId = Shapes::StringShape.new(name: 'MessageId')
693
735
  MetricDimension = Shapes::StructureShape.new(name: 'MetricDimension')
736
+ MetricName = Shapes::StringShape.new(name: 'MetricName')
737
+ MetricNames = Shapes::ListShape.new(name: 'MetricNames')
694
738
  MetricToRetain = Shapes::StructureShape.new(name: 'MetricToRetain')
695
739
  MetricValue = Shapes::StructureShape.new(name: 'MetricValue')
696
740
  Minimum = Shapes::FloatShape.new(name: 'Minimum')
@@ -707,6 +751,8 @@ module Aws::IoT
707
751
  MitigationActionNameList = Shapes::ListShape.new(name: 'MitigationActionNameList')
708
752
  MitigationActionParams = Shapes::StructureShape.new(name: 'MitigationActionParams')
709
753
  MitigationActionType = Shapes::StringShape.new(name: 'MitigationActionType')
754
+ MitigationActionsTaskId = Shapes::StringShape.new(name: 'MitigationActionsTaskId')
755
+ ModelStatus = Shapes::StringShape.new(name: 'ModelStatus')
710
756
  MqttClientId = Shapes::StringShape.new(name: 'MqttClientId')
711
757
  MqttContext = Shapes::StructureShape.new(name: 'MqttContext')
712
758
  MqttPassword = Shapes::BlobShape.new(name: 'MqttPassword')
@@ -717,6 +763,9 @@ module Aws::IoT
717
763
  NonCompliantResource = Shapes::StructureShape.new(name: 'NonCompliantResource')
718
764
  NonCompliantResourcesCount = Shapes::IntegerShape.new(name: 'NonCompliantResourcesCount')
719
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')
720
769
  NumberOfThings = Shapes::IntegerShape.new(name: 'NumberOfThings')
721
770
  OTAUpdateArn = Shapes::StringShape.new(name: 'OTAUpdateArn')
722
771
  OTAUpdateDescription = Shapes::StringShape.new(name: 'OTAUpdateDescription')
@@ -764,6 +813,7 @@ module Aws::IoT
764
813
  Ports = Shapes::ListShape.new(name: 'Ports')
765
814
  Prefix = Shapes::StringShape.new(name: 'Prefix')
766
815
  PresignedUrlConfig = Shapes::StructureShape.new(name: 'PresignedUrlConfig')
816
+ PrimitiveBoolean = Shapes::BooleanShape.new(name: 'PrimitiveBoolean')
767
817
  Principal = Shapes::StringShape.new(name: 'Principal')
768
818
  PrincipalArn = Shapes::StringShape.new(name: 'PrincipalArn')
769
819
  PrincipalId = Shapes::StringShape.new(name: 'PrincipalId')
@@ -869,6 +919,8 @@ module Aws::IoT
869
919
  SearchIndexResponse = Shapes::StructureShape.new(name: 'SearchIndexResponse')
870
920
  SearchableAttributes = Shapes::ListShape.new(name: 'SearchableAttributes')
871
921
  Seconds = Shapes::IntegerShape.new(name: 'Seconds')
922
+ SecurityGroupId = Shapes::StringShape.new(name: 'SecurityGroupId')
923
+ SecurityGroupList = Shapes::ListShape.new(name: 'SecurityGroupList')
872
924
  SecurityProfileArn = Shapes::StringShape.new(name: 'SecurityProfileArn')
873
925
  SecurityProfileDescription = Shapes::StringShape.new(name: 'SecurityProfileDescription')
874
926
  SecurityProfileIdentifier = Shapes::StructureShape.new(name: 'SecurityProfileIdentifier')
@@ -912,6 +964,8 @@ module Aws::IoT
912
964
  SqsAction = Shapes::StructureShape.new(name: 'SqsAction')
913
965
  StartAuditMitigationActionsTaskRequest = Shapes::StructureShape.new(name: 'StartAuditMitigationActionsTaskRequest')
914
966
  StartAuditMitigationActionsTaskResponse = Shapes::StructureShape.new(name: 'StartAuditMitigationActionsTaskResponse')
967
+ StartDetectMitigationActionsTaskRequest = Shapes::StructureShape.new(name: 'StartDetectMitigationActionsTaskRequest')
968
+ StartDetectMitigationActionsTaskResponse = Shapes::StructureShape.new(name: 'StartDetectMitigationActionsTaskResponse')
915
969
  StartOnDemandAuditTaskRequest = Shapes::StructureShape.new(name: 'StartOnDemandAuditTaskRequest')
916
970
  StartOnDemandAuditTaskResponse = Shapes::StructureShape.new(name: 'StartOnDemandAuditTaskResponse')
917
971
  StartSigningJobParameter = Shapes::StructureShape.new(name: 'StartSigningJobParameter')
@@ -939,11 +993,15 @@ module Aws::IoT
939
993
  StreamVersion = Shapes::IntegerShape.new(name: 'StreamVersion')
940
994
  StreamsSummary = Shapes::ListShape.new(name: 'StreamsSummary')
941
995
  String = Shapes::StringShape.new(name: 'String')
996
+ StringList = Shapes::ListShape.new(name: 'StringList')
942
997
  StringMap = Shapes::MapShape.new(name: 'StringMap')
998
+ SubnetId = Shapes::StringShape.new(name: 'SubnetId')
999
+ SubnetIdList = Shapes::ListShape.new(name: 'SubnetIdList')
943
1000
  SucceededFindingsCount = Shapes::IntegerShape.new(name: 'SucceededFindingsCount')
944
1001
  SucceededThings = Shapes::IntegerShape.new(name: 'SucceededThings')
945
1002
  Sum = Shapes::FloatShape.new(name: 'Sum')
946
1003
  SumOfSquares = Shapes::FloatShape.new(name: 'SumOfSquares')
1004
+ SuppressAlerts = Shapes::BooleanShape.new(name: 'SuppressAlerts')
947
1005
  SuppressIndefinitely = Shapes::BooleanShape.new(name: 'SuppressIndefinitely')
948
1006
  SuppressedNonCompliantResourcesCount = Shapes::IntegerShape.new(name: 'SuppressedNonCompliantResourcesCount')
949
1007
  TableName = Shapes::StringShape.new(name: 'TableName')
@@ -958,6 +1016,7 @@ module Aws::IoT
958
1016
  TargetArn = Shapes::StringShape.new(name: 'TargetArn')
959
1017
  TargetAuditCheckNames = Shapes::ListShape.new(name: 'TargetAuditCheckNames')
960
1018
  TargetSelection = Shapes::StringShape.new(name: 'TargetSelection')
1019
+ TargetViolationIdsForDetectMitigationActions = Shapes::ListShape.new(name: 'TargetViolationIdsForDetectMitigationActions')
961
1020
  Targets = Shapes::ListShape.new(name: 'Targets')
962
1021
  TaskAlreadyExistsException = Shapes::StructureShape.new(name: 'TaskAlreadyExistsException')
963
1022
  TaskId = Shapes::StringShape.new(name: 'TaskId')
@@ -1021,6 +1080,7 @@ module Aws::IoT
1021
1080
  TimestreamTimestamp = Shapes::StructureShape.new(name: 'TimestreamTimestamp')
1022
1081
  TimestreamTimestampUnit = Shapes::StringShape.new(name: 'TimestreamTimestampUnit')
1023
1082
  TimestreamTimestampValue = Shapes::StringShape.new(name: 'TimestreamTimestampValue')
1083
+ TinyMaxResults = Shapes::IntegerShape.new(name: 'TinyMaxResults')
1024
1084
  TlsContext = Shapes::StructureShape.new(name: 'TlsContext')
1025
1085
  Token = Shapes::StringShape.new(name: 'Token')
1026
1086
  TokenKeyName = Shapes::StringShape.new(name: 'TokenKeyName')
@@ -1062,6 +1122,8 @@ module Aws::IoT
1062
1122
  UpdateCACertificateParams = Shapes::StructureShape.new(name: 'UpdateCACertificateParams')
1063
1123
  UpdateCACertificateRequest = Shapes::StructureShape.new(name: 'UpdateCACertificateRequest')
1064
1124
  UpdateCertificateRequest = Shapes::StructureShape.new(name: 'UpdateCertificateRequest')
1125
+ UpdateCustomMetricRequest = Shapes::StructureShape.new(name: 'UpdateCustomMetricRequest')
1126
+ UpdateCustomMetricResponse = Shapes::StructureShape.new(name: 'UpdateCustomMetricResponse')
1065
1127
  UpdateDeviceCertificateParams = Shapes::StructureShape.new(name: 'UpdateDeviceCertificateParams')
1066
1128
  UpdateDimensionRequest = Shapes::StructureShape.new(name: 'UpdateDimensionRequest')
1067
1129
  UpdateDimensionResponse = Shapes::StructureShape.new(name: 'UpdateDimensionResponse')
@@ -1108,13 +1170,20 @@ module Aws::IoT
1108
1170
  VersionNumber = Shapes::IntegerShape.new(name: 'VersionNumber')
1109
1171
  VersionsLimitExceededException = Shapes::StructureShape.new(name: 'VersionsLimitExceededException')
1110
1172
  ViolationEvent = Shapes::StructureShape.new(name: 'ViolationEvent')
1173
+ ViolationEventAdditionalInfo = Shapes::StructureShape.new(name: 'ViolationEventAdditionalInfo')
1174
+ ViolationEventOccurrenceRange = Shapes::StructureShape.new(name: 'ViolationEventOccurrenceRange')
1111
1175
  ViolationEventType = Shapes::StringShape.new(name: 'ViolationEventType')
1112
1176
  ViolationEvents = Shapes::ListShape.new(name: 'ViolationEvents')
1113
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')
1114
1182
  WaitingForDataCollectionChecksCount = Shapes::IntegerShape.new(name: 'WaitingForDataCollectionChecksCount')
1115
1183
  errorMessage = Shapes::StringShape.new(name: 'errorMessage')
1116
1184
  resourceArn = Shapes::StringShape.new(name: 'resourceArn')
1117
1185
  resourceId = Shapes::StringShape.new(name: 'resourceId')
1186
+ stringValue = Shapes::StringShape.new(name: 'stringValue')
1118
1187
 
1119
1188
  AbortConfig.add_member(:criteria_list, Shapes::ShapeRef.new(shape: AbortCriteriaList, required: true, location_name: "criteriaList"))
1120
1189
  AbortConfig.struct_class = Types::AbortConfig
@@ -1151,6 +1220,7 @@ module Aws::IoT
1151
1220
  Action.add_member(:step_functions, Shapes::ShapeRef.new(shape: StepFunctionsAction, location_name: "stepFunctions"))
1152
1221
  Action.add_member(:timestream, Shapes::ShapeRef.new(shape: TimestreamAction, location_name: "timestream"))
1153
1222
  Action.add_member(:http, Shapes::ShapeRef.new(shape: HttpAction, location_name: "http"))
1223
+ Action.add_member(:kafka, Shapes::ShapeRef.new(shape: KafkaAction, location_name: "kafka"))
1154
1224
  Action.struct_class = Types::Action
1155
1225
 
1156
1226
  ActionList.member = Shapes::ShapeRef.new(shape: Action)
@@ -1160,6 +1230,7 @@ module Aws::IoT
1160
1230
  ActiveViolation.add_member(:security_profile_name, Shapes::ShapeRef.new(shape: SecurityProfileName, location_name: "securityProfileName"))
1161
1231
  ActiveViolation.add_member(:behavior, Shapes::ShapeRef.new(shape: Behavior, location_name: "behavior"))
1162
1232
  ActiveViolation.add_member(:last_violation_value, Shapes::ShapeRef.new(shape: MetricValue, location_name: "lastViolationValue"))
1233
+ ActiveViolation.add_member(:violation_event_additional_info, Shapes::ShapeRef.new(shape: ViolationEventAdditionalInfo, location_name: "violationEventAdditionalInfo"))
1163
1234
  ActiveViolation.add_member(:last_violation_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastViolationTime"))
1164
1235
  ActiveViolation.add_member(:violation_start_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "violationStartTime"))
1165
1236
  ActiveViolation.struct_class = Types::ActiveViolation
@@ -1301,7 +1372,7 @@ module Aws::IoT
1301
1372
 
1302
1373
  AuditFindings.member = Shapes::ShapeRef.new(shape: AuditFinding)
1303
1374
 
1304
- AuditMitigationActionExecutionMetadata.add_member(:task_id, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskId, location_name: "taskId"))
1375
+ AuditMitigationActionExecutionMetadata.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, location_name: "taskId"))
1305
1376
  AuditMitigationActionExecutionMetadata.add_member(:finding_id, Shapes::ShapeRef.new(shape: FindingId, location_name: "findingId"))
1306
1377
  AuditMitigationActionExecutionMetadata.add_member(:action_name, Shapes::ShapeRef.new(shape: MitigationActionName, location_name: "actionName"))
1307
1378
  AuditMitigationActionExecutionMetadata.add_member(:action_id, Shapes::ShapeRef.new(shape: MitigationActionId, location_name: "actionId"))
@@ -1314,7 +1385,7 @@ module Aws::IoT
1314
1385
 
1315
1386
  AuditMitigationActionExecutionMetadataList.member = Shapes::ShapeRef.new(shape: AuditMitigationActionExecutionMetadata)
1316
1387
 
1317
- AuditMitigationActionsTaskMetadata.add_member(:task_id, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskId, location_name: "taskId"))
1388
+ AuditMitigationActionsTaskMetadata.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, location_name: "taskId"))
1318
1389
  AuditMitigationActionsTaskMetadata.add_member(:start_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "startTime"))
1319
1390
  AuditMitigationActionsTaskMetadata.add_member(:task_status, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskStatus, location_name: "taskStatus"))
1320
1391
  AuditMitigationActionsTaskMetadata.struct_class = Types::AuditMitigationActionsTaskMetadata
@@ -1423,6 +1494,7 @@ module Aws::IoT
1423
1494
  Behavior.add_member(:metric, Shapes::ShapeRef.new(shape: BehaviorMetric, location_name: "metric"))
1424
1495
  Behavior.add_member(:metric_dimension, Shapes::ShapeRef.new(shape: MetricDimension, location_name: "metricDimension"))
1425
1496
  Behavior.add_member(:criteria, Shapes::ShapeRef.new(shape: BehaviorCriteria, location_name: "criteria"))
1497
+ Behavior.add_member(:suppress_alerts, Shapes::ShapeRef.new(shape: SuppressAlerts, location_name: "suppressAlerts"))
1426
1498
  Behavior.struct_class = Types::Behavior
1427
1499
 
1428
1500
  BehaviorCriteria.add_member(:comparison_operator, Shapes::ShapeRef.new(shape: ComparisonOperator, location_name: "comparisonOperator"))
@@ -1431,8 +1503,19 @@ module Aws::IoT
1431
1503
  BehaviorCriteria.add_member(:consecutive_datapoints_to_alarm, Shapes::ShapeRef.new(shape: ConsecutiveDatapointsToAlarm, location_name: "consecutiveDatapointsToAlarm"))
1432
1504
  BehaviorCriteria.add_member(:consecutive_datapoints_to_clear, Shapes::ShapeRef.new(shape: ConsecutiveDatapointsToClear, location_name: "consecutiveDatapointsToClear"))
1433
1505
  BehaviorCriteria.add_member(:statistical_threshold, Shapes::ShapeRef.new(shape: StatisticalThreshold, location_name: "statisticalThreshold"))
1506
+ BehaviorCriteria.add_member(:ml_detection_config, Shapes::ShapeRef.new(shape: MachineLearningDetectionConfig, location_name: "mlDetectionConfig"))
1434
1507
  BehaviorCriteria.struct_class = Types::BehaviorCriteria
1435
1508
 
1509
+ BehaviorModelTrainingSummaries.member = Shapes::ShapeRef.new(shape: BehaviorModelTrainingSummary)
1510
+
1511
+ BehaviorModelTrainingSummary.add_member(:security_profile_name, Shapes::ShapeRef.new(shape: SecurityProfileName, location_name: "securityProfileName"))
1512
+ BehaviorModelTrainingSummary.add_member(:behavior_name, Shapes::ShapeRef.new(shape: BehaviorName, location_name: "behaviorName"))
1513
+ BehaviorModelTrainingSummary.add_member(:training_data_collection_start_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "trainingDataCollectionStartDate"))
1514
+ BehaviorModelTrainingSummary.add_member(:model_status, Shapes::ShapeRef.new(shape: ModelStatus, location_name: "modelStatus"))
1515
+ BehaviorModelTrainingSummary.add_member(:datapoints_collection_percentage, Shapes::ShapeRef.new(shape: DataCollectionPercentage, location_name: "datapointsCollectionPercentage"))
1516
+ BehaviorModelTrainingSummary.add_member(:last_model_refresh_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastModelRefreshDate"))
1517
+ BehaviorModelTrainingSummary.struct_class = Types::BehaviorModelTrainingSummary
1518
+
1436
1519
  Behaviors.member = Shapes::ShapeRef.new(shape: Behavior)
1437
1520
 
1438
1521
  BillingGroupMetadata.add_member(:creation_date, Shapes::ShapeRef.new(shape: CreationDate, location_name: "creationDate"))
@@ -1464,7 +1547,7 @@ module Aws::IoT
1464
1547
 
1465
1548
  CACertificates.member = Shapes::ShapeRef.new(shape: CACertificate)
1466
1549
 
1467
- CancelAuditMitigationActionsTaskRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskId, required: true, location: "uri", location_name: "taskId"))
1550
+ CancelAuditMitigationActionsTaskRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, required: true, location: "uri", location_name: "taskId"))
1468
1551
  CancelAuditMitigationActionsTaskRequest.struct_class = Types::CancelAuditMitigationActionsTaskRequest
1469
1552
 
1470
1553
  CancelAuditMitigationActionsTaskResponse.struct_class = Types::CancelAuditMitigationActionsTaskResponse
@@ -1477,6 +1560,11 @@ module Aws::IoT
1477
1560
  CancelCertificateTransferRequest.add_member(:certificate_id, Shapes::ShapeRef.new(shape: CertificateId, required: true, location: "uri", location_name: "certificateId"))
1478
1561
  CancelCertificateTransferRequest.struct_class = Types::CancelCertificateTransferRequest
1479
1562
 
1563
+ CancelDetectMitigationActionsTaskRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, required: true, location: "uri", location_name: "taskId"))
1564
+ CancelDetectMitigationActionsTaskRequest.struct_class = Types::CancelDetectMitigationActionsTaskRequest
1565
+
1566
+ CancelDetectMitigationActionsTaskResponse.struct_class = Types::CancelDetectMitigationActionsTaskResponse
1567
+
1480
1568
  CancelJobExecutionRequest.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, required: true, location: "uri", location_name: "jobId"))
1481
1569
  CancelJobExecutionRequest.add_member(:thing_name, Shapes::ShapeRef.new(shape: ThingName, required: true, location: "uri", location_name: "thingName"))
1482
1570
  CancelJobExecutionRequest.add_member(:force, Shapes::ShapeRef.new(shape: ForceFlag, location: "querystring", location_name: "force"))
@@ -1539,6 +1627,9 @@ module Aws::IoT
1539
1627
 
1540
1628
  ClearDefaultAuthorizerResponse.struct_class = Types::ClearDefaultAuthorizerResponse
1541
1629
 
1630
+ ClientProperties.key = Shapes::ShapeRef.new(shape: String)
1631
+ ClientProperties.value = Shapes::ShapeRef.new(shape: String)
1632
+
1542
1633
  CloudwatchAlarmAction.add_member(:role_arn, Shapes::ShapeRef.new(shape: AwsArn, required: true, location_name: "roleArn"))
1543
1634
  CloudwatchAlarmAction.add_member(:alarm_name, Shapes::ShapeRef.new(shape: AlarmName, required: true, location_name: "alarmName"))
1544
1635
  CloudwatchAlarmAction.add_member(:state_reason, Shapes::ShapeRef.new(shape: StateReason, required: true, location_name: "stateReason"))
@@ -1622,6 +1713,17 @@ module Aws::IoT
1622
1713
  CreateCertificateFromCsrResponse.add_member(:certificate_pem, Shapes::ShapeRef.new(shape: CertificatePem, location_name: "certificatePem"))
1623
1714
  CreateCertificateFromCsrResponse.struct_class = Types::CreateCertificateFromCsrResponse
1624
1715
 
1716
+ CreateCustomMetricRequest.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, required: true, location: "uri", location_name: "metricName"))
1717
+ CreateCustomMetricRequest.add_member(:display_name, Shapes::ShapeRef.new(shape: CustomMetricDisplayName, location_name: "displayName"))
1718
+ CreateCustomMetricRequest.add_member(:metric_type, Shapes::ShapeRef.new(shape: CustomMetricType, required: true, location_name: "metricType"))
1719
+ CreateCustomMetricRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
1720
+ CreateCustomMetricRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: ClientRequestToken, required: true, location_name: "clientRequestToken", metadata: {"idempotencyToken"=>true}))
1721
+ CreateCustomMetricRequest.struct_class = Types::CreateCustomMetricRequest
1722
+
1723
+ CreateCustomMetricResponse.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, location_name: "metricName"))
1724
+ CreateCustomMetricResponse.add_member(:metric_arn, Shapes::ShapeRef.new(shape: CustomMetricArn, location_name: "metricArn"))
1725
+ CreateCustomMetricResponse.struct_class = Types::CreateCustomMetricResponse
1726
+
1625
1727
  CreateDimensionRequest.add_member(:name, Shapes::ShapeRef.new(shape: DimensionName, required: true, location: "uri", location_name: "name"))
1626
1728
  CreateDimensionRequest.add_member(:type, Shapes::ShapeRef.new(shape: DimensionType, required: true, location_name: "type"))
1627
1729
  CreateDimensionRequest.add_member(:string_values, Shapes::ShapeRef.new(shape: DimensionStringValues, required: true, location_name: "stringValues"))
@@ -1910,6 +2012,11 @@ module Aws::IoT
1910
2012
  DeleteConflictException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
1911
2013
  DeleteConflictException.struct_class = Types::DeleteConflictException
1912
2014
 
2015
+ DeleteCustomMetricRequest.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, required: true, location: "uri", location_name: "metricName"))
2016
+ DeleteCustomMetricRequest.struct_class = Types::DeleteCustomMetricRequest
2017
+
2018
+ DeleteCustomMetricResponse.struct_class = Types::DeleteCustomMetricResponse
2019
+
1913
2020
  DeleteDimensionRequest.add_member(:name, Shapes::ShapeRef.new(shape: DimensionName, required: true, location: "uri", location_name: "name"))
1914
2021
  DeleteDimensionRequest.struct_class = Types::DeleteDimensionRequest
1915
2022
 
@@ -2045,7 +2152,7 @@ module Aws::IoT
2045
2152
  DescribeAuditFindingResponse.add_member(:finding, Shapes::ShapeRef.new(shape: AuditFinding, location_name: "finding"))
2046
2153
  DescribeAuditFindingResponse.struct_class = Types::DescribeAuditFindingResponse
2047
2154
 
2048
- DescribeAuditMitigationActionsTaskRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskId, required: true, location: "uri", location_name: "taskId"))
2155
+ DescribeAuditMitigationActionsTaskRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, required: true, location: "uri", location_name: "taskId"))
2049
2156
  DescribeAuditMitigationActionsTaskRequest.struct_class = Types::DescribeAuditMitigationActionsTaskRequest
2050
2157
 
2051
2158
  DescribeAuditMitigationActionsTaskResponse.add_member(:task_status, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskStatus, location_name: "taskStatus"))
@@ -2109,11 +2216,28 @@ module Aws::IoT
2109
2216
  DescribeCertificateResponse.add_member(:certificate_description, Shapes::ShapeRef.new(shape: CertificateDescription, location_name: "certificateDescription"))
2110
2217
  DescribeCertificateResponse.struct_class = Types::DescribeCertificateResponse
2111
2218
 
2219
+ DescribeCustomMetricRequest.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, required: true, location: "uri", location_name: "metricName"))
2220
+ DescribeCustomMetricRequest.struct_class = Types::DescribeCustomMetricRequest
2221
+
2222
+ DescribeCustomMetricResponse.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, location_name: "metricName"))
2223
+ DescribeCustomMetricResponse.add_member(:metric_arn, Shapes::ShapeRef.new(shape: CustomMetricArn, location_name: "metricArn"))
2224
+ DescribeCustomMetricResponse.add_member(:metric_type, Shapes::ShapeRef.new(shape: CustomMetricType, location_name: "metricType"))
2225
+ DescribeCustomMetricResponse.add_member(:display_name, Shapes::ShapeRef.new(shape: CustomMetricDisplayName, location_name: "displayName"))
2226
+ DescribeCustomMetricResponse.add_member(:creation_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "creationDate"))
2227
+ DescribeCustomMetricResponse.add_member(:last_modified_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastModifiedDate"))
2228
+ DescribeCustomMetricResponse.struct_class = Types::DescribeCustomMetricResponse
2229
+
2112
2230
  DescribeDefaultAuthorizerRequest.struct_class = Types::DescribeDefaultAuthorizerRequest
2113
2231
 
2114
2232
  DescribeDefaultAuthorizerResponse.add_member(:authorizer_description, Shapes::ShapeRef.new(shape: AuthorizerDescription, location_name: "authorizerDescription"))
2115
2233
  DescribeDefaultAuthorizerResponse.struct_class = Types::DescribeDefaultAuthorizerResponse
2116
2234
 
2235
+ DescribeDetectMitigationActionsTaskRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, required: true, location: "uri", location_name: "taskId"))
2236
+ DescribeDetectMitigationActionsTaskRequest.struct_class = Types::DescribeDetectMitigationActionsTaskRequest
2237
+
2238
+ DescribeDetectMitigationActionsTaskResponse.add_member(:task_summary, Shapes::ShapeRef.new(shape: DetectMitigationActionsTaskSummary, location_name: "taskSummary"))
2239
+ DescribeDetectMitigationActionsTaskResponse.struct_class = Types::DescribeDetectMitigationActionsTaskResponse
2240
+
2117
2241
  DescribeDimensionRequest.add_member(:name, Shapes::ShapeRef.new(shape: DimensionName, required: true, location: "uri", location_name: "name"))
2118
2242
  DescribeDimensionRequest.struct_class = Types::DescribeDimensionRequest
2119
2243
 
@@ -2332,6 +2456,45 @@ module Aws::IoT
2332
2456
  DetailsMap.key = Shapes::ShapeRef.new(shape: DetailsKey)
2333
2457
  DetailsMap.value = Shapes::ShapeRef.new(shape: DetailsValue)
2334
2458
 
2459
+ DetectMitigationActionExecution.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, location_name: "taskId"))
2460
+ DetectMitigationActionExecution.add_member(:violation_id, Shapes::ShapeRef.new(shape: ViolationId, location_name: "violationId"))
2461
+ DetectMitigationActionExecution.add_member(:action_name, Shapes::ShapeRef.new(shape: MitigationActionName, location_name: "actionName"))
2462
+ DetectMitigationActionExecution.add_member(:thing_name, Shapes::ShapeRef.new(shape: DeviceDefenderThingName, location_name: "thingName"))
2463
+ DetectMitigationActionExecution.add_member(:execution_start_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "executionStartDate"))
2464
+ DetectMitigationActionExecution.add_member(:execution_end_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "executionEndDate"))
2465
+ DetectMitigationActionExecution.add_member(:status, Shapes::ShapeRef.new(shape: DetectMitigationActionExecutionStatus, location_name: "status"))
2466
+ DetectMitigationActionExecution.add_member(:error_code, Shapes::ShapeRef.new(shape: DetectMitigationActionExecutionErrorCode, location_name: "errorCode"))
2467
+ DetectMitigationActionExecution.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
2468
+ DetectMitigationActionExecution.struct_class = Types::DetectMitigationActionExecution
2469
+
2470
+ DetectMitigationActionExecutionList.member = Shapes::ShapeRef.new(shape: DetectMitigationActionExecution)
2471
+
2472
+ DetectMitigationActionsTaskStatistics.add_member(:actions_executed, Shapes::ShapeRef.new(shape: GenericLongValue, location_name: "actionsExecuted"))
2473
+ DetectMitigationActionsTaskStatistics.add_member(:actions_skipped, Shapes::ShapeRef.new(shape: GenericLongValue, location_name: "actionsSkipped"))
2474
+ DetectMitigationActionsTaskStatistics.add_member(:actions_failed, Shapes::ShapeRef.new(shape: GenericLongValue, location_name: "actionsFailed"))
2475
+ DetectMitigationActionsTaskStatistics.struct_class = Types::DetectMitigationActionsTaskStatistics
2476
+
2477
+ DetectMitigationActionsTaskSummary.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, location_name: "taskId"))
2478
+ DetectMitigationActionsTaskSummary.add_member(:task_status, Shapes::ShapeRef.new(shape: DetectMitigationActionsTaskStatus, location_name: "taskStatus"))
2479
+ DetectMitigationActionsTaskSummary.add_member(:task_start_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "taskStartTime"))
2480
+ DetectMitigationActionsTaskSummary.add_member(:task_end_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "taskEndTime"))
2481
+ DetectMitigationActionsTaskSummary.add_member(:target, Shapes::ShapeRef.new(shape: DetectMitigationActionsTaskTarget, location_name: "target"))
2482
+ DetectMitigationActionsTaskSummary.add_member(:violation_event_occurrence_range, Shapes::ShapeRef.new(shape: ViolationEventOccurrenceRange, location_name: "violationEventOccurrenceRange"))
2483
+ DetectMitigationActionsTaskSummary.add_member(:only_active_violations_included, Shapes::ShapeRef.new(shape: PrimitiveBoolean, location_name: "onlyActiveViolationsIncluded"))
2484
+ DetectMitigationActionsTaskSummary.add_member(:suppressed_alerts_included, Shapes::ShapeRef.new(shape: PrimitiveBoolean, location_name: "suppressedAlertsIncluded"))
2485
+ DetectMitigationActionsTaskSummary.add_member(:actions_definition, Shapes::ShapeRef.new(shape: MitigationActionList, location_name: "actionsDefinition"))
2486
+ DetectMitigationActionsTaskSummary.add_member(:task_statistics, Shapes::ShapeRef.new(shape: DetectMitigationActionsTaskStatistics, location_name: "taskStatistics"))
2487
+ DetectMitigationActionsTaskSummary.struct_class = Types::DetectMitigationActionsTaskSummary
2488
+
2489
+ DetectMitigationActionsTaskSummaryList.member = Shapes::ShapeRef.new(shape: DetectMitigationActionsTaskSummary)
2490
+
2491
+ DetectMitigationActionsTaskTarget.add_member(:violation_ids, Shapes::ShapeRef.new(shape: TargetViolationIdsForDetectMitigationActions, location_name: "violationIds"))
2492
+ DetectMitigationActionsTaskTarget.add_member(:security_profile_name, Shapes::ShapeRef.new(shape: SecurityProfileName, location_name: "securityProfileName"))
2493
+ DetectMitigationActionsTaskTarget.add_member(:behavior_name, Shapes::ShapeRef.new(shape: BehaviorName, location_name: "behaviorName"))
2494
+ DetectMitigationActionsTaskTarget.struct_class = Types::DetectMitigationActionsTaskTarget
2495
+
2496
+ DetectMitigationActionsToExecuteList.member = Shapes::ShapeRef.new(shape: MitigationActionName)
2497
+
2335
2498
  DimensionNames.member = Shapes::ShapeRef.new(shape: DimensionName)
2336
2499
 
2337
2500
  DimensionStringValues.member = Shapes::ShapeRef.new(shape: DimensionStringValue)
@@ -2416,6 +2579,15 @@ module Aws::IoT
2416
2579
  FirehoseAction.add_member(:batch_mode, Shapes::ShapeRef.new(shape: BatchMode, location_name: "batchMode"))
2417
2580
  FirehoseAction.struct_class = Types::FirehoseAction
2418
2581
 
2582
+ GetBehaviorModelTrainingSummariesRequest.add_member(:security_profile_name, Shapes::ShapeRef.new(shape: SecurityProfileName, location: "querystring", location_name: "securityProfileName"))
2583
+ GetBehaviorModelTrainingSummariesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: TinyMaxResults, location: "querystring", location_name: "maxResults"))
2584
+ GetBehaviorModelTrainingSummariesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
2585
+ GetBehaviorModelTrainingSummariesRequest.struct_class = Types::GetBehaviorModelTrainingSummariesRequest
2586
+
2587
+ GetBehaviorModelTrainingSummariesResponse.add_member(:summaries, Shapes::ShapeRef.new(shape: BehaviorModelTrainingSummaries, location_name: "summaries"))
2588
+ GetBehaviorModelTrainingSummariesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
2589
+ GetBehaviorModelTrainingSummariesResponse.struct_class = Types::GetBehaviorModelTrainingSummariesResponse
2590
+
2419
2591
  GetCardinalityRequest.add_member(:index_name, Shapes::ShapeRef.new(shape: IndexName, location_name: "indexName"))
2420
2592
  GetCardinalityRequest.add_member(:query_string, Shapes::ShapeRef.new(shape: QueryString, required: true, location_name: "queryString"))
2421
2593
  GetCardinalityRequest.add_member(:aggregation_field, Shapes::ShapeRef.new(shape: AggregationField, location_name: "aggregationField"))
@@ -2691,6 +2863,13 @@ module Aws::IoT
2691
2863
 
2692
2864
  JobTargets.member = Shapes::ShapeRef.new(shape: TargetArn)
2693
2865
 
2866
+ KafkaAction.add_member(:destination_arn, Shapes::ShapeRef.new(shape: AwsArn, required: true, location_name: "destinationArn"))
2867
+ KafkaAction.add_member(:topic, Shapes::ShapeRef.new(shape: String, required: true, location_name: "topic"))
2868
+ KafkaAction.add_member(:key, Shapes::ShapeRef.new(shape: String, location_name: "key"))
2869
+ KafkaAction.add_member(:partition, Shapes::ShapeRef.new(shape: String, location_name: "partition"))
2870
+ KafkaAction.add_member(:client_properties, Shapes::ShapeRef.new(shape: ClientProperties, required: true, location_name: "clientProperties"))
2871
+ KafkaAction.struct_class = Types::KafkaAction
2872
+
2694
2873
  KeyPair.add_member(:public_key, Shapes::ShapeRef.new(shape: PublicKey, location_name: "PublicKey"))
2695
2874
  KeyPair.add_member(:private_key, Shapes::ShapeRef.new(shape: PrivateKey, location_name: "PrivateKey"))
2696
2875
  KeyPair.struct_class = Types::KeyPair
@@ -2708,6 +2887,8 @@ module Aws::IoT
2708
2887
 
2709
2888
  ListActiveViolationsRequest.add_member(:thing_name, Shapes::ShapeRef.new(shape: DeviceDefenderThingName, location: "querystring", location_name: "thingName"))
2710
2889
  ListActiveViolationsRequest.add_member(:security_profile_name, Shapes::ShapeRef.new(shape: SecurityProfileName, location: "querystring", location_name: "securityProfileName"))
2890
+ ListActiveViolationsRequest.add_member(:behavior_criteria_type, Shapes::ShapeRef.new(shape: BehaviorCriteriaType, location: "querystring", location_name: "behaviorCriteriaType"))
2891
+ ListActiveViolationsRequest.add_member(:list_suppressed_alerts, Shapes::ShapeRef.new(shape: ListSuppressedAlerts, location: "querystring", location_name: "listSuppressedAlerts"))
2711
2892
  ListActiveViolationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
2712
2893
  ListActiveViolationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
2713
2894
  ListActiveViolationsRequest.struct_class = Types::ListActiveViolationsRequest
@@ -2740,7 +2921,7 @@ module Aws::IoT
2740
2921
  ListAuditFindingsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
2741
2922
  ListAuditFindingsResponse.struct_class = Types::ListAuditFindingsResponse
2742
2923
 
2743
- ListAuditMitigationActionsExecutionsRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskId, required: true, location: "querystring", location_name: "taskId"))
2924
+ ListAuditMitigationActionsExecutionsRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, required: true, location: "querystring", location_name: "taskId"))
2744
2925
  ListAuditMitigationActionsExecutionsRequest.add_member(:action_status, Shapes::ShapeRef.new(shape: AuditMitigationActionsExecutionStatus, location: "querystring", location_name: "actionStatus"))
2745
2926
  ListAuditMitigationActionsExecutionsRequest.add_member(:finding_id, Shapes::ShapeRef.new(shape: FindingId, required: true, location: "querystring", location_name: "findingId"))
2746
2927
  ListAuditMitigationActionsExecutionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
@@ -2834,6 +3015,37 @@ module Aws::IoT
2834
3015
  ListCertificatesResponse.add_member(:next_marker, Shapes::ShapeRef.new(shape: Marker, location_name: "nextMarker"))
2835
3016
  ListCertificatesResponse.struct_class = Types::ListCertificatesResponse
2836
3017
 
3018
+ ListCustomMetricsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
3019
+ ListCustomMetricsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
3020
+ ListCustomMetricsRequest.struct_class = Types::ListCustomMetricsRequest
3021
+
3022
+ ListCustomMetricsResponse.add_member(:metric_names, Shapes::ShapeRef.new(shape: MetricNames, location_name: "metricNames"))
3023
+ ListCustomMetricsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
3024
+ ListCustomMetricsResponse.struct_class = Types::ListCustomMetricsResponse
3025
+
3026
+ ListDetectMitigationActionsExecutionsRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, location: "querystring", location_name: "taskId"))
3027
+ ListDetectMitigationActionsExecutionsRequest.add_member(:violation_id, Shapes::ShapeRef.new(shape: ViolationId, location: "querystring", location_name: "violationId"))
3028
+ ListDetectMitigationActionsExecutionsRequest.add_member(:thing_name, Shapes::ShapeRef.new(shape: DeviceDefenderThingName, location: "querystring", location_name: "thingName"))
3029
+ ListDetectMitigationActionsExecutionsRequest.add_member(:start_time, Shapes::ShapeRef.new(shape: Timestamp, location: "querystring", location_name: "startTime"))
3030
+ ListDetectMitigationActionsExecutionsRequest.add_member(:end_time, Shapes::ShapeRef.new(shape: Timestamp, location: "querystring", location_name: "endTime"))
3031
+ ListDetectMitigationActionsExecutionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
3032
+ ListDetectMitigationActionsExecutionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
3033
+ ListDetectMitigationActionsExecutionsRequest.struct_class = Types::ListDetectMitigationActionsExecutionsRequest
3034
+
3035
+ ListDetectMitigationActionsExecutionsResponse.add_member(:actions_executions, Shapes::ShapeRef.new(shape: DetectMitigationActionExecutionList, location_name: "actionsExecutions"))
3036
+ ListDetectMitigationActionsExecutionsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
3037
+ ListDetectMitigationActionsExecutionsResponse.struct_class = Types::ListDetectMitigationActionsExecutionsResponse
3038
+
3039
+ ListDetectMitigationActionsTasksRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
3040
+ ListDetectMitigationActionsTasksRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
3041
+ ListDetectMitigationActionsTasksRequest.add_member(:start_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location: "querystring", location_name: "startTime"))
3042
+ ListDetectMitigationActionsTasksRequest.add_member(:end_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location: "querystring", location_name: "endTime"))
3043
+ ListDetectMitigationActionsTasksRequest.struct_class = Types::ListDetectMitigationActionsTasksRequest
3044
+
3045
+ ListDetectMitigationActionsTasksResponse.add_member(:tasks, Shapes::ShapeRef.new(shape: DetectMitigationActionsTaskSummaryList, location_name: "tasks"))
3046
+ ListDetectMitigationActionsTasksResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
3047
+ ListDetectMitigationActionsTasksResponse.struct_class = Types::ListDetectMitigationActionsTasksResponse
3048
+
2837
3049
  ListDimensionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
2838
3050
  ListDimensionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
2839
3051
  ListDimensionsRequest.struct_class = Types::ListDimensionsRequest
@@ -3011,6 +3223,7 @@ module Aws::IoT
3011
3223
  ListSecurityProfilesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
3012
3224
  ListSecurityProfilesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
3013
3225
  ListSecurityProfilesRequest.add_member(:dimension_name, Shapes::ShapeRef.new(shape: DimensionName, location: "querystring", location_name: "dimensionName"))
3226
+ ListSecurityProfilesRequest.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, location: "querystring", location_name: "metricName"))
3014
3227
  ListSecurityProfilesRequest.struct_class = Types::ListSecurityProfilesRequest
3015
3228
 
3016
3229
  ListSecurityProfilesResponse.add_member(:security_profile_identifiers, Shapes::ShapeRef.new(shape: SecurityProfileIdentifiers, location_name: "securityProfileIdentifiers"))
@@ -3171,6 +3384,8 @@ module Aws::IoT
3171
3384
  ListViolationEventsRequest.add_member(:end_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location: "querystring", location_name: "endTime"))
3172
3385
  ListViolationEventsRequest.add_member(:thing_name, Shapes::ShapeRef.new(shape: DeviceDefenderThingName, location: "querystring", location_name: "thingName"))
3173
3386
  ListViolationEventsRequest.add_member(:security_profile_name, Shapes::ShapeRef.new(shape: SecurityProfileName, location: "querystring", location_name: "securityProfileName"))
3387
+ ListViolationEventsRequest.add_member(:behavior_criteria_type, Shapes::ShapeRef.new(shape: BehaviorCriteriaType, location: "querystring", location_name: "behaviorCriteriaType"))
3388
+ ListViolationEventsRequest.add_member(:list_suppressed_alerts, Shapes::ShapeRef.new(shape: ListSuppressedAlerts, location: "querystring", location_name: "listSuppressedAlerts"))
3174
3389
  ListViolationEventsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
3175
3390
  ListViolationEventsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
3176
3391
  ListViolationEventsRequest.struct_class = Types::ListViolationEventsRequest
@@ -3193,6 +3408,9 @@ module Aws::IoT
3193
3408
  LoggingOptionsPayload.add_member(:log_level, Shapes::ShapeRef.new(shape: LogLevel, location_name: "logLevel"))
3194
3409
  LoggingOptionsPayload.struct_class = Types::LoggingOptionsPayload
3195
3410
 
3411
+ MachineLearningDetectionConfig.add_member(:confidence_level, Shapes::ShapeRef.new(shape: ConfidenceLevel, required: true, location_name: "confidenceLevel"))
3412
+ MachineLearningDetectionConfig.struct_class = Types::MachineLearningDetectionConfig
3413
+
3196
3414
  MalformedPolicyException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
3197
3415
  MalformedPolicyException.struct_class = Types::MalformedPolicyException
3198
3416
 
@@ -3200,6 +3418,8 @@ module Aws::IoT
3200
3418
  MetricDimension.add_member(:operator, Shapes::ShapeRef.new(shape: DimensionValueOperator, location_name: "operator"))
3201
3419
  MetricDimension.struct_class = Types::MetricDimension
3202
3420
 
3421
+ MetricNames.member = Shapes::ShapeRef.new(shape: MetricName)
3422
+
3203
3423
  MetricToRetain.add_member(:metric, Shapes::ShapeRef.new(shape: BehaviorMetric, required: true, location_name: "metric"))
3204
3424
  MetricToRetain.add_member(:metric_dimension, Shapes::ShapeRef.new(shape: MetricDimension, location_name: "metricDimension"))
3205
3425
  MetricToRetain.struct_class = Types::MetricToRetain
@@ -3207,6 +3427,9 @@ module Aws::IoT
3207
3427
  MetricValue.add_member(:count, Shapes::ShapeRef.new(shape: UnsignedLong, location_name: "count"))
3208
3428
  MetricValue.add_member(:cidrs, Shapes::ShapeRef.new(shape: Cidrs, location_name: "cidrs"))
3209
3429
  MetricValue.add_member(:ports, Shapes::ShapeRef.new(shape: Ports, location_name: "ports"))
3430
+ MetricValue.add_member(:number, Shapes::ShapeRef.new(shape: Number, location_name: "number"))
3431
+ MetricValue.add_member(:numbers, Shapes::ShapeRef.new(shape: NumberList, location_name: "numbers"))
3432
+ MetricValue.add_member(:strings, Shapes::ShapeRef.new(shape: StringList, location_name: "strings"))
3210
3433
  MetricValue.struct_class = Types::MetricValue
3211
3434
 
3212
3435
  MissingContextValues.member = Shapes::ShapeRef.new(shape: MissingContextValue)
@@ -3249,7 +3472,10 @@ module Aws::IoT
3249
3472
  NotConfiguredException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
3250
3473
  NotConfiguredException.struct_class = Types::NotConfiguredException
3251
3474
 
3475
+ NumberList.member = Shapes::ShapeRef.new(shape: Number)
3476
+
3252
3477
  OTAUpdateFile.add_member(:file_name, Shapes::ShapeRef.new(shape: FileName, location_name: "fileName"))
3478
+ OTAUpdateFile.add_member(:file_type, Shapes::ShapeRef.new(shape: FileType, location_name: "fileType"))
3253
3479
  OTAUpdateFile.add_member(:file_version, Shapes::ShapeRef.new(shape: OTAUpdateFileVersion, location_name: "fileVersion"))
3254
3480
  OTAUpdateFile.add_member(:file_location, Shapes::ShapeRef.new(shape: FileLocation, location_name: "fileLocation"))
3255
3481
  OTAUpdateFile.add_member(:code_signing, Shapes::ShapeRef.new(shape: CodeSigning, location_name: "codeSigning"))
@@ -3551,6 +3777,8 @@ module Aws::IoT
3551
3777
 
3552
3778
  SearchableAttributes.member = Shapes::ShapeRef.new(shape: AttributeName)
3553
3779
 
3780
+ SecurityGroupList.member = Shapes::ShapeRef.new(shape: SecurityGroupId)
3781
+
3554
3782
  SecurityProfileIdentifier.add_member(:name, Shapes::ShapeRef.new(shape: SecurityProfileName, required: true, location_name: "name"))
3555
3783
  SecurityProfileIdentifier.add_member(:arn, Shapes::ShapeRef.new(shape: SecurityProfileArn, required: true, location_name: "arn"))
3556
3784
  SecurityProfileIdentifier.struct_class = Types::SecurityProfileIdentifier
@@ -3628,15 +3856,27 @@ module Aws::IoT
3628
3856
  SqsAction.add_member(:use_base_64, Shapes::ShapeRef.new(shape: UseBase64, location_name: "useBase64"))
3629
3857
  SqsAction.struct_class = Types::SqsAction
3630
3858
 
3631
- StartAuditMitigationActionsTaskRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskId, required: true, location: "uri", location_name: "taskId"))
3859
+ StartAuditMitigationActionsTaskRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, required: true, location: "uri", location_name: "taskId"))
3632
3860
  StartAuditMitigationActionsTaskRequest.add_member(:target, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskTarget, required: true, location_name: "target"))
3633
3861
  StartAuditMitigationActionsTaskRequest.add_member(:audit_check_to_actions_mapping, Shapes::ShapeRef.new(shape: AuditCheckToActionsMapping, required: true, location_name: "auditCheckToActionsMapping"))
3634
3862
  StartAuditMitigationActionsTaskRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: ClientRequestToken, required: true, location_name: "clientRequestToken", metadata: {"idempotencyToken"=>true}))
3635
3863
  StartAuditMitigationActionsTaskRequest.struct_class = Types::StartAuditMitigationActionsTaskRequest
3636
3864
 
3637
- StartAuditMitigationActionsTaskResponse.add_member(:task_id, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskId, location_name: "taskId"))
3865
+ StartAuditMitigationActionsTaskResponse.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, location_name: "taskId"))
3638
3866
  StartAuditMitigationActionsTaskResponse.struct_class = Types::StartAuditMitigationActionsTaskResponse
3639
3867
 
3868
+ StartDetectMitigationActionsTaskRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, required: true, location: "uri", location_name: "taskId"))
3869
+ StartDetectMitigationActionsTaskRequest.add_member(:target, Shapes::ShapeRef.new(shape: DetectMitigationActionsTaskTarget, required: true, location_name: "target"))
3870
+ StartDetectMitigationActionsTaskRequest.add_member(:actions, Shapes::ShapeRef.new(shape: DetectMitigationActionsToExecuteList, required: true, location_name: "actions"))
3871
+ StartDetectMitigationActionsTaskRequest.add_member(:violation_event_occurrence_range, Shapes::ShapeRef.new(shape: ViolationEventOccurrenceRange, location_name: "violationEventOccurrenceRange"))
3872
+ StartDetectMitigationActionsTaskRequest.add_member(:include_only_active_violations, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "includeOnlyActiveViolations"))
3873
+ StartDetectMitigationActionsTaskRequest.add_member(:include_suppressed_alerts, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "includeSuppressedAlerts"))
3874
+ StartDetectMitigationActionsTaskRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: ClientRequestToken, required: true, location_name: "clientRequestToken", metadata: {"idempotencyToken"=>true}))
3875
+ StartDetectMitigationActionsTaskRequest.struct_class = Types::StartDetectMitigationActionsTaskRequest
3876
+
3877
+ StartDetectMitigationActionsTaskResponse.add_member(:task_id, Shapes::ShapeRef.new(shape: MitigationActionsTaskId, location_name: "taskId"))
3878
+ StartDetectMitigationActionsTaskResponse.struct_class = Types::StartDetectMitigationActionsTaskResponse
3879
+
3640
3880
  StartOnDemandAuditTaskRequest.add_member(:target_check_names, Shapes::ShapeRef.new(shape: TargetAuditCheckNames, required: true, location_name: "targetCheckNames"))
3641
3881
  StartOnDemandAuditTaskRequest.struct_class = Types::StartOnDemandAuditTaskRequest
3642
3882
 
@@ -3708,9 +3948,13 @@ module Aws::IoT
3708
3948
 
3709
3949
  StreamsSummary.member = Shapes::ShapeRef.new(shape: StreamSummary)
3710
3950
 
3951
+ StringList.member = Shapes::ShapeRef.new(shape: stringValue)
3952
+
3711
3953
  StringMap.key = Shapes::ShapeRef.new(shape: String)
3712
3954
  StringMap.value = Shapes::ShapeRef.new(shape: String)
3713
3955
 
3956
+ SubnetIdList.member = Shapes::ShapeRef.new(shape: SubnetId)
3957
+
3714
3958
  Tag.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, required: true, location_name: "Key"))
3715
3959
  Tag.add_member(:value, Shapes::ShapeRef.new(shape: TagValue, location_name: "Value"))
3716
3960
  Tag.struct_class = Types::Tag
@@ -3727,6 +3971,8 @@ module Aws::IoT
3727
3971
 
3728
3972
  TargetAuditCheckNames.member = Shapes::ShapeRef.new(shape: AuditCheckName)
3729
3973
 
3974
+ TargetViolationIdsForDetectMitigationActions.member = Shapes::ShapeRef.new(shape: ViolationId)
3975
+
3730
3976
  Targets.member = Shapes::ShapeRef.new(shape: Target)
3731
3977
 
3732
3978
  TaskAlreadyExistsException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
@@ -3894,19 +4140,26 @@ module Aws::IoT
3894
4140
 
3895
4141
  TopicRuleDestination.add_member(:arn, Shapes::ShapeRef.new(shape: AwsArn, location_name: "arn"))
3896
4142
  TopicRuleDestination.add_member(:status, Shapes::ShapeRef.new(shape: TopicRuleDestinationStatus, location_name: "status"))
4143
+ TopicRuleDestination.add_member(:created_at, Shapes::ShapeRef.new(shape: CreatedAtDate, location_name: "createdAt"))
4144
+ TopicRuleDestination.add_member(:last_updated_at, Shapes::ShapeRef.new(shape: LastUpdatedAtDate, location_name: "lastUpdatedAt"))
3897
4145
  TopicRuleDestination.add_member(:status_reason, Shapes::ShapeRef.new(shape: String, location_name: "statusReason"))
3898
4146
  TopicRuleDestination.add_member(:http_url_properties, Shapes::ShapeRef.new(shape: HttpUrlDestinationProperties, location_name: "httpUrlProperties"))
4147
+ TopicRuleDestination.add_member(:vpc_properties, Shapes::ShapeRef.new(shape: VpcDestinationProperties, location_name: "vpcProperties"))
3899
4148
  TopicRuleDestination.struct_class = Types::TopicRuleDestination
3900
4149
 
3901
4150
  TopicRuleDestinationConfiguration.add_member(:http_url_configuration, Shapes::ShapeRef.new(shape: HttpUrlDestinationConfiguration, location_name: "httpUrlConfiguration"))
4151
+ TopicRuleDestinationConfiguration.add_member(:vpc_configuration, Shapes::ShapeRef.new(shape: VpcDestinationConfiguration, location_name: "vpcConfiguration"))
3902
4152
  TopicRuleDestinationConfiguration.struct_class = Types::TopicRuleDestinationConfiguration
3903
4153
 
3904
4154
  TopicRuleDestinationSummaries.member = Shapes::ShapeRef.new(shape: TopicRuleDestinationSummary)
3905
4155
 
3906
4156
  TopicRuleDestinationSummary.add_member(:arn, Shapes::ShapeRef.new(shape: AwsArn, location_name: "arn"))
3907
4157
  TopicRuleDestinationSummary.add_member(:status, Shapes::ShapeRef.new(shape: TopicRuleDestinationStatus, location_name: "status"))
4158
+ TopicRuleDestinationSummary.add_member(:created_at, Shapes::ShapeRef.new(shape: CreatedAtDate, location_name: "createdAt"))
4159
+ TopicRuleDestinationSummary.add_member(:last_updated_at, Shapes::ShapeRef.new(shape: LastUpdatedAtDate, location_name: "lastUpdatedAt"))
3908
4160
  TopicRuleDestinationSummary.add_member(:status_reason, Shapes::ShapeRef.new(shape: String, location_name: "statusReason"))
3909
4161
  TopicRuleDestinationSummary.add_member(:http_url_summary, Shapes::ShapeRef.new(shape: HttpUrlDestinationSummary, location_name: "httpUrlSummary"))
4162
+ TopicRuleDestinationSummary.add_member(:vpc_destination_summary, Shapes::ShapeRef.new(shape: VpcDestinationSummary, location_name: "vpcDestinationSummary"))
3910
4163
  TopicRuleDestinationSummary.struct_class = Types::TopicRuleDestinationSummary
3911
4164
 
3912
4165
  TopicRuleList.member = Shapes::ShapeRef.new(shape: TopicRuleListItem)
@@ -4005,6 +4258,18 @@ module Aws::IoT
4005
4258
  UpdateCertificateRequest.add_member(:new_status, Shapes::ShapeRef.new(shape: CertificateStatus, required: true, location: "querystring", location_name: "newStatus"))
4006
4259
  UpdateCertificateRequest.struct_class = Types::UpdateCertificateRequest
4007
4260
 
4261
+ UpdateCustomMetricRequest.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, required: true, location: "uri", location_name: "metricName"))
4262
+ UpdateCustomMetricRequest.add_member(:display_name, Shapes::ShapeRef.new(shape: CustomMetricDisplayName, required: true, location_name: "displayName"))
4263
+ UpdateCustomMetricRequest.struct_class = Types::UpdateCustomMetricRequest
4264
+
4265
+ UpdateCustomMetricResponse.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, location_name: "metricName"))
4266
+ UpdateCustomMetricResponse.add_member(:metric_arn, Shapes::ShapeRef.new(shape: CustomMetricArn, location_name: "metricArn"))
4267
+ UpdateCustomMetricResponse.add_member(:metric_type, Shapes::ShapeRef.new(shape: CustomMetricType, location_name: "metricType"))
4268
+ UpdateCustomMetricResponse.add_member(:display_name, Shapes::ShapeRef.new(shape: CustomMetricDisplayName, location_name: "displayName"))
4269
+ UpdateCustomMetricResponse.add_member(:creation_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "creationDate"))
4270
+ UpdateCustomMetricResponse.add_member(:last_modified_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastModifiedDate"))
4271
+ UpdateCustomMetricResponse.struct_class = Types::UpdateCustomMetricResponse
4272
+
4008
4273
  UpdateDeviceCertificateParams.add_member(:action, Shapes::ShapeRef.new(shape: DeviceCertificateUpdateAction, required: true, location_name: "action"))
4009
4274
  UpdateDeviceCertificateParams.struct_class = Types::UpdateDeviceCertificateParams
4010
4275
 
@@ -4190,12 +4455,38 @@ module Aws::IoT
4190
4455
  ViolationEvent.add_member(:security_profile_name, Shapes::ShapeRef.new(shape: SecurityProfileName, location_name: "securityProfileName"))
4191
4456
  ViolationEvent.add_member(:behavior, Shapes::ShapeRef.new(shape: Behavior, location_name: "behavior"))
4192
4457
  ViolationEvent.add_member(:metric_value, Shapes::ShapeRef.new(shape: MetricValue, location_name: "metricValue"))
4458
+ ViolationEvent.add_member(:violation_event_additional_info, Shapes::ShapeRef.new(shape: ViolationEventAdditionalInfo, location_name: "violationEventAdditionalInfo"))
4193
4459
  ViolationEvent.add_member(:violation_event_type, Shapes::ShapeRef.new(shape: ViolationEventType, location_name: "violationEventType"))
4194
4460
  ViolationEvent.add_member(:violation_event_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "violationEventTime"))
4195
4461
  ViolationEvent.struct_class = Types::ViolationEvent
4196
4462
 
4463
+ ViolationEventAdditionalInfo.add_member(:confidence_level, Shapes::ShapeRef.new(shape: ConfidenceLevel, location_name: "confidenceLevel"))
4464
+ ViolationEventAdditionalInfo.struct_class = Types::ViolationEventAdditionalInfo
4465
+
4466
+ ViolationEventOccurrenceRange.add_member(:start_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "startTime"))
4467
+ ViolationEventOccurrenceRange.add_member(:end_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "endTime"))
4468
+ ViolationEventOccurrenceRange.struct_class = Types::ViolationEventOccurrenceRange
4469
+
4197
4470
  ViolationEvents.member = Shapes::ShapeRef.new(shape: ViolationEvent)
4198
4471
 
4472
+ VpcDestinationConfiguration.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: SubnetIdList, required: true, location_name: "subnetIds"))
4473
+ VpcDestinationConfiguration.add_member(:security_groups, Shapes::ShapeRef.new(shape: SecurityGroupList, location_name: "securityGroups"))
4474
+ VpcDestinationConfiguration.add_member(:vpc_id, Shapes::ShapeRef.new(shape: VpcId, required: true, location_name: "vpcId"))
4475
+ VpcDestinationConfiguration.add_member(:role_arn, Shapes::ShapeRef.new(shape: AwsArn, required: true, location_name: "roleArn"))
4476
+ VpcDestinationConfiguration.struct_class = Types::VpcDestinationConfiguration
4477
+
4478
+ VpcDestinationProperties.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: SubnetIdList, location_name: "subnetIds"))
4479
+ VpcDestinationProperties.add_member(:security_groups, Shapes::ShapeRef.new(shape: SecurityGroupList, location_name: "securityGroups"))
4480
+ VpcDestinationProperties.add_member(:vpc_id, Shapes::ShapeRef.new(shape: VpcId, location_name: "vpcId"))
4481
+ VpcDestinationProperties.add_member(:role_arn, Shapes::ShapeRef.new(shape: AwsArn, location_name: "roleArn"))
4482
+ VpcDestinationProperties.struct_class = Types::VpcDestinationProperties
4483
+
4484
+ VpcDestinationSummary.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: SubnetIdList, location_name: "subnetIds"))
4485
+ VpcDestinationSummary.add_member(:security_groups, Shapes::ShapeRef.new(shape: SecurityGroupList, location_name: "securityGroups"))
4486
+ VpcDestinationSummary.add_member(:vpc_id, Shapes::ShapeRef.new(shape: VpcId, location_name: "vpcId"))
4487
+ VpcDestinationSummary.add_member(:role_arn, Shapes::ShapeRef.new(shape: AwsArn, location_name: "roleArn"))
4488
+ VpcDestinationSummary.struct_class = Types::VpcDestinationSummary
4489
+
4199
4490
 
4200
4491
  # @api private
4201
4492
  API = Seahorse::Model::Api.new.tap do |api|
@@ -4363,6 +4654,18 @@ module Aws::IoT
4363
4654
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
4364
4655
  end)
4365
4656
 
4657
+ api.add_operation(:cancel_detect_mitigation_actions_task, Seahorse::Model::Operation.new.tap do |o|
4658
+ o.name = "CancelDetectMitigationActionsTask"
4659
+ o.http_method = "PUT"
4660
+ o.http_request_uri = "/detect/mitigationactions/tasks/{taskId}/cancel"
4661
+ o.input = Shapes::ShapeRef.new(shape: CancelDetectMitigationActionsTaskRequest)
4662
+ o.output = Shapes::ShapeRef.new(shape: CancelDetectMitigationActionsTaskResponse)
4663
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
4664
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
4665
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
4666
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
4667
+ end)
4668
+
4366
4669
  api.add_operation(:cancel_job, Seahorse::Model::Operation.new.tap do |o|
4367
4670
  o.name = "CancelJob"
4368
4671
  o.http_method = "PUT"
@@ -4469,6 +4772,19 @@ module Aws::IoT
4469
4772
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
4470
4773
  end)
4471
4774
 
4775
+ api.add_operation(:create_custom_metric, Seahorse::Model::Operation.new.tap do |o|
4776
+ o.name = "CreateCustomMetric"
4777
+ o.http_method = "POST"
4778
+ o.http_request_uri = "/custom-metric/{metricName}"
4779
+ o.input = Shapes::ShapeRef.new(shape: CreateCustomMetricRequest)
4780
+ o.output = Shapes::ShapeRef.new(shape: CreateCustomMetricResponse)
4781
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
4782
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
4783
+ o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
4784
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
4785
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
4786
+ end)
4787
+
4472
4788
  api.add_operation(:create_dimension, Seahorse::Model::Operation.new.tap do |o|
4473
4789
  o.name = "CreateDimension"
4474
4790
  o.http_method = "POST"
@@ -4848,6 +5164,17 @@ module Aws::IoT
4848
5164
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
4849
5165
  end)
4850
5166
 
5167
+ api.add_operation(:delete_custom_metric, Seahorse::Model::Operation.new.tap do |o|
5168
+ o.name = "DeleteCustomMetric"
5169
+ o.http_method = "DELETE"
5170
+ o.http_request_uri = "/custom-metric/{metricName}"
5171
+ o.input = Shapes::ShapeRef.new(shape: DeleteCustomMetricRequest)
5172
+ o.output = Shapes::ShapeRef.new(shape: DeleteCustomMetricResponse)
5173
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
5174
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
5175
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
5176
+ end)
5177
+
4851
5178
  api.add_operation(:delete_dimension, Seahorse::Model::Operation.new.tap do |o|
4852
5179
  o.name = "DeleteDimension"
4853
5180
  o.http_method = "DELETE"
@@ -5269,6 +5596,18 @@ module Aws::IoT
5269
5596
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
5270
5597
  end)
5271
5598
 
5599
+ api.add_operation(:describe_custom_metric, Seahorse::Model::Operation.new.tap do |o|
5600
+ o.name = "DescribeCustomMetric"
5601
+ o.http_method = "GET"
5602
+ o.http_request_uri = "/custom-metric/{metricName}"
5603
+ o.input = Shapes::ShapeRef.new(shape: DescribeCustomMetricRequest)
5604
+ o.output = Shapes::ShapeRef.new(shape: DescribeCustomMetricResponse)
5605
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
5606
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
5607
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
5608
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
5609
+ end)
5610
+
5272
5611
  api.add_operation(:describe_default_authorizer, Seahorse::Model::Operation.new.tap do |o|
5273
5612
  o.name = "DescribeDefaultAuthorizer"
5274
5613
  o.http_method = "GET"
@@ -5283,6 +5622,18 @@ module Aws::IoT
5283
5622
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
5284
5623
  end)
5285
5624
 
5625
+ api.add_operation(:describe_detect_mitigation_actions_task, Seahorse::Model::Operation.new.tap do |o|
5626
+ o.name = "DescribeDetectMitigationActionsTask"
5627
+ o.http_method = "GET"
5628
+ o.http_request_uri = "/detect/mitigationactions/tasks/{taskId}"
5629
+ o.input = Shapes::ShapeRef.new(shape: DescribeDetectMitigationActionsTaskRequest)
5630
+ o.output = Shapes::ShapeRef.new(shape: DescribeDetectMitigationActionsTaskResponse)
5631
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
5632
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
5633
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
5634
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
5635
+ end)
5636
+
5286
5637
  api.add_operation(:describe_dimension, Seahorse::Model::Operation.new.tap do |o|
5287
5638
  o.name = "DescribeDimension"
5288
5639
  o.http_method = "GET"
@@ -5593,6 +5944,24 @@ module Aws::IoT
5593
5944
  o.errors << Shapes::ShapeRef.new(shape: ConflictingResourceUpdateException)
5594
5945
  end)
5595
5946
 
5947
+ api.add_operation(:get_behavior_model_training_summaries, Seahorse::Model::Operation.new.tap do |o|
5948
+ o.name = "GetBehaviorModelTrainingSummaries"
5949
+ o.http_method = "GET"
5950
+ o.http_request_uri = "/behavior-model-training/summaries"
5951
+ o.input = Shapes::ShapeRef.new(shape: GetBehaviorModelTrainingSummariesRequest)
5952
+ o.output = Shapes::ShapeRef.new(shape: GetBehaviorModelTrainingSummariesResponse)
5953
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
5954
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
5955
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
5956
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
5957
+ o[:pager] = Aws::Pager.new(
5958
+ limit_key: "max_results",
5959
+ tokens: {
5960
+ "next_token" => "next_token"
5961
+ }
5962
+ )
5963
+ end)
5964
+
5596
5965
  api.add_operation(:get_cardinality, Seahorse::Model::Operation.new.tap do |o|
5597
5966
  o.name = "GetCardinality"
5598
5967
  o.http_method = "POST"
@@ -6003,6 +6372,57 @@ module Aws::IoT
6003
6372
  )
6004
6373
  end)
6005
6374
 
6375
+ api.add_operation(:list_custom_metrics, Seahorse::Model::Operation.new.tap do |o|
6376
+ o.name = "ListCustomMetrics"
6377
+ o.http_method = "GET"
6378
+ o.http_request_uri = "/custom-metrics"
6379
+ o.input = Shapes::ShapeRef.new(shape: ListCustomMetricsRequest)
6380
+ o.output = Shapes::ShapeRef.new(shape: ListCustomMetricsResponse)
6381
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
6382
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
6383
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
6384
+ o[:pager] = Aws::Pager.new(
6385
+ limit_key: "max_results",
6386
+ tokens: {
6387
+ "next_token" => "next_token"
6388
+ }
6389
+ )
6390
+ end)
6391
+
6392
+ api.add_operation(:list_detect_mitigation_actions_executions, Seahorse::Model::Operation.new.tap do |o|
6393
+ o.name = "ListDetectMitigationActionsExecutions"
6394
+ o.http_method = "GET"
6395
+ o.http_request_uri = "/detect/mitigationactions/executions"
6396
+ o.input = Shapes::ShapeRef.new(shape: ListDetectMitigationActionsExecutionsRequest)
6397
+ o.output = Shapes::ShapeRef.new(shape: ListDetectMitigationActionsExecutionsResponse)
6398
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
6399
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
6400
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
6401
+ o[:pager] = Aws::Pager.new(
6402
+ limit_key: "max_results",
6403
+ tokens: {
6404
+ "next_token" => "next_token"
6405
+ }
6406
+ )
6407
+ end)
6408
+
6409
+ api.add_operation(:list_detect_mitigation_actions_tasks, Seahorse::Model::Operation.new.tap do |o|
6410
+ o.name = "ListDetectMitigationActionsTasks"
6411
+ o.http_method = "GET"
6412
+ o.http_request_uri = "/detect/mitigationactions/tasks"
6413
+ o.input = Shapes::ShapeRef.new(shape: ListDetectMitigationActionsTasksRequest)
6414
+ o.output = Shapes::ShapeRef.new(shape: ListDetectMitigationActionsTasksResponse)
6415
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
6416
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
6417
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
6418
+ o[:pager] = Aws::Pager.new(
6419
+ limit_key: "max_results",
6420
+ tokens: {
6421
+ "next_token" => "next_token"
6422
+ }
6423
+ )
6424
+ end)
6425
+
6006
6426
  api.add_operation(:list_dimensions, Seahorse::Model::Operation.new.tap do |o|
6007
6427
  o.name = "ListDimensions"
6008
6428
  o.http_method = "GET"
@@ -6893,6 +7313,19 @@ module Aws::IoT
6893
7313
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
6894
7314
  end)
6895
7315
 
7316
+ api.add_operation(:start_detect_mitigation_actions_task, Seahorse::Model::Operation.new.tap do |o|
7317
+ o.name = "StartDetectMitigationActionsTask"
7318
+ o.http_method = "PUT"
7319
+ o.http_request_uri = "/detect/mitigationactions/tasks/{taskId}"
7320
+ o.input = Shapes::ShapeRef.new(shape: StartDetectMitigationActionsTaskRequest)
7321
+ o.output = Shapes::ShapeRef.new(shape: StartDetectMitigationActionsTaskResponse)
7322
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
7323
+ o.errors << Shapes::ShapeRef.new(shape: TaskAlreadyExistsException)
7324
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
7325
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
7326
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
7327
+ end)
7328
+
6896
7329
  api.add_operation(:start_on_demand_audit_task, Seahorse::Model::Operation.new.tap do |o|
6897
7330
  o.name = "StartOnDemandAuditTask"
6898
7331
  o.http_method = "POST"
@@ -7081,6 +7514,18 @@ module Aws::IoT
7081
7514
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
7082
7515
  end)
7083
7516
 
7517
+ api.add_operation(:update_custom_metric, Seahorse::Model::Operation.new.tap do |o|
7518
+ o.name = "UpdateCustomMetric"
7519
+ o.http_method = "PATCH"
7520
+ o.http_request_uri = "/custom-metric/{metricName}"
7521
+ o.input = Shapes::ShapeRef.new(shape: UpdateCustomMetricRequest)
7522
+ o.output = Shapes::ShapeRef.new(shape: UpdateCustomMetricResponse)
7523
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
7524
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
7525
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
7526
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
7527
+ end)
7528
+
7084
7529
  api.add_operation(:update_dimension, Seahorse::Model::Operation.new.tap do |o|
7085
7530
  o.name = "UpdateDimension"
7086
7531
  o.http_method = "PATCH"