aws-sdk-iot 1.62.0 → 1.67.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -89,7 +89,6 @@ module Aws::IoT
89
89
  AuditMitigationActionExecutionMetadata = Shapes::StructureShape.new(name: 'AuditMitigationActionExecutionMetadata')
90
90
  AuditMitigationActionExecutionMetadataList = Shapes::ListShape.new(name: 'AuditMitigationActionExecutionMetadataList')
91
91
  AuditMitigationActionsExecutionStatus = Shapes::StringShape.new(name: 'AuditMitigationActionsExecutionStatus')
92
- AuditMitigationActionsTaskId = Shapes::StringShape.new(name: 'AuditMitigationActionsTaskId')
93
92
  AuditMitigationActionsTaskMetadata = Shapes::StructureShape.new(name: 'AuditMitigationActionsTaskMetadata')
94
93
  AuditMitigationActionsTaskMetadataList = Shapes::ListShape.new(name: 'AuditMitigationActionsTaskMetadataList')
95
94
  AuditMitigationActionsTaskStatistics = Shapes::MapShape.new(name: 'AuditMitigationActionsTaskStatistics')
@@ -144,7 +143,10 @@ module Aws::IoT
144
143
  BatchMode = Shapes::BooleanShape.new(name: 'BatchMode')
145
144
  Behavior = Shapes::StructureShape.new(name: 'Behavior')
146
145
  BehaviorCriteria = Shapes::StructureShape.new(name: 'BehaviorCriteria')
146
+ BehaviorCriteriaType = Shapes::StringShape.new(name: 'BehaviorCriteriaType')
147
147
  BehaviorMetric = Shapes::StringShape.new(name: 'BehaviorMetric')
148
+ BehaviorModelTrainingSummaries = Shapes::ListShape.new(name: 'BehaviorModelTrainingSummaries')
149
+ BehaviorModelTrainingSummary = Shapes::StructureShape.new(name: 'BehaviorModelTrainingSummary')
148
150
  BehaviorName = Shapes::StringShape.new(name: 'BehaviorName')
149
151
  Behaviors = Shapes::ListShape.new(name: 'Behaviors')
150
152
  BillingGroupArn = Shapes::StringShape.new(name: 'BillingGroupArn')
@@ -167,6 +169,8 @@ module Aws::IoT
167
169
  CancelAuditTaskRequest = Shapes::StructureShape.new(name: 'CancelAuditTaskRequest')
168
170
  CancelAuditTaskResponse = Shapes::StructureShape.new(name: 'CancelAuditTaskResponse')
169
171
  CancelCertificateTransferRequest = Shapes::StructureShape.new(name: 'CancelCertificateTransferRequest')
172
+ CancelDetectMitigationActionsTaskRequest = Shapes::StructureShape.new(name: 'CancelDetectMitigationActionsTaskRequest')
173
+ CancelDetectMitigationActionsTaskResponse = Shapes::StructureShape.new(name: 'CancelDetectMitigationActionsTaskResponse')
170
174
  CancelJobExecutionRequest = Shapes::StructureShape.new(name: 'CancelJobExecutionRequest')
171
175
  CancelJobRequest = Shapes::StructureShape.new(name: 'CancelJobRequest')
172
176
  CancelJobResponse = Shapes::StructureShape.new(name: 'CancelJobResponse')
@@ -196,6 +200,7 @@ module Aws::IoT
196
200
  ClearDefaultAuthorizerRequest = Shapes::StructureShape.new(name: 'ClearDefaultAuthorizerRequest')
197
201
  ClearDefaultAuthorizerResponse = Shapes::StructureShape.new(name: 'ClearDefaultAuthorizerResponse')
198
202
  ClientId = Shapes::StringShape.new(name: 'ClientId')
203
+ ClientProperties = Shapes::MapShape.new(name: 'ClientProperties')
199
204
  ClientRequestToken = Shapes::StringShape.new(name: 'ClientRequestToken')
200
205
  CloudwatchAlarmAction = Shapes::StructureShape.new(name: 'CloudwatchAlarmAction')
201
206
  CloudwatchLogsAction = Shapes::StructureShape.new(name: 'CloudwatchLogsAction')
@@ -208,6 +213,7 @@ module Aws::IoT
208
213
  Comment = Shapes::StringShape.new(name: 'Comment')
209
214
  ComparisonOperator = Shapes::StringShape.new(name: 'ComparisonOperator')
210
215
  CompliantChecksCount = Shapes::IntegerShape.new(name: 'CompliantChecksCount')
216
+ ConfidenceLevel = Shapes::StringShape.new(name: 'ConfidenceLevel')
211
217
  Configuration = Shapes::StructureShape.new(name: 'Configuration')
212
218
  ConfirmTopicRuleDestinationRequest = Shapes::StructureShape.new(name: 'ConfirmTopicRuleDestinationRequest')
213
219
  ConfirmTopicRuleDestinationResponse = Shapes::StructureShape.new(name: 'ConfirmTopicRuleDestinationResponse')
@@ -225,6 +231,8 @@ module Aws::IoT
225
231
  CreateBillingGroupResponse = Shapes::StructureShape.new(name: 'CreateBillingGroupResponse')
226
232
  CreateCertificateFromCsrRequest = Shapes::StructureShape.new(name: 'CreateCertificateFromCsrRequest')
227
233
  CreateCertificateFromCsrResponse = Shapes::StructureShape.new(name: 'CreateCertificateFromCsrResponse')
234
+ CreateCustomMetricRequest = Shapes::StructureShape.new(name: 'CreateCustomMetricRequest')
235
+ CreateCustomMetricResponse = Shapes::StructureShape.new(name: 'CreateCustomMetricResponse')
228
236
  CreateDimensionRequest = Shapes::StructureShape.new(name: 'CreateDimensionRequest')
229
237
  CreateDimensionResponse = Shapes::StructureShape.new(name: 'CreateDimensionResponse')
230
238
  CreateDomainConfigurationRequest = Shapes::StructureShape.new(name: 'CreateDomainConfigurationRequest')
@@ -270,7 +278,11 @@ module Aws::IoT
270
278
  CreationDate = Shapes::TimestampShape.new(name: 'CreationDate')
271
279
  CredentialDurationSeconds = Shapes::IntegerShape.new(name: 'CredentialDurationSeconds')
272
280
  CustomCodeSigning = Shapes::StructureShape.new(name: 'CustomCodeSigning')
281
+ CustomMetricArn = Shapes::StringShape.new(name: 'CustomMetricArn')
282
+ CustomMetricDisplayName = Shapes::StringShape.new(name: 'CustomMetricDisplayName')
283
+ CustomMetricType = Shapes::StringShape.new(name: 'CustomMetricType')
273
284
  CustomerVersion = Shapes::IntegerShape.new(name: 'CustomerVersion')
285
+ DataCollectionPercentage = Shapes::FloatShape.new(name: 'DataCollectionPercentage')
274
286
  DateType = Shapes::TimestampShape.new(name: 'DateType')
275
287
  DayOfMonth = Shapes::StringShape.new(name: 'DayOfMonth')
276
288
  DayOfWeek = Shapes::StringShape.new(name: 'DayOfWeek')
@@ -289,6 +301,8 @@ module Aws::IoT
289
301
  DeleteCACertificateResponse = Shapes::StructureShape.new(name: 'DeleteCACertificateResponse')
290
302
  DeleteCertificateRequest = Shapes::StructureShape.new(name: 'DeleteCertificateRequest')
291
303
  DeleteConflictException = Shapes::StructureShape.new(name: 'DeleteConflictException')
304
+ DeleteCustomMetricRequest = Shapes::StructureShape.new(name: 'DeleteCustomMetricRequest')
305
+ DeleteCustomMetricResponse = Shapes::StructureShape.new(name: 'DeleteCustomMetricResponse')
292
306
  DeleteDimensionRequest = Shapes::StructureShape.new(name: 'DeleteDimensionRequest')
293
307
  DeleteDimensionResponse = Shapes::StructureShape.new(name: 'DeleteDimensionResponse')
294
308
  DeleteDomainConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteDomainConfigurationRequest')
@@ -352,8 +366,12 @@ module Aws::IoT
352
366
  DescribeCACertificateResponse = Shapes::StructureShape.new(name: 'DescribeCACertificateResponse')
353
367
  DescribeCertificateRequest = Shapes::StructureShape.new(name: 'DescribeCertificateRequest')
354
368
  DescribeCertificateResponse = Shapes::StructureShape.new(name: 'DescribeCertificateResponse')
369
+ DescribeCustomMetricRequest = Shapes::StructureShape.new(name: 'DescribeCustomMetricRequest')
370
+ DescribeCustomMetricResponse = Shapes::StructureShape.new(name: 'DescribeCustomMetricResponse')
355
371
  DescribeDefaultAuthorizerRequest = Shapes::StructureShape.new(name: 'DescribeDefaultAuthorizerRequest')
356
372
  DescribeDefaultAuthorizerResponse = Shapes::StructureShape.new(name: 'DescribeDefaultAuthorizerResponse')
373
+ DescribeDetectMitigationActionsTaskRequest = Shapes::StructureShape.new(name: 'DescribeDetectMitigationActionsTaskRequest')
374
+ DescribeDetectMitigationActionsTaskResponse = Shapes::StructureShape.new(name: 'DescribeDetectMitigationActionsTaskResponse')
357
375
  DescribeDimensionRequest = Shapes::StructureShape.new(name: 'DescribeDimensionRequest')
358
376
  DescribeDimensionResponse = Shapes::StructureShape.new(name: 'DescribeDimensionResponse')
359
377
  DescribeDomainConfigurationRequest = Shapes::StructureShape.new(name: 'DescribeDomainConfigurationRequest')
@@ -401,6 +419,16 @@ module Aws::IoT
401
419
  DetailsKey = Shapes::StringShape.new(name: 'DetailsKey')
402
420
  DetailsMap = Shapes::MapShape.new(name: 'DetailsMap')
403
421
  DetailsValue = Shapes::StringShape.new(name: 'DetailsValue')
422
+ DetectMitigationActionExecution = Shapes::StructureShape.new(name: 'DetectMitigationActionExecution')
423
+ DetectMitigationActionExecutionErrorCode = Shapes::StringShape.new(name: 'DetectMitigationActionExecutionErrorCode')
424
+ DetectMitigationActionExecutionList = Shapes::ListShape.new(name: 'DetectMitigationActionExecutionList')
425
+ DetectMitigationActionExecutionStatus = Shapes::StringShape.new(name: 'DetectMitigationActionExecutionStatus')
426
+ DetectMitigationActionsTaskStatistics = Shapes::StructureShape.new(name: 'DetectMitigationActionsTaskStatistics')
427
+ DetectMitigationActionsTaskStatus = Shapes::StringShape.new(name: 'DetectMitigationActionsTaskStatus')
428
+ DetectMitigationActionsTaskSummary = Shapes::StructureShape.new(name: 'DetectMitigationActionsTaskSummary')
429
+ DetectMitigationActionsTaskSummaryList = Shapes::ListShape.new(name: 'DetectMitigationActionsTaskSummaryList')
430
+ DetectMitigationActionsTaskTarget = Shapes::StructureShape.new(name: 'DetectMitigationActionsTaskTarget')
431
+ DetectMitigationActionsToExecuteList = Shapes::ListShape.new(name: 'DetectMitigationActionsToExecuteList')
404
432
  DeviceCertificateUpdateAction = Shapes::StringShape.new(name: 'DeviceCertificateUpdateAction')
405
433
  DeviceDefenderThingName = Shapes::StringShape.new(name: 'DeviceDefenderThingName')
406
434
  DimensionArn = Shapes::StringShape.new(name: 'DimensionArn')
@@ -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"