aws-sdk-iot 1.63.0 → 1.68.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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