aws-sdk-iot 1.63.0 → 1.64.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -89,7 +89,6 @@ module Aws::IoT
89
89
  AuditMitigationActionExecutionMetadata = Shapes::StructureShape.new(name: 'AuditMitigationActionExecutionMetadata')
90
90
  AuditMitigationActionExecutionMetadataList = Shapes::ListShape.new(name: 'AuditMitigationActionExecutionMetadataList')
91
91
  AuditMitigationActionsExecutionStatus = Shapes::StringShape.new(name: 'AuditMitigationActionsExecutionStatus')
92
- AuditMitigationActionsTaskId = Shapes::StringShape.new(name: 'AuditMitigationActionsTaskId')
93
92
  AuditMitigationActionsTaskMetadata = Shapes::StructureShape.new(name: 'AuditMitigationActionsTaskMetadata')
94
93
  AuditMitigationActionsTaskMetadataList = Shapes::ListShape.new(name: 'AuditMitigationActionsTaskMetadataList')
95
94
  AuditMitigationActionsTaskStatistics = Shapes::MapShape.new(name: 'AuditMitigationActionsTaskStatistics')
@@ -144,7 +143,10 @@ module Aws::IoT
144
143
  BatchMode = Shapes::BooleanShape.new(name: 'BatchMode')
145
144
  Behavior = Shapes::StructureShape.new(name: 'Behavior')
146
145
  BehaviorCriteria = Shapes::StructureShape.new(name: 'BehaviorCriteria')
146
+ BehaviorCriteriaType = Shapes::StringShape.new(name: 'BehaviorCriteriaType')
147
147
  BehaviorMetric = Shapes::StringShape.new(name: 'BehaviorMetric')
148
+ BehaviorModelTrainingSummaries = Shapes::ListShape.new(name: 'BehaviorModelTrainingSummaries')
149
+ BehaviorModelTrainingSummary = Shapes::StructureShape.new(name: 'BehaviorModelTrainingSummary')
148
150
  BehaviorName = Shapes::StringShape.new(name: 'BehaviorName')
149
151
  Behaviors = Shapes::ListShape.new(name: 'Behaviors')
150
152
  BillingGroupArn = Shapes::StringShape.new(name: 'BillingGroupArn')
@@ -167,6 +169,8 @@ module Aws::IoT
167
169
  CancelAuditTaskRequest = Shapes::StructureShape.new(name: 'CancelAuditTaskRequest')
168
170
  CancelAuditTaskResponse = Shapes::StructureShape.new(name: 'CancelAuditTaskResponse')
169
171
  CancelCertificateTransferRequest = Shapes::StructureShape.new(name: 'CancelCertificateTransferRequest')
172
+ CancelDetectMitigationActionsTaskRequest = Shapes::StructureShape.new(name: 'CancelDetectMitigationActionsTaskRequest')
173
+ CancelDetectMitigationActionsTaskResponse = Shapes::StructureShape.new(name: 'CancelDetectMitigationActionsTaskResponse')
170
174
  CancelJobExecutionRequest = Shapes::StructureShape.new(name: 'CancelJobExecutionRequest')
171
175
  CancelJobRequest = Shapes::StructureShape.new(name: 'CancelJobRequest')
172
176
  CancelJobResponse = Shapes::StructureShape.new(name: 'CancelJobResponse')
@@ -196,6 +200,7 @@ module Aws::IoT
196
200
  ClearDefaultAuthorizerRequest = Shapes::StructureShape.new(name: 'ClearDefaultAuthorizerRequest')
197
201
  ClearDefaultAuthorizerResponse = Shapes::StructureShape.new(name: 'ClearDefaultAuthorizerResponse')
198
202
  ClientId = Shapes::StringShape.new(name: 'ClientId')
203
+ ClientProperties = Shapes::MapShape.new(name: 'ClientProperties')
199
204
  ClientRequestToken = Shapes::StringShape.new(name: 'ClientRequestToken')
200
205
  CloudwatchAlarmAction = Shapes::StructureShape.new(name: 'CloudwatchAlarmAction')
201
206
  CloudwatchLogsAction = Shapes::StructureShape.new(name: 'CloudwatchLogsAction')
@@ -208,6 +213,7 @@ module Aws::IoT
208
213
  Comment = Shapes::StringShape.new(name: 'Comment')
209
214
  ComparisonOperator = Shapes::StringShape.new(name: 'ComparisonOperator')
210
215
  CompliantChecksCount = Shapes::IntegerShape.new(name: 'CompliantChecksCount')
216
+ ConfidenceLevel = Shapes::StringShape.new(name: 'ConfidenceLevel')
211
217
  Configuration = Shapes::StructureShape.new(name: 'Configuration')
212
218
  ConfirmTopicRuleDestinationRequest = Shapes::StructureShape.new(name: 'ConfirmTopicRuleDestinationRequest')
213
219
  ConfirmTopicRuleDestinationResponse = Shapes::StructureShape.new(name: 'ConfirmTopicRuleDestinationResponse')
@@ -225,6 +231,8 @@ module Aws::IoT
225
231
  CreateBillingGroupResponse = Shapes::StructureShape.new(name: 'CreateBillingGroupResponse')
226
232
  CreateCertificateFromCsrRequest = Shapes::StructureShape.new(name: 'CreateCertificateFromCsrRequest')
227
233
  CreateCertificateFromCsrResponse = Shapes::StructureShape.new(name: 'CreateCertificateFromCsrResponse')
234
+ CreateCustomMetricRequest = Shapes::StructureShape.new(name: 'CreateCustomMetricRequest')
235
+ CreateCustomMetricResponse = Shapes::StructureShape.new(name: 'CreateCustomMetricResponse')
228
236
  CreateDimensionRequest = Shapes::StructureShape.new(name: 'CreateDimensionRequest')
229
237
  CreateDimensionResponse = Shapes::StructureShape.new(name: 'CreateDimensionResponse')
230
238
  CreateDomainConfigurationRequest = Shapes::StructureShape.new(name: 'CreateDomainConfigurationRequest')
@@ -270,7 +278,11 @@ module Aws::IoT
270
278
  CreationDate = Shapes::TimestampShape.new(name: 'CreationDate')
271
279
  CredentialDurationSeconds = Shapes::IntegerShape.new(name: 'CredentialDurationSeconds')
272
280
  CustomCodeSigning = Shapes::StructureShape.new(name: 'CustomCodeSigning')
281
+ CustomMetricArn = Shapes::StringShape.new(name: 'CustomMetricArn')
282
+ CustomMetricDisplayName = Shapes::StringShape.new(name: 'CustomMetricDisplayName')
283
+ CustomMetricType = Shapes::StringShape.new(name: 'CustomMetricType')
273
284
  CustomerVersion = Shapes::IntegerShape.new(name: 'CustomerVersion')
285
+ DataCollectionPercentage = Shapes::FloatShape.new(name: 'DataCollectionPercentage')
274
286
  DateType = Shapes::TimestampShape.new(name: 'DateType')
275
287
  DayOfMonth = Shapes::StringShape.new(name: 'DayOfMonth')
276
288
  DayOfWeek = Shapes::StringShape.new(name: 'DayOfWeek')
@@ -289,6 +301,8 @@ module Aws::IoT
289
301
  DeleteCACertificateResponse = Shapes::StructureShape.new(name: 'DeleteCACertificateResponse')
290
302
  DeleteCertificateRequest = Shapes::StructureShape.new(name: 'DeleteCertificateRequest')
291
303
  DeleteConflictException = Shapes::StructureShape.new(name: 'DeleteConflictException')
304
+ DeleteCustomMetricRequest = Shapes::StructureShape.new(name: 'DeleteCustomMetricRequest')
305
+ DeleteCustomMetricResponse = Shapes::StructureShape.new(name: 'DeleteCustomMetricResponse')
292
306
  DeleteDimensionRequest = Shapes::StructureShape.new(name: 'DeleteDimensionRequest')
293
307
  DeleteDimensionResponse = Shapes::StructureShape.new(name: 'DeleteDimensionResponse')
294
308
  DeleteDomainConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteDomainConfigurationRequest')
@@ -352,8 +366,12 @@ module Aws::IoT
352
366
  DescribeCACertificateResponse = Shapes::StructureShape.new(name: 'DescribeCACertificateResponse')
353
367
  DescribeCertificateRequest = Shapes::StructureShape.new(name: 'DescribeCertificateRequest')
354
368
  DescribeCertificateResponse = Shapes::StructureShape.new(name: 'DescribeCertificateResponse')
369
+ DescribeCustomMetricRequest = Shapes::StructureShape.new(name: 'DescribeCustomMetricRequest')
370
+ DescribeCustomMetricResponse = Shapes::StructureShape.new(name: 'DescribeCustomMetricResponse')
355
371
  DescribeDefaultAuthorizerRequest = Shapes::StructureShape.new(name: 'DescribeDefaultAuthorizerRequest')
356
372
  DescribeDefaultAuthorizerResponse = Shapes::StructureShape.new(name: 'DescribeDefaultAuthorizerResponse')
373
+ DescribeDetectMitigationActionsTaskRequest = Shapes::StructureShape.new(name: 'DescribeDetectMitigationActionsTaskRequest')
374
+ DescribeDetectMitigationActionsTaskResponse = Shapes::StructureShape.new(name: 'DescribeDetectMitigationActionsTaskResponse')
357
375
  DescribeDimensionRequest = Shapes::StructureShape.new(name: 'DescribeDimensionRequest')
358
376
  DescribeDimensionResponse = Shapes::StructureShape.new(name: 'DescribeDimensionResponse')
359
377
  DescribeDomainConfigurationRequest = Shapes::StructureShape.new(name: 'DescribeDomainConfigurationRequest')
@@ -401,6 +419,16 @@ module Aws::IoT
401
419
  DetailsKey = Shapes::StringShape.new(name: 'DetailsKey')
402
420
  DetailsMap = Shapes::MapShape.new(name: 'DetailsMap')
403
421
  DetailsValue = Shapes::StringShape.new(name: 'DetailsValue')
422
+ DetectMitigationActionExecution = Shapes::StructureShape.new(name: 'DetectMitigationActionExecution')
423
+ DetectMitigationActionExecutionErrorCode = Shapes::StringShape.new(name: 'DetectMitigationActionExecutionErrorCode')
424
+ DetectMitigationActionExecutionList = Shapes::ListShape.new(name: 'DetectMitigationActionExecutionList')
425
+ DetectMitigationActionExecutionStatus = Shapes::StringShape.new(name: 'DetectMitigationActionExecutionStatus')
426
+ DetectMitigationActionsTaskStatistics = Shapes::StructureShape.new(name: 'DetectMitigationActionsTaskStatistics')
427
+ DetectMitigationActionsTaskStatus = Shapes::StringShape.new(name: 'DetectMitigationActionsTaskStatus')
428
+ DetectMitigationActionsTaskSummary = Shapes::StructureShape.new(name: 'DetectMitigationActionsTaskSummary')
429
+ DetectMitigationActionsTaskSummaryList = Shapes::ListShape.new(name: 'DetectMitigationActionsTaskSummaryList')
430
+ DetectMitigationActionsTaskTarget = Shapes::StructureShape.new(name: 'DetectMitigationActionsTaskTarget')
431
+ DetectMitigationActionsToExecuteList = Shapes::ListShape.new(name: 'DetectMitigationActionsToExecuteList')
404
432
  DeviceCertificateUpdateAction = Shapes::StringShape.new(name: 'DeviceCertificateUpdateAction')
405
433
  DeviceDefenderThingName = Shapes::StringShape.new(name: 'DeviceDefenderThingName')
406
434
  DimensionArn = Shapes::StringShape.new(name: 'DimensionArn')
@@ -472,6 +500,9 @@ module Aws::IoT
472
500
  Forced = Shapes::BooleanShape.new(name: 'Forced')
473
501
  FunctionArn = Shapes::StringShape.new(name: 'FunctionArn')
474
502
  GenerationId = Shapes::StringShape.new(name: 'GenerationId')
503
+ GenericLongValue = Shapes::IntegerShape.new(name: 'GenericLongValue')
504
+ GetBehaviorModelTrainingSummariesRequest = Shapes::StructureShape.new(name: 'GetBehaviorModelTrainingSummariesRequest')
505
+ GetBehaviorModelTrainingSummariesResponse = Shapes::StructureShape.new(name: 'GetBehaviorModelTrainingSummariesResponse')
475
506
  GetCardinalityRequest = Shapes::StructureShape.new(name: 'GetCardinalityRequest')
476
507
  GetCardinalityResponse = Shapes::StructureShape.new(name: 'GetCardinalityResponse')
477
508
  GetEffectivePoliciesRequest = Shapes::StructureShape.new(name: 'GetEffectivePoliciesRequest')
@@ -566,6 +597,7 @@ module Aws::IoT
566
597
  JobSummaryList = Shapes::ListShape.new(name: 'JobSummaryList')
567
598
  JobTargets = Shapes::ListShape.new(name: 'JobTargets')
568
599
  JsonDocument = Shapes::StringShape.new(name: 'JsonDocument')
600
+ KafkaAction = Shapes::StructureShape.new(name: 'KafkaAction')
569
601
  Key = Shapes::StringShape.new(name: 'Key')
570
602
  KeyName = Shapes::StringShape.new(name: 'KeyName')
571
603
  KeyPair = Shapes::StructureShape.new(name: 'KeyPair')
@@ -574,6 +606,7 @@ module Aws::IoT
574
606
  LambdaAction = Shapes::StructureShape.new(name: 'LambdaAction')
575
607
  LaserMaxResults = Shapes::IntegerShape.new(name: 'LaserMaxResults')
576
608
  LastModifiedDate = Shapes::TimestampShape.new(name: 'LastModifiedDate')
609
+ LastUpdatedAtDate = Shapes::TimestampShape.new(name: 'LastUpdatedAtDate')
577
610
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
578
611
  ListActiveViolationsRequest = Shapes::StructureShape.new(name: 'ListActiveViolationsRequest')
579
612
  ListActiveViolationsResponse = Shapes::StructureShape.new(name: 'ListActiveViolationsResponse')
@@ -599,6 +632,12 @@ module Aws::IoT
599
632
  ListCertificatesByCAResponse = Shapes::StructureShape.new(name: 'ListCertificatesByCAResponse')
600
633
  ListCertificatesRequest = Shapes::StructureShape.new(name: 'ListCertificatesRequest')
601
634
  ListCertificatesResponse = Shapes::StructureShape.new(name: 'ListCertificatesResponse')
635
+ ListCustomMetricsRequest = Shapes::StructureShape.new(name: 'ListCustomMetricsRequest')
636
+ ListCustomMetricsResponse = Shapes::StructureShape.new(name: 'ListCustomMetricsResponse')
637
+ ListDetectMitigationActionsExecutionsRequest = Shapes::StructureShape.new(name: 'ListDetectMitigationActionsExecutionsRequest')
638
+ ListDetectMitigationActionsExecutionsResponse = Shapes::StructureShape.new(name: 'ListDetectMitigationActionsExecutionsResponse')
639
+ ListDetectMitigationActionsTasksRequest = Shapes::StructureShape.new(name: 'ListDetectMitigationActionsTasksRequest')
640
+ ListDetectMitigationActionsTasksResponse = Shapes::StructureShape.new(name: 'ListDetectMitigationActionsTasksResponse')
602
641
  ListDimensionsRequest = Shapes::StructureShape.new(name: 'ListDimensionsRequest')
603
642
  ListDimensionsResponse = Shapes::StructureShape.new(name: 'ListDimensionsResponse')
604
643
  ListDomainConfigurationsRequest = Shapes::StructureShape.new(name: 'ListDomainConfigurationsRequest')
@@ -641,6 +680,7 @@ module Aws::IoT
641
680
  ListSecurityProfilesResponse = Shapes::StructureShape.new(name: 'ListSecurityProfilesResponse')
642
681
  ListStreamsRequest = Shapes::StructureShape.new(name: 'ListStreamsRequest')
643
682
  ListStreamsResponse = Shapes::StructureShape.new(name: 'ListStreamsResponse')
683
+ ListSuppressedAlerts = Shapes::BooleanShape.new(name: 'ListSuppressedAlerts')
644
684
  ListSuppressedFindings = Shapes::BooleanShape.new(name: 'ListSuppressedFindings')
645
685
  ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
646
686
  ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
@@ -682,6 +722,7 @@ module Aws::IoT
682
722
  LogTargetName = Shapes::StringShape.new(name: 'LogTargetName')
683
723
  LogTargetType = Shapes::StringShape.new(name: 'LogTargetType')
684
724
  LoggingOptionsPayload = Shapes::StructureShape.new(name: 'LoggingOptionsPayload')
725
+ MachineLearningDetectionConfig = Shapes::StructureShape.new(name: 'MachineLearningDetectionConfig')
685
726
  MalformedPolicyException = Shapes::StructureShape.new(name: 'MalformedPolicyException')
686
727
  Marker = Shapes::StringShape.new(name: 'Marker')
687
728
  MaxJobExecutionsPerMin = Shapes::IntegerShape.new(name: 'MaxJobExecutionsPerMin')
@@ -692,6 +733,8 @@ module Aws::IoT
692
733
  MessageFormat = Shapes::StringShape.new(name: 'MessageFormat')
693
734
  MessageId = Shapes::StringShape.new(name: 'MessageId')
694
735
  MetricDimension = Shapes::StructureShape.new(name: 'MetricDimension')
736
+ MetricName = Shapes::StringShape.new(name: 'MetricName')
737
+ MetricNames = Shapes::ListShape.new(name: 'MetricNames')
695
738
  MetricToRetain = Shapes::StructureShape.new(name: 'MetricToRetain')
696
739
  MetricValue = Shapes::StructureShape.new(name: 'MetricValue')
697
740
  Minimum = Shapes::FloatShape.new(name: 'Minimum')
@@ -708,6 +751,8 @@ module Aws::IoT
708
751
  MitigationActionNameList = Shapes::ListShape.new(name: 'MitigationActionNameList')
709
752
  MitigationActionParams = Shapes::StructureShape.new(name: 'MitigationActionParams')
710
753
  MitigationActionType = Shapes::StringShape.new(name: 'MitigationActionType')
754
+ MitigationActionsTaskId = Shapes::StringShape.new(name: 'MitigationActionsTaskId')
755
+ ModelStatus = Shapes::StringShape.new(name: 'ModelStatus')
711
756
  MqttClientId = Shapes::StringShape.new(name: 'MqttClientId')
712
757
  MqttContext = Shapes::StructureShape.new(name: 'MqttContext')
713
758
  MqttPassword = Shapes::BlobShape.new(name: 'MqttPassword')
@@ -718,6 +763,9 @@ module Aws::IoT
718
763
  NonCompliantResource = Shapes::StructureShape.new(name: 'NonCompliantResource')
719
764
  NonCompliantResourcesCount = Shapes::IntegerShape.new(name: 'NonCompliantResourcesCount')
720
765
  NotConfiguredException = Shapes::StructureShape.new(name: 'NotConfiguredException')
766
+ NullableBoolean = Shapes::BooleanShape.new(name: 'NullableBoolean')
767
+ Number = Shapes::FloatShape.new(name: 'Number')
768
+ NumberList = Shapes::ListShape.new(name: 'NumberList')
721
769
  NumberOfThings = Shapes::IntegerShape.new(name: 'NumberOfThings')
722
770
  OTAUpdateArn = Shapes::StringShape.new(name: 'OTAUpdateArn')
723
771
  OTAUpdateDescription = Shapes::StringShape.new(name: 'OTAUpdateDescription')
@@ -765,6 +813,7 @@ module Aws::IoT
765
813
  Ports = Shapes::ListShape.new(name: 'Ports')
766
814
  Prefix = Shapes::StringShape.new(name: 'Prefix')
767
815
  PresignedUrlConfig = Shapes::StructureShape.new(name: 'PresignedUrlConfig')
816
+ PrimitiveBoolean = Shapes::BooleanShape.new(name: 'PrimitiveBoolean')
768
817
  Principal = Shapes::StringShape.new(name: 'Principal')
769
818
  PrincipalArn = Shapes::StringShape.new(name: 'PrincipalArn')
770
819
  PrincipalId = Shapes::StringShape.new(name: 'PrincipalId')
@@ -870,6 +919,8 @@ module Aws::IoT
870
919
  SearchIndexResponse = Shapes::StructureShape.new(name: 'SearchIndexResponse')
871
920
  SearchableAttributes = Shapes::ListShape.new(name: 'SearchableAttributes')
872
921
  Seconds = Shapes::IntegerShape.new(name: 'Seconds')
922
+ SecurityGroupId = Shapes::StringShape.new(name: 'SecurityGroupId')
923
+ SecurityGroupList = Shapes::ListShape.new(name: 'SecurityGroupList')
873
924
  SecurityProfileArn = Shapes::StringShape.new(name: 'SecurityProfileArn')
874
925
  SecurityProfileDescription = Shapes::StringShape.new(name: 'SecurityProfileDescription')
875
926
  SecurityProfileIdentifier = Shapes::StructureShape.new(name: 'SecurityProfileIdentifier')
@@ -913,6 +964,8 @@ module Aws::IoT
913
964
  SqsAction = Shapes::StructureShape.new(name: 'SqsAction')
914
965
  StartAuditMitigationActionsTaskRequest = Shapes::StructureShape.new(name: 'StartAuditMitigationActionsTaskRequest')
915
966
  StartAuditMitigationActionsTaskResponse = Shapes::StructureShape.new(name: 'StartAuditMitigationActionsTaskResponse')
967
+ StartDetectMitigationActionsTaskRequest = Shapes::StructureShape.new(name: 'StartDetectMitigationActionsTaskRequest')
968
+ StartDetectMitigationActionsTaskResponse = Shapes::StructureShape.new(name: 'StartDetectMitigationActionsTaskResponse')
916
969
  StartOnDemandAuditTaskRequest = Shapes::StructureShape.new(name: 'StartOnDemandAuditTaskRequest')
917
970
  StartOnDemandAuditTaskResponse = Shapes::StructureShape.new(name: 'StartOnDemandAuditTaskResponse')
918
971
  StartSigningJobParameter = Shapes::StructureShape.new(name: 'StartSigningJobParameter')
@@ -940,11 +993,15 @@ module Aws::IoT
940
993
  StreamVersion = Shapes::IntegerShape.new(name: 'StreamVersion')
941
994
  StreamsSummary = Shapes::ListShape.new(name: 'StreamsSummary')
942
995
  String = Shapes::StringShape.new(name: 'String')
996
+ StringList = Shapes::ListShape.new(name: 'StringList')
943
997
  StringMap = Shapes::MapShape.new(name: 'StringMap')
998
+ SubnetId = Shapes::StringShape.new(name: 'SubnetId')
999
+ SubnetIdList = Shapes::ListShape.new(name: 'SubnetIdList')
944
1000
  SucceededFindingsCount = Shapes::IntegerShape.new(name: 'SucceededFindingsCount')
945
1001
  SucceededThings = Shapes::IntegerShape.new(name: 'SucceededThings')
946
1002
  Sum = Shapes::FloatShape.new(name: 'Sum')
947
1003
  SumOfSquares = Shapes::FloatShape.new(name: 'SumOfSquares')
1004
+ SuppressAlerts = Shapes::BooleanShape.new(name: 'SuppressAlerts')
948
1005
  SuppressIndefinitely = Shapes::BooleanShape.new(name: 'SuppressIndefinitely')
949
1006
  SuppressedNonCompliantResourcesCount = Shapes::IntegerShape.new(name: 'SuppressedNonCompliantResourcesCount')
950
1007
  TableName = Shapes::StringShape.new(name: 'TableName')
@@ -959,6 +1016,7 @@ module Aws::IoT
959
1016
  TargetArn = Shapes::StringShape.new(name: 'TargetArn')
960
1017
  TargetAuditCheckNames = Shapes::ListShape.new(name: 'TargetAuditCheckNames')
961
1018
  TargetSelection = Shapes::StringShape.new(name: 'TargetSelection')
1019
+ TargetViolationIdsForDetectMitigationActions = Shapes::ListShape.new(name: 'TargetViolationIdsForDetectMitigationActions')
962
1020
  Targets = Shapes::ListShape.new(name: 'Targets')
963
1021
  TaskAlreadyExistsException = Shapes::StructureShape.new(name: 'TaskAlreadyExistsException')
964
1022
  TaskId = Shapes::StringShape.new(name: 'TaskId')
@@ -1022,6 +1080,7 @@ module Aws::IoT
1022
1080
  TimestreamTimestamp = Shapes::StructureShape.new(name: 'TimestreamTimestamp')
1023
1081
  TimestreamTimestampUnit = Shapes::StringShape.new(name: 'TimestreamTimestampUnit')
1024
1082
  TimestreamTimestampValue = Shapes::StringShape.new(name: 'TimestreamTimestampValue')
1083
+ TinyMaxResults = Shapes::IntegerShape.new(name: 'TinyMaxResults')
1025
1084
  TlsContext = Shapes::StructureShape.new(name: 'TlsContext')
1026
1085
  Token = Shapes::StringShape.new(name: 'Token')
1027
1086
  TokenKeyName = Shapes::StringShape.new(name: 'TokenKeyName')
@@ -1063,6 +1122,8 @@ module Aws::IoT
1063
1122
  UpdateCACertificateParams = Shapes::StructureShape.new(name: 'UpdateCACertificateParams')
1064
1123
  UpdateCACertificateRequest = Shapes::StructureShape.new(name: 'UpdateCACertificateRequest')
1065
1124
  UpdateCertificateRequest = Shapes::StructureShape.new(name: 'UpdateCertificateRequest')
1125
+ UpdateCustomMetricRequest = Shapes::StructureShape.new(name: 'UpdateCustomMetricRequest')
1126
+ UpdateCustomMetricResponse = Shapes::StructureShape.new(name: 'UpdateCustomMetricResponse')
1066
1127
  UpdateDeviceCertificateParams = Shapes::StructureShape.new(name: 'UpdateDeviceCertificateParams')
1067
1128
  UpdateDimensionRequest = Shapes::StructureShape.new(name: 'UpdateDimensionRequest')
1068
1129
  UpdateDimensionResponse = Shapes::StructureShape.new(name: 'UpdateDimensionResponse')
@@ -1109,13 +1170,20 @@ module Aws::IoT
1109
1170
  VersionNumber = Shapes::IntegerShape.new(name: 'VersionNumber')
1110
1171
  VersionsLimitExceededException = Shapes::StructureShape.new(name: 'VersionsLimitExceededException')
1111
1172
  ViolationEvent = Shapes::StructureShape.new(name: 'ViolationEvent')
1173
+ ViolationEventAdditionalInfo = Shapes::StructureShape.new(name: 'ViolationEventAdditionalInfo')
1174
+ ViolationEventOccurrenceRange = Shapes::StructureShape.new(name: 'ViolationEventOccurrenceRange')
1112
1175
  ViolationEventType = Shapes::StringShape.new(name: 'ViolationEventType')
1113
1176
  ViolationEvents = Shapes::ListShape.new(name: 'ViolationEvents')
1114
1177
  ViolationId = Shapes::StringShape.new(name: 'ViolationId')
1178
+ VpcDestinationConfiguration = Shapes::StructureShape.new(name: 'VpcDestinationConfiguration')
1179
+ VpcDestinationProperties = Shapes::StructureShape.new(name: 'VpcDestinationProperties')
1180
+ VpcDestinationSummary = Shapes::StructureShape.new(name: 'VpcDestinationSummary')
1181
+ VpcId = Shapes::StringShape.new(name: 'VpcId')
1115
1182
  WaitingForDataCollectionChecksCount = Shapes::IntegerShape.new(name: 'WaitingForDataCollectionChecksCount')
1116
1183
  errorMessage = Shapes::StringShape.new(name: 'errorMessage')
1117
1184
  resourceArn = Shapes::StringShape.new(name: 'resourceArn')
1118
1185
  resourceId = Shapes::StringShape.new(name: 'resourceId')
1186
+ stringValue = Shapes::StringShape.new(name: 'stringValue')
1119
1187
 
1120
1188
  AbortConfig.add_member(:criteria_list, Shapes::ShapeRef.new(shape: AbortCriteriaList, required: true, location_name: "criteriaList"))
1121
1189
  AbortConfig.struct_class = Types::AbortConfig
@@ -1152,6 +1220,7 @@ module Aws::IoT
1152
1220
  Action.add_member(:step_functions, Shapes::ShapeRef.new(shape: StepFunctionsAction, location_name: "stepFunctions"))
1153
1221
  Action.add_member(:timestream, Shapes::ShapeRef.new(shape: TimestreamAction, location_name: "timestream"))
1154
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"))
1155
1224
  Action.struct_class = Types::Action
1156
1225
 
1157
1226
  ActionList.member = Shapes::ShapeRef.new(shape: Action)
@@ -1161,6 +1230,7 @@ module Aws::IoT
1161
1230
  ActiveViolation.add_member(:security_profile_name, Shapes::ShapeRef.new(shape: SecurityProfileName, location_name: "securityProfileName"))
1162
1231
  ActiveViolation.add_member(:behavior, Shapes::ShapeRef.new(shape: Behavior, location_name: "behavior"))
1163
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"))
1164
1234
  ActiveViolation.add_member(:last_violation_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastViolationTime"))
1165
1235
  ActiveViolation.add_member(:violation_start_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "violationStartTime"))
1166
1236
  ActiveViolation.struct_class = Types::ActiveViolation
@@ -1302,7 +1372,7 @@ module Aws::IoT
1302
1372
 
1303
1373
  AuditFindings.member = Shapes::ShapeRef.new(shape: AuditFinding)
1304
1374
 
1305
- 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"))
1306
1376
  AuditMitigationActionExecutionMetadata.add_member(:finding_id, Shapes::ShapeRef.new(shape: FindingId, location_name: "findingId"))
1307
1377
  AuditMitigationActionExecutionMetadata.add_member(:action_name, Shapes::ShapeRef.new(shape: MitigationActionName, location_name: "actionName"))
1308
1378
  AuditMitigationActionExecutionMetadata.add_member(:action_id, Shapes::ShapeRef.new(shape: MitigationActionId, location_name: "actionId"))
@@ -1315,7 +1385,7 @@ module Aws::IoT
1315
1385
 
1316
1386
  AuditMitigationActionExecutionMetadataList.member = Shapes::ShapeRef.new(shape: AuditMitigationActionExecutionMetadata)
1317
1387
 
1318
- 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"))
1319
1389
  AuditMitigationActionsTaskMetadata.add_member(:start_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "startTime"))
1320
1390
  AuditMitigationActionsTaskMetadata.add_member(:task_status, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskStatus, location_name: "taskStatus"))
1321
1391
  AuditMitigationActionsTaskMetadata.struct_class = Types::AuditMitigationActionsTaskMetadata
@@ -1424,6 +1494,7 @@ module Aws::IoT
1424
1494
  Behavior.add_member(:metric, Shapes::ShapeRef.new(shape: BehaviorMetric, location_name: "metric"))
1425
1495
  Behavior.add_member(:metric_dimension, Shapes::ShapeRef.new(shape: MetricDimension, location_name: "metricDimension"))
1426
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"))
1427
1498
  Behavior.struct_class = Types::Behavior
1428
1499
 
1429
1500
  BehaviorCriteria.add_member(:comparison_operator, Shapes::ShapeRef.new(shape: ComparisonOperator, location_name: "comparisonOperator"))
@@ -1432,8 +1503,19 @@ module Aws::IoT
1432
1503
  BehaviorCriteria.add_member(:consecutive_datapoints_to_alarm, Shapes::ShapeRef.new(shape: ConsecutiveDatapointsToAlarm, location_name: "consecutiveDatapointsToAlarm"))
1433
1504
  BehaviorCriteria.add_member(:consecutive_datapoints_to_clear, Shapes::ShapeRef.new(shape: ConsecutiveDatapointsToClear, location_name: "consecutiveDatapointsToClear"))
1434
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"))
1435
1507
  BehaviorCriteria.struct_class = Types::BehaviorCriteria
1436
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
+
1437
1519
  Behaviors.member = Shapes::ShapeRef.new(shape: Behavior)
1438
1520
 
1439
1521
  BillingGroupMetadata.add_member(:creation_date, Shapes::ShapeRef.new(shape: CreationDate, location_name: "creationDate"))
@@ -1465,7 +1547,7 @@ module Aws::IoT
1465
1547
 
1466
1548
  CACertificates.member = Shapes::ShapeRef.new(shape: CACertificate)
1467
1549
 
1468
- 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"))
1469
1551
  CancelAuditMitigationActionsTaskRequest.struct_class = Types::CancelAuditMitigationActionsTaskRequest
1470
1552
 
1471
1553
  CancelAuditMitigationActionsTaskResponse.struct_class = Types::CancelAuditMitigationActionsTaskResponse
@@ -1478,6 +1560,11 @@ module Aws::IoT
1478
1560
  CancelCertificateTransferRequest.add_member(:certificate_id, Shapes::ShapeRef.new(shape: CertificateId, required: true, location: "uri", location_name: "certificateId"))
1479
1561
  CancelCertificateTransferRequest.struct_class = Types::CancelCertificateTransferRequest
1480
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
+
1481
1568
  CancelJobExecutionRequest.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, required: true, location: "uri", location_name: "jobId"))
1482
1569
  CancelJobExecutionRequest.add_member(:thing_name, Shapes::ShapeRef.new(shape: ThingName, required: true, location: "uri", location_name: "thingName"))
1483
1570
  CancelJobExecutionRequest.add_member(:force, Shapes::ShapeRef.new(shape: ForceFlag, location: "querystring", location_name: "force"))
@@ -1540,6 +1627,9 @@ module Aws::IoT
1540
1627
 
1541
1628
  ClearDefaultAuthorizerResponse.struct_class = Types::ClearDefaultAuthorizerResponse
1542
1629
 
1630
+ ClientProperties.key = Shapes::ShapeRef.new(shape: String)
1631
+ ClientProperties.value = Shapes::ShapeRef.new(shape: String)
1632
+
1543
1633
  CloudwatchAlarmAction.add_member(:role_arn, Shapes::ShapeRef.new(shape: AwsArn, required: true, location_name: "roleArn"))
1544
1634
  CloudwatchAlarmAction.add_member(:alarm_name, Shapes::ShapeRef.new(shape: AlarmName, required: true, location_name: "alarmName"))
1545
1635
  CloudwatchAlarmAction.add_member(:state_reason, Shapes::ShapeRef.new(shape: StateReason, required: true, location_name: "stateReason"))
@@ -1623,6 +1713,17 @@ module Aws::IoT
1623
1713
  CreateCertificateFromCsrResponse.add_member(:certificate_pem, Shapes::ShapeRef.new(shape: CertificatePem, location_name: "certificatePem"))
1624
1714
  CreateCertificateFromCsrResponse.struct_class = Types::CreateCertificateFromCsrResponse
1625
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
+
1626
1727
  CreateDimensionRequest.add_member(:name, Shapes::ShapeRef.new(shape: DimensionName, required: true, location: "uri", location_name: "name"))
1627
1728
  CreateDimensionRequest.add_member(:type, Shapes::ShapeRef.new(shape: DimensionType, required: true, location_name: "type"))
1628
1729
  CreateDimensionRequest.add_member(:string_values, Shapes::ShapeRef.new(shape: DimensionStringValues, required: true, location_name: "stringValues"))
@@ -1911,6 +2012,11 @@ module Aws::IoT
1911
2012
  DeleteConflictException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
1912
2013
  DeleteConflictException.struct_class = Types::DeleteConflictException
1913
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
+
1914
2020
  DeleteDimensionRequest.add_member(:name, Shapes::ShapeRef.new(shape: DimensionName, required: true, location: "uri", location_name: "name"))
1915
2021
  DeleteDimensionRequest.struct_class = Types::DeleteDimensionRequest
1916
2022
 
@@ -2046,7 +2152,7 @@ module Aws::IoT
2046
2152
  DescribeAuditFindingResponse.add_member(:finding, Shapes::ShapeRef.new(shape: AuditFinding, location_name: "finding"))
2047
2153
  DescribeAuditFindingResponse.struct_class = Types::DescribeAuditFindingResponse
2048
2154
 
2049
- 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"))
2050
2156
  DescribeAuditMitigationActionsTaskRequest.struct_class = Types::DescribeAuditMitigationActionsTaskRequest
2051
2157
 
2052
2158
  DescribeAuditMitigationActionsTaskResponse.add_member(:task_status, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskStatus, location_name: "taskStatus"))
@@ -2110,11 +2216,28 @@ module Aws::IoT
2110
2216
  DescribeCertificateResponse.add_member(:certificate_description, Shapes::ShapeRef.new(shape: CertificateDescription, location_name: "certificateDescription"))
2111
2217
  DescribeCertificateResponse.struct_class = Types::DescribeCertificateResponse
2112
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
+
2113
2230
  DescribeDefaultAuthorizerRequest.struct_class = Types::DescribeDefaultAuthorizerRequest
2114
2231
 
2115
2232
  DescribeDefaultAuthorizerResponse.add_member(:authorizer_description, Shapes::ShapeRef.new(shape: AuthorizerDescription, location_name: "authorizerDescription"))
2116
2233
  DescribeDefaultAuthorizerResponse.struct_class = Types::DescribeDefaultAuthorizerResponse
2117
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
+
2118
2241
  DescribeDimensionRequest.add_member(:name, Shapes::ShapeRef.new(shape: DimensionName, required: true, location: "uri", location_name: "name"))
2119
2242
  DescribeDimensionRequest.struct_class = Types::DescribeDimensionRequest
2120
2243
 
@@ -2333,6 +2456,45 @@ module Aws::IoT
2333
2456
  DetailsMap.key = Shapes::ShapeRef.new(shape: DetailsKey)
2334
2457
  DetailsMap.value = Shapes::ShapeRef.new(shape: DetailsValue)
2335
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
+
2336
2498
  DimensionNames.member = Shapes::ShapeRef.new(shape: DimensionName)
2337
2499
 
2338
2500
  DimensionStringValues.member = Shapes::ShapeRef.new(shape: DimensionStringValue)
@@ -2417,6 +2579,15 @@ module Aws::IoT
2417
2579
  FirehoseAction.add_member(:batch_mode, Shapes::ShapeRef.new(shape: BatchMode, location_name: "batchMode"))
2418
2580
  FirehoseAction.struct_class = Types::FirehoseAction
2419
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
+
2420
2591
  GetCardinalityRequest.add_member(:index_name, Shapes::ShapeRef.new(shape: IndexName, location_name: "indexName"))
2421
2592
  GetCardinalityRequest.add_member(:query_string, Shapes::ShapeRef.new(shape: QueryString, required: true, location_name: "queryString"))
2422
2593
  GetCardinalityRequest.add_member(:aggregation_field, Shapes::ShapeRef.new(shape: AggregationField, location_name: "aggregationField"))
@@ -2692,6 +2863,13 @@ module Aws::IoT
2692
2863
 
2693
2864
  JobTargets.member = Shapes::ShapeRef.new(shape: TargetArn)
2694
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
+
2695
2873
  KeyPair.add_member(:public_key, Shapes::ShapeRef.new(shape: PublicKey, location_name: "PublicKey"))
2696
2874
  KeyPair.add_member(:private_key, Shapes::ShapeRef.new(shape: PrivateKey, location_name: "PrivateKey"))
2697
2875
  KeyPair.struct_class = Types::KeyPair
@@ -2709,6 +2887,8 @@ module Aws::IoT
2709
2887
 
2710
2888
  ListActiveViolationsRequest.add_member(:thing_name, Shapes::ShapeRef.new(shape: DeviceDefenderThingName, location: "querystring", location_name: "thingName"))
2711
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"))
2712
2892
  ListActiveViolationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
2713
2893
  ListActiveViolationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
2714
2894
  ListActiveViolationsRequest.struct_class = Types::ListActiveViolationsRequest
@@ -2741,7 +2921,7 @@ module Aws::IoT
2741
2921
  ListAuditFindingsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
2742
2922
  ListAuditFindingsResponse.struct_class = Types::ListAuditFindingsResponse
2743
2923
 
2744
- 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"))
2745
2925
  ListAuditMitigationActionsExecutionsRequest.add_member(:action_status, Shapes::ShapeRef.new(shape: AuditMitigationActionsExecutionStatus, location: "querystring", location_name: "actionStatus"))
2746
2926
  ListAuditMitigationActionsExecutionsRequest.add_member(:finding_id, Shapes::ShapeRef.new(shape: FindingId, required: true, location: "querystring", location_name: "findingId"))
2747
2927
  ListAuditMitigationActionsExecutionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
@@ -2835,6 +3015,37 @@ module Aws::IoT
2835
3015
  ListCertificatesResponse.add_member(:next_marker, Shapes::ShapeRef.new(shape: Marker, location_name: "nextMarker"))
2836
3016
  ListCertificatesResponse.struct_class = Types::ListCertificatesResponse
2837
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
+
2838
3049
  ListDimensionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
2839
3050
  ListDimensionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
2840
3051
  ListDimensionsRequest.struct_class = Types::ListDimensionsRequest
@@ -3012,6 +3223,7 @@ module Aws::IoT
3012
3223
  ListSecurityProfilesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
3013
3224
  ListSecurityProfilesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
3014
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"))
3015
3227
  ListSecurityProfilesRequest.struct_class = Types::ListSecurityProfilesRequest
3016
3228
 
3017
3229
  ListSecurityProfilesResponse.add_member(:security_profile_identifiers, Shapes::ShapeRef.new(shape: SecurityProfileIdentifiers, location_name: "securityProfileIdentifiers"))
@@ -3172,6 +3384,8 @@ module Aws::IoT
3172
3384
  ListViolationEventsRequest.add_member(:end_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location: "querystring", location_name: "endTime"))
3173
3385
  ListViolationEventsRequest.add_member(:thing_name, Shapes::ShapeRef.new(shape: DeviceDefenderThingName, location: "querystring", location_name: "thingName"))
3174
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"))
3175
3389
  ListViolationEventsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
3176
3390
  ListViolationEventsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
3177
3391
  ListViolationEventsRequest.struct_class = Types::ListViolationEventsRequest
@@ -3194,6 +3408,9 @@ module Aws::IoT
3194
3408
  LoggingOptionsPayload.add_member(:log_level, Shapes::ShapeRef.new(shape: LogLevel, location_name: "logLevel"))
3195
3409
  LoggingOptionsPayload.struct_class = Types::LoggingOptionsPayload
3196
3410
 
3411
+ MachineLearningDetectionConfig.add_member(:confidence_level, Shapes::ShapeRef.new(shape: ConfidenceLevel, required: true, location_name: "confidenceLevel"))
3412
+ MachineLearningDetectionConfig.struct_class = Types::MachineLearningDetectionConfig
3413
+
3197
3414
  MalformedPolicyException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
3198
3415
  MalformedPolicyException.struct_class = Types::MalformedPolicyException
3199
3416
 
@@ -3201,6 +3418,8 @@ module Aws::IoT
3201
3418
  MetricDimension.add_member(:operator, Shapes::ShapeRef.new(shape: DimensionValueOperator, location_name: "operator"))
3202
3419
  MetricDimension.struct_class = Types::MetricDimension
3203
3420
 
3421
+ MetricNames.member = Shapes::ShapeRef.new(shape: MetricName)
3422
+
3204
3423
  MetricToRetain.add_member(:metric, Shapes::ShapeRef.new(shape: BehaviorMetric, required: true, location_name: "metric"))
3205
3424
  MetricToRetain.add_member(:metric_dimension, Shapes::ShapeRef.new(shape: MetricDimension, location_name: "metricDimension"))
3206
3425
  MetricToRetain.struct_class = Types::MetricToRetain
@@ -3208,6 +3427,9 @@ module Aws::IoT
3208
3427
  MetricValue.add_member(:count, Shapes::ShapeRef.new(shape: UnsignedLong, location_name: "count"))
3209
3428
  MetricValue.add_member(:cidrs, Shapes::ShapeRef.new(shape: Cidrs, location_name: "cidrs"))
3210
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"))
3211
3433
  MetricValue.struct_class = Types::MetricValue
3212
3434
 
3213
3435
  MissingContextValues.member = Shapes::ShapeRef.new(shape: MissingContextValue)
@@ -3250,6 +3472,8 @@ module Aws::IoT
3250
3472
  NotConfiguredException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
3251
3473
  NotConfiguredException.struct_class = Types::NotConfiguredException
3252
3474
 
3475
+ NumberList.member = Shapes::ShapeRef.new(shape: Number)
3476
+
3253
3477
  OTAUpdateFile.add_member(:file_name, Shapes::ShapeRef.new(shape: FileName, location_name: "fileName"))
3254
3478
  OTAUpdateFile.add_member(:file_type, Shapes::ShapeRef.new(shape: FileType, location_name: "fileType"))
3255
3479
  OTAUpdateFile.add_member(:file_version, Shapes::ShapeRef.new(shape: OTAUpdateFileVersion, location_name: "fileVersion"))
@@ -3553,6 +3777,8 @@ module Aws::IoT
3553
3777
 
3554
3778
  SearchableAttributes.member = Shapes::ShapeRef.new(shape: AttributeName)
3555
3779
 
3780
+ SecurityGroupList.member = Shapes::ShapeRef.new(shape: SecurityGroupId)
3781
+
3556
3782
  SecurityProfileIdentifier.add_member(:name, Shapes::ShapeRef.new(shape: SecurityProfileName, required: true, location_name: "name"))
3557
3783
  SecurityProfileIdentifier.add_member(:arn, Shapes::ShapeRef.new(shape: SecurityProfileArn, required: true, location_name: "arn"))
3558
3784
  SecurityProfileIdentifier.struct_class = Types::SecurityProfileIdentifier
@@ -3630,15 +3856,27 @@ module Aws::IoT
3630
3856
  SqsAction.add_member(:use_base_64, Shapes::ShapeRef.new(shape: UseBase64, location_name: "useBase64"))
3631
3857
  SqsAction.struct_class = Types::SqsAction
3632
3858
 
3633
- 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"))
3634
3860
  StartAuditMitigationActionsTaskRequest.add_member(:target, Shapes::ShapeRef.new(shape: AuditMitigationActionsTaskTarget, required: true, location_name: "target"))
3635
3861
  StartAuditMitigationActionsTaskRequest.add_member(:audit_check_to_actions_mapping, Shapes::ShapeRef.new(shape: AuditCheckToActionsMapping, required: true, location_name: "auditCheckToActionsMapping"))
3636
3862
  StartAuditMitigationActionsTaskRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: ClientRequestToken, required: true, location_name: "clientRequestToken", metadata: {"idempotencyToken"=>true}))
3637
3863
  StartAuditMitigationActionsTaskRequest.struct_class = Types::StartAuditMitigationActionsTaskRequest
3638
3864
 
3639
- 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"))
3640
3866
  StartAuditMitigationActionsTaskResponse.struct_class = Types::StartAuditMitigationActionsTaskResponse
3641
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
+
3642
3880
  StartOnDemandAuditTaskRequest.add_member(:target_check_names, Shapes::ShapeRef.new(shape: TargetAuditCheckNames, required: true, location_name: "targetCheckNames"))
3643
3881
  StartOnDemandAuditTaskRequest.struct_class = Types::StartOnDemandAuditTaskRequest
3644
3882
 
@@ -3710,9 +3948,13 @@ module Aws::IoT
3710
3948
 
3711
3949
  StreamsSummary.member = Shapes::ShapeRef.new(shape: StreamSummary)
3712
3950
 
3951
+ StringList.member = Shapes::ShapeRef.new(shape: stringValue)
3952
+
3713
3953
  StringMap.key = Shapes::ShapeRef.new(shape: String)
3714
3954
  StringMap.value = Shapes::ShapeRef.new(shape: String)
3715
3955
 
3956
+ SubnetIdList.member = Shapes::ShapeRef.new(shape: SubnetId)
3957
+
3716
3958
  Tag.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, required: true, location_name: "Key"))
3717
3959
  Tag.add_member(:value, Shapes::ShapeRef.new(shape: TagValue, location_name: "Value"))
3718
3960
  Tag.struct_class = Types::Tag
@@ -3729,6 +3971,8 @@ module Aws::IoT
3729
3971
 
3730
3972
  TargetAuditCheckNames.member = Shapes::ShapeRef.new(shape: AuditCheckName)
3731
3973
 
3974
+ TargetViolationIdsForDetectMitigationActions.member = Shapes::ShapeRef.new(shape: ViolationId)
3975
+
3732
3976
  Targets.member = Shapes::ShapeRef.new(shape: Target)
3733
3977
 
3734
3978
  TaskAlreadyExistsException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
@@ -3896,19 +4140,26 @@ module Aws::IoT
3896
4140
 
3897
4141
  TopicRuleDestination.add_member(:arn, Shapes::ShapeRef.new(shape: AwsArn, location_name: "arn"))
3898
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"))
3899
4145
  TopicRuleDestination.add_member(:status_reason, Shapes::ShapeRef.new(shape: String, location_name: "statusReason"))
3900
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"))
3901
4148
  TopicRuleDestination.struct_class = Types::TopicRuleDestination
3902
4149
 
3903
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"))
3904
4152
  TopicRuleDestinationConfiguration.struct_class = Types::TopicRuleDestinationConfiguration
3905
4153
 
3906
4154
  TopicRuleDestinationSummaries.member = Shapes::ShapeRef.new(shape: TopicRuleDestinationSummary)
3907
4155
 
3908
4156
  TopicRuleDestinationSummary.add_member(:arn, Shapes::ShapeRef.new(shape: AwsArn, location_name: "arn"))
3909
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"))
3910
4160
  TopicRuleDestinationSummary.add_member(:status_reason, Shapes::ShapeRef.new(shape: String, location_name: "statusReason"))
3911
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"))
3912
4163
  TopicRuleDestinationSummary.struct_class = Types::TopicRuleDestinationSummary
3913
4164
 
3914
4165
  TopicRuleList.member = Shapes::ShapeRef.new(shape: TopicRuleListItem)
@@ -4007,6 +4258,18 @@ module Aws::IoT
4007
4258
  UpdateCertificateRequest.add_member(:new_status, Shapes::ShapeRef.new(shape: CertificateStatus, required: true, location: "querystring", location_name: "newStatus"))
4008
4259
  UpdateCertificateRequest.struct_class = Types::UpdateCertificateRequest
4009
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
+
4010
4273
  UpdateDeviceCertificateParams.add_member(:action, Shapes::ShapeRef.new(shape: DeviceCertificateUpdateAction, required: true, location_name: "action"))
4011
4274
  UpdateDeviceCertificateParams.struct_class = Types::UpdateDeviceCertificateParams
4012
4275
 
@@ -4192,12 +4455,38 @@ module Aws::IoT
4192
4455
  ViolationEvent.add_member(:security_profile_name, Shapes::ShapeRef.new(shape: SecurityProfileName, location_name: "securityProfileName"))
4193
4456
  ViolationEvent.add_member(:behavior, Shapes::ShapeRef.new(shape: Behavior, location_name: "behavior"))
4194
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"))
4195
4459
  ViolationEvent.add_member(:violation_event_type, Shapes::ShapeRef.new(shape: ViolationEventType, location_name: "violationEventType"))
4196
4460
  ViolationEvent.add_member(:violation_event_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "violationEventTime"))
4197
4461
  ViolationEvent.struct_class = Types::ViolationEvent
4198
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
+
4199
4470
  ViolationEvents.member = Shapes::ShapeRef.new(shape: ViolationEvent)
4200
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
+
4201
4490
 
4202
4491
  # @api private
4203
4492
  API = Seahorse::Model::Api.new.tap do |api|
@@ -4365,6 +4654,18 @@ module Aws::IoT
4365
4654
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
4366
4655
  end)
4367
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
+
4368
4669
  api.add_operation(:cancel_job, Seahorse::Model::Operation.new.tap do |o|
4369
4670
  o.name = "CancelJob"
4370
4671
  o.http_method = "PUT"
@@ -4471,6 +4772,19 @@ module Aws::IoT
4471
4772
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
4472
4773
  end)
4473
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
+
4474
4788
  api.add_operation(:create_dimension, Seahorse::Model::Operation.new.tap do |o|
4475
4789
  o.name = "CreateDimension"
4476
4790
  o.http_method = "POST"
@@ -4850,6 +5164,17 @@ module Aws::IoT
4850
5164
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
4851
5165
  end)
4852
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
+
4853
5178
  api.add_operation(:delete_dimension, Seahorse::Model::Operation.new.tap do |o|
4854
5179
  o.name = "DeleteDimension"
4855
5180
  o.http_method = "DELETE"
@@ -5271,6 +5596,18 @@ module Aws::IoT
5271
5596
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
5272
5597
  end)
5273
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
+
5274
5611
  api.add_operation(:describe_default_authorizer, Seahorse::Model::Operation.new.tap do |o|
5275
5612
  o.name = "DescribeDefaultAuthorizer"
5276
5613
  o.http_method = "GET"
@@ -5285,6 +5622,18 @@ module Aws::IoT
5285
5622
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
5286
5623
  end)
5287
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
+
5288
5637
  api.add_operation(:describe_dimension, Seahorse::Model::Operation.new.tap do |o|
5289
5638
  o.name = "DescribeDimension"
5290
5639
  o.http_method = "GET"
@@ -5595,6 +5944,24 @@ module Aws::IoT
5595
5944
  o.errors << Shapes::ShapeRef.new(shape: ConflictingResourceUpdateException)
5596
5945
  end)
5597
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
+
5598
5965
  api.add_operation(:get_cardinality, Seahorse::Model::Operation.new.tap do |o|
5599
5966
  o.name = "GetCardinality"
5600
5967
  o.http_method = "POST"
@@ -6005,6 +6372,57 @@ module Aws::IoT
6005
6372
  )
6006
6373
  end)
6007
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
+
6008
6426
  api.add_operation(:list_dimensions, Seahorse::Model::Operation.new.tap do |o|
6009
6427
  o.name = "ListDimensions"
6010
6428
  o.http_method = "GET"
@@ -6895,6 +7313,19 @@ module Aws::IoT
6895
7313
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
6896
7314
  end)
6897
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
+
6898
7329
  api.add_operation(:start_on_demand_audit_task, Seahorse::Model::Operation.new.tap do |o|
6899
7330
  o.name = "StartOnDemandAuditTask"
6900
7331
  o.http_method = "POST"
@@ -7083,6 +7514,18 @@ module Aws::IoT
7083
7514
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
7084
7515
  end)
7085
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
+
7086
7529
  api.add_operation(:update_dimension, Seahorse::Model::Operation.new.tap do |o|
7087
7530
  o.name = "UpdateDimension"
7088
7531
  o.http_method = "PATCH"