aws-sdk-iot 1.63.0 → 1.64.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.
@@ -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
  #
@@ -5710,7 +5947,7 @@ module Aws::IoT
5710
5947
  # data as a hash:
5711
5948
  #
5712
5949
  # {
5713
- # task_id: "AuditMitigationActionsTaskId", # required
5950
+ # task_id: "MitigationActionsTaskId", # required
5714
5951
  # }
5715
5952
  #
5716
5953
  # @!attribute [rw] task_id
@@ -6042,6 +6279,62 @@ module Aws::IoT
6042
6279
  include Aws::Structure
6043
6280
  end
6044
6281
 
6282
+ # @note When making an API call, you may pass DescribeCustomMetricRequest
6283
+ # data as a hash:
6284
+ #
6285
+ # {
6286
+ # metric_name: "MetricName", # required
6287
+ # }
6288
+ #
6289
+ # @!attribute [rw] metric_name
6290
+ # The name of the custom metric.
6291
+ # @return [String]
6292
+ #
6293
+ class DescribeCustomMetricRequest < Struct.new(
6294
+ :metric_name)
6295
+ SENSITIVE = []
6296
+ include Aws::Structure
6297
+ end
6298
+
6299
+ # @!attribute [rw] metric_name
6300
+ # The name of the custom metric.
6301
+ # @return [String]
6302
+ #
6303
+ # @!attribute [rw] metric_arn
6304
+ # The Amazon Resource Number (ARN) of the custom metric.
6305
+ # @return [String]
6306
+ #
6307
+ # @!attribute [rw] metric_type
6308
+ # The type of the custom metric. Types include `string-list`,
6309
+ # `ip-address-list`, `number-list`, and `number`.
6310
+ # @return [String]
6311
+ #
6312
+ # @!attribute [rw] display_name
6313
+ # Field represents a friendly name in the console for the custom
6314
+ # metric; doesn't have to be unique. Don't use this name as the
6315
+ # metric identifier in the device metric report. Can be updated.
6316
+ # @return [String]
6317
+ #
6318
+ # @!attribute [rw] creation_date
6319
+ # The creation date of the custom metric in milliseconds since epoch.
6320
+ # @return [Time]
6321
+ #
6322
+ # @!attribute [rw] last_modified_date
6323
+ # The time the custom metric was last modified in milliseconds since
6324
+ # epoch.
6325
+ # @return [Time]
6326
+ #
6327
+ class DescribeCustomMetricResponse < Struct.new(
6328
+ :metric_name,
6329
+ :metric_arn,
6330
+ :metric_type,
6331
+ :display_name,
6332
+ :creation_date,
6333
+ :last_modified_date)
6334
+ SENSITIVE = []
6335
+ include Aws::Structure
6336
+ end
6337
+
6045
6338
  # @api private
6046
6339
  #
6047
6340
  class DescribeDefaultAuthorizerRequest < Aws::EmptyStructure; end
@@ -6056,6 +6349,33 @@ module Aws::IoT
6056
6349
  include Aws::Structure
6057
6350
  end
6058
6351
 
6352
+ # @note When making an API call, you may pass DescribeDetectMitigationActionsTaskRequest
6353
+ # data as a hash:
6354
+ #
6355
+ # {
6356
+ # task_id: "MitigationActionsTaskId", # required
6357
+ # }
6358
+ #
6359
+ # @!attribute [rw] task_id
6360
+ # The unique identifier of the task.
6361
+ # @return [String]
6362
+ #
6363
+ class DescribeDetectMitigationActionsTaskRequest < Struct.new(
6364
+ :task_id)
6365
+ SENSITIVE = []
6366
+ include Aws::Structure
6367
+ end
6368
+
6369
+ # @!attribute [rw] task_summary
6370
+ # The description of a task.
6371
+ # @return [Types::DetectMitigationActionsTaskSummary]
6372
+ #
6373
+ class DescribeDetectMitigationActionsTaskResponse < Struct.new(
6374
+ :task_summary)
6375
+ SENSITIVE = []
6376
+ include Aws::Structure
6377
+ end
6378
+
6059
6379
  # @note When making an API call, you may pass DescribeDimensionRequest
6060
6380
  # data as a hash:
6061
6381
  #
@@ -6078,7 +6398,7 @@ module Aws::IoT
6078
6398
  # @return [String]
6079
6399
  #
6080
6400
  # @!attribute [rw] arn
6081
- # The ARN (Amazon resource name) for the dimension.
6401
+ # The Amazon Resource Name (ARN) for the dimension.
6082
6402
  # @return [String]
6083
6403
  #
6084
6404
  # @!attribute [rw] type
@@ -6615,21 +6935,21 @@ module Aws::IoT
6615
6935
  end
6616
6936
 
6617
6937
  # @!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.
6938
+ # How often the scheduled audit takes place, either one of `DAILY`,
6939
+ # `WEEKLY`, `BIWEEKLY`, or `MONTHLY`. The start time of each audit is
6940
+ # determined by the system.
6621
6941
  # @return [String]
6622
6942
  #
6623
6943
  # @!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.
6944
+ # The day of the month on which the scheduled audit takes place. This
6945
+ # is will be `1` through `31` or `LAST`. If days `29`-`31` are
6946
+ # specified, and the month does not have that many days, the audit
6947
+ # takes place on the `LAST` day of the month.
6628
6948
  # @return [String]
6629
6949
  #
6630
6950
  # @!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".
6951
+ # The day of the week on which the scheduled audit takes place, either
6952
+ # one of `SUN`, `MON`, `TUE`, `WED`, `THU`, `FRI`, or `SAT`.
6633
6953
  # @return [String]
6634
6954
  #
6635
6955
  # @!attribute [rw] target_check_names
@@ -7195,6 +7515,170 @@ module Aws::IoT
7195
7515
  #
7196
7516
  class DetachThingPrincipalResponse < Aws::EmptyStructure; end
7197
7517
 
7518
+ # Describes which mitigation actions should be executed.
7519
+ #
7520
+ # @!attribute [rw] task_id
7521
+ # The unique identifier of the task.
7522
+ # @return [String]
7523
+ #
7524
+ # @!attribute [rw] violation_id
7525
+ # The unique identifier of the violation.
7526
+ # @return [String]
7527
+ #
7528
+ # @!attribute [rw] action_name
7529
+ # The friendly name that uniquely identifies the mitigation action.
7530
+ # @return [String]
7531
+ #
7532
+ # @!attribute [rw] thing_name
7533
+ # The name of the thing.
7534
+ # @return [String]
7535
+ #
7536
+ # @!attribute [rw] execution_start_date
7537
+ # The date a mitigation action was started.
7538
+ # @return [Time]
7539
+ #
7540
+ # @!attribute [rw] execution_end_date
7541
+ # The date a mitigation action ended.
7542
+ # @return [Time]
7543
+ #
7544
+ # @!attribute [rw] status
7545
+ # The status of a mitigation action.
7546
+ # @return [String]
7547
+ #
7548
+ # @!attribute [rw] error_code
7549
+ # The error code of a mitigation action.
7550
+ # @return [String]
7551
+ #
7552
+ # @!attribute [rw] message
7553
+ # The message of a mitigation action.
7554
+ # @return [String]
7555
+ #
7556
+ class DetectMitigationActionExecution < Struct.new(
7557
+ :task_id,
7558
+ :violation_id,
7559
+ :action_name,
7560
+ :thing_name,
7561
+ :execution_start_date,
7562
+ :execution_end_date,
7563
+ :status,
7564
+ :error_code,
7565
+ :message)
7566
+ SENSITIVE = []
7567
+ include Aws::Structure
7568
+ end
7569
+
7570
+ # The statistics of a mitigation action task.
7571
+ #
7572
+ # @!attribute [rw] actions_executed
7573
+ # The actions that were performed.
7574
+ # @return [Integer]
7575
+ #
7576
+ # @!attribute [rw] actions_skipped
7577
+ # The actions that were skipped.
7578
+ # @return [Integer]
7579
+ #
7580
+ # @!attribute [rw] actions_failed
7581
+ # The actions that failed.
7582
+ # @return [Integer]
7583
+ #
7584
+ class DetectMitigationActionsTaskStatistics < Struct.new(
7585
+ :actions_executed,
7586
+ :actions_skipped,
7587
+ :actions_failed)
7588
+ SENSITIVE = []
7589
+ include Aws::Structure
7590
+ end
7591
+
7592
+ # The summary of the mitigation action tasks.
7593
+ #
7594
+ # @!attribute [rw] task_id
7595
+ # The unique identifier of the task.
7596
+ # @return [String]
7597
+ #
7598
+ # @!attribute [rw] task_status
7599
+ # The status of the task.
7600
+ # @return [String]
7601
+ #
7602
+ # @!attribute [rw] task_start_time
7603
+ # The date the task started.
7604
+ # @return [Time]
7605
+ #
7606
+ # @!attribute [rw] task_end_time
7607
+ # The date the task ended.
7608
+ # @return [Time]
7609
+ #
7610
+ # @!attribute [rw] target
7611
+ # Specifies the ML Detect findings to which the mitigation actions are
7612
+ # applied.
7613
+ # @return [Types::DetectMitigationActionsTaskTarget]
7614
+ #
7615
+ # @!attribute [rw] violation_event_occurrence_range
7616
+ # Specifies the time period of which violation events occurred
7617
+ # between.
7618
+ # @return [Types::ViolationEventOccurrenceRange]
7619
+ #
7620
+ # @!attribute [rw] only_active_violations_included
7621
+ # Includes only active violations.
7622
+ # @return [Boolean]
7623
+ #
7624
+ # @!attribute [rw] suppressed_alerts_included
7625
+ # Includes suppressed alerts.
7626
+ # @return [Boolean]
7627
+ #
7628
+ # @!attribute [rw] actions_definition
7629
+ # The definition of the actions.
7630
+ # @return [Array<Types::MitigationAction>]
7631
+ #
7632
+ # @!attribute [rw] task_statistics
7633
+ # The statistics of a mitigation action task.
7634
+ # @return [Types::DetectMitigationActionsTaskStatistics]
7635
+ #
7636
+ class DetectMitigationActionsTaskSummary < Struct.new(
7637
+ :task_id,
7638
+ :task_status,
7639
+ :task_start_time,
7640
+ :task_end_time,
7641
+ :target,
7642
+ :violation_event_occurrence_range,
7643
+ :only_active_violations_included,
7644
+ :suppressed_alerts_included,
7645
+ :actions_definition,
7646
+ :task_statistics)
7647
+ SENSITIVE = []
7648
+ include Aws::Structure
7649
+ end
7650
+
7651
+ # The target of a mitigation action task.
7652
+ #
7653
+ # @note When making an API call, you may pass DetectMitigationActionsTaskTarget
7654
+ # data as a hash:
7655
+ #
7656
+ # {
7657
+ # violation_ids: ["ViolationId"],
7658
+ # security_profile_name: "SecurityProfileName",
7659
+ # behavior_name: "BehaviorName",
7660
+ # }
7661
+ #
7662
+ # @!attribute [rw] violation_ids
7663
+ # The unique identifiers of the violations.
7664
+ # @return [Array<String>]
7665
+ #
7666
+ # @!attribute [rw] security_profile_name
7667
+ # The name of the security profile.
7668
+ # @return [String]
7669
+ #
7670
+ # @!attribute [rw] behavior_name
7671
+ # The name of the behavior.
7672
+ # @return [String]
7673
+ #
7674
+ class DetectMitigationActionsTaskTarget < Struct.new(
7675
+ :violation_ids,
7676
+ :security_profile_name,
7677
+ :behavior_name)
7678
+ SENSITIVE = []
7679
+ include Aws::Structure
7680
+ end
7681
+
7198
7682
  # The input for the DisableTopicRuleRequest operation.
7199
7683
  #
7200
7684
  # @note When making an API call, you may pass DisableTopicRuleRequest
@@ -7459,11 +7943,11 @@ module Aws::IoT
7459
7943
  # }
7460
7944
  #
7461
7945
  # @!attribute [rw] role_arn_for_logging
7462
- # The ARN of the IAM role used for logging.
7946
+ # The Amazon Resource Name (ARN) of the IAM role used for logging.
7463
7947
  # @return [String]
7464
7948
  #
7465
7949
  # @!attribute [rw] log_level
7466
- # Specifies the types of information to be logged.
7950
+ # Specifies the type of information to be logged.
7467
7951
  # @return [String]
7468
7952
  #
7469
7953
  class EnableIoTLoggingParams < Struct.new(
@@ -7668,6 +8152,53 @@ module Aws::IoT
7668
8152
  include Aws::Structure
7669
8153
  end
7670
8154
 
8155
+ # @note When making an API call, you may pass GetBehaviorModelTrainingSummariesRequest
8156
+ # data as a hash:
8157
+ #
8158
+ # {
8159
+ # security_profile_name: "SecurityProfileName",
8160
+ # max_results: 1,
8161
+ # next_token: "NextToken",
8162
+ # }
8163
+ #
8164
+ # @!attribute [rw] security_profile_name
8165
+ # The name of the security profile.
8166
+ # @return [String]
8167
+ #
8168
+ # @!attribute [rw] max_results
8169
+ # The maximum number of results to return at one time. The default is
8170
+ # 25.
8171
+ # @return [Integer]
8172
+ #
8173
+ # @!attribute [rw] next_token
8174
+ # The token for the next set of results.
8175
+ # @return [String]
8176
+ #
8177
+ class GetBehaviorModelTrainingSummariesRequest < Struct.new(
8178
+ :security_profile_name,
8179
+ :max_results,
8180
+ :next_token)
8181
+ SENSITIVE = []
8182
+ include Aws::Structure
8183
+ end
8184
+
8185
+ # @!attribute [rw] summaries
8186
+ # A list of all ML Detect behaviors and their model status for a given
8187
+ # Security Profile.
8188
+ # @return [Array<Types::BehaviorModelTrainingSummary>]
8189
+ #
8190
+ # @!attribute [rw] next_token
8191
+ # A token that can be used to retrieve the next set of results, or
8192
+ # `null` if there are no additional results.
8193
+ # @return [String]
8194
+ #
8195
+ class GetBehaviorModelTrainingSummariesResponse < Struct.new(
8196
+ :summaries,
8197
+ :next_token)
8198
+ SENSITIVE = []
8199
+ include Aws::Structure
8200
+ end
8201
+
7671
8202
  # @note When making an API call, you may pass GetCardinalityRequest
7672
8203
  # data as a hash:
7673
8204
  #
@@ -9086,6 +9617,52 @@ module Aws::IoT
9086
9617
  include Aws::Structure
9087
9618
  end
9088
9619
 
9620
+ # Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon
9621
+ # MSK) or self-managed Apache Kafka cluster.
9622
+ #
9623
+ # @note When making an API call, you may pass KafkaAction
9624
+ # data as a hash:
9625
+ #
9626
+ # {
9627
+ # destination_arn: "AwsArn", # required
9628
+ # topic: "String", # required
9629
+ # key: "String",
9630
+ # partition: "String",
9631
+ # client_properties: { # required
9632
+ # "String" => "String",
9633
+ # },
9634
+ # }
9635
+ #
9636
+ # @!attribute [rw] destination_arn
9637
+ # The ARN of Kafka action's VPC `TopicRuleDestination`.
9638
+ # @return [String]
9639
+ #
9640
+ # @!attribute [rw] topic
9641
+ # The Kafka topic for messages to be sent to the Kafka broker.
9642
+ # @return [String]
9643
+ #
9644
+ # @!attribute [rw] key
9645
+ # The Kafka message key.
9646
+ # @return [String]
9647
+ #
9648
+ # @!attribute [rw] partition
9649
+ # The Kafka message partition.
9650
+ # @return [String]
9651
+ #
9652
+ # @!attribute [rw] client_properties
9653
+ # Properties of the Apache Kafka producer client.
9654
+ # @return [Hash<String,String>]
9655
+ #
9656
+ class KafkaAction < Struct.new(
9657
+ :destination_arn,
9658
+ :topic,
9659
+ :key,
9660
+ :partition,
9661
+ :client_properties)
9662
+ SENSITIVE = []
9663
+ include Aws::Structure
9664
+ end
9665
+
9089
9666
  # Describes a key pair.
9090
9667
  #
9091
9668
  # @!attribute [rw] public_key
@@ -9172,6 +9749,8 @@ module Aws::IoT
9172
9749
  # {
9173
9750
  # thing_name: "DeviceDefenderThingName",
9174
9751
  # security_profile_name: "SecurityProfileName",
9752
+ # behavior_criteria_type: "STATIC", # accepts STATIC, STATISTICAL, MACHINE_LEARNING
9753
+ # list_suppressed_alerts: false,
9175
9754
  # next_token: "NextToken",
9176
9755
  # max_results: 1,
9177
9756
  # }
@@ -9185,6 +9764,14 @@ module Aws::IoT
9185
9764
  # violations are listed.
9186
9765
  # @return [String]
9187
9766
  #
9767
+ # @!attribute [rw] behavior_criteria_type
9768
+ # The criteria for a behavior.
9769
+ # @return [String]
9770
+ #
9771
+ # @!attribute [rw] list_suppressed_alerts
9772
+ # A list of all suppressed alerts.
9773
+ # @return [Boolean]
9774
+ #
9188
9775
  # @!attribute [rw] next_token
9189
9776
  # The token for the next set of results.
9190
9777
  # @return [String]
@@ -9196,6 +9783,8 @@ module Aws::IoT
9196
9783
  class ListActiveViolationsRequest < Struct.new(
9197
9784
  :thing_name,
9198
9785
  :security_profile_name,
9786
+ :behavior_criteria_type,
9787
+ :list_suppressed_alerts,
9199
9788
  :next_token,
9200
9789
  :max_results)
9201
9790
  SENSITIVE = []
@@ -9376,7 +9965,7 @@ module Aws::IoT
9376
9965
  # data as a hash:
9377
9966
  #
9378
9967
  # {
9379
- # task_id: "AuditMitigationActionsTaskId", # required
9968
+ # task_id: "MitigationActionsTaskId", # required
9380
9969
  # action_status: "IN_PROGRESS", # accepts IN_PROGRESS, COMPLETED, FAILED, CANCELED, SKIPPED, PENDING
9381
9970
  # finding_id: "FindingId", # required
9382
9971
  # max_results: 1,
@@ -9882,28 +10471,197 @@ module Aws::IoT
9882
10471
  # in ascending order, based on the creation date.
9883
10472
  # @return [Boolean]
9884
10473
  #
9885
- class ListCertificatesRequest < Struct.new(
9886
- :page_size,
9887
- :marker,
9888
- :ascending_order)
10474
+ class ListCertificatesRequest < Struct.new(
10475
+ :page_size,
10476
+ :marker,
10477
+ :ascending_order)
10478
+ SENSITIVE = []
10479
+ include Aws::Structure
10480
+ end
10481
+
10482
+ # The output of the ListCertificates operation.
10483
+ #
10484
+ # @!attribute [rw] certificates
10485
+ # The descriptions of the certificates.
10486
+ # @return [Array<Types::Certificate>]
10487
+ #
10488
+ # @!attribute [rw] next_marker
10489
+ # The marker for the next set of results, or null if there are no
10490
+ # additional results.
10491
+ # @return [String]
10492
+ #
10493
+ class ListCertificatesResponse < Struct.new(
10494
+ :certificates,
10495
+ :next_marker)
10496
+ SENSITIVE = []
10497
+ include Aws::Structure
10498
+ end
10499
+
10500
+ # @note When making an API call, you may pass ListCustomMetricsRequest
10501
+ # data as a hash:
10502
+ #
10503
+ # {
10504
+ # next_token: "NextToken",
10505
+ # max_results: 1,
10506
+ # }
10507
+ #
10508
+ # @!attribute [rw] next_token
10509
+ # The token for the next set of results.
10510
+ # @return [String]
10511
+ #
10512
+ # @!attribute [rw] max_results
10513
+ # The maximum number of results to return at one time. The default is
10514
+ # 25.
10515
+ # @return [Integer]
10516
+ #
10517
+ class ListCustomMetricsRequest < Struct.new(
10518
+ :next_token,
10519
+ :max_results)
10520
+ SENSITIVE = []
10521
+ include Aws::Structure
10522
+ end
10523
+
10524
+ # @!attribute [rw] metric_names
10525
+ # The name of the custom metric.
10526
+ # @return [Array<String>]
10527
+ #
10528
+ # @!attribute [rw] next_token
10529
+ # A token that can be used to retrieve the next set of results, or
10530
+ # `null` if there are no additional results.
10531
+ # @return [String]
10532
+ #
10533
+ class ListCustomMetricsResponse < Struct.new(
10534
+ :metric_names,
10535
+ :next_token)
10536
+ SENSITIVE = []
10537
+ include Aws::Structure
10538
+ end
10539
+
10540
+ # @note When making an API call, you may pass ListDetectMitigationActionsExecutionsRequest
10541
+ # data as a hash:
10542
+ #
10543
+ # {
10544
+ # task_id: "MitigationActionsTaskId",
10545
+ # violation_id: "ViolationId",
10546
+ # thing_name: "DeviceDefenderThingName",
10547
+ # start_time: Time.now,
10548
+ # end_time: Time.now,
10549
+ # max_results: 1,
10550
+ # next_token: "NextToken",
10551
+ # }
10552
+ #
10553
+ # @!attribute [rw] task_id
10554
+ # The unique identifier of the task.
10555
+ # @return [String]
10556
+ #
10557
+ # @!attribute [rw] violation_id
10558
+ # The unique identifier of the violation.
10559
+ # @return [String]
10560
+ #
10561
+ # @!attribute [rw] thing_name
10562
+ # The name of the thing whose mitigation actions are listed.
10563
+ # @return [String]
10564
+ #
10565
+ # @!attribute [rw] start_time
10566
+ # A filter to limit results to those found after the specified time.
10567
+ # You must specify either the startTime and endTime or the taskId, but
10568
+ # not both.
10569
+ # @return [Time]
10570
+ #
10571
+ # @!attribute [rw] end_time
10572
+ # The end of the time period for which ML Detect mitigation actions
10573
+ # executions are returned.
10574
+ # @return [Time]
10575
+ #
10576
+ # @!attribute [rw] max_results
10577
+ # The maximum number of results to return at one time. The default is
10578
+ # 25.
10579
+ # @return [Integer]
10580
+ #
10581
+ # @!attribute [rw] next_token
10582
+ # The token for the next set of results.
10583
+ # @return [String]
10584
+ #
10585
+ class ListDetectMitigationActionsExecutionsRequest < Struct.new(
10586
+ :task_id,
10587
+ :violation_id,
10588
+ :thing_name,
10589
+ :start_time,
10590
+ :end_time,
10591
+ :max_results,
10592
+ :next_token)
10593
+ SENSITIVE = []
10594
+ include Aws::Structure
10595
+ end
10596
+
10597
+ # @!attribute [rw] actions_executions
10598
+ # List of actions executions.
10599
+ # @return [Array<Types::DetectMitigationActionExecution>]
10600
+ #
10601
+ # @!attribute [rw] next_token
10602
+ # A token that can be used to retrieve the next set of results, or
10603
+ # `null` if there are no additional results.
10604
+ # @return [String]
10605
+ #
10606
+ class ListDetectMitigationActionsExecutionsResponse < Struct.new(
10607
+ :actions_executions,
10608
+ :next_token)
10609
+ SENSITIVE = []
10610
+ include Aws::Structure
10611
+ end
10612
+
10613
+ # @note When making an API call, you may pass ListDetectMitigationActionsTasksRequest
10614
+ # data as a hash:
10615
+ #
10616
+ # {
10617
+ # max_results: 1,
10618
+ # next_token: "NextToken",
10619
+ # start_time: Time.now, # required
10620
+ # end_time: Time.now, # required
10621
+ # }
10622
+ #
10623
+ # @!attribute [rw] max_results
10624
+ # The maximum number of results to return at one time. The default is
10625
+ # 25.
10626
+ # @return [Integer]
10627
+ #
10628
+ # @!attribute [rw] next_token
10629
+ # The token for the next set of results.
10630
+ # @return [String]
10631
+ #
10632
+ # @!attribute [rw] start_time
10633
+ # A filter to limit results to those found after the specified time.
10634
+ # You must specify either the startTime and endTime or the taskId, but
10635
+ # not both.
10636
+ # @return [Time]
10637
+ #
10638
+ # @!attribute [rw] end_time
10639
+ # The end of the time period for which ML Detect mitigation actions
10640
+ # tasks are returned.
10641
+ # @return [Time]
10642
+ #
10643
+ class ListDetectMitigationActionsTasksRequest < Struct.new(
10644
+ :max_results,
10645
+ :next_token,
10646
+ :start_time,
10647
+ :end_time)
9889
10648
  SENSITIVE = []
9890
10649
  include Aws::Structure
9891
10650
  end
9892
10651
 
9893
- # The output of the ListCertificates operation.
9894
- #
9895
- # @!attribute [rw] certificates
9896
- # The descriptions of the certificates.
9897
- # @return [Array<Types::Certificate>]
10652
+ # @!attribute [rw] tasks
10653
+ # The collection of ML Detect mitigation tasks that matched the filter
10654
+ # criteria.
10655
+ # @return [Array<Types::DetectMitigationActionsTaskSummary>]
9898
10656
  #
9899
- # @!attribute [rw] next_marker
9900
- # The marker for the next set of results, or null if there are no
9901
- # additional results.
10657
+ # @!attribute [rw] next_token
10658
+ # A token that can be used to retrieve the next set of results, or
10659
+ # `null` if there are no additional results.
9902
10660
  # @return [String]
9903
10661
  #
9904
- class ListCertificatesResponse < Struct.new(
9905
- :certificates,
9906
- :next_marker)
10662
+ class ListDetectMitigationActionsTasksResponse < Struct.new(
10663
+ :tasks,
10664
+ :next_token)
9907
10665
  SENSITIVE = []
9908
10666
  include Aws::Structure
9909
10667
  end
@@ -10851,6 +11609,7 @@ module Aws::IoT
10851
11609
  # next_token: "NextToken",
10852
11610
  # max_results: 1,
10853
11611
  # dimension_name: "DimensionName",
11612
+ # metric_name: "MetricName",
10854
11613
  # }
10855
11614
  #
10856
11615
  # @!attribute [rw] next_token
@@ -10863,13 +11622,18 @@ module Aws::IoT
10863
11622
  #
10864
11623
  # @!attribute [rw] dimension_name
10865
11624
  # A filter to limit results to the security profiles that use the
10866
- # defined dimension.
11625
+ # defined dimension. Cannot be used with `metricName`
11626
+ # @return [String]
11627
+ #
11628
+ # @!attribute [rw] metric_name
11629
+ # The name of the custom metric. Cannot be used with `dimensionName`.
10867
11630
  # @return [String]
10868
11631
  #
10869
11632
  class ListSecurityProfilesRequest < Struct.new(
10870
11633
  :next_token,
10871
11634
  :max_results,
10872
- :dimension_name)
11635
+ :dimension_name,
11636
+ :metric_name)
10873
11637
  SENSITIVE = []
10874
11638
  include Aws::Structure
10875
11639
  end
@@ -11697,6 +12461,8 @@ module Aws::IoT
11697
12461
  # end_time: Time.now, # required
11698
12462
  # thing_name: "DeviceDefenderThingName",
11699
12463
  # security_profile_name: "SecurityProfileName",
12464
+ # behavior_criteria_type: "STATIC", # accepts STATIC, STATISTICAL, MACHINE_LEARNING
12465
+ # list_suppressed_alerts: false,
11700
12466
  # next_token: "NextToken",
11701
12467
  # max_results: 1,
11702
12468
  # }
@@ -11719,6 +12485,14 @@ module Aws::IoT
11719
12485
  # security profile.
11720
12486
  # @return [String]
11721
12487
  #
12488
+ # @!attribute [rw] behavior_criteria_type
12489
+ # The criteria for a behavior.
12490
+ # @return [String]
12491
+ #
12492
+ # @!attribute [rw] list_suppressed_alerts
12493
+ # A list of all suppressed alerts.
12494
+ # @return [Boolean]
12495
+ #
11722
12496
  # @!attribute [rw] next_token
11723
12497
  # The token for the next set of results.
11724
12498
  # @return [String]
@@ -11732,6 +12506,8 @@ module Aws::IoT
11732
12506
  :end_time,
11733
12507
  :thing_name,
11734
12508
  :security_profile_name,
12509
+ :behavior_criteria_type,
12510
+ :list_suppressed_alerts,
11735
12511
  :next_token,
11736
12512
  :max_results)
11737
12513
  SENSITIVE = []
@@ -11823,6 +12599,26 @@ module Aws::IoT
11823
12599
  include Aws::Structure
11824
12600
  end
11825
12601
 
12602
+ # The configuration of an ML Detect Security Profile.
12603
+ #
12604
+ # @note When making an API call, you may pass MachineLearningDetectionConfig
12605
+ # data as a hash:
12606
+ #
12607
+ # {
12608
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
12609
+ # }
12610
+ #
12611
+ # @!attribute [rw] confidence_level
12612
+ # The sensitivity of anomalous behavior evaluation. Can be `Low`,
12613
+ # `Medium`, or `High`.
12614
+ # @return [String]
12615
+ #
12616
+ class MachineLearningDetectionConfig < Struct.new(
12617
+ :confidence_level)
12618
+ SENSITIVE = []
12619
+ include Aws::Structure
12620
+ end
12621
+
11826
12622
  # The policy documentation is not valid.
11827
12623
  #
11828
12624
  # @!attribute [rw] message
@@ -11884,7 +12680,7 @@ module Aws::IoT
11884
12680
  # @return [String]
11885
12681
  #
11886
12682
  # @!attribute [rw] metric_dimension
11887
- # The dimension of a metric.
12683
+ # The dimension of a metric. This can't be used with custom metrics.
11888
12684
  # @return [Types::MetricDimension]
11889
12685
  #
11890
12686
  class MetricToRetain < Struct.new(
@@ -11903,6 +12699,9 @@ module Aws::IoT
11903
12699
  # count: 1,
11904
12700
  # cidrs: ["Cidr"],
11905
12701
  # ports: [1],
12702
+ # number: 1.0,
12703
+ # numbers: [1.0],
12704
+ # strings: ["stringValue"],
11906
12705
  # }
11907
12706
  #
11908
12707
  # @!attribute [rw] count
@@ -11920,10 +12719,25 @@ module Aws::IoT
11920
12719
  # specify that set to be compared with the `metric`.
11921
12720
  # @return [Array<Integer>]
11922
12721
  #
12722
+ # @!attribute [rw] number
12723
+ # The numeral value of a metric.
12724
+ # @return [Float]
12725
+ #
12726
+ # @!attribute [rw] numbers
12727
+ # The numeral values of a metric.
12728
+ # @return [Array<Float>]
12729
+ #
12730
+ # @!attribute [rw] strings
12731
+ # The string values of a metric.
12732
+ # @return [Array<String>]
12733
+ #
11923
12734
  class MetricValue < Struct.new(
11924
12735
  :count,
11925
12736
  :cidrs,
11926
- :ports)
12737
+ :ports,
12738
+ :number,
12739
+ :numbers,
12740
+ :strings)
11927
12741
  SENSITIVE = []
11928
12742
  include Aws::Structure
11929
12743
  end
@@ -12038,8 +12852,8 @@ module Aws::IoT
12038
12852
  #
12039
12853
  # @!attribute [rw] publish_finding_to_sns_params
12040
12854
  # 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.
12855
+ # Amazon Simple Notification Service (Amazon SNS. You can implement
12856
+ # your own custom actions in response to the Amazon SNS messages.
12043
12857
  # @return [Types::PublishFindingToSnsParams]
12044
12858
  #
12045
12859
  class MitigationActionParams < Struct.new(
@@ -13279,6 +14093,15 @@ module Aws::IoT
13279
14093
  # },
13280
14094
  # },
13281
14095
  # },
14096
+ # kafka: {
14097
+ # destination_arn: "AwsArn", # required
14098
+ # topic: "String", # required
14099
+ # key: "String",
14100
+ # partition: "String",
14101
+ # client_properties: { # required
14102
+ # "String" => "String",
14103
+ # },
14104
+ # },
13282
14105
  # },
13283
14106
  # ],
13284
14107
  # rule_disabled: false,
@@ -13441,6 +14264,15 @@ module Aws::IoT
13441
14264
  # },
13442
14265
  # },
13443
14266
  # },
14267
+ # kafka: {
14268
+ # destination_arn: "AwsArn", # required
14269
+ # topic: "String", # required
14270
+ # key: "String",
14271
+ # partition: "String",
14272
+ # client_properties: { # required
14273
+ # "String" => "String",
14274
+ # },
14275
+ # },
13444
14276
  # },
13445
14277
  # },
13446
14278
  # }
@@ -13880,7 +14712,7 @@ module Aws::IoT
13880
14712
  # Identifying information for a Device Defender security profile.
13881
14713
  #
13882
14714
  # @!attribute [rw] name
13883
- # The name you have given to the security profile.
14715
+ # The name you've given to the security profile.
13884
14716
  # @return [String]
13885
14717
  #
13886
14718
  # @!attribute [rw] arn
@@ -14248,7 +15080,7 @@ module Aws::IoT
14248
15080
  # data as a hash:
14249
15081
  #
14250
15082
  # {
14251
- # task_id: "AuditMitigationActionsTaskId", # required
15083
+ # task_id: "MitigationActionsTaskId", # required
14252
15084
  # target: { # required
14253
15085
  # audit_task_id: "AuditTaskId",
14254
15086
  # finding_ids: ["FindingId"],
@@ -14270,7 +15102,7 @@ module Aws::IoT
14270
15102
  # @!attribute [rw] target
14271
15103
  # Specifies the audit findings to which the mitigation actions are
14272
15104
  # 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.
15105
+ # findings from an audit, or to a specific set of findings.
14274
15106
  # @return [Types::AuditMitigationActionsTaskTarget]
14275
15107
  #
14276
15108
  # @!attribute [rw] audit_check_to_actions_mapping
@@ -14308,6 +15140,84 @@ module Aws::IoT
14308
15140
  include Aws::Structure
14309
15141
  end
14310
15142
 
15143
+ # @note When making an API call, you may pass StartDetectMitigationActionsTaskRequest
15144
+ # data as a hash:
15145
+ #
15146
+ # {
15147
+ # task_id: "MitigationActionsTaskId", # required
15148
+ # target: { # required
15149
+ # violation_ids: ["ViolationId"],
15150
+ # security_profile_name: "SecurityProfileName",
15151
+ # behavior_name: "BehaviorName",
15152
+ # },
15153
+ # actions: ["MitigationActionName"], # required
15154
+ # violation_event_occurrence_range: {
15155
+ # start_time: Time.now, # required
15156
+ # end_time: Time.now, # required
15157
+ # },
15158
+ # include_only_active_violations: false,
15159
+ # include_suppressed_alerts: false,
15160
+ # client_request_token: "ClientRequestToken", # required
15161
+ # }
15162
+ #
15163
+ # @!attribute [rw] task_id
15164
+ # The unique identifier of the task.
15165
+ # @return [String]
15166
+ #
15167
+ # @!attribute [rw] target
15168
+ # Specifies the ML Detect findings to which the mitigation actions are
15169
+ # applied.
15170
+ # @return [Types::DetectMitigationActionsTaskTarget]
15171
+ #
15172
+ # @!attribute [rw] actions
15173
+ # The actions to be performed when a device has unexpected behavior.
15174
+ # @return [Array<String>]
15175
+ #
15176
+ # @!attribute [rw] violation_event_occurrence_range
15177
+ # Specifies the time period of which violation events occurred
15178
+ # between.
15179
+ # @return [Types::ViolationEventOccurrenceRange]
15180
+ #
15181
+ # @!attribute [rw] include_only_active_violations
15182
+ # Specifies to list only active violations.
15183
+ # @return [Boolean]
15184
+ #
15185
+ # @!attribute [rw] include_suppressed_alerts
15186
+ # Specifies to include suppressed alerts.
15187
+ # @return [Boolean]
15188
+ #
15189
+ # @!attribute [rw] client_request_token
15190
+ # Each mitigation action task must have a unique client request token.
15191
+ # If you try to create a new task with the same token as a task that
15192
+ # already exists, an exception occurs. If you omit this value, AWS
15193
+ # SDKs will automatically generate a unique client request.
15194
+ #
15195
+ # **A suitable default value is auto-generated.** You should normally
15196
+ # not need to pass this option.
15197
+ # @return [String]
15198
+ #
15199
+ class StartDetectMitigationActionsTaskRequest < Struct.new(
15200
+ :task_id,
15201
+ :target,
15202
+ :actions,
15203
+ :violation_event_occurrence_range,
15204
+ :include_only_active_violations,
15205
+ :include_suppressed_alerts,
15206
+ :client_request_token)
15207
+ SENSITIVE = []
15208
+ include Aws::Structure
15209
+ end
15210
+
15211
+ # @!attribute [rw] task_id
15212
+ # The unique identifier of the task.
15213
+ # @return [String]
15214
+ #
15215
+ class StartDetectMitigationActionsTaskResponse < Struct.new(
15216
+ :task_id)
15217
+ SENSITIVE = []
15218
+ include Aws::Structure
15219
+ end
15220
+
14311
15221
  # @note When making an API call, you may pass StartOnDemandAuditTaskRequest
14312
15222
  # data as a hash:
14313
15223
  #
@@ -14427,9 +15337,9 @@ module Aws::IoT
14427
15337
  include Aws::Structure
14428
15338
  end
14429
15339
 
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.
15340
+ # A statistical ranking (percentile) that indicates a threshold value by
15341
+ # which a behavior is determined to be in compliance or in violation of
15342
+ # the behavior.
14433
15343
  #
14434
15344
  # @note When making an API call, you may pass StatisticalThreshold
14435
15345
  # data as a hash:
@@ -14439,7 +15349,7 @@ module Aws::IoT
14439
15349
  # }
14440
15350
  #
14441
15351
  # @!attribute [rw] statistic
14442
- # The percentile which resolves to a threshold value by which
15352
+ # The percentile that resolves to a threshold value by which
14443
15353
  # compliance with a behavior is determined. Metrics are collected over
14444
15354
  # the specified period (`durationSeconds`) from all reporting devices
14445
15355
  # in your account and statistical ranks are calculated. Then, the
@@ -15648,6 +16558,14 @@ module Aws::IoT
15648
16558
  # to be sent to your confirmation endpoint.
15649
16559
  # @return [String]
15650
16560
  #
16561
+ # @!attribute [rw] created_at
16562
+ # The date and time when the topic rule destination was created.
16563
+ # @return [Time]
16564
+ #
16565
+ # @!attribute [rw] last_updated_at
16566
+ # The date and time when the topic rule destination was last updated.
16567
+ # @return [Time]
16568
+ #
15651
16569
  # @!attribute [rw] status_reason
15652
16570
  # Additional details or reason why the topic rule destination is in
15653
16571
  # the current status.
@@ -15657,11 +16575,18 @@ module Aws::IoT
15657
16575
  # Properties of the HTTP URL.
15658
16576
  # @return [Types::HttpUrlDestinationProperties]
15659
16577
  #
16578
+ # @!attribute [rw] vpc_properties
16579
+ # Properties of the virtual private cloud (VPC) connection.
16580
+ # @return [Types::VpcDestinationProperties]
16581
+ #
15660
16582
  class TopicRuleDestination < Struct.new(
15661
16583
  :arn,
15662
16584
  :status,
16585
+ :created_at,
16586
+ :last_updated_at,
15663
16587
  :status_reason,
15664
- :http_url_properties)
16588
+ :http_url_properties,
16589
+ :vpc_properties)
15665
16590
  SENSITIVE = []
15666
16591
  include Aws::Structure
15667
16592
  end
@@ -15675,14 +16600,25 @@ module Aws::IoT
15675
16600
  # http_url_configuration: {
15676
16601
  # confirmation_url: "Url", # required
15677
16602
  # },
16603
+ # vpc_configuration: {
16604
+ # subnet_ids: ["SubnetId"], # required
16605
+ # security_groups: ["SecurityGroupId"],
16606
+ # vpc_id: "VpcId", # required
16607
+ # role_arn: "AwsArn", # required
16608
+ # },
15678
16609
  # }
15679
16610
  #
15680
16611
  # @!attribute [rw] http_url_configuration
15681
16612
  # Configuration of the HTTP URL.
15682
16613
  # @return [Types::HttpUrlDestinationConfiguration]
15683
16614
  #
16615
+ # @!attribute [rw] vpc_configuration
16616
+ # Configuration of the virtual private cloud (VPC) connection.
16617
+ # @return [Types::VpcDestinationConfiguration]
16618
+ #
15684
16619
  class TopicRuleDestinationConfiguration < Struct.new(
15685
- :http_url_configuration)
16620
+ :http_url_configuration,
16621
+ :vpc_configuration)
15686
16622
  SENSITIVE = []
15687
16623
  include Aws::Structure
15688
16624
  end
@@ -15726,6 +16662,14 @@ module Aws::IoT
15726
16662
  # to be sent to your confirmation endpoint.
15727
16663
  # @return [String]
15728
16664
  #
16665
+ # @!attribute [rw] created_at
16666
+ # The date and time when the topic rule destination was created.
16667
+ # @return [Time]
16668
+ #
16669
+ # @!attribute [rw] last_updated_at
16670
+ # The date and time when the topic rule destination was last updated.
16671
+ # @return [Time]
16672
+ #
15729
16673
  # @!attribute [rw] status_reason
15730
16674
  # The reason the topic rule destination is in the current status.
15731
16675
  # @return [String]
@@ -15734,11 +16678,18 @@ module Aws::IoT
15734
16678
  # Information about the HTTP URL.
15735
16679
  # @return [Types::HttpUrlDestinationSummary]
15736
16680
  #
16681
+ # @!attribute [rw] vpc_destination_summary
16682
+ # Information about the virtual private cloud (VPC) connection.
16683
+ # @return [Types::VpcDestinationSummary]
16684
+ #
15737
16685
  class TopicRuleDestinationSummary < Struct.new(
15738
16686
  :arn,
15739
16687
  :status,
16688
+ :created_at,
16689
+ :last_updated_at,
15740
16690
  :status_reason,
15741
- :http_url_summary)
16691
+ :http_url_summary,
16692
+ :vpc_destination_summary)
15742
16693
  SENSITIVE = []
15743
16694
  include Aws::Structure
15744
16695
  end
@@ -15942,6 +16893,15 @@ module Aws::IoT
15942
16893
  # },
15943
16894
  # },
15944
16895
  # },
16896
+ # kafka: {
16897
+ # destination_arn: "AwsArn", # required
16898
+ # topic: "String", # required
16899
+ # key: "String",
16900
+ # partition: "String",
16901
+ # client_properties: { # required
16902
+ # "String" => "String",
16903
+ # },
16904
+ # },
15945
16905
  # },
15946
16906
  # ],
15947
16907
  # rule_disabled: false,
@@ -16104,6 +17064,15 @@ module Aws::IoT
16104
17064
  # },
16105
17065
  # },
16106
17066
  # },
17067
+ # kafka: {
17068
+ # destination_arn: "AwsArn", # required
17069
+ # topic: "String", # required
17070
+ # key: "String",
17071
+ # partition: "String",
17072
+ # client_properties: { # required
17073
+ # "String" => "String",
17074
+ # },
17075
+ # },
16107
17076
  # },
16108
17077
  # }
16109
17078
  #
@@ -16306,9 +17275,9 @@ module Aws::IoT
16306
17275
  # }
16307
17276
  #
16308
17277
  # @!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.
17278
+ # The Amazon Resource Name (ARN) of the role that grants permission to
17279
+ # AWS IoT to access information about your devices, policies,
17280
+ # certificates, and other items as required when performing an audit.
16312
17281
  # @return [String]
16313
17282
  #
16314
17283
  # @!attribute [rw] audit_notification_target_configurations
@@ -16324,7 +17293,7 @@ module Aws::IoT
16324
17293
  # enabled. When a check is disabled, any data collected so far in
16325
17294
  # relation to the check is deleted.
16326
17295
  #
16327
- # You cannot disable a check if it is used by any scheduled audit. You
17296
+ # You cannot disable a check if it's used by any scheduled audit. You
16328
17297
  # must first delete the check from the scheduled audit or delete the
16329
17298
  # scheduled audit itself.
16330
17299
  #
@@ -16515,7 +17484,7 @@ module Aws::IoT
16515
17484
  # }
16516
17485
  #
16517
17486
  # @!attribute [rw] action
16518
- # The action that you want to apply to the CA cerrtificate. The only
17487
+ # The action that you want to apply to the CA certificate. The only
16519
17488
  # supported value is `DEACTIVATE`.
16520
17489
  # @return [String]
16521
17490
  #
@@ -16609,6 +17578,68 @@ module Aws::IoT
16609
17578
  include Aws::Structure
16610
17579
  end
16611
17580
 
17581
+ # @note When making an API call, you may pass UpdateCustomMetricRequest
17582
+ # data as a hash:
17583
+ #
17584
+ # {
17585
+ # metric_name: "MetricName", # required
17586
+ # display_name: "CustomMetricDisplayName", # required
17587
+ # }
17588
+ #
17589
+ # @!attribute [rw] metric_name
17590
+ # The name of the custom metric. Cannot be updated.
17591
+ # @return [String]
17592
+ #
17593
+ # @!attribute [rw] display_name
17594
+ # Field represents a friendly name in the console for the custom
17595
+ # metric, it doesn't have to be unique. Don't use this name as the
17596
+ # metric identifier in the device metric report. Can be updated.
17597
+ # @return [String]
17598
+ #
17599
+ class UpdateCustomMetricRequest < Struct.new(
17600
+ :metric_name,
17601
+ :display_name)
17602
+ SENSITIVE = []
17603
+ include Aws::Structure
17604
+ end
17605
+
17606
+ # @!attribute [rw] metric_name
17607
+ # The name of the custom metric.
17608
+ # @return [String]
17609
+ #
17610
+ # @!attribute [rw] metric_arn
17611
+ # The Amazon Resource Number (ARN) of the custom metric.
17612
+ # @return [String]
17613
+ #
17614
+ # @!attribute [rw] metric_type
17615
+ # The type of the custom metric. Types include `string-list`,
17616
+ # `ip-address-list`, `number-list`, and `number`.
17617
+ # @return [String]
17618
+ #
17619
+ # @!attribute [rw] display_name
17620
+ # A friendly name in the console for the custom metric
17621
+ # @return [String]
17622
+ #
17623
+ # @!attribute [rw] creation_date
17624
+ # The creation date of the custom metric in milliseconds since epoch.
17625
+ # @return [Time]
17626
+ #
17627
+ # @!attribute [rw] last_modified_date
17628
+ # The time the custom metric was last modified in milliseconds since
17629
+ # epoch.
17630
+ # @return [Time]
17631
+ #
17632
+ class UpdateCustomMetricResponse < Struct.new(
17633
+ :metric_name,
17634
+ :metric_arn,
17635
+ :metric_type,
17636
+ :display_name,
17637
+ :creation_date,
17638
+ :last_modified_date)
17639
+ SENSITIVE = []
17640
+ include Aws::Structure
17641
+ end
17642
+
16612
17643
  # Parameters to define a mitigation action that changes the state of the
16613
17644
  # device certificate to inactive.
16614
17645
  #
@@ -16620,7 +17651,7 @@ module Aws::IoT
16620
17651
  # }
16621
17652
  #
16622
17653
  # @!attribute [rw] action
16623
- # The action that you want to apply to the device cerrtificate. The
17654
+ # The action that you want to apply to the device certificate. The
16624
17655
  # only supported value is `DEACTIVATE`.
16625
17656
  # @return [String]
16626
17657
  #
@@ -16662,7 +17693,7 @@ module Aws::IoT
16662
17693
  # @return [String]
16663
17694
  #
16664
17695
  # @!attribute [rw] arn
16665
- # The ARN (Amazon resource name) of the created dimension.
17696
+ # The Amazon Resource Name (ARN)of the created dimension.
16666
17697
  # @return [String]
16667
17698
  #
16668
17699
  # @!attribute [rw] type
@@ -17022,9 +18053,9 @@ module Aws::IoT
17022
18053
  # }
17023
18054
  #
17024
18055
  # @!attribute [rw] action_name
17025
- # The friendly name for the mitigation action. You can't change the
18056
+ # The friendly name for the mitigation action. You cannot change the
17026
18057
  # name by using `UpdateMitigationAction`. Instead, you must delete and
17027
- # re-create the mitigation action with the new name.
18058
+ # recreate the mitigation action with the new name.
17028
18059
  # @return [String]
17029
18060
  #
17030
18061
  # @!attribute [rw] role_arn
@@ -17173,24 +18204,24 @@ module Aws::IoT
17173
18204
  # }
17174
18205
  #
17175
18206
  # @!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.
18207
+ # How often the scheduled audit takes place, either `DAILY`, `WEEKLY`,
18208
+ # `BIWEEKLY`, or `MONTHLY`. The start time of each audit is determined
18209
+ # by the system.
17179
18210
  # @return [String]
17180
18211
  #
17181
18212
  # @!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
18213
+ # The day of the month on which the scheduled audit takes place. This
18214
+ # can be `1` through `31` or `LAST`. This field is required if the
18215
+ # `frequency` parameter is set to `MONTHLY`. If days 29-31 are
17185
18216
  # specified, and the month does not have that many days, the audit
17186
18217
  # takes place on the "LAST" day of the month.
17187
18218
  # @return [String]
17188
18219
  #
17189
18220
  # @!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".
18221
+ # The day of the week on which the scheduled audit takes place. This
18222
+ # can be one of `SUN`, `MON`, `TUE`, `WED`, `THU`, `FRI`, or `SAT`.
18223
+ # This field is required if the "frequency" parameter is set to
18224
+ # `WEEKLY` or `BIWEEKLY`.
17194
18225
  # @return [String]
17195
18226
  #
17196
18227
  # @!attribute [rw] target_check_names
@@ -17241,11 +18272,14 @@ module Aws::IoT
17241
18272
  # operator: "IN", # accepts IN, NOT_IN
17242
18273
  # },
17243
18274
  # 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
18275
+ # 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
18276
  # value: {
17246
18277
  # count: 1,
17247
18278
  # cidrs: ["Cidr"],
17248
18279
  # ports: [1],
18280
+ # number: 1.0,
18281
+ # numbers: [1.0],
18282
+ # strings: ["stringValue"],
17249
18283
  # },
17250
18284
  # duration_seconds: 1,
17251
18285
  # consecutive_datapoints_to_alarm: 1,
@@ -17253,7 +18287,11 @@ module Aws::IoT
17253
18287
  # statistical_threshold: {
17254
18288
  # statistic: "EvaluationStatistic",
17255
18289
  # },
18290
+ # ml_detection_config: {
18291
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
18292
+ # },
17256
18293
  # },
18294
+ # suppress_alerts: false,
17257
18295
  # },
17258
18296
  # ],
17259
18297
  # alert_targets: {
@@ -17301,13 +18339,15 @@ module Aws::IoT
17301
18339
  #
17302
18340
  # A list of metrics whose data is retained (stored). By default, data
17303
18341
  # is retained for any metric used in the profile's `behaviors`, but
17304
- # it is also retained for any metric specified here.
18342
+ # it is also retained for any metric specified here. Can be used with
18343
+ # custom metrics; cannot be used with dimensions.
17305
18344
  # @return [Array<String>]
17306
18345
  #
17307
18346
  # @!attribute [rw] additional_metrics_to_retain_v2
17308
18347
  # A list of metrics whose data is retained (stored). By default, data
17309
18348
  # is retained for any metric used in the profile's behaviors, but it
17310
- # is also retained for any metric specified here.
18349
+ # is also retained for any metric specified here. Can be used with
18350
+ # custom metrics; cannot be used with dimensions.
17311
18351
  # @return [Array<Types::MetricToRetain>]
17312
18352
  #
17313
18353
  # @!attribute [rw] delete_behaviors
@@ -17383,7 +18423,8 @@ module Aws::IoT
17383
18423
  # @!attribute [rw] additional_metrics_to_retain_v2
17384
18424
  # A list of metrics whose data is retained (stored). By default, data
17385
18425
  # is retained for any metric used in the profile's behaviors, but it
17386
- # is also retained for any metric specified here.
18426
+ # is also retained for any metric specified here. Can be used with
18427
+ # custom metrics; cannot be used with dimensions.
17387
18428
  # @return [Array<Types::MetricToRetain>]
17388
18429
  #
17389
18430
  # @!attribute [rw] version
@@ -17642,7 +18683,7 @@ module Aws::IoT
17642
18683
  #
17643
18684
  # {
17644
18685
  # arn: "AwsArn", # required
17645
- # status: "ENABLED", # required, accepts ENABLED, IN_PROGRESS, DISABLED, ERROR
18686
+ # status: "ENABLED", # required, accepts ENABLED, IN_PROGRESS, DISABLED, ERROR, DELETING
17646
18687
  # }
17647
18688
  #
17648
18689
  # @!attribute [rw] arn
@@ -17704,11 +18745,14 @@ module Aws::IoT
17704
18745
  # operator: "IN", # accepts IN, NOT_IN
17705
18746
  # },
17706
18747
  # 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
18748
+ # 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
18749
  # value: {
17709
18750
  # count: 1,
17710
18751
  # cidrs: ["Cidr"],
17711
18752
  # ports: [1],
18753
+ # number: 1.0,
18754
+ # numbers: [1.0],
18755
+ # strings: ["stringValue"],
17712
18756
  # },
17713
18757
  # duration_seconds: 1,
17714
18758
  # consecutive_datapoints_to_alarm: 1,
@@ -17716,7 +18760,11 @@ module Aws::IoT
17716
18760
  # statistical_threshold: {
17717
18761
  # statistic: "EvaluationStatistic",
17718
18762
  # },
18763
+ # ml_detection_config: {
18764
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
18765
+ # },
17719
18766
  # },
18767
+ # suppress_alerts: false,
17720
18768
  # },
17721
18769
  # ],
17722
18770
  # }
@@ -17801,13 +18849,17 @@ module Aws::IoT
17801
18849
  # @return [String]
17802
18850
  #
17803
18851
  # @!attribute [rw] behavior
17804
- # The behavior which was violated.
18852
+ # The behavior that was violated.
17805
18853
  # @return [Types::Behavior]
17806
18854
  #
17807
18855
  # @!attribute [rw] metric_value
17808
18856
  # The value of the metric (the measurement).
17809
18857
  # @return [Types::MetricValue]
17810
18858
  #
18859
+ # @!attribute [rw] violation_event_additional_info
18860
+ # The details of a violation event.
18861
+ # @return [Types::ViolationEventAdditionalInfo]
18862
+ #
17811
18863
  # @!attribute [rw] violation_event_type
17812
18864
  # The type of violation event.
17813
18865
  # @return [String]
@@ -17822,11 +18874,147 @@ module Aws::IoT
17822
18874
  :security_profile_name,
17823
18875
  :behavior,
17824
18876
  :metric_value,
18877
+ :violation_event_additional_info,
17825
18878
  :violation_event_type,
17826
18879
  :violation_event_time)
17827
18880
  SENSITIVE = []
17828
18881
  include Aws::Structure
17829
18882
  end
17830
18883
 
18884
+ # The details of a violation event.
18885
+ #
18886
+ # @!attribute [rw] confidence_level
18887
+ # The sensitivity of anomalous behavior evaluation. Can be `Low`,
18888
+ # `Medium`, or `High`.
18889
+ # @return [String]
18890
+ #
18891
+ class ViolationEventAdditionalInfo < Struct.new(
18892
+ :confidence_level)
18893
+ SENSITIVE = []
18894
+ include Aws::Structure
18895
+ end
18896
+
18897
+ # Specifies the time period of which violation events occurred between.
18898
+ #
18899
+ # @note When making an API call, you may pass ViolationEventOccurrenceRange
18900
+ # data as a hash:
18901
+ #
18902
+ # {
18903
+ # start_time: Time.now, # required
18904
+ # end_time: Time.now, # required
18905
+ # }
18906
+ #
18907
+ # @!attribute [rw] start_time
18908
+ # The start date and time of a time period in which violation events
18909
+ # occurred.
18910
+ # @return [Time]
18911
+ #
18912
+ # @!attribute [rw] end_time
18913
+ # The end date and time of a time period in which violation events
18914
+ # occurred.
18915
+ # @return [Time]
18916
+ #
18917
+ class ViolationEventOccurrenceRange < Struct.new(
18918
+ :start_time,
18919
+ :end_time)
18920
+ SENSITIVE = []
18921
+ include Aws::Structure
18922
+ end
18923
+
18924
+ # The configuration information for a virtual private cloud (VPC)
18925
+ # destination.
18926
+ #
18927
+ # @note When making an API call, you may pass VpcDestinationConfiguration
18928
+ # data as a hash:
18929
+ #
18930
+ # {
18931
+ # subnet_ids: ["SubnetId"], # required
18932
+ # security_groups: ["SecurityGroupId"],
18933
+ # vpc_id: "VpcId", # required
18934
+ # role_arn: "AwsArn", # required
18935
+ # }
18936
+ #
18937
+ # @!attribute [rw] subnet_ids
18938
+ # The subnet IDs of the VPC destination.
18939
+ # @return [Array<String>]
18940
+ #
18941
+ # @!attribute [rw] security_groups
18942
+ # The security groups of the VPC destination.
18943
+ # @return [Array<String>]
18944
+ #
18945
+ # @!attribute [rw] vpc_id
18946
+ # The ID of the VPC.
18947
+ # @return [String]
18948
+ #
18949
+ # @!attribute [rw] role_arn
18950
+ # The ARN of a role that has permission to create and attach to
18951
+ # elastic network interfaces (ENIs).
18952
+ # @return [String]
18953
+ #
18954
+ class VpcDestinationConfiguration < Struct.new(
18955
+ :subnet_ids,
18956
+ :security_groups,
18957
+ :vpc_id,
18958
+ :role_arn)
18959
+ SENSITIVE = []
18960
+ include Aws::Structure
18961
+ end
18962
+
18963
+ # The properties of a virtual private cloud (VPC) destination.
18964
+ #
18965
+ # @!attribute [rw] subnet_ids
18966
+ # The subnet IDs of the VPC destination.
18967
+ # @return [Array<String>]
18968
+ #
18969
+ # @!attribute [rw] security_groups
18970
+ # The security groups of the VPC destination.
18971
+ # @return [Array<String>]
18972
+ #
18973
+ # @!attribute [rw] vpc_id
18974
+ # The ID of the VPC.
18975
+ # @return [String]
18976
+ #
18977
+ # @!attribute [rw] role_arn
18978
+ # The ARN of a role that has permission to create and attach to
18979
+ # elastic network interfaces (ENIs).
18980
+ # @return [String]
18981
+ #
18982
+ class VpcDestinationProperties < Struct.new(
18983
+ :subnet_ids,
18984
+ :security_groups,
18985
+ :vpc_id,
18986
+ :role_arn)
18987
+ SENSITIVE = []
18988
+ include Aws::Structure
18989
+ end
18990
+
18991
+ # The summary of a virtual private cloud (VPC) destination.
18992
+ #
18993
+ # @!attribute [rw] subnet_ids
18994
+ # The subnet IDs of the VPC destination.
18995
+ # @return [Array<String>]
18996
+ #
18997
+ # @!attribute [rw] security_groups
18998
+ # The security groups of the VPC destination.
18999
+ # @return [Array<String>]
19000
+ #
19001
+ # @!attribute [rw] vpc_id
19002
+ # The ID of the VPC.
19003
+ # @return [String]
19004
+ #
19005
+ # @!attribute [rw] role_arn
19006
+ # The ARN of a role that has permission to create and attach to
19007
+ # elastic network interfaces (ENIs).
19008
+ # @return [String]
19009
+ #
19010
+ class VpcDestinationSummary < Struct.new(
19011
+ :subnet_ids,
19012
+ :security_groups,
19013
+ :vpc_id,
19014
+ :role_arn)
19015
+ SENSITIVE = []
19016
+ include Aws::Structure
19017
+ end
19018
+
17831
19019
  end
17832
19020
  end