aws-sdk-iot 1.45.0 → 1.46.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -29,6 +29,7 @@ module Aws::IoT
29
29
  AddThingToThingGroupResponse = Shapes::StructureShape.new(name: 'AddThingToThingGroupResponse')
30
30
  AddThingsToThingGroupParams = Shapes::StructureShape.new(name: 'AddThingsToThingGroupParams')
31
31
  AdditionalMetricsToRetainList = Shapes::ListShape.new(name: 'AdditionalMetricsToRetainList')
32
+ AdditionalMetricsToRetainV2List = Shapes::ListShape.new(name: 'AdditionalMetricsToRetainV2List')
32
33
  AdditionalParameterMap = Shapes::MapShape.new(name: 'AdditionalParameterMap')
33
34
  AggregationField = Shapes::StringShape.new(name: 'AggregationField')
34
35
  AlarmName = Shapes::StringShape.new(name: 'AlarmName')
@@ -201,6 +202,8 @@ module Aws::IoT
201
202
  CreateBillingGroupResponse = Shapes::StructureShape.new(name: 'CreateBillingGroupResponse')
202
203
  CreateCertificateFromCsrRequest = Shapes::StructureShape.new(name: 'CreateCertificateFromCsrRequest')
203
204
  CreateCertificateFromCsrResponse = Shapes::StructureShape.new(name: 'CreateCertificateFromCsrResponse')
205
+ CreateDimensionRequest = Shapes::StructureShape.new(name: 'CreateDimensionRequest')
206
+ CreateDimensionResponse = Shapes::StructureShape.new(name: 'CreateDimensionResponse')
204
207
  CreateDomainConfigurationRequest = Shapes::StructureShape.new(name: 'CreateDomainConfigurationRequest')
205
208
  CreateDomainConfigurationResponse = Shapes::StructureShape.new(name: 'CreateDomainConfigurationResponse')
206
209
  CreateDynamicThingGroupRequest = Shapes::StructureShape.new(name: 'CreateDynamicThingGroupRequest')
@@ -261,6 +264,8 @@ module Aws::IoT
261
264
  DeleteCACertificateResponse = Shapes::StructureShape.new(name: 'DeleteCACertificateResponse')
262
265
  DeleteCertificateRequest = Shapes::StructureShape.new(name: 'DeleteCertificateRequest')
263
266
  DeleteConflictException = Shapes::StructureShape.new(name: 'DeleteConflictException')
267
+ DeleteDimensionRequest = Shapes::StructureShape.new(name: 'DeleteDimensionRequest')
268
+ DeleteDimensionResponse = Shapes::StructureShape.new(name: 'DeleteDimensionResponse')
264
269
  DeleteDomainConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteDomainConfigurationRequest')
265
270
  DeleteDomainConfigurationResponse = Shapes::StructureShape.new(name: 'DeleteDomainConfigurationResponse')
266
271
  DeleteDynamicThingGroupRequest = Shapes::StructureShape.new(name: 'DeleteDynamicThingGroupRequest')
@@ -322,6 +327,8 @@ module Aws::IoT
322
327
  DescribeCertificateResponse = Shapes::StructureShape.new(name: 'DescribeCertificateResponse')
323
328
  DescribeDefaultAuthorizerRequest = Shapes::StructureShape.new(name: 'DescribeDefaultAuthorizerRequest')
324
329
  DescribeDefaultAuthorizerResponse = Shapes::StructureShape.new(name: 'DescribeDefaultAuthorizerResponse')
330
+ DescribeDimensionRequest = Shapes::StructureShape.new(name: 'DescribeDimensionRequest')
331
+ DescribeDimensionResponse = Shapes::StructureShape.new(name: 'DescribeDimensionResponse')
325
332
  DescribeDomainConfigurationRequest = Shapes::StructureShape.new(name: 'DescribeDomainConfigurationRequest')
326
333
  DescribeDomainConfigurationResponse = Shapes::StructureShape.new(name: 'DescribeDomainConfigurationResponse')
327
334
  DescribeEndpointRequest = Shapes::StructureShape.new(name: 'DescribeEndpointRequest')
@@ -369,6 +376,13 @@ module Aws::IoT
369
376
  DetailsValue = Shapes::StringShape.new(name: 'DetailsValue')
370
377
  DeviceCertificateUpdateAction = Shapes::StringShape.new(name: 'DeviceCertificateUpdateAction')
371
378
  DeviceDefenderThingName = Shapes::StringShape.new(name: 'DeviceDefenderThingName')
379
+ DimensionArn = Shapes::StringShape.new(name: 'DimensionArn')
380
+ DimensionName = Shapes::StringShape.new(name: 'DimensionName')
381
+ DimensionNames = Shapes::ListShape.new(name: 'DimensionNames')
382
+ DimensionStringValue = Shapes::StringShape.new(name: 'DimensionStringValue')
383
+ DimensionStringValues = Shapes::ListShape.new(name: 'DimensionStringValues')
384
+ DimensionType = Shapes::StringShape.new(name: 'DimensionType')
385
+ DimensionValueOperator = Shapes::StringShape.new(name: 'DimensionValueOperator')
372
386
  DisableAllLogs = Shapes::BooleanShape.new(name: 'DisableAllLogs')
373
387
  DisableTopicRuleRequest = Shapes::StructureShape.new(name: 'DisableTopicRuleRequest')
374
388
  DomainConfigurationArn = Shapes::StringShape.new(name: 'DomainConfigurationArn')
@@ -554,6 +568,8 @@ module Aws::IoT
554
568
  ListCertificatesByCAResponse = Shapes::StructureShape.new(name: 'ListCertificatesByCAResponse')
555
569
  ListCertificatesRequest = Shapes::StructureShape.new(name: 'ListCertificatesRequest')
556
570
  ListCertificatesResponse = Shapes::StructureShape.new(name: 'ListCertificatesResponse')
571
+ ListDimensionsRequest = Shapes::StructureShape.new(name: 'ListDimensionsRequest')
572
+ ListDimensionsResponse = Shapes::StructureShape.new(name: 'ListDimensionsResponse')
557
573
  ListDomainConfigurationsRequest = Shapes::StructureShape.new(name: 'ListDomainConfigurationsRequest')
558
574
  ListDomainConfigurationsResponse = Shapes::StructureShape.new(name: 'ListDomainConfigurationsResponse')
559
575
  ListIndicesRequest = Shapes::StructureShape.new(name: 'ListIndicesRequest')
@@ -643,6 +659,8 @@ module Aws::IoT
643
659
  Message = Shapes::StringShape.new(name: 'Message')
644
660
  MessageFormat = Shapes::StringShape.new(name: 'MessageFormat')
645
661
  MessageId = Shapes::StringShape.new(name: 'MessageId')
662
+ MetricDimension = Shapes::StructureShape.new(name: 'MetricDimension')
663
+ MetricToRetain = Shapes::StructureShape.new(name: 'MetricToRetain')
646
664
  MetricValue = Shapes::StructureShape.new(name: 'MetricValue')
647
665
  Minimum = Shapes::FloatShape.new(name: 'Minimum')
648
666
  MinimumNumberOfExecutedThings = Shapes::IntegerShape.new(name: 'MinimumNumberOfExecutedThings')
@@ -994,6 +1012,8 @@ module Aws::IoT
994
1012
  UpdateCACertificateRequest = Shapes::StructureShape.new(name: 'UpdateCACertificateRequest')
995
1013
  UpdateCertificateRequest = Shapes::StructureShape.new(name: 'UpdateCertificateRequest')
996
1014
  UpdateDeviceCertificateParams = Shapes::StructureShape.new(name: 'UpdateDeviceCertificateParams')
1015
+ UpdateDimensionRequest = Shapes::StructureShape.new(name: 'UpdateDimensionRequest')
1016
+ UpdateDimensionResponse = Shapes::StructureShape.new(name: 'UpdateDimensionResponse')
997
1017
  UpdateDomainConfigurationRequest = Shapes::StructureShape.new(name: 'UpdateDomainConfigurationRequest')
998
1018
  UpdateDomainConfigurationResponse = Shapes::StructureShape.new(name: 'UpdateDomainConfigurationResponse')
999
1019
  UpdateDynamicThingGroupRequest = Shapes::StructureShape.new(name: 'UpdateDynamicThingGroupRequest')
@@ -1117,6 +1137,8 @@ module Aws::IoT
1117
1137
 
1118
1138
  AdditionalMetricsToRetainList.member = Shapes::ShapeRef.new(shape: BehaviorMetric)
1119
1139
 
1140
+ AdditionalMetricsToRetainV2List.member = Shapes::ShapeRef.new(shape: MetricToRetain)
1141
+
1120
1142
  AdditionalParameterMap.key = Shapes::ShapeRef.new(shape: AttributeKey)
1121
1143
  AdditionalParameterMap.value = Shapes::ShapeRef.new(shape: Value)
1122
1144
 
@@ -1311,6 +1333,7 @@ module Aws::IoT
1311
1333
 
1312
1334
  Behavior.add_member(:name, Shapes::ShapeRef.new(shape: BehaviorName, required: true, location_name: "name"))
1313
1335
  Behavior.add_member(:metric, Shapes::ShapeRef.new(shape: BehaviorMetric, location_name: "metric"))
1336
+ Behavior.add_member(:metric_dimension, Shapes::ShapeRef.new(shape: MetricDimension, location_name: "metricDimension"))
1314
1337
  Behavior.add_member(:criteria, Shapes::ShapeRef.new(shape: BehaviorCriteria, location_name: "criteria"))
1315
1338
  Behavior.struct_class = Types::Behavior
1316
1339
 
@@ -1498,6 +1521,17 @@ module Aws::IoT
1498
1521
  CreateCertificateFromCsrResponse.add_member(:certificate_pem, Shapes::ShapeRef.new(shape: CertificatePem, location_name: "certificatePem"))
1499
1522
  CreateCertificateFromCsrResponse.struct_class = Types::CreateCertificateFromCsrResponse
1500
1523
 
1524
+ CreateDimensionRequest.add_member(:name, Shapes::ShapeRef.new(shape: DimensionName, required: true, location: "uri", location_name: "name"))
1525
+ CreateDimensionRequest.add_member(:type, Shapes::ShapeRef.new(shape: DimensionType, required: true, location_name: "type"))
1526
+ CreateDimensionRequest.add_member(:string_values, Shapes::ShapeRef.new(shape: DimensionStringValues, required: true, location_name: "stringValues"))
1527
+ CreateDimensionRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
1528
+ CreateDimensionRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: ClientRequestToken, required: true, location_name: "clientRequestToken", metadata: {"idempotencyToken"=>true}))
1529
+ CreateDimensionRequest.struct_class = Types::CreateDimensionRequest
1530
+
1531
+ CreateDimensionResponse.add_member(:name, Shapes::ShapeRef.new(shape: DimensionName, location_name: "name"))
1532
+ CreateDimensionResponse.add_member(:arn, Shapes::ShapeRef.new(shape: DimensionArn, location_name: "arn"))
1533
+ CreateDimensionResponse.struct_class = Types::CreateDimensionResponse
1534
+
1501
1535
  CreateDomainConfigurationRequest.add_member(:domain_configuration_name, Shapes::ShapeRef.new(shape: DomainConfigurationName, required: true, location: "uri", location_name: "domainConfigurationName"))
1502
1536
  CreateDomainConfigurationRequest.add_member(:domain_name, Shapes::ShapeRef.new(shape: DomainName, location_name: "domainName"))
1503
1537
  CreateDomainConfigurationRequest.add_member(:server_certificate_arns, Shapes::ShapeRef.new(shape: ServerCertificateArns, location_name: "serverCertificateArns"))
@@ -1661,7 +1695,8 @@ module Aws::IoT
1661
1695
  CreateSecurityProfileRequest.add_member(:security_profile_description, Shapes::ShapeRef.new(shape: SecurityProfileDescription, location_name: "securityProfileDescription"))
1662
1696
  CreateSecurityProfileRequest.add_member(:behaviors, Shapes::ShapeRef.new(shape: Behaviors, location_name: "behaviors"))
1663
1697
  CreateSecurityProfileRequest.add_member(:alert_targets, Shapes::ShapeRef.new(shape: AlertTargets, location_name: "alertTargets"))
1664
- CreateSecurityProfileRequest.add_member(:additional_metrics_to_retain, Shapes::ShapeRef.new(shape: AdditionalMetricsToRetainList, location_name: "additionalMetricsToRetain"))
1698
+ CreateSecurityProfileRequest.add_member(:additional_metrics_to_retain, Shapes::ShapeRef.new(shape: AdditionalMetricsToRetainList, deprecated: true, location_name: "additionalMetricsToRetain", metadata: {"deprecatedMessage"=>"Use additionalMetricsToRetainV2."}))
1699
+ CreateSecurityProfileRequest.add_member(:additional_metrics_to_retain_v2, Shapes::ShapeRef.new(shape: AdditionalMetricsToRetainV2List, location_name: "additionalMetricsToRetainV2"))
1665
1700
  CreateSecurityProfileRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
1666
1701
  CreateSecurityProfileRequest.struct_class = Types::CreateSecurityProfileRequest
1667
1702
 
@@ -1761,6 +1796,11 @@ module Aws::IoT
1761
1796
  DeleteConflictException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
1762
1797
  DeleteConflictException.struct_class = Types::DeleteConflictException
1763
1798
 
1799
+ DeleteDimensionRequest.add_member(:name, Shapes::ShapeRef.new(shape: DimensionName, required: true, location: "uri", location_name: "name"))
1800
+ DeleteDimensionRequest.struct_class = Types::DeleteDimensionRequest
1801
+
1802
+ DeleteDimensionResponse.struct_class = Types::DeleteDimensionResponse
1803
+
1764
1804
  DeleteDomainConfigurationRequest.add_member(:domain_configuration_name, Shapes::ShapeRef.new(shape: DomainConfigurationName, required: true, location: "uri", location_name: "domainConfigurationName"))
1765
1805
  DeleteDomainConfigurationRequest.struct_class = Types::DeleteDomainConfigurationRequest
1766
1806
 
@@ -1947,6 +1987,17 @@ module Aws::IoT
1947
1987
  DescribeDefaultAuthorizerResponse.add_member(:authorizer_description, Shapes::ShapeRef.new(shape: AuthorizerDescription, location_name: "authorizerDescription"))
1948
1988
  DescribeDefaultAuthorizerResponse.struct_class = Types::DescribeDefaultAuthorizerResponse
1949
1989
 
1990
+ DescribeDimensionRequest.add_member(:name, Shapes::ShapeRef.new(shape: DimensionName, required: true, location: "uri", location_name: "name"))
1991
+ DescribeDimensionRequest.struct_class = Types::DescribeDimensionRequest
1992
+
1993
+ DescribeDimensionResponse.add_member(:name, Shapes::ShapeRef.new(shape: DimensionName, location_name: "name"))
1994
+ DescribeDimensionResponse.add_member(:arn, Shapes::ShapeRef.new(shape: DimensionArn, location_name: "arn"))
1995
+ DescribeDimensionResponse.add_member(:type, Shapes::ShapeRef.new(shape: DimensionType, location_name: "type"))
1996
+ DescribeDimensionResponse.add_member(:string_values, Shapes::ShapeRef.new(shape: DimensionStringValues, location_name: "stringValues"))
1997
+ DescribeDimensionResponse.add_member(:creation_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "creationDate"))
1998
+ DescribeDimensionResponse.add_member(:last_modified_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastModifiedDate"))
1999
+ DescribeDimensionResponse.struct_class = Types::DescribeDimensionResponse
2000
+
1950
2001
  DescribeDomainConfigurationRequest.add_member(:domain_configuration_name, Shapes::ShapeRef.new(shape: ReservedDomainConfigurationName, required: true, location: "uri", location_name: "domainConfigurationName"))
1951
2002
  DescribeDomainConfigurationRequest.struct_class = Types::DescribeDomainConfigurationRequest
1952
2003
 
@@ -2058,7 +2109,8 @@ module Aws::IoT
2058
2109
  DescribeSecurityProfileResponse.add_member(:security_profile_description, Shapes::ShapeRef.new(shape: SecurityProfileDescription, location_name: "securityProfileDescription"))
2059
2110
  DescribeSecurityProfileResponse.add_member(:behaviors, Shapes::ShapeRef.new(shape: Behaviors, location_name: "behaviors"))
2060
2111
  DescribeSecurityProfileResponse.add_member(:alert_targets, Shapes::ShapeRef.new(shape: AlertTargets, location_name: "alertTargets"))
2061
- DescribeSecurityProfileResponse.add_member(:additional_metrics_to_retain, Shapes::ShapeRef.new(shape: AdditionalMetricsToRetainList, location_name: "additionalMetricsToRetain"))
2112
+ DescribeSecurityProfileResponse.add_member(:additional_metrics_to_retain, Shapes::ShapeRef.new(shape: AdditionalMetricsToRetainList, deprecated: true, location_name: "additionalMetricsToRetain", metadata: {"deprecatedMessage"=>"Use additionalMetricsToRetainV2."}))
2113
+ DescribeSecurityProfileResponse.add_member(:additional_metrics_to_retain_v2, Shapes::ShapeRef.new(shape: AdditionalMetricsToRetainV2List, location_name: "additionalMetricsToRetainV2"))
2062
2114
  DescribeSecurityProfileResponse.add_member(:version, Shapes::ShapeRef.new(shape: Version, location_name: "version"))
2063
2115
  DescribeSecurityProfileResponse.add_member(:creation_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "creationDate"))
2064
2116
  DescribeSecurityProfileResponse.add_member(:last_modified_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastModifiedDate"))
@@ -2151,6 +2203,10 @@ module Aws::IoT
2151
2203
  DetailsMap.key = Shapes::ShapeRef.new(shape: DetailsKey)
2152
2204
  DetailsMap.value = Shapes::ShapeRef.new(shape: DetailsValue)
2153
2205
 
2206
+ DimensionNames.member = Shapes::ShapeRef.new(shape: DimensionName)
2207
+
2208
+ DimensionStringValues.member = Shapes::ShapeRef.new(shape: DimensionStringValue)
2209
+
2154
2210
  DisableTopicRuleRequest.add_member(:rule_name, Shapes::ShapeRef.new(shape: RuleName, required: true, location: "uri", location_name: "ruleName"))
2155
2211
  DisableTopicRuleRequest.struct_class = Types::DisableTopicRuleRequest
2156
2212
 
@@ -2633,6 +2689,14 @@ module Aws::IoT
2633
2689
  ListCertificatesResponse.add_member(:next_marker, Shapes::ShapeRef.new(shape: Marker, location_name: "nextMarker"))
2634
2690
  ListCertificatesResponse.struct_class = Types::ListCertificatesResponse
2635
2691
 
2692
+ ListDimensionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
2693
+ ListDimensionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
2694
+ ListDimensionsRequest.struct_class = Types::ListDimensionsRequest
2695
+
2696
+ ListDimensionsResponse.add_member(:dimension_names, Shapes::ShapeRef.new(shape: DimensionNames, location_name: "dimensionNames"))
2697
+ ListDimensionsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
2698
+ ListDimensionsResponse.struct_class = Types::ListDimensionsResponse
2699
+
2636
2700
  ListDomainConfigurationsRequest.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location: "querystring", location_name: "marker"))
2637
2701
  ListDomainConfigurationsRequest.add_member(:page_size, Shapes::ShapeRef.new(shape: PageSize, location: "querystring", location_name: "pageSize"))
2638
2702
  ListDomainConfigurationsRequest.add_member(:service_type, Shapes::ShapeRef.new(shape: ServiceType, location: "querystring", location_name: "serviceType"))
@@ -2799,6 +2863,7 @@ module Aws::IoT
2799
2863
 
2800
2864
  ListSecurityProfilesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
2801
2865
  ListSecurityProfilesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
2866
+ ListSecurityProfilesRequest.add_member(:dimension_name, Shapes::ShapeRef.new(shape: DimensionName, location: "querystring", location_name: "dimensionName"))
2802
2867
  ListSecurityProfilesRequest.struct_class = Types::ListSecurityProfilesRequest
2803
2868
 
2804
2869
  ListSecurityProfilesResponse.add_member(:security_profile_identifiers, Shapes::ShapeRef.new(shape: SecurityProfileIdentifiers, location_name: "securityProfileIdentifiers"))
@@ -2981,6 +3046,14 @@ module Aws::IoT
2981
3046
  MalformedPolicyException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
2982
3047
  MalformedPolicyException.struct_class = Types::MalformedPolicyException
2983
3048
 
3049
+ MetricDimension.add_member(:dimension_name, Shapes::ShapeRef.new(shape: DimensionName, required: true, location_name: "dimensionName"))
3050
+ MetricDimension.add_member(:operator, Shapes::ShapeRef.new(shape: DimensionValueOperator, location_name: "operator"))
3051
+ MetricDimension.struct_class = Types::MetricDimension
3052
+
3053
+ MetricToRetain.add_member(:metric, Shapes::ShapeRef.new(shape: BehaviorMetric, required: true, location_name: "metric"))
3054
+ MetricToRetain.add_member(:metric_dimension, Shapes::ShapeRef.new(shape: MetricDimension, location_name: "metricDimension"))
3055
+ MetricToRetain.struct_class = Types::MetricToRetain
3056
+
2984
3057
  MetricValue.add_member(:count, Shapes::ShapeRef.new(shape: UnsignedLong, location_name: "count"))
2985
3058
  MetricValue.add_member(:cidrs, Shapes::ShapeRef.new(shape: Cidrs, location_name: "cidrs"))
2986
3059
  MetricValue.add_member(:ports, Shapes::ShapeRef.new(shape: Ports, location_name: "ports"))
@@ -3746,6 +3819,18 @@ module Aws::IoT
3746
3819
  UpdateDeviceCertificateParams.add_member(:action, Shapes::ShapeRef.new(shape: DeviceCertificateUpdateAction, required: true, location_name: "action"))
3747
3820
  UpdateDeviceCertificateParams.struct_class = Types::UpdateDeviceCertificateParams
3748
3821
 
3822
+ UpdateDimensionRequest.add_member(:name, Shapes::ShapeRef.new(shape: DimensionName, required: true, location: "uri", location_name: "name"))
3823
+ UpdateDimensionRequest.add_member(:string_values, Shapes::ShapeRef.new(shape: DimensionStringValues, required: true, location_name: "stringValues"))
3824
+ UpdateDimensionRequest.struct_class = Types::UpdateDimensionRequest
3825
+
3826
+ UpdateDimensionResponse.add_member(:name, Shapes::ShapeRef.new(shape: DimensionName, location_name: "name"))
3827
+ UpdateDimensionResponse.add_member(:arn, Shapes::ShapeRef.new(shape: DimensionArn, location_name: "arn"))
3828
+ UpdateDimensionResponse.add_member(:type, Shapes::ShapeRef.new(shape: DimensionType, location_name: "type"))
3829
+ UpdateDimensionResponse.add_member(:string_values, Shapes::ShapeRef.new(shape: DimensionStringValues, location_name: "stringValues"))
3830
+ UpdateDimensionResponse.add_member(:creation_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "creationDate"))
3831
+ UpdateDimensionResponse.add_member(:last_modified_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastModifiedDate"))
3832
+ UpdateDimensionResponse.struct_class = Types::UpdateDimensionResponse
3833
+
3749
3834
  UpdateDomainConfigurationRequest.add_member(:domain_configuration_name, Shapes::ShapeRef.new(shape: ReservedDomainConfigurationName, required: true, location: "uri", location_name: "domainConfigurationName"))
3750
3835
  UpdateDomainConfigurationRequest.add_member(:authorizer_config, Shapes::ShapeRef.new(shape: AuthorizerConfig, location_name: "authorizerConfig"))
3751
3836
  UpdateDomainConfigurationRequest.add_member(:domain_configuration_status, Shapes::ShapeRef.new(shape: DomainConfigurationStatus, location_name: "domainConfigurationStatus"))
@@ -3827,7 +3912,8 @@ module Aws::IoT
3827
3912
  UpdateSecurityProfileRequest.add_member(:security_profile_description, Shapes::ShapeRef.new(shape: SecurityProfileDescription, location_name: "securityProfileDescription"))
3828
3913
  UpdateSecurityProfileRequest.add_member(:behaviors, Shapes::ShapeRef.new(shape: Behaviors, location_name: "behaviors"))
3829
3914
  UpdateSecurityProfileRequest.add_member(:alert_targets, Shapes::ShapeRef.new(shape: AlertTargets, location_name: "alertTargets"))
3830
- UpdateSecurityProfileRequest.add_member(:additional_metrics_to_retain, Shapes::ShapeRef.new(shape: AdditionalMetricsToRetainList, location_name: "additionalMetricsToRetain"))
3915
+ UpdateSecurityProfileRequest.add_member(:additional_metrics_to_retain, Shapes::ShapeRef.new(shape: AdditionalMetricsToRetainList, deprecated: true, location_name: "additionalMetricsToRetain", metadata: {"deprecatedMessage"=>"Use additionalMetricsToRetainV2."}))
3916
+ UpdateSecurityProfileRequest.add_member(:additional_metrics_to_retain_v2, Shapes::ShapeRef.new(shape: AdditionalMetricsToRetainV2List, location_name: "additionalMetricsToRetainV2"))
3831
3917
  UpdateSecurityProfileRequest.add_member(:delete_behaviors, Shapes::ShapeRef.new(shape: DeleteBehaviors, location_name: "deleteBehaviors"))
3832
3918
  UpdateSecurityProfileRequest.add_member(:delete_alert_targets, Shapes::ShapeRef.new(shape: DeleteAlertTargets, location_name: "deleteAlertTargets"))
3833
3919
  UpdateSecurityProfileRequest.add_member(:delete_additional_metrics_to_retain, Shapes::ShapeRef.new(shape: DeleteAdditionalMetricsToRetain, location_name: "deleteAdditionalMetricsToRetain"))
@@ -3839,7 +3925,8 @@ module Aws::IoT
3839
3925
  UpdateSecurityProfileResponse.add_member(:security_profile_description, Shapes::ShapeRef.new(shape: SecurityProfileDescription, location_name: "securityProfileDescription"))
3840
3926
  UpdateSecurityProfileResponse.add_member(:behaviors, Shapes::ShapeRef.new(shape: Behaviors, location_name: "behaviors"))
3841
3927
  UpdateSecurityProfileResponse.add_member(:alert_targets, Shapes::ShapeRef.new(shape: AlertTargets, location_name: "alertTargets"))
3842
- UpdateSecurityProfileResponse.add_member(:additional_metrics_to_retain, Shapes::ShapeRef.new(shape: AdditionalMetricsToRetainList, location_name: "additionalMetricsToRetain"))
3928
+ UpdateSecurityProfileResponse.add_member(:additional_metrics_to_retain, Shapes::ShapeRef.new(shape: AdditionalMetricsToRetainList, deprecated: true, location_name: "additionalMetricsToRetain", metadata: {"deprecatedMessage"=>"Use additionalMetricsToRetainV2."}))
3929
+ UpdateSecurityProfileResponse.add_member(:additional_metrics_to_retain_v2, Shapes::ShapeRef.new(shape: AdditionalMetricsToRetainV2List, location_name: "additionalMetricsToRetainV2"))
3843
3930
  UpdateSecurityProfileResponse.add_member(:version, Shapes::ShapeRef.new(shape: Version, location_name: "version"))
3844
3931
  UpdateSecurityProfileResponse.add_member(:creation_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "creationDate"))
3845
3932
  UpdateSecurityProfileResponse.add_member(:last_modified_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastModifiedDate"))
@@ -4177,6 +4264,19 @@ module Aws::IoT
4177
4264
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
4178
4265
  end)
4179
4266
 
4267
+ api.add_operation(:create_dimension, Seahorse::Model::Operation.new.tap do |o|
4268
+ o.name = "CreateDimension"
4269
+ o.http_method = "POST"
4270
+ o.http_request_uri = "/dimensions/{name}"
4271
+ o.input = Shapes::ShapeRef.new(shape: CreateDimensionRequest)
4272
+ o.output = Shapes::ShapeRef.new(shape: CreateDimensionResponse)
4273
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
4274
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
4275
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
4276
+ o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
4277
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
4278
+ end)
4279
+
4180
4280
  api.add_operation(:create_domain_configuration, Seahorse::Model::Operation.new.tap do |o|
4181
4281
  o.name = "CreateDomainConfiguration"
4182
4282
  o.http_method = "POST"
@@ -4532,6 +4632,17 @@ module Aws::IoT
4532
4632
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
4533
4633
  end)
4534
4634
 
4635
+ api.add_operation(:delete_dimension, Seahorse::Model::Operation.new.tap do |o|
4636
+ o.name = "DeleteDimension"
4637
+ o.http_method = "DELETE"
4638
+ o.http_request_uri = "/dimensions/{name}"
4639
+ o.input = Shapes::ShapeRef.new(shape: DeleteDimensionRequest)
4640
+ o.output = Shapes::ShapeRef.new(shape: DeleteDimensionResponse)
4641
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
4642
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
4643
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
4644
+ end)
4645
+
4535
4646
  api.add_operation(:delete_domain_configuration, Seahorse::Model::Operation.new.tap do |o|
4536
4647
  o.name = "DeleteDomainConfiguration"
4537
4648
  o.http_method = "DELETE"
@@ -4942,6 +5053,18 @@ module Aws::IoT
4942
5053
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
4943
5054
  end)
4944
5055
 
5056
+ api.add_operation(:describe_dimension, Seahorse::Model::Operation.new.tap do |o|
5057
+ o.name = "DescribeDimension"
5058
+ o.http_method = "GET"
5059
+ o.http_request_uri = "/dimensions/{name}"
5060
+ o.input = Shapes::ShapeRef.new(shape: DescribeDimensionRequest)
5061
+ o.output = Shapes::ShapeRef.new(shape: DescribeDimensionResponse)
5062
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
5063
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
5064
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
5065
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
5066
+ end)
5067
+
4945
5068
  api.add_operation(:describe_domain_configuration, Seahorse::Model::Operation.new.tap do |o|
4946
5069
  o.name = "DescribeDomainConfiguration"
4947
5070
  o.http_method = "GET"
@@ -5566,6 +5689,17 @@ module Aws::IoT
5566
5689
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
5567
5690
  end)
5568
5691
 
5692
+ api.add_operation(:list_dimensions, Seahorse::Model::Operation.new.tap do |o|
5693
+ o.name = "ListDimensions"
5694
+ o.http_method = "GET"
5695
+ o.http_request_uri = "/dimensions"
5696
+ o.input = Shapes::ShapeRef.new(shape: ListDimensionsRequest)
5697
+ o.output = Shapes::ShapeRef.new(shape: ListDimensionsResponse)
5698
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
5699
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
5700
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
5701
+ end)
5702
+
5569
5703
  api.add_operation(:list_domain_configurations, Seahorse::Model::Operation.new.tap do |o|
5570
5704
  o.name = "ListDomainConfigurations"
5571
5705
  o.http_method = "GET"
@@ -5794,6 +5928,7 @@ module Aws::IoT
5794
5928
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
5795
5929
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
5796
5930
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
5931
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
5797
5932
  end)
5798
5933
 
5799
5934
  api.add_operation(:list_security_profiles_for_target, Seahorse::Model::Operation.new.tap do |o|
@@ -6385,6 +6520,18 @@ module Aws::IoT
6385
6520
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
6386
6521
  end)
6387
6522
 
6523
+ api.add_operation(:update_dimension, Seahorse::Model::Operation.new.tap do |o|
6524
+ o.name = "UpdateDimension"
6525
+ o.http_method = "PATCH"
6526
+ o.http_request_uri = "/dimensions/{name}"
6527
+ o.input = Shapes::ShapeRef.new(shape: UpdateDimensionRequest)
6528
+ o.output = Shapes::ShapeRef.new(shape: UpdateDimensionResponse)
6529
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
6530
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
6531
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
6532
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
6533
+ end)
6534
+
6388
6535
  api.add_operation(:update_domain_configuration, Seahorse::Model::Operation.new.tap do |o|
6389
6536
  o.name = "UpdateDomainConfiguration"
6390
6537
  o.http_method = "PUT"
@@ -6,13 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::IoT
9
- # This class provides a resource oriented interface for IoT.
10
- # To create a resource object:
11
- # resource = Aws::IoT::Resource.new(region: 'us-west-2')
12
- # You can supply a client object with custom configuration that will be used for all resource operations.
13
- # If you do not pass +:client+, a default client will be constructed.
14
- # client = Aws::IoT::Client.new(region: 'us-west-2')
15
- # resource = Aws::IoT::Resource.new(client: client)
9
+
16
10
  class Resource
17
11
 
18
12
  # @param options ({})
@@ -293,7 +293,7 @@ module Aws::IoT
293
293
  # @return [Types::CloudwatchAlarmAction]
294
294
  #
295
295
  # @!attribute [rw] cloudwatch_logs
296
- # Send data to CloudWatch logs.
296
+ # Send data to CloudWatch Logs.
297
297
  # @return [Types::CloudwatchLogsAction]
298
298
  #
299
299
  # @!attribute [rw] elasticsearch
@@ -1327,6 +1327,10 @@ module Aws::IoT
1327
1327
  # {
1328
1328
  # name: "BehaviorName", # required
1329
1329
  # metric: "BehaviorMetric",
1330
+ # metric_dimension: {
1331
+ # dimension_name: "DimensionName", # required
1332
+ # operator: "IN", # accepts IN, NOT_IN
1333
+ # },
1330
1334
  # criteria: {
1331
1335
  # comparison_operator: "less-than", # accepts less-than, less-than-equals, greater-than, greater-than-equals, in-cidr-set, not-in-cidr-set, in-port-set, not-in-port-set
1332
1336
  # value: {
@@ -1351,6 +1355,13 @@ module Aws::IoT
1351
1355
  # What is measured by the behavior.
1352
1356
  # @return [String]
1353
1357
  #
1358
+ # @!attribute [rw] metric_dimension
1359
+ # The dimension for a metric in your behavior. For example, using a
1360
+ # `TOPIC_FILTER` dimension, you can narrow down the scope of the
1361
+ # metric only to MQTT topics whose name match the pattern specified in
1362
+ # the dimension.
1363
+ # @return [Types::MetricDimension]
1364
+ #
1354
1365
  # @!attribute [rw] criteria
1355
1366
  # The criteria that determine if a device is behaving normally in
1356
1367
  # regard to the `metric`.
@@ -1359,6 +1370,7 @@ module Aws::IoT
1359
1370
  class Behavior < Struct.new(
1360
1371
  :name,
1361
1372
  :metric,
1373
+ :metric_dimension,
1362
1374
  :criteria)
1363
1375
  include Aws::Structure
1364
1376
  end
@@ -1925,7 +1937,7 @@ module Aws::IoT
1925
1937
  include Aws::Structure
1926
1938
  end
1927
1939
 
1928
- # Describes an action that sends data to CloudWatch logs.
1940
+ # Describes an action that sends data to CloudWatch Logs.
1929
1941
  #
1930
1942
  # @note When making an API call, you may pass CloudwatchLogsAction
1931
1943
  # data as a hash:
@@ -2317,6 +2329,75 @@ module Aws::IoT
2317
2329
  include Aws::Structure
2318
2330
  end
2319
2331
 
2332
+ # @note When making an API call, you may pass CreateDimensionRequest
2333
+ # data as a hash:
2334
+ #
2335
+ # {
2336
+ # name: "DimensionName", # required
2337
+ # type: "TOPIC_FILTER", # required, accepts TOPIC_FILTER
2338
+ # string_values: ["DimensionStringValue"], # required
2339
+ # tags: [
2340
+ # {
2341
+ # key: "TagKey",
2342
+ # value: "TagValue",
2343
+ # },
2344
+ # ],
2345
+ # client_request_token: "ClientRequestToken", # required
2346
+ # }
2347
+ #
2348
+ # @!attribute [rw] name
2349
+ # A unique identifier for the dimension. Choose something that
2350
+ # describes the type and value to make it easy to remember what it
2351
+ # does.
2352
+ # @return [String]
2353
+ #
2354
+ # @!attribute [rw] type
2355
+ # Specifies the type of dimension. Supported types: `TOPIC_FILTER.`
2356
+ # @return [String]
2357
+ #
2358
+ # @!attribute [rw] string_values
2359
+ # Specifies the value or list of values for the dimension. For
2360
+ # `TOPIC_FILTER` dimensions, this is a pattern used to match the MQTT
2361
+ # topic (for example, "admin/#").
2362
+ # @return [Array<String>]
2363
+ #
2364
+ # @!attribute [rw] tags
2365
+ # Metadata that can be used to manage the dimension.
2366
+ # @return [Array<Types::Tag>]
2367
+ #
2368
+ # @!attribute [rw] client_request_token
2369
+ # Each dimension must have a unique client request token. If you try
2370
+ # to create a new dimension with the same token as a dimension that
2371
+ # already exists, an exception occurs. If you omit this value, AWS
2372
+ # SDKs will automatically generate a unique client request.
2373
+ #
2374
+ # **A suitable default value is auto-generated.** You should normally
2375
+ # not need to pass this option.
2376
+ # @return [String]
2377
+ #
2378
+ class CreateDimensionRequest < Struct.new(
2379
+ :name,
2380
+ :type,
2381
+ :string_values,
2382
+ :tags,
2383
+ :client_request_token)
2384
+ include Aws::Structure
2385
+ end
2386
+
2387
+ # @!attribute [rw] name
2388
+ # A unique identifier for the dimension.
2389
+ # @return [String]
2390
+ #
2391
+ # @!attribute [rw] arn
2392
+ # The ARN (Amazon resource name) of the created dimension.
2393
+ # @return [String]
2394
+ #
2395
+ class CreateDimensionResponse < Struct.new(
2396
+ :name,
2397
+ :arn)
2398
+ include Aws::Structure
2399
+ end
2400
+
2320
2401
  # @note When making an API call, you may pass CreateDomainConfigurationRequest
2321
2402
  # data as a hash:
2322
2403
  #
@@ -3349,6 +3430,10 @@ module Aws::IoT
3349
3430
  # {
3350
3431
  # name: "BehaviorName", # required
3351
3432
  # metric: "BehaviorMetric",
3433
+ # metric_dimension: {
3434
+ # dimension_name: "DimensionName", # required
3435
+ # operator: "IN", # accepts IN, NOT_IN
3436
+ # },
3352
3437
  # criteria: {
3353
3438
  # comparison_operator: "less-than", # accepts less-than, less-than-equals, greater-than, greater-than-equals, in-cidr-set, not-in-cidr-set, in-port-set, not-in-port-set
3354
3439
  # value: {
@@ -3372,6 +3457,15 @@ module Aws::IoT
3372
3457
  # },
3373
3458
  # },
3374
3459
  # additional_metrics_to_retain: ["BehaviorMetric"],
3460
+ # additional_metrics_to_retain_v2: [
3461
+ # {
3462
+ # metric: "BehaviorMetric", # required
3463
+ # metric_dimension: {
3464
+ # dimension_name: "DimensionName", # required
3465
+ # operator: "IN", # accepts IN, NOT_IN
3466
+ # },
3467
+ # },
3468
+ # ],
3375
3469
  # tags: [
3376
3470
  # {
3377
3471
  # key: "TagKey",
@@ -3403,8 +3497,17 @@ module Aws::IoT
3403
3497
  # A list of metrics whose data is retained (stored). By default, data
3404
3498
  # is retained for any metric used in the profile's `behaviors`, but
3405
3499
  # it is also retained for any metric specified here.
3500
+ #
3501
+ # **Note:** This API field is deprecated. Please use
3502
+ # CreateSecurityProfileRequest$additionalMetricsToRetainV2 instead.
3406
3503
  # @return [Array<String>]
3407
3504
  #
3505
+ # @!attribute [rw] additional_metrics_to_retain_v2
3506
+ # A list of metrics whose data is retained (stored). By default, data
3507
+ # is retained for any metric used in the profile's `behaviors`, but
3508
+ # it is also retained for any metric specified here.
3509
+ # @return [Array<Types::MetricToRetain>]
3510
+ #
3408
3511
  # @!attribute [rw] tags
3409
3512
  # Metadata that can be used to manage the security profile.
3410
3513
  # @return [Array<Types::Tag>]
@@ -3415,6 +3518,7 @@ module Aws::IoT
3415
3518
  :behaviors,
3416
3519
  :alert_targets,
3417
3520
  :additional_metrics_to_retain,
3521
+ :additional_metrics_to_retain_v2,
3418
3522
  :tags)
3419
3523
  include Aws::Structure
3420
3524
  end
@@ -4228,6 +4332,24 @@ module Aws::IoT
4228
4332
  include Aws::Structure
4229
4333
  end
4230
4334
 
4335
+ # @note When making an API call, you may pass DeleteDimensionRequest
4336
+ # data as a hash:
4337
+ #
4338
+ # {
4339
+ # name: "DimensionName", # required
4340
+ # }
4341
+ #
4342
+ # @!attribute [rw] name
4343
+ # The unique identifier for the dimension that you want to delete.
4344
+ # @return [String]
4345
+ #
4346
+ class DeleteDimensionRequest < Struct.new(
4347
+ :name)
4348
+ include Aws::Structure
4349
+ end
4350
+
4351
+ class DeleteDimensionResponse < Aws::EmptyStructure; end
4352
+
4231
4353
  # @note When making an API call, you may pass DeleteDomainConfigurationRequest
4232
4354
  # data as a hash:
4233
4355
  #
@@ -5086,6 +5208,58 @@ module Aws::IoT
5086
5208
  include Aws::Structure
5087
5209
  end
5088
5210
 
5211
+ # @note When making an API call, you may pass DescribeDimensionRequest
5212
+ # data as a hash:
5213
+ #
5214
+ # {
5215
+ # name: "DimensionName", # required
5216
+ # }
5217
+ #
5218
+ # @!attribute [rw] name
5219
+ # The unique identifier for the dimension.
5220
+ # @return [String]
5221
+ #
5222
+ class DescribeDimensionRequest < Struct.new(
5223
+ :name)
5224
+ include Aws::Structure
5225
+ end
5226
+
5227
+ # @!attribute [rw] name
5228
+ # The unique identifier for the dimension.
5229
+ # @return [String]
5230
+ #
5231
+ # @!attribute [rw] arn
5232
+ # The ARN (Amazon resource name) for the dimension.
5233
+ # @return [String]
5234
+ #
5235
+ # @!attribute [rw] type
5236
+ # The type of the dimension.
5237
+ # @return [String]
5238
+ #
5239
+ # @!attribute [rw] string_values
5240
+ # The value or list of values used to scope the dimension. For
5241
+ # example, for topic filters, this is the pattern used to match the
5242
+ # MQTT topic name.
5243
+ # @return [Array<String>]
5244
+ #
5245
+ # @!attribute [rw] creation_date
5246
+ # The date the dimension was created.
5247
+ # @return [Time]
5248
+ #
5249
+ # @!attribute [rw] last_modified_date
5250
+ # The date the dimension was last modified.
5251
+ # @return [Time]
5252
+ #
5253
+ class DescribeDimensionResponse < Struct.new(
5254
+ :name,
5255
+ :arn,
5256
+ :type,
5257
+ :string_values,
5258
+ :creation_date,
5259
+ :last_modified_date)
5260
+ include Aws::Structure
5261
+ end
5262
+
5089
5263
  # @note When making an API call, you may pass DescribeDomainConfigurationRequest
5090
5264
  # data as a hash:
5091
5265
  #
@@ -5646,8 +5820,17 @@ module Aws::IoT
5646
5820
  # A list of metrics whose data is retained (stored). By default, data
5647
5821
  # is retained for any metric used in the profile's `behaviors`, but
5648
5822
  # it is also retained for any metric specified here.
5823
+ #
5824
+ # **Note:** This API field is deprecated. Please use
5825
+ # DescribeSecurityProfileResponse$additionalMetricsToRetainV2 instead.
5649
5826
  # @return [Array<String>]
5650
5827
  #
5828
+ # @!attribute [rw] additional_metrics_to_retain_v2
5829
+ # A list of metrics whose data is retained (stored). By default, data
5830
+ # is retained for any metric used in the profile's behaviors, but it
5831
+ # is also retained for any metric specified here.
5832
+ # @return [Array<Types::MetricToRetain>]
5833
+ #
5651
5834
  # @!attribute [rw] version
5652
5835
  # The version of the security profile. A new version is generated
5653
5836
  # whenever the security profile is updated.
@@ -5668,6 +5851,7 @@ module Aws::IoT
5668
5851
  :behaviors,
5669
5852
  :alert_targets,
5670
5853
  :additional_metrics_to_retain,
5854
+ :additional_metrics_to_retain_v2,
5671
5855
  :version,
5672
5856
  :creation_date,
5673
5857
  :last_modified_date)
@@ -7086,7 +7270,7 @@ module Aws::IoT
7086
7270
  # not specify a confirmation URL AWS IoT uses the endpoint URL as the
7087
7271
  # confirmation URL. If you use substitution templates in the
7088
7272
  # confirmationUrl, you must create and enable topic rule destinations
7089
- # that match each possible value of the substituion template before
7273
+ # that match each possible value of the substitution template before
7090
7274
  # traffic is allowed to your endpoint URL.
7091
7275
  # @return [String]
7092
7276
  #
@@ -8553,6 +8737,44 @@ module Aws::IoT
8553
8737
  include Aws::Structure
8554
8738
  end
8555
8739
 
8740
+ # @note When making an API call, you may pass ListDimensionsRequest
8741
+ # data as a hash:
8742
+ #
8743
+ # {
8744
+ # next_token: "NextToken",
8745
+ # max_results: 1,
8746
+ # }
8747
+ #
8748
+ # @!attribute [rw] next_token
8749
+ # The token for the next set of results.
8750
+ # @return [String]
8751
+ #
8752
+ # @!attribute [rw] max_results
8753
+ # The maximum number of results to retrieve at one time.
8754
+ # @return [Integer]
8755
+ #
8756
+ class ListDimensionsRequest < Struct.new(
8757
+ :next_token,
8758
+ :max_results)
8759
+ include Aws::Structure
8760
+ end
8761
+
8762
+ # @!attribute [rw] dimension_names
8763
+ # A list of the names of the defined dimensions. Use
8764
+ # `DescribeDimension` to get details for a dimension.
8765
+ # @return [Array<String>]
8766
+ #
8767
+ # @!attribute [rw] next_token
8768
+ # A token that can be used to retrieve the next set of results, or
8769
+ # `null` if there are no additional results.
8770
+ # @return [String]
8771
+ #
8772
+ class ListDimensionsResponse < Struct.new(
8773
+ :dimension_names,
8774
+ :next_token)
8775
+ include Aws::Structure
8776
+ end
8777
+
8556
8778
  # @note When making an API call, you may pass ListDomainConfigurationsRequest
8557
8779
  # data as a hash:
8558
8780
  #
@@ -9381,6 +9603,7 @@ module Aws::IoT
9381
9603
  # {
9382
9604
  # next_token: "NextToken",
9383
9605
  # max_results: 1,
9606
+ # dimension_name: "DimensionName",
9384
9607
  # }
9385
9608
  #
9386
9609
  # @!attribute [rw] next_token
@@ -9391,9 +9614,15 @@ module Aws::IoT
9391
9614
  # The maximum number of results to return at one time.
9392
9615
  # @return [Integer]
9393
9616
  #
9617
+ # @!attribute [rw] dimension_name
9618
+ # A filter to limit results to the security profiles that use the
9619
+ # defined dimension.
9620
+ # @return [String]
9621
+ #
9394
9622
  class ListSecurityProfilesRequest < Struct.new(
9395
9623
  :next_token,
9396
- :max_results)
9624
+ :max_results,
9625
+ :dimension_name)
9397
9626
  include Aws::Structure
9398
9627
  end
9399
9628
 
@@ -10274,6 +10503,63 @@ module Aws::IoT
10274
10503
  include Aws::Structure
10275
10504
  end
10276
10505
 
10506
+ # The dimension of a metric.
10507
+ #
10508
+ # @note When making an API call, you may pass MetricDimension
10509
+ # data as a hash:
10510
+ #
10511
+ # {
10512
+ # dimension_name: "DimensionName", # required
10513
+ # operator: "IN", # accepts IN, NOT_IN
10514
+ # }
10515
+ #
10516
+ # @!attribute [rw] dimension_name
10517
+ # A unique identifier for the dimension.
10518
+ # @return [String]
10519
+ #
10520
+ # @!attribute [rw] operator
10521
+ # Defines how the `dimensionValues` of a dimension are interpreted.
10522
+ # For example, for DimensionType TOPIC\_FILTER, with `IN` operator, a
10523
+ # message will be counted only if its topic matches one of the topic
10524
+ # filters. With `NOT_IN` Operator, a message will be counted only if
10525
+ # it doesn't match any of the topic filters. The operator is
10526
+ # optional: if it's not provided (is `null`), it will be interpreted
10527
+ # as `IN`.
10528
+ # @return [String]
10529
+ #
10530
+ class MetricDimension < Struct.new(
10531
+ :dimension_name,
10532
+ :operator)
10533
+ include Aws::Structure
10534
+ end
10535
+
10536
+ # The metric you want to retain. Dimensions are optional.
10537
+ #
10538
+ # @note When making an API call, you may pass MetricToRetain
10539
+ # data as a hash:
10540
+ #
10541
+ # {
10542
+ # metric: "BehaviorMetric", # required
10543
+ # metric_dimension: {
10544
+ # dimension_name: "DimensionName", # required
10545
+ # operator: "IN", # accepts IN, NOT_IN
10546
+ # },
10547
+ # }
10548
+ #
10549
+ # @!attribute [rw] metric
10550
+ # What is measured by the behavior.
10551
+ # @return [String]
10552
+ #
10553
+ # @!attribute [rw] metric_dimension
10554
+ # The dimension of a metric.
10555
+ # @return [Types::MetricDimension]
10556
+ #
10557
+ class MetricToRetain < Struct.new(
10558
+ :metric,
10559
+ :metric_dimension)
10560
+ include Aws::Structure
10561
+ end
10562
+
10277
10563
  # The value to be compared with the `metric`.
10278
10564
  #
10279
10565
  # @note When making an API call, you may pass MetricValue
@@ -14513,6 +14799,70 @@ module Aws::IoT
14513
14799
  include Aws::Structure
14514
14800
  end
14515
14801
 
14802
+ # @note When making an API call, you may pass UpdateDimensionRequest
14803
+ # data as a hash:
14804
+ #
14805
+ # {
14806
+ # name: "DimensionName", # required
14807
+ # string_values: ["DimensionStringValue"], # required
14808
+ # }
14809
+ #
14810
+ # @!attribute [rw] name
14811
+ # A unique identifier for the dimension. Choose something that
14812
+ # describes the type and value to make it easy to remember what it
14813
+ # does.
14814
+ # @return [String]
14815
+ #
14816
+ # @!attribute [rw] string_values
14817
+ # Specifies the value or list of values for the dimension. For
14818
+ # `TOPIC_FILTER` dimensions, this is a pattern used to match the MQTT
14819
+ # topic (for example, "admin/#").
14820
+ # @return [Array<String>]
14821
+ #
14822
+ class UpdateDimensionRequest < Struct.new(
14823
+ :name,
14824
+ :string_values)
14825
+ include Aws::Structure
14826
+ end
14827
+
14828
+ # @!attribute [rw] name
14829
+ # A unique identifier for the dimension.
14830
+ # @return [String]
14831
+ #
14832
+ # @!attribute [rw] arn
14833
+ # The ARN (Amazon resource name) of the created dimension.
14834
+ # @return [String]
14835
+ #
14836
+ # @!attribute [rw] type
14837
+ # The type of the dimension.
14838
+ # @return [String]
14839
+ #
14840
+ # @!attribute [rw] string_values
14841
+ # The value or list of values used to scope the dimension. For
14842
+ # example, for topic filters, this is the pattern used to match the
14843
+ # MQTT topic name.
14844
+ # @return [Array<String>]
14845
+ #
14846
+ # @!attribute [rw] creation_date
14847
+ # The date and time, in milliseconds since epoch, when the dimension
14848
+ # was initially created.
14849
+ # @return [Time]
14850
+ #
14851
+ # @!attribute [rw] last_modified_date
14852
+ # The date and time, in milliseconds since epoch, when the dimension
14853
+ # was most recently updated.
14854
+ # @return [Time]
14855
+ #
14856
+ class UpdateDimensionResponse < Struct.new(
14857
+ :name,
14858
+ :arn,
14859
+ :type,
14860
+ :string_values,
14861
+ :creation_date,
14862
+ :last_modified_date)
14863
+ include Aws::Structure
14864
+ end
14865
+
14516
14866
  # @note When making an API call, you may pass UpdateDomainConfigurationRequest
14517
14867
  # data as a hash:
14518
14868
  #
@@ -15008,6 +15358,10 @@ module Aws::IoT
15008
15358
  # {
15009
15359
  # name: "BehaviorName", # required
15010
15360
  # metric: "BehaviorMetric",
15361
+ # metric_dimension: {
15362
+ # dimension_name: "DimensionName", # required
15363
+ # operator: "IN", # accepts IN, NOT_IN
15364
+ # },
15011
15365
  # criteria: {
15012
15366
  # comparison_operator: "less-than", # accepts less-than, less-than-equals, greater-than, greater-than-equals, in-cidr-set, not-in-cidr-set, in-port-set, not-in-port-set
15013
15367
  # value: {
@@ -15031,6 +15385,15 @@ module Aws::IoT
15031
15385
  # },
15032
15386
  # },
15033
15387
  # additional_metrics_to_retain: ["BehaviorMetric"],
15388
+ # additional_metrics_to_retain_v2: [
15389
+ # {
15390
+ # metric: "BehaviorMetric", # required
15391
+ # metric_dimension: {
15392
+ # dimension_name: "DimensionName", # required
15393
+ # operator: "IN", # accepts IN, NOT_IN
15394
+ # },
15395
+ # },
15396
+ # ],
15034
15397
  # delete_behaviors: false,
15035
15398
  # delete_alert_targets: false,
15036
15399
  # delete_additional_metrics_to_retain: false,
@@ -15058,8 +15421,17 @@ module Aws::IoT
15058
15421
  # A list of metrics whose data is retained (stored). By default, data
15059
15422
  # is retained for any metric used in the profile's `behaviors`, but
15060
15423
  # it is also retained for any metric specified here.
15424
+ #
15425
+ # **Note:** This API field is deprecated. Please use
15426
+ # UpdateSecurityProfileRequest$additionalMetricsToRetainV2 instead.
15061
15427
  # @return [Array<String>]
15062
15428
  #
15429
+ # @!attribute [rw] additional_metrics_to_retain_v2
15430
+ # A list of metrics whose data is retained (stored). By default, data
15431
+ # is retained for any metric used in the profile's behaviors, but it
15432
+ # is also retained for any metric specified here.
15433
+ # @return [Array<Types::MetricToRetain>]
15434
+ #
15063
15435
  # @!attribute [rw] delete_behaviors
15064
15436
  # If true, delete all `behaviors` defined for this security profile.
15065
15437
  # If any `behaviors` are defined in the current invocation, an
@@ -15091,6 +15463,7 @@ module Aws::IoT
15091
15463
  :behaviors,
15092
15464
  :alert_targets,
15093
15465
  :additional_metrics_to_retain,
15466
+ :additional_metrics_to_retain_v2,
15094
15467
  :delete_behaviors,
15095
15468
  :delete_alert_targets,
15096
15469
  :delete_additional_metrics_to_retain,
@@ -15123,8 +15496,17 @@ module Aws::IoT
15123
15496
  # A list of metrics whose data is retained (stored). By default, data
15124
15497
  # is retained for any metric used in the security profile's
15125
15498
  # `behaviors`, but it is also retained for any metric specified here.
15499
+ #
15500
+ # **Note:** This API field is deprecated. Please use
15501
+ # UpdateSecurityProfileResponse$additionalMetricsToRetainV2 instead.
15126
15502
  # @return [Array<String>]
15127
15503
  #
15504
+ # @!attribute [rw] additional_metrics_to_retain_v2
15505
+ # A list of metrics whose data is retained (stored). By default, data
15506
+ # is retained for any metric used in the profile's behaviors, but it
15507
+ # is also retained for any metric specified here.
15508
+ # @return [Array<Types::MetricToRetain>]
15509
+ #
15128
15510
  # @!attribute [rw] version
15129
15511
  # The updated version of the security profile.
15130
15512
  # @return [Integer]
@@ -15144,6 +15526,7 @@ module Aws::IoT
15144
15526
  :behaviors,
15145
15527
  :alert_targets,
15146
15528
  :additional_metrics_to_retain,
15529
+ :additional_metrics_to_retain_v2,
15147
15530
  :version,
15148
15531
  :creation_date,
15149
15532
  :last_modified_date)
@@ -15425,6 +15808,10 @@ module Aws::IoT
15425
15808
  # {
15426
15809
  # name: "BehaviorName", # required
15427
15810
  # metric: "BehaviorMetric",
15811
+ # metric_dimension: {
15812
+ # dimension_name: "DimensionName", # required
15813
+ # operator: "IN", # accepts IN, NOT_IN
15814
+ # },
15428
15815
  # criteria: {
15429
15816
  # comparison_operator: "less-than", # accepts less-than, less-than-equals, greater-than, greater-than-equals, in-cidr-set, not-in-cidr-set, in-port-set, not-in-port-set
15430
15817
  # value: {