aws-sdk-iot 1.62.0 → 1.67.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.
@@ -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(
@@ -3379,6 +3564,7 @@ module Aws::IoT
3379
3564
  # files: [ # required
3380
3565
  # {
3381
3566
  # file_name: "FileName",
3567
+ # file_type: 1,
3382
3568
  # file_version: "OTAUpdateFileVersion",
3383
3569
  # file_location: {
3384
3570
  # stream: {
@@ -3964,24 +4150,24 @@ module Aws::IoT
3964
4150
  # }
3965
4151
  #
3966
4152
  # @!attribute [rw] frequency
3967
- # How often the scheduled audit takes place. Can be one of "DAILY",
3968
- # "WEEKLY", "BIWEEKLY" or "MONTHLY". The start time of each
3969
- # 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.
3970
4156
  # @return [String]
3971
4157
  #
3972
4158
  # @!attribute [rw] day_of_month
3973
- # The day of the month on which the scheduled audit takes place. Can
3974
- # be "1" through "31" or "LAST". This field is required if the
3975
- # "frequency" parameter is set to "MONTHLY". If days 29-31 are
3976
- # specified, and the month does not have that many days, the audit
3977
- # 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.
3978
4164
  # @return [String]
3979
4165
  #
3980
4166
  # @!attribute [rw] day_of_week
3981
- # The day of the week on which the scheduled audit takes place. Can be
3982
- # one of "SUN", "MON", "TUE", "WED", "THU", "FRI", or
3983
- # "SAT". This field is required if the "frequency" parameter is
3984
- # 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`.
3985
4171
  # @return [String]
3986
4172
  #
3987
4173
  # @!attribute [rw] target_check_names
@@ -4037,11 +4223,14 @@ module Aws::IoT
4037
4223
  # operator: "IN", # accepts IN, NOT_IN
4038
4224
  # },
4039
4225
  # criteria: {
4040
- # 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
4041
4227
  # value: {
4042
4228
  # count: 1,
4043
4229
  # cidrs: ["Cidr"],
4044
4230
  # ports: [1],
4231
+ # number: 1.0,
4232
+ # numbers: [1.0],
4233
+ # strings: ["stringValue"],
4045
4234
  # },
4046
4235
  # duration_seconds: 1,
4047
4236
  # consecutive_datapoints_to_alarm: 1,
@@ -4049,7 +4238,11 @@ module Aws::IoT
4049
4238
  # statistical_threshold: {
4050
4239
  # statistic: "EvaluationStatistic",
4051
4240
  # },
4241
+ # ml_detection_config: {
4242
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
4243
+ # },
4052
4244
  # },
4245
+ # suppress_alerts: false,
4053
4246
  # },
4054
4247
  # ],
4055
4248
  # alert_targets: {
@@ -4101,13 +4294,15 @@ module Aws::IoT
4101
4294
  #
4102
4295
  # A list of metrics whose data is retained (stored). By default, data
4103
4296
  # is retained for any metric used in the profile's `behaviors`, but
4104
- # 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.
4105
4299
  # @return [Array<String>]
4106
4300
  #
4107
4301
  # @!attribute [rw] additional_metrics_to_retain_v2
4108
4302
  # A list of metrics whose data is retained (stored). By default, data
4109
4303
  # is retained for any metric used in the profile's `behaviors`, but
4110
- # 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.
4111
4306
  # @return [Array<Types::MetricToRetain>]
4112
4307
  #
4113
4308
  # @!attribute [rw] tags
@@ -4432,6 +4627,12 @@ module Aws::IoT
4432
4627
  # http_url_configuration: {
4433
4628
  # confirmation_url: "Url", # required
4434
4629
  # },
4630
+ # vpc_configuration: {
4631
+ # subnet_ids: ["SubnetId"], # required
4632
+ # security_groups: ["SecurityGroupId"],
4633
+ # vpc_id: "VpcId", # required
4634
+ # role_arn: "AwsArn", # required
4635
+ # },
4435
4636
  # },
4436
4637
  # }
4437
4638
  #
@@ -4624,6 +4825,15 @@ module Aws::IoT
4624
4825
  # },
4625
4826
  # },
4626
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
+ # },
4627
4837
  # },
4628
4838
  # ],
4629
4839
  # rule_disabled: false,
@@ -4786,6 +4996,15 @@ module Aws::IoT
4786
4996
  # },
4787
4997
  # },
4788
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
+ # },
4789
5008
  # },
4790
5009
  # },
4791
5010
  # tags: "String",
@@ -5035,6 +5254,25 @@ module Aws::IoT
5035
5254
  include Aws::Structure
5036
5255
  end
5037
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
+
5038
5276
  # @note When making an API call, you may pass DeleteDimensionRequest
5039
5277
  # data as a hash:
5040
5278
  #
@@ -5253,13 +5491,16 @@ module Aws::IoT
5253
5491
  # @return [String]
5254
5492
  #
5255
5493
  # @!attribute [rw] delete_stream
5256
- # Specifies if the stream associated with an OTA update should be
5257
- # 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.
5258
5497
  # @return [Boolean]
5259
5498
  #
5260
5499
  # @!attribute [rw] force_delete_aws_job
5261
- # Specifies if the AWS Job associated with the OTA update should be
5262
- # 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.
5263
5504
  # @return [Boolean]
5264
5505
  #
5265
5506
  class DeleteOTAUpdateRequest < Struct.new(
@@ -5709,7 +5950,7 @@ module Aws::IoT
5709
5950
  # data as a hash:
5710
5951
  #
5711
5952
  # {
5712
- # task_id: "AuditMitigationActionsTaskId", # required
5953
+ # task_id: "MitigationActionsTaskId", # required
5713
5954
  # }
5714
5955
  #
5715
5956
  # @!attribute [rw] task_id
@@ -6041,6 +6282,62 @@ module Aws::IoT
6041
6282
  include Aws::Structure
6042
6283
  end
6043
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
+
6044
6341
  # @api private
6045
6342
  #
6046
6343
  class DescribeDefaultAuthorizerRequest < Aws::EmptyStructure; end
@@ -6055,6 +6352,33 @@ module Aws::IoT
6055
6352
  include Aws::Structure
6056
6353
  end
6057
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
+
6058
6382
  # @note When making an API call, you may pass DescribeDimensionRequest
6059
6383
  # data as a hash:
6060
6384
  #
@@ -6077,7 +6401,7 @@ module Aws::IoT
6077
6401
  # @return [String]
6078
6402
  #
6079
6403
  # @!attribute [rw] arn
6080
- # The ARN (Amazon resource name) for the dimension.
6404
+ # The Amazon Resource Name (ARN) for the dimension.
6081
6405
  # @return [String]
6082
6406
  #
6083
6407
  # @!attribute [rw] type
@@ -6614,21 +6938,21 @@ module Aws::IoT
6614
6938
  end
6615
6939
 
6616
6940
  # @!attribute [rw] frequency
6617
- # How often the scheduled audit takes place. One of "DAILY",
6618
- # "WEEKLY", "BIWEEKLY", or "MONTHLY". The start time of each
6619
- # 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.
6620
6944
  # @return [String]
6621
6945
  #
6622
6946
  # @!attribute [rw] day_of_month
6623
- # The day of the month on which the scheduled audit takes place. Will
6624
- # be "1" through "31" or "LAST". If days 29-31 are specified,
6625
- # and the month does not have that many days, the audit takes place on
6626
- # 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.
6627
6951
  # @return [String]
6628
6952
  #
6629
6953
  # @!attribute [rw] day_of_week
6630
- # The day of the week on which the scheduled audit takes place. One of
6631
- # "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`.
6632
6956
  # @return [String]
6633
6957
  #
6634
6958
  # @!attribute [rw] target_check_names
@@ -7194,6 +7518,170 @@ module Aws::IoT
7194
7518
  #
7195
7519
  class DetachThingPrincipalResponse < Aws::EmptyStructure; end
7196
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
+
7197
7685
  # The input for the DisableTopicRuleRequest operation.
7198
7686
  #
7199
7687
  # @note When making an API call, you may pass DisableTopicRuleRequest
@@ -7458,11 +7946,11 @@ module Aws::IoT
7458
7946
  # }
7459
7947
  #
7460
7948
  # @!attribute [rw] role_arn_for_logging
7461
- # The ARN of the IAM role used for logging.
7949
+ # The Amazon Resource Name (ARN) of the IAM role used for logging.
7462
7950
  # @return [String]
7463
7951
  #
7464
7952
  # @!attribute [rw] log_level
7465
- # Specifies the types of information to be logged.
7953
+ # Specifies the type of information to be logged.
7466
7954
  # @return [String]
7467
7955
  #
7468
7956
  class EnableIoTLoggingParams < Struct.new(
@@ -7667,6 +8155,53 @@ module Aws::IoT
7667
8155
  include Aws::Structure
7668
8156
  end
7669
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
+
7670
8205
  # @note When making an API call, you may pass GetCardinalityRequest
7671
8206
  # data as a hash:
7672
8207
  #
@@ -9085,6 +9620,52 @@ module Aws::IoT
9085
9620
  include Aws::Structure
9086
9621
  end
9087
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
+
9088
9669
  # Describes a key pair.
9089
9670
  #
9090
9671
  # @!attribute [rw] public_key
@@ -9171,6 +9752,8 @@ module Aws::IoT
9171
9752
  # {
9172
9753
  # thing_name: "DeviceDefenderThingName",
9173
9754
  # security_profile_name: "SecurityProfileName",
9755
+ # behavior_criteria_type: "STATIC", # accepts STATIC, STATISTICAL, MACHINE_LEARNING
9756
+ # list_suppressed_alerts: false,
9174
9757
  # next_token: "NextToken",
9175
9758
  # max_results: 1,
9176
9759
  # }
@@ -9184,6 +9767,14 @@ module Aws::IoT
9184
9767
  # violations are listed.
9185
9768
  # @return [String]
9186
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
+ #
9187
9778
  # @!attribute [rw] next_token
9188
9779
  # The token for the next set of results.
9189
9780
  # @return [String]
@@ -9195,6 +9786,8 @@ module Aws::IoT
9195
9786
  class ListActiveViolationsRequest < Struct.new(
9196
9787
  :thing_name,
9197
9788
  :security_profile_name,
9789
+ :behavior_criteria_type,
9790
+ :list_suppressed_alerts,
9198
9791
  :next_token,
9199
9792
  :max_results)
9200
9793
  SENSITIVE = []
@@ -9375,7 +9968,7 @@ module Aws::IoT
9375
9968
  # data as a hash:
9376
9969
  #
9377
9970
  # {
9378
- # task_id: "AuditMitigationActionsTaskId", # required
9971
+ # task_id: "MitigationActionsTaskId", # required
9379
9972
  # action_status: "IN_PROGRESS", # accepts IN_PROGRESS, COMPLETED, FAILED, CANCELED, SKIPPED, PENDING
9380
9973
  # finding_id: "FindingId", # required
9381
9974
  # max_results: 1,
@@ -9881,28 +10474,197 @@ module Aws::IoT
9881
10474
  # in ascending order, based on the creation date.
9882
10475
  # @return [Boolean]
9883
10476
  #
9884
- class ListCertificatesRequest < Struct.new(
9885
- :page_size,
9886
- :marker,
9887
- :ascending_order)
10477
+ class ListCertificatesRequest < Struct.new(
10478
+ :page_size,
10479
+ :marker,
10480
+ :ascending_order)
10481
+ SENSITIVE = []
10482
+ include Aws::Structure
10483
+ end
10484
+
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)
9888
10651
  SENSITIVE = []
9889
10652
  include Aws::Structure
9890
10653
  end
9891
10654
 
9892
- # The output of the ListCertificates operation.
9893
- #
9894
- # @!attribute [rw] certificates
9895
- # The descriptions of the certificates.
9896
- # @return [Array<Types::Certificate>]
10655
+ # @!attribute [rw] tasks
10656
+ # The collection of ML Detect mitigation tasks that matched the filter
10657
+ # criteria.
10658
+ # @return [Array<Types::DetectMitigationActionsTaskSummary>]
9897
10659
  #
9898
- # @!attribute [rw] next_marker
9899
- # The marker for the next set of results, or null if there are no
9900
- # 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.
9901
10663
  # @return [String]
9902
10664
  #
9903
- class ListCertificatesResponse < Struct.new(
9904
- :certificates,
9905
- :next_marker)
10665
+ class ListDetectMitigationActionsTasksResponse < Struct.new(
10666
+ :tasks,
10667
+ :next_token)
9906
10668
  SENSITIVE = []
9907
10669
  include Aws::Structure
9908
10670
  end
@@ -10850,6 +11612,7 @@ module Aws::IoT
10850
11612
  # next_token: "NextToken",
10851
11613
  # max_results: 1,
10852
11614
  # dimension_name: "DimensionName",
11615
+ # metric_name: "MetricName",
10853
11616
  # }
10854
11617
  #
10855
11618
  # @!attribute [rw] next_token
@@ -10862,13 +11625,18 @@ module Aws::IoT
10862
11625
  #
10863
11626
  # @!attribute [rw] dimension_name
10864
11627
  # A filter to limit results to the security profiles that use the
10865
- # 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`.
10866
11633
  # @return [String]
10867
11634
  #
10868
11635
  class ListSecurityProfilesRequest < Struct.new(
10869
11636
  :next_token,
10870
11637
  :max_results,
10871
- :dimension_name)
11638
+ :dimension_name,
11639
+ :metric_name)
10872
11640
  SENSITIVE = []
10873
11641
  include Aws::Structure
10874
11642
  end
@@ -11696,6 +12464,8 @@ module Aws::IoT
11696
12464
  # end_time: Time.now, # required
11697
12465
  # thing_name: "DeviceDefenderThingName",
11698
12466
  # security_profile_name: "SecurityProfileName",
12467
+ # behavior_criteria_type: "STATIC", # accepts STATIC, STATISTICAL, MACHINE_LEARNING
12468
+ # list_suppressed_alerts: false,
11699
12469
  # next_token: "NextToken",
11700
12470
  # max_results: 1,
11701
12471
  # }
@@ -11718,6 +12488,14 @@ module Aws::IoT
11718
12488
  # security profile.
11719
12489
  # @return [String]
11720
12490
  #
12491
+ # @!attribute [rw] behavior_criteria_type
12492
+ # The criteria for a behavior.
12493
+ # @return [String]
12494
+ #
12495
+ # @!attribute [rw] list_suppressed_alerts
12496
+ # A list of all suppressed alerts.
12497
+ # @return [Boolean]
12498
+ #
11721
12499
  # @!attribute [rw] next_token
11722
12500
  # The token for the next set of results.
11723
12501
  # @return [String]
@@ -11731,6 +12509,8 @@ module Aws::IoT
11731
12509
  :end_time,
11732
12510
  :thing_name,
11733
12511
  :security_profile_name,
12512
+ :behavior_criteria_type,
12513
+ :list_suppressed_alerts,
11734
12514
  :next_token,
11735
12515
  :max_results)
11736
12516
  SENSITIVE = []
@@ -11822,6 +12602,26 @@ module Aws::IoT
11822
12602
  include Aws::Structure
11823
12603
  end
11824
12604
 
12605
+ # The configuration of an ML Detect Security Profile.
12606
+ #
12607
+ # @note When making an API call, you may pass MachineLearningDetectionConfig
12608
+ # data as a hash:
12609
+ #
12610
+ # {
12611
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
12612
+ # }
12613
+ #
12614
+ # @!attribute [rw] confidence_level
12615
+ # The sensitivity of anomalous behavior evaluation. Can be `Low`,
12616
+ # `Medium`, or `High`.
12617
+ # @return [String]
12618
+ #
12619
+ class MachineLearningDetectionConfig < Struct.new(
12620
+ :confidence_level)
12621
+ SENSITIVE = []
12622
+ include Aws::Structure
12623
+ end
12624
+
11825
12625
  # The policy documentation is not valid.
11826
12626
  #
11827
12627
  # @!attribute [rw] message
@@ -11883,7 +12683,7 @@ module Aws::IoT
11883
12683
  # @return [String]
11884
12684
  #
11885
12685
  # @!attribute [rw] metric_dimension
11886
- # The dimension of a metric.
12686
+ # The dimension of a metric. This can't be used with custom metrics.
11887
12687
  # @return [Types::MetricDimension]
11888
12688
  #
11889
12689
  class MetricToRetain < Struct.new(
@@ -11902,6 +12702,9 @@ module Aws::IoT
11902
12702
  # count: 1,
11903
12703
  # cidrs: ["Cidr"],
11904
12704
  # ports: [1],
12705
+ # number: 1.0,
12706
+ # numbers: [1.0],
12707
+ # strings: ["stringValue"],
11905
12708
  # }
11906
12709
  #
11907
12710
  # @!attribute [rw] count
@@ -11919,10 +12722,25 @@ module Aws::IoT
11919
12722
  # specify that set to be compared with the `metric`.
11920
12723
  # @return [Array<Integer>]
11921
12724
  #
12725
+ # @!attribute [rw] number
12726
+ # The numeral value of a metric.
12727
+ # @return [Float]
12728
+ #
12729
+ # @!attribute [rw] numbers
12730
+ # The numeral values of a metric.
12731
+ # @return [Array<Float>]
12732
+ #
12733
+ # @!attribute [rw] strings
12734
+ # The string values of a metric.
12735
+ # @return [Array<String>]
12736
+ #
11922
12737
  class MetricValue < Struct.new(
11923
12738
  :count,
11924
12739
  :cidrs,
11925
- :ports)
12740
+ :ports,
12741
+ :number,
12742
+ :numbers,
12743
+ :strings)
11926
12744
  SENSITIVE = []
11927
12745
  include Aws::Structure
11928
12746
  end
@@ -12037,8 +12855,8 @@ module Aws::IoT
12037
12855
  #
12038
12856
  # @!attribute [rw] publish_finding_to_sns_params
12039
12857
  # Parameters to define a mitigation action that publishes findings to
12040
- # Amazon SNS. You can implement your own custom actions in response to
12041
- # the Amazon SNS messages.
12858
+ # Amazon Simple Notification Service (Amazon SNS. You can implement
12859
+ # your own custom actions in response to the Amazon SNS messages.
12042
12860
  # @return [Types::PublishFindingToSnsParams]
12043
12861
  #
12044
12862
  class MitigationActionParams < Struct.new(
@@ -12125,6 +12943,7 @@ module Aws::IoT
12125
12943
  #
12126
12944
  # {
12127
12945
  # file_name: "FileName",
12946
+ # file_type: 1,
12128
12947
  # file_version: "OTAUpdateFileVersion",
12129
12948
  # file_location: {
12130
12949
  # stream: {
@@ -12174,6 +12993,11 @@ module Aws::IoT
12174
12993
  # The name of the file.
12175
12994
  # @return [String]
12176
12995
  #
12996
+ # @!attribute [rw] file_type
12997
+ # An integer value you can include in the job document to allow your
12998
+ # devices to identify the type of file received from the cloud.
12999
+ # @return [Integer]
13000
+ #
12177
13001
  # @!attribute [rw] file_version
12178
13002
  # The file version.
12179
13003
  # @return [String]
@@ -12192,6 +13016,7 @@ module Aws::IoT
12192
13016
  #
12193
13017
  class OTAUpdateFile < Struct.new(
12194
13018
  :file_name,
13019
+ :file_type,
12195
13020
  :file_version,
12196
13021
  :file_location,
12197
13022
  :code_signing,
@@ -13271,6 +14096,15 @@ module Aws::IoT
13271
14096
  # },
13272
14097
  # },
13273
14098
  # },
14099
+ # kafka: {
14100
+ # destination_arn: "AwsArn", # required
14101
+ # topic: "String", # required
14102
+ # key: "String",
14103
+ # partition: "String",
14104
+ # client_properties: { # required
14105
+ # "String" => "String",
14106
+ # },
14107
+ # },
13274
14108
  # },
13275
14109
  # ],
13276
14110
  # rule_disabled: false,
@@ -13433,6 +14267,15 @@ module Aws::IoT
13433
14267
  # },
13434
14268
  # },
13435
14269
  # },
14270
+ # kafka: {
14271
+ # destination_arn: "AwsArn", # required
14272
+ # topic: "String", # required
14273
+ # key: "String",
14274
+ # partition: "String",
14275
+ # client_properties: { # required
14276
+ # "String" => "String",
14277
+ # },
14278
+ # },
13436
14279
  # },
13437
14280
  # },
13438
14281
  # }
@@ -13872,7 +14715,7 @@ module Aws::IoT
13872
14715
  # Identifying information for a Device Defender security profile.
13873
14716
  #
13874
14717
  # @!attribute [rw] name
13875
- # The name you have given to the security profile.
14718
+ # The name you've given to the security profile.
13876
14719
  # @return [String]
13877
14720
  #
13878
14721
  # @!attribute [rw] arn
@@ -14240,7 +15083,7 @@ module Aws::IoT
14240
15083
  # data as a hash:
14241
15084
  #
14242
15085
  # {
14243
- # task_id: "AuditMitigationActionsTaskId", # required
15086
+ # task_id: "MitigationActionsTaskId", # required
14244
15087
  # target: { # required
14245
15088
  # audit_task_id: "AuditTaskId",
14246
15089
  # finding_ids: ["FindingId"],
@@ -14262,7 +15105,7 @@ module Aws::IoT
14262
15105
  # @!attribute [rw] target
14263
15106
  # Specifies the audit findings to which the mitigation actions are
14264
15107
  # applied. You can apply them to a type of audit check, to all
14265
- # findings from an audit, or to a speecific set of findings.
15108
+ # findings from an audit, or to a specific set of findings.
14266
15109
  # @return [Types::AuditMitigationActionsTaskTarget]
14267
15110
  #
14268
15111
  # @!attribute [rw] audit_check_to_actions_mapping
@@ -14300,6 +15143,84 @@ module Aws::IoT
14300
15143
  include Aws::Structure
14301
15144
  end
14302
15145
 
15146
+ # @note When making an API call, you may pass StartDetectMitigationActionsTaskRequest
15147
+ # data as a hash:
15148
+ #
15149
+ # {
15150
+ # task_id: "MitigationActionsTaskId", # required
15151
+ # target: { # required
15152
+ # violation_ids: ["ViolationId"],
15153
+ # security_profile_name: "SecurityProfileName",
15154
+ # behavior_name: "BehaviorName",
15155
+ # },
15156
+ # actions: ["MitigationActionName"], # required
15157
+ # violation_event_occurrence_range: {
15158
+ # start_time: Time.now, # required
15159
+ # end_time: Time.now, # required
15160
+ # },
15161
+ # include_only_active_violations: false,
15162
+ # include_suppressed_alerts: false,
15163
+ # client_request_token: "ClientRequestToken", # required
15164
+ # }
15165
+ #
15166
+ # @!attribute [rw] task_id
15167
+ # The unique identifier of the task.
15168
+ # @return [String]
15169
+ #
15170
+ # @!attribute [rw] target
15171
+ # Specifies the ML Detect findings to which the mitigation actions are
15172
+ # applied.
15173
+ # @return [Types::DetectMitigationActionsTaskTarget]
15174
+ #
15175
+ # @!attribute [rw] actions
15176
+ # The actions to be performed when a device has unexpected behavior.
15177
+ # @return [Array<String>]
15178
+ #
15179
+ # @!attribute [rw] violation_event_occurrence_range
15180
+ # Specifies the time period of which violation events occurred
15181
+ # between.
15182
+ # @return [Types::ViolationEventOccurrenceRange]
15183
+ #
15184
+ # @!attribute [rw] include_only_active_violations
15185
+ # Specifies to list only active violations.
15186
+ # @return [Boolean]
15187
+ #
15188
+ # @!attribute [rw] include_suppressed_alerts
15189
+ # Specifies to include suppressed alerts.
15190
+ # @return [Boolean]
15191
+ #
15192
+ # @!attribute [rw] client_request_token
15193
+ # Each mitigation action task must have a unique client request token.
15194
+ # If you try to create a new task with the same token as a task that
15195
+ # already exists, an exception occurs. If you omit this value, AWS
15196
+ # SDKs will automatically generate a unique client request.
15197
+ #
15198
+ # **A suitable default value is auto-generated.** You should normally
15199
+ # not need to pass this option.
15200
+ # @return [String]
15201
+ #
15202
+ class StartDetectMitigationActionsTaskRequest < Struct.new(
15203
+ :task_id,
15204
+ :target,
15205
+ :actions,
15206
+ :violation_event_occurrence_range,
15207
+ :include_only_active_violations,
15208
+ :include_suppressed_alerts,
15209
+ :client_request_token)
15210
+ SENSITIVE = []
15211
+ include Aws::Structure
15212
+ end
15213
+
15214
+ # @!attribute [rw] task_id
15215
+ # The unique identifier of the task.
15216
+ # @return [String]
15217
+ #
15218
+ class StartDetectMitigationActionsTaskResponse < Struct.new(
15219
+ :task_id)
15220
+ SENSITIVE = []
15221
+ include Aws::Structure
15222
+ end
15223
+
14303
15224
  # @note When making an API call, you may pass StartOnDemandAuditTaskRequest
14304
15225
  # data as a hash:
14305
15226
  #
@@ -14419,9 +15340,9 @@ module Aws::IoT
14419
15340
  include Aws::Structure
14420
15341
  end
14421
15342
 
14422
- # A statistical ranking (percentile) which indicates a threshold value
14423
- # by which a behavior is determined to be in compliance or in violation
14424
- # of the behavior.
15343
+ # A statistical ranking (percentile) that indicates a threshold value by
15344
+ # which a behavior is determined to be in compliance or in violation of
15345
+ # the behavior.
14425
15346
  #
14426
15347
  # @note When making an API call, you may pass StatisticalThreshold
14427
15348
  # data as a hash:
@@ -14431,7 +15352,7 @@ module Aws::IoT
14431
15352
  # }
14432
15353
  #
14433
15354
  # @!attribute [rw] statistic
14434
- # The percentile which resolves to a threshold value by which
15355
+ # The percentile that resolves to a threshold value by which
14435
15356
  # compliance with a behavior is determined. Metrics are collected over
14436
15357
  # the specified period (`durationSeconds`) from all reporting devices
14437
15358
  # in your account and statistical ranks are calculated. Then, the
@@ -15640,6 +16561,14 @@ module Aws::IoT
15640
16561
  # to be sent to your confirmation endpoint.
15641
16562
  # @return [String]
15642
16563
  #
16564
+ # @!attribute [rw] created_at
16565
+ # The date and time when the topic rule destination was created.
16566
+ # @return [Time]
16567
+ #
16568
+ # @!attribute [rw] last_updated_at
16569
+ # The date and time when the topic rule destination was last updated.
16570
+ # @return [Time]
16571
+ #
15643
16572
  # @!attribute [rw] status_reason
15644
16573
  # Additional details or reason why the topic rule destination is in
15645
16574
  # the current status.
@@ -15649,11 +16578,18 @@ module Aws::IoT
15649
16578
  # Properties of the HTTP URL.
15650
16579
  # @return [Types::HttpUrlDestinationProperties]
15651
16580
  #
16581
+ # @!attribute [rw] vpc_properties
16582
+ # Properties of the virtual private cloud (VPC) connection.
16583
+ # @return [Types::VpcDestinationProperties]
16584
+ #
15652
16585
  class TopicRuleDestination < Struct.new(
15653
16586
  :arn,
15654
16587
  :status,
16588
+ :created_at,
16589
+ :last_updated_at,
15655
16590
  :status_reason,
15656
- :http_url_properties)
16591
+ :http_url_properties,
16592
+ :vpc_properties)
15657
16593
  SENSITIVE = []
15658
16594
  include Aws::Structure
15659
16595
  end
@@ -15667,14 +16603,25 @@ module Aws::IoT
15667
16603
  # http_url_configuration: {
15668
16604
  # confirmation_url: "Url", # required
15669
16605
  # },
16606
+ # vpc_configuration: {
16607
+ # subnet_ids: ["SubnetId"], # required
16608
+ # security_groups: ["SecurityGroupId"],
16609
+ # vpc_id: "VpcId", # required
16610
+ # role_arn: "AwsArn", # required
16611
+ # },
15670
16612
  # }
15671
16613
  #
15672
16614
  # @!attribute [rw] http_url_configuration
15673
16615
  # Configuration of the HTTP URL.
15674
16616
  # @return [Types::HttpUrlDestinationConfiguration]
15675
16617
  #
16618
+ # @!attribute [rw] vpc_configuration
16619
+ # Configuration of the virtual private cloud (VPC) connection.
16620
+ # @return [Types::VpcDestinationConfiguration]
16621
+ #
15676
16622
  class TopicRuleDestinationConfiguration < Struct.new(
15677
- :http_url_configuration)
16623
+ :http_url_configuration,
16624
+ :vpc_configuration)
15678
16625
  SENSITIVE = []
15679
16626
  include Aws::Structure
15680
16627
  end
@@ -15718,6 +16665,14 @@ module Aws::IoT
15718
16665
  # to be sent to your confirmation endpoint.
15719
16666
  # @return [String]
15720
16667
  #
16668
+ # @!attribute [rw] created_at
16669
+ # The date and time when the topic rule destination was created.
16670
+ # @return [Time]
16671
+ #
16672
+ # @!attribute [rw] last_updated_at
16673
+ # The date and time when the topic rule destination was last updated.
16674
+ # @return [Time]
16675
+ #
15721
16676
  # @!attribute [rw] status_reason
15722
16677
  # The reason the topic rule destination is in the current status.
15723
16678
  # @return [String]
@@ -15726,11 +16681,18 @@ module Aws::IoT
15726
16681
  # Information about the HTTP URL.
15727
16682
  # @return [Types::HttpUrlDestinationSummary]
15728
16683
  #
16684
+ # @!attribute [rw] vpc_destination_summary
16685
+ # Information about the virtual private cloud (VPC) connection.
16686
+ # @return [Types::VpcDestinationSummary]
16687
+ #
15729
16688
  class TopicRuleDestinationSummary < Struct.new(
15730
16689
  :arn,
15731
16690
  :status,
16691
+ :created_at,
16692
+ :last_updated_at,
15732
16693
  :status_reason,
15733
- :http_url_summary)
16694
+ :http_url_summary,
16695
+ :vpc_destination_summary)
15734
16696
  SENSITIVE = []
15735
16697
  include Aws::Structure
15736
16698
  end
@@ -15934,6 +16896,15 @@ module Aws::IoT
15934
16896
  # },
15935
16897
  # },
15936
16898
  # },
16899
+ # kafka: {
16900
+ # destination_arn: "AwsArn", # required
16901
+ # topic: "String", # required
16902
+ # key: "String",
16903
+ # partition: "String",
16904
+ # client_properties: { # required
16905
+ # "String" => "String",
16906
+ # },
16907
+ # },
15937
16908
  # },
15938
16909
  # ],
15939
16910
  # rule_disabled: false,
@@ -16096,6 +17067,15 @@ module Aws::IoT
16096
17067
  # },
16097
17068
  # },
16098
17069
  # },
17070
+ # kafka: {
17071
+ # destination_arn: "AwsArn", # required
17072
+ # topic: "String", # required
17073
+ # key: "String",
17074
+ # partition: "String",
17075
+ # client_properties: { # required
17076
+ # "String" => "String",
17077
+ # },
17078
+ # },
16099
17079
  # },
16100
17080
  # }
16101
17081
  #
@@ -16298,9 +17278,9 @@ module Aws::IoT
16298
17278
  # }
16299
17279
  #
16300
17280
  # @!attribute [rw] role_arn
16301
- # The ARN of the role that grants permission to AWS IoT to access
16302
- # information about your devices, policies, certificates and other
16303
- # items as required when performing an audit.
17281
+ # The Amazon Resource Name (ARN) of the role that grants permission to
17282
+ # AWS IoT to access information about your devices, policies,
17283
+ # certificates, and other items as required when performing an audit.
16304
17284
  # @return [String]
16305
17285
  #
16306
17286
  # @!attribute [rw] audit_notification_target_configurations
@@ -16316,7 +17296,7 @@ module Aws::IoT
16316
17296
  # enabled. When a check is disabled, any data collected so far in
16317
17297
  # relation to the check is deleted.
16318
17298
  #
16319
- # You cannot disable a check if it is used by any scheduled audit. You
17299
+ # You cannot disable a check if it's used by any scheduled audit. You
16320
17300
  # must first delete the check from the scheduled audit or delete the
16321
17301
  # scheduled audit itself.
16322
17302
  #
@@ -16507,7 +17487,7 @@ module Aws::IoT
16507
17487
  # }
16508
17488
  #
16509
17489
  # @!attribute [rw] action
16510
- # The action that you want to apply to the CA cerrtificate. The only
17490
+ # The action that you want to apply to the CA certificate. The only
16511
17491
  # supported value is `DEACTIVATE`.
16512
17492
  # @return [String]
16513
17493
  #
@@ -16601,6 +17581,68 @@ module Aws::IoT
16601
17581
  include Aws::Structure
16602
17582
  end
16603
17583
 
17584
+ # @note When making an API call, you may pass UpdateCustomMetricRequest
17585
+ # data as a hash:
17586
+ #
17587
+ # {
17588
+ # metric_name: "MetricName", # required
17589
+ # display_name: "CustomMetricDisplayName", # required
17590
+ # }
17591
+ #
17592
+ # @!attribute [rw] metric_name
17593
+ # The name of the custom metric. Cannot be updated.
17594
+ # @return [String]
17595
+ #
17596
+ # @!attribute [rw] display_name
17597
+ # Field represents a friendly name in the console for the custom
17598
+ # metric, it doesn't have to be unique. Don't use this name as the
17599
+ # metric identifier in the device metric report. Can be updated.
17600
+ # @return [String]
17601
+ #
17602
+ class UpdateCustomMetricRequest < Struct.new(
17603
+ :metric_name,
17604
+ :display_name)
17605
+ SENSITIVE = []
17606
+ include Aws::Structure
17607
+ end
17608
+
17609
+ # @!attribute [rw] metric_name
17610
+ # The name of the custom metric.
17611
+ # @return [String]
17612
+ #
17613
+ # @!attribute [rw] metric_arn
17614
+ # The Amazon Resource Number (ARN) of the custom metric.
17615
+ # @return [String]
17616
+ #
17617
+ # @!attribute [rw] metric_type
17618
+ # The type of the custom metric. Types include `string-list`,
17619
+ # `ip-address-list`, `number-list`, and `number`.
17620
+ # @return [String]
17621
+ #
17622
+ # @!attribute [rw] display_name
17623
+ # A friendly name in the console for the custom metric
17624
+ # @return [String]
17625
+ #
17626
+ # @!attribute [rw] creation_date
17627
+ # The creation date of the custom metric in milliseconds since epoch.
17628
+ # @return [Time]
17629
+ #
17630
+ # @!attribute [rw] last_modified_date
17631
+ # The time the custom metric was last modified in milliseconds since
17632
+ # epoch.
17633
+ # @return [Time]
17634
+ #
17635
+ class UpdateCustomMetricResponse < Struct.new(
17636
+ :metric_name,
17637
+ :metric_arn,
17638
+ :metric_type,
17639
+ :display_name,
17640
+ :creation_date,
17641
+ :last_modified_date)
17642
+ SENSITIVE = []
17643
+ include Aws::Structure
17644
+ end
17645
+
16604
17646
  # Parameters to define a mitigation action that changes the state of the
16605
17647
  # device certificate to inactive.
16606
17648
  #
@@ -16612,7 +17654,7 @@ module Aws::IoT
16612
17654
  # }
16613
17655
  #
16614
17656
  # @!attribute [rw] action
16615
- # The action that you want to apply to the device cerrtificate. The
17657
+ # The action that you want to apply to the device certificate. The
16616
17658
  # only supported value is `DEACTIVATE`.
16617
17659
  # @return [String]
16618
17660
  #
@@ -16654,7 +17696,7 @@ module Aws::IoT
16654
17696
  # @return [String]
16655
17697
  #
16656
17698
  # @!attribute [rw] arn
16657
- # The ARN (Amazon resource name) of the created dimension.
17699
+ # The Amazon Resource Name (ARN)of the created dimension.
16658
17700
  # @return [String]
16659
17701
  #
16660
17702
  # @!attribute [rw] type
@@ -17014,9 +18056,9 @@ module Aws::IoT
17014
18056
  # }
17015
18057
  #
17016
18058
  # @!attribute [rw] action_name
17017
- # The friendly name for the mitigation action. You can't change the
18059
+ # The friendly name for the mitigation action. You cannot change the
17018
18060
  # name by using `UpdateMitigationAction`. Instead, you must delete and
17019
- # re-create the mitigation action with the new name.
18061
+ # recreate the mitigation action with the new name.
17020
18062
  # @return [String]
17021
18063
  #
17022
18064
  # @!attribute [rw] role_arn
@@ -17165,24 +18207,24 @@ module Aws::IoT
17165
18207
  # }
17166
18208
  #
17167
18209
  # @!attribute [rw] frequency
17168
- # How often the scheduled audit takes place. Can be one of "DAILY",
17169
- # "WEEKLY", "BIWEEKLY", or "MONTHLY". The start time of each
17170
- # audit is determined by the system.
18210
+ # How often the scheduled audit takes place, either `DAILY`, `WEEKLY`,
18211
+ # `BIWEEKLY`, or `MONTHLY`. The start time of each audit is determined
18212
+ # by the system.
17171
18213
  # @return [String]
17172
18214
  #
17173
18215
  # @!attribute [rw] day_of_month
17174
- # The day of the month on which the scheduled audit takes place. Can
17175
- # be "1" through "31" or "LAST". This field is required if the
17176
- # "frequency" parameter is set to "MONTHLY". If days 29-31 are
18216
+ # The day of the month on which the scheduled audit takes place. This
18217
+ # can be `1` through `31` or `LAST`. This field is required if the
18218
+ # `frequency` parameter is set to `MONTHLY`. If days 29-31 are
17177
18219
  # specified, and the month does not have that many days, the audit
17178
18220
  # takes place on the "LAST" day of the month.
17179
18221
  # @return [String]
17180
18222
  #
17181
18223
  # @!attribute [rw] day_of_week
17182
- # The day of the week on which the scheduled audit takes place. Can be
17183
- # one of "SUN", "MON", "TUE", "WED", "THU", "FRI", or
17184
- # "SAT". This field is required if the "frequency" parameter is
17185
- # set to "WEEKLY" or "BIWEEKLY".
18224
+ # The day of the week on which the scheduled audit takes place. This
18225
+ # can be one of `SUN`, `MON`, `TUE`, `WED`, `THU`, `FRI`, or `SAT`.
18226
+ # This field is required if the "frequency" parameter is set to
18227
+ # `WEEKLY` or `BIWEEKLY`.
17186
18228
  # @return [String]
17187
18229
  #
17188
18230
  # @!attribute [rw] target_check_names
@@ -17233,11 +18275,14 @@ module Aws::IoT
17233
18275
  # operator: "IN", # accepts IN, NOT_IN
17234
18276
  # },
17235
18277
  # criteria: {
17236
- # 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
18278
+ # 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
17237
18279
  # value: {
17238
18280
  # count: 1,
17239
18281
  # cidrs: ["Cidr"],
17240
18282
  # ports: [1],
18283
+ # number: 1.0,
18284
+ # numbers: [1.0],
18285
+ # strings: ["stringValue"],
17241
18286
  # },
17242
18287
  # duration_seconds: 1,
17243
18288
  # consecutive_datapoints_to_alarm: 1,
@@ -17245,7 +18290,11 @@ module Aws::IoT
17245
18290
  # statistical_threshold: {
17246
18291
  # statistic: "EvaluationStatistic",
17247
18292
  # },
18293
+ # ml_detection_config: {
18294
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
18295
+ # },
17248
18296
  # },
18297
+ # suppress_alerts: false,
17249
18298
  # },
17250
18299
  # ],
17251
18300
  # alert_targets: {
@@ -17293,13 +18342,15 @@ module Aws::IoT
17293
18342
  #
17294
18343
  # A list of metrics whose data is retained (stored). By default, data
17295
18344
  # is retained for any metric used in the profile's `behaviors`, but
17296
- # it is also retained for any metric specified here.
18345
+ # it is also retained for any metric specified here. Can be used with
18346
+ # custom metrics; cannot be used with dimensions.
17297
18347
  # @return [Array<String>]
17298
18348
  #
17299
18349
  # @!attribute [rw] additional_metrics_to_retain_v2
17300
18350
  # A list of metrics whose data is retained (stored). By default, data
17301
18351
  # is retained for any metric used in the profile's behaviors, but it
17302
- # is also retained for any metric specified here.
18352
+ # is also retained for any metric specified here. Can be used with
18353
+ # custom metrics; cannot be used with dimensions.
17303
18354
  # @return [Array<Types::MetricToRetain>]
17304
18355
  #
17305
18356
  # @!attribute [rw] delete_behaviors
@@ -17375,7 +18426,8 @@ module Aws::IoT
17375
18426
  # @!attribute [rw] additional_metrics_to_retain_v2
17376
18427
  # A list of metrics whose data is retained (stored). By default, data
17377
18428
  # is retained for any metric used in the profile's behaviors, but it
17378
- # is also retained for any metric specified here.
18429
+ # is also retained for any metric specified here. Can be used with
18430
+ # custom metrics; cannot be used with dimensions.
17379
18431
  # @return [Array<Types::MetricToRetain>]
17380
18432
  #
17381
18433
  # @!attribute [rw] version
@@ -17634,7 +18686,7 @@ module Aws::IoT
17634
18686
  #
17635
18687
  # {
17636
18688
  # arn: "AwsArn", # required
17637
- # status: "ENABLED", # required, accepts ENABLED, IN_PROGRESS, DISABLED, ERROR
18689
+ # status: "ENABLED", # required, accepts ENABLED, IN_PROGRESS, DISABLED, ERROR, DELETING
17638
18690
  # }
17639
18691
  #
17640
18692
  # @!attribute [rw] arn
@@ -17696,11 +18748,14 @@ module Aws::IoT
17696
18748
  # operator: "IN", # accepts IN, NOT_IN
17697
18749
  # },
17698
18750
  # criteria: {
17699
- # 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
18751
+ # 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
17700
18752
  # value: {
17701
18753
  # count: 1,
17702
18754
  # cidrs: ["Cidr"],
17703
18755
  # ports: [1],
18756
+ # number: 1.0,
18757
+ # numbers: [1.0],
18758
+ # strings: ["stringValue"],
17704
18759
  # },
17705
18760
  # duration_seconds: 1,
17706
18761
  # consecutive_datapoints_to_alarm: 1,
@@ -17708,7 +18763,11 @@ module Aws::IoT
17708
18763
  # statistical_threshold: {
17709
18764
  # statistic: "EvaluationStatistic",
17710
18765
  # },
18766
+ # ml_detection_config: {
18767
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
18768
+ # },
17711
18769
  # },
18770
+ # suppress_alerts: false,
17712
18771
  # },
17713
18772
  # ],
17714
18773
  # }
@@ -17793,13 +18852,17 @@ module Aws::IoT
17793
18852
  # @return [String]
17794
18853
  #
17795
18854
  # @!attribute [rw] behavior
17796
- # The behavior which was violated.
18855
+ # The behavior that was violated.
17797
18856
  # @return [Types::Behavior]
17798
18857
  #
17799
18858
  # @!attribute [rw] metric_value
17800
18859
  # The value of the metric (the measurement).
17801
18860
  # @return [Types::MetricValue]
17802
18861
  #
18862
+ # @!attribute [rw] violation_event_additional_info
18863
+ # The details of a violation event.
18864
+ # @return [Types::ViolationEventAdditionalInfo]
18865
+ #
17803
18866
  # @!attribute [rw] violation_event_type
17804
18867
  # The type of violation event.
17805
18868
  # @return [String]
@@ -17814,11 +18877,147 @@ module Aws::IoT
17814
18877
  :security_profile_name,
17815
18878
  :behavior,
17816
18879
  :metric_value,
18880
+ :violation_event_additional_info,
17817
18881
  :violation_event_type,
17818
18882
  :violation_event_time)
17819
18883
  SENSITIVE = []
17820
18884
  include Aws::Structure
17821
18885
  end
17822
18886
 
18887
+ # The details of a violation event.
18888
+ #
18889
+ # @!attribute [rw] confidence_level
18890
+ # The sensitivity of anomalous behavior evaluation. Can be `Low`,
18891
+ # `Medium`, or `High`.
18892
+ # @return [String]
18893
+ #
18894
+ class ViolationEventAdditionalInfo < Struct.new(
18895
+ :confidence_level)
18896
+ SENSITIVE = []
18897
+ include Aws::Structure
18898
+ end
18899
+
18900
+ # Specifies the time period of which violation events occurred between.
18901
+ #
18902
+ # @note When making an API call, you may pass ViolationEventOccurrenceRange
18903
+ # data as a hash:
18904
+ #
18905
+ # {
18906
+ # start_time: Time.now, # required
18907
+ # end_time: Time.now, # required
18908
+ # }
18909
+ #
18910
+ # @!attribute [rw] start_time
18911
+ # The start date and time of a time period in which violation events
18912
+ # occurred.
18913
+ # @return [Time]
18914
+ #
18915
+ # @!attribute [rw] end_time
18916
+ # The end date and time of a time period in which violation events
18917
+ # occurred.
18918
+ # @return [Time]
18919
+ #
18920
+ class ViolationEventOccurrenceRange < Struct.new(
18921
+ :start_time,
18922
+ :end_time)
18923
+ SENSITIVE = []
18924
+ include Aws::Structure
18925
+ end
18926
+
18927
+ # The configuration information for a virtual private cloud (VPC)
18928
+ # destination.
18929
+ #
18930
+ # @note When making an API call, you may pass VpcDestinationConfiguration
18931
+ # data as a hash:
18932
+ #
18933
+ # {
18934
+ # subnet_ids: ["SubnetId"], # required
18935
+ # security_groups: ["SecurityGroupId"],
18936
+ # vpc_id: "VpcId", # required
18937
+ # role_arn: "AwsArn", # required
18938
+ # }
18939
+ #
18940
+ # @!attribute [rw] subnet_ids
18941
+ # The subnet IDs of the VPC destination.
18942
+ # @return [Array<String>]
18943
+ #
18944
+ # @!attribute [rw] security_groups
18945
+ # The security groups of the VPC destination.
18946
+ # @return [Array<String>]
18947
+ #
18948
+ # @!attribute [rw] vpc_id
18949
+ # The ID of the VPC.
18950
+ # @return [String]
18951
+ #
18952
+ # @!attribute [rw] role_arn
18953
+ # The ARN of a role that has permission to create and attach to
18954
+ # elastic network interfaces (ENIs).
18955
+ # @return [String]
18956
+ #
18957
+ class VpcDestinationConfiguration < Struct.new(
18958
+ :subnet_ids,
18959
+ :security_groups,
18960
+ :vpc_id,
18961
+ :role_arn)
18962
+ SENSITIVE = []
18963
+ include Aws::Structure
18964
+ end
18965
+
18966
+ # The properties of a virtual private cloud (VPC) destination.
18967
+ #
18968
+ # @!attribute [rw] subnet_ids
18969
+ # The subnet IDs of the VPC destination.
18970
+ # @return [Array<String>]
18971
+ #
18972
+ # @!attribute [rw] security_groups
18973
+ # The security groups of the VPC destination.
18974
+ # @return [Array<String>]
18975
+ #
18976
+ # @!attribute [rw] vpc_id
18977
+ # The ID of the VPC.
18978
+ # @return [String]
18979
+ #
18980
+ # @!attribute [rw] role_arn
18981
+ # The ARN of a role that has permission to create and attach to
18982
+ # elastic network interfaces (ENIs).
18983
+ # @return [String]
18984
+ #
18985
+ class VpcDestinationProperties < Struct.new(
18986
+ :subnet_ids,
18987
+ :security_groups,
18988
+ :vpc_id,
18989
+ :role_arn)
18990
+ SENSITIVE = []
18991
+ include Aws::Structure
18992
+ end
18993
+
18994
+ # The summary of a virtual private cloud (VPC) destination.
18995
+ #
18996
+ # @!attribute [rw] subnet_ids
18997
+ # The subnet IDs of the VPC destination.
18998
+ # @return [Array<String>]
18999
+ #
19000
+ # @!attribute [rw] security_groups
19001
+ # The security groups of the VPC destination.
19002
+ # @return [Array<String>]
19003
+ #
19004
+ # @!attribute [rw] vpc_id
19005
+ # The ID of the VPC.
19006
+ # @return [String]
19007
+ #
19008
+ # @!attribute [rw] role_arn
19009
+ # The ARN of a role that has permission to create and attach to
19010
+ # elastic network interfaces (ENIs).
19011
+ # @return [String]
19012
+ #
19013
+ class VpcDestinationSummary < Struct.new(
19014
+ :subnet_ids,
19015
+ :security_groups,
19016
+ :vpc_id,
19017
+ :role_arn)
19018
+ SENSITIVE = []
19019
+ include Aws::Structure
19020
+ end
19021
+
17823
19022
  end
17824
19023
  end