aws-sdk-iot 1.63.0 → 1.68.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,7 +2,7 @@
2
2
  # WARNING ABOUT GENERATED CODE
3
3
  #
4
4
  # This file is generated. See the contributing for info on making contributions:
5
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
6
6
  #
7
7
  # WARNING ABOUT GENERATED CODE
8
8
 
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -267,6 +267,15 @@ module Aws::IoT
267
267
  # },
268
268
  # },
269
269
  # },
270
+ # kafka: {
271
+ # destination_arn: "AwsArn", # required
272
+ # topic: "String", # required
273
+ # key: "String",
274
+ # partition: "String",
275
+ # client_properties: { # required
276
+ # "String" => "String",
277
+ # },
278
+ # },
270
279
  # }
271
280
  #
272
281
  # @!attribute [rw] dynamo_db
@@ -358,6 +367,11 @@ module Aws::IoT
358
367
  # Send data to an HTTPS endpoint.
359
368
  # @return [Types::HttpAction]
360
369
  #
370
+ # @!attribute [rw] kafka
371
+ # Send messages to an Amazon Managed Streaming for Apache Kafka
372
+ # (Amazon MSK) or self-managed Apache Kafka cluster.
373
+ # @return [Types::KafkaAction]
374
+ #
361
375
  class Action < Struct.new(
362
376
  :dynamo_db,
363
377
  :dynamo_d_bv_2,
@@ -378,7 +392,8 @@ module Aws::IoT
378
392
  :iot_site_wise,
379
393
  :step_functions,
380
394
  :timestream,
381
- :http)
395
+ :http,
396
+ :kafka)
382
397
  SENSITIVE = []
383
398
  include Aws::Structure
384
399
  end
@@ -395,18 +410,22 @@ module Aws::IoT
395
410
  # @return [String]
396
411
  #
397
412
  # @!attribute [rw] security_profile_name
398
- # The security profile whose behavior is in violation.
413
+ # The security profile with the behavior is in violation.
399
414
  # @return [String]
400
415
  #
401
416
  # @!attribute [rw] behavior
402
- # The behavior which is being violated.
417
+ # The behavior that is being violated.
403
418
  # @return [Types::Behavior]
404
419
  #
405
420
  # @!attribute [rw] last_violation_value
406
- # The value of the metric (the measurement) which caused the most
421
+ # The value of the metric (the measurement) that caused the most
407
422
  # recent violation.
408
423
  # @return [Types::MetricValue]
409
424
  #
425
+ # @!attribute [rw] violation_event_additional_info
426
+ # The details of a violation event.
427
+ # @return [Types::ViolationEventAdditionalInfo]
428
+ #
410
429
  # @!attribute [rw] last_violation_time
411
430
  # The time the most recent violation occurred.
412
431
  # @return [Time]
@@ -421,6 +440,7 @@ module Aws::IoT
421
440
  :security_profile_name,
422
441
  :behavior,
423
442
  :last_violation_value,
443
+ :violation_event_additional_info,
424
444
  :last_violation_time,
425
445
  :violation_start_time)
426
446
  SENSITIVE = []
@@ -524,14 +544,14 @@ module Aws::IoT
524
544
  # @!attribute [rw] thing_group_names
525
545
  # The list of groups to which you want to add the things that
526
546
  # triggered the mitigation action. You can add a thing to a maximum of
527
- # 10 groups, but you cannot add a thing to more than one group in the
547
+ # 10 groups, but you can't add a thing to more than one group in the
528
548
  # same hierarchy.
529
549
  # @return [Array<String>]
530
550
  #
531
551
  # @!attribute [rw] override_dynamic_groups
532
552
  # Specifies if this mitigation action can move the things that
533
553
  # triggered the mitigation action even if they are part of one or more
534
- # dynamic things groups.
554
+ # dynamic thing groups.
535
555
  # @return [Boolean]
536
556
  #
537
557
  class AddThingsToThingGroupParams < Struct.new(
@@ -552,7 +572,8 @@ module Aws::IoT
552
572
  # }
553
573
  #
554
574
  # @!attribute [rw] alert_target_arn
555
- # The ARN of the notification target to which alerts are sent.
575
+ # The Amazon Resource Name (ARN) of the notification target to which
576
+ # alerts are sent.
556
577
  # @return [String]
557
578
  #
558
579
  # @!attribute [rw] role_arn
@@ -1642,11 +1663,14 @@ module Aws::IoT
1642
1663
  # operator: "IN", # accepts IN, NOT_IN
1643
1664
  # },
1644
1665
  # criteria: {
1645
- # 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
1666
+ # 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, in-set, not-in-set
1646
1667
  # value: {
1647
1668
  # count: 1,
1648
1669
  # cidrs: ["Cidr"],
1649
1670
  # ports: [1],
1671
+ # number: 1.0,
1672
+ # numbers: [1.0],
1673
+ # strings: ["stringValue"],
1650
1674
  # },
1651
1675
  # duration_seconds: 1,
1652
1676
  # consecutive_datapoints_to_alarm: 1,
@@ -1654,11 +1678,15 @@ module Aws::IoT
1654
1678
  # statistical_threshold: {
1655
1679
  # statistic: "EvaluationStatistic",
1656
1680
  # },
1681
+ # ml_detection_config: {
1682
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
1683
+ # },
1657
1684
  # },
1685
+ # suppress_alerts: false,
1658
1686
  # }
1659
1687
  #
1660
1688
  # @!attribute [rw] name
1661
- # The name you have given to the behavior.
1689
+ # The name you've given to the behavior.
1662
1690
  # @return [String]
1663
1691
  #
1664
1692
  # @!attribute [rw] metric
@@ -1668,8 +1696,8 @@ module Aws::IoT
1668
1696
  # @!attribute [rw] metric_dimension
1669
1697
  # The dimension for a metric in your behavior. For example, using a
1670
1698
  # `TOPIC_FILTER` dimension, you can narrow down the scope of the
1671
- # metric only to MQTT topics whose name match the pattern specified in
1672
- # the dimension.
1699
+ # metric to only MQTT topics where the name matches the pattern
1700
+ # specified in the dimension. This can't be used with custom metrics.
1673
1701
  # @return [Types::MetricDimension]
1674
1702
  #
1675
1703
  # @!attribute [rw] criteria
@@ -1677,11 +1705,16 @@ module Aws::IoT
1677
1705
  # regard to the `metric`.
1678
1706
  # @return [Types::BehaviorCriteria]
1679
1707
  #
1708
+ # @!attribute [rw] suppress_alerts
1709
+ # Suppresses alerts.
1710
+ # @return [Boolean]
1711
+ #
1680
1712
  class Behavior < Struct.new(
1681
1713
  :name,
1682
1714
  :metric,
1683
1715
  :metric_dimension,
1684
- :criteria)
1716
+ :criteria,
1717
+ :suppress_alerts)
1685
1718
  SENSITIVE = []
1686
1719
  include Aws::Structure
1687
1720
  end
@@ -1692,11 +1725,14 @@ module Aws::IoT
1692
1725
  # data as a hash:
1693
1726
  #
1694
1727
  # {
1695
- # 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
1728
+ # 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, in-set, not-in-set
1696
1729
  # value: {
1697
1730
  # count: 1,
1698
1731
  # cidrs: ["Cidr"],
1699
1732
  # ports: [1],
1733
+ # number: 1.0,
1734
+ # numbers: [1.0],
1735
+ # strings: ["stringValue"],
1700
1736
  # },
1701
1737
  # duration_seconds: 1,
1702
1738
  # consecutive_datapoints_to_alarm: 1,
@@ -1704,11 +1740,24 @@ module Aws::IoT
1704
1740
  # statistical_threshold: {
1705
1741
  # statistic: "EvaluationStatistic",
1706
1742
  # },
1743
+ # ml_detection_config: {
1744
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
1745
+ # },
1707
1746
  # }
1708
1747
  #
1709
1748
  # @!attribute [rw] comparison_operator
1710
1749
  # The operator that relates the thing measured (`metric`) to the
1711
- # criteria (containing a `value` or `statisticalThreshold`).
1750
+ # criteria (containing a `value` or `statisticalThreshold`). Valid
1751
+ # operators include:
1752
+ #
1753
+ # * `string-list`\: `in-set` and `not-in-set`
1754
+ #
1755
+ # * `number-list`\: `in-set` and `not-in-set`
1756
+ #
1757
+ # * `ip-address-list`\: `in-cidr-set` and `not-in-cidr-set`
1758
+ #
1759
+ # * `number`\: `less-than`, `less-than-equals`, `greater-than`, and
1760
+ # `greater-than-equals`
1712
1761
  # @return [String]
1713
1762
  #
1714
1763
  # @!attribute [rw] value
@@ -1717,12 +1766,13 @@ module Aws::IoT
1717
1766
  #
1718
1767
  # @!attribute [rw] duration_seconds
1719
1768
  # Use this to specify the time duration over which the behavior is
1720
- # evaluated, for those criteria which have a time dimension (for
1769
+ # evaluated, for those criteria that have a time dimension (for
1721
1770
  # example, `NUM_MESSAGES_SENT`). For a `statisticalThreshhold` metric
1722
1771
  # comparison, measurements from all devices are accumulated over this
1723
1772
  # time duration before being used to calculate percentiles, and later,
1724
1773
  # measurements from an individual device are also accumulated over
1725
- # this time duration before being given a percentile rank.
1774
+ # this time duration before being given a percentile rank. Cannot be
1775
+ # used with list-based metric datatypes.
1726
1776
  # @return [Integer]
1727
1777
  #
1728
1778
  # @!attribute [rw] consecutive_datapoints_to_alarm
@@ -1739,18 +1789,60 @@ module Aws::IoT
1739
1789
  # @return [Integer]
1740
1790
  #
1741
1791
  # @!attribute [rw] statistical_threshold
1742
- # A statistical ranking (percentile) which indicates a threshold value
1792
+ # A statistical ranking (percentile)that indicates a threshold value
1743
1793
  # by which a behavior is determined to be in compliance or in
1744
1794
  # violation of the behavior.
1745
1795
  # @return [Types::StatisticalThreshold]
1746
1796
  #
1797
+ # @!attribute [rw] ml_detection_config
1798
+ # The configuration of an ML Detect
1799
+ # @return [Types::MachineLearningDetectionConfig]
1800
+ #
1747
1801
  class BehaviorCriteria < Struct.new(
1748
1802
  :comparison_operator,
1749
1803
  :value,
1750
1804
  :duration_seconds,
1751
1805
  :consecutive_datapoints_to_alarm,
1752
1806
  :consecutive_datapoints_to_clear,
1753
- :statistical_threshold)
1807
+ :statistical_threshold,
1808
+ :ml_detection_config)
1809
+ SENSITIVE = []
1810
+ include Aws::Structure
1811
+ end
1812
+
1813
+ # The summary of an ML Detect behavior model.
1814
+ #
1815
+ # @!attribute [rw] security_profile_name
1816
+ # The name of the security profile.
1817
+ # @return [String]
1818
+ #
1819
+ # @!attribute [rw] behavior_name
1820
+ # The name of the behavior.
1821
+ # @return [String]
1822
+ #
1823
+ # @!attribute [rw] training_data_collection_start_date
1824
+ # The date a training model started collecting data.
1825
+ # @return [Time]
1826
+ #
1827
+ # @!attribute [rw] model_status
1828
+ # The status of the behavior model.
1829
+ # @return [String]
1830
+ #
1831
+ # @!attribute [rw] datapoints_collection_percentage
1832
+ # The percentage of datapoints collected.
1833
+ # @return [Float]
1834
+ #
1835
+ # @!attribute [rw] last_model_refresh_date
1836
+ # The date the model was last refreshed.
1837
+ # @return [Time]
1838
+ #
1839
+ class BehaviorModelTrainingSummary < Struct.new(
1840
+ :security_profile_name,
1841
+ :behavior_name,
1842
+ :training_data_collection_start_date,
1843
+ :model_status,
1844
+ :datapoints_collection_percentage,
1845
+ :last_model_refresh_date)
1754
1846
  SENSITIVE = []
1755
1847
  include Aws::Structure
1756
1848
  end
@@ -1883,7 +1975,7 @@ module Aws::IoT
1883
1975
  # data as a hash:
1884
1976
  #
1885
1977
  # {
1886
- # task_id: "AuditMitigationActionsTaskId", # required
1978
+ # task_id: "MitigationActionsTaskId", # required
1887
1979
  # }
1888
1980
  #
1889
1981
  # @!attribute [rw] task_id
@@ -1938,6 +2030,25 @@ module Aws::IoT
1938
2030
  include Aws::Structure
1939
2031
  end
1940
2032
 
2033
+ # @note When making an API call, you may pass CancelDetectMitigationActionsTaskRequest
2034
+ # data as a hash:
2035
+ #
2036
+ # {
2037
+ # task_id: "MitigationActionsTaskId", # required
2038
+ # }
2039
+ #
2040
+ # @!attribute [rw] task_id
2041
+ # The unique identifier of the task.
2042
+ # @return [String]
2043
+ #
2044
+ class CancelDetectMitigationActionsTaskRequest < Struct.new(
2045
+ :task_id)
2046
+ SENSITIVE = []
2047
+ include Aws::Structure
2048
+ end
2049
+
2050
+ class CancelDetectMitigationActionsTaskResponse < Aws::EmptyStructure; end
2051
+
1941
2052
  # @note When making an API call, you may pass CancelJobExecutionRequest
1942
2053
  # data as a hash:
1943
2054
  #
@@ -2772,6 +2883,80 @@ module Aws::IoT
2772
2883
  include Aws::Structure
2773
2884
  end
2774
2885
 
2886
+ # @note When making an API call, you may pass CreateCustomMetricRequest
2887
+ # data as a hash:
2888
+ #
2889
+ # {
2890
+ # metric_name: "MetricName", # required
2891
+ # display_name: "CustomMetricDisplayName",
2892
+ # metric_type: "string-list", # required, accepts string-list, ip-address-list, number-list, number
2893
+ # tags: [
2894
+ # {
2895
+ # key: "TagKey", # required
2896
+ # value: "TagValue",
2897
+ # },
2898
+ # ],
2899
+ # client_request_token: "ClientRequestToken", # required
2900
+ # }
2901
+ #
2902
+ # @!attribute [rw] metric_name
2903
+ # The name of the custom metric. This will be used in the metric
2904
+ # report submitted from the device/thing. Shouldn't begin with
2905
+ # `aws:`. Cannot be updated once defined.
2906
+ # @return [String]
2907
+ #
2908
+ # @!attribute [rw] display_name
2909
+ # Field represents a friendly name in the console for the custom
2910
+ # metric; it doesn't have to be unique. Don't use this name as the
2911
+ # metric identifier in the device metric report. Can be updated once
2912
+ # defined.
2913
+ # @return [String]
2914
+ #
2915
+ # @!attribute [rw] metric_type
2916
+ # The type of the custom metric. Types include `string-list`,
2917
+ # `ip-address-list`, `number-list`, and `number`.
2918
+ # @return [String]
2919
+ #
2920
+ # @!attribute [rw] tags
2921
+ # Metadata that can be used to manage the custom metric.
2922
+ # @return [Array<Types::Tag>]
2923
+ #
2924
+ # @!attribute [rw] client_request_token
2925
+ # Each custom metric must have a unique client request token. If you
2926
+ # try to create a new custom metric that already exists with a
2927
+ # different token, an exception occurs. If you omit this value, AWS
2928
+ # SDKs will automatically generate a unique client request.
2929
+ #
2930
+ # **A suitable default value is auto-generated.** You should normally
2931
+ # not need to pass this option.
2932
+ # @return [String]
2933
+ #
2934
+ class CreateCustomMetricRequest < Struct.new(
2935
+ :metric_name,
2936
+ :display_name,
2937
+ :metric_type,
2938
+ :tags,
2939
+ :client_request_token)
2940
+ SENSITIVE = []
2941
+ include Aws::Structure
2942
+ end
2943
+
2944
+ # @!attribute [rw] metric_name
2945
+ # The name of the custom metric to be used in the metric report.
2946
+ # @return [String]
2947
+ #
2948
+ # @!attribute [rw] metric_arn
2949
+ # The Amazon Resource Number (ARN) of the custom metric, e.g.
2950
+ # `arn:aws-partition:iot:region:accountId:custommetric/metricName `
2951
+ # @return [String]
2952
+ #
2953
+ class CreateCustomMetricResponse < Struct.new(
2954
+ :metric_name,
2955
+ :metric_arn)
2956
+ SENSITIVE = []
2957
+ include Aws::Structure
2958
+ end
2959
+
2775
2960
  # @note When making an API call, you may pass CreateDimensionRequest
2776
2961
  # data as a hash:
2777
2962
  #
@@ -2833,7 +3018,7 @@ module Aws::IoT
2833
3018
  # @return [String]
2834
3019
  #
2835
3020
  # @!attribute [rw] arn
2836
- # The ARN (Amazon resource name) of the created dimension.
3021
+ # The Amazon Resource Name (ARN) of the created dimension.
2837
3022
  # @return [String]
2838
3023
  #
2839
3024
  class CreateDimensionResponse < Struct.new(
@@ -3965,24 +4150,24 @@ module Aws::IoT
3965
4150
  # }
3966
4151
  #
3967
4152
  # @!attribute [rw] frequency
3968
- # How often the scheduled audit takes place. Can be one of "DAILY",
3969
- # "WEEKLY", "BIWEEKLY" or "MONTHLY". The start time of each
3970
- # audit is determined by the system.
4153
+ # How often the scheduled audit takes place, either `DAILY`, `WEEKLY`,
4154
+ # `BIWEEKLY` or `MONTHLY`. The start time of each audit is determined
4155
+ # by the system.
3971
4156
  # @return [String]
3972
4157
  #
3973
4158
  # @!attribute [rw] day_of_month
3974
- # The day of the month on which the scheduled audit takes place. Can
3975
- # be "1" through "31" or "LAST". This field is required if the
3976
- # "frequency" parameter is set to "MONTHLY". If days 29-31 are
3977
- # specified, and the month does not have that many days, the audit
3978
- # takes place on the "LAST" day of the month.
4159
+ # The day of the month on which the scheduled audit takes place. This
4160
+ # can be "1" through "31" or "LAST". This field is required if
4161
+ # the "frequency" parameter is set to `MONTHLY`. If days 29 to 31
4162
+ # are specified, and the month doesn't have that many days, the audit
4163
+ # takes place on the `LAST` day of the month.
3979
4164
  # @return [String]
3980
4165
  #
3981
4166
  # @!attribute [rw] day_of_week
3982
- # The day of the week on which the scheduled audit takes place. Can be
3983
- # one of "SUN", "MON", "TUE", "WED", "THU", "FRI", or
3984
- # "SAT". This field is required if the "frequency" parameter is
3985
- # set to "WEEKLY" or "BIWEEKLY".
4167
+ # The day of the week on which the scheduled audit takes place, either
4168
+ # `SUN`, `MON`, `TUE`, `WED`, `THU`, `FRI`, or `SAT`. This field is
4169
+ # required if the `frequency` parameter is set to `WEEKLY` or
4170
+ # `BIWEEKLY`.
3986
4171
  # @return [String]
3987
4172
  #
3988
4173
  # @!attribute [rw] target_check_names
@@ -4038,11 +4223,14 @@ module Aws::IoT
4038
4223
  # operator: "IN", # accepts IN, NOT_IN
4039
4224
  # },
4040
4225
  # criteria: {
4041
- # 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
4226
+ # 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, in-set, not-in-set
4042
4227
  # value: {
4043
4228
  # count: 1,
4044
4229
  # cidrs: ["Cidr"],
4045
4230
  # ports: [1],
4231
+ # number: 1.0,
4232
+ # numbers: [1.0],
4233
+ # strings: ["stringValue"],
4046
4234
  # },
4047
4235
  # duration_seconds: 1,
4048
4236
  # consecutive_datapoints_to_alarm: 1,
@@ -4050,7 +4238,11 @@ module Aws::IoT
4050
4238
  # statistical_threshold: {
4051
4239
  # statistic: "EvaluationStatistic",
4052
4240
  # },
4241
+ # ml_detection_config: {
4242
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
4243
+ # },
4053
4244
  # },
4245
+ # suppress_alerts: false,
4054
4246
  # },
4055
4247
  # ],
4056
4248
  # alert_targets: {
@@ -4102,13 +4294,15 @@ module Aws::IoT
4102
4294
  #
4103
4295
  # A list of metrics whose data is retained (stored). By default, data
4104
4296
  # is retained for any metric used in the profile's `behaviors`, but
4105
- # it is also retained for any metric specified here.
4297
+ # it is also retained for any metric specified here. Can be used with
4298
+ # custom metrics; cannot be used with dimensions.
4106
4299
  # @return [Array<String>]
4107
4300
  #
4108
4301
  # @!attribute [rw] additional_metrics_to_retain_v2
4109
4302
  # A list of metrics whose data is retained (stored). By default, data
4110
4303
  # is retained for any metric used in the profile's `behaviors`, but
4111
- # it is also retained for any metric specified here.
4304
+ # it is also retained for any metric specified here. Can be used with
4305
+ # custom metrics; cannot be used with dimensions.
4112
4306
  # @return [Array<Types::MetricToRetain>]
4113
4307
  #
4114
4308
  # @!attribute [rw] tags
@@ -4433,6 +4627,12 @@ module Aws::IoT
4433
4627
  # http_url_configuration: {
4434
4628
  # confirmation_url: "Url", # required
4435
4629
  # },
4630
+ # vpc_configuration: {
4631
+ # subnet_ids: ["SubnetId"], # required
4632
+ # security_groups: ["SecurityGroupId"],
4633
+ # vpc_id: "VpcId", # required
4634
+ # role_arn: "AwsArn", # required
4635
+ # },
4436
4636
  # },
4437
4637
  # }
4438
4638
  #
@@ -4625,6 +4825,15 @@ module Aws::IoT
4625
4825
  # },
4626
4826
  # },
4627
4827
  # },
4828
+ # kafka: {
4829
+ # destination_arn: "AwsArn", # required
4830
+ # topic: "String", # required
4831
+ # key: "String",
4832
+ # partition: "String",
4833
+ # client_properties: { # required
4834
+ # "String" => "String",
4835
+ # },
4836
+ # },
4628
4837
  # },
4629
4838
  # ],
4630
4839
  # rule_disabled: false,
@@ -4787,6 +4996,15 @@ module Aws::IoT
4787
4996
  # },
4788
4997
  # },
4789
4998
  # },
4999
+ # kafka: {
5000
+ # destination_arn: "AwsArn", # required
5001
+ # topic: "String", # required
5002
+ # key: "String",
5003
+ # partition: "String",
5004
+ # client_properties: { # required
5005
+ # "String" => "String",
5006
+ # },
5007
+ # },
4790
5008
  # },
4791
5009
  # },
4792
5010
  # tags: "String",
@@ -5036,6 +5254,25 @@ module Aws::IoT
5036
5254
  include Aws::Structure
5037
5255
  end
5038
5256
 
5257
+ # @note When making an API call, you may pass DeleteCustomMetricRequest
5258
+ # data as a hash:
5259
+ #
5260
+ # {
5261
+ # metric_name: "MetricName", # required
5262
+ # }
5263
+ #
5264
+ # @!attribute [rw] metric_name
5265
+ # The name of the custom metric.
5266
+ # @return [String]
5267
+ #
5268
+ class DeleteCustomMetricRequest < Struct.new(
5269
+ :metric_name)
5270
+ SENSITIVE = []
5271
+ include Aws::Structure
5272
+ end
5273
+
5274
+ class DeleteCustomMetricResponse < Aws::EmptyStructure; end
5275
+
5039
5276
  # @note When making an API call, you may pass DeleteDimensionRequest
5040
5277
  # data as a hash:
5041
5278
  #
@@ -5254,13 +5491,16 @@ module Aws::IoT
5254
5491
  # @return [String]
5255
5492
  #
5256
5493
  # @!attribute [rw] delete_stream
5257
- # Specifies if the stream associated with an OTA update should be
5258
- # deleted when the OTA update is deleted.
5494
+ # When true, the stream created by the OTAUpdate process is deleted
5495
+ # when the OTA update is deleted. Ignored if the stream specified in
5496
+ # the OTAUpdate is supplied by the user.
5259
5497
  # @return [Boolean]
5260
5498
  #
5261
5499
  # @!attribute [rw] force_delete_aws_job
5262
- # Specifies if the AWS Job associated with the OTA update should be
5263
- # deleted when the OTA update is deleted.
5500
+ # When true, deletes the AWS job created by the OTAUpdate process even
5501
+ # if it is "IN\_PROGRESS". Otherwise, if the job is not in a
5502
+ # terminal state ("COMPLETED" or "CANCELED") an exception will
5503
+ # occur. The default is false.
5264
5504
  # @return [Boolean]
5265
5505
  #
5266
5506
  class DeleteOTAUpdateRequest < Struct.new(
@@ -5710,7 +5950,7 @@ module Aws::IoT
5710
5950
  # data as a hash:
5711
5951
  #
5712
5952
  # {
5713
- # task_id: "AuditMitigationActionsTaskId", # required
5953
+ # task_id: "MitigationActionsTaskId", # required
5714
5954
  # }
5715
5955
  #
5716
5956
  # @!attribute [rw] task_id
@@ -6042,6 +6282,62 @@ module Aws::IoT
6042
6282
  include Aws::Structure
6043
6283
  end
6044
6284
 
6285
+ # @note When making an API call, you may pass DescribeCustomMetricRequest
6286
+ # data as a hash:
6287
+ #
6288
+ # {
6289
+ # metric_name: "MetricName", # required
6290
+ # }
6291
+ #
6292
+ # @!attribute [rw] metric_name
6293
+ # The name of the custom metric.
6294
+ # @return [String]
6295
+ #
6296
+ class DescribeCustomMetricRequest < Struct.new(
6297
+ :metric_name)
6298
+ SENSITIVE = []
6299
+ include Aws::Structure
6300
+ end
6301
+
6302
+ # @!attribute [rw] metric_name
6303
+ # The name of the custom metric.
6304
+ # @return [String]
6305
+ #
6306
+ # @!attribute [rw] metric_arn
6307
+ # The Amazon Resource Number (ARN) of the custom metric.
6308
+ # @return [String]
6309
+ #
6310
+ # @!attribute [rw] metric_type
6311
+ # The type of the custom metric. Types include `string-list`,
6312
+ # `ip-address-list`, `number-list`, and `number`.
6313
+ # @return [String]
6314
+ #
6315
+ # @!attribute [rw] display_name
6316
+ # Field represents a friendly name in the console for the custom
6317
+ # metric; doesn't have to be unique. Don't use this name as the
6318
+ # metric identifier in the device metric report. Can be updated.
6319
+ # @return [String]
6320
+ #
6321
+ # @!attribute [rw] creation_date
6322
+ # The creation date of the custom metric in milliseconds since epoch.
6323
+ # @return [Time]
6324
+ #
6325
+ # @!attribute [rw] last_modified_date
6326
+ # The time the custom metric was last modified in milliseconds since
6327
+ # epoch.
6328
+ # @return [Time]
6329
+ #
6330
+ class DescribeCustomMetricResponse < Struct.new(
6331
+ :metric_name,
6332
+ :metric_arn,
6333
+ :metric_type,
6334
+ :display_name,
6335
+ :creation_date,
6336
+ :last_modified_date)
6337
+ SENSITIVE = []
6338
+ include Aws::Structure
6339
+ end
6340
+
6045
6341
  # @api private
6046
6342
  #
6047
6343
  class DescribeDefaultAuthorizerRequest < Aws::EmptyStructure; end
@@ -6056,6 +6352,33 @@ module Aws::IoT
6056
6352
  include Aws::Structure
6057
6353
  end
6058
6354
 
6355
+ # @note When making an API call, you may pass DescribeDetectMitigationActionsTaskRequest
6356
+ # data as a hash:
6357
+ #
6358
+ # {
6359
+ # task_id: "MitigationActionsTaskId", # required
6360
+ # }
6361
+ #
6362
+ # @!attribute [rw] task_id
6363
+ # The unique identifier of the task.
6364
+ # @return [String]
6365
+ #
6366
+ class DescribeDetectMitigationActionsTaskRequest < Struct.new(
6367
+ :task_id)
6368
+ SENSITIVE = []
6369
+ include Aws::Structure
6370
+ end
6371
+
6372
+ # @!attribute [rw] task_summary
6373
+ # The description of a task.
6374
+ # @return [Types::DetectMitigationActionsTaskSummary]
6375
+ #
6376
+ class DescribeDetectMitigationActionsTaskResponse < Struct.new(
6377
+ :task_summary)
6378
+ SENSITIVE = []
6379
+ include Aws::Structure
6380
+ end
6381
+
6059
6382
  # @note When making an API call, you may pass DescribeDimensionRequest
6060
6383
  # data as a hash:
6061
6384
  #
@@ -6078,7 +6401,7 @@ module Aws::IoT
6078
6401
  # @return [String]
6079
6402
  #
6080
6403
  # @!attribute [rw] arn
6081
- # The ARN (Amazon resource name) for the dimension.
6404
+ # The Amazon Resource Name (ARN) for the dimension.
6082
6405
  # @return [String]
6083
6406
  #
6084
6407
  # @!attribute [rw] type
@@ -6615,21 +6938,21 @@ module Aws::IoT
6615
6938
  end
6616
6939
 
6617
6940
  # @!attribute [rw] frequency
6618
- # How often the scheduled audit takes place. One of "DAILY",
6619
- # "WEEKLY", "BIWEEKLY", or "MONTHLY". The start time of each
6620
- # audit is determined by the system.
6941
+ # How often the scheduled audit takes place, either one of `DAILY`,
6942
+ # `WEEKLY`, `BIWEEKLY`, or `MONTHLY`. The start time of each audit is
6943
+ # determined by the system.
6621
6944
  # @return [String]
6622
6945
  #
6623
6946
  # @!attribute [rw] day_of_month
6624
- # The day of the month on which the scheduled audit takes place. Will
6625
- # be "1" through "31" or "LAST". If days 29-31 are specified,
6626
- # and the month does not have that many days, the audit takes place on
6627
- # the "LAST" day of the month.
6947
+ # The day of the month on which the scheduled audit takes place. This
6948
+ # is will be `1` through `31` or `LAST`. If days `29`-`31` are
6949
+ # specified, and the month does not have that many days, the audit
6950
+ # takes place on the `LAST` day of the month.
6628
6951
  # @return [String]
6629
6952
  #
6630
6953
  # @!attribute [rw] day_of_week
6631
- # The day of the week on which the scheduled audit takes place. One of
6632
- # "SUN", "MON", "TUE", "WED", "THU", "FRI", or "SAT".
6954
+ # The day of the week on which the scheduled audit takes place, either
6955
+ # one of `SUN`, `MON`, `TUE`, `WED`, `THU`, `FRI`, or `SAT`.
6633
6956
  # @return [String]
6634
6957
  #
6635
6958
  # @!attribute [rw] target_check_names
@@ -7195,6 +7518,170 @@ module Aws::IoT
7195
7518
  #
7196
7519
  class DetachThingPrincipalResponse < Aws::EmptyStructure; end
7197
7520
 
7521
+ # Describes which mitigation actions should be executed.
7522
+ #
7523
+ # @!attribute [rw] task_id
7524
+ # The unique identifier of the task.
7525
+ # @return [String]
7526
+ #
7527
+ # @!attribute [rw] violation_id
7528
+ # The unique identifier of the violation.
7529
+ # @return [String]
7530
+ #
7531
+ # @!attribute [rw] action_name
7532
+ # The friendly name that uniquely identifies the mitigation action.
7533
+ # @return [String]
7534
+ #
7535
+ # @!attribute [rw] thing_name
7536
+ # The name of the thing.
7537
+ # @return [String]
7538
+ #
7539
+ # @!attribute [rw] execution_start_date
7540
+ # The date a mitigation action was started.
7541
+ # @return [Time]
7542
+ #
7543
+ # @!attribute [rw] execution_end_date
7544
+ # The date a mitigation action ended.
7545
+ # @return [Time]
7546
+ #
7547
+ # @!attribute [rw] status
7548
+ # The status of a mitigation action.
7549
+ # @return [String]
7550
+ #
7551
+ # @!attribute [rw] error_code
7552
+ # The error code of a mitigation action.
7553
+ # @return [String]
7554
+ #
7555
+ # @!attribute [rw] message
7556
+ # The message of a mitigation action.
7557
+ # @return [String]
7558
+ #
7559
+ class DetectMitigationActionExecution < Struct.new(
7560
+ :task_id,
7561
+ :violation_id,
7562
+ :action_name,
7563
+ :thing_name,
7564
+ :execution_start_date,
7565
+ :execution_end_date,
7566
+ :status,
7567
+ :error_code,
7568
+ :message)
7569
+ SENSITIVE = []
7570
+ include Aws::Structure
7571
+ end
7572
+
7573
+ # The statistics of a mitigation action task.
7574
+ #
7575
+ # @!attribute [rw] actions_executed
7576
+ # The actions that were performed.
7577
+ # @return [Integer]
7578
+ #
7579
+ # @!attribute [rw] actions_skipped
7580
+ # The actions that were skipped.
7581
+ # @return [Integer]
7582
+ #
7583
+ # @!attribute [rw] actions_failed
7584
+ # The actions that failed.
7585
+ # @return [Integer]
7586
+ #
7587
+ class DetectMitigationActionsTaskStatistics < Struct.new(
7588
+ :actions_executed,
7589
+ :actions_skipped,
7590
+ :actions_failed)
7591
+ SENSITIVE = []
7592
+ include Aws::Structure
7593
+ end
7594
+
7595
+ # The summary of the mitigation action tasks.
7596
+ #
7597
+ # @!attribute [rw] task_id
7598
+ # The unique identifier of the task.
7599
+ # @return [String]
7600
+ #
7601
+ # @!attribute [rw] task_status
7602
+ # The status of the task.
7603
+ # @return [String]
7604
+ #
7605
+ # @!attribute [rw] task_start_time
7606
+ # The date the task started.
7607
+ # @return [Time]
7608
+ #
7609
+ # @!attribute [rw] task_end_time
7610
+ # The date the task ended.
7611
+ # @return [Time]
7612
+ #
7613
+ # @!attribute [rw] target
7614
+ # Specifies the ML Detect findings to which the mitigation actions are
7615
+ # applied.
7616
+ # @return [Types::DetectMitigationActionsTaskTarget]
7617
+ #
7618
+ # @!attribute [rw] violation_event_occurrence_range
7619
+ # Specifies the time period of which violation events occurred
7620
+ # between.
7621
+ # @return [Types::ViolationEventOccurrenceRange]
7622
+ #
7623
+ # @!attribute [rw] only_active_violations_included
7624
+ # Includes only active violations.
7625
+ # @return [Boolean]
7626
+ #
7627
+ # @!attribute [rw] suppressed_alerts_included
7628
+ # Includes suppressed alerts.
7629
+ # @return [Boolean]
7630
+ #
7631
+ # @!attribute [rw] actions_definition
7632
+ # The definition of the actions.
7633
+ # @return [Array<Types::MitigationAction>]
7634
+ #
7635
+ # @!attribute [rw] task_statistics
7636
+ # The statistics of a mitigation action task.
7637
+ # @return [Types::DetectMitigationActionsTaskStatistics]
7638
+ #
7639
+ class DetectMitigationActionsTaskSummary < Struct.new(
7640
+ :task_id,
7641
+ :task_status,
7642
+ :task_start_time,
7643
+ :task_end_time,
7644
+ :target,
7645
+ :violation_event_occurrence_range,
7646
+ :only_active_violations_included,
7647
+ :suppressed_alerts_included,
7648
+ :actions_definition,
7649
+ :task_statistics)
7650
+ SENSITIVE = []
7651
+ include Aws::Structure
7652
+ end
7653
+
7654
+ # The target of a mitigation action task.
7655
+ #
7656
+ # @note When making an API call, you may pass DetectMitigationActionsTaskTarget
7657
+ # data as a hash:
7658
+ #
7659
+ # {
7660
+ # violation_ids: ["ViolationId"],
7661
+ # security_profile_name: "SecurityProfileName",
7662
+ # behavior_name: "BehaviorName",
7663
+ # }
7664
+ #
7665
+ # @!attribute [rw] violation_ids
7666
+ # The unique identifiers of the violations.
7667
+ # @return [Array<String>]
7668
+ #
7669
+ # @!attribute [rw] security_profile_name
7670
+ # The name of the security profile.
7671
+ # @return [String]
7672
+ #
7673
+ # @!attribute [rw] behavior_name
7674
+ # The name of the behavior.
7675
+ # @return [String]
7676
+ #
7677
+ class DetectMitigationActionsTaskTarget < Struct.new(
7678
+ :violation_ids,
7679
+ :security_profile_name,
7680
+ :behavior_name)
7681
+ SENSITIVE = []
7682
+ include Aws::Structure
7683
+ end
7684
+
7198
7685
  # The input for the DisableTopicRuleRequest operation.
7199
7686
  #
7200
7687
  # @note When making an API call, you may pass DisableTopicRuleRequest
@@ -7459,11 +7946,11 @@ module Aws::IoT
7459
7946
  # }
7460
7947
  #
7461
7948
  # @!attribute [rw] role_arn_for_logging
7462
- # The ARN of the IAM role used for logging.
7949
+ # The Amazon Resource Name (ARN) of the IAM role used for logging.
7463
7950
  # @return [String]
7464
7951
  #
7465
7952
  # @!attribute [rw] log_level
7466
- # Specifies the types of information to be logged.
7953
+ # Specifies the type of information to be logged.
7467
7954
  # @return [String]
7468
7955
  #
7469
7956
  class EnableIoTLoggingParams < Struct.new(
@@ -7668,6 +8155,53 @@ module Aws::IoT
7668
8155
  include Aws::Structure
7669
8156
  end
7670
8157
 
8158
+ # @note When making an API call, you may pass GetBehaviorModelTrainingSummariesRequest
8159
+ # data as a hash:
8160
+ #
8161
+ # {
8162
+ # security_profile_name: "SecurityProfileName",
8163
+ # max_results: 1,
8164
+ # next_token: "NextToken",
8165
+ # }
8166
+ #
8167
+ # @!attribute [rw] security_profile_name
8168
+ # The name of the security profile.
8169
+ # @return [String]
8170
+ #
8171
+ # @!attribute [rw] max_results
8172
+ # The maximum number of results to return at one time. The default is
8173
+ # 25.
8174
+ # @return [Integer]
8175
+ #
8176
+ # @!attribute [rw] next_token
8177
+ # The token for the next set of results.
8178
+ # @return [String]
8179
+ #
8180
+ class GetBehaviorModelTrainingSummariesRequest < Struct.new(
8181
+ :security_profile_name,
8182
+ :max_results,
8183
+ :next_token)
8184
+ SENSITIVE = []
8185
+ include Aws::Structure
8186
+ end
8187
+
8188
+ # @!attribute [rw] summaries
8189
+ # A list of all ML Detect behaviors and their model status for a given
8190
+ # Security Profile.
8191
+ # @return [Array<Types::BehaviorModelTrainingSummary>]
8192
+ #
8193
+ # @!attribute [rw] next_token
8194
+ # A token that can be used to retrieve the next set of results, or
8195
+ # `null` if there are no additional results.
8196
+ # @return [String]
8197
+ #
8198
+ class GetBehaviorModelTrainingSummariesResponse < Struct.new(
8199
+ :summaries,
8200
+ :next_token)
8201
+ SENSITIVE = []
8202
+ include Aws::Structure
8203
+ end
8204
+
7671
8205
  # @note When making an API call, you may pass GetCardinalityRequest
7672
8206
  # data as a hash:
7673
8207
  #
@@ -9086,6 +9620,52 @@ module Aws::IoT
9086
9620
  include Aws::Structure
9087
9621
  end
9088
9622
 
9623
+ # Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon
9624
+ # MSK) or self-managed Apache Kafka cluster.
9625
+ #
9626
+ # @note When making an API call, you may pass KafkaAction
9627
+ # data as a hash:
9628
+ #
9629
+ # {
9630
+ # destination_arn: "AwsArn", # required
9631
+ # topic: "String", # required
9632
+ # key: "String",
9633
+ # partition: "String",
9634
+ # client_properties: { # required
9635
+ # "String" => "String",
9636
+ # },
9637
+ # }
9638
+ #
9639
+ # @!attribute [rw] destination_arn
9640
+ # The ARN of Kafka action's VPC `TopicRuleDestination`.
9641
+ # @return [String]
9642
+ #
9643
+ # @!attribute [rw] topic
9644
+ # The Kafka topic for messages to be sent to the Kafka broker.
9645
+ # @return [String]
9646
+ #
9647
+ # @!attribute [rw] key
9648
+ # The Kafka message key.
9649
+ # @return [String]
9650
+ #
9651
+ # @!attribute [rw] partition
9652
+ # The Kafka message partition.
9653
+ # @return [String]
9654
+ #
9655
+ # @!attribute [rw] client_properties
9656
+ # Properties of the Apache Kafka producer client.
9657
+ # @return [Hash<String,String>]
9658
+ #
9659
+ class KafkaAction < Struct.new(
9660
+ :destination_arn,
9661
+ :topic,
9662
+ :key,
9663
+ :partition,
9664
+ :client_properties)
9665
+ SENSITIVE = []
9666
+ include Aws::Structure
9667
+ end
9668
+
9089
9669
  # Describes a key pair.
9090
9670
  #
9091
9671
  # @!attribute [rw] public_key
@@ -9172,6 +9752,8 @@ module Aws::IoT
9172
9752
  # {
9173
9753
  # thing_name: "DeviceDefenderThingName",
9174
9754
  # security_profile_name: "SecurityProfileName",
9755
+ # behavior_criteria_type: "STATIC", # accepts STATIC, STATISTICAL, MACHINE_LEARNING
9756
+ # list_suppressed_alerts: false,
9175
9757
  # next_token: "NextToken",
9176
9758
  # max_results: 1,
9177
9759
  # }
@@ -9185,6 +9767,14 @@ module Aws::IoT
9185
9767
  # violations are listed.
9186
9768
  # @return [String]
9187
9769
  #
9770
+ # @!attribute [rw] behavior_criteria_type
9771
+ # The criteria for a behavior.
9772
+ # @return [String]
9773
+ #
9774
+ # @!attribute [rw] list_suppressed_alerts
9775
+ # A list of all suppressed alerts.
9776
+ # @return [Boolean]
9777
+ #
9188
9778
  # @!attribute [rw] next_token
9189
9779
  # The token for the next set of results.
9190
9780
  # @return [String]
@@ -9196,6 +9786,8 @@ module Aws::IoT
9196
9786
  class ListActiveViolationsRequest < Struct.new(
9197
9787
  :thing_name,
9198
9788
  :security_profile_name,
9789
+ :behavior_criteria_type,
9790
+ :list_suppressed_alerts,
9199
9791
  :next_token,
9200
9792
  :max_results)
9201
9793
  SENSITIVE = []
@@ -9376,7 +9968,7 @@ module Aws::IoT
9376
9968
  # data as a hash:
9377
9969
  #
9378
9970
  # {
9379
- # task_id: "AuditMitigationActionsTaskId", # required
9971
+ # task_id: "MitigationActionsTaskId", # required
9380
9972
  # action_status: "IN_PROGRESS", # accepts IN_PROGRESS, COMPLETED, FAILED, CANCELED, SKIPPED, PENDING
9381
9973
  # finding_id: "FindingId", # required
9382
9974
  # max_results: 1,
@@ -9890,20 +10482,189 @@ module Aws::IoT
9890
10482
  include Aws::Structure
9891
10483
  end
9892
10484
 
9893
- # The output of the ListCertificates operation.
9894
- #
9895
- # @!attribute [rw] certificates
9896
- # The descriptions of the certificates.
9897
- # @return [Array<Types::Certificate>]
10485
+ # The output of the ListCertificates operation.
10486
+ #
10487
+ # @!attribute [rw] certificates
10488
+ # The descriptions of the certificates.
10489
+ # @return [Array<Types::Certificate>]
10490
+ #
10491
+ # @!attribute [rw] next_marker
10492
+ # The marker for the next set of results, or null if there are no
10493
+ # additional results.
10494
+ # @return [String]
10495
+ #
10496
+ class ListCertificatesResponse < Struct.new(
10497
+ :certificates,
10498
+ :next_marker)
10499
+ SENSITIVE = []
10500
+ include Aws::Structure
10501
+ end
10502
+
10503
+ # @note When making an API call, you may pass ListCustomMetricsRequest
10504
+ # data as a hash:
10505
+ #
10506
+ # {
10507
+ # next_token: "NextToken",
10508
+ # max_results: 1,
10509
+ # }
10510
+ #
10511
+ # @!attribute [rw] next_token
10512
+ # The token for the next set of results.
10513
+ # @return [String]
10514
+ #
10515
+ # @!attribute [rw] max_results
10516
+ # The maximum number of results to return at one time. The default is
10517
+ # 25.
10518
+ # @return [Integer]
10519
+ #
10520
+ class ListCustomMetricsRequest < Struct.new(
10521
+ :next_token,
10522
+ :max_results)
10523
+ SENSITIVE = []
10524
+ include Aws::Structure
10525
+ end
10526
+
10527
+ # @!attribute [rw] metric_names
10528
+ # The name of the custom metric.
10529
+ # @return [Array<String>]
10530
+ #
10531
+ # @!attribute [rw] next_token
10532
+ # A token that can be used to retrieve the next set of results, or
10533
+ # `null` if there are no additional results.
10534
+ # @return [String]
10535
+ #
10536
+ class ListCustomMetricsResponse < Struct.new(
10537
+ :metric_names,
10538
+ :next_token)
10539
+ SENSITIVE = []
10540
+ include Aws::Structure
10541
+ end
10542
+
10543
+ # @note When making an API call, you may pass ListDetectMitigationActionsExecutionsRequest
10544
+ # data as a hash:
10545
+ #
10546
+ # {
10547
+ # task_id: "MitigationActionsTaskId",
10548
+ # violation_id: "ViolationId",
10549
+ # thing_name: "DeviceDefenderThingName",
10550
+ # start_time: Time.now,
10551
+ # end_time: Time.now,
10552
+ # max_results: 1,
10553
+ # next_token: "NextToken",
10554
+ # }
10555
+ #
10556
+ # @!attribute [rw] task_id
10557
+ # The unique identifier of the task.
10558
+ # @return [String]
10559
+ #
10560
+ # @!attribute [rw] violation_id
10561
+ # The unique identifier of the violation.
10562
+ # @return [String]
10563
+ #
10564
+ # @!attribute [rw] thing_name
10565
+ # The name of the thing whose mitigation actions are listed.
10566
+ # @return [String]
10567
+ #
10568
+ # @!attribute [rw] start_time
10569
+ # A filter to limit results to those found after the specified time.
10570
+ # You must specify either the startTime and endTime or the taskId, but
10571
+ # not both.
10572
+ # @return [Time]
10573
+ #
10574
+ # @!attribute [rw] end_time
10575
+ # The end of the time period for which ML Detect mitigation actions
10576
+ # executions are returned.
10577
+ # @return [Time]
10578
+ #
10579
+ # @!attribute [rw] max_results
10580
+ # The maximum number of results to return at one time. The default is
10581
+ # 25.
10582
+ # @return [Integer]
10583
+ #
10584
+ # @!attribute [rw] next_token
10585
+ # The token for the next set of results.
10586
+ # @return [String]
10587
+ #
10588
+ class ListDetectMitigationActionsExecutionsRequest < Struct.new(
10589
+ :task_id,
10590
+ :violation_id,
10591
+ :thing_name,
10592
+ :start_time,
10593
+ :end_time,
10594
+ :max_results,
10595
+ :next_token)
10596
+ SENSITIVE = []
10597
+ include Aws::Structure
10598
+ end
10599
+
10600
+ # @!attribute [rw] actions_executions
10601
+ # List of actions executions.
10602
+ # @return [Array<Types::DetectMitigationActionExecution>]
10603
+ #
10604
+ # @!attribute [rw] next_token
10605
+ # A token that can be used to retrieve the next set of results, or
10606
+ # `null` if there are no additional results.
10607
+ # @return [String]
10608
+ #
10609
+ class ListDetectMitigationActionsExecutionsResponse < Struct.new(
10610
+ :actions_executions,
10611
+ :next_token)
10612
+ SENSITIVE = []
10613
+ include Aws::Structure
10614
+ end
10615
+
10616
+ # @note When making an API call, you may pass ListDetectMitigationActionsTasksRequest
10617
+ # data as a hash:
10618
+ #
10619
+ # {
10620
+ # max_results: 1,
10621
+ # next_token: "NextToken",
10622
+ # start_time: Time.now, # required
10623
+ # end_time: Time.now, # required
10624
+ # }
10625
+ #
10626
+ # @!attribute [rw] max_results
10627
+ # The maximum number of results to return at one time. The default is
10628
+ # 25.
10629
+ # @return [Integer]
10630
+ #
10631
+ # @!attribute [rw] next_token
10632
+ # The token for the next set of results.
10633
+ # @return [String]
10634
+ #
10635
+ # @!attribute [rw] start_time
10636
+ # A filter to limit results to those found after the specified time.
10637
+ # You must specify either the startTime and endTime or the taskId, but
10638
+ # not both.
10639
+ # @return [Time]
10640
+ #
10641
+ # @!attribute [rw] end_time
10642
+ # The end of the time period for which ML Detect mitigation actions
10643
+ # tasks are returned.
10644
+ # @return [Time]
10645
+ #
10646
+ class ListDetectMitigationActionsTasksRequest < Struct.new(
10647
+ :max_results,
10648
+ :next_token,
10649
+ :start_time,
10650
+ :end_time)
10651
+ SENSITIVE = []
10652
+ include Aws::Structure
10653
+ end
10654
+
10655
+ # @!attribute [rw] tasks
10656
+ # The collection of ML Detect mitigation tasks that matched the filter
10657
+ # criteria.
10658
+ # @return [Array<Types::DetectMitigationActionsTaskSummary>]
9898
10659
  #
9899
- # @!attribute [rw] next_marker
9900
- # The marker for the next set of results, or null if there are no
9901
- # additional results.
10660
+ # @!attribute [rw] next_token
10661
+ # A token that can be used to retrieve the next set of results, or
10662
+ # `null` if there are no additional results.
9902
10663
  # @return [String]
9903
10664
  #
9904
- class ListCertificatesResponse < Struct.new(
9905
- :certificates,
9906
- :next_marker)
10665
+ class ListDetectMitigationActionsTasksResponse < Struct.new(
10666
+ :tasks,
10667
+ :next_token)
9907
10668
  SENSITIVE = []
9908
10669
  include Aws::Structure
9909
10670
  end
@@ -10851,6 +11612,7 @@ module Aws::IoT
10851
11612
  # next_token: "NextToken",
10852
11613
  # max_results: 1,
10853
11614
  # dimension_name: "DimensionName",
11615
+ # metric_name: "MetricName",
10854
11616
  # }
10855
11617
  #
10856
11618
  # @!attribute [rw] next_token
@@ -10863,13 +11625,18 @@ module Aws::IoT
10863
11625
  #
10864
11626
  # @!attribute [rw] dimension_name
10865
11627
  # A filter to limit results to the security profiles that use the
10866
- # defined dimension.
11628
+ # defined dimension. Cannot be used with `metricName`
11629
+ # @return [String]
11630
+ #
11631
+ # @!attribute [rw] metric_name
11632
+ # The name of the custom metric. Cannot be used with `dimensionName`.
10867
11633
  # @return [String]
10868
11634
  #
10869
11635
  class ListSecurityProfilesRequest < Struct.new(
10870
11636
  :next_token,
10871
11637
  :max_results,
10872
- :dimension_name)
11638
+ :dimension_name,
11639
+ :metric_name)
10873
11640
  SENSITIVE = []
10874
11641
  include Aws::Structure
10875
11642
  end
@@ -11491,6 +12258,7 @@ module Aws::IoT
11491
12258
  # attribute_name: "AttributeName",
11492
12259
  # attribute_value: "AttributeValue",
11493
12260
  # thing_type_name: "ThingTypeName",
12261
+ # use_prefix_attribute_value: false,
11494
12262
  # }
11495
12263
  #
11496
12264
  # @!attribute [rw] next_token
@@ -11515,12 +12283,22 @@ module Aws::IoT
11515
12283
  # The name of the thing type used to search for things.
11516
12284
  # @return [String]
11517
12285
  #
12286
+ # @!attribute [rw] use_prefix_attribute_value
12287
+ # When `true`, the action returns the thing resources with attribute
12288
+ # values that start with the `attributeValue` provided.
12289
+ #
12290
+ # When `false`, or not present, the action returns only the thing
12291
+ # resources with attribute values that match the entire
12292
+ # `attributeValue` provided.
12293
+ # @return [Boolean]
12294
+ #
11518
12295
  class ListThingsRequest < Struct.new(
11519
12296
  :next_token,
11520
12297
  :max_results,
11521
12298
  :attribute_name,
11522
12299
  :attribute_value,
11523
- :thing_type_name)
12300
+ :thing_type_name,
12301
+ :use_prefix_attribute_value)
11524
12302
  SENSITIVE = []
11525
12303
  include Aws::Structure
11526
12304
  end
@@ -11697,6 +12475,8 @@ module Aws::IoT
11697
12475
  # end_time: Time.now, # required
11698
12476
  # thing_name: "DeviceDefenderThingName",
11699
12477
  # security_profile_name: "SecurityProfileName",
12478
+ # behavior_criteria_type: "STATIC", # accepts STATIC, STATISTICAL, MACHINE_LEARNING
12479
+ # list_suppressed_alerts: false,
11700
12480
  # next_token: "NextToken",
11701
12481
  # max_results: 1,
11702
12482
  # }
@@ -11719,6 +12499,14 @@ module Aws::IoT
11719
12499
  # security profile.
11720
12500
  # @return [String]
11721
12501
  #
12502
+ # @!attribute [rw] behavior_criteria_type
12503
+ # The criteria for a behavior.
12504
+ # @return [String]
12505
+ #
12506
+ # @!attribute [rw] list_suppressed_alerts
12507
+ # A list of all suppressed alerts.
12508
+ # @return [Boolean]
12509
+ #
11722
12510
  # @!attribute [rw] next_token
11723
12511
  # The token for the next set of results.
11724
12512
  # @return [String]
@@ -11732,6 +12520,8 @@ module Aws::IoT
11732
12520
  :end_time,
11733
12521
  :thing_name,
11734
12522
  :security_profile_name,
12523
+ :behavior_criteria_type,
12524
+ :list_suppressed_alerts,
11735
12525
  :next_token,
11736
12526
  :max_results)
11737
12527
  SENSITIVE = []
@@ -11823,6 +12613,26 @@ module Aws::IoT
11823
12613
  include Aws::Structure
11824
12614
  end
11825
12615
 
12616
+ # The configuration of an ML Detect Security Profile.
12617
+ #
12618
+ # @note When making an API call, you may pass MachineLearningDetectionConfig
12619
+ # data as a hash:
12620
+ #
12621
+ # {
12622
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
12623
+ # }
12624
+ #
12625
+ # @!attribute [rw] confidence_level
12626
+ # The sensitivity of anomalous behavior evaluation. Can be `Low`,
12627
+ # `Medium`, or `High`.
12628
+ # @return [String]
12629
+ #
12630
+ class MachineLearningDetectionConfig < Struct.new(
12631
+ :confidence_level)
12632
+ SENSITIVE = []
12633
+ include Aws::Structure
12634
+ end
12635
+
11826
12636
  # The policy documentation is not valid.
11827
12637
  #
11828
12638
  # @!attribute [rw] message
@@ -11884,7 +12694,7 @@ module Aws::IoT
11884
12694
  # @return [String]
11885
12695
  #
11886
12696
  # @!attribute [rw] metric_dimension
11887
- # The dimension of a metric.
12697
+ # The dimension of a metric. This can't be used with custom metrics.
11888
12698
  # @return [Types::MetricDimension]
11889
12699
  #
11890
12700
  class MetricToRetain < Struct.new(
@@ -11903,6 +12713,9 @@ module Aws::IoT
11903
12713
  # count: 1,
11904
12714
  # cidrs: ["Cidr"],
11905
12715
  # ports: [1],
12716
+ # number: 1.0,
12717
+ # numbers: [1.0],
12718
+ # strings: ["stringValue"],
11906
12719
  # }
11907
12720
  #
11908
12721
  # @!attribute [rw] count
@@ -11920,10 +12733,25 @@ module Aws::IoT
11920
12733
  # specify that set to be compared with the `metric`.
11921
12734
  # @return [Array<Integer>]
11922
12735
  #
12736
+ # @!attribute [rw] number
12737
+ # The numeral value of a metric.
12738
+ # @return [Float]
12739
+ #
12740
+ # @!attribute [rw] numbers
12741
+ # The numeral values of a metric.
12742
+ # @return [Array<Float>]
12743
+ #
12744
+ # @!attribute [rw] strings
12745
+ # The string values of a metric.
12746
+ # @return [Array<String>]
12747
+ #
11923
12748
  class MetricValue < Struct.new(
11924
12749
  :count,
11925
12750
  :cidrs,
11926
- :ports)
12751
+ :ports,
12752
+ :number,
12753
+ :numbers,
12754
+ :strings)
11927
12755
  SENSITIVE = []
11928
12756
  include Aws::Structure
11929
12757
  end
@@ -12038,8 +12866,8 @@ module Aws::IoT
12038
12866
  #
12039
12867
  # @!attribute [rw] publish_finding_to_sns_params
12040
12868
  # Parameters to define a mitigation action that publishes findings to
12041
- # Amazon SNS. You can implement your own custom actions in response to
12042
- # the Amazon SNS messages.
12869
+ # Amazon Simple Notification Service (Amazon SNS. You can implement
12870
+ # your own custom actions in response to the Amazon SNS messages.
12043
12871
  # @return [Types::PublishFindingToSnsParams]
12044
12872
  #
12045
12873
  class MitigationActionParams < Struct.new(
@@ -13279,6 +14107,15 @@ module Aws::IoT
13279
14107
  # },
13280
14108
  # },
13281
14109
  # },
14110
+ # kafka: {
14111
+ # destination_arn: "AwsArn", # required
14112
+ # topic: "String", # required
14113
+ # key: "String",
14114
+ # partition: "String",
14115
+ # client_properties: { # required
14116
+ # "String" => "String",
14117
+ # },
14118
+ # },
13282
14119
  # },
13283
14120
  # ],
13284
14121
  # rule_disabled: false,
@@ -13441,6 +14278,15 @@ module Aws::IoT
13441
14278
  # },
13442
14279
  # },
13443
14280
  # },
14281
+ # kafka: {
14282
+ # destination_arn: "AwsArn", # required
14283
+ # topic: "String", # required
14284
+ # key: "String",
14285
+ # partition: "String",
14286
+ # client_properties: { # required
14287
+ # "String" => "String",
14288
+ # },
14289
+ # },
13444
14290
  # },
13445
14291
  # },
13446
14292
  # }
@@ -13880,7 +14726,7 @@ module Aws::IoT
13880
14726
  # Identifying information for a Device Defender security profile.
13881
14727
  #
13882
14728
  # @!attribute [rw] name
13883
- # The name you have given to the security profile.
14729
+ # The name you've given to the security profile.
13884
14730
  # @return [String]
13885
14731
  #
13886
14732
  # @!attribute [rw] arn
@@ -14248,7 +15094,7 @@ module Aws::IoT
14248
15094
  # data as a hash:
14249
15095
  #
14250
15096
  # {
14251
- # task_id: "AuditMitigationActionsTaskId", # required
15097
+ # task_id: "MitigationActionsTaskId", # required
14252
15098
  # target: { # required
14253
15099
  # audit_task_id: "AuditTaskId",
14254
15100
  # finding_ids: ["FindingId"],
@@ -14270,7 +15116,7 @@ module Aws::IoT
14270
15116
  # @!attribute [rw] target
14271
15117
  # Specifies the audit findings to which the mitigation actions are
14272
15118
  # applied. You can apply them to a type of audit check, to all
14273
- # findings from an audit, or to a speecific set of findings.
15119
+ # findings from an audit, or to a specific set of findings.
14274
15120
  # @return [Types::AuditMitigationActionsTaskTarget]
14275
15121
  #
14276
15122
  # @!attribute [rw] audit_check_to_actions_mapping
@@ -14308,6 +15154,84 @@ module Aws::IoT
14308
15154
  include Aws::Structure
14309
15155
  end
14310
15156
 
15157
+ # @note When making an API call, you may pass StartDetectMitigationActionsTaskRequest
15158
+ # data as a hash:
15159
+ #
15160
+ # {
15161
+ # task_id: "MitigationActionsTaskId", # required
15162
+ # target: { # required
15163
+ # violation_ids: ["ViolationId"],
15164
+ # security_profile_name: "SecurityProfileName",
15165
+ # behavior_name: "BehaviorName",
15166
+ # },
15167
+ # actions: ["MitigationActionName"], # required
15168
+ # violation_event_occurrence_range: {
15169
+ # start_time: Time.now, # required
15170
+ # end_time: Time.now, # required
15171
+ # },
15172
+ # include_only_active_violations: false,
15173
+ # include_suppressed_alerts: false,
15174
+ # client_request_token: "ClientRequestToken", # required
15175
+ # }
15176
+ #
15177
+ # @!attribute [rw] task_id
15178
+ # The unique identifier of the task.
15179
+ # @return [String]
15180
+ #
15181
+ # @!attribute [rw] target
15182
+ # Specifies the ML Detect findings to which the mitigation actions are
15183
+ # applied.
15184
+ # @return [Types::DetectMitigationActionsTaskTarget]
15185
+ #
15186
+ # @!attribute [rw] actions
15187
+ # The actions to be performed when a device has unexpected behavior.
15188
+ # @return [Array<String>]
15189
+ #
15190
+ # @!attribute [rw] violation_event_occurrence_range
15191
+ # Specifies the time period of which violation events occurred
15192
+ # between.
15193
+ # @return [Types::ViolationEventOccurrenceRange]
15194
+ #
15195
+ # @!attribute [rw] include_only_active_violations
15196
+ # Specifies to list only active violations.
15197
+ # @return [Boolean]
15198
+ #
15199
+ # @!attribute [rw] include_suppressed_alerts
15200
+ # Specifies to include suppressed alerts.
15201
+ # @return [Boolean]
15202
+ #
15203
+ # @!attribute [rw] client_request_token
15204
+ # Each mitigation action task must have a unique client request token.
15205
+ # If you try to create a new task with the same token as a task that
15206
+ # already exists, an exception occurs. If you omit this value, AWS
15207
+ # SDKs will automatically generate a unique client request.
15208
+ #
15209
+ # **A suitable default value is auto-generated.** You should normally
15210
+ # not need to pass this option.
15211
+ # @return [String]
15212
+ #
15213
+ class StartDetectMitigationActionsTaskRequest < Struct.new(
15214
+ :task_id,
15215
+ :target,
15216
+ :actions,
15217
+ :violation_event_occurrence_range,
15218
+ :include_only_active_violations,
15219
+ :include_suppressed_alerts,
15220
+ :client_request_token)
15221
+ SENSITIVE = []
15222
+ include Aws::Structure
15223
+ end
15224
+
15225
+ # @!attribute [rw] task_id
15226
+ # The unique identifier of the task.
15227
+ # @return [String]
15228
+ #
15229
+ class StartDetectMitigationActionsTaskResponse < Struct.new(
15230
+ :task_id)
15231
+ SENSITIVE = []
15232
+ include Aws::Structure
15233
+ end
15234
+
14311
15235
  # @note When making an API call, you may pass StartOnDemandAuditTaskRequest
14312
15236
  # data as a hash:
14313
15237
  #
@@ -14427,9 +15351,9 @@ module Aws::IoT
14427
15351
  include Aws::Structure
14428
15352
  end
14429
15353
 
14430
- # A statistical ranking (percentile) which indicates a threshold value
14431
- # by which a behavior is determined to be in compliance or in violation
14432
- # of the behavior.
15354
+ # A statistical ranking (percentile) that indicates a threshold value by
15355
+ # which a behavior is determined to be in compliance or in violation of
15356
+ # the behavior.
14433
15357
  #
14434
15358
  # @note When making an API call, you may pass StatisticalThreshold
14435
15359
  # data as a hash:
@@ -14439,7 +15363,7 @@ module Aws::IoT
14439
15363
  # }
14440
15364
  #
14441
15365
  # @!attribute [rw] statistic
14442
- # The percentile which resolves to a threshold value by which
15366
+ # The percentile that resolves to a threshold value by which
14443
15367
  # compliance with a behavior is determined. Metrics are collected over
14444
15368
  # the specified period (`durationSeconds`) from all reporting devices
14445
15369
  # in your account and statistical ranks are calculated. Then, the
@@ -15648,6 +16572,14 @@ module Aws::IoT
15648
16572
  # to be sent to your confirmation endpoint.
15649
16573
  # @return [String]
15650
16574
  #
16575
+ # @!attribute [rw] created_at
16576
+ # The date and time when the topic rule destination was created.
16577
+ # @return [Time]
16578
+ #
16579
+ # @!attribute [rw] last_updated_at
16580
+ # The date and time when the topic rule destination was last updated.
16581
+ # @return [Time]
16582
+ #
15651
16583
  # @!attribute [rw] status_reason
15652
16584
  # Additional details or reason why the topic rule destination is in
15653
16585
  # the current status.
@@ -15657,11 +16589,18 @@ module Aws::IoT
15657
16589
  # Properties of the HTTP URL.
15658
16590
  # @return [Types::HttpUrlDestinationProperties]
15659
16591
  #
16592
+ # @!attribute [rw] vpc_properties
16593
+ # Properties of the virtual private cloud (VPC) connection.
16594
+ # @return [Types::VpcDestinationProperties]
16595
+ #
15660
16596
  class TopicRuleDestination < Struct.new(
15661
16597
  :arn,
15662
16598
  :status,
16599
+ :created_at,
16600
+ :last_updated_at,
15663
16601
  :status_reason,
15664
- :http_url_properties)
16602
+ :http_url_properties,
16603
+ :vpc_properties)
15665
16604
  SENSITIVE = []
15666
16605
  include Aws::Structure
15667
16606
  end
@@ -15675,14 +16614,25 @@ module Aws::IoT
15675
16614
  # http_url_configuration: {
15676
16615
  # confirmation_url: "Url", # required
15677
16616
  # },
16617
+ # vpc_configuration: {
16618
+ # subnet_ids: ["SubnetId"], # required
16619
+ # security_groups: ["SecurityGroupId"],
16620
+ # vpc_id: "VpcId", # required
16621
+ # role_arn: "AwsArn", # required
16622
+ # },
15678
16623
  # }
15679
16624
  #
15680
16625
  # @!attribute [rw] http_url_configuration
15681
16626
  # Configuration of the HTTP URL.
15682
16627
  # @return [Types::HttpUrlDestinationConfiguration]
15683
16628
  #
16629
+ # @!attribute [rw] vpc_configuration
16630
+ # Configuration of the virtual private cloud (VPC) connection.
16631
+ # @return [Types::VpcDestinationConfiguration]
16632
+ #
15684
16633
  class TopicRuleDestinationConfiguration < Struct.new(
15685
- :http_url_configuration)
16634
+ :http_url_configuration,
16635
+ :vpc_configuration)
15686
16636
  SENSITIVE = []
15687
16637
  include Aws::Structure
15688
16638
  end
@@ -15726,6 +16676,14 @@ module Aws::IoT
15726
16676
  # to be sent to your confirmation endpoint.
15727
16677
  # @return [String]
15728
16678
  #
16679
+ # @!attribute [rw] created_at
16680
+ # The date and time when the topic rule destination was created.
16681
+ # @return [Time]
16682
+ #
16683
+ # @!attribute [rw] last_updated_at
16684
+ # The date and time when the topic rule destination was last updated.
16685
+ # @return [Time]
16686
+ #
15729
16687
  # @!attribute [rw] status_reason
15730
16688
  # The reason the topic rule destination is in the current status.
15731
16689
  # @return [String]
@@ -15734,11 +16692,18 @@ module Aws::IoT
15734
16692
  # Information about the HTTP URL.
15735
16693
  # @return [Types::HttpUrlDestinationSummary]
15736
16694
  #
16695
+ # @!attribute [rw] vpc_destination_summary
16696
+ # Information about the virtual private cloud (VPC) connection.
16697
+ # @return [Types::VpcDestinationSummary]
16698
+ #
15737
16699
  class TopicRuleDestinationSummary < Struct.new(
15738
16700
  :arn,
15739
16701
  :status,
16702
+ :created_at,
16703
+ :last_updated_at,
15740
16704
  :status_reason,
15741
- :http_url_summary)
16705
+ :http_url_summary,
16706
+ :vpc_destination_summary)
15742
16707
  SENSITIVE = []
15743
16708
  include Aws::Structure
15744
16709
  end
@@ -15942,6 +16907,15 @@ module Aws::IoT
15942
16907
  # },
15943
16908
  # },
15944
16909
  # },
16910
+ # kafka: {
16911
+ # destination_arn: "AwsArn", # required
16912
+ # topic: "String", # required
16913
+ # key: "String",
16914
+ # partition: "String",
16915
+ # client_properties: { # required
16916
+ # "String" => "String",
16917
+ # },
16918
+ # },
15945
16919
  # },
15946
16920
  # ],
15947
16921
  # rule_disabled: false,
@@ -16104,6 +17078,15 @@ module Aws::IoT
16104
17078
  # },
16105
17079
  # },
16106
17080
  # },
17081
+ # kafka: {
17082
+ # destination_arn: "AwsArn", # required
17083
+ # topic: "String", # required
17084
+ # key: "String",
17085
+ # partition: "String",
17086
+ # client_properties: { # required
17087
+ # "String" => "String",
17088
+ # },
17089
+ # },
16107
17090
  # },
16108
17091
  # }
16109
17092
  #
@@ -16306,9 +17289,9 @@ module Aws::IoT
16306
17289
  # }
16307
17290
  #
16308
17291
  # @!attribute [rw] role_arn
16309
- # The ARN of the role that grants permission to AWS IoT to access
16310
- # information about your devices, policies, certificates and other
16311
- # items as required when performing an audit.
17292
+ # The Amazon Resource Name (ARN) of the role that grants permission to
17293
+ # AWS IoT to access information about your devices, policies,
17294
+ # certificates, and other items as required when performing an audit.
16312
17295
  # @return [String]
16313
17296
  #
16314
17297
  # @!attribute [rw] audit_notification_target_configurations
@@ -16324,7 +17307,7 @@ module Aws::IoT
16324
17307
  # enabled. When a check is disabled, any data collected so far in
16325
17308
  # relation to the check is deleted.
16326
17309
  #
16327
- # You cannot disable a check if it is used by any scheduled audit. You
17310
+ # You cannot disable a check if it's used by any scheduled audit. You
16328
17311
  # must first delete the check from the scheduled audit or delete the
16329
17312
  # scheduled audit itself.
16330
17313
  #
@@ -16515,7 +17498,7 @@ module Aws::IoT
16515
17498
  # }
16516
17499
  #
16517
17500
  # @!attribute [rw] action
16518
- # The action that you want to apply to the CA cerrtificate. The only
17501
+ # The action that you want to apply to the CA certificate. The only
16519
17502
  # supported value is `DEACTIVATE`.
16520
17503
  # @return [String]
16521
17504
  #
@@ -16609,6 +17592,68 @@ module Aws::IoT
16609
17592
  include Aws::Structure
16610
17593
  end
16611
17594
 
17595
+ # @note When making an API call, you may pass UpdateCustomMetricRequest
17596
+ # data as a hash:
17597
+ #
17598
+ # {
17599
+ # metric_name: "MetricName", # required
17600
+ # display_name: "CustomMetricDisplayName", # required
17601
+ # }
17602
+ #
17603
+ # @!attribute [rw] metric_name
17604
+ # The name of the custom metric. Cannot be updated.
17605
+ # @return [String]
17606
+ #
17607
+ # @!attribute [rw] display_name
17608
+ # Field represents a friendly name in the console for the custom
17609
+ # metric, it doesn't have to be unique. Don't use this name as the
17610
+ # metric identifier in the device metric report. Can be updated.
17611
+ # @return [String]
17612
+ #
17613
+ class UpdateCustomMetricRequest < Struct.new(
17614
+ :metric_name,
17615
+ :display_name)
17616
+ SENSITIVE = []
17617
+ include Aws::Structure
17618
+ end
17619
+
17620
+ # @!attribute [rw] metric_name
17621
+ # The name of the custom metric.
17622
+ # @return [String]
17623
+ #
17624
+ # @!attribute [rw] metric_arn
17625
+ # The Amazon Resource Number (ARN) of the custom metric.
17626
+ # @return [String]
17627
+ #
17628
+ # @!attribute [rw] metric_type
17629
+ # The type of the custom metric. Types include `string-list`,
17630
+ # `ip-address-list`, `number-list`, and `number`.
17631
+ # @return [String]
17632
+ #
17633
+ # @!attribute [rw] display_name
17634
+ # A friendly name in the console for the custom metric
17635
+ # @return [String]
17636
+ #
17637
+ # @!attribute [rw] creation_date
17638
+ # The creation date of the custom metric in milliseconds since epoch.
17639
+ # @return [Time]
17640
+ #
17641
+ # @!attribute [rw] last_modified_date
17642
+ # The time the custom metric was last modified in milliseconds since
17643
+ # epoch.
17644
+ # @return [Time]
17645
+ #
17646
+ class UpdateCustomMetricResponse < Struct.new(
17647
+ :metric_name,
17648
+ :metric_arn,
17649
+ :metric_type,
17650
+ :display_name,
17651
+ :creation_date,
17652
+ :last_modified_date)
17653
+ SENSITIVE = []
17654
+ include Aws::Structure
17655
+ end
17656
+
16612
17657
  # Parameters to define a mitigation action that changes the state of the
16613
17658
  # device certificate to inactive.
16614
17659
  #
@@ -16620,7 +17665,7 @@ module Aws::IoT
16620
17665
  # }
16621
17666
  #
16622
17667
  # @!attribute [rw] action
16623
- # The action that you want to apply to the device cerrtificate. The
17668
+ # The action that you want to apply to the device certificate. The
16624
17669
  # only supported value is `DEACTIVATE`.
16625
17670
  # @return [String]
16626
17671
  #
@@ -16662,7 +17707,7 @@ module Aws::IoT
16662
17707
  # @return [String]
16663
17708
  #
16664
17709
  # @!attribute [rw] arn
16665
- # The ARN (Amazon resource name) of the created dimension.
17710
+ # The Amazon Resource Name (ARN)of the created dimension.
16666
17711
  # @return [String]
16667
17712
  #
16668
17713
  # @!attribute [rw] type
@@ -17022,9 +18067,9 @@ module Aws::IoT
17022
18067
  # }
17023
18068
  #
17024
18069
  # @!attribute [rw] action_name
17025
- # The friendly name for the mitigation action. You can't change the
18070
+ # The friendly name for the mitigation action. You cannot change the
17026
18071
  # name by using `UpdateMitigationAction`. Instead, you must delete and
17027
- # re-create the mitigation action with the new name.
18072
+ # recreate the mitigation action with the new name.
17028
18073
  # @return [String]
17029
18074
  #
17030
18075
  # @!attribute [rw] role_arn
@@ -17173,24 +18218,24 @@ module Aws::IoT
17173
18218
  # }
17174
18219
  #
17175
18220
  # @!attribute [rw] frequency
17176
- # How often the scheduled audit takes place. Can be one of "DAILY",
17177
- # "WEEKLY", "BIWEEKLY", or "MONTHLY". The start time of each
17178
- # audit is determined by the system.
18221
+ # How often the scheduled audit takes place, either `DAILY`, `WEEKLY`,
18222
+ # `BIWEEKLY`, or `MONTHLY`. The start time of each audit is determined
18223
+ # by the system.
17179
18224
  # @return [String]
17180
18225
  #
17181
18226
  # @!attribute [rw] day_of_month
17182
- # The day of the month on which the scheduled audit takes place. Can
17183
- # be "1" through "31" or "LAST". This field is required if the
17184
- # "frequency" parameter is set to "MONTHLY". If days 29-31 are
18227
+ # The day of the month on which the scheduled audit takes place. This
18228
+ # can be `1` through `31` or `LAST`. This field is required if the
18229
+ # `frequency` parameter is set to `MONTHLY`. If days 29-31 are
17185
18230
  # specified, and the month does not have that many days, the audit
17186
18231
  # takes place on the "LAST" day of the month.
17187
18232
  # @return [String]
17188
18233
  #
17189
18234
  # @!attribute [rw] day_of_week
17190
- # The day of the week on which the scheduled audit takes place. Can be
17191
- # one of "SUN", "MON", "TUE", "WED", "THU", "FRI", or
17192
- # "SAT". This field is required if the "frequency" parameter is
17193
- # set to "WEEKLY" or "BIWEEKLY".
18235
+ # The day of the week on which the scheduled audit takes place. This
18236
+ # can be one of `SUN`, `MON`, `TUE`, `WED`, `THU`, `FRI`, or `SAT`.
18237
+ # This field is required if the "frequency" parameter is set to
18238
+ # `WEEKLY` or `BIWEEKLY`.
17194
18239
  # @return [String]
17195
18240
  #
17196
18241
  # @!attribute [rw] target_check_names
@@ -17241,11 +18286,14 @@ module Aws::IoT
17241
18286
  # operator: "IN", # accepts IN, NOT_IN
17242
18287
  # },
17243
18288
  # criteria: {
17244
- # 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
18289
+ # 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, in-set, not-in-set
17245
18290
  # value: {
17246
18291
  # count: 1,
17247
18292
  # cidrs: ["Cidr"],
17248
18293
  # ports: [1],
18294
+ # number: 1.0,
18295
+ # numbers: [1.0],
18296
+ # strings: ["stringValue"],
17249
18297
  # },
17250
18298
  # duration_seconds: 1,
17251
18299
  # consecutive_datapoints_to_alarm: 1,
@@ -17253,7 +18301,11 @@ module Aws::IoT
17253
18301
  # statistical_threshold: {
17254
18302
  # statistic: "EvaluationStatistic",
17255
18303
  # },
18304
+ # ml_detection_config: {
18305
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
18306
+ # },
17256
18307
  # },
18308
+ # suppress_alerts: false,
17257
18309
  # },
17258
18310
  # ],
17259
18311
  # alert_targets: {
@@ -17301,13 +18353,15 @@ module Aws::IoT
17301
18353
  #
17302
18354
  # A list of metrics whose data is retained (stored). By default, data
17303
18355
  # is retained for any metric used in the profile's `behaviors`, but
17304
- # it is also retained for any metric specified here.
18356
+ # it is also retained for any metric specified here. Can be used with
18357
+ # custom metrics; cannot be used with dimensions.
17305
18358
  # @return [Array<String>]
17306
18359
  #
17307
18360
  # @!attribute [rw] additional_metrics_to_retain_v2
17308
18361
  # A list of metrics whose data is retained (stored). By default, data
17309
18362
  # is retained for any metric used in the profile's behaviors, but it
17310
- # is also retained for any metric specified here.
18363
+ # is also retained for any metric specified here. Can be used with
18364
+ # custom metrics; cannot be used with dimensions.
17311
18365
  # @return [Array<Types::MetricToRetain>]
17312
18366
  #
17313
18367
  # @!attribute [rw] delete_behaviors
@@ -17383,7 +18437,8 @@ module Aws::IoT
17383
18437
  # @!attribute [rw] additional_metrics_to_retain_v2
17384
18438
  # A list of metrics whose data is retained (stored). By default, data
17385
18439
  # is retained for any metric used in the profile's behaviors, but it
17386
- # is also retained for any metric specified here.
18440
+ # is also retained for any metric specified here. Can be used with
18441
+ # custom metrics; cannot be used with dimensions.
17387
18442
  # @return [Array<Types::MetricToRetain>]
17388
18443
  #
17389
18444
  # @!attribute [rw] version
@@ -17642,7 +18697,7 @@ module Aws::IoT
17642
18697
  #
17643
18698
  # {
17644
18699
  # arn: "AwsArn", # required
17645
- # status: "ENABLED", # required, accepts ENABLED, IN_PROGRESS, DISABLED, ERROR
18700
+ # status: "ENABLED", # required, accepts ENABLED, IN_PROGRESS, DISABLED, ERROR, DELETING
17646
18701
  # }
17647
18702
  #
17648
18703
  # @!attribute [rw] arn
@@ -17704,11 +18759,14 @@ module Aws::IoT
17704
18759
  # operator: "IN", # accepts IN, NOT_IN
17705
18760
  # },
17706
18761
  # criteria: {
17707
- # 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
18762
+ # 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, in-set, not-in-set
17708
18763
  # value: {
17709
18764
  # count: 1,
17710
18765
  # cidrs: ["Cidr"],
17711
18766
  # ports: [1],
18767
+ # number: 1.0,
18768
+ # numbers: [1.0],
18769
+ # strings: ["stringValue"],
17712
18770
  # },
17713
18771
  # duration_seconds: 1,
17714
18772
  # consecutive_datapoints_to_alarm: 1,
@@ -17716,7 +18774,11 @@ module Aws::IoT
17716
18774
  # statistical_threshold: {
17717
18775
  # statistic: "EvaluationStatistic",
17718
18776
  # },
18777
+ # ml_detection_config: {
18778
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
18779
+ # },
17719
18780
  # },
18781
+ # suppress_alerts: false,
17720
18782
  # },
17721
18783
  # ],
17722
18784
  # }
@@ -17801,13 +18863,17 @@ module Aws::IoT
17801
18863
  # @return [String]
17802
18864
  #
17803
18865
  # @!attribute [rw] behavior
17804
- # The behavior which was violated.
18866
+ # The behavior that was violated.
17805
18867
  # @return [Types::Behavior]
17806
18868
  #
17807
18869
  # @!attribute [rw] metric_value
17808
18870
  # The value of the metric (the measurement).
17809
18871
  # @return [Types::MetricValue]
17810
18872
  #
18873
+ # @!attribute [rw] violation_event_additional_info
18874
+ # The details of a violation event.
18875
+ # @return [Types::ViolationEventAdditionalInfo]
18876
+ #
17811
18877
  # @!attribute [rw] violation_event_type
17812
18878
  # The type of violation event.
17813
18879
  # @return [String]
@@ -17822,11 +18888,147 @@ module Aws::IoT
17822
18888
  :security_profile_name,
17823
18889
  :behavior,
17824
18890
  :metric_value,
18891
+ :violation_event_additional_info,
17825
18892
  :violation_event_type,
17826
18893
  :violation_event_time)
17827
18894
  SENSITIVE = []
17828
18895
  include Aws::Structure
17829
18896
  end
17830
18897
 
18898
+ # The details of a violation event.
18899
+ #
18900
+ # @!attribute [rw] confidence_level
18901
+ # The sensitivity of anomalous behavior evaluation. Can be `Low`,
18902
+ # `Medium`, or `High`.
18903
+ # @return [String]
18904
+ #
18905
+ class ViolationEventAdditionalInfo < Struct.new(
18906
+ :confidence_level)
18907
+ SENSITIVE = []
18908
+ include Aws::Structure
18909
+ end
18910
+
18911
+ # Specifies the time period of which violation events occurred between.
18912
+ #
18913
+ # @note When making an API call, you may pass ViolationEventOccurrenceRange
18914
+ # data as a hash:
18915
+ #
18916
+ # {
18917
+ # start_time: Time.now, # required
18918
+ # end_time: Time.now, # required
18919
+ # }
18920
+ #
18921
+ # @!attribute [rw] start_time
18922
+ # The start date and time of a time period in which violation events
18923
+ # occurred.
18924
+ # @return [Time]
18925
+ #
18926
+ # @!attribute [rw] end_time
18927
+ # The end date and time of a time period in which violation events
18928
+ # occurred.
18929
+ # @return [Time]
18930
+ #
18931
+ class ViolationEventOccurrenceRange < Struct.new(
18932
+ :start_time,
18933
+ :end_time)
18934
+ SENSITIVE = []
18935
+ include Aws::Structure
18936
+ end
18937
+
18938
+ # The configuration information for a virtual private cloud (VPC)
18939
+ # destination.
18940
+ #
18941
+ # @note When making an API call, you may pass VpcDestinationConfiguration
18942
+ # data as a hash:
18943
+ #
18944
+ # {
18945
+ # subnet_ids: ["SubnetId"], # required
18946
+ # security_groups: ["SecurityGroupId"],
18947
+ # vpc_id: "VpcId", # required
18948
+ # role_arn: "AwsArn", # required
18949
+ # }
18950
+ #
18951
+ # @!attribute [rw] subnet_ids
18952
+ # The subnet IDs of the VPC destination.
18953
+ # @return [Array<String>]
18954
+ #
18955
+ # @!attribute [rw] security_groups
18956
+ # The security groups of the VPC destination.
18957
+ # @return [Array<String>]
18958
+ #
18959
+ # @!attribute [rw] vpc_id
18960
+ # The ID of the VPC.
18961
+ # @return [String]
18962
+ #
18963
+ # @!attribute [rw] role_arn
18964
+ # The ARN of a role that has permission to create and attach to
18965
+ # elastic network interfaces (ENIs).
18966
+ # @return [String]
18967
+ #
18968
+ class VpcDestinationConfiguration < Struct.new(
18969
+ :subnet_ids,
18970
+ :security_groups,
18971
+ :vpc_id,
18972
+ :role_arn)
18973
+ SENSITIVE = []
18974
+ include Aws::Structure
18975
+ end
18976
+
18977
+ # The properties of a virtual private cloud (VPC) destination.
18978
+ #
18979
+ # @!attribute [rw] subnet_ids
18980
+ # The subnet IDs of the VPC destination.
18981
+ # @return [Array<String>]
18982
+ #
18983
+ # @!attribute [rw] security_groups
18984
+ # The security groups of the VPC destination.
18985
+ # @return [Array<String>]
18986
+ #
18987
+ # @!attribute [rw] vpc_id
18988
+ # The ID of the VPC.
18989
+ # @return [String]
18990
+ #
18991
+ # @!attribute [rw] role_arn
18992
+ # The ARN of a role that has permission to create and attach to
18993
+ # elastic network interfaces (ENIs).
18994
+ # @return [String]
18995
+ #
18996
+ class VpcDestinationProperties < Struct.new(
18997
+ :subnet_ids,
18998
+ :security_groups,
18999
+ :vpc_id,
19000
+ :role_arn)
19001
+ SENSITIVE = []
19002
+ include Aws::Structure
19003
+ end
19004
+
19005
+ # The summary of a virtual private cloud (VPC) destination.
19006
+ #
19007
+ # @!attribute [rw] subnet_ids
19008
+ # The subnet IDs of the VPC destination.
19009
+ # @return [Array<String>]
19010
+ #
19011
+ # @!attribute [rw] security_groups
19012
+ # The security groups of the VPC destination.
19013
+ # @return [Array<String>]
19014
+ #
19015
+ # @!attribute [rw] vpc_id
19016
+ # The ID of the VPC.
19017
+ # @return [String]
19018
+ #
19019
+ # @!attribute [rw] role_arn
19020
+ # The ARN of a role that has permission to create and attach to
19021
+ # elastic network interfaces (ENIs).
19022
+ # @return [String]
19023
+ #
19024
+ class VpcDestinationSummary < Struct.new(
19025
+ :subnet_ids,
19026
+ :security_groups,
19027
+ :vpc_id,
19028
+ :role_arn)
19029
+ SENSITIVE = []
19030
+ include Aws::Structure
19031
+ end
19032
+
17831
19033
  end
17832
19034
  end